libdrizzle Developer Documentation

Defines | Functions
libdrizzle/sha1.c File Reference

SHA1 Definitions. More...

#include "common.h"

Go to the source code of this file.

Defines

#define rol(value, bits)   (((value) << (bits)) | ((value) >> (32 - (bits))))
#define LITTLE_ENDIAN   1234
#define BIG_ENDIAN   4321
#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);

Functions

void SHA1Transform (uint32_t state[5], const uint8_t buffer[SHA1_BLOCK_LENGTH])
void SHA1Init (SHA1_CTX *context)
void SHA1Update (SHA1_CTX *context, const uint8_t *data, size_t len)
void SHA1Pad (SHA1_CTX *context)
void SHA1Final (uint8_t digest[SHA1_DIGEST_LENGTH], SHA1_CTX *context)

Detailed Description

SHA1 Definitions.

Definition in file sha1.c.


Define Documentation

#define rol (   value,
  bits 
)    (((value) << (bits)) | ((value) >> (32 - (bits))))

Definition at line 22 of file sha1.c.

#define LITTLE_ENDIAN   1234

Definition at line 26 of file sha1.c.

#define BIG_ENDIAN   4321

Definition at line 27 of file sha1.c.

#define blk0 (   i)    block->l[i]

Definition at line 41 of file sha1.c.

#define blk (   i)
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 43 of file sha1.c.

#define R0 (   v,
  w,
  x,
  y,
  z,
 
)    z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30);

Definition at line 49 of file sha1.c.

#define R1 (   v,
  w,
  x,
  y,
  z,
 
)    z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30);

Definition at line 50 of file sha1.c.

#define R2 (   v,
  w,
  x,
  y,
  z,
 
)    z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30);

Definition at line 51 of file sha1.c.

#define R3 (   v,
  w,
  x,
  y,
  z,
 
)    z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30);

Definition at line 52 of file sha1.c.

#define R4 (   v,
  w,
  x,
  y,
  z,
 
)    z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30);

Definition at line 53 of file sha1.c.