1*bc83b829SJussi Kivilinna /* 2*bc83b829SJussi Kivilinna * Common values for serpent algorithms 3*bc83b829SJussi Kivilinna */ 4*bc83b829SJussi Kivilinna 5*bc83b829SJussi Kivilinna #ifndef _CRYPTO_SERPENT_H 6*bc83b829SJussi Kivilinna #define _CRYPTO_SERPENT_H 7*bc83b829SJussi Kivilinna 8*bc83b829SJussi Kivilinna #include <linux/types.h> 9*bc83b829SJussi Kivilinna #include <linux/crypto.h> 10*bc83b829SJussi Kivilinna 11*bc83b829SJussi Kivilinna #define SERPENT_MIN_KEY_SIZE 0 12*bc83b829SJussi Kivilinna #define SERPENT_MAX_KEY_SIZE 32 13*bc83b829SJussi Kivilinna #define SERPENT_EXPKEY_WORDS 132 14*bc83b829SJussi Kivilinna #define SERPENT_BLOCK_SIZE 16 15*bc83b829SJussi Kivilinna 16*bc83b829SJussi Kivilinna struct serpent_ctx { 17*bc83b829SJussi Kivilinna u32 expkey[SERPENT_EXPKEY_WORDS]; 18*bc83b829SJussi Kivilinna }; 19*bc83b829SJussi Kivilinna 20*bc83b829SJussi Kivilinna int serpent_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen); 21*bc83b829SJussi Kivilinna 22*bc83b829SJussi Kivilinna void __serpent_encrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src); 23*bc83b829SJussi Kivilinna void __serpent_decrypt(struct serpent_ctx *ctx, u8 *dst, const u8 *src); 24*bc83b829SJussi Kivilinna 25*bc83b829SJussi Kivilinna #endif 26