Browse Source

Make the crypto_stream_salsa20 implementation switchable at compile-time

next
Frank Denis 11 years ago
parent
commit
ffb1e24ef1
  1. 1
      configure.ac
  2. 12
      src/libsodium/crypto_stream/salsa20/ref/api.h
  3. 1
      src/libsodium/include/Makefile.am
  4. 5
      src/libsodium/include/sodium/crypto_stream_salsa20.h
  5. 39
      src/libsodium/include/sodium/crypto_stream_salsa20.h.in

1
configure.ac

@ -303,6 +303,7 @@ AC_CONFIG_FILES([Makefile
src/libsodium/include/Makefile
src/libsodium/include/sodium/version.h
src/libsodium/include/sodium/crypto_scalarmult_curve25519.h
src/libsodium/include/sodium/crypto_stream_salsa20.h
test/default/Makefile
test/Makefile
])

12
src/libsodium/crypto_stream/salsa20/ref/api.h

@ -1,10 +1,8 @@
#include "crypto_stream_salsa20.h"
#define crypto_stream crypto_stream_salsa20
#define crypto_stream_xor crypto_stream_salsa20_xor
#define crypto_stream_KEYBYTES crypto_stream_salsa20_KEYBYTES
#define crypto_stream_NONCEBYTES crypto_stream_salsa20_NONCEBYTES
#define crypto_stream_PRIMITIVE "salsa20"
#define crypto_stream_IMPLEMENTATION crypto_stream_salsa20_IMPLEMENTATION
#define crypto_stream_VERSION crypto_stream_salsa20_VERSION
#define crypto_stream_salsa20_implementation_name \
crypto_stream_salsa20_ref_implementation_name
#define crypto_stream crypto_stream_salsa20_ref
#define crypto_stream_xor crypto_stream_salsa20_ref_xor

1
src/libsodium/include/Makefile.am

@ -55,6 +55,7 @@ SODIUM_EXPORT = \
EXTRA_SRC = $(SODIUM_EXPORT) \
sodium/crypto_scalarmult_curve25519.h.in \
sodium/crypto_stream_salsa20.h.in \
sodium/version.h.in
nobase_include_HEADERS = $(SODIUM_EXPORT)

5
src/libsodium/include/sodium/crypto_stream_salsa20.h

@ -24,6 +24,11 @@ int crypto_stream_salsa20(unsigned char *,unsigned long long,const unsigned char
SODIUM_EXPORT
int crypto_stream_salsa20_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
#if 1
# define crypto_stream_salsa20_ref crypto_stream_salsa20
# define crypto_stream_salsa20_ref_xor crypto_stream_salsa20_xor
#endif
#ifdef __cplusplus
}
#endif

39
src/libsodium/include/sodium/crypto_stream_salsa20.h.in

@ -0,0 +1,39 @@
#ifndef crypto_stream_salsa20_H
#define crypto_stream_salsa20_H
/*
* WARNING: This is just a stream cipher. It is NOT authenticated encryption.
* While it provides some protection against eavesdropping, it does NOT
* provide any security against active attacks.
* Unless you know what you're doing, what you are looking for is probably
* the crypto_box functions.
*/
#include "export.h"
#define crypto_stream_salsa20_KEYBYTES 32U
#define crypto_stream_salsa20_NONCEBYTES 8U
#ifdef __cplusplus
extern "C" {
#endif
SODIUM_EXPORT
int crypto_stream_salsa20(unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
SODIUM_EXPORT
int crypto_stream_salsa20_xor(unsigned char *,const unsigned char *,unsigned long long,const unsigned char *,const unsigned char *);
#if 1
# define crypto_stream_salsa20_ref crypto_stream_salsa20
# define crypto_stream_salsa20_ref_xor crypto_stream_salsa20_xor
#endif
#ifdef __cplusplus
}
#endif
#define crypto_stream_salsa20_ref crypto_stream_salsa20
#define crypto_stream_salsa20_ref_xor crypto_stream_salsa20_xor
#endif
Loading…
Cancel
Save