Added encoded OID for hash functions (for use with PKCS#1 v1.5 signatures) into the...
[BearSSL] / test / test_speed.c
index d7dfaad..a09aa04 100644 (file)
@@ -249,6 +249,7 @@ SPEED_AES(small)
 SPEED_AES(ct)
 SPEED_AES(ct64)
 SPEED_AES(x86ni)
+SPEED_AES(pwr8)
 
 #define br_des_tab_cbcenc_get_vtable()     (&br_des_tab_cbcenc_vtable)
 #define br_des_tab_cbcdec_get_vtable()     (&br_des_tab_cbcdec_vtable)
@@ -334,6 +335,20 @@ test_speed_ghash_pclmul(void)
        }
 }
 
+static void
+test_speed_ghash_pwr8(void)
+{
+       br_ghash gh;
+
+       gh = br_ghash_pwr8_get();
+       if (gh == 0) {
+               printf("%-30s UNAVAILABLE\n", "GHASH (pwr8)");
+               fflush(stdout);
+       } else {
+               test_speed_ghash_inner("GHASH (pwr8)", gh);
+       }
+}
+
 static uint32_t
 fake_chacha20(const void *key, const void *iv,
        uint32_t cc, void *data, size_t len)
@@ -401,6 +416,19 @@ test_speed_poly1305_ctmul32(void)
                &br_poly1305_ctmul32_run);
 }
 
+static void
+test_speed_poly1305_ctmulq(void)
+{
+       br_poly1305_run bp;
+
+       bp = br_poly1305_ctmulq_get();
+       if (bp == 0) {
+               printf("%-30s UNAVAILABLE\n", "Poly1305 (ctmulq)");
+       } else {
+               test_speed_poly1305_inner("Poly1305 (ctmulq)", bp);
+       }
+}
+
 static void
 test_speed_poly1305_i15(void)
 {
@@ -638,6 +666,21 @@ test_speed_rsa_i32(void)
                &br_rsa_i32_public, &br_rsa_i32_private);
 }
 
+static void
+test_speed_rsa_i62(void)
+{
+       br_rsa_public pub;
+       br_rsa_private priv;
+
+       pub = br_rsa_i62_public_get();
+       priv = br_rsa_i62_private_get();
+       if (pub) {
+               test_speed_rsa_inner("RSA i62", pub, priv);
+       } else {
+               printf("%-30s UNAVAILABLE\n", "RSA i62");
+       }
+}
+
 static void
 test_speed_ec_inner_1(const char *name,
        const br_ec_impl *impl, const br_ec_curve_def *cd)
@@ -1215,6 +1258,16 @@ static const struct {
        STU(aes192_x86ni_ctr),
        STU(aes256_x86ni_ctr),
 
+       STU(aes128_pwr8_cbcenc),
+       STU(aes128_pwr8_cbcdec),
+       STU(aes192_pwr8_cbcenc),
+       STU(aes192_pwr8_cbcdec),
+       STU(aes256_pwr8_cbcenc),
+       STU(aes256_pwr8_cbcdec),
+       STU(aes128_pwr8_ctr),
+       STU(aes192_pwr8_ctr),
+       STU(aes256_pwr8_ctr),
+
        STU(des_tab_cbcenc),
        STU(des_tab_cbcdec),
        STU(3des_tab_cbcenc),
@@ -1231,14 +1284,17 @@ static const struct {
        STU(ghash_ctmul32),
        STU(ghash_ctmul64),
        STU(ghash_pclmul),
+       STU(ghash_pwr8),
 
        STU(poly1305_ctmul),
        STU(poly1305_ctmul32),
+       STU(poly1305_ctmulq),
        STU(poly1305_i15),
 
        STU(rsa_i15),
        STU(rsa_i31),
        STU(rsa_i32),
+       STU(rsa_i62),
        STU(ec_prime_i15),
        STU(ec_prime_i31),
        STU(ec_p256_m15),