FFmpeg
|
#include <string.h>
#include "attributes.h"
#include "avutil.h"
#include "bswap.h"
#include "sha.h"
#include "intreadwrite.h"
#include "mem.h"
Go to the source code of this file.
Data Structures | |
struct | AVSHA |
hash context More... | |
Macros | |
#define | rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) |
#define | blk0(i) (block[i] = AV_RB32(buffer + 4 * (i))) |
#define | blk(i) (block[i] = rol(block[(i)-3] ^ block[(i)-8] ^ block[(i)-14] ^ block[(i)-16], 1)) |
#define | R0(v, w, x, y, z, i) z += (((w)&((x)^(y)))^(y)) + blk0(i) + 0x5A827999 + rol(v, 5); w = rol(w, 30); |
#define | R1(v, w, x, y, z, i) z += (((w)&((x)^(y)))^(y)) + blk (i) + 0x5A827999 + rol(v, 5); w = rol(w, 30); |
#define | R2(v, w, x, y, z, i) z += ( (w)^(x) ^(y)) + blk (i) + 0x6ED9EBA1 + rol(v, 5); w = rol(w, 30); |
#define | R3(v, w, x, y, z, i) z += ((((w)|(x))&(y))|((w)&(x))) + blk (i) + 0x8F1BBCDC + rol(v, 5); w = rol(w, 30); |
#define | R4(v, w, x, y, z, i) z += ( (w)^(x) ^(y)) + blk (i) + 0xCA62C1D6 + rol(v, 5); w = rol(w, 30); |
#define | R1_0 |
#define | R1_20 |
#define | R1_40 |
#define | R1_60 |
#define | Ch(x, y, z) (((x) & ((y) ^ (z))) ^ (z)) |
#define | Maj(z, y, x) ((((x) | (y)) & (z)) | ((x) & (y))) |
#define | Sigma0_256(x) (rol((x), 30) ^ rol((x), 19) ^ rol((x), 10)) |
#define | Sigma1_256(x) (rol((x), 26) ^ rol((x), 21) ^ rol((x), 7)) |
#define | sigma0_256(x) (rol((x), 25) ^ rol((x), 14) ^ ((x) >> 3)) |
#define | sigma1_256(x) (rol((x), 15) ^ rol((x), 13) ^ ((x) >> 10)) |
#define | blk(i) |
#define | ROUND256(a, b, c, d, e, f, g, h) |
#define | ROUND256_0_TO_15(a, b, c, d, e, f, g, h) |
#define | ROUND256_16_TO_63(a, b, c, d, e, f, g, h) |
#define | R256_0 |
#define | R256_16 |
Functions | |
struct AVSHA * | av_sha_alloc (void) |
Allocate an AVSHA context. More... | |
static void | sha1_transform (uint32_t state[5], const uint8_t buffer[64]) |
static void | sha256_transform (uint32_t *state, const uint8_t buffer[64]) |
av_cold int | av_sha_init (AVSHA *ctx, int bits) |
Initialize SHA-1 or SHA-2 hashing. More... | |
void | av_sha_update (AVSHA *ctx, const uint8_t *data, unsigned int len) |
Update hash value. More... | |
void | av_sha_final (AVSHA *ctx, uint8_t *digest) |
Finish hashing and output digest value. More... | |
Variables | |
const int | av_sha_size = sizeof(AVSHA) |
static const uint32_t | K256 [64] |
Definition at line 50 of file sha.c.
Referenced by sha1_transform().
Definition at line 53 of file sha.c.
Referenced by dct_unquantize_h263_intra_neon(), and sha256_transform().
Definition at line 185 of file sha.c.
Referenced by ac3_compute_mantissa_size_c(), ac3_decode_frame(), ac3_exponent_min_c(), aic_decode_slice(), allocate_buffers(), apply_channel_coupling(), apply_mdct(), bink_decode_plane(), binkb_decode_plane(), bit_alloc(), bit_alloc_masking(), compute_exp_strategy(), compute_rematrixing_strategy(), count_exponent_bits(), count_frame_bits(), count_frame_bits_fixed(), count_mantissa_bits_init(), count_mantissa_bits_update_ch(), decode_audio_block(), decode_frame(), decode_transform_coeffs_ch(), dv_calc_mb_coordinates(), dv_init_enc_block(), encode_exponents(), ff_ac3_apply_rematrixing(), ff_ac3_compute_coupling_strategy(), ff_ac3_encode_close(), ff_ac3_group_exponents(), ff_ac3_output_frame(), ff_ac3_quantize_mantissas(), ff_eac3_decode_transform_coeffs_aht_ch(), ff_eac3_output_frame_header(), ff_eac3_parse_header(), ff_eac3_set_cpl_states(), ivi_decode_blocks(), ivi_process_empty_tile(), output_audio_block(), reset_block_bap(), scale_coefficients(), set_bandwidth(), sha256_transform(), and vb_decode_framedata().
#define R0 | ( | v, | |
w, | |||
x, | |||
y, | |||
z, | |||
i | |||
) | z += (((w)&((x)^(y)))^(y)) + blk0(i) + 0x5A827999 + rol(v, 5); w = rol(w, 30); |
Definition at line 56 of file sha.c.
Referenced by sha1_transform().
#define R1 | ( | v, | |
w, | |||
x, | |||
y, | |||
z, | |||
i | |||
) | z += (((w)&((x)^(y)))^(y)) + blk (i) + 0x5A827999 + rol(v, 5); w = rol(w, 30); |
Definition at line 57 of file sha.c.
Referenced by sha1_transform().
#define R2 | ( | v, | |
w, | |||
x, | |||
y, | |||
z, | |||
i | |||
) | z += ( (w)^(x) ^(y)) + blk (i) + 0x6ED9EBA1 + rol(v, 5); w = rol(w, 30); |
#define R3 | ( | v, | |
w, | |||
x, | |||
y, | |||
z, | |||
i | |||
) | z += ((((w)|(x))&(y))|((w)&(x))) + blk (i) + 0x8F1BBCDC + rol(v, 5); w = rol(w, 30); |
#define R4 | ( | v, | |
w, | |||
x, | |||
y, | |||
z, | |||
i | |||
) | z += ( (w)^(x) ^(y)) + blk (i) + 0xCA62C1D6 + rol(v, 5); w = rol(w, 30); |
#define R1_0 |
Referenced by sha1_transform().
#define R1_20 |
Referenced by sha1_transform().
#define R1_40 |
Referenced by sha1_transform().
#define R1_60 |
Referenced by sha1_transform().
#define Ch | ( | x, | |
y, | |||
z | |||
) | (((x) & ((y) ^ (z))) ^ (z)) |
Definition at line 176 of file sha.c.
Referenced by sha256_transform().
#define Maj | ( | z, | |
y, | |||
x | |||
) | ((((x) | (y)) & (z)) | ((x) & (y))) |
Definition at line 177 of file sha.c.
Referenced by sha256_transform().
Definition at line 179 of file sha.c.
Referenced by sha256_transform().
Definition at line 180 of file sha.c.
Referenced by sha256_transform().
#define blk | ( | i | ) |
#define R256_0 |
Referenced by sha256_transform().
#define R256_16 |
Referenced by sha256_transform().
Definition at line 64 of file sha.c.
Referenced by av_sha_init().
Definition at line 202 of file sha.c.
Referenced by av_sha_init().
|
static |
Definition at line 156 of file sha.c.
Referenced by sha256_transform().