Skip to content

Releases: open-quantum-safe/liboqs-rust

oqs and oqs-sys 0.10.0

17 Dec 20:54
6ecb2cb
Compare
Choose a tag to compare

Updates from liboqs 0.12.0

This release brings the oqs and oqs-sys crates up to date with with liboqs 0.12.0.

  • New algorithms: ML-KEM (FIPS 203), ML-DSA (FIPS 204), CROSS (NIST Additional Signatures Round 1), and MAYO (NIST Additional Signatures Round 1).
  • Updated algorithms: HQC (NIST Round 4), Falcon (NIST Round 3, including "padded" variants).
  • Not included from liboqs: stateful signature algorithms LMS and XMSS.
  • New signature API for signing and verifying with a context string.

What's Changed

  • feat(liboqs): allow setting OQS_PERMIT_UNSUPPORTED_ARCHITECTURE CMake option via environment variable by @wucke13 in #203
  • fix: adjust liboqs pkgconfig version detection to new scheme by @tranzystorekk in #246
  • chore(oqs-sys): bump version to 0.9.1 by @thomwiggers in #248
  • chore(commitizen): remove .cz.toml by @thomwiggers in #247
  • chore(ci): Run CI checks on merge groups by @thomwiggers in #249
  • docs(README.md): fix badge link to docs.rs for oqs crate by @thomwiggers in #251
  • docs(README.md): fix documentation of features by @thomwiggers in #252
  • docs(newtypes): add a pointer to the algorithm API functions by @thomwiggers in #253
  • build(deps): update bindgen requirement from 0.68 to 0.69 by @dependabot in #254
  • ci: Fix OpenSSL path, add repository_dispatch trigger by @SWilson4 in #271
  • feat: Update to liboqs 0.12.0 by @SWilson4 in #272

New Contributors

Full Changelog: v0.9.0...v0.10.0

oqs-sys version 0.9.1

23 Oct 11:40
oqs-sys-v0.9.1
c71cb42
Compare
Choose a tag to compare
oqs-sys-v0.9.1

oqs-sys version 0.9.1

oqs and oqs-sys 0.9.0

19 Oct 08:25
v0.9.0
6455ee6
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.2...v0.9.0

Version 0.8.0

13 Sep 12:25
Compare
Choose a tag to compare
v0.8.0

Initial oqs 0.8.0 support

Version 0.7.2

30 Aug 07:55
v0.7.2
48b0bdd
Compare
Choose a tag to compare

Breaking Changes

The following algorithms are insecure:

  • Remove SIKE and SIDH (RUSTSEC-2022-0045)
  • Remove Rainbow I algorithms (RUSTSEC-2022-0047)

See also the changelog for liboqs: https://github.com/open-quantum-safe/liboqs/releases/tag/0.7.2

Summary of changes in liboqs-rust

Full Changelog: v0.7.1...v0.7.2

What's Changed per PR

New Contributors

Full Changelog: v0.7.1...v0.7.2

v0.7.2-rc2

15 Aug 10:34
v0.7.2-rc2
c750f09
Compare
Choose a tag to compare
v0.7.2-rc2 Pre-release
Pre-release

Breaking changes

The following algorithms are insecure:

  • Remove SIKE and SIDH (RUSTSEC-2022-0045)
  • Remove Rainbow I algorithms (RUSTSEC-2022-0047)

See also the changelog for liboqs: https://github.com/open-quantum-safe/liboqs/releases/tag/0.7.2-rc2

What's Changed

Full Changelog: v0.7.1...v0.7.2-rc2

Release 0.7.1

17 Dec 16:44
v0.7.1
a38d8c4
Compare
Choose a tag to compare

Changes since liboqs-rs 0.7.0

  • NTRU level 5 algorithms
  • NTRUPrime level 5 algorithms
  • Be able to extract Algorithm from Sig/Kem
  • Invert no_std feature (breaking, sorry!)
  • Implement Display, Hash, Eq for Kem, Sig
  • Implement Display for Algorithm

Changes from liboqs

KEMs

  • Add NTRU level 5 parameter sets (ntruhps40961229, ntruhrss1373)
  • Add NTRU Prime level 5 parameter sets (ntrulpr1277, sntrup1277)
  • Add ARMv8 aarch64 optimized implementations of Kyber and SABER
  • Minor updates to Kyber, NTRU, NTRU Prime, and SIKE implementations

Digital signature schemes

  • Minor updates to Dilithium implementation

Other changes

  • Optimized AES implementation on ARMv8 with crypto extensions.
  • Preliminary support for building on S390x platform
  • Improved build configurations on ARM platforms
  • Improvements to benchmarking harness, with improved precision on ARM platforms

See also https://github.com/open-quantum-safe/liboqs/releases/tag/0.7.1

Commit History

Full Changelog: v0.7.0...v0.7.1

Version 0.7.0

12 Aug 09:20
v0.7.0
9844b79
Compare
Choose a tag to compare

Changes in liboqs-rust

  • Updates to liboqs 0.7.0 (see below)
  • New feature flags for each algorithm
    • Default features include kems and sigs which in turn include all algorithms.

liboqs changelog:

This release continues from the 0.6.0 release of liboqs.

Key encapsulation mechanisms

  • Update BIKE to Round 3 (version 3.2) -- add BIKE1, BIKE3, remove BIKE1-L1-CPA, BIKE1-L1-FO, BIKE1-L3-CPA, BIKE1-L3-FO
  • Update NTRU Prime implementation
  • Update SIKE implementation
  • Remove OQS_KEM_DEFAULT alias

Digital signature schemes

  • Remove OQS_SIG_DEFAULT alias

Other changes

  • Allow liboqs to build on other architectures, with preliminary builds on ppc64le and x86.
  • Support for building liboqs on Apple Silicon
  • New algorithm datasheets with more details on implementations.
  • Optimized SHA-256 implementation on ARMv8 with crypto extensions.

Version 0.6.0

08 Jun 16:41
v0.6.0
2e9a27a
Compare
Choose a tag to compare

Updates to oqs-rs

  • Expose random API
  • Add non_portable flag
  • Build portable by default, unlike liboqs default
  • to_owned now consumes self to follow to_* convention.

OQS Changelog

  • Update Classic McEliece implementation
  • Bug fixes in SIKE
  • Bug fixes in HQC
  • Fix in KEM api
  • Fix wrong NIST level for Kyber768-90s
  • Update SPHINCS+ to round 3
  • Improve random number generator when not relying on OpenSSL
  • Constant-time AES code

Version 0.5.0

11 Mar 13:40
v0.5.0
91d44d2
Compare
Choose a tag to compare

This corresponds to version 0.5.0 of liboqs.

oqs-rs changelog

  • Algorithm updates corresponding with liboqs
  • Fixed some algorithm names

liboqs-sys changelog

  • Updated bindings to liboqs 0.5.0

liboqs changelog

Copied from https://github.com/open-quantum-safe/liboqs/releases/tag/0.5.0

Release notes

This is version 0.5.0 of liboqs. It was released on March 10, 2021.

What's New

This release continues from the 0.4.0 release of liboqs. Its main goal is to incorporate updates submitted to Round 3 of the NIST Post-Quantum Cryptography Standardization Project.

Deprecations

As a result of NIST's announcement of Round 3 of the Post-Quantum Cryptography Standardization Project, the 0.4.x series was the last release of liboqs to contain algorithms from Round 2 that are not Round 3 finalists or alternate candidates. Those algorithms have been removed in the 0.5.0 series. The algorithms in question are: NewHope, ThreeBears, MQDSS, and qTesla.

Key encapsulation mechanisms

  • BIKE: No changes.
  • Classic McEliece: Added AVX2 implementation.
  • FrodoKEM: Incorporate upstream bug fixes and add runtime CPU feature detection for AVX2/AES-NI implementation.
  • HQC: Update to Round 3 version.
  • Kyber: Update to Round 3 version.
  • NTRU: Incorporate upstream bug fixes.
  • NTRUPrime: Add NTRUPrime.
  • Saber: Update to Round 3 version.
  • SIKE: Update to version 3.4.

Digital signature schemes

  • Dilithium: Update to version 3.1.
  • Falcon: Update to Round 3 version.
  • Picnic: Update to Picnic v3.0.4.
  • Rainbow: Update to Round 3 version.
  • SPHINCS+: Incorporate upstream bug fixes.

Other changes

  • Support for building liboqs with CPU extensions has been enhanced, and most implementations now have runtime CPU feature detection.
  • A tool for benchmarking memory usage has been added (test_kem_mem and test_sig_mem).
  • Valgrind is used to check for secret-dependent branch throughout the library. Note that not all implementations currently avoid secret-dependent branching; see tests/constant_time for details.