aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorAndy Polyakov <appro@openssl.org>2004-05-20 21:49:38 +0000
committerAndy Polyakov <appro@openssl.org>2004-05-20 21:49:38 +0000
commit46ceb15c390ab7a12a8cadc7fcb48187948f1e15 (patch)
treefcf655fa7f3ab675e2116b04f8b91c53a279ad2b /apps
parent109d3123c3cb727be20ed636dba8e939ecbae765 (diff)
downloadopenssl-46ceb15c390ab7a12a8cadc7fcb48187948f1e15.tar.gz
SHA-256/-512 test and benchmark.
Diffstat (limited to 'apps')
-rw-r--r--apps/speed.c48
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])