162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0+ */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Common values for ARC4 Cipher Algorithm 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#ifndef _CRYPTO_ARC4_H 762306a36Sopenharmony_ci#define _CRYPTO_ARC4_H 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#include <linux/types.h> 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#define ARC4_MIN_KEY_SIZE 1 1262306a36Sopenharmony_ci#define ARC4_MAX_KEY_SIZE 256 1362306a36Sopenharmony_ci#define ARC4_BLOCK_SIZE 1 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistruct arc4_ctx { 1662306a36Sopenharmony_ci u32 S[256]; 1762306a36Sopenharmony_ci u32 x, y; 1862306a36Sopenharmony_ci}; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciint cifs_arc4_setkey(struct arc4_ctx *ctx, const u8 *in_key, unsigned int key_len); 2162306a36Sopenharmony_civoid cifs_arc4_crypt(struct arc4_ctx *ctx, u8 *out, const u8 *in, unsigned int len); 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#endif /* _CRYPTO_ARC4_H */ 24