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