OSDN Git Service

2013.10.24
[uclinux-h8/uClinux-dist.git] / user / lilo / shs2.h
1 /* shs2.h -- NIST secure hash standard */
2 /*
3    Written 2 September 1992, Peter C. Gutmann,
4    This implementation placed in the public domain.
5
6    Transcribed 2 October 2001, John Coffman.
7
8 */
9
10 #ifndef _SHS2_H
11 #define _SHS2_H
12
13 /*  Useful typedef's & defines */
14
15 typedef unsigned char BYTE;
16 typedef unsigned int  LONG;
17
18 /*  The SHS block size and message digest sizes, in bytes */
19
20 #define SHS_BLOCKSIZE      64
21 #define SHS_DIGESTSIZE     20
22
23 /*  The structure for storing SHS information */
24
25 typedef struct {
26    LONG digest[5];         /* message digest */
27    LONG countLo, countHi;  /* 64-bit bitcount */
28    } SHS_INFO;
29
30 extern SHS_INFO shsInfo;
31
32 /*  Whether the machine is little-endian */
33
34 #ifdef BIG_ENDIAN
35 #undef BIG_ENDIAN
36 #endif
37 #ifndef LITTLE_ENDIAN
38 #define LITTLE_ENDIAN
39 #endif
40
41 void shsInit(void);
42 void shsUpdate(BYTE *buffer, int count);
43 void shsFinal(void);
44
45 #endif
46 /* end shs.h */
47