Mbed OS Reference
Loading...
Searching...
No Matches
chacha20.h File Reference

This file contains ChaCha20 definitions and functions. More...

#include "mbedtls/config.h"
#include <stdint.h>
#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  mbedtls_chacha20_context
 

Macros

#define MBEDTLS_ERR_CHACHA20_BAD_INPUT_DATA   -0x0051
 Invalid input parameter(s). More...
 
#define MBEDTLS_ERR_CHACHA20_FEATURE_UNAVAILABLE   -0x0053
 Feature not available. More...
 
#define MBEDTLS_ERR_CHACHA20_HW_ACCEL_FAILED   -0x0055
 Chacha20 hardware accelerator failed. More...
 

Functions

void mbedtls_chacha20_init (mbedtls_chacha20_context *ctx)
 This function initializes the specified ChaCha20 context. More...
 
void mbedtls_chacha20_free (mbedtls_chacha20_context *ctx)
 This function releases and clears the specified ChaCha20 context. More...
 
int mbedtls_chacha20_setkey (mbedtls_chacha20_context *ctx, const unsigned char key[32])
 This function sets the encryption/decryption key. More...
 
int mbedtls_chacha20_starts (mbedtls_chacha20_context *ctx, const unsigned char nonce[12], uint32_t counter)
 This function sets the nonce and initial counter value. More...
 
int mbedtls_chacha20_update (mbedtls_chacha20_context *ctx, size_t size, const unsigned char *input, unsigned char *output)
 This function encrypts or decrypts data. More...
 
int mbedtls_chacha20_crypt (const unsigned char key[32], const unsigned char nonce[12], uint32_t counter, size_t size, const unsigned char *input, unsigned char *output)
 This function encrypts or decrypts data with ChaCha20 and the given key and nonce. More...
 

Detailed Description

This file contains ChaCha20 definitions and functions.

     ChaCha20 is a stream cipher that can encrypt and decrypt
     information. ChaCha was created by Daniel Bernstein as a variant of
     its Salsa cipher https://cr.yp.to/chacha/chacha-20080128.pdf
     ChaCha20 is the variant with 20 rounds, that was also standardized
     in RFC 7539.
Author
Daniel King damak.nosp@m.i.gh.nosp@m.@gmai.nosp@m.l.co.nosp@m.m

Definition in file chacha20.h.