linux/include/crypto/chacha20.h
<<
>>
Prefs
   1/* 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, u8 *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
  28