- Update to version 1.0.14
* Internal consistency checks failing and primitives used with
dangerous/out-of-bounds/invalid parameters used to call abort(3).
Now, a custom handler that doesn't return can be set with the
set_sodium_misuse() function. It still aborts by default or if
the handler ever returns. This is not a replacement for non-fatal,
expected runtime errors. This handler will be only called in
unexpected situations due to potential bugs in the library or in
language bindings.
* *_MESSAGEBYTES_MAX macros (and the corresponding _messagebytes_max()
symbols) have been added to represent the maximum message size that
can be safely handled by a primitive. Language bindings are
encouraged to check user inputs against these maximum lengths.
* The test suite has been extended to cover more edge cases.
* crypto_sign_ed25519_pk_to_curve25519() now rejects points that
are not on the curve, or not in the main subgroup.
* Further changes have been made to ensure that smart compilers
will not optimize out code that we don't want to be optimized.
* The sodium_runtime_has_* symbols for CPU features detection are
now defined as weak symbols, i.e. they can be replaced with an
application-defined implementation. This can be useful to
disable AVX* when temperature/power consumption is a concern.
* crypto_kx_*() now aborts if called with no non-NULL pointers
to store keys to.
* SSE2 implementations of crypto_verify_*() have been added.
* Passwords can be hashed using a specific algorithm with the new
crypto_pwhash_str_alg() function.
* Due to popular demand, base64 encoding (sodium_bin2base64())
and decoding (sodium_base642bin()) have been implemented.
* A new crypto_secretstream_*() API was added to safely encrypt
OBS-URL: https://build.opensuse.org/request/show/529173
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libsodium?expand=0&rev=20
* Internal consistency checks failing and primitives used with
dangerous/out-of-bounds/invalid parameters used to call abort(3).
Now, a custom handler that doesn't return can be set with the
set_sodium_misuse() function. It still aborts by default or if
the handler ever returns. This is not a replacement for non-fatal,
expected runtime errors. This handler will be only called in
unexpected situations due to potential bugs in the library or in
language bindings.
* *_MESSAGEBYTES_MAX macros (and the corresponding _messagebytes_max()
symbols) have been added to represent the maximum message size that
can be safely handled by a primitive. Language bindings are
encouraged to check user inputs against these maximum lengths.
* The test suite has been extended to cover more edge cases.
* crypto_sign_ed25519_pk_to_curve25519() now rejects points that
are not on the curve, or not in the main subgroup.
* Further changes have been made to ensure that smart compilers
will not optimize out code that we don't want to be optimized.
* The sodium_runtime_has_* symbols for CPU features detection are
now defined as weak symbols, i.e. they can be replaced with an
application-defined implementation. This can be useful to
disable AVX* when temperature/power consumption is a concern.
* crypto_kx_*() now aborts if called with no non-NULL pointers
to store keys to.
* SSE2 implementations of crypto_verify_*() have been added.
* Passwords can be hashed using a specific algorithm with the new
crypto_pwhash_str_alg() function.
* Due to popular demand, base64 encoding (sodium_bin2base64())
and decoding (sodium_base642bin()) have been implemented.
* A new crypto_secretstream_*() API was added to safely encrypt
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libsodium?expand=0&rev=57
* Ed25519ph was implemented, adding a multi-part signature API
(crypto_sign_init(), crypto_sign_update(), crypto_sign_final_*()).
* New constants and related accessors have been added for Scrypt
and Argon2.
* XChaCha20 has been implemented. Like XSalsa20, this construction
extends the ChaCha20 cipher to accept a 192-bit nonce. This
makes it safe to use ChaCha20 with random nonces.
* crypto_secretbox, crypto_box and crypto_aead now offer variants
leveraging XChaCha20.
* SHA-2 is about 20% faster, which also gives a speed boost to
signature and signature verification.
* AVX2 implementations of Salsa20 and ChaCha20 have been added.
They are twice as fast as the SSE2 implementations. The speed
gain is even more significant on Windows, that previously
didn't use vectorized implementations.
* New high-level API: crypto_kdf, to easily derive one or more
subkeys from a master key.
* Siphash with a 128-bit output has been implemented, and is
available as crypto_shorthash_siphashx_*.
* New *_keygen() helpers functions have been added to create
secret keys for all constructions. This improves code clarity
and can prevent keys from being partially initialized.
* A new randombytes_buf_deterministic() function was added to
deterministically fill a memory region with pseudorandom data.
This function can especially be useful to write reproducible tests.
* A preliminary crypto_kx_*() API was added to compute shared
session keys.
* AVX2 detection is more reliable.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libsodium?expand=0&rev=55
- Update to version 1.0.9
* A detached API was added to the ChaCha20-Poly1305 and AES256-GCM
implementations.
* The Argon2i password hashing function was added, and is accessible
directly and through a new, high-level crypto_pwhash API.
The scrypt function remains available as well.
* A speed-record AVX2 implementation of BLAKE2b was added.
* Countermeasures for Ed25519 signatures malleability have been
added to match the irtf-cfrg-eddsa draft.
* The HChaCha20 core function was implemented (crypto_core_hchacha20()).
* No-op stubs were added for all AES256-GCM public functions even
when compiled on non-Intel platforms.
* crypt_generichash_blake2b_statebytes() was added.
* New macros were added for the IETF variant of the ChaCha20-Poly1305
construction.
OBS-URL: https://build.opensuse.org/request/show/383238
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libsodium?expand=0&rev=16
* A detached API was added to the ChaCha20-Poly1305 and AES256-GCM
implementations.
* The Argon2i password hashing function was added, and is accessible
directly and through a new, high-level crypto_pwhash API.
The scrypt function remains available as well.
* A speed-record AVX2 implementation of BLAKE2b was added.
* Countermeasures for Ed25519 signatures malleability have been
added to match the irtf-cfrg-eddsa draft.
* The HChaCha20 core function was implemented (crypto_core_hchacha20()).
* No-op stubs were added for all AES256-GCM public functions even
when compiled on non-Intel platforms.
* crypt_generichash_blake2b_statebytes() was added.
* New macros were added for the IETF variant of the ChaCha20-Poly1305
construction.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libsodium?expand=0&rev=49
- Update to version 1.0.7
* Sandy2x, the fastest Curve25519 implementation ever,
has been merged in, and is automatically used on CPUs
supporting the AVX instructions set.
* An SSE2 optimized implementation of Poly1305 was added,
and is twice as fast as the portable one.
* An SSSE3 optimized implementation of ChaCha20 was added,
and is twice as fast as the portable one.
* Faster sodium_increment() for common nonce sizes.
* New helper functions have been added: sodium_is_zero()
and sodium_add().
- Follow upstream's lead and compile with -flto for > 13.2 on x86
and x86-64.
OBS-URL: https://build.opensuse.org/request/show/347947
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libsodium?expand=0&rev=14
* Sandy2x, the fastest Curve25519 implementation ever,
has been merged in, and is automatically used on CPUs
supporting the AVX instructions set.
* An SSE2 optimized implementation of Poly1305 was added,
and is twice as fast as the portable one.
* An SSSE3 optimized implementation of ChaCha20 was added,
and is twice as fast as the portable one.
* Faster sodium_increment() for common nonce sizes.
* New helper functions have been added: sodium_is_zero()
and sodium_add().
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libsodium?expand=0&rev=45
- Update to 1.0.6
* Optimized implementations of Blake2 have been added for modern
Intel platforms. crypto_generichash() is now faster than MD5 and
SHA1 implementations while being far more secure.
* The crypto_sign_edwards25519sha512batch_*() functions have been
tagged as deprecated.
* sodium_compare() now works as documented, and compares numbers
in little-endian format instead of behaving like memcmp().
* sodium_runtime_has_ssse3() and sodium_runtime_has_sse41() have
been added.
OBS-URL: https://build.opensuse.org/request/show/342056
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libsodium?expand=0&rev=13
* Optimized implementations of Blake2 have been added for modern
Intel platforms. crypto_generichash() is now faster than MD5 and
SHA1 implementations while being far more secure.
* The crypto_sign_edwards25519sha512batch_*() functions have been
tagged as deprecated.
* sodium_compare() now works as documented, and compares numbers
in little-endian format instead of behaving like memcmp().
* sodium_runtime_has_ssse3() and sodium_runtime_has_sse41() have
been added.
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libsodium?expand=0&rev=35
- Update to 1.0.4
* Support for AES256-GCM has been added. This requires a CPU with
the aesni and pclmul extensions, and is accessible via the
crypto_aead_aes256gcm_*() functions.
* ChaCha20 with an extended (96 bit) nonce and a 32-bit counter has
been implemented as crypto_stream_chacha20_ietf(),
crypto_stream_chacha20_ietf_xor() and crypto_stream_chacha20_ietf_xor_ic().
An IETF-compatible version of ChaCha20Poly1305 is available as
crypto_aead_chacha20poly1305_ietf_npubbytes(),
crypto_aead_chacha20poly1305_ietf_encrypt() and
crypto_aead_chacha20poly1305_ietf_decrypt().
* The sodium_increment() helper function has been added, to increment
an arbitrary large number (such as a nonce).
* The sodium_compare() helper function has been added, to compare
arbitrary large numbers (such as nonces, in order to prevent replay attacks).
OBS-URL: https://build.opensuse.org/request/show/339760
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libsodium?expand=0&rev=11
* Support for AES256-GCM has been added. This requires a CPU with
the aesni and pclmul extensions, and is accessible via the
crypto_aead_aes256gcm_*() functions.
* ChaCha20 with an extended (96 bit) nonce and a 32-bit counter has
been implemented as crypto_stream_chacha20_ietf(),
crypto_stream_chacha20_ietf_xor() and crypto_stream_chacha20_ietf_xor_ic().
An IETF-compatible version of ChaCha20Poly1305 is available as
crypto_aead_chacha20poly1305_ietf_npubbytes(),
crypto_aead_chacha20poly1305_ietf_encrypt() and
crypto_aead_chacha20poly1305_ietf_decrypt().
* The sodium_increment() helper function has been added, to increment
an arbitrary large number (such as a nonce).
* The sodium_compare() helper function has been added, to compare
arbitrary large numbers (such as nonces, in order to prevent replay attacks).
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libsodium?expand=0&rev=20