xref: /linux/fs/smb/common/arc4.h (revision fd7d598270724cc787982ea48bbe17ad383a8b7f)
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 cifs_arc4_setkey(struct arc4_ctx *ctx, const u8 *in_key, unsigned int key_len);
21 void cifs_arc4_crypt(struct arc4_ctx *ctx, u8 *out, const u8 *in, unsigned int len);
22 
23 #endif /* _CRYPTO_ARC4_H */
24