SHA-256/-512 test and benchmark.
This commit is contained in:
parent
109d3123c3
commit
46ceb15c39
48
apps/speed.c
48
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);
|
static int do_multi(int multi);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define ALGOR_NUM 19
|
#define ALGOR_NUM 21
|
||||||
#define SIZE_NUM 5
|
#define SIZE_NUM 5
|
||||||
#define RSA_NUM 4
|
#define RSA_NUM 4
|
||||||
#define DSA_NUM 3
|
#define DSA_NUM 3
|
||||||
@ -280,7 +280,7 @@ static const char *names[ALGOR_NUM]={
|
|||||||
"md2","mdc2","md4","md5","hmac(md5)","sha1","rmd160","rc4",
|
"md2","mdc2","md4","md5","hmac(md5)","sha1","rmd160","rc4",
|
||||||
"des cbc","des ede3","idea cbc",
|
"des cbc","des ede3","idea cbc",
|
||||||
"rc2 cbc","rc5-32/12 cbc","blowfish cbc","cast 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 double results[ALGOR_NUM][SIZE_NUM];
|
||||||
static int lengths[SIZE_NUM]={16,64,256,1024,8*1024};
|
static int lengths[SIZE_NUM]={16,64,256,1024,8*1024};
|
||||||
static double rsa_results[RSA_NUM][2];
|
static double rsa_results[RSA_NUM][2];
|
||||||
@ -493,6 +493,8 @@ int MAIN(int argc, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_SHA
|
#ifndef OPENSSL_NO_SHA
|
||||||
unsigned char sha[SHA_DIGEST_LENGTH];
|
unsigned char sha[SHA_DIGEST_LENGTH];
|
||||||
|
unsigned char sha256[SHA256_DIGEST_LENGTH];
|
||||||
|
unsigned char sha512[SHA512_DIGEST_LENGTH];
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_RIPEMD
|
#ifndef OPENSSL_NO_RIPEMD
|
||||||
unsigned char rmd160[RIPEMD160_DIGEST_LENGTH];
|
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_192_AES 16
|
||||||
#define D_CBC_256_AES 17
|
#define D_CBC_256_AES 17
|
||||||
#define D_EVP 18
|
#define D_EVP 18
|
||||||
|
#define D_SHA256 19
|
||||||
|
#define D_SHA512 20
|
||||||
double d=0.0;
|
double d=0.0;
|
||||||
long c[ALGOR_NUM][SIZE_NUM];
|
long c[ALGOR_NUM][SIZE_NUM];
|
||||||
#define R_DSA_512 0
|
#define R_DSA_512 0
|
||||||
@ -867,7 +871,13 @@ int MAIN(int argc, char **argv)
|
|||||||
#ifndef OPENSSL_NO_SHA
|
#ifndef OPENSSL_NO_SHA
|
||||||
if (strcmp(*argv,"sha1") == 0) doit[D_SHA1]=1;
|
if (strcmp(*argv,"sha1") == 0) doit[D_SHA1]=1;
|
||||||
else
|
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
|
else
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_RIPEMD
|
#ifndef OPENSSL_NO_RIPEMD
|
||||||
@ -1049,6 +1059,8 @@ int MAIN(int argc, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_SHA1
|
#ifndef OPENSSL_NO_SHA1
|
||||||
BIO_printf(bio_err,"sha1 ");
|
BIO_printf(bio_err,"sha1 ");
|
||||||
|
BIO_printf(bio_err,"sha-256 ");
|
||||||
|
BIO_printf(bio_err,"sha-512 ");
|
||||||
#endif
|
#endif
|
||||||
#ifndef OPENSSL_NO_RIPEMD160
|
#ifndef OPENSSL_NO_RIPEMD160
|
||||||
BIO_printf(bio_err,"rmd160");
|
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_128_AES][0]=count;
|
||||||
c[D_CBC_192_AES][0]=count;
|
c[D_CBC_192_AES][0]=count;
|
||||||
c[D_CBC_256_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++)
|
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_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_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_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++)
|
for (i=1; i<SIZE_NUM; i++)
|
||||||
{
|
{
|
||||||
@ -1559,6 +1575,32 @@ int MAIN(int argc, char **argv)
|
|||||||
print_result(D_SHA1,j,count,d);
|
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
|
#endif
|
||||||
#ifndef OPENSSL_NO_RIPEMD
|
#ifndef OPENSSL_NO_RIPEMD
|
||||||
if (doit[D_RMD160])
|
if (doit[D_RMD160])
|
||||||
|
@ -43,6 +43,8 @@ EXPTEST= exptest
|
|||||||
IDEATEST= ideatest
|
IDEATEST= ideatest
|
||||||
SHATEST= shatest
|
SHATEST= shatest
|
||||||
SHA1TEST= sha1test
|
SHA1TEST= sha1test
|
||||||
|
SHA256TEST= sha256t
|
||||||
|
SHA512TEST= sha512t
|
||||||
MDC2TEST= mdc2test
|
MDC2TEST= mdc2test
|
||||||
RMDTEST= rmdtest
|
RMDTEST= rmdtest
|
||||||
MD2TEST= md2test
|
MD2TEST= md2test
|
||||||
@ -69,7 +71,8 @@ TESTS= alltests
|
|||||||
EXE= $(BNTEST) $(ECTEST) $(ECDSATEST) $(ECDHTEST) $(IDEATEST) \
|
EXE= $(BNTEST) $(ECTEST) $(ECDSATEST) $(ECDHTEST) $(IDEATEST) \
|
||||||
$(MD2TEST) $(MD4TEST) $(MD5TEST) $(HMACTEST) \
|
$(MD2TEST) $(MD4TEST) $(MD5TEST) $(HMACTEST) \
|
||||||
$(RC2TEST) $(RC4TEST) $(RC5TEST) \
|
$(RC2TEST) $(RC4TEST) $(RC5TEST) \
|
||||||
$(DESTEST) $(SHATEST) $(SHA1TEST) $(MDC2TEST) $(RMDTEST) \
|
$(DESTEST) $(SHATEST) $(SHA1TEST) $(SHA256TEST) $(SHA512TEST) \
|
||||||
|
$(MDC2TEST) $(RMDTEST) \
|
||||||
$(RANDTEST) $(DHTEST) $(ENGINETEST) \
|
$(RANDTEST) $(DHTEST) $(ENGINETEST) \
|
||||||
$(BFTEST) $(CASTTEST) $(SSLTEST) $(EXPTEST) $(DSATEST) $(RSATEST) \
|
$(BFTEST) $(CASTTEST) $(SSLTEST) $(EXPTEST) $(DSATEST) $(RSATEST) \
|
||||||
$(EVPTEST)
|
$(EVPTEST)
|
||||||
@ -80,7 +83,8 @@ OBJ= $(BNTEST).o $(ECTEST).o $(ECDSATEST).o $(ECDHTEST).o $(IDEATEST).o \
|
|||||||
$(MD2TEST).o $(MD4TEST).o $(MD5TEST).o \
|
$(MD2TEST).o $(MD4TEST).o $(MD5TEST).o \
|
||||||
$(HMACTEST).o \
|
$(HMACTEST).o \
|
||||||
$(RC2TEST).o $(RC4TEST).o $(RC5TEST).o \
|
$(RC2TEST).o $(RC4TEST).o $(RC5TEST).o \
|
||||||
$(DESTEST).o $(SHATEST).o $(SHA1TEST).o $(MDC2TEST).o $(RMDTEST).o \
|
$(DESTEST).o $(SHATEST).o $(SHA1TEST).o $(SHA256TEST).o $(SHA512TEST).o \
|
||||||
|
$(MDC2TEST).o $(RMDTEST).o \
|
||||||
$(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \
|
$(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \
|
||||||
$(BFTEST).o $(SSLTEST).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o \
|
$(BFTEST).o $(SSLTEST).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o \
|
||||||
$(EVPTEST).o
|
$(EVPTEST).o
|
||||||
@ -156,6 +160,8 @@ test_idea:
|
|||||||
test_sha:
|
test_sha:
|
||||||
$(SET_SO_PATHS); ./$(SHATEST)
|
$(SET_SO_PATHS); ./$(SHATEST)
|
||||||
$(SET_SO_PATHS); ./$(SHA1TEST)
|
$(SET_SO_PATHS); ./$(SHA1TEST)
|
||||||
|
$(SET_SO_PATHS); ./$(SHA256TEST)
|
||||||
|
$(SET_SO_PATHS); ./$(SHA512TEST)
|
||||||
|
|
||||||
test_mdc2:
|
test_mdc2:
|
||||||
$(SET_SO_PATHS); ./$(MDC2TEST)
|
$(SET_SO_PATHS); ./$(MDC2TEST)
|
||||||
@ -432,6 +438,38 @@ $(SHA1TEST): $(SHA1TEST).o $(DLIBCRYPTO)
|
|||||||
LIBRPATH=$(INSTALLTOP)/lib \
|
LIBRPATH=$(INSTALLTOP)/lib \
|
||||||
link_app.$${shlib_target}
|
link_app.$${shlib_target}
|
||||||
|
|
||||||
|
$(SHA256TEST): $(SHA256TEST).o $(DLIBCRYPTO)
|
||||||
|
shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
|
||||||
|
shlib_target="$(SHLIB_TARGET)"; \
|
||||||
|
fi; \
|
||||||
|
if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
|
||||||
|
LIBRARIES="$(DLIBCRYPTO)"; \
|
||||||
|
else \
|
||||||
|
LIBRARIES="$(LIBCRYPTO)"; \
|
||||||
|
fi; \
|
||||||
|
$(NEWMAKE) -f $(TOP)/Makefile.shared \
|
||||||
|
APPNAME=$(SHA256TEST) LDFLAGS="$(CFLAGS)" \
|
||||||
|
OBJECTS="$(SHA256TEST).o" \
|
||||||
|
LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
|
||||||
|
LIBRPATH=$(INSTALLTOP)/lib \
|
||||||
|
link_app.$${shlib_target}
|
||||||
|
|
||||||
|
$(SHA512TEST): $(SHA512TEST).o $(DLIBCRYPTO)
|
||||||
|
shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
|
||||||
|
shlib_target="$(SHLIB_TARGET)"; \
|
||||||
|
fi; \
|
||||||
|
if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
|
||||||
|
LIBRARIES="$(DLIBCRYPTO)"; \
|
||||||
|
else \
|
||||||
|
LIBRARIES="$(LIBCRYPTO)"; \
|
||||||
|
fi; \
|
||||||
|
$(NEWMAKE) -f $(TOP)/Makefile.shared \
|
||||||
|
APPNAME=$(SHA512TEST) LDFLAGS="$(CFLAGS)" \
|
||||||
|
OBJECTS="$(SHA512TEST).o" \
|
||||||
|
LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
|
||||||
|
LIBRPATH=$(INSTALLTOP)/lib \
|
||||||
|
link_app.$${shlib_target}
|
||||||
|
|
||||||
$(RMDTEST): $(RMDTEST).o $(DLIBCRYPTO)
|
$(RMDTEST): $(RMDTEST).o $(DLIBCRYPTO)
|
||||||
shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
|
shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
|
||||||
shlib_target="$(SHLIB_TARGET)"; \
|
shlib_target="$(SHLIB_TARGET)"; \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user