FFmpeg
|
#include <string.h>
#include "config.h"
#include "attributes.h"
#include "bswap.h"
#include "error.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 (struct AVSHA *ctx, const uint8_t *data, size_t 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] |
#define R1_0 |
#define R1_20 |
#define R1_40 |
#define R1_60 |
#define blk | ( | i | ) |
#define R256_0 |
#define R256_16 |
|
static |
Definition at line 65 of file sha.c.
Referenced by av_sha_init().
|
static |
Definition at line 203 of file sha.c.
Referenced by av_sha_init().
|
static |
Definition at line 157 of file sha.c.
Referenced by sha256_transform().