Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
5514de0
Rename items
jschneider-bensch Aug 19, 2025
e99684b
Move items; feature-gate legacy protocol
jschneider-bensch Aug 19, 2025
3888c2e
Separate Classic McEliece from legacy PSQ
jschneider-bensch Aug 19, 2025
0185b78
Change PQKEM structs to enums
jschneider-bensch Aug 19, 2025
829f86a
WIP Classic McEliece
jschneider-bensch Aug 19, 2025
9ca0125
Allow Classic McEliece for PQ KEM
jschneider-bensch Aug 20, 2025
598b5e8
Revert changes to bindings
jschneider-bensch Aug 20, 2025
874ee1d
psq: legacy -> v1
franziskuskiefer Sep 2, 2025
b0ea62f
psq: fix lints
franziskuskiefer Sep 2, 2025
f125dc5
WIP
jschneider-bensch Sep 16, 2025
640260f
still wip
jschneider-bensch Sep 17, 2025
a19b02d
Trait-based ciphersuites
jschneider-bensch Sep 17, 2025
f16931a
Format
jschneider-bensch Sep 17, 2025
8658ea5
Revert `sys` bindings
jschneider-bensch Sep 17, 2025
9f645e9
Basic ciphersuite selection
jschneider-bensch Sep 30, 2025
52f0c2a
Ciphersuite documentation
jschneider-bensch Oct 8, 2025
c3010f7
Set ciphersuite name first in builder
jschneider-bensch Oct 8, 2025
5605025
Split up `ciphersuite` into submodules
jschneider-bensch Oct 8, 2025
e029dd2
WIP cleanup
jschneider-bensch Oct 8, 2025
41e0dce
Test unsupported and mismatching ciphersuites
jschneider-bensch Oct 9, 2025
b997164
Rename ciphersuites
jschneider-bensch Oct 9, 2025
f6c96de
Update and expand usage example
jschneider-bensch Oct 9, 2025
cc1f313
Update benchmarks
jschneider-bensch Oct 9, 2025
bde574e
Rename PQ KEM types
jschneider-bensch Oct 9, 2025
26feb0b
Fix clippy warnings
jschneider-bensch Oct 9, 2025
aacd4a3
Merge branch 'main' into jonas/psq-config
jschneider-bensch Oct 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions libcrux-psq/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "libcrux-psq"
description = "Libcrux Pre-Shared post-Quantum key establishement protocol"
version = "0.0.3"
version = "0.0.4"
readme = "README.md"

authors.workspace = true
Expand Down Expand Up @@ -48,17 +48,22 @@ log = "0.4.26"
pretty_env_logger = "0.5.0"

[features]
v1 = []
classic-mceliece = ["dep:classic-mceliece-rust", "rand_old"]
# DO NOT USE: This feature enables implementations backed
# by non-post-quantum KEMs and should only be used for
# testing purposes and benchmark baselines.
test-utils = []
test-utils = ["v1"]

[[bench]]
name = "psq"
harness = false
required-features = ["classic-mceliece", "test-utils"]
required-features = ["v1", "classic-mceliece", "test-utils"]

[[bench]]
name = "psq_v2"
harness = false

[[example]]
name = "psq"
required-features = ["v1"]
14 changes: 7 additions & 7 deletions libcrux-psq/benches/psq.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use classic_mceliece_rust::{decapsulate_boxed, encapsulate_boxed};
use libcrux_psq::traits::PSQ;
use libcrux_psq::v1::traits::PSQ;
use libcrux_traits::kem::KEM;
use std::time::Duration;

Expand Down Expand Up @@ -166,11 +166,11 @@ pub fn psq_encaps(c: &mut Criterion) {
});
};
}
encaps_bench!("libcrux ML-KEM-768", libcrux_psq::impls::MlKem768);
encaps_bench!("libcrux X25519", libcrux_psq::impls::X25519);
encaps_bench!("libcrux ML-KEM-768", libcrux_psq::v1::impls::MlKem768);
encaps_bench!("libcrux X25519", libcrux_psq::v1::impls::X25519);
encaps_bench!(
"libcrux XWingKemDraft06",
libcrux_psq::impls::XWingKemDraft06
libcrux_psq::v1::impls::XWingKemDraft06
);
encaps_bench!(
"classic_mceliece_rust (mceliece460896f)",
Expand Down Expand Up @@ -212,11 +212,11 @@ pub fn psq_decaps(c: &mut Criterion) {
});
};
}
decaps_bench!("libcrux ML-KEM-768", libcrux_psq::impls::MlKem768);
decaps_bench!("libcrux X25519", libcrux_psq::impls::X25519);
decaps_bench!("libcrux ML-KEM-768", libcrux_psq::v1::impls::MlKem768);
decaps_bench!("libcrux X25519", libcrux_psq::v1::impls::X25519);
decaps_bench!(
"libcrux XWingKemDraft06",
libcrux_psq::impls::XWingKemDraft06
libcrux_psq::v1::impls::XWingKemDraft06
);
decaps_bench!(
"classic_mceliece_rust (mceliece460896f)",
Expand Down
Loading
Loading