summaryrefslogtreecommitdiff
path: root/libressl/include/openssl/chacha.h
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2017-12-04 21:47:52 -0700
committerEduardo Chappa <chappa@washington.edu>2017-12-04 21:47:52 -0700
commit04737118aa1d9ad3db63fb1064267187ae871856 (patch)
tree44e525222e947a2164bf39d642963835e7d8e5ae /libressl/include/openssl/chacha.h
parent2e8d2c252dda9878bc7ae5bab2d455d6c04314bf (diff)
downloadalpine-04737118aa1d9ad3db63fb1064267187ae871856.tar.xz
* New version 2.21.99
* The online repo does not mimic the root local directory from which it is created. This is an attempt to fix this. This caused the problem that kerberos was not working with the bytes on the repo, but it would work on the root which created it. Reported by Holger Trapp.
Diffstat (limited to 'libressl/include/openssl/chacha.h')
-rw-r--r--libressl/include/openssl/chacha.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/libressl/include/openssl/chacha.h b/libressl/include/openssl/chacha.h
new file mode 100644
index 00000000..8d94e626
--- /dev/null
+++ b/libressl/include/openssl/chacha.h
@@ -0,0 +1,54 @@
+/* $OpenBSD: chacha.h,v 1.7 2015/12/09 14:07:55 bcook Exp $ */
+/*
+ * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef HEADER_CHACHA_H
+#define HEADER_CHACHA_H
+
+#include <openssl/opensslconf.h>
+
+#if defined(OPENSSL_NO_CHACHA)
+#error ChaCha is disabled.
+#endif
+
+#include <stddef.h>
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct {
+ unsigned int input[16];
+ unsigned char ks[64];
+ unsigned char unused;
+} ChaCha_ctx;
+
+void ChaCha_set_key(ChaCha_ctx *ctx, const unsigned char *key,
+ unsigned int keybits);
+void ChaCha_set_iv(ChaCha_ctx *ctx, const unsigned char *iv,
+ const unsigned char *counter);
+void ChaCha(ChaCha_ctx *ctx, unsigned char *out, const unsigned char *in,
+ size_t len);
+
+void CRYPTO_chacha_20(unsigned char *out, const unsigned char *in, size_t len,
+ const unsigned char key[32], const unsigned char iv[8], uint64_t counter);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* HEADER_CHACHA_H */