[BACK]Return to chacha.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Annotation of src/usr.bin/ssh/chacha.h, Revision 1.4

1.4     ! guenther    1: /* $OpenBSD: chacha.h,v 1.3 2014/05/02 03:27:54 djm Exp $ */
1.1       djm         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: #include <sys/types.h>
1.4     ! guenther   13: #include <stdlib.h>
1.1       djm        14:
                     15: struct chacha_ctx {
                     16:        u_int input[16];
                     17: };
                     18:
                     19: #define CHACHA_MINKEYLEN       16
                     20: #define CHACHA_NONCELEN                8
                     21: #define CHACHA_CTRLEN          8
                     22: #define CHACHA_STATELEN                (CHACHA_NONCELEN+CHACHA_CTRLEN)
                     23: #define CHACHA_BLOCKLEN                64
                     24:
                     25: void chacha_keysetup(struct chacha_ctx *x, const u_char *k, u_int kbits)
1.3       djm        26:     __attribute__((__bounded__(__minbytes__, 2, CHACHA_MINKEYLEN)));
1.1       djm        27: void chacha_ivsetup(struct chacha_ctx *x, const u_char *iv, const u_char *ctr)
1.3       djm        28:     __attribute__((__bounded__(__minbytes__, 2, CHACHA_NONCELEN)))
                     29:     __attribute__((__bounded__(__minbytes__, 3, CHACHA_CTRLEN)));
1.1       djm        30: void chacha_encrypt_bytes(struct chacha_ctx *x, const u_char *m,
                     31:     u_char *c, u_int bytes)
1.3       djm        32:     __attribute__((__bounded__(__buffer__, 2, 4)))
                     33:     __attribute__((__bounded__(__buffer__, 3, 4)));
1.1       djm        34:
                     35: #endif /* CHACHA_H */
                     36: