1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef _CRYPTO_CAST6_H |
3 | #define _CRYPTO_CAST6_H |
4 | |
5 | #include <linux/types.h> |
6 | #include <linux/crypto.h> |
7 | #include <crypto/cast_common.h> |
8 | |
9 | #define CAST6_BLOCK_SIZE 16 |
10 | #define CAST6_MIN_KEY_SIZE 16 |
11 | #define CAST6_MAX_KEY_SIZE 32 |
12 | |
13 | struct cast6_ctx { |
14 | u32 Km[12][4]; |
15 | u8 Kr[12][4]; |
16 | }; |
17 | |
18 | int __cast6_setkey(struct cast6_ctx *ctx, const u8 *key, unsigned int keylen); |
19 | int cast6_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int keylen); |
20 | |
21 | void __cast6_encrypt(const void *ctx, u8 *dst, const u8 *src); |
22 | void __cast6_decrypt(const void *ctx, u8 *dst, const u8 *src); |
23 | |
24 | #endif |
25 | |