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