Commit 3c383637 authored by Tianjia Zhang's avatar Tianjia Zhang Committed by Herbert Xu

crypto: tcrypt - add SM4 cts-cbc/xts/xcbc test

Added CTS-CBC/XTS/XCBC tests for SM4 algorithms, as well as
corresponding speed tests, this is to test performance-optimized
implementations of these modes.
Signed-off-by: default avatarTianjia Zhang <tianjia.zhang@linux.alibaba.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent c24ee936
...@@ -1710,6 +1710,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) ...@@ -1710,6 +1710,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
ret = min(ret, tcrypt_test("gcm(aria)")); ret = min(ret, tcrypt_test("gcm(aria)"));
break; break;
case 59:
ret = min(ret, tcrypt_test("cts(cbc(sm4))"));
break;
case 100: case 100:
ret = min(ret, tcrypt_test("hmac(md5)")); ret = min(ret, tcrypt_test("hmac(md5)"));
break; break;
...@@ -1810,6 +1814,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) ...@@ -1810,6 +1814,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
ret = min(ret, tcrypt_test("cmac(sm4)")); ret = min(ret, tcrypt_test("cmac(sm4)"));
break; break;
case 160:
ret = min(ret, tcrypt_test("xcbc(sm4)"));
break;
case 181: case 181:
ret = min(ret, tcrypt_test("authenc(hmac(sha1),cbc(des))")); ret = min(ret, tcrypt_test("authenc(hmac(sha1),cbc(des))"));
break; break;
...@@ -1845,6 +1853,7 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) ...@@ -1845,6 +1853,7 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
ret = min(ret, tcrypt_test("cbc(sm4)")); ret = min(ret, tcrypt_test("cbc(sm4)"));
ret = min(ret, tcrypt_test("cfb(sm4)")); ret = min(ret, tcrypt_test("cfb(sm4)"));
ret = min(ret, tcrypt_test("ctr(sm4)")); ret = min(ret, tcrypt_test("ctr(sm4)"));
ret = min(ret, tcrypt_test("xts(sm4)"));
break; break;
case 192: case 192:
ret = min(ret, tcrypt_test("ecb(aria)")); ret = min(ret, tcrypt_test("ecb(aria)"));
...@@ -2108,6 +2117,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) ...@@ -2108,6 +2117,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
speed_template_16); speed_template_16);
test_cipher_speed("cbc(sm4)", DECRYPT, sec, NULL, 0, test_cipher_speed("cbc(sm4)", DECRYPT, sec, NULL, 0,
speed_template_16); speed_template_16);
test_cipher_speed("cts(cbc(sm4))", ENCRYPT, sec, NULL, 0,
speed_template_16);
test_cipher_speed("cts(cbc(sm4))", DECRYPT, sec, NULL, 0,
speed_template_16);
test_cipher_speed("cfb(sm4)", ENCRYPT, sec, NULL, 0, test_cipher_speed("cfb(sm4)", ENCRYPT, sec, NULL, 0,
speed_template_16); speed_template_16);
test_cipher_speed("cfb(sm4)", DECRYPT, sec, NULL, 0, test_cipher_speed("cfb(sm4)", DECRYPT, sec, NULL, 0,
...@@ -2116,6 +2129,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) ...@@ -2116,6 +2129,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
speed_template_16); speed_template_16);
test_cipher_speed("ctr(sm4)", DECRYPT, sec, NULL, 0, test_cipher_speed("ctr(sm4)", DECRYPT, sec, NULL, 0,
speed_template_16); speed_template_16);
test_cipher_speed("xts(sm4)", ENCRYPT, sec, NULL, 0,
speed_template_32);
test_cipher_speed("xts(sm4)", DECRYPT, sec, NULL, 0,
speed_template_32);
break; break;
case 219: case 219:
...@@ -2629,6 +2646,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb) ...@@ -2629,6 +2646,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m, u32 num_mb)
speed_template_16); speed_template_16);
test_acipher_speed("ctr(sm4)", DECRYPT, sec, NULL, 0, test_acipher_speed("ctr(sm4)", DECRYPT, sec, NULL, 0,
speed_template_16); speed_template_16);
test_acipher_speed("xts(sm4)", ENCRYPT, sec, NULL, 0,
speed_template_32);
test_acipher_speed("xts(sm4)", DECRYPT, sec, NULL, 0,
speed_template_32);
break; break;
case 519: case 519:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment