vendor/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h in rbnacl-libsodium-1.0.3 vs vendor/libsodium/src/libsodium/include/sodium/crypto_stream_chacha20.h in rbnacl-libsodium-1.0.4

- old
+ new

@@ -26,10 +26,12 @@ #define crypto_stream_chacha20_NONCEBYTES 8U SODIUM_EXPORT size_t crypto_stream_chacha20_noncebytes(void); +/* ChaCha20 with a 64-bit nonce and a 64-bit counter, as originally designed */ + SODIUM_EXPORT int crypto_stream_chacha20(unsigned char *c, unsigned long long clen, const unsigned char *n, const unsigned char *k); SODIUM_EXPORT @@ -40,9 +42,30 @@ SODIUM_EXPORT int crypto_stream_chacha20_xor_ic(unsigned char *c, const unsigned char *m, unsigned long long mlen, const unsigned char *n, uint64_t ic, const unsigned char *k); + +/* ChaCha20 with a 96-bit nonce and a 32-bit counter (IETF) */ + +#define crypto_stream_chacha20_IETF_NONCEBYTES 12U +SODIUM_EXPORT +size_t crypto_stream_chacha20_ietf_noncebytes(void); + +SODIUM_EXPORT +int crypto_stream_chacha20_ietf(unsigned char *c, unsigned long long clen, + const unsigned char *n, const unsigned char *k); + +SODIUM_EXPORT +int crypto_stream_chacha20_ietf_xor(unsigned char *c, const unsigned char *m, + unsigned long long mlen, const unsigned char *n, + const unsigned char *k); + +SODIUM_EXPORT +int crypto_stream_chacha20_ietf_xor_ic(unsigned char *c, const unsigned char *m, + unsigned long long mlen, + const unsigned char *n, uint32_t ic, + const unsigned char *k); #ifdef __cplusplus } #endif #endif