Skip to content

Tags: open-quantum-safe/liboqs-rust

Tags

oqs-sys-v0.9.1

Toggle oqs-sys-v0.9.1's commit message

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers
oqs-sys version 0.9.1

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers

v0.8.0

Toggle v0.8.0's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
Initial oqs 0.8.0 support

v0.7.2

Toggle v0.7.2's commit message

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers
Version 0.7.2

## 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

* Prettified the markdowns, to be more presentable. by @umgefahren in #113
* Bump rust edition and derive Eq by @thomwiggers in #153
* liboqs 0.7.2-rc2 by @thomwiggers in #152
* liboqs 0.7.2 by @thomwiggers in #156
* Fix types in `{Sig,Kem}::Algorithm::algorithm_to_id` by @marcbrevoort-cyberhive in #154 and #155

**Full Changelog**: v0.7.1...v0.7.2
#
# Write a message for tag:
#   v0.7.2
# Lines starting with '#' will be kept; you may remove them yourself if you want to.

v0.7.2-rc2

Toggle v0.7.2-rc2's commit message

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers
Release candidate 0.7.2

v0.7.1

Toggle v0.7.1's commit message

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers
Release 0.7.1

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

v0.7.0

Toggle v0.7.0's commit message

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers
Version 0.7.0

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.

v0.6.0

Toggle v0.6.0's commit message

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers
Version 0.6.0

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

v0.5.0

Toggle v0.5.0's commit message

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers
Release version 0.5.0

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.

v0.3.0

Toggle v0.3.0's commit message

Verified

This tag was signed with the committer’s verified signature.
thomwiggers Thom Wiggers
Version 0.3.0

* no_std support
* serde support
* Update liboqs (includes e.g. HQC round 3 update)
* Make API panic less (sorry, breaking changes)