1 /* $OpenBSD: chacha.h,v 1.3 2014/05/02 03:27:54 djm Exp $ */
4 chacha-merged.c version 20080118
12 #include <sys/types.h>
18 #define CHACHA_MINKEYLEN 16
19 #define CHACHA_NONCELEN 8
20 #define CHACHA_CTRLEN 8
21 #define CHACHA_STATELEN (CHACHA_NONCELEN+CHACHA_CTRLEN)
22 #define CHACHA_BLOCKLEN 64
24 void chacha_keysetup(struct chacha_ctx
*x
, const u_char
*k
, u_int kbits
)
25 __attribute__((__bounded__(__minbytes__
, 2, CHACHA_MINKEYLEN
)));
26 void chacha_ivsetup(struct chacha_ctx
*x
, const u_char
*iv
, const u_char
*ctr
)
27 __attribute__((__bounded__(__minbytes__
, 2, CHACHA_NONCELEN
)))
28 __attribute__((__bounded__(__minbytes__
, 3, CHACHA_CTRLEN
)));
29 void chacha_encrypt_bytes(struct chacha_ctx
*x
, const u_char
*m
,
30 u_char
*c
, u_int bytes
)
31 __attribute__((__bounded__(__buffer__
, 2, 4)))
32 __attribute__((__bounded__(__buffer__
, 3, 4)));