Skip to content

Releases: paragonie/sodium_compat

Version 0.6.0

21 Feb 20:34
v0.6.0
Compare
Choose a tag to compare
Version 0.6.0 Pre-release
Pre-release
  • Fixed a bug with crypto_generichash_update() introduced by erroneous string encoding/decoding routines.
    This wasn't likely security-affecting, but it would lead to incorrect results which is still pretty bad.
  • Added ParagonIE_Sodium_File::generichash(), so a hash can be calculated of an entire file without loading the entire thing into memory.

Version 0.5.0

18 Feb 02:32
v0.5.0
Compare
Choose a tag to compare
Version 0.5.0 Pre-release
Pre-release
  • Security fix: Our hash_equals() polyfill would return a false positive if the first byte matched. This was originally identified by a strange unit test failure, analyzed by @defuse, then a proposed future-proofing was suggested by @solardiz. This would not have affected PHP 5.6 or newer.
  • ParagonIE_Sodium_File is now feature-complete for the operations we wish to expose (i.e. encrypting, signing, and verifying files).
    • Unlike Halite, it does not attempt to mitigate TOCTOU vulnerabilities. If TOCTOU is relevant to your threat model, you are encouraged to load the entire files into memory and use ParagonIE_Sodium_Compat instead of ParagonIE_Sodium_File.
  • More multiplication operations have been replaced with our constant time loop. See cryptographically secure PHP development for more information.

Version 0.4.0

03 Feb 19:53
v0.4.0
Compare
Choose a tag to compare
Version 0.4.0 Pre-release
Pre-release

We now use a constant-time implementation of integer multiplication. This decision was motivated by research from Kudelski Security and BearSSL design decisions.

If you want better performance (and to throw caution to the wind), you can disable this at runtime via:

ParagonIE_Sodium_Compat::$fastMult = true;

However, if performance really matters to you, you'll want to run this command once instead (Ubuntu-specific; your mileage may vary with other distros):

apt-get install libsodium-dev php7.1-libsodium

Version 0.3.1

26 Jan 15:17
v0.3.1
Compare
Choose a tag to compare
Version 0.3.1 Pre-release
Pre-release
  • Fixes a security bug (our scalarmult implementation didn't reject public keys that consisted of all zero bytes, which led to invalid ECDH results). Reported by @veorq to other projects.
  • Improve test coverage.

Version 0.3.0 (Final Beta; Pre-Audit Code Freeze)

20 Jan 03:32
v0.3.0
Compare
Choose a tag to compare
  • Added ParagonIE_Sodium_File which allows you to sign/verify files without loading them all into memory at once.
  • Added ChaCha20-Poly1305 (and the IETF variant) AEAD modes
  • Documentation clean-up.

See #8 for the status on getting v1.0.0 released.

Version 0.2.2

17 Jan 08:28
v0.2.2
Compare
Choose a tag to compare
Version 0.2.2 Pre-release
Pre-release
  • memzero() now throws an Error instead of silently calling unset.
  • Minor documentation enhancements.

Version 0.2.1

17 Jan 05:54
v0.2.1
Compare
Choose a tag to compare
Version 0.2.1 Pre-release
Pre-release

Forgot to add some constants in lib/constants.php.

Version 0.2.0

17 Jan 05:51
v0.2.0
Compare
Choose a tag to compare
Version 0.2.0 Pre-release
Pre-release
  • Added ChaCha20-Poly1305 so that we can one day integrate with the Noise protocol framework.
  • Integrated with Psalm by Vimeo in our continuous integration, which gives us automated static analysis.

Version 0.1.1

13 Jan 20:43
v0.1.1
Compare
Choose a tag to compare
Version 0.1.1 Pre-release
Pre-release

Fixed #14 (adds constants to lib/sodium_compat.php).

Version 0.1.0 (First Alpha Release)

12 Jan 00:15
v0.1.0
Compare
Choose a tag to compare
Pre-release

We should be feature-complete (sans the things that aren't worthwhile to attempt to polyfill).