From 1686da3d3cf1d3c40a6985f8c515d20feb451bf8 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Fri, 13 Jan 2017 19:24:48 +0100 Subject: [PATCH] Remove the non-IETF versions of crypto_aead_xchacha20poly1305 --- .../sodium/aead_xchacha20poly1305.c | 129 ------------------ .../sodium/crypto_aead_xchacha20poly1305.h | 63 --------- 2 files changed, 192 deletions(-) diff --git a/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c b/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c index f3ba6f93..471101a4 100644 --- a/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c +++ b/src/libsodium/crypto_aead/xchacha20poly1305/sodium/aead_xchacha20poly1305.c @@ -11,115 +11,6 @@ #include "private/common.h" -int -crypto_aead_xchacha20poly1305_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - int ret; - - crypto_core_hchacha20(k2, npub, k, NULL); - ret = crypto_aead_chacha20poly1305_encrypt_detached - (c, mac, maclen_p, m, mlen, ad, adlen, nsec, - npub + crypto_core_hchacha20_INPUTBYTES, k2); - sodium_memzero(k2, crypto_core_hchacha20_OUTPUTBYTES); - - return ret; -} - -int -crypto_aead_xchacha20poly1305_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long clen = 0ULL; - int ret; - - if (mlen > UINT64_MAX - crypto_aead_xchacha20poly1305_ABYTES) { - abort(); /* LCOV_EXCL_LINE */ - } - ret = crypto_aead_xchacha20poly1305_encrypt_detached(c, - c + mlen, NULL, - m, mlen, - ad, adlen, - nsec, npub, k); - if (clen_p != NULL) { - if (ret == 0) { - clen = mlen + crypto_aead_xchacha20poly1305_ABYTES; - } - *clen_p = clen; - } - return ret; -} - -int -crypto_aead_xchacha20poly1305_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned char k2[crypto_core_hchacha20_OUTPUTBYTES]; - int ret; - - crypto_core_hchacha20(k2, npub, k, NULL); - ret = crypto_aead_chacha20poly1305_decrypt_detached - (m, nsec, c, clen, mac, ad, adlen, - npub + crypto_core_hchacha20_INPUTBYTES, k2); - sodium_memzero(k2, crypto_core_hchacha20_OUTPUTBYTES); - - return ret; - -} - -int -crypto_aead_xchacha20poly1305_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) -{ - unsigned long long mlen = 0ULL; - int ret = -1; - - if (clen >= crypto_aead_xchacha20poly1305_ABYTES) { - ret = crypto_aead_xchacha20poly1305_decrypt_detached - (m, nsec, - c, clen - crypto_aead_xchacha20poly1305_ABYTES, - c + clen - crypto_aead_xchacha20poly1305_ABYTES, - ad, adlen, npub, k); - } - if (mlen_p != NULL) { - if (ret == 0) { - mlen = clen - crypto_aead_xchacha20poly1305_ABYTES; - } - *mlen_p = mlen; - } - return ret; -} - int crypto_aead_xchacha20poly1305_ietf_encrypt_detached(unsigned char *c, unsigned char *mac, @@ -229,26 +120,6 @@ crypto_aead_xchacha20poly1305_ietf_decrypt(unsigned char *m, return ret; } -size_t -crypto_aead_xchacha20poly1305_keybytes(void) { - return crypto_aead_xchacha20poly1305_KEYBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_npubbytes(void) { - return crypto_aead_xchacha20poly1305_NPUBBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_nsecbytes(void) { - return crypto_aead_xchacha20poly1305_NSECBYTES; -} - -size_t -crypto_aead_xchacha20poly1305_abytes(void) { - return crypto_aead_xchacha20poly1305_ABYTES; -} - size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void) { return crypto_aead_xchacha20poly1305_ietf_KEYBYTES; diff --git a/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h b/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h index 9dca766c..81ed0bd6 100644 --- a/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h +++ b/src/libsodium/include/sodium/crypto_aead_xchacha20poly1305.h @@ -11,22 +11,6 @@ extern "C" { #endif -#define crypto_aead_xchacha20poly1305_KEYBYTES 32U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_keybytes(void); - -#define crypto_aead_xchacha20poly1305_NSECBYTES 0U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_nsecbytes(void); - -#define crypto_aead_xchacha20poly1305_NPUBBYTES 24U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_npubbytes(void); - -#define crypto_aead_xchacha20poly1305_ABYTES 16U -SODIUM_EXPORT -size_t crypto_aead_xchacha20poly1305_abytes(void); - #define crypto_aead_xchacha20poly1305_ietf_KEYBYTES 32U SODIUM_EXPORT size_t crypto_aead_xchacha20poly1305_ietf_keybytes(void); @@ -43,53 +27,6 @@ size_t crypto_aead_xchacha20poly1305_ietf_npubbytes(void); SODIUM_EXPORT size_t crypto_aead_xchacha20poly1305_ietf_abytes(void); -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_encrypt(unsigned char *c, - unsigned long long *clen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_decrypt(unsigned char *m, - unsigned long long *mlen_p, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_encrypt_detached(unsigned char *c, - unsigned char *mac, - unsigned long long *maclen_p, - const unsigned char *m, - unsigned long long mlen, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *nsec, - const unsigned char *npub, - const unsigned char *k); - -SODIUM_EXPORT -int crypto_aead_xchacha20poly1305_decrypt_detached(unsigned char *m, - unsigned char *nsec, - const unsigned char *c, - unsigned long long clen, - const unsigned char *mac, - const unsigned char *ad, - unsigned long long adlen, - const unsigned char *npub, - const unsigned char *k) - __attribute__ ((warn_unused_result)); - SODIUM_EXPORT int crypto_aead_xchacha20poly1305_ietf_encrypt(unsigned char *c, unsigned long long *clen_p,