6
#include <openssl/sha.h>
7
#include <openssl/err.h>
8
#include <openssl/fips.h>
11
int main(int argc, char *argv[])
13
printf("No FIPS SHA1 support\n");
18
#define MAX_TEST_BITS 103432
20
static void dump(const unsigned char *b,int n)
26
static void bitfill(unsigned char *buf,int bit,int b,int n)
28
for( ; n > 0 ; --n,++bit)
30
assert(bit < MAX_TEST_BITS);
31
buf[bit/8]|=b << (7-bit%8);
35
void montecarlo(unsigned char *seed,int n)
38
unsigned char m[10240];
41
for(j=0 ; j < 100 ; ++j)
43
for(i=1 ; i <= 50000 ; ++i)
45
memset(m+n,'\0',j/4+3);
62
int main(int argc,char **argv)
69
fprintf(stderr,"%s <test vector file>\n",argv[0]);
73
if(!FIPS_mode_set(1,argv[0]))
75
ERR_load_crypto_strings();
76
ERR_print_errors(BIO_new_fp(stderr,BIO_NOCLOSE));
79
fp=fopen(argv[1],"r");
88
unsigned char buf[MAX_TEST_BITS/8];
99
if(!strcmp(line,"D>"))
102
if(!isdigit(line[0]))
112
fgets(line+n-1,sizeof(line)-n+1,fp);
114
/* printf("line=%s\n",line); */
122
memset(buf,'\0',sizeof buf);
123
for(bit=0,p=strtok(NULL," ") ; p && *p != '^' ; p=strtok(NULL," "))
126
bitfill(buf,bit,b,atoi(p));
131
assert((bit%8) == 0);
132
/* dump(buf,bit/8); */
141
montecarlo(buf,bit/8);