Go to the source code of this file.
|
#define | SHA1HANDSOFF 1 /* Copies data before messing with it. */ |
|
#define | rol(value, bits) |
|
#define | blk0(i) |
|
#define | blk(i) |
|
#define | R0(v, w, x, y, z, i) |
|
#define | R1(v, w, x, y, z, i) |
|
#define | R2(v, w, x, y, z, i) |
|
#define | R3(v, w, x, y, z, i) |
|
#define | R4(v, w, x, y, z, i) |
|
◆ SHA1HANDSOFF
#define SHA1HANDSOFF 1 /* Copies data before messing with it. */ |
◆ rol
#define rol |
( |
| value, |
|
|
| bits ) |
Value:(((value) << (bits)) | ((value) >> (32 - (bits))))
Definition at line 24 of file sha1.c.
◆ blk0
Value: (block->l[i] = (
rol(block->l[i],24)&0xFF00FF00) \
|(
rol(block->l[i],8)&0x00FF00FF))
Definition at line 29 of file sha1.c.
◆ blk
Value: (block->l[i&15] =
rol(block->l[(i+13)&15]^block->l[(i+8)&15] \
^block->l[(i+2)&15]^block->l[i&15],1))
Definition at line 34 of file sha1.c.
◆ R0
#define R0 |
( |
| v, |
|
|
| w, |
|
|
| x, |
|
|
| y, |
|
|
| z, |
|
|
| i ) |
Value:z+=((w&(x^y))^y)+
blk0(i)+0x5A827999+
rol(v,5);w=
rol(w,30);
Definition at line 38 of file sha1.c.
◆ R1
#define R1 |
( |
| v, |
|
|
| w, |
|
|
| x, |
|
|
| y, |
|
|
| z, |
|
|
| i ) |
Value:z+=((w&(x^y))^y)+
blk(i)+0x5A827999+
rol(v,5);w=
rol(w,30);
Definition at line 39 of file sha1.c.
◆ R2
#define R2 |
( |
| v, |
|
|
| w, |
|
|
| x, |
|
|
| y, |
|
|
| z, |
|
|
| i ) |
Value:z+=(w^x^y)+
blk(i)+0x6ED9EBA1+
rol(v,5);w=
rol(w,30);
Definition at line 40 of file sha1.c.
◆ R3
#define R3 |
( |
| v, |
|
|
| w, |
|
|
| x, |
|
|
| y, |
|
|
| z, |
|
|
| i ) |
Value:z+=(((w|x)&y)|(w&x))+
blk(i)+0x8F1BBCDC+
rol(v,5);w=
rol(w,30);
Definition at line 41 of file sha1.c.
◆ R4
#define R4 |
( |
| v, |
|
|
| w, |
|
|
| x, |
|
|
| y, |
|
|
| z, |
|
|
| i ) |
Value:z+=(w^x^y)+
blk(i)+0xCA62C1D6+
rol(v,5);w=
rol(w,30);
Definition at line 42 of file sha1.c.
◆ ldns_sha1_transform()
void ldns_sha1_transform |
( |
uint32_t | state[5], |
|
|
const unsigned char | buffer[64] ) |
◆ ldns_sha1_init()
◆ ldns_sha1_update()
void ldns_sha1_update |
( |
ldns_sha1_ctx * | context, |
|
|
const unsigned char * | data, |
|
|
unsigned int | len ) |
◆ ldns_sha1_final()
void ldns_sha1_final |
( |
unsigned char | digest[20], |
|
|
ldns_sha1_ctx * | context ) |
◆ ldns_sha1()
unsigned char * ldns_sha1 |
( |
const unsigned char * | data, |
|
|
unsigned int | data_len, |
|
|
unsigned char * | digest ) |
Convenience function to digest a fixed block of data at once.
- Parameters
-
[in] | data | the data to digest |
[in] | data_len | the length of data in bytes |
[out] | digest | the length of data in bytes This pointer MUST have LDNS_SHA1_DIGEST_LENGTH bytes available |
- Returns
- the SHA1 digest of the given data
Definition at line 171 of file sha1.c.
References ldns_sha1_final(), ldns_sha1_init(), and ldns_sha1_update().