]> git.meshlink.io Git - meshlink/blobdiff - src/chacha-poly1305/chacha.h
Use the ChaCha-Poly1305 cipher for the SPTPS protocol.
[meshlink] / src / chacha-poly1305 / chacha.h
diff --git a/src/chacha-poly1305/chacha.h b/src/chacha-poly1305/chacha.h
new file mode 100644 (file)
index 0000000..af1b9a4
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+chacha-merged.c version 20080118
+D. J. Bernstein
+Public domain.
+*/
+
+#ifndef CHACHA_H
+#define CHACHA_H
+
+struct chacha_ctx {
+       uint32_t input[16];
+};
+
+#define CHACHA_MINKEYLEN       16
+#define CHACHA_NONCELEN                8
+#define CHACHA_CTRLEN          8
+#define CHACHA_STATELEN                (CHACHA_NONCELEN+CHACHA_CTRLEN)
+#define CHACHA_BLOCKLEN                64
+
+void chacha_keysetup(struct chacha_ctx *x, const uint8_t *k, uint32_t kbits);
+void chacha_ivsetup(struct chacha_ctx *x, const uint8_t *iv, const uint8_t *ctr);
+void chacha_encrypt_bytes(struct chacha_ctx *x, const uint8_t *m, uint8_t * c, uint32_t bytes);
+
+#endif /* CHACHA_H */