Go to the source code of this file.
|
#define | Ch(x, y, z) (((x) & (y)) ^ ((~(x)) & (z))) |
|
#define | Maj(x, y, z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) |
|
#define | ROUND_00_15(i, a, b, c, d, e, f, g, h) |
|
#define | ROUND_16_80(i, j, a, b, c, d, e, f, g, h, X) |
|
#define | Sigma0(x) |
|
#define | sigma0(x) (CRYPTO_rotr_u64((x), 1) ^ CRYPTO_rotr_u64((x), 8) ^ ((x) >> 7)) |
|
#define | Sigma1(x) |
|
#define | sigma1(x) (CRYPTO_rotr_u64((x), 19) ^ CRYPTO_rotr_u64((x), 61) ^ ((x) >> 6)) |
|
|
uint8_t * | SHA384 (const uint8_t *data, size_t len, uint8_t out[SHA384_DIGEST_LENGTH]) |
|
int | SHA384_Final (uint8_t out[SHA384_DIGEST_LENGTH], SHA512_CTX *sha) |
|
int | SHA384_Init (SHA512_CTX *sha) |
|
int | SHA384_Update (SHA512_CTX *sha, const void *data, size_t len) |
|
uint8_t * | SHA512 (const uint8_t *data, size_t len, uint8_t out[SHA512_DIGEST_LENGTH]) |
|
uint8_t * | SHA512_256 (const uint8_t *data, size_t len, uint8_t out[SHA512_256_DIGEST_LENGTH]) |
|
int | SHA512_256_Final (uint8_t out[SHA512_256_DIGEST_LENGTH], SHA512_CTX *sha) |
|
int | SHA512_256_Init (SHA512_CTX *sha) |
|
int | SHA512_256_Update (SHA512_CTX *sha, const void *data, size_t len) |
|
static void | sha512_block_data_order (uint64_t *state, const uint8_t *in, size_t num_blocks) |
|
int | SHA512_Final (uint8_t out[SHA512_DIGEST_LENGTH], SHA512_CTX *sha) |
|
static int | sha512_final_impl (uint8_t *out, SHA512_CTX *sha) |
|
int | SHA512_Init (SHA512_CTX *sha) |
|
void | SHA512_Transform (SHA512_CTX *c, const uint8_t block[SHA512_CBLOCK]) |
|
int | SHA512_Update (SHA512_CTX *c, const void *in_data, size_t len) |
|
◆ Ch
#define Ch |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (((x) & (y)) ^ ((~(x)) & (z))) |
◆ Maj
#define Maj |
( |
|
x, |
|
|
|
y, |
|
|
|
z |
|
) |
| (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) |
◆ ROUND_00_15
#define ROUND_00_15 |
( |
|
i, |
|
|
|
a, |
|
|
|
b, |
|
|
|
c, |
|
|
|
d, |
|
|
|
e, |
|
|
|
f, |
|
|
|
g, |
|
|
|
h |
|
) |
| |
◆ ROUND_16_80
#define ROUND_16_80 |
( |
|
i, |
|
|
|
j, |
|
|
|
a, |
|
|
|
b, |
|
|
|
c, |
|
|
|
d, |
|
|
|
e, |
|
|
|
f, |
|
|
|
g, |
|
|
|
h, |
|
|
|
X |
|
) |
| |
Value: do { \
s0 =
X[(
j + 1) & 0x0f]; \
s1 =
X[(
j + 14) & 0x0f]; \
T1 =
X[(
j) & 0x0f] += s0 + s1 +
X[(j + 9) & 0x0f]; \
ROUND_00_15(
i + j,
a,
b,
c,
d, e,
f,
g, h); \
} while (0)
Definition at line 405 of file sha512.c.
◆ Sigma0
Value:
CRYPTO_rotr_u64((
x), 39))
Definition at line 324 of file sha512.c.
◆ sigma0
◆ Sigma1
Value:
CRYPTO_rotr_u64((
x), 41))
Definition at line 327 of file sha512.c.
◆ sigma1
◆ SHA384()
◆ SHA384_Final()
◆ SHA384_Init()
◆ SHA384_Update()
◆ SHA512()
◆ SHA512_256()
◆ SHA512_256_Final()
◆ SHA512_256_Init()
◆ SHA512_256_Update()
◆ sha512_block_data_order()
◆ SHA512_Final()
◆ sha512_final_impl()
◆ SHA512_Init()
◆ SHA512_Transform()
◆ SHA512_Update()
◆ K512