[BACK]Return to speed.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / openssl

Diff for /src/usr.bin/openssl/speed.c between version 1.12 and 1.13

version 1.12, 2015/09/11 20:55:59 version 1.13, 2015/09/12 15:49:53
Line 150 
Line 150 
 #include "./testdsa.h"  #include "./testdsa.h"
 #include "./testrsa.h"  #include "./testrsa.h"
   
 #define BUFSIZE (1024*8+1)  #define BUFSIZE (1024*8+64)
 int run = 0;  int run = 0;
   
 static int mr = 0;  static int mr = 0;
Line 164 
Line 164 
 static void print_result(int alg, int run_no, int count, double time_used);  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);
   
 #define ALGOR_NUM       30  #define ALGOR_NUM       33
 #define SIZE_NUM        5  #define SIZE_NUM        5
 #define RSA_NUM         4  #define RSA_NUM         4
 #define DSA_NUM         3  #define DSA_NUM         3
Line 179 
Line 179 
         "aes-128 cbc", "aes-192 cbc", "aes-256 cbc",          "aes-128 cbc", "aes-192 cbc", "aes-256 cbc",
         "camellia-128 cbc", "camellia-192 cbc", "camellia-256 cbc",          "camellia-128 cbc", "camellia-192 cbc", "camellia-256 cbc",
         "evp", "sha256", "sha512", "whirlpool",          "evp", "sha256", "sha512", "whirlpool",
         "aes-128 ige", "aes-192 ige", "aes-256 ige", "ghash" };          "aes-128 ige", "aes-192 ige", "aes-256 ige", "ghash",
           "aes-128 gcm", "aes-256 gcm", "chacha20 poly1305",
   };
 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];
Line 344 
Line 346 
 #define D_IGE_192_AES   27  #define D_IGE_192_AES   27
 #define D_IGE_256_AES   28  #define D_IGE_256_AES   28
 #define D_GHASH         29  #define D_GHASH         29
   #define D_AES_128_GCM   30
   #define D_AES_256_GCM   31
   #define D_CHACHA20_POLY1305     32
         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
Line 700 
Line 705 
                         doit[D_CBC_128_AES] = 1;                          doit[D_CBC_128_AES] = 1;
                         doit[D_CBC_192_AES] = 1;                          doit[D_CBC_192_AES] = 1;
                         doit[D_CBC_256_AES] = 1;                          doit[D_CBC_256_AES] = 1;
                 } else if (strcmp(*argv, "ghash") == 0) {                  } else if (strcmp(*argv, "ghash") == 0)
                         doit[D_GHASH] = 1;                          doit[D_GHASH] = 1;
                 } else                  else if (strcmp(*argv,"aes-128-gcm") == 0)
                           doit[D_AES_128_GCM]=1;
                   else if (strcmp(*argv,"aes-256-gcm") == 0)
                           doit[D_AES_256_GCM]=1;
                   else
 #endif  #endif
 #ifndef OPENSSL_NO_CAMELLIA  #ifndef OPENSSL_NO_CAMELLIA
                 if (strcmp(*argv, "camellia") == 0) {                  if (strcmp(*argv, "camellia") == 0) {
Line 711 
Line 720 
                         doit[D_CBC_256_CML] = 1;                          doit[D_CBC_256_CML] = 1;
                 } else                  } else
 #endif  #endif
   #if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
                   if (strcmp(*argv,"chacha20-poly1305") == 0)
                           doit[D_CHACHA20_POLY1305]=1;
                   else
   #endif
                 if (strcmp(*argv, "rsa") == 0) {                  if (strcmp(*argv, "rsa") == 0) {
                         rsa_doit[R_RSA_512] = 1;                          rsa_doit[R_RSA_512] = 1;
                         rsa_doit[R_RSA_1024] = 1;                          rsa_doit[R_RSA_1024] = 1;
Line 836 
Line 850 
                         BIO_printf(bio_err, "rc2-cbc  ");                          BIO_printf(bio_err, "rc2-cbc  ");
 #endif  #endif
 #ifndef OPENSSL_NO_BF  #ifndef OPENSSL_NO_BF
                         BIO_printf(bio_err, "bf-cbc");                          BIO_printf(bio_err, "bf-cbc   ");
 #endif  #endif
 #if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_SEED) || !defined(OPENSSL_NO_RC2) || \  
     !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_RC5)  
                         BIO_printf(bio_err, "\n");  
 #endif  
 #ifndef OPENSSL_NO_DES  #ifndef OPENSSL_NO_DES
                         BIO_printf(bio_err, "des-cbc  des-ede3 ");                          BIO_printf(bio_err, "des-cbc  des-ede3\n");
 #endif  #endif
 #ifndef OPENSSL_NO_AES  #ifndef OPENSSL_NO_AES
                         BIO_printf(bio_err, "aes-128-cbc aes-192-cbc aes-256-cbc ");                          BIO_printf(bio_err, "aes-128-cbc aes-192-cbc aes-256-cbc ");
                         BIO_printf(bio_err, "aes-128-ige aes-192-ige aes-256-ige ");                          BIO_printf(bio_err, "aes-128-ige aes-192-ige aes-256-ige\n");
                           BIO_printf(bio_err, "aes-128-gcm aes-256-gcm ");
 #endif  #endif
 #ifndef OPENSSL_NO_CAMELLIA  #ifndef OPENSSL_NO_CAMELLIA
                         BIO_printf(bio_err, "\n");                          BIO_printf(bio_err, "\n");
Line 856 
Line 867 
 #ifndef OPENSSL_NO_RC4  #ifndef OPENSSL_NO_RC4
                         BIO_printf(bio_err, "rc4");                          BIO_printf(bio_err, "rc4");
 #endif  #endif
   #if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
                           BIO_printf(bio_err," chacha20-poly1305");
   #endif
                         BIO_printf(bio_err, "\n");                          BIO_printf(bio_err, "\n");
   
                         BIO_printf(bio_err, "rsa512   rsa1024  rsa2048  rsa4096\n");                          BIO_printf(bio_err, "rsa512   rsa1024  rsa2048  rsa4096\n");
Line 863 
Line 877 
                         BIO_printf(bio_err, "dsa512   dsa1024  dsa2048\n");                          BIO_printf(bio_err, "dsa512   dsa1024  dsa2048\n");
                         BIO_printf(bio_err, "ecdsap160 ecdsap192 ecdsap224 ecdsap256 ecdsap384 ecdsap521\n");                          BIO_printf(bio_err, "ecdsap160 ecdsap192 ecdsap224 ecdsap256 ecdsap384 ecdsap521\n");
                         BIO_printf(bio_err, "ecdsak163 ecdsak233 ecdsak283 ecdsak409 ecdsak571\n");                          BIO_printf(bio_err, "ecdsak163 ecdsak233 ecdsak283 ecdsak409 ecdsak571\n");
                         BIO_printf(bio_err, "ecdsab163 ecdsab233 ecdsab283 ecdsab409 ecdsab571\n");                          BIO_printf(bio_err, "ecdsab163 ecdsab233 ecdsab283 ecdsab409 ecdsab571 ecdsa\n");
                         BIO_printf(bio_err, "ecdsa\n");  
                         BIO_printf(bio_err, "ecdhp160  ecdhp192  ecdhp224  ecdhp256  ecdhp384  ecdhp521\n");                          BIO_printf(bio_err, "ecdhp160  ecdhp192  ecdhp224  ecdhp256  ecdhp384  ecdhp521\n");
                         BIO_printf(bio_err, "ecdhk163  ecdhk233  ecdhk283  ecdhk409  ecdhk571\n");                          BIO_printf(bio_err, "ecdhk163  ecdhk233  ecdhk283  ecdhk409  ecdhk571\n");
                         BIO_printf(bio_err, "ecdhb163  ecdhb233  ecdhb283  ecdhb409  ecdhb571\n");                          BIO_printf(bio_err, "ecdhb163  ecdhb233  ecdhb283  ecdhb409  ecdhb571  ecdh\n");
                         BIO_printf(bio_err, "ecdh\n");  
   
 #ifndef OPENSSL_NO_IDEA  #ifndef OPENSSL_NO_IDEA
                         BIO_printf(bio_err, "idea     ");                          BIO_printf(bio_err, "idea     ");
Line 1219 
Line 1231 
                         print_result(D_GHASH, j, count, d);                          print_result(D_GHASH, j, count, d);
                 }                  }
                 CRYPTO_gcm128_release(ctx);                  CRYPTO_gcm128_release(ctx);
           }
           if (doit[D_AES_128_GCM]) {
                   const EVP_AEAD *aead = EVP_aead_aes_128_gcm();
                   static const unsigned char nonce[32] = {0};
                   size_t buf_len, nonce_len;
                   EVP_AEAD_CTX ctx;
   
                   EVP_AEAD_CTX_init(&ctx, aead, key32, EVP_AEAD_key_length(aead),
                       EVP_AEAD_DEFAULT_TAG_LENGTH, NULL);
                   nonce_len = EVP_AEAD_nonce_length(aead);
   
                   for (j = 0; j < SIZE_NUM; j++) {
                           print_message(names[D_AES_128_GCM],c[D_AES_128_GCM][j],lengths[j]);
                           Time_F(START);
                           for (count = 0, run = 1; COND(c[D_AES_128_GCM][j]); count++)
                                   EVP_AEAD_CTX_seal(&ctx, buf, &buf_len, BUFSIZE, nonce,
                                       nonce_len, buf, lengths[j], NULL, 0);
                           d=Time_F(STOP);
                           print_result(D_AES_128_GCM,j,count,d);
                   }
                   EVP_AEAD_CTX_cleanup(&ctx);
           }
   
           if (doit[D_AES_256_GCM]) {
                   const EVP_AEAD *aead = EVP_aead_aes_256_gcm();
                   static const unsigned char nonce[32] = {0};
                   size_t buf_len, nonce_len;
                   EVP_AEAD_CTX ctx;
   
                   EVP_AEAD_CTX_init(&ctx, aead, key32, EVP_AEAD_key_length(aead),
                   EVP_AEAD_DEFAULT_TAG_LENGTH, NULL);
                   nonce_len = EVP_AEAD_nonce_length(aead);
   
                   for (j = 0; j < SIZE_NUM; j++) {
                           print_message(names[D_AES_256_GCM],c[D_AES_256_GCM][j],lengths[j]);
                           Time_F(START);
                           for (count = 0, run = 1; COND(c[D_AES_256_GCM][j]); count++)
                                   EVP_AEAD_CTX_seal(&ctx, buf, &buf_len, BUFSIZE, nonce,
                                       nonce_len, buf, lengths[j], NULL, 0);
                           d=Time_F(STOP);
                           print_result(D_AES_256_GCM, j, count, d);
                   }
                   EVP_AEAD_CTX_cleanup(&ctx);
           }
   #endif
   #if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
           if (doit[D_CHACHA20_POLY1305]) {
                   const EVP_AEAD *aead = EVP_aead_chacha20_poly1305();
                   static const unsigned char nonce[32] = {0};
                   size_t buf_len, nonce_len;
                   EVP_AEAD_CTX ctx;
   
                   EVP_AEAD_CTX_init(&ctx, aead, key32, EVP_AEAD_key_length(aead),
                       EVP_AEAD_DEFAULT_TAG_LENGTH, NULL);
                   nonce_len = EVP_AEAD_nonce_length(aead);
   
                   for (j = 0; j < SIZE_NUM; j++) {
                           print_message(names[D_CHACHA20_POLY1305],
                               c[D_CHACHA20_POLY1305][j], lengths[j]);
                           Time_F(START);
                           for (count = 0, run = 1; COND(c[D_CHACHA20_POLY1305][j]); count++)
                                   EVP_AEAD_CTX_seal(&ctx, buf, &buf_len, BUFSIZE, nonce,
                                       nonce_len, buf, lengths[j], NULL, 0);
                           d=Time_F(STOP);
                           print_result(D_CHACHA20_POLY1305, j, count, d);
                   }
                   EVP_AEAD_CTX_cleanup(&ctx);
         }          }
 #endif  #endif
 #ifndef OPENSSL_NO_CAMELLIA  #ifndef OPENSSL_NO_CAMELLIA

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13