| 
| #define  | rol(value,  bits)   (((value) << (bits)) | ((value) >> (32 - (bits)))) | 
|   | 
| #define  | blk0(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); | 
|   | 
| #define  | S0(v,  w,  x,  y,  z,  i)   z+=((w&(x^y))^y)+0x5A827999+rol(v,5);w=rol(w,30); | 
|   | 
| #define  | S1(v,  w,  x,  y,  z,  i)   z+=((w&(x^y))^y)+0x5A827999+rol(v,5);w=rol(w,30); | 
|   | 
| #define  | S2(v,  w,  x,  y,  z,  i)   z+=(w^x^y)+0x6ED9EBA1+rol(v,5);w=rol(w,30); | 
|   | 
| #define  | S3(v,  w,  x,  y,  z,  i)   z+=(((w|x)&y)|(w&x))+0x8F1BBCDC+rol(v,5);w=rol(w,30); | 
|   | 
| #define  | S4(v,  w,  x,  y,  z,  i)   z+=(w^x^y)+0xCA62C1D6+rol(v,5);w=rol(w,30); | 
|   | 
| #define  | SHA_STATE0   0x67452301 | 
|   | 
| #define  | SHA_STATE1   0xEFCDAB89 | 
|   | 
| #define  | SHA_STATE2   0x98BADCFE | 
|   | 
| #define  | SHA_STATE3   0x10325476 | 
|   | 
| #define  | SHA_STATE4   0xC3D2E1F0 | 
|   |