open-quantum-safe/liboqs-rust
Rust bindings for liboqs
14 Releases
Latest: 1y ago
oqs and oqs-sys 0.11.0v0.11.0Latest
๐ฆ Updates from liboqs 0.13.0
- This release brings the `oqs` and `oqs-sys` crates up to date with with [liboqs 0.13.0](https://github.com/open-quantum-safe/liboqs/releases/tag/0.13.0).
- New algorithms: UOV (NIST Additional Signatures Round 2).
- Updated algorithms: CROSS (Additional Signatures Round 2), MAYO (Additional Signatures Round 2).
- New KEM API for derandomized key generation with a seed.
๐ What's Changed
- chore(ci): bump KyleMayes/install-llvm-action from 1.9.0 to 2.0.3 in the actions group by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/261
- build(deps): update bindgen requirement from 0.69 to 0.71 by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/277
- chore(ci): bump the actions group with 2 updates by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/278
- fix: block filter added to block list, not allow list by @marcbrevoort-cyberhive in https://github.com/open-quantum-safe/liboqs-rust/pull/279
- chore(ci): bump KyleMayes/install-llvm-action from 2.0.5 to 2.0.6 in the actions group by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/280
- ci: Disable nightly builds on Windows by @SWilson4 in https://github.com/open-quantum-safe/liboqs-rust/pull/282
- chore(ci): bump crazy-max/ghaction-github-pages from 4.1.0 to 4.2.0 in the actions group by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/284
- ci: exclude Windows / Beta Rust from CI by @SWilson4 in https://github.com/open-quantum-safe/liboqs-rust/pull/285
- + 3 more
oqs and oqs-sys 0.10.1v0.10.1
๐ What's Changed
- fix: run install target during build by @jmayclin in https://github.com/open-quantum-safe/liboqs-rust/pull/273
- feat: consume openssl from openssl-sys by @jmayclin in https://github.com/open-quantum-safe/liboqs-rust/pull/275
โจ New Contributors
- @jmayclin made their first contribution in https://github.com/open-quantum-safe/liboqs-rust/pull/273
- Full Changelog: https://github.com/open-quantum-safe/liboqs-rust/compare/v0.10.0...v0.10.1
oqs and oqs-sys 0.10.0v0.10.0
๐ฆ Updates from liboqs 0.12.0
- This release brings the `oqs` and `oqs-sys` crates up to date with with [liboqs 0.12.0](https://github.com/open-quantum-safe/liboqs/releases/tag/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 https://github.com/open-quantum-safe/liboqs-rust/pull/203
- fix: adjust liboqs pkgconfig version detection to new scheme by @tranzystorekk in https://github.com/open-quantum-safe/liboqs-rust/pull/246
- chore(oqs-sys): bump version to 0.9.1 by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/248
- chore(commitizen): remove .cz.toml by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/247
- chore(ci): Run CI checks on merge groups by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/249
- docs(README.md): fix badge link to docs.rs for oqs crate by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/251
- docs(README.md): fix documentation of features by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/252
- docs(newtypes): add a pointer to the algorithm API functions by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/253
- + 3 more
โจ New Contributors
- @wucke13 made their first contribution in https://github.com/open-quantum-safe/liboqs-rust/pull/203
- @SWilson4 made their first contribution in https://github.com/open-quantum-safe/liboqs-rust/pull/271
- Full Changelog: https://github.com/open-quantum-safe/liboqs-rust/compare/v0.9.0...v0.10.0
oqs-sys version 0.9.1oqs-sys-v0.9.1
oqs and oqs-sys 0.9.0v0.9.0
๐ What's Changed
- 0.7.2 Release by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/156
- Bump oqs-sys/liboqs from `ea44f39` to `9ee96d8` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/158
- Bump oqs-sys/liboqs from `9ee96d8` to `8ac8b1c` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/159
- Bump oqs-sys/liboqs from `8ac8b1c` to `222374e` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/160
- Bump KyleMayes/install-llvm-action from 1.5.4 to 1.5.5 by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/161
- Update bindgen requirement from 0.60 to 0.61 by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/162
- Bump oqs-sys/liboqs from `222374e` to `f88e623` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/165
- Bump crazy-max/ghaction-github-pages from 3.0.0 to 3.1.0 by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/163
- + 51 more
โจ New Contributors
- @loganaden made their first contribution in https://github.com/open-quantum-safe/liboqs-rust/pull/180
- @dadada made their first contribution in https://github.com/open-quantum-safe/liboqs-rust/pull/189
- Full Changelog: https://github.com/open-quantum-safe/liboqs-rust/compare/v0.7.2...v0.9.0
Version 0.8.0v0.8.0
Version 0.7.2v0.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 https://github.com/open-quantum-safe/liboqs-rust/pull/113
- Bump rust edition and derive Eq by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/153
- liboqs 0.7.2-rc2 by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/152
- liboqs 0.7.2 by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/156
- Fix types in `{Sig,Kem}::Algorithm::algorithm_to_id` by @marcbrevoort-cyberhive in #154 and #155
- Full Changelog: https://github.com/open-quantum-safe/liboqs-rust/compare/v0.7.1...v0.7.2
๐ What's Changed per PR
- Prettified the markdowns, to be more presentable. by @umgefahren in https://github.com/open-quantum-safe/liboqs-rust/pull/113
- Bump oqs-sys/liboqs from `a39d08e` to `4d938b1` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/114
- Bump oqs-sys/liboqs from `4d938b1` to `b632938` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/115
- Bump crazy-max/ghaction-github-pages from 2.5.0 to 2.6.0 by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/116
- Bump oqs-sys/liboqs from `b632938` to `18b3fe3` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/118
- Bump oqs-sys/liboqs from `18b3fe3` to `fb8f0ff` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/119
- Bump oqs-sys/liboqs from `fb8f0ff` to `5b8e2bd` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/120
- Bump oqs-sys/liboqs from `5b8e2bd` to `5894d9a` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/123
- + 23 more
โจ New Contributors
- @umgefahren made their first contribution in https://github.com/open-quantum-safe/liboqs-rust/pull/113
- @marcbrevoort-cyberhive made their first contribution in https://github.com/open-quantum-safe/liboqs-rust/pull/154
- Full Changelog: https://github.com/open-quantum-safe/liboqs-rust/compare/v0.7.1...v0.7.2
v0.7.2-rc2Pre-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
- Prettified the markdowns, to be more presentable. by @umgefahren in https://github.com/open-quantum-safe/liboqs-rust/pull/113
- Bump rust edition and derive Eq by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/153
- liboqs 0.7.2-rc2 by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/152
- Full Changelog: https://github.com/open-quantum-safe/liboqs-rust/compare/v0.7.1...v0.7.2-rc2
Release 0.7.1v0.7.1
๐ Changes
- 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
๐ฆ 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
- Don't specify resolver by @thomwiggers in https://github.com/open-quantum-safe/liboqs-rust/pull/81
- Bump oqs-sys/liboqs from `6f64980` to `3bc89ee` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/84
- Bump oqs-sys/liboqs from `3bc89ee` to `9be13d2` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/87
- Bump oqs-sys/liboqs from `9be13d2` to `36d8a49` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/88
- Bump actions/checkout from 2.3.4 to 2.3.5 by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/90
- Bump oqs-sys/liboqs from `36d8a49` to `fff05cc` by @dependabot in https://github.com/open-quantum-safe/liboqs-rust/pull/91
- Make Algorithm implement the Eq, PartialEq and Hash by @faern in https://github.com/open-quantum-safe/liboqs-rust/pull/92
- Implement Display for the Algorithm enum by @faern in https://github.com/open-quantum-safe/liboqs-rust/pull/93
- + 13 more
Version 0.7.0v0.7.0
๐ Changes
- 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.
- 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
- Remove OQS\_SIG\_DEFAULT alias
- + 4 more
Version 0.6.0v0.6.0
๐ Changes
- Expose random API
- Add `non_portable` flag
- Build portable by default, unlike liboqs default
- `to_owned` now consumes `self` to follow `to_*` convention.
- Update Classic McEliece implementation
- Bug fixes in SIKE
- Bug fixes in HQC
- Fix in KEM api
- + 4 more
Version 0.5.0v0.5.0
๐ Changes
- Algorithm updates corresponding with liboqs
- Fixed some algorithm names
- Updated bindings to liboqs 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.
๐ฆ 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.
- + 1 more
๐ฆ 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.
Version 0.3.0v0.3.0
๐ Changes
- no_std support
- serde support
- Update liboqs (includes e.g. HQC round 3 update)
- Make API panic less (sorry, breaking changes)
0.2.0v0.2.0
๐ Changes
- Updates to current version of liboqs (development branch)
- New implementation
