#include <string.h>
#include "sha.h"
Go to the source code of this file.
|
| #define | rol(value, bits) (((value) << (bits)) | ((value) >> (32 - (bits)))) |
| |
| #define | blk0(i) block->l[i] |
| |
| #define | blk(i) |
| |
| #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); |
| |
◆ 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 40 of file sha1.c.
◆ blk0
| #define blk0 |
( |
|
i | ) |
block->l[i] |
◆ R0
| #define R0 |
( |
|
v, |
|
|
|
w, |
|
|
|
x, |
|
|
|
y, |
|
|
|
z, |
|
|
|
i |
|
) |
| z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30); |
◆ R1
| #define R1 |
( |
|
v, |
|
|
|
w, |
|
|
|
x, |
|
|
|
y, |
|
|
|
z, |
|
|
|
i |
|
) |
| z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30); |
◆ R2
| #define R2 |
( |
|
v, |
|
|
|
w, |
|
|
|
x, |
|
|
|
y, |
|
|
|
z, |
|
|
|
i |
|
) |
| z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30); |
◆ R3
| #define R3 |
( |
|
v, |
|
|
|
w, |
|
|
|
x, |
|
|
|
y, |
|
|
|
z, |
|
|
|
i |
|
) |
| z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30); |
◆ R4
| #define R4 |
( |
|
v, |
|
|
|
w, |
|
|
|
x, |
|
|
|
y, |
|
|
|
z, |
|
|
|
i |
|
) |
| z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30); |
◆ rol
| #define rol |
( |
|
value, |
|
|
|
bits |
|
) |
| (((value) << (bits)) | ((value) >> (32 - (bits)))) |
◆ BYTE64QUAD16
◆ SHA1_Final()
◆ SHA1_Init()
| void SHA1_Init |
( |
SHA_CTX * |
context | ) |
|
◆ SHA1_Transform()
◆ SHA1_Update()