ISARA Radiate Security Solution Suite Toolkit Edition Version 1.5

Quantum-safe cryptographic primitives and algorithms.

iqr_chacha20.h
Go to the documentation of this file.
1 
23 #ifndef IQR_CHACHA20_H
24 #define IQR_CHACHA20_H
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 #include "iqr_api.h"
31 #include "iqr_retval.h"
32 
33 #include <stddef.h>
34 #include <stdint.h>
35 
36 // ---------------------------------------------------------------------------------------------------------------------------------
37 // Constants.
38 // ---------------------------------------------------------------------------------------------------------------------------------
39 
41 #define IQR_CHACHA20_KEY_SIZE 32
42 
44 #define IQR_CHACHA20_NONCE_SIZE 12
45 
46 // ---------------------------------------------------------------------------------------------------------------------------------
47 // RFC 8439 ChaCha20.
48 // ---------------------------------------------------------------------------------------------------------------------------------
49 
90 IQR_API
91 iqr_retval iqr_ChaCha20Encrypt(const uint8_t *key, size_t key_size, const uint8_t *nonce, size_t nonce_size, uint32_t counter,
92  const uint8_t *plaintext, size_t plaintext_size, uint8_t *ciphertext, size_t ciphertext_size);
93 
135 IQR_API
136 iqr_retval iqr_ChaCha20Decrypt(const uint8_t *key, size_t key_size, const uint8_t *nonce, size_t nonce_size, uint32_t counter,
137  const uint8_t *ciphertext, size_t ciphertext_size, uint8_t *plaintext, size_t plaintext_size);
138 
139 #ifdef __cplusplus
140 }
141 #endif
142 
143 #endif /* IQR_CHACHA20_H */
IQR_API iqr_retval iqr_ChaCha20Decrypt(const uint8_t *key, size_t key_size, const uint8_t *nonce, size_t nonce_size, uint32_t counter, const uint8_t *ciphertext, size_t ciphertext_size, uint8_t *plaintext, size_t plaintext_size)
IQR_API iqr_retval iqr_ChaCha20Encrypt(const uint8_t *key, size_t key_size, const uint8_t *nonce, size_t nonce_size, uint32_t counter, const uint8_t *plaintext, size_t plaintext_size, uint8_t *ciphertext, size_t ciphertext_size)
ISARA Radiate Security Solution Suite&#39;s return values.
ISARA Radiate Security Solution Suite&#39;s API declarations.
iqr_retval
Definition: iqr_retval.h:29