diff options
author | Andy Polyakov <appro@openssl.org> | 2004-05-20 21:49:38 +0000 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2004-05-20 21:49:38 +0000 |
commit | 46ceb15c390ab7a12a8cadc7fcb48187948f1e15 (patch) | |
tree | fcf655fa7f3ab675e2116b04f8b91c53a279ad2b /apps | |
parent | 109d3123c3cb727be20ed636dba8e939ecbae765 (diff) | |
download | openssl-46ceb15c390ab7a12a8cadc7fcb48187948f1e15.tar.gz |
SHA-256/-512 test and benchmark.
Diffstat (limited to 'apps')
-rw-r--r-- | apps/speed.c | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/apps/speed.c b/apps/speed.c index 4008930454..b3c4e70951 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -268,7 +268,7 @@ static void print_result(int alg,int run_no,int count,double time_used); static int do_multi(int multi); #endif -#define ALGOR_NUM 19 +#define ALGOR_NUM 21 #define SIZE_NUM 5 #define RSA_NUM 4 #define DSA_NUM 3 @@ -280,7 +280,7 @@ static const char *names[ALGOR_NUM]={ "md2","mdc2","md4","md5","hmac(md5)","sha1","rmd160","rc4", "des cbc","des ede3","idea cbc", "rc2 cbc","rc5-32/12 cbc","blowfish cbc","cast cbc", - "aes-128 cbc","aes-192 cbc","aes-256 cbc"}; + "aes-128 cbc","aes-192 cbc","aes-256 cbc","evp","sha-256","sha-512"}; static double results[ALGOR_NUM][SIZE_NUM]; static int lengths[SIZE_NUM]={16,64,256,1024,8*1024}; static double rsa_results[RSA_NUM][2]; @@ -493,6 +493,8 @@ int MAIN(int argc, char **argv) #endif #ifndef OPENSSL_NO_SHA unsigned char sha[SHA_DIGEST_LENGTH]; + unsigned char sha256[SHA256_DIGEST_LENGTH]; + unsigned char sha512[SHA512_DIGEST_LENGTH]; #endif #ifndef OPENSSL_NO_RIPEMD unsigned char rmd160[RIPEMD160_DIGEST_LENGTH]; @@ -565,6 +567,8 @@ int MAIN(int argc, char **argv) #define D_CBC_192_AES 16 #define D_CBC_256_AES 17 #define D_EVP 18 +#define D_SHA256 19 +#define D_SHA512 20 double d=0.0; long c[ALGOR_NUM][SIZE_NUM]; #define R_DSA_512 0 @@ -867,7 +871,13 @@ int MAIN(int argc, char **argv) #ifndef OPENSSL_NO_SHA if (strcmp(*argv,"sha1") == 0) doit[D_SHA1]=1; else - if (strcmp(*argv,"sha") == 0) doit[D_SHA1]=1; + if (strcmp(*argv,"sha") == 0) doit[D_SHA1]=1, + doit[D_SHA256]=1, + doit[D_SHA512]=1; + else + if (strcmp(*argv,"sha-256") == 0) doit[D_SHA256]=1; + else + if (strcmp(*argv,"sha-512") == 0) doit[D_SHA512]=1; else #endif #ifndef OPENSSL_NO_RIPEMD @@ -1049,6 +1059,8 @@ int MAIN(int argc, char **argv) #endif #ifndef OPENSSL_NO_SHA1 BIO_printf(bio_err,"sha1 "); + BIO_printf(bio_err,"sha-256 "); + BIO_printf(bio_err,"sha-512 "); #endif #ifndef OPENSSL_NO_RIPEMD160 BIO_printf(bio_err,"rmd160"); @@ -1273,6 +1285,8 @@ int MAIN(int argc, char **argv) c[D_CBC_128_AES][0]=count; c[D_CBC_192_AES][0]=count; c[D_CBC_256_AES][0]=count; + c[D_SHA256][0]=count; + c[D_SHA512][0]=count; for (i=1; i<SIZE_NUM; i++) { @@ -1283,6 +1297,8 @@ int MAIN(int argc, char **argv) c[D_HMAC][i]=c[D_HMAC][0]*4*lengths[0]/lengths[i]; c[D_SHA1][i]=c[D_SHA1][0]*4*lengths[0]/lengths[i]; c[D_RMD160][i]=c[D_RMD160][0]*4*lengths[0]/lengths[i]; + c[D_SHA256][i]=c[D_SHA256][0]*4*lengths[0]/lengths[i]; + c[D_SHA512][i]=c[D_SHA512][0]*4*lengths[0]/lengths[i]; } for (i=1; i<SIZE_NUM; i++) { @@ -1559,6 +1575,32 @@ int MAIN(int argc, char **argv) print_result(D_SHA1,j,count,d); } } + + if (doit[D_SHA256]) + { + for (j=0; j<SIZE_NUM; j++) + { + print_message(names[D_SHA256],c[D_SHA256][j],lengths[j]); + Time_F(START); + for (count=0,run=1; COND(c[D_SHA256][j]); count++) + SHA256(buf,lengths[j],sha256); + d=Time_F(STOP); + print_result(D_SHA256,j,count,d); + } + } + + if (doit[D_SHA512]) + { + for (j=0; j<SIZE_NUM; j++) + { + print_message(names[D_SHA512],c[D_SHA512][j],lengths[j]); + Time_F(START); + for (count=0,run=1; COND(c[D_SHA512][j]); count++) + SHA512(buf,lengths[j],sha512); + d=Time_F(STOP); + print_result(D_SHA512,j,count,d); + } + } #endif #ifndef OPENSSL_NO_RIPEMD if (doit[D_RMD160]) |