From adbdca0d58f9c06dc3850b95e3455e179c1e6960 Mon Sep 17 00:00:00 2001 From: Jussi Kivilinna Date: Sun, 26 Jul 2015 17:17:20 +0300 Subject: Add bulk OCB for Serpent SSE2, AVX2 and NEON implementations * cipher/cipher.c (_gcry_cipher_open_internal): Setup OCB bulk functions for Serpent. * cipher/serpent-armv7-neon.S: Add OCB assembly functions. * cipher/serpent-avx2-amd64.S: Add OCB assembly functions. * cipher/serpent-sse2-amd64.S: Add OCB assembly functions. * cipher/serpent.c (_gcry_serpent_sse2_ocb_enc) (_gcry_serpent_sse2_ocb_dec, _gcry_serpent_sse2_ocb_auth) (_gcry_serpent_neon_ocb_enc, _gcry_serpent_neon_ocb_dec) (_gcry_serpent_neon_ocb_auth, _gcry_serpent_avx2_ocb_enc) (_gcry_serpent_avx2_ocb_dec, _gcry_serpent_avx2_ocb_auth): New prototypes. (get_l, _gcry_serpent_ocb_crypt, _gcry_serpent_ocb_auth): New. * src/cipher.h (_gcry_serpent_ocb_crypt) (_gcry_serpent_ocb_auth): New. * tests/basic.c (check_ocb_cipher): Add test-vector for serpent. -- Signed-off-by: Jussi Kivilinna --- tests/basic.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'tests') diff --git a/tests/basic.c b/tests/basic.c index 124df55b..3ad05a45 100644 --- a/tests/basic.c +++ b/tests/basic.c @@ -3350,6 +3350,15 @@ check_ocb_cipher (void) check_ocb_cipher_largebuf(GCRY_CIPHER_TWOFISH, 32, "\xf6\xd4\xfe\x4e\x50\x85\x13\x59" "\x69\x0e\x4c\x67\x3e\xdd\x47\x90"); + check_ocb_cipher_largebuf(GCRY_CIPHER_SERPENT128, 16, + "\x3c\xfb\x66\x14\x3c\xc8\x6c\x67" + "\x26\xb8\x23\xeb\xaf\x43\x98\x69"); + check_ocb_cipher_largebuf(GCRY_CIPHER_SERPENT192, 24, + "\x5e\x62\x27\xc5\x32\xc3\x1d\xe6" + "\x2e\x65\xe7\xd6\xfb\x05\xd7\xb2"); + check_ocb_cipher_largebuf(GCRY_CIPHER_SERPENT256, 32, + "\xe7\x8b\xe6\xd4\x2f\x7a\x36\x4c" + "\xba\xee\x20\xe2\x68\xf4\xcb\xcc"); } -- cgit v1.2.1