From 2e59f9740a29439df7c7a56cf0ae83dec3081d31 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Mon, 11 Aug 2014 13:49:21 -0400 Subject: initial import of debian version from mentors --- src/libsodium/crypto_stream/xsalsa20/checksum | 1 + src/libsodium/crypto_stream/xsalsa20/ref/api.h | 10 +++++++++ .../crypto_stream/xsalsa20/ref/stream_xsalsa20.c | 24 +++++++++++++++++++++ .../crypto_stream/xsalsa20/ref/xor_xsalsa20.c | 25 ++++++++++++++++++++++ .../crypto_stream/xsalsa20/stream_xsalsa20_api.c | 11 ++++++++++ 5 files changed, 71 insertions(+) create mode 100644 src/libsodium/crypto_stream/xsalsa20/checksum create mode 100644 src/libsodium/crypto_stream/xsalsa20/ref/api.h create mode 100644 src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c create mode 100644 src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c create mode 100644 src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c (limited to 'src/libsodium/crypto_stream/xsalsa20') diff --git a/src/libsodium/crypto_stream/xsalsa20/checksum b/src/libsodium/crypto_stream/xsalsa20/checksum new file mode 100644 index 0000000..cae64c0 --- /dev/null +++ b/src/libsodium/crypto_stream/xsalsa20/checksum @@ -0,0 +1 @@ +201bc58a96adcb6ed339ca33c188af8ca04a4ce68be1e0953309ee09a0cf8e7a diff --git a/src/libsodium/crypto_stream/xsalsa20/ref/api.h b/src/libsodium/crypto_stream/xsalsa20/ref/api.h new file mode 100644 index 0000000..58915f3 --- /dev/null +++ b/src/libsodium/crypto_stream/xsalsa20/ref/api.h @@ -0,0 +1,10 @@ + +#include "crypto_stream_xsalsa20.h" + +#define crypto_stream crypto_stream_xsalsa20 +#define crypto_stream_xor crypto_stream_xsalsa20_xor +#define crypto_stream_KEYBYTES crypto_stream_xsalsa20_KEYBYTES +#define crypto_stream_NONCEBYTES crypto_stream_xsalsa20_NONCEBYTES +#define crypto_stream_IMPLEMENTATION crypto_stream_xsalsa20_IMPLEMENTATION +#define crypto_stream_VERSION crypto_stream_xsalsa20_VERSION + diff --git a/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c b/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c new file mode 100644 index 0000000..50f8788 --- /dev/null +++ b/src/libsodium/crypto_stream/xsalsa20/ref/stream_xsalsa20.c @@ -0,0 +1,24 @@ +/* +version 20080914 +D. J. Bernstein +Public domain. +*/ + +#include "api.h" +#include "crypto_core_hsalsa20.h" +#include "crypto_stream_salsa20.h" + +static const unsigned char sigma[16] = { + 'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k' +}; + +int crypto_stream( + unsigned char *c,unsigned long long clen, + const unsigned char *n, + const unsigned char *k +) +{ + unsigned char subkey[32]; + crypto_core_hsalsa20(subkey,n,k,sigma); + return crypto_stream_salsa20(c,clen,n + 16,subkey); +} diff --git a/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c b/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c new file mode 100644 index 0000000..14cce18 --- /dev/null +++ b/src/libsodium/crypto_stream/xsalsa20/ref/xor_xsalsa20.c @@ -0,0 +1,25 @@ +/* +version 20080913 +D. J. Bernstein +Public domain. +*/ + +#include "api.h" +#include "crypto_core_hsalsa20.h" +#include "crypto_stream_salsa20.h" + +static const unsigned char sigma[16] = { + 'e', 'x', 'p', 'a', 'n', 'd', ' ', '3', '2', '-', 'b', 'y', 't', 'e', ' ', 'k' +}; + +int crypto_stream_xor( + unsigned char *c, + const unsigned char *m,unsigned long long mlen, + const unsigned char *n, + const unsigned char *k +) +{ + unsigned char subkey[32]; + crypto_core_hsalsa20(subkey,n,k,sigma); + return crypto_stream_salsa20_xor(c,m,mlen,n + 16,subkey); +} diff --git a/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c b/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c new file mode 100644 index 0000000..256084e --- /dev/null +++ b/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20_api.c @@ -0,0 +1,11 @@ +#include "crypto_stream_xsalsa20.h" + +size_t +crypto_stream_xsalsa20_keybytes(void) { + return crypto_stream_xsalsa20_KEYBYTES; +} + +size_t +crypto_stream_xsalsa20_noncebytes(void) { + return crypto_stream_xsalsa20_NONCEBYTES; +} -- cgit v1.2.3