crypto: tcrypt - Add ChaCha20/Poly1305 speed tests
Adds individual ChaCha20 and Poly1305 and a combined rfc7539esp AEAD speed test using mode numbers 214, 321 and 213. For Poly1305 we add a specific speed template, as it expects the key prepended to the input data. Signed-off-by: Martin Willi <martin@strongswan.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
7479092233
commit
2dce063a31
2 changed files with 35 additions and 0 deletions
|
@ -1793,6 +1793,17 @@ static int do_test(const char *alg, u32 type, u32 mask, int m)
|
||||||
NULL, 0, 16, 16, aead_speed_template_19);
|
NULL, 0, 16, 16, aead_speed_template_19);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 213:
|
||||||
|
test_aead_speed("rfc7539esp(chacha20,poly1305)", ENCRYPT, sec,
|
||||||
|
NULL, 0, 16, 8, aead_speed_template_36);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 214:
|
||||||
|
test_cipher_speed("chacha20", ENCRYPT, sec, NULL, 0,
|
||||||
|
speed_template_32);
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
case 300:
|
case 300:
|
||||||
if (alg) {
|
if (alg) {
|
||||||
test_hash_speed(alg, sec, generic_hash_speed_template);
|
test_hash_speed(alg, sec, generic_hash_speed_template);
|
||||||
|
@ -1881,6 +1892,10 @@ static int do_test(const char *alg, u32 type, u32 mask, int m)
|
||||||
test_hash_speed("crct10dif", sec, generic_hash_speed_template);
|
test_hash_speed("crct10dif", sec, generic_hash_speed_template);
|
||||||
if (mode > 300 && mode < 400) break;
|
if (mode > 300 && mode < 400) break;
|
||||||
|
|
||||||
|
case 321:
|
||||||
|
test_hash_speed("poly1305", sec, poly1305_speed_template);
|
||||||
|
if (mode > 300 && mode < 400) break;
|
||||||
|
|
||||||
case 399:
|
case 399:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -61,12 +61,14 @@ static u8 speed_template_32_40_48[] = {32, 40, 48, 0};
|
||||||
static u8 speed_template_32_48[] = {32, 48, 0};
|
static u8 speed_template_32_48[] = {32, 48, 0};
|
||||||
static u8 speed_template_32_48_64[] = {32, 48, 64, 0};
|
static u8 speed_template_32_48_64[] = {32, 48, 64, 0};
|
||||||
static u8 speed_template_32_64[] = {32, 64, 0};
|
static u8 speed_template_32_64[] = {32, 64, 0};
|
||||||
|
static u8 speed_template_32[] = {32, 0};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* AEAD speed tests
|
* AEAD speed tests
|
||||||
*/
|
*/
|
||||||
static u8 aead_speed_template_19[] = {19, 0};
|
static u8 aead_speed_template_19[] = {19, 0};
|
||||||
static u8 aead_speed_template_20[] = {20, 0};
|
static u8 aead_speed_template_20[] = {20, 0};
|
||||||
|
static u8 aead_speed_template_36[] = {36, 0};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Digest speed tests
|
* Digest speed tests
|
||||||
|
@ -127,4 +129,22 @@ static struct hash_speed hash_speed_template_16[] = {
|
||||||
{ .blen = 0, .plen = 0, .klen = 0, }
|
{ .blen = 0, .plen = 0, .klen = 0, }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct hash_speed poly1305_speed_template[] = {
|
||||||
|
{ .blen = 96, .plen = 16, },
|
||||||
|
{ .blen = 96, .plen = 32, },
|
||||||
|
{ .blen = 96, .plen = 96, },
|
||||||
|
{ .blen = 288, .plen = 16, },
|
||||||
|
{ .blen = 288, .plen = 32, },
|
||||||
|
{ .blen = 288, .plen = 288, },
|
||||||
|
{ .blen = 1056, .plen = 32, },
|
||||||
|
{ .blen = 1056, .plen = 1056, },
|
||||||
|
{ .blen = 2080, .plen = 32, },
|
||||||
|
{ .blen = 2080, .plen = 2080, },
|
||||||
|
{ .blen = 4128, .plen = 4128, },
|
||||||
|
{ .blen = 8224, .plen = 8224, },
|
||||||
|
|
||||||
|
/* End marker */
|
||||||
|
{ .blen = 0, .plen = 0, }
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* _CRYPTO_TCRYPT_H */
|
#endif /* _CRYPTO_TCRYPT_H */
|
||||||
|
|
Loading…
Reference in a new issue