blob: caaa470389e0ea0c5e29f446590822d2c7d82f06 [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * Common values for the ChaCha20 algorithm
4 */
5
6#ifndef _CRYPTO_CHACHA20_H
7#define _CRYPTO_CHACHA20_H
8
9#include <crypto/skcipher.h>
10#include <linux/types.h>
11#include <linux/crypto.h>
12
13#define CHACHA20_IV_SIZE 16
14#define CHACHA20_KEY_SIZE 32
15#define CHACHA20_BLOCK_SIZE 64
16
17struct chacha20_ctx {
18 u32 key[8];
19};
20
21void chacha20_block(u32 *state, void *stream);
22void crypto_chacha20_init(u32 *state, struct chacha20_ctx *ctx, u8 *iv);
23int crypto_chacha20_setkey(struct crypto_skcipher *tfm, const u8 *key,
24 unsigned int keysize);
25int crypto_chacha20_crypt(struct skcipher_request *req);
26
27#endif