Releases: open-quantum-safe/liboqs-rust
oqs and oqs-sys 0.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.
- 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
oqs-sys-v0.9.1 oqs-sys version 0.9.1
oqs and oqs-sys 0.9.0
What's Changed
- 0.7.2 Release by @thomwiggers in #156
- Bump oqs-sys/liboqs from
ea44f39
to9ee96d8
by @dependabot in #158 - Bump oqs-sys/liboqs from
9ee96d8
to8ac8b1c
by @dependabot in #159 - Bump oqs-sys/liboqs from
8ac8b1c
to222374e
by @dependabot in #160 - Bump KyleMayes/install-llvm-action from 1.5.4 to 1.5.5 by @dependabot in #161
- Update bindgen requirement from 0.60 to 0.61 by @dependabot in #162
- Bump oqs-sys/liboqs from
222374e
tof88e623
by @dependabot in #165 - Bump crazy-max/ghaction-github-pages from 3.0.0 to 3.1.0 by @dependabot in #163
- Bump KyleMayes/install-llvm-action from 1.5.5 to 1.6.0 by @dependabot in #164
- Update bindgen requirement from 0.61 to 0.62 by @dependabot in #167
- Bump Swatinem/rust-cache from 1 to 2 by @dependabot in #166
- Bump oqs-sys/liboqs from
f88e623
toe9cd9a5
by @dependabot in #168 - Update bindgen requirement from 0.62 to 0.63 by @dependabot in #169
- Update Kyber, Dilithium, Remove Rainbow, Picnic, NTRU-Prime by @dependabot in #170
- Bump oqs-sys/liboqs from
c50d38e
tof5d96ca
: remove SABER by @dependabot in #171 - Bump KyleMayes/install-llvm-action from 1.6.0 to 1.6.1 by @dependabot in #172
- Bump oqs-sys/liboqs from
f5d96ca
toa7e1b8a
(Remove NTRU) by @dependabot in #174 - Bump oqs-sys/liboqs from
a7e1b8a
to12ad5be
by @dependabot in #175 - Bump oqs-sys/liboqs from
12ad5be
tocf6d8a0
by @dependabot in #178 - Bump KyleMayes/install-llvm-action from 1.6.1 to 1.7.0 by @dependabot in #179
- Enable ntruprime sntrup761 by @loganaden in #180
- Bump oqs-sys/liboqs from
cf6d8a0
to423b720
by @dependabot in #182 - Fix a few clippy lints about
format!
by @thomwiggers in #183 - Update bindgen requirement from 0.63 to 0.64 by @dependabot in #184
- Update BIKE to Round 4 by @dependabot in #186
- Bump oqs-sys/liboqs from
4916446
to341cf22
by @dependabot in #187 - Include liboqs/.Cmake in published package by @dadada in #189
- Update Falcon by @dependabot in #193
- Bump oqs-sys/liboqs from
4c7ced2
tod61d81c
by @dependabot in #194 - Bump KyleMayes/install-llvm-action from 1.7.0 to 1.8.0 by @dependabot in #195
- Get rid of actions-rs actions and fix OpenSSL location on Windows by @thomwiggers in #198
- Update bindgen requirement from 0.64 to 0.65 by @dependabot in #197
- Bump oqs-sys/liboqs from
d61d81c
to8b24019
: Update BIKE implementation by @dependabot in #201 - Bump oqs-sys/liboqs from
8b24019
to8f38bb4
by @dependabot in #204 - Don't update Rustup in CI builds by @thomwiggers in #206
- Bump oqs-sys/liboqs from
8f38bb4
tod5be452
by @dependabot in #207 - Bump oqs-sys/liboqs from
d5be452
to179c95c
by @dependabot in #208 - Bump oqs-sys/liboqs from
179c95c
to24c7f4f
by @dependabot in #209 - Bump KyleMayes/install-llvm-action from 1.8.0 to 1.8.1 by @dependabot in #212
- Bump oqs-sys/liboqs from
24c7f4f
to6e1f49a
by @dependabot in #210 - Merge patches into 0.7.2 release line by @thomwiggers in #205
- Merge changes from release branch back into main by @thomwiggers in #225
- Fix include lists for real by @thomwiggers in #226
- Bump KyleMayes/install-llvm-action from 1.8.1 to 1.8.3 by @dependabot in #220
- Update bindgen requirement from 0.65 to 0.66 by @dependabot in #215
- Bump oqs-sys/liboqs from
6e1f49a
todcecd03
by @dependabot in #227 - Update bindgen requirement from 0.65 to 0.66 by @dependabot in #230
- Don't build NTRU prime if feature is not enabled by @thomwiggers in #228
- Bump oqs-sys/liboqs from
dcecd03
tob3b0fbb
by @dependabot in #234 - Bump actions/checkout from 3 to 4 by @dependabot in #232
- Update bindgen requirement from 0.66 to 0.68 by @dependabot in #233
- Bump crazy-max/ghaction-github-pages from 3.1.0 to 4.0.0 by @dependabot in #235
- Allow finding and linking system deps by @tranzystorek-io in #211
- build: Add LIBOQS_NO_VENDOR env variable by @tranzystorek-io in #238
- ci: Enforce conventional commit PRs by @thomwiggers in #237
- build(cargo): Specify dependency resolver in workspace to suppress warning by @thomwiggers in #236
- build(deps): bump oqs-sys/liboqs from
b3b0fbb
tof0326a4
by @dependabot in #241 - build(ci): bump the actions group with 1 update by @dependabot in #243
- chore(ci): set PR label for dependabot CI dependency bumps to chore by @thomwiggers in #244
New Contributors
- @loganaden made their first contribution in #180
- @dadada made their first contribution in #189
Full Changelog: v0.7.2...v0.9.0
Version 0.8.0
v0.8.0 Initial oqs 0.8.0 support
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
What's Changed per PR
- Prettified the markdowns, to be more presentable. by @umgefahren in #113
- Bump oqs-sys/liboqs from
a39d08e
to4d938b1
by @dependabot in #114 - Bump oqs-sys/liboqs from
4d938b1
tob632938
by @dependabot in #115 - Bump crazy-max/ghaction-github-pages from 2.5.0 to 2.6.0 by @dependabot in #116
- Bump oqs-sys/liboqs from
b632938
to18b3fe3
by @dependabot in #118 - Bump oqs-sys/liboqs from
18b3fe3
tofb8f0ff
by @dependabot in #119 - Bump oqs-sys/liboqs from
fb8f0ff
to5b8e2bd
by @dependabot in #120 - Bump oqs-sys/liboqs from
5b8e2bd
to5894d9a
by @dependabot in #123 - Bump KyleMayes/install-llvm-action from 1.5.0 to 1.5.1 by @dependabot in #122
- Bump oqs-sys/liboqs from
5894d9a
to6639d3b
by @dependabot in #125 - Bump actions/checkout from 2.4.0 to 3 by @dependabot in #124
- Bump oqs-sys/liboqs from
6639d3b
to55bc8cb
by @dependabot in #126 - Bump oqs-sys/liboqs from
55bc8cb
toe858c7a
by @dependabot in #128 - Bump KyleMayes/install-llvm-action from 1.5.1 to 1.5.2 by @dependabot in #129
- Bump oqs-sys/liboqs from
e858c7a
tobe8fc96
by @dependabot in #130 - Bump oqs-sys/liboqs from
be8fc96
to9dea043
by @dependabot in #132 - Bump oqs-sys/liboqs from
9dea043
tofc7d89c
by @dependabot in #133 - Bump KyleMayes/install-llvm-action from 1.5.2 to 1.5.3 by @dependabot in #135
- Bump crazy-max/ghaction-github-pages from 2.6.0 to 3.0.0 by @dependabot in #136
- Bump oqs-sys/liboqs from
fc7d89c
tofeea2f3
by @dependabot in #138 - Update bindgen requirement from 0.59 to 0.60 by @dependabot in #140
- Bump oqs-sys/liboqs from
feea2f3
tob5484ce
by @dependabot in #139 - Bump oqs-sys/liboqs from
b5484ce
to38d3014
by @dependabot in #141 - Bump oqs-sys/liboqs from
38d3014
to719a84e
by @dependabot in #144 - Bump KyleMayes/install-llvm-action from 1.5.3 to 1.5.4 by @dependabot in #148
- Bump oqs-sys/liboqs from
719a84e
toaf76ca3
by @dependabot in #150 - Bump oqs-sys/liboqs from
af76ca3
to0511af6
by @dependabot in #151 - Bump rust edition and derive Eq by @thomwiggers in #153
- liboqs 0.7.2-rc2 by @thomwiggers in #152
- Update sig.rs by @marcbrevoort-cyberhive in #154
- Update kem.rs by @marcbrevoort-cyberhive in #155
New Contributors
- @umgefahren made their first contribution in #113
- @marcbrevoort-cyberhive made their first contribution in #154
Full Changelog: v0.7.1...v0.7.2
v0.7.2-rc2
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 #113
- Bump rust edition and derive Eq by @thomwiggers in #153
- liboqs 0.7.2-rc2 by @thomwiggers in #152
Full Changelog: v0.7.1...v0.7.2-rc2
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
Commit History
- Don't specify resolver by @thomwiggers in #81
- Bump oqs-sys/liboqs from
6f64980
to3bc89ee
by @dependabot in #84 - Bump oqs-sys/liboqs from
3bc89ee
to9be13d2
by @dependabot in #87 - Bump oqs-sys/liboqs from
9be13d2
to36d8a49
by @dependabot in #88 - Bump actions/checkout from 2.3.4 to 2.3.5 by @dependabot in #90
- Bump oqs-sys/liboqs from
36d8a49
tofff05cc
by @dependabot in #91 - Make Algorithm implement the Eq, PartialEq and Hash by @faern in #92
- Implement Display for the Algorithm enum by @faern in #93
- Implement Display, Eq, Hash for Sig by @thomwiggers in #95
- Bump oqs-sys/liboqs from
fff05cc
to6175da8
by @dependabot in #94 - Replace no_std feature with a std feature by @faern in #97
- No lossy algorithm names (aka. Be able to extract Algorithm from Kem/Sig) by @faern in #98
- Bump oqs-sys/liboqs from
6175da8
to468533a
by @dependabot in #99 - Bump actions/checkout from 2.3.5 to 2.4.0 by @dependabot in #101
- Bump KyleMayes/install-llvm-action from 1.4.0 to 1.5.0 by @dependabot in #100
- Bump oqs-sys/liboqs from
468533a
to71b570c
by @dependabot in #105 - Bump oqs-sys/liboqs from
71b570c
to8e22871
by @dependabot in #107 - Bump oqs-sys/liboqs from
8e22871
toae6c7b4
by @dependabot in #108 - Add NTRU level 5 algorithms by @dstebila in #109
- Release liboqs 0.7.1 by @thomwiggers in #110
Full Changelog: v0.7.0...v0.7.1
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
andsigs
which in turn include all algorithms.
- Default features include
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
Updates to oqs-rs
- Expose random API
- Add
non_portable
flag - Build portable by default, unlike liboqs default
to_owned
now consumesself
to followto_*
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
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
andtest_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.