More Win32 fixes and upsdate INSTALL.W32 documentation.
[openssl.git] / apps / speed.c
index 00039342475c67889655573b8cca3d4065b88739..4a337be0ae753edff6c9896ca619504d070e355b 100644 (file)
@@ -60,8 +60,8 @@
 
 #undef SECONDS
 #define SECONDS                3       
 
 #undef SECONDS
 #define SECONDS                3       
-#define RSA_SECONDS    10      
-#define DSA_SECONDS    10      
+#define RSA_SECONDS    10
+#define DSA_SECONDS    10
 
 /* 11-Sep-92 Andrew Daviel   Support for Silicon Graphics IRIX added */
 /* 06-Apr-92 Luke Brennan    Support for VMS and add extra signal calls */
 
 /* 11-Sep-92 Andrew Daviel   Support for Silicon Graphics IRIX added */
 /* 06-Apr-92 Luke Brennan    Support for VMS and add extra signal calls */
@@ -107,7 +107,8 @@ struct tms {
 #include <sys/timeb.h>
 #endif
 
 #include <sys/timeb.h>
 #endif
 
-#ifdef sun
+#if defined(sun) || defined(__ultrix)
+#define _POSIX_SOURCE
 #include <limits.h>
 #include <sys/param.h>
 #endif
 #include <limits.h>
 #include <sys/param.h>
 #endif
@@ -361,13 +362,19 @@ char **argv;
        int pr_header=0;
 
        apps_startup();
        int pr_header=0;
 
        apps_startup();
+#ifdef NO_DSA
+       memset(dsa_key,0,sizeof(dsa_key));
+#endif
 
        if (bio_err == NULL)
                if ((bio_err=BIO_new(BIO_s_file())) != NULL)
                        BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
 
 
        if (bio_err == NULL)
                if ((bio_err=BIO_new(BIO_s_file())) != NULL)
                        BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT);
 
+#ifndef NO_RSA
+       memset(rsa_key,0,sizeof(rsa_key));
        for (i=0; i<RSA_NUM; i++)
                rsa_key[i]=NULL;
        for (i=0; i<RSA_NUM; i++)
                rsa_key[i]=NULL;
+#endif
 
        if ((buf=(unsigned char *)Malloc((int)BUFSIZE)) == NULL)
                {
 
        if ((buf=(unsigned char *)Malloc((int)BUFSIZE)) == NULL)
                {
@@ -443,7 +450,7 @@ char **argv;
                        }
                else
 #endif
                        }
                else
 #endif
-                       if (strcmp(*argv,"ssleay") == 0) 
+                       if (strcmp(*argv,"openssl") == 0) 
                        {
                        RSA_set_default_method(RSA_PKCS1_SSLeay());
                        j--;
                        {
                        RSA_set_default_method(RSA_PKCS1_SSLeay());
                        j--;
@@ -594,9 +601,9 @@ char **argv;
 #endif
 
 #ifndef NO_DES
 #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);
 #endif
 #ifndef NO_IDEA
        idea_set_encrypt_key(key16,&idea_ks);
@@ -626,8 +633,7 @@ char **argv;
                count*=2;
                Time_F(START);
                for (i=count; i; i--)
                count*=2;
                Time_F(START);
                for (i=count; i; i--)
-                       des_ecb_encrypt((C_Block *)buf,(C_Block *)buf,
-                               &(sch[0]),DES_ENCRYPT);
+                       des_ecb_encrypt(buf,buf, &(sch[0]),DES_ENCRYPT);
                d=Time_F(STOP);
                } while (d <3);
        c[D_MD2][0]=count/10;
                d=Time_F(STOP);
                } while (d <3);
        c[D_MD2][0]=count/10;
@@ -679,7 +685,7 @@ char **argv;
                        rsa_doit[i]=0;
                else
                        {
                        rsa_doit[i]=0;
                else
                        {
-                       if (rsa_c[i] == 0)
+                       if (rsa_c[i][0] == 0)
                                {
                                rsa_c[i][0]=1;
                                rsa_c[i][1]=20;
                                {
                                rsa_c[i][0]=1;
                                rsa_c[i][1]=20;
@@ -844,10 +850,8 @@ char **argv;
                        print_message(names[D_CBC_DES],c[D_CBC_DES][j],lengths[j]);
                        Time_F(START);
                        for (count=0,run=1; COND(c[D_CBC_DES][j]); count++)
                        print_message(names[D_CBC_DES],c[D_CBC_DES][j],lengths[j]);
                        Time_F(START);
                        for (count=0,run=1; COND(c[D_CBC_DES][j]); count++)
-                               des_ncbc_encrypt((C_Block *)buf,
-                                       (C_Block *)buf,
-                                       (long)lengths[j],sch,
-                                       (C_Block *)&(iv[0]),DES_ENCRYPT);
+                               des_ncbc_encrypt(buf,buf,lengths[j],sch,
+                                                &(iv[0]),DES_ENCRYPT);
                        d=Time_F(STOP);
                        BIO_printf(bio_err,"%ld %s's in %.2fs\n",
                                count,names[D_CBC_DES],d);
                        d=Time_F(STOP);
                        BIO_printf(bio_err,"%ld %s's in %.2fs\n",
                                count,names[D_CBC_DES],d);
@@ -862,10 +866,9 @@ char **argv;
                        print_message(names[D_EDE3_DES],c[D_EDE3_DES][j],lengths[j]);
                        Time_F(START);
                        for (count=0,run=1; COND(c[D_EDE3_DES][j]); count++)
                        print_message(names[D_EDE3_DES],c[D_EDE3_DES][j],lengths[j]);
                        Time_F(START);
                        for (count=0,run=1; COND(c[D_EDE3_DES][j]); count++)
-                               des_ede3_cbc_encrypt((C_Block *)buf,
-                                       (C_Block *)buf,
-                                       (long)lengths[j],sch,sch2,sch3,
-                                       (C_Block *)&(iv[0]),DES_ENCRYPT);
+                               des_ede3_cbc_encrypt(buf,buf,lengths[j],
+                                                    sch,sch2,sch3,
+                                                    &(iv[0]),DES_ENCRYPT);
                        d=Time_F(STOP);
                        BIO_printf(bio_err,"%ld %s's in %.2fs\n",
                                count,names[D_EDE3_DES],d);
                        d=Time_F(STOP);
                        BIO_printf(bio_err,"%ld %s's in %.2fs\n",
                                count,names[D_EDE3_DES],d);
@@ -969,6 +972,8 @@ char **argv;
        for (j=0; j<RSA_NUM; j++)
                {
                if (!rsa_doit[j]) continue;
        for (j=0; j<RSA_NUM; j++)
                {
                if (!rsa_doit[j]) continue;
+               rsa_num=RSA_private_encrypt(30,buf,buf2,rsa_key[j],
+                       RSA_PKCS1_PADDING);
                pkey_print_message("private","rsa",rsa_c[j][0],rsa_bits[j],
                        RSA_SECONDS);
 /*             RSA_blinding_on(rsa_key[j],NULL); */
                pkey_print_message("private","rsa",rsa_c[j][0],rsa_bits[j],
                        RSA_SECONDS);
 /*             RSA_blinding_on(rsa_key[j],NULL); */
@@ -992,6 +997,8 @@ char **argv;
                rsa_count=count;
 
 #if 1
                rsa_count=count;
 
 #if 1
+               rsa_num2=RSA_public_decrypt(rsa_num,buf2,buf,rsa_key[j],
+                       RSA_PKCS1_PADDING);
                pkey_print_message("public","rsa",rsa_c[j][1],rsa_bits[j],
                        RSA_SECONDS);
                Time_F(START);
                pkey_print_message("public","rsa",rsa_c[j][1],rsa_bits[j],
                        RSA_SECONDS);
                Time_F(START);
@@ -1031,6 +1038,8 @@ char **argv;
                if (!dsa_doit[j]) continue;
                DSA_generate_key(dsa_key[j]);
 /*             DSA_sign_setup(dsa_key[j],NULL); */
                if (!dsa_doit[j]) continue;
                DSA_generate_key(dsa_key[j]);
 /*             DSA_sign_setup(dsa_key[j],NULL); */
+               rsa_num=DSA_sign(EVP_PKEY_DSA,buf,20,buf2,
+                       &kk,dsa_key[j]);
                pkey_print_message("sign","dsa",dsa_c[j][0],dsa_bits[j],
                        DSA_SECONDS);
                Time_F(START);
                pkey_print_message("sign","dsa",dsa_c[j][0],dsa_bits[j],
                        DSA_SECONDS);
                Time_F(START);
@@ -1052,6 +1061,8 @@ char **argv;
                dsa_results[j][0]=d/(double)count;
                rsa_count=count;
 
                dsa_results[j][0]=d/(double)count;
                rsa_count=count;
 
+               rsa_num2=DSA_verify(EVP_PKEY_DSA,buf,20,buf2,
+                       kk,dsa_key[j]);
                pkey_print_message("verify","dsa",dsa_c[j][1],dsa_bits[j],
                        DSA_SECONDS);
                Time_F(START);
                pkey_print_message("verify","dsa",dsa_c[j][1],dsa_bits[j],
                        DSA_SECONDS);
                Time_F(START);