^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0+ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Common values for ARC4 Cipher Algorithm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #ifndef _CRYPTO_ARC4_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #define _CRYPTO_ARC4_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define ARC4_MIN_KEY_SIZE 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define ARC4_MAX_KEY_SIZE 256
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define ARC4_BLOCK_SIZE 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) struct arc4_ctx {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) u32 S[256];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) u32 x, y;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) int arc4_setkey(struct arc4_ctx *ctx, const u8 *in_key, unsigned int key_len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) void arc4_crypt(struct arc4_ctx *ctx, u8 *out, const u8 *in, unsigned int len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #endif /* _CRYPTO_ARC4_H */