This commit is contained in:
2025-03-19 11:43:54 +01:00
parent 35ef6504e3
commit f1a5641b20
3 changed files with 100 additions and 12 deletions

106
Cargo.lock generated
View File

@@ -71,14 +71,14 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.3.1" version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43a49c392881ce6d5c3b8cb70f98717b7c07aabbdff06687b9030dbfbe2725f8" checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
"r-efi",
"wasi", "wasi",
"windows-targets",
] ]
[[package]] [[package]]
@@ -139,12 +139,12 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]] [[package]]
name = "mlkem-native-rs" name = "mlkem-native-rs"
version = "0.1.0" version = "0.1.0"
source = "git+https://gitea.rixxc.de/rixxc/mlkem-native-rs.git#6f3e5163b6832890964ab6d66c7c80fe1f03f894" source = "git+https://gitea.rixxc.de/rixxc/mlkem-native-rs.git#182a147a8f29897f6b78d9f025592caed010bd81"
dependencies = [ dependencies = [
"bindgen", "bindgen",
"getrandom",
"libc",
"make-cmd", "make-cmd",
"rand_core",
"thiserror",
] ]
[[package]] [[package]]
@@ -152,6 +152,7 @@ name = "mlkem-native-rs-test"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"mlkem-native-rs", "mlkem-native-rs",
"rand",
] ]
[[package]] [[package]]
@@ -164,6 +165,15 @@ dependencies = [
"minimal-lexical", "minimal-lexical",
] ]
[[package]]
name = "ppv-lite86"
version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9"
dependencies = [
"zerocopy",
]
[[package]] [[package]]
name = "prettyplease" name = "prettyplease"
version = "0.2.31" version = "0.2.31"
@@ -192,6 +202,42 @@ dependencies = [
"proc-macro2", "proc-macro2",
] ]
[[package]]
name = "r-efi"
version = "5.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5"
[[package]]
name = "rand"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94"
dependencies = [
"rand_chacha",
"rand_core",
"zerocopy",
]
[[package]]
name = "rand_chacha"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
dependencies = [
"getrandom",
]
[[package]] [[package]]
name = "regex" name = "regex"
version = "1.11.1" version = "1.11.1"
@@ -244,6 +290,26 @@ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "thiserror"
version = "2.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "2.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.18" version = "1.0.18"
@@ -252,9 +318,9 @@ checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
[[package]] [[package]]
name = "wasi" name = "wasi"
version = "0.13.3+wasi-0.2.2" version = "0.14.2+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26816d2e1a4a36a2940b96c5296ce403917633dff8f3440e9b236ed6f6bacad2" checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
dependencies = [ dependencies = [
"wit-bindgen-rt", "wit-bindgen-rt",
] ]
@@ -325,9 +391,29 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]] [[package]]
name = "wit-bindgen-rt" name = "wit-bindgen-rt"
version = "0.33.0" version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3268f3d866458b787f390cf61f4bbb563b922d091359f9608842999eaee3943c" checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
dependencies = [ dependencies = [
"bitflags", "bitflags",
] ]
[[package]]
name = "zerocopy"
version = "0.8.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd97444d05a4328b90e75e503a34bad781f14e28a823ad3557f0750df1ebcbc6"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6352c01d0edd5db859a63e2605f4ea3183ddbd15e2c4a9e7d32184df75e4f154"
dependencies = [
"proc-macro2",
"quote",
"syn",
]

View File

@@ -5,3 +5,4 @@ edition = "2021"
[dependencies] [dependencies]
mlkem-native-rs = { git = "https://gitea.rixxc.de/rixxc/mlkem-native-rs.git" } mlkem-native-rs = { git = "https://gitea.rixxc.de/rixxc/mlkem-native-rs.git" }
rand = "0.9.0"

View File

@@ -1,12 +1,13 @@
use mlkem_native_rs::{mlkem768_dec, mlkem768_enc, mlkem768_keypair}; use mlkem_native_rs::{mlkem768_dec, mlkem768_enc, mlkem768_keypair};
use rand::rngs::OsRng;
fn main() { fn main() {
let (sk, pk) = mlkem768_keypair().unwrap(); let (sk, pk) = mlkem768_keypair(&mut OsRng).unwrap();
println!("sk: {:?}", sk); println!("sk: {:?}", sk);
println!("pk: {:?}", pk); println!("pk: {:?}", pk);
let (ct, ss) = mlkem768_enc(&pk).unwrap(); let (ct, ss) = mlkem768_enc(&mut OsRng, &pk).unwrap();
println!("ct: {:?}", ct); println!("ct: {:?}", ct);
println!("ss : {:?}", ss); println!("ss : {:?}", ss);