6 #include <openssl/sha.h>
7 #include <openssl/err.h>
8 #include <openssl/fips.h>
16 int main(int argc, char *argv[])
18 printf("No FIPS SHA1 support\n");
23 #define MAX_TEST_BITS 103432
25 static void dump(const unsigned char *b,int n)
31 static void bitfill(unsigned char *buf,int bit,int b,int n)
33 for( ; n > 0 ; --n,++bit)
35 assert(bit < MAX_TEST_BITS);
36 buf[bit/8]|=b << (7-bit%8);
40 void montecarlo(unsigned char *seed,int n)
43 unsigned char m[10240];
46 for(j=0 ; j < 100 ; ++j)
48 for(i=1 ; i <= 50000 ; ++i)
50 memset(m+n,'\0',j/4+3);
67 int main(int argc,char **argv)
74 fprintf(stderr,"%s <test vector file>\n",argv[0]);
78 if(!FIPS_mode_set(1,argv[0]))
80 ERR_load_crypto_strings();
81 ERR_print_errors(BIO_new_fp(stderr,BIO_NOCLOSE));
84 fp=fopen(argv[1],"r");
93 unsigned char buf[MAX_TEST_BITS/8];
104 if(!strcmp(line,"D>"))
107 if(!isdigit(line[0]))
117 fgets(line+n-1,sizeof(line)-n+1,fp);
119 /* printf("line=%s\n",line); */
127 memset(buf,'\0',sizeof buf);
128 for(bit=0,p=strtok(NULL," ") ; p && *p != '^' ; p=strtok(NULL," "))
131 bitfill(buf,bit,b,atoi(p));
136 assert((bit%8) == 0);
137 /* dump(buf,bit/8); */
146 montecarlo(buf,bit/8);