Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/*
2 * Common values for the ChaCha20 algorithm
3 */
4
5#ifndef _CRYPTO_CHACHA20_H
6#define _CRYPTO_CHACHA20_H
7
8#include <crypto/skcipher.h>
9#include <linux/types.h>
10#include <linux/crypto.h>
11
12#define CHACHA20_IV_SIZE 16
13#define CHACHA20_KEY_SIZE 32
14#define CHACHA20_BLOCK_SIZE 64
15
16struct chacha20_ctx {
17 u32 key[8];
18};
19
20void chacha20_block(u32 *state, void *stream);
21void crypto_chacha20_init(u32 *state, struct chacha20_ctx *ctx, u8 *iv);
22int crypto_chacha20_setkey(struct crypto_skcipher *tfm, const u8 *key,
23 unsigned int keysize);
24int crypto_chacha20_crypt(struct skcipher_request *req);
25
26#endif