diff options
author | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2015-07-26 17:17:20 +0300 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2015-07-27 11:47:17 +0300 |
commit | adbdca0d58f9c06dc3850b95e3455e179c1e6960 (patch) | |
tree | 6b45cd572f756e61e51f20883004898383137e2d /src | |
parent | 7f6804c37c4b41d85fb26aa723b1c41e4a3cf278 (diff) | |
download | libgcrypt-adbdca0d58f9c06dc3850b95e3455e179c1e6960.tar.gz |
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 <jussi.kivilinna@iki.fi>
Diffstat (limited to 'src')
-rw-r--r-- | src/cipher.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cipher.h b/src/cipher.h index 1a66f6de..d16746a3 100644 --- a/src/cipher.h +++ b/src/cipher.h @@ -206,6 +206,11 @@ void _gcry_serpent_cbc_dec (void *context, unsigned char *iv, void _gcry_serpent_cfb_dec (void *context, unsigned char *iv, void *outbuf_arg, const void *inbuf_arg, size_t nblocks); +void _gcry_serpent_ocb_crypt (gcry_cipher_hd_t c, void *outbuf_arg, + const void *inbuf_arg, size_t nblocks, + int encrypt); +void _gcry_serpent_ocb_auth (gcry_cipher_hd_t c, const void *abuf_arg, + size_t nblocks); /*-- twofish.c --*/ void _gcry_twofish_ctr_enc (void *context, unsigned char *ctr, |