00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00042 #ifndef __SHA_H__
00043 #define __SHA_H__
00044
00045 #include "ipsec/types.h"
00046
00047
00048
00049
00050
00051
00052
00053
00054 #define SHA_LONG __u32
00055
00056 #define SHA_LBLOCK 16
00057 #define SHA_DIGEST_LENGTH 20
00058
00059 typedef struct SHAstate_st
00060 {
00061 SHA_LONG h0,h1,h2,h3,h4;
00062 SHA_LONG Nl,Nh;
00063 SHA_LONG data[SHA_LBLOCK];
00064 int num;
00065 } SHA_CTX;
00066
00067 void SHA1_Init(SHA_CTX *c);
00068 void SHA1_Update(SHA_CTX *c, const void *data, unsigned long len);
00069 void SHA1_Final(unsigned char *md, SHA_CTX *c);
00070 unsigned char *SHA1(const unsigned char *d, unsigned long n,unsigned char *md);
00071 void SHA1_Transform(SHA_CTX *c, const unsigned char *data);
00072
00073 void hmac_sha1(unsigned char*, int, unsigned char*, int, unsigned char*);
00074
00075
00076 #endif