libssh
0.12.2
The SSH library
Toggle main menu visibility
Loading...
Searching...
No Matches
chacha.h
1
/* $OpenBSD: chacha.h,v 1.3 2014/05/02 03:27:54 djm Exp $ */
2
3
/*
4
chacha-merged.c version 20080118
5
D. J. Bernstein
6
Public domain.
7
*/
8
9
#ifndef CHACHA_H
10
#define CHACHA_H
11
12
struct
chacha_ctx
{
13
uint32_t input[16];
14
};
15
16
#define CHACHA_MINKEYLEN 16
17
#define CHACHA_NONCELEN 8
18
#define CHACHA_CTRLEN 8
19
#define CHACHA_STATELEN (CHACHA_NONCELEN+CHACHA_CTRLEN)
20
21
#ifdef __cplusplus
22
extern
"C"
{
23
#endif
24
25
void
chacha_keysetup(
struct
chacha_ctx
*x,
const
uint8_t *k, uint32_t kbits)
26
#ifdef HAVE_GCC_BOUNDED_ATTRIBUTE
27
__attribute__((__bounded__(__minbytes__, 2, CHACHA_MINKEYLEN)))
28
#endif
29
;
30
void
chacha_ivsetup(
struct
chacha_ctx
*x,
const
uint8_t *iv,
const
uint8_t *ctr)
31
#ifdef HAVE_GCC_BOUNDED_ATTRIBUTE
32
__attribute__((__bounded__(__minbytes__, 2, CHACHA_NONCELEN)))
33
__attribute__((__bounded__(__minbytes__, 3, CHACHA_CTRLEN)))
34
#endif
35
;
36
void
chacha_encrypt_bytes(
struct
chacha_ctx
*x,
const
uint8_t *m,
37
uint8_t *c, uint32_t bytes)
38
#ifdef HAVE_GCC_BOUNDED_ATTRIBUTE
39
__attribute__((__bounded__(__buffer__, 2, 4)))
40
__attribute__((__bounded__(__buffer__, 3, 4)))
41
#endif
42
;
43
44
#ifdef __cplusplus
45
}
46
#endif
47
48
#endif
/* CHACHA_H */
chacha_ctx
Definition
chacha.h:12
include
libssh
chacha.h
Generated by
1.18.0