Skip to content
Merged
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
## Unreleased

### Changed

- Renamed HQC wrapper variants to match latest liboqs naming:
- `Hqc128` is replaced by `Hqc1`.
- `Hqc192` is replaced by `Hqc3`.
- `Hqc256` is replaced by `Hqc5`.

## v0.11.0 (2025-05-01)

- Sync with liboqs 0.13.0.
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ tests.
- `falcon`
- `mayo`
- `ml_dsa`
- `sphincs`: SPHINCS<sup>+</sup>
- `slh_dsa`: SPHINCS<sup>+</sup>
- `uov`

## Running
Expand Down
7 changes: 3 additions & 4 deletions oqs-sys/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[package]
name = "oqs-sys"
version = "0.11.0+liboqs-0.13.0"
authors = ["Thom Wiggers <thom@thomwiggers.nl>"]
version = "0.11.0+liboqs-0.16.0-rc1"
Comment thread
0rlych1kk4 marked this conversation as resolved.
Comment thread
0rlych1kk4 marked this conversation as resolved.
edition = "2021"
links = "oqs"
description = "Bindings to liboqs"
Expand Down Expand Up @@ -41,12 +40,12 @@ kyber = []
ml_kem = []
ntruprime = []
# algorithms: Signature schemes
sigs = ["cross", "falcon", "mayo", "ml_dsa", "sphincs", "uov"]
sigs = ["cross", "falcon", "mayo", "ml_dsa", "slh_dsa", "uov"]
cross = []
falcon = []
mayo = []
ml_dsa = []
sphincs = []
slh_dsa = []
uov = []

[package.metadata.docs.rs]
Expand Down
2 changes: 1 addition & 1 deletion oqs-sys/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ This crate provides the unsafe `ffi` bindings to [liboqs][].
* `falcon`
* `mayo`
* `ml_dsa`
* `sphincs`: SPHINCS+
* `slh_dsa`: SPHINCS+
* `uov`

[oqs]: https://openquantumsafe.org
Expand Down
2 changes: 1 addition & 1 deletion oqs-sys/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ fn build_from_source() -> PathBuf {
algorithm_feature!("SIG", "falcon");
algorithm_feature!("SIG", "mayo");
algorithm_feature!("SIG", "ml_dsa");
algorithm_feature!("SIG", "sphincs");
algorithm_feature!("SIG", "slh_dsa");
algorithm_feature!("SIG", "uov");

if cfg!(windows) {
Expand Down
2 changes: 1 addition & 1 deletion oqs-sys/liboqs
Submodule liboqs updated 4931 files
7 changes: 3 additions & 4 deletions oqs/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[package]
name = "oqs"
version = "0.11.0"
authors = ["Thom Wiggers <thom@thomwiggers.nl>"]
edition = "2021"
description = "A Rusty interface to Open-Quantum-Safe's liboqs"
readme = "../README.md"
Expand Down Expand Up @@ -36,10 +35,10 @@ kyber = ["oqs-sys/kyber"]
ml_kem = ["oqs-sys/ml_kem"]
ntruprime = ["oqs-sys/ntruprime"]
# algorithms: Signature schemes
sigs = ["oqs-sys/sigs", "cross", "falcon", "mayo", "ml_dsa", "sphincs", "uov"]
sigs = ["oqs-sys/sigs", "cross", "falcon", "mayo", "ml_dsa", "slh_dsa", "uov"]
cross = ["oqs-sys/cross"]
falcon = ["oqs-sys/falcon"]
mayo = ["oqs-sys/mayo"]
ml_dsa = ["oqs-sys/ml_dsa"]
sphincs = ["oqs-sys/sphincs"]
uov = ["oqs-sys/uov"]
slh_dsa = ["oqs-sys/slh_dsa"]
uov = ["oqs-sys/uov"]
2 changes: 1 addition & 1 deletion oqs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ For the ``ffi`` interface bindings, see ``oqs-sys``.
* `falcon`
* `mayo`
* `ml_dsa`
* `sphincs`: SPHINCS+
* `slh_dsa`: SPHINCS+
* `uov`
7 changes: 3 additions & 4 deletions oqs/src/kem.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
//! See [`Kem`] for the main functionality.
//! [`Algorithm`] lists the available algorithms.
use alloc::vec::Vec;

use core::ptr::NonNull;
use core::str::FromStr;

Expand Down Expand Up @@ -180,9 +179,9 @@ implement_kems! {
("classic_mceliece") ClassicMcEliece6960119f: OQS_KEM_alg_classic_mceliece_6960119f,
("classic_mceliece") ClassicMcEliece8192128: OQS_KEM_alg_classic_mceliece_8192128,
("classic_mceliece") ClassicMcEliece8192128f: OQS_KEM_alg_classic_mceliece_8192128f,
("hqc") Hqc128: OQS_KEM_alg_hqc_128,
("hqc") Hqc192: OQS_KEM_alg_hqc_192,
("hqc") Hqc256: OQS_KEM_alg_hqc_256,
("hqc") Hqc1: OQS_KEM_alg_hqc_1,
("hqc") Hqc3: OQS_KEM_alg_hqc_3,
("hqc") Hqc5: OQS_KEM_alg_hqc_5,
("kyber") Kyber512: OQS_KEM_alg_kyber_512,
("kyber") Kyber768: OQS_KEM_alg_kyber_768,
("kyber") Kyber1024: OQS_KEM_alg_kyber_1024,
Expand Down
35 changes: 22 additions & 13 deletions oqs/src/sig.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ pub type Message = [u8];
pub type CtxStr = [u8];

macro_rules! implement_sigs {
{ $(($feat: literal) $sig: ident: $oqs_id: ident),* $(,)? } => (
{ $($(#[$test_attr:meta])* ($feat: literal) $sig: ident: $oqs_id: ident),* $(,)? } => (
/// Supported algorithms by liboqs
///
/// They may not all be enabled
Expand Down Expand Up @@ -74,6 +74,7 @@ macro_rules! implement_sigs {

#[test]
#[cfg(feature = $feat)]
$(#[$test_attr])*
fn test_signing() -> Result<()> {
crate::init();
let message = [0u8; 100];
Expand All @@ -85,6 +86,7 @@ macro_rules! implement_sigs {

#[test]
#[cfg(feature = $feat)]
$(#[$test_attr])*
fn test_signing_with_empty_context_string() -> Result<()> {
crate::init();
let message = [0u8; 100];
Expand All @@ -97,6 +99,7 @@ macro_rules! implement_sigs {

#[test]
#[cfg(feature = $feat)]
$(#[$test_attr])*
fn test_signing_with_nonempty_context_string() -> Result<()> {
crate::init();
let message = [0u8; 100];
Expand Down Expand Up @@ -211,18 +214,24 @@ implement_sigs! {
("ml_dsa") MlDsa44: OQS_SIG_alg_ml_dsa_44,
("ml_dsa") MlDsa65: OQS_SIG_alg_ml_dsa_65,
("ml_dsa") MlDsa87: OQS_SIG_alg_ml_dsa_87,
("sphincs") SphincsSha2128fSimple: OQS_SIG_alg_sphincs_sha2_128f_simple,
("sphincs") SphincsSha2128sSimple: OQS_SIG_alg_sphincs_sha2_128s_simple,
("sphincs") SphincsSha2192fSimple: OQS_SIG_alg_sphincs_sha2_192f_simple,
("sphincs") SphincsSha2192sSimple: OQS_SIG_alg_sphincs_sha2_192s_simple,
("sphincs") SphincsSha2256fSimple: OQS_SIG_alg_sphincs_sha2_256f_simple,
("sphincs") SphincsSha2256sSimple: OQS_SIG_alg_sphincs_sha2_256s_simple,
("sphincs") SphincsShake128fSimple: OQS_SIG_alg_sphincs_shake_128f_simple,
("sphincs") SphincsShake128sSimple: OQS_SIG_alg_sphincs_shake_128s_simple,
("sphincs") SphincsShake192fSimple: OQS_SIG_alg_sphincs_shake_192f_simple,
("sphincs") SphincsShake192sSimple: OQS_SIG_alg_sphincs_shake_192s_simple,
("sphincs") SphincsShake256fSimple: OQS_SIG_alg_sphincs_shake_256f_simple,
("sphincs") SphincsShake256sSimple: OQS_SIG_alg_sphincs_shake_256s_simple,
#[cfg_attr(windows, ignore = "SLH-DSA SHA-2 signing currently fails on the windows-latest MSVC runner")]
("slh_dsa") SlhDsaPureSha2128f: OQS_SIG_alg_slh_dsa_pure_sha2_128f,
#[cfg_attr(windows, ignore = "SLH-DSA SHA-2 signing currently fails on the windows-latest MSVC runner")]
("slh_dsa") SlhDsaPureSha2128s: OQS_SIG_alg_slh_dsa_pure_sha2_128s,
#[cfg_attr(windows, ignore = "SLH-DSA SHA-2 signing currently fails on the windows-latest MSVC runner")]
("slh_dsa") SlhDsaPureSha2192f: OQS_SIG_alg_slh_dsa_pure_sha2_192f,
#[cfg_attr(windows, ignore = "SLH-DSA SHA-2 signing currently fails on the windows-latest MSVC runner")]
("slh_dsa") SlhDsaPureSha2192s: OQS_SIG_alg_slh_dsa_pure_sha2_192s,
#[cfg_attr(windows, ignore = "SLH-DSA SHA-2 signing currently fails on the windows-latest MSVC runner")]
("slh_dsa") SlhDsaPureSha2256f: OQS_SIG_alg_slh_dsa_pure_sha2_256f,
#[cfg_attr(windows, ignore = "SLH-DSA SHA-2 signing currently fails on the windows-latest MSVC runner")]
("slh_dsa") SlhDsaPureSha2256s: OQS_SIG_alg_slh_dsa_pure_sha2_256s,
("slh_dsa") SlhDsaPureShake128f: OQS_SIG_alg_slh_dsa_pure_shake_128f,
("slh_dsa") SlhDsaPureShake128s: OQS_SIG_alg_slh_dsa_pure_shake_128s,
("slh_dsa") SlhDsaPureShake192f: OQS_SIG_alg_slh_dsa_pure_shake_192f,
("slh_dsa") SlhDsaPureShake192s: OQS_SIG_alg_slh_dsa_pure_shake_192s,
("slh_dsa") SlhDsaPureShake256f: OQS_SIG_alg_slh_dsa_pure_shake_256f,
("slh_dsa") SlhDsaPureShake256s: OQS_SIG_alg_slh_dsa_pure_shake_256s,
("uov") UovOvIs: OQS_SIG_alg_uov_ov_Is,
("uov") UovOvIp: OQS_SIG_alg_uov_ov_Ip,
("uov") UovOvIII: OQS_SIG_alg_uov_ov_III,
Expand Down
Loading