halite

High-level cryptography interface powered by libsodium

MPL-2.0 License

Downloads
5.5M
Stars
1.1K
Committers
24

Bot releases are visible (Hide)

halite - v5.1.2 Latest Release

Published by paragonie-security 6 months ago

  • Use #[SensitiveParameter] annotation on some inputs
    • This is defense in depth; we already wrapped most in HiddenString
  • Updated dependencies
halite - Version 5.1.1

Published by paragonie-security 6 months ago

halite - Version 5.1.0

Published by paragonie-security over 2 years ago

  • Dropped PHP 8.0 support, increased minimum PHP version to 8.1.
    • This is due to the significant performance difference between ext/sodium
      and sodium_compat, and the functions we use in 5.x aren't available until
      PHP 8.1. See #178.
  • The 5.0.x branch will continue to function on PHP 8.0 but performance is
    not guaranteed.
halite - Version 5.0.0

Published by paragonie-security almost 3 years ago

  • Increased minimum PHP version to 8.0.
  • Security: Asymmetric encryption now uses HKDF-BLAKE2b to extract a 256-bit uniformly random bit string for the encryption key, rather than using the raw X25519 output directly as an encryption key. This is important because Elliptic Curve Diffie-Hellman results in a random group element, but that isn't necessarily a uniformly random bit string.
    • Because Halite v4 and earlier did not perform this step, it's superficially susceptible to Cheon's attack. This reduces the effective security from 125 bits (Pollard's rho) to 123 bits, but neither is a practical concern today.
  • Security: Halite v5 uses the PAE strategy from PASETO to prevent canonicalization attacks.
  • Security: Halite v5 appends the random salt to HKDF's info parameter instead of the salt parameter. This allows us to meet the KDF Security Definition (which is stronger than a mere Pseudo-Random Function).
  • Encryption now uses XChaCha20 instead of XSalsa20.
  • The File class no longer supports the resource type. To migrate code, wrap your resource arguments in a ReadOnlyFile or MutableFile object.
  • Added File::asymmetricEncrypt() and File::asymmetricDecrypt().

These security improvements were identified through an internal code review after years of studying new cryptographic attacks. Halite v4 ciphertexts are still decryptable with v5, so upgrading should be largely drop-in.

halite - Version 4.8.0

Published by paragonie-security over 3 years ago

  • Merged #158, which removes the final access modifier from private methods and guarantees PHP 8 support.
  • Migrated tests off of Travis CI, onto Github Actions instead.
halite - Version 4.7.1

Published by paragonie-security almost 4 years ago

  • Allows hidden-string v1 or v2 to be installed.
halite - Version 4.7.0

Published by paragonie-security almost 4 years ago

  • Merged #154, which supports the SameSite cookie arguments on PHP 7.3+.
  • Create a wrapper for sodium_memzero() to support sodium_compat.
  • Added support for PHP 8.
  • #146, #155, #156 -- Various documentation improvements.
halite - Version 4.6.0

Published by paragonie-scott about 5 years ago

  • Merged #138, which adds remote stream support to ReadOnlyFile.
  • Merged #140, which saves some overhead on hash recalculation.
  • Merged #136 and #137, which updated the sodium stub files. These aren't strictly necessary anymore; with the adoption of libsodium in PHP 7.2 and sodium_compat, most IDEs autocomplete correctly. But fixing nits is always appreciated.
  • Update minimum sodium_compat to v1.11.0.
halite - Version 4.5.4

Published by paragonie-scott over 5 years ago

  • Merged #132, which ensures all Halite exceptions implement Throwable.
  • Merged #133, which updates the documentation for the File API. Thanks @elliot-sawyer.
  • Merged #134, which allows MutableFile to be used on resources opened in wb mode. Thanks @christiaanbaartse.
  • Other minor documentation improvements.
halite - Version 4.5.3

Published by paragonie-scott over 5 years ago

  • Fixed some minor nuisances with Psalm and PHPUnit.
  • Added reference to Halite-Legacy to the README.
  • Updated docblocks.
halite - Version 4.5.2

Published by paragonie-scott over 5 years ago

  • Fixed #116. If the output file
    doesn't exist, it will be created. If it cannot be created, an exception will
    still be thrown.
halite - Version 4.5.1

Published by paragonie-scott almost 6 years ago

  • Use class_alias() for ParagonIE\Halite\HiddenString to the outsourced library.
    This is deprecated and will be removed in version 5.
halite - Version 4.5.0

Published by paragonie-scott almost 6 years ago

halite - Version 4.4.2

Published by paragonie-scott over 6 years ago

  • Updated Psalm version from ^0|^1 to ^1.
  • Type-safety and documentation fixes.
  • Miscellaneous boyscouting. No bugs were found since 4.4.1.
halite - Version 3.4.1 (Final Final v3 Release)

Published by paragonie-scott over 6 years ago

Fixes #105.

Please upgrade to Halite 4 as soon as possible. We are not providing support for older versions of Halite any more. See https://github.com/paragonie/halite/releases/tag/v3.4.0

halite - Version 4.4.1

Published by paragonie-scott over 6 years ago

  • Fixed #97, set the minimum chunk size to 1.
halite - Version 4.4.0

Published by paragonie-scott over 6 years ago

  • Fixed #90:
    • Introduced WeakReadOnlyFile, an alternative to ReadOnlyFile that allows file modes other than rb. The TOCTOU security guarantees are therefore slightly weaker with this class (hence the "Weak" part of the name).
    • Updated File to allow stream objects (ReadOnlyFile and MutableFile) to be passed direclty instead of strings (for filenames) and resources (for open file handles).
halite - Version 4.0.3

Published by paragonie-scott over 6 years ago

#72: Fixed forward-compatibility with libsodium 1.0.15.

halite - Version 4.3.1

Published by paragonie-scott over 6 years ago

  • Updated the Halite::VERSION constant which was previously still 4.2.0.
  • Documentation and unit testing improvements.
halite - Version 3.4.0 (Final v3 Release)

Published by paragonie-scott over 6 years ago

  • Fixes #89. Please upgrade to v4.3.0 or higher as soon as possible.
    We will no longer be supporting Halite version 3.x or older for free.
    If you need ongoing support for a legacy version of Halite, please
    get in contact with Paragon Initiative Enterprises about purchasing
    a long-term support contract.