1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2bc83b829SJussi Kivilinna /* 3bc83b829SJussi Kivilinna * Common values for serpent algorithms 4bc83b829SJussi Kivilinna */ 5bc83b829SJussi Kivilinna 6bc83b829SJussi Kivilinna #ifndef _CRYPTO_SERPENT_H 7bc83b829SJussi Kivilinna #define _CRYPTO_SERPENT_H 8bc83b829SJussi Kivilinna 9bc83b829SJussi Kivilinna #include <linux/types.h> 10bc83b829SJussi Kivilinna #include <linux/crypto.h> 11bc83b829SJussi Kivilinna 12bc83b829SJussi Kivilinna #define SERPENT_MIN_KEY_SIZE 0 13bc83b829SJussi Kivilinna #define SERPENT_MAX_KEY_SIZE 32 14bc83b829SJussi Kivilinna #define SERPENT_EXPKEY_WORDS 132 15bc83b829SJussi Kivilinna #define SERPENT_BLOCK_SIZE 16 16bc83b829SJussi Kivilinna 17bc83b829SJussi Kivilinna struct serpent_ctx { 18bc83b829SJussi Kivilinna u32 expkey[SERPENT_EXPKEY_WORDS]; 19bc83b829SJussi Kivilinna }; 20bc83b829SJussi Kivilinna 2118482053SJussi Kivilinna int __serpent_setkey(struct serpent_ctx *ctx, const u8 *key, 2218482053SJussi Kivilinna unsigned int keylen); 23bc83b829SJussi Kivilinna int serpent_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen); 24bc83b829SJussi Kivilinna 25*9c1e8836SKees Cook void __serpent_encrypt(const void *ctx, u8 *dst, const u8 *src); 26*9c1e8836SKees Cook void __serpent_decrypt(const void *ctx, u8 *dst, const u8 *src); 27bc83b829SJussi Kivilinna 28bc83b829SJussi Kivilinna #endif 29