59
59
#define byte_swap_32(x) \
61
61
| (((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) \
62
| (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24));
62
| (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24))
64
64
/* These are the S-Boxes of Serpent. They are copied from Serpents
65
65
reference implementation (the optimized one, contained in
953
953
static const char *cipher_spec_serpent128_aliases[] =
959
959
gcry_cipher_spec_t _gcry_cipher_spec_serpent128 =
961
961
"SERPENT128", cipher_spec_serpent128_aliases, NULL, 16, 128,
962
962
sizeof (serpent_context_t),
963
serpent_setkey, serpent_encrypt, serpent_decrypt,
963
serpent_setkey, serpent_encrypt, serpent_decrypt
966
966
gcry_cipher_spec_t _gcry_cipher_spec_serpent192 =
968
968
"SERPENT192", NULL, NULL, 16, 192,
969
969
sizeof (serpent_context_t),
970
serpent_setkey, serpent_encrypt, serpent_decrypt,
970
serpent_setkey, serpent_encrypt, serpent_decrypt
973
973
gcry_cipher_spec_t _gcry_cipher_spec_serpent256 =
975
975
"SERPENT256", NULL, NULL, 16, 256,
976
976
sizeof (serpent_context_t),
977
serpent_setkey, serpent_encrypt, serpent_decrypt,
977
serpent_setkey, serpent_encrypt, serpent_decrypt