{ kludge64 i = chacha_tellu64(ctx); return (GET64(unsigned long, i)); }
kludge64 chacha_tellu64(chacha_ctx *ctx)
- { kludge64 i; SET64(i, ctx->a[9], ctx->a[8]); return (i); }
+ { kludge64 i; SET64(i, ctx->a[13], ctx->a[12]); return (i); }
-/* --- @chacha{,12,8}_encrypt@ --- *
+/* --- @chacha{20,12,8}_encrypt@ --- *
*
* Arguments: @chacha_ctx *ctx@ = pointer to context
* @const void *src@ = source buffer (or null)
* different.
*/
-/* --- @xchacha{,12,8}_encrypt@ --- *
+/* --- @xchacha{20,12,8}_encrypt@ --- *
*
* Arguments: @xchachaR_ctx *ctx@ = pointer to context
* @const void *src@ = source buffer (or null)
\
grand *chacha##rr##_rand(const void *k, size_t ksz, const void *n) \
{ \
- grctx *g = S_CREATE(g); \
+ grctx *g = S_CREATE(grctx); \
g->r.r.ops = &grops_rand_##rr; \
g->r.ops = &grops_##rr; \
chacha_init(&g->ctx, k, ksz, n); \
\
grand *xchacha##rr##_rand(const void *k, size_t ksz, const void *n) \
{ \
- grxctx_##rr *g = S_CREATE(g); \
+ grxctx_##rr *g = S_CREATE(grxctx_##rr); \
g->r.r.ops = &grxops_rand_##rr; \
g->r.ops = &grxops_##rr; \
XCHACHA_INIT(rr, &g->ctx, k, ksz, n); \
/*----- Generic random number generator interface -------------------------*/
-/* --- @chacha{,12,8}_rand@, @xchacha{,12,8}_rand@ --- *
+/* --- @chacha{20,12,8}_rand@, @xchacha{20,12,8}_rand@ --- *
*
* Arguments: @const void *k@ = pointer to key material
* @size_t ksz@ = size of key material
* (c) 2015 Straylight/Edgeware
*/
+/*----- Licensing notice --------------------------------------------------*
+ *
+ * This file is part of Catacomb.
+ *
+ * Catacomb is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * Catacomb is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with Catacomb; if not, write to the Free
+ * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
/*----- Header files ------------------------------------------------------*/
#include "config.h"
grand *SALSA20_DECOR(salsa20, rr, _rand) \
(const void *k, size_t ksz, const void *n) \
{ \
- grctx *g = S_CREATE(g); \
+ grctx *g = S_CREATE(grctx); \
g->r.r.ops = &grops_rand_##rr; \
g->r.ops = &grops_##rr; \
salsa20_init(&g->ctx, k, ksz, n); \
grand *SALSA20_DECOR(xsalsa20, rr, _rand) \
(const void *k, size_t ksz, const void *n) \
{ \
- grxctx_##rr *g = S_CREATE(g); \
+ grxctx_##rr *g = S_CREATE(grxctx_##rr); \
g->r.r.ops = &grxops_rand_##rr; \
g->r.ops = &grxops_##rr; \
XSALSA20_INIT(rr, &g->ctx, k, ksz, n); \
* (c) 2015 Straylight/Edgeware
*/
+/*----- Licensing notice --------------------------------------------------*
+ *
+ * This file is part of Catacomb.
+ *
+ * Catacomb is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Library General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * Catacomb is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with Catacomb; if not, write to the Free
+ * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ * MA 02111-1307, USA.
+ */
+
#ifndef CATACOMB_SALSA20_H
#define CATACOMB_SALSA20_H