X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=apps%2Fspeed.c;h=e769ca2310aebde92386bf902ef158b22bdba5c3;hp=9e20b7217c2b57ae23c929d8c353e58453747125;hb=8569c322beecb70d40e0feb602815f009094c745;hpb=31b8d8684441e6cd5138832bb1b2ddb10acd6ba6 diff --git a/apps/speed.c b/apps/speed.c index 9e20b7217c..e769ca2310 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -78,15 +78,14 @@ #ifdef NO_STDIO #define APPS_WIN16 #endif -#include "crypto.h" -#include "rand.h" -#include "err.h" +#include +#include +#include -#ifndef MSDOS +#if !defined(MSDOS) && (!defined(VMS) || defined(__DECC)) #define TIMES #endif -#ifndef VMS #ifndef _IRIX #include #endif @@ -94,15 +93,15 @@ #include #include #endif -#else /* VMS */ -#include -struct tms { - time_t tms_utime; - time_t tms_stime; - time_t tms_uchild; /* I dunno... */ - time_t tms_uchildsys; /* so these names are a guess :-) */ - } + +/* Depending on the VMS version, the tms structure is perhaps defined. + The __TMS macro will show if it was. If it wasn't defined, we should + undefine TIMES, since that tells the rest of the program how things + should be handled. -- Richard Levitte */ +#if defined(VMS) && defined(__DECC) && !defined(__TMS) +#undef TIMES #endif + #ifndef TIMES #include #endif @@ -114,48 +113,50 @@ struct tms { #endif #ifndef NO_DES -#include "des.h" +#include #endif #ifndef NO_MD2 -#include "md2.h" +#include #endif #ifndef NO_MDC2 -#include "mdc2.h" +#include #endif #ifndef NO_MD5 -#include "md5.h" -#include "hmac.h" -#include "evp.h" +#include +#endif +#ifndef NO_HMAC +#include #endif -#ifndef NO_SHA1 -#include "sha.h" +#include +#ifndef NO_SHA +#include #endif -#ifndef NO_RMD160 -#include "ripemd.h" +#ifndef NO_RIPEMD +#include #endif #ifndef NO_RC4 -#include "rc4.h" +#include #endif #ifndef NO_RC5 -#include "rc5.h" +#include #endif #ifndef NO_RC2 -#include "rc2.h" +#include #endif #ifndef NO_IDEA -#include "idea.h" +#include #endif -#ifndef NO_BLOWFISH -#include "blowfish.h" +#ifndef NO_BF +#include #endif #ifndef NO_CAST -#include "cast.h" +#include #endif #ifndef NO_RSA -#include "rsa.h" -#endif -#include "x509.h" +#include #include "./testrsa.h" +#endif +#include #ifndef NO_DSA #include "./testdsa.h" #endif @@ -164,11 +165,7 @@ struct tms { #ifndef HZ # ifndef CLK_TCK # ifndef _BSD_CLK_TCK_ /* FreeBSD hack */ -# ifndef VMS -# define HZ 100.0 -# else /* VMS */ -# define HZ 100.0 -# endif +# define HZ 100.0 # else /* _BSD_CLK_TCK_ */ # define HZ ((double)_BSD_CLK_TCK_) # endif @@ -181,16 +178,9 @@ struct tms { #define BUFSIZE ((long)1024*8+1) int run=0; -#ifndef NOPROTO static double Time_F(int s); static void print_message(char *s,long num,int length); static void pkey_print_message(char *str,char *str2,long num,int bits,int sec); -#else -static double Time_F(); -static void print_message(); -static void pkey_print_message(); -#endif - #ifdef SIGALRM #if defined(__STDC__) || defined(sgi) || defined(_AIX) #define SIGRETTYPE void @@ -198,14 +188,8 @@ static void pkey_print_message(); #define SIGRETTYPE int #endif -#ifndef NOPROTO static SIGRETTYPE sig_done(int sig); -#else -static SIGRETTYPE sig_done(); -#endif - -static SIGRETTYPE sig_done(sig) -int sig; +static SIGRETTYPE sig_done(int sig) { signal(SIGALRM,sig_done); run=0; @@ -218,8 +202,7 @@ int sig; #define START 0 #define STOP 1 -static double Time_F(s) -int s; +static double Time_F(int s) { double ret; #ifdef TIMES @@ -255,9 +238,7 @@ int s; #endif } -int MAIN(argc,argv) -int argc; -char **argv; +int MAIN(int argc, char **argv) { unsigned char *buf=NULL,*buf2=NULL; int ret=1; @@ -277,10 +258,10 @@ char **argv; unsigned char md5[MD5_DIGEST_LENGTH]; unsigned char hmac[MD5_DIGEST_LENGTH]; #endif -#ifndef NO_SHA1 +#ifndef NO_SHA unsigned char sha[SHA_DIGEST_LENGTH]; #endif -#ifndef NO_RMD160 +#ifndef NO_RIPEMD unsigned char rmd160[RIPEMD160_DIGEST_LENGTH]; #endif #ifndef NO_RC4 @@ -295,7 +276,7 @@ char **argv; #ifndef NO_IDEA IDEA_KEY_SCHEDULE idea_ks; #endif -#ifndef NO_BLOWFISH +#ifndef NO_BF BF_KEY bf_ks; #endif #ifndef NO_CAST @@ -306,6 +287,7 @@ char **argv; 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12}; unsigned char iv[8]; #ifndef NO_DES + des_cblock *buf_as_des_cblock = NULL; static des_cblock key ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0}; static des_cblock key2={0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12}; static des_cblock key3={0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34}; @@ -339,9 +321,9 @@ char **argv; #define R_RSA_1024 1 #define R_RSA_2048 2 #define R_RSA_4096 3 +#ifndef NO_RSA RSA *rsa_key[RSA_NUM]; long rsa_c[RSA_NUM][2]; -#ifndef NO_RSA double rsa_results[RSA_NUM][2]; static unsigned int rsa_bits[RSA_NUM]={512,1024,2048,4096}; static unsigned char *rsa_data[RSA_NUM]= @@ -362,7 +344,8 @@ char **argv; int pr_header=0; apps_startup(); -#ifdef NO_DSA + memset(results, 0, sizeof(results)); +#ifndef NO_DSA memset(dsa_key,0,sizeof(dsa_key)); #endif @@ -381,6 +364,9 @@ char **argv; BIO_printf(bio_err,"out of memory\n"); goto end; } +#ifndef NO_DES + buf_as_des_cblock = (des_cblock *)buf; +#endif if ((buf2=(unsigned char *)Malloc((int)BUFSIZE)) == NULL) { BIO_printf(bio_err,"out of memory\n"); @@ -418,13 +404,13 @@ char **argv; if (strcmp(*argv,"hmac") == 0) doit[D_HMAC]=1; else #endif -#ifndef NO_SHA1 +#ifndef NO_SHA if (strcmp(*argv,"sha1") == 0) doit[D_SHA1]=1; else if (strcmp(*argv,"sha") == 0) doit[D_SHA1]=1; else #endif -#ifndef NO_RMD160 +#ifndef NO_RIPEMD if (strcmp(*argv,"ripemd") == 0) doit[D_RMD160]=1; else if (strcmp(*argv,"rmd160") == 0) doit[D_RMD160]=1; @@ -436,7 +422,7 @@ char **argv; if (strcmp(*argv,"rc4") == 0) doit[D_RC4]=1; else #endif -#ifndef NO_DEF +#ifndef NO_DES if (strcmp(*argv,"des-cbc") == 0) doit[D_CBC_DES]=1; else if (strcmp(*argv,"des-ede3") == 0) doit[D_EDE3_DES]=1; else @@ -450,12 +436,14 @@ char **argv; } else #endif - if (strcmp(*argv,"ssleay") == 0) +#ifndef RSA_NULL + if (strcmp(*argv,"openssl") == 0) { RSA_set_default_method(RSA_PKCS1_SSLeay()); j--; } else +#endif #endif /* !NO_RSA */ if (strcmp(*argv,"dsa512") == 0) dsa_doit[R_DSA_512]=2; else if (strcmp(*argv,"dsa1024") == 0) dsa_doit[R_DSA_1024]=2; @@ -480,7 +468,7 @@ char **argv; else if (strcmp(*argv,"idea") == 0) doit[D_CBC_IDEA]=1; else #endif -#ifndef NO_BLOWFISH +#ifndef NO_BF if (strcmp(*argv,"bf-cbc") == 0) doit[D_CBC_BF]=1; else if (strcmp(*argv,"blowfish") == 0) doit[D_CBC_BF]=1; else if (strcmp(*argv,"bf") == 0) doit[D_CBC_BF]=1; @@ -530,10 +518,10 @@ char **argv; #ifndef NO_RC5 BIO_printf(bio_err,"rc5-cbc "); #endif -#ifndef NO_BLOWFISH +#ifndef NO_BF BIO_printf(bio_err,"bf-cbc"); #endif -#if !defined(NO_IDEA) && !defined(NO_RC2) && !defined(NO_BLOWFISH) && !defined(NO_RC5) +#if !defined(NO_IDEA) && !defined(NO_RC2) && !defined(NO_BF) && !defined(NO_RC5) BIO_printf(bio_err,"\n"); #endif BIO_printf(bio_err,"des-cbc des-ede3 "); @@ -601,9 +589,9 @@ char **argv; #endif #ifndef NO_DES - des_set_key((C_Block *)key,sch); - des_set_key((C_Block *)key2,sch2); - des_set_key((C_Block *)key3,sch3); + des_set_key(&key,sch); + des_set_key(&key2,sch2); + des_set_key(&key3,sch3); #endif #ifndef NO_IDEA idea_set_encrypt_key(key16,&idea_ks); @@ -617,14 +605,15 @@ char **argv; #ifndef NO_RC5 RC5_32_set_key(&rc5_ks,16,key16,12); #endif -#ifndef NO_BLOWFISH +#ifndef NO_BF BF_set_key(&bf_ks,16,key16); #endif #ifndef NO_CAST CAST_set_key(&cast_ks,16,key16); #endif - +#ifndef NO_RSA memset(rsa_c,0,sizeof(rsa_c)); +#endif #ifndef SIGALRM BIO_printf(bio_err,"First we calculate the approximate speed ...\n"); count=10; @@ -633,7 +622,7 @@ char **argv; count*=2; Time_F(START); for (i=count; i; i--) - des_ecb_encrypt((C_Block *)buf,(C_Block *)buf, + des_ecb_encrypt(buf_as_des_cblock,buf_as_des_cblock, &(sch[0]),DES_ENCRYPT); d=Time_F(STOP); } while (d <3); @@ -676,6 +665,7 @@ char **argv; c[D_CBC_BF][i]=c[D_CBC_BF][i-1]*l0/l1; c[D_CBC_CAST][i]=c[D_CBC_CAST][i-1]*l0/l1; } +#ifndef NO_RSA rsa_c[R_RSA_512][0]=count/2000; rsa_c[R_RSA_512][1]=count/400; for (i=1; i