[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.3

1.2       djm         1: /* $OpenBSD: chacha.h,v 1.1 2013/11/21 00:45:44 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>
                     13:
                     14: struct chacha_ctx {
                     15:        u_int input[16];
                     16: };
                     17:
                     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
                     23:
                     24: void chacha_keysetup(struct chacha_ctx *x, const u_char *k, u_int kbits)
1.3     ! djm        25:     __attribute__((__bounded__(__minbytes__, 2, CHACHA_MINKEYLEN)));
1.1       djm        26: void chacha_ivsetup(struct chacha_ctx *x, const u_char *iv, const u_char *ctr)
1.3     ! djm        27:     __attribute__((__bounded__(__minbytes__, 2, CHACHA_NONCELEN)))
        !            28:     __attribute__((__bounded__(__minbytes__, 3, CHACHA_CTRLEN)));
1.1       djm        29: void chacha_encrypt_bytes(struct chacha_ctx *x, const u_char *m,
                     30:     u_char *c, u_int bytes)
1.3     ! djm        31:     __attribute__((__bounded__(__buffer__, 2, 4)))
        !            32:     __attribute__((__bounded__(__buffer__, 3, 4)));
1.1       djm        33:
                     34: #endif /* CHACHA_H */
                     35: