From af5b726198a55f2cc8de9f12536bca899da13b78 Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Wed, 22 Jun 2005 13:27:51 -0700 Subject: [PATCH] --- yaml --- r: 2829 b: refs/heads/master c: dce907c00ff246a1fbb2b619964753ebc046591d h: refs/heads/master i: 2827: c0a93ecc0779b392ceb6fae12e167d30655a68e7 v: v3 --- [refs] | 2 +- trunk/crypto/tcrypt.c | 79 +++++++++++++++++++++++++++++++------------ 2 files changed, 58 insertions(+), 23 deletions(-) diff --git a/[refs] b/[refs] index c530625921c9..26feb10c0e6d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ebfd9bcf16e4aaddcfe2d1b76b50e3dd6d3242e2 +refs/heads/master: dce907c00ff246a1fbb2b619964753ebc046591d diff --git a/trunk/crypto/tcrypt.c b/trunk/crypto/tcrypt.c index 414ef5e71171..401d25ac214f 100644 --- a/trunk/crypto/tcrypt.c +++ b/trunk/crypto/tcrypt.c @@ -427,9 +427,10 @@ static void test_cipher(char *algo, int mode, int enc, } static void test_cipher_speed(char *algo, int mode, int enc, unsigned int sec, - struct cipher_speed *speed) + struct cipher_testvec *template, + unsigned int tcount, struct cipher_speed *speed) { - unsigned int ret, i, iv_len; + unsigned int ret, i, j, iv_len; unsigned char *key, *p, iv[128]; struct crypto_tfm *tfm; struct scatterlist sg[8]; @@ -471,6 +472,12 @@ static void test_cipher_speed(char *algo, int mode, int enc, unsigned int sec, /* set key, plain text and IV */ key = (unsigned char *)tvmem; + for (j = 0; j < tcount; j++) { + if (template[j].klen == speed[i].klen) { + key = template[j].key; + break; + } + } p = (unsigned char *)tvmem + speed[i].klen; ret = crypto_cipher_setkey(tfm, key, speed[i].klen); @@ -953,38 +960,66 @@ static void do_test(void) #endif case 200: - test_cipher_speed("aes", MODE_ECB, ENCRYPT, sec, aes_speed_template); - test_cipher_speed("aes", MODE_ECB, DECRYPT, sec, aes_speed_template); - test_cipher_speed("aes", MODE_CBC, ENCRYPT, sec, aes_speed_template); - test_cipher_speed("aes", MODE_CBC, DECRYPT, sec, aes_speed_template); + test_cipher_speed("aes", MODE_ECB, ENCRYPT, sec, NULL, 0, + aes_speed_template); + test_cipher_speed("aes", MODE_ECB, DECRYPT, sec, NULL, 0, + aes_speed_template); + test_cipher_speed("aes", MODE_CBC, ENCRYPT, sec, NULL, 0, + aes_speed_template); + test_cipher_speed("aes", MODE_CBC, DECRYPT, sec, NULL, 0, + aes_speed_template); break; case 201: - test_cipher_speed("des3_ede", MODE_ECB, ENCRYPT, sec, des3_ede_speed_template); - test_cipher_speed("des3_ede", MODE_ECB, DECRYPT, sec, des3_ede_speed_template); - test_cipher_speed("des3_ede", MODE_CBC, ENCRYPT, sec, des3_ede_speed_template); - test_cipher_speed("des3_ede", MODE_CBC, DECRYPT, sec, des3_ede_speed_template); + test_cipher_speed("des3_ede", MODE_ECB, ENCRYPT, sec, + des3_ede_enc_tv_template, + DES3_EDE_ENC_TEST_VECTORS, + des3_ede_speed_template); + test_cipher_speed("des3_ede", MODE_ECB, DECRYPT, sec, + des3_ede_dec_tv_template, + DES3_EDE_DEC_TEST_VECTORS, + des3_ede_speed_template); + test_cipher_speed("des3_ede", MODE_CBC, ENCRYPT, sec, + des3_ede_enc_tv_template, + DES3_EDE_ENC_TEST_VECTORS, + des3_ede_speed_template); + test_cipher_speed("des3_ede", MODE_CBC, DECRYPT, sec, + des3_ede_dec_tv_template, + DES3_EDE_DEC_TEST_VECTORS, + des3_ede_speed_template); break; case 202: - test_cipher_speed("twofish", MODE_ECB, ENCRYPT, sec, twofish_speed_template); - test_cipher_speed("twofish", MODE_ECB, DECRYPT, sec, twofish_speed_template); - test_cipher_speed("twofish", MODE_CBC, ENCRYPT, sec, twofish_speed_template); - test_cipher_speed("twofish", MODE_CBC, DECRYPT, sec, twofish_speed_template); + test_cipher_speed("twofish", MODE_ECB, ENCRYPT, sec, NULL, 0, + twofish_speed_template); + test_cipher_speed("twofish", MODE_ECB, DECRYPT, sec, NULL, 0, + twofish_speed_template); + test_cipher_speed("twofish", MODE_CBC, ENCRYPT, sec, NULL, 0, + twofish_speed_template); + test_cipher_speed("twofish", MODE_CBC, DECRYPT, sec, NULL, 0, + twofish_speed_template); break; case 203: - test_cipher_speed("blowfish", MODE_ECB, ENCRYPT, sec, blowfish_speed_template); - test_cipher_speed("blowfish", MODE_ECB, DECRYPT, sec, blowfish_speed_template); - test_cipher_speed("blowfish", MODE_CBC, ENCRYPT, sec, blowfish_speed_template); - test_cipher_speed("blowfish", MODE_CBC, DECRYPT, sec, blowfish_speed_template); + test_cipher_speed("blowfish", MODE_ECB, ENCRYPT, sec, NULL, 0, + blowfish_speed_template); + test_cipher_speed("blowfish", MODE_ECB, DECRYPT, sec, NULL, 0, + blowfish_speed_template); + test_cipher_speed("blowfish", MODE_CBC, ENCRYPT, sec, NULL, 0, + blowfish_speed_template); + test_cipher_speed("blowfish", MODE_CBC, DECRYPT, sec, NULL, 0, + blowfish_speed_template); break; case 204: - test_cipher_speed("des", MODE_ECB, ENCRYPT, sec, des_speed_template); - test_cipher_speed("des", MODE_ECB, DECRYPT, sec, des_speed_template); - test_cipher_speed("des", MODE_CBC, ENCRYPT, sec, des_speed_template); - test_cipher_speed("des", MODE_CBC, DECRYPT, sec, des_speed_template); + test_cipher_speed("des", MODE_ECB, ENCRYPT, sec, NULL, 0, + des_speed_template); + test_cipher_speed("des", MODE_ECB, DECRYPT, sec, NULL, 0, + des_speed_template); + test_cipher_speed("des", MODE_CBC, ENCRYPT, sec, NULL, 0, + des_speed_template); + test_cipher_speed("des", MODE_CBC, DECRYPT, sec, NULL, 0, + des_speed_template); break; case 1000: