Go to the source code of this file.
Classes | |
struct | sha256_state |
Defines | |
#define | block_size 64 |
#define | Ch(x, y, z) (z ^ (x & (y ^ z))) |
#define | Gamma0(x) (S(x, 7) ^ S(x, 18) ^ R(x, 3)) |
#define | Gamma1(x) (S(x, 17) ^ S(x, 19) ^ R(x, 10)) |
#define | Maj(x, y, z) (((x | y) & z) | (x & y)) |
#define | MIN(x, y) (((x) < (y)) ? (x) : (y)) |
#define | R(x, n) (((x)&0xFFFFFFFFUL)>>(n)) |
#define | RND(a, b, c, d, e, f, g, h, i) |
#define | RORc(x, y) |
#define | S(x, n) RORc((x), (n)) |
#define | Sigma0(x) (S(x, 2) ^ S(x, 13) ^ S(x, 22)) |
#define | Sigma1(x) (S(x, 6) ^ S(x, 11) ^ S(x, 25)) |
Functions | |
static int | sha256_compress (struct sha256_state *md, unsigned char *buf) |
static int | sha256_done (struct sha256_state *md, unsigned char *out) |
static void | sha256_init (struct sha256_state *md) |
static int | sha256_process (struct sha256_state *md, const unsigned char *in, unsigned long inlen) |
int | sha256_vector (size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac) |
Variables | |
static const unsigned long | K [64] |
#define block_size 64 |
Definition at line 91 of file sha256-internal.c.
Definition at line 87 of file sha256-internal.c.
( ((((unsigned long) (x) & 0xFFFFFFFFUL) >> (unsigned long) ((y) & 31)) | \ ((unsigned long) (x) << (unsigned long) (32 - ((y) & 31)))) & 0xFFFFFFFFUL)
Definition at line 81 of file sha256-internal.c.
Definition at line 88 of file sha256-internal.c.
Definition at line 89 of file sha256-internal.c.
static int sha256_compress | ( | struct sha256_state * | md, |
unsigned char * | buf | ||
) | [static] |
Definition at line 97 of file sha256-internal.c.
static int sha256_done | ( | struct sha256_state * | md, |
unsigned char * | out | ||
) | [static] |
Terminate the hash to get the digest
md | The hash state |
out | [out] The destination of the hash (32 bytes) |
Definition at line 202 of file sha256-internal.c.
static void sha256_init | ( | struct sha256_state * | md | ) | [static] |
Definition at line 140 of file sha256-internal.c.
static int sha256_process | ( | struct sha256_state * | md, |
const unsigned char * | in, | ||
unsigned long | inlen | ||
) | [static] |
Process a block of memory though the hash
md | The hash state |
in | The data to hash |
inlen | The length of the data (octets) |
Definition at line 161 of file sha256-internal.c.
int sha256_vector | ( | size_t | num_elem, |
const u8 * | addr[], | ||
const size_t * | len, | ||
u8 * | mac | ||
) |
sha256_vector - SHA256 hash for data vector : Number of elements in the data vector : Pointers to the data areas : Lengths of the data blocks : Buffer for the hash Returns: 0 on success, -1 of failure
Definition at line 41 of file sha256-internal.c.
const unsigned long K[64] [static] |
{ 0x428a2f98UL, 0x71374491UL, 0xb5c0fbcfUL, 0xe9b5dba5UL, 0x3956c25bUL, 0x59f111f1UL, 0x923f82a4UL, 0xab1c5ed5UL, 0xd807aa98UL, 0x12835b01UL, 0x243185beUL, 0x550c7dc3UL, 0x72be5d74UL, 0x80deb1feUL, 0x9bdc06a7UL, 0xc19bf174UL, 0xe49b69c1UL, 0xefbe4786UL, 0x0fc19dc6UL, 0x240ca1ccUL, 0x2de92c6fUL, 0x4a7484aaUL, 0x5cb0a9dcUL, 0x76f988daUL, 0x983e5152UL, 0xa831c66dUL, 0xb00327c8UL, 0xbf597fc7UL, 0xc6e00bf3UL, 0xd5a79147UL, 0x06ca6351UL, 0x14292967UL, 0x27b70a85UL, 0x2e1b2138UL, 0x4d2c6dfcUL, 0x53380d13UL, 0x650a7354UL, 0x766a0abbUL, 0x81c2c92eUL, 0x92722c85UL, 0xa2bfe8a1UL, 0xa81a664bUL, 0xc24b8b70UL, 0xc76c51a3UL, 0xd192e819UL, 0xd6990624UL, 0xf40e3585UL, 0x106aa070UL, 0x19a4c116UL, 0x1e376c08UL, 0x2748774cUL, 0x34b0bcb5UL, 0x391c0cb3UL, 0x4ed8aa4aUL, 0x5b9cca4fUL, 0x682e6ff3UL, 0x748f82eeUL, 0x78a5636fUL, 0x84c87814UL, 0x8cc70208UL, 0x90befffaUL, 0xa4506cebUL, 0xbef9a3f7UL, 0xc67178f2UL }
Definition at line 63 of file sha256-internal.c.