Bump rand_core to v0.10.0-rc-6 (#1170)

Renames `(Try)RngCore` => `(Try)Rng`
This commit is contained in:
Tony Arcieri
2026-01-24 15:30:36 -07:00
committed by GitHub
parent ec88a73c79
commit 66295315cf
33 changed files with 374 additions and 142 deletions
Generated
+273 -52
View File
@@ -34,6 +34,12 @@ version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5192cca8006f1fd4f7237516f40fa183bb07f8fbdfedaa0036de5ea9b0b45e78"
[[package]]
name = "anyhow"
version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
[[package]]
name = "autocfg"
version = "1.5.0"
@@ -108,14 +114,14 @@ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]]
name = "chacha20"
version = "0.10.0-rc.8"
version = "0.10.0-rc.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31cd65b2ca03198c223cd9a8fa1152c4ec251cd79049f6dc584152ad3fb5ba9d"
checksum = "c81d916c6ae06736ec667b51f95ee5ff660a75f4ea6ce1bd932c942365c0ea43"
dependencies = [
"cfg-if",
"cipher",
"cpufeatures",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
]
[[package]]
@@ -268,15 +274,15 @@ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]]
name = "crypto-bigint"
version = "0.7.0-rc.21"
version = "0.7.0-rc.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9f9a78b88bb8255ec59a81423aa92ada22f96883f9ae59dcb68613907636ae5"
checksum = "053c3561863ce55e3226ecc48b08679f4b66cb1b92b9afb42c2c402dfe8b9b51"
dependencies = [
"ctutils",
"getrandom 0.4.0-rc.0",
"getrandom 0.4.0-rc.1",
"hybrid-array",
"num-traits",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"serdect",
"subtle",
"zeroize",
@@ -284,24 +290,23 @@ dependencies = [
[[package]]
name = "crypto-common"
version = "0.2.0-rc.11"
version = "0.2.0-rc.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d2bcc93d5cde6659e8649fc412894417ebc14dee54cfc6ee439c683a4a58342"
checksum = "c7722afd27468475c9b6063dc03a57ef2ca833816981619f8ebe64d38d207eef"
dependencies = [
"getrandom 0.4.0-rc.0",
"getrandom 0.4.0-rc.1",
"hybrid-array",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
]
[[package]]
name = "crypto-primes"
version = "0.7.0-pre.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c6372ba15f988d7cd77e9cfbc42b269601c006f2f16a21a72b886136caf04bfb"
source = "git+https://github.com/tarcieri/crypto-primes?branch=crypto-bigint%2Fv0.7.0-rc.22#cdb408ca1420df78b7d0d297d0d8e1a3f21f031b"
dependencies = [
"crypto-bigint",
"libm",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
]
[[package]]
@@ -348,9 +353,9 @@ dependencies = [
[[package]]
name = "digest"
version = "0.11.0-rc.7"
version = "0.11.0-rc.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca14c221bd9052fd2da7c34a2eeb5ae54732db28be47c35937be71793d675422"
checksum = "2fc1408b7a9f59a7b933faff3e9e7fc15a05a524effd3b3d1601156944c8077f"
dependencies = [
"blobby",
"block-buffer",
@@ -368,12 +373,12 @@ dependencies = [
"crypto-primes",
"der",
"digest",
"getrandom 0.4.0-rc.0",
"getrandom 0.4.0-rc.1",
"hex",
"hex-literal",
"pkcs8",
"proptest",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"rfc6979",
"sha1",
"sha2",
@@ -431,21 +436,21 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
[[package]]
name = "elliptic-curve"
version = "0.14.0-rc.23"
version = "0.14.0-rc.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "660a2eb4d46d49d4c0b122a8cad1fa7926b0e3e99913796243a7dc280021eadc"
checksum = "5b0f6cc67cc39a00bce2c6f8f8aced0e8c0a06eb1a30f9dd2a9c9f4618bdf3b4"
dependencies = [
"base16ct",
"crypto-bigint",
"crypto-common",
"digest",
"getrandom 0.4.0-rc.0",
"getrandom 0.4.0-rc.1",
"hex-literal",
"hybrid-array",
"once_cell",
"pem-rfc7468",
"pkcs8",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"rustcrypto-ff",
"rustcrypto-group",
"sec1",
@@ -454,6 +459,12 @@ dependencies = [
"zeroize",
]
[[package]]
name = "equivalent"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
[[package]]
name = "errno"
version = "0.3.14"
@@ -476,6 +487,12 @@ version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "foldhash"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "getrandom"
version = "0.3.4"
@@ -490,15 +507,16 @@ dependencies = [
[[package]]
name = "getrandom"
version = "0.4.0-rc.0"
version = "0.4.0-rc.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b99f0d993a2b9b97b9a201193aa8ad21305cde06a3be9a7e1f8f4201e5cc27e"
checksum = "74f70a332ddf75e5e5e43284304179ba02f391f82f692f030b08a8378adf3c99"
dependencies = [
"cfg-if",
"libc",
"r-efi",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"wasip2",
"wasip3",
]
[[package]]
@@ -512,6 +530,27 @@ dependencies = [
"zerocopy",
]
[[package]]
name = "hashbrown"
version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
dependencies = [
"foldhash",
]
[[package]]
name = "hashbrown"
version = "0.16.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100"
[[package]]
name = "heck"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "hex"
version = "0.4.3"
@@ -538,15 +577,33 @@ dependencies = [
[[package]]
name = "hybrid-array"
version = "0.4.5"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f471e0a81b2f90ffc0cb2f951ae04da57de8baa46fa99112b062a5173a5088d0"
checksum = "b41fb3dc24fe72c2e3a4685eed55917c2fb228851257f4a8f2d985da9443c3e5"
dependencies = [
"subtle",
"typenum",
"zeroize",
]
[[package]]
name = "id-arena"
version = "2.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954"
[[package]]
name = "indexmap"
version = "2.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017"
dependencies = [
"equivalent",
"hashbrown 0.16.1",
"serde",
"serde_core",
]
[[package]]
name = "inout"
version = "0.2.2"
@@ -590,6 +647,12 @@ dependencies = [
"cpufeatures",
]
[[package]]
name = "leb128fmt"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
[[package]]
name = "libc"
version = "0.2.180"
@@ -613,11 +676,11 @@ name = "lms-signature"
version = "0.1.0-rc.0"
dependencies = [
"digest",
"getrandom 0.4.0-rc.0",
"getrandom 0.4.0-rc.1",
"hex",
"hex-literal",
"hybrid-array",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"sha2",
"signature",
"static_assertions",
@@ -625,6 +688,12 @@ dependencies = [
"zeroize",
]
[[package]]
name = "log"
version = "0.4.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
[[package]]
name = "memchr"
version = "2.7.6"
@@ -637,14 +706,14 @@ version = "0.1.0-rc.3"
dependencies = [
"const-oid",
"criterion",
"getrandom 0.4.0-rc.0",
"getrandom 0.4.0-rc.1",
"hex",
"hex-literal",
"hybrid-array",
"num-traits",
"pkcs8",
"proptest",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"serde",
"serde_json",
"sha3",
@@ -754,6 +823,16 @@ dependencies = [
"zerocopy",
]
[[package]]
name = "prettyplease"
version = "0.2.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
dependencies = [
"proc-macro2",
"syn",
]
[[package]]
name = "proc-macro2"
version = "1.0.105"
@@ -816,12 +895,11 @@ dependencies = [
[[package]]
name = "rand"
version = "0.10.0-rc.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d3e6a909ceda8ceb12ef039b675ecf4bbe6def127e773cac109ab8347633766"
source = "git+https://github.com/rust-random/rand?branch=rand_core%2Fv0.10.0-rc-6#79d9026b7284bc574401fe39cc763af09d6d092c"
dependencies = [
"chacha20",
"getrandom 0.4.0-rc.0",
"rand_core 0.10.0-rc-5",
"getrandom 0.4.0-rc.1",
"rand_core 0.10.0-rc-6",
]
[[package]]
@@ -845,9 +923,9 @@ dependencies = [
[[package]]
name = "rand_core"
version = "0.10.0-rc-5"
version = "0.10.0-rc-6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05a06e03bd1f2ae861ab9e7498b6c64ed3dadb9ce175c0464a2522a5f23c0045"
checksum = "70765ff7112b0fb2d272d24d9a2f907fc206211304328fe58b2db15a5649ef28"
[[package]]
name = "rand_xorshift"
@@ -919,21 +997,21 @@ dependencies = [
[[package]]
name = "rustcrypto-ff"
version = "0.14.0-pre.0"
version = "0.14.0-pre.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa9cd37111549306f79b09aa2618e15b1e8241b7178c286821e3dd71579db4db"
checksum = "36fdf8f956089df8343b9479045c026932f9eb004d0f32d8497b4d133b316a66"
dependencies = [
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"subtle",
]
[[package]]
name = "rustcrypto-group"
version = "0.14.0-pre.0"
version = "0.14.0-pre.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e394cd734b5f97dfc3484fa42aad7acd912961c2bcd96c99aa05b3d6cab7cafd"
checksum = "df76d08c12814c794ffe95ac788b48081cccb607fade4ed746825d29791ce538"
dependencies = [
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"rustcrypto-ff",
"subtle",
]
@@ -980,9 +1058,9 @@ dependencies = [
[[package]]
name = "sec1"
version = "0.8.0-rc.12"
version = "0.8.0-rc.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b54617aeb7e34ace1a4b72ba79bb6297e48285dc0cce064dc063ddcbf538996"
checksum = "7a2400ed44a13193820aa528a19f376c3843141a8ce96ff34b11104cc79763f2"
dependencies = [
"base16ct",
"ctutils",
@@ -993,6 +1071,12 @@ dependencies = [
"zeroize",
]
[[package]]
name = "semver"
version = "1.0.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2"
[[package]]
name = "serde"
version = "1.0.228"
@@ -1069,9 +1153,9 @@ dependencies = [
[[package]]
name = "sha2"
version = "0.11.0-rc.3"
version = "0.11.0-rc.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19d43dc0354d88b791216bb5c1bfbb60c0814460cc653ae0ebd71f286d0bd927"
checksum = "7535f94fa3339fe9e5e9be6260a909e62af97f6e14b32345ccf79b92b8b81233"
dependencies = [
"cfg-if",
"cpufeatures",
@@ -1090,12 +1174,12 @@ dependencies = [
[[package]]
name = "signature"
version = "3.0.0-rc.8"
version = "3.0.0-rc.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c04b70a14ee5f15e2e0c785a5fdb2e9a51138dfe13ba3cf8eab037a9e60b1879"
checksum = "0ad0ce3b3f8efd7406f22e2ca5d02be21cdf3b3d1d53ab141f784de8965c7c7e"
dependencies = [
"digest",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
]
[[package]]
@@ -1117,7 +1201,7 @@ dependencies = [
"pkcs8",
"proptest",
"rand 0.10.0-rc.7",
"rand_core 0.10.0-rc-5",
"rand_core 0.10.0-rc-6",
"serde",
"serde_json",
"sha2",
@@ -1202,6 +1286,12 @@ version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5"
[[package]]
name = "unicode-xid"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]]
name = "wait-timeout"
version = "0.2.1"
@@ -1227,7 +1317,16 @@ version = "1.0.2+wasi-0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5"
dependencies = [
"wit-bindgen",
"wit-bindgen 0.51.0",
]
[[package]]
name = "wasip3"
version = "0.3.1+wasi-0.3.0-rc-2025-09-16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87ba4be47b1d11244670d11857eee0758a8f2c39aea64d80b78c1ce29b4642cd"
dependencies = [
"wit-bindgen 0.48.1",
]
[[package]]
@@ -1275,6 +1374,40 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "wasm-encoder"
version = "0.241.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e01164c9dda68301e34fdae536c23ed6fe90ce6d97213ccc171eebbd3d02d6b8"
dependencies = [
"leb128fmt",
"wasmparser",
]
[[package]]
name = "wasm-metadata"
version = "0.241.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "876fe286f2fa416386deedebe8407e6f19e0b5aeaef3d03161e77a15fa80f167"
dependencies = [
"anyhow",
"indexmap",
"wasm-encoder",
"wasmparser",
]
[[package]]
name = "wasmparser"
version = "0.241.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "46d90019b1afd4b808c263e428de644f3003691f243387d30d673211ee0cb8e8"
dependencies = [
"bitflags",
"hashbrown 0.15.5",
"indexmap",
"semver",
]
[[package]]
name = "web-sys"
version = "0.3.85"
@@ -1309,12 +1442,100 @@ dependencies = [
"windows-link",
]
[[package]]
name = "wit-bindgen"
version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f8c2adb5f74ac9395bc3121c99a1254bf9310482c27b13f97167aedb5887138"
dependencies = [
"wit-bindgen-rust-macro",
]
[[package]]
name = "wit-bindgen"
version = "0.51.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5"
[[package]]
name = "wit-bindgen-core"
version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b881a098cae03686d7a0587f8f306f8a58102ad8da8b5599100fbe0e7f5800b"
dependencies = [
"anyhow",
"heck",
"wit-parser",
]
[[package]]
name = "wit-bindgen-rust"
version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69667efa439a453e1d50dac939c6cab6d2c3ac724a9d232b6631dad2472a5b70"
dependencies = [
"anyhow",
"heck",
"indexmap",
"prettyplease",
"syn",
"wasm-metadata",
"wit-bindgen-core",
"wit-component",
]
[[package]]
name = "wit-bindgen-rust-macro"
version = "0.48.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eae2e22cceb5d105d52326c07e3e67603a861cc7add70fc467f7cc7ec5265017"
dependencies = [
"anyhow",
"prettyplease",
"proc-macro2",
"quote",
"syn",
"wit-bindgen-core",
"wit-bindgen-rust",
]
[[package]]
name = "wit-component"
version = "0.241.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0c57df25e7ee612d946d3b7646c1ddb2310f8280aa2c17e543b66e0812241"
dependencies = [
"anyhow",
"bitflags",
"indexmap",
"log",
"serde",
"serde_derive",
"serde_json",
"wasm-encoder",
"wasm-metadata",
"wasmparser",
"wit-parser",
]
[[package]]
name = "wit-parser"
version = "0.241.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ef1c6ad67f35c831abd4039c02894de97034100899614d1c44e2268ad01c91"
dependencies = [
"anyhow",
"id-arena",
"indexmap",
"log",
"semver",
"serde",
"serde_derive",
"serde_json",
"unicode-xid",
"wasmparser",
]
[[package]]
name = "zerocopy"
version = "0.8.33"
+8
View File
@@ -25,3 +25,11 @@ lms-signature = { path = "./lms" }
ml-dsa = { path = "./ml-dsa" }
rfc6979 = { path = "./rfc6979" }
slh-dsa = { path = "./slh-dsa" }
[patch.crates-io.crypto-primes]
git = "https://github.com/tarcieri/crypto-primes"
branch = "crypto-bigint/v0.7.0-rc.22"
[patch.crates-io.rand]
git = "https://github.com/rust-random/rand"
branch = "rand_core/v0.10.0-rc-6"
+2 -2
View File
@@ -29,7 +29,7 @@ zeroize = { version = "1", default-features = false, features = ["alloc"] }
pkcs8 = { version = "0.11.0-rc.8", optional = true, default-features = false, features = ["alloc"] }
[dev-dependencies]
chacha20 = { version = "0.10.0-rc.7", features = ["rng"] }
chacha20 = { version = "0.10.0-rc.9", features = ["rng"] }
hex = "0.4"
hex-literal = "1"
pkcs8 = { version = "0.11.0-rc.8", default-features = false, features = ["pem"] }
@@ -37,7 +37,7 @@ proptest = "1"
getrandom = { version = "0.4.0-rc.0", features = ["sys_rng"] }
sha1 = "0.11.0-rc.2"
der = { version = "0.8.0-rc.10", features = ["derive"] }
rand_core = "0.10.0-rc-5"
rand_core = "0.10.0-rc-6"
[features]
default = ["pkcs8"]
+2 -2
View File
@@ -1,12 +1,12 @@
#![cfg(feature = "hazmat")]
use dsa::{Components, KeySize, SigningKey};
use getrandom::rand_core::TryRngCore;
use getrandom::SysRng;
use pkcs8::{EncodePrivateKey, EncodePublicKey, LineEnding};
use std::{fs::File, io::Write};
fn main() {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = rand_core::UnwrapErr(SysRng);
let components = Components::generate(&mut rng, KeySize::DSA_2048_256);
let signing_key = SigningKey::generate(&mut rng, components);
let verifying_key = signing_key.verifying_key();
+2 -2
View File
@@ -1,10 +1,10 @@
#![cfg(feature = "hazmat")]
use dsa::{Components, KeySize, SigningKey};
use getrandom::rand_core::TryRngCore;
use getrandom::{SysRng, rand_core::UnwrapErr};
fn main() {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let components = Components::generate(&mut rng, KeySize::DSA_2048_256);
let signing_key = SigningKey::generate(&mut rng, components);
let _verifying_key = signing_key.verifying_key();
+2 -2
View File
@@ -1,13 +1,13 @@
use digest::Digest;
use dsa::{Components, KeySize, SigningKey};
use getrandom::rand_core::TryRngCore;
use getrandom::{SysRng, rand_core::UnwrapErr};
use pkcs8::{EncodePrivateKey, EncodePublicKey, LineEnding};
use sha1::Sha1;
use signature::{RandomizedDigestSigner, SignatureEncoding};
use std::{fs::File, io::Write};
fn main() {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let components = Components::generate(&mut rng, KeySize::DSA_2048_256);
let signing_key = SigningKey::generate(&mut rng, components);
let verifying_key = signing_key.verifying_key();
+2 -2
View File
@@ -15,9 +15,9 @@
#![cfg_attr(feature = "hazmat", doc = "```")]
#![cfg_attr(not(feature = "hazmat"), doc = "```ignore")]
//! # use dsa::{KeySize, Components, SigningKey};
//! use getrandom::rand_core::TryRngCore;
//! use getrandom::{SysRng, rand_core::UnwrapErr};
//!
//! let mut csprng = getrandom::SysRng.unwrap_err();
//! let mut csprng = UnwrapErr(SysRng);
//! let components = Components::generate(&mut csprng, KeySize::DSA_2048_256);
//! let signing_key = SigningKey::generate(&mut csprng, components);
//! let verifying_key = signing_key.verifying_key();
+3 -3
View File
@@ -3,9 +3,9 @@
use digest::Digest;
use dsa::{Components, KeySize, Signature, SigningKey};
use getrandom::{SysRng, rand_core::UnwrapErr};
use hex_literal::hex;
use pkcs8::der::{Decode, Encode};
use rand_core::TryRngCore;
use sha2::Sha256;
use signature::{
DigestVerifier, RandomizedDigestSigner, Signer, Verifier,
@@ -33,7 +33,7 @@ const MESSAGE_SIGNATURE_OPENSSL_ASN1: &[u8] = &hex!(
/// Generate a random DSA keypair
fn generate_random_keypair() -> SigningKey {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let components = Components::generate(&mut rng, KeySize::DSA_1024_160);
SigningKey::generate(&mut rng, components)
}
@@ -60,7 +60,7 @@ fn decode_encode_signature() {
#[test]
fn sign_verify_message() {
let signing_key = generate_random_keypair();
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let generated_signature =
signing_key.sign_digest_with_rng(&mut rng, |digest: &mut Sha256| digest.update(MESSAGE));
+3 -3
View File
@@ -9,7 +9,7 @@ use crypto_bigint::{
};
use digest::Digest;
use dsa::{Components, KeySize, SigningKey};
use getrandom::rand_core::TryRngCore;
use getrandom::{SysRng, rand_core::UnwrapErr};
use pkcs8::{DecodePrivateKey, EncodePrivateKey, LineEnding};
use sha1::Sha1;
use signature::{DigestVerifier, RandomizedDigestSigner};
@@ -17,7 +17,7 @@ use signature::{DigestVerifier, RandomizedDigestSigner};
const OPENSSL_PEM_PRIVATE_KEY: &str = include_str!("pems/private.pem");
fn generate_keypair() -> SigningKey {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let components = Components::generate(&mut rng, KeySize::DSA_1024_160);
SigningKey::generate(&mut rng, components)
}
@@ -49,7 +49,7 @@ fn sign_and_verify() {
let signing_key = generate_keypair();
let verifying_key = signing_key.verifying_key();
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let signature =
signing_key.sign_digest_with_rng(&mut rng, |digest: &mut Sha1| digest.update(DATA));
+2 -2
View File
@@ -13,14 +13,14 @@ use {
modular::{BoxedMontyForm, BoxedMontyParams},
},
dsa::{Components, KeySize, SigningKey},
getrandom::rand_core::TryRngCore,
getrandom::SysRng,
};
const OPENSSL_PEM_PUBLIC_KEY: &str = include_str!("pems/public.pem");
#[cfg(feature = "hazmat")]
fn generate_verifying_key() -> VerifyingKey {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = rand_core::UnwrapErr(SysRng);
let components = Components::generate(&mut rng, KeySize::DSA_1024_160);
let signing_key = SigningKey::generate(&mut rng, components);
+7 -7
View File
@@ -17,22 +17,22 @@ edition = "2024"
rust-version = "1.85"
[dependencies]
elliptic-curve = { version = "0.14.0-rc.23", default-features = false, features = ["sec1"] }
signature = { version = "3.0.0-rc.8", default-features = false, features = ["rand_core"] }
elliptic-curve = { version = "0.14.0-rc.24", default-features = false, features = ["sec1"] }
signature = { version = "3.0.0-rc.9", default-features = false, features = ["rand_core"] }
zeroize = { version = "1.5", default-features = false }
# optional dependencies
der = { version = "0.8.0-rc.9", optional = true }
digest = { version = "0.11.0-rc.7", optional = true, default-features = false, features = ["oid"] }
der = { version = "0.8.0-rc.10", optional = true }
digest = { version = "0.11.0-rc.8", optional = true, default-features = false, features = ["oid"] }
rfc6979 = { version = "0.5.0-rc.3", optional = true }
serdect = { version = "0.4", optional = true, default-features = false, features = ["alloc"] }
sha2 = { version = "0.11.0-rc.3", optional = true, default-features = false, features = ["oid"] }
sha2 = { version = "0.11.0-rc.4", optional = true, default-features = false, features = ["oid"] }
spki = { version = "0.8.0-rc.4", optional = true, default-features = false }
[dev-dependencies]
elliptic-curve = { version = "0.14.0-rc.23", default-features = false, features = ["dev"] }
elliptic-curve = { version = "0.14.0-rc.24", default-features = false, features = ["dev"] }
hex-literal = "1"
sha2 = { version = "0.11.0-rc.3", default-features = false }
sha2 = { version = "0.11.0-rc.4", default-features = false }
[features]
default = ["digest"]
+1 -1
View File
@@ -200,7 +200,7 @@
//! # fn format_message(person: &str) -> String {
//! # format!("Hello, {}!", person)
//! # }
//! use rand_core::{OsRng, RngCore}; // Requires the `std` feature of `rand_core`
//! use rand_core::{OsRng, Rng}; // Requires the `std` feature of `rand_core`
//!
//! /// `HelloSigner` defined above instantiated with *ring* as
//! /// the signing provider.
+1 -1
View File
@@ -17,7 +17,7 @@ hybrid-array = { version = "0.4", features = ["extra-sizes", "zeroize"] }
getrandom = { version = "0.4.0-rc.0", features = ["sys_rng"] }
sha2 = "0.11.0-rc.3"
static_assertions = "1.1"
rand_core = "0.10.0-rc-5"
rand_core = "0.10.0-rc-6"
signature = { version = "3.0.0-rc.8", features = ["alloc", "digest", "rand_core"] }
typenum = { version = "1.17", features = ["const-generics"] }
zeroize = "1.8"
+2 -2
View File
@@ -19,10 +19,10 @@ mod tests {
use super::*;
use crate::{lms::SigningKey, ots::LmsOtsSha256N32W4};
use ::signature::{RandomizedSignerMut, Verifier};
use getrandom::rand_core::TryRngCore;
use getrandom::{SysRng, rand_core::UnwrapErr};
fn test_sign_and_verify<Mode: LmsMode>() {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
// Generate a fresh keypair
let mut sk = SigningKey::<Mode>::new(&mut rng);
+2 -2
View File
@@ -171,7 +171,7 @@ mod tests {
ots::{LmsOtsSha256N32W4, LmsOtsSha256N32W8},
};
use digest::OutputSizeUser;
use getrandom::rand_core::TryRngCore;
use getrandom::SysRng;
use hex_literal::hex;
use hybrid_array::{Array, ArraySize};
use typenum::{Sum, U24};
@@ -265,7 +265,7 @@ mod tests {
<Mode::Hasher as OutputSizeUser>::OutputSize: Add<U24>,
Sum<<Mode::Hasher as OutputSizeUser>::OutputSize, U24>: ArraySize,
{
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = rand_core::UnwrapErr(SysRng);
let lms_priv = SigningKey::<Mode>::new(&mut rng);
let lms_pub = lms_priv.public();
let lms_pub_serialized: Array<u8, Sum<<Mode::Hasher as OutputSizeUser>::OutputSize, U24>> =
+2 -2
View File
@@ -138,7 +138,7 @@ mod tests {
lms::{Signature, SigningKey, VerifyingKey, modes::*},
ots::modes::*,
};
use getrandom::rand_core::TryRngCore;
use getrandom::SysRng;
use hex_literal::hex;
use hybrid_array::ArraySize;
use signature::{RandomizedSignerMut, Verifier};
@@ -268,7 +268,7 @@ mod tests {
U4,
>: ArraySize,
{
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = rand_core::UnwrapErr(SysRng);
let mut sk = SigningKey::<Mode>::new(&mut rng);
let pk = sk.public();
let msg = b"Hello, world!";
+5 -4
View File
@@ -29,9 +29,10 @@ pub mod tests {
};
use core::convert::Infallible;
use digest::{Digest, OutputSizeUser};
use getrandom::SysRng;
use hex_literal::hex;
use hybrid_array::{Array, ArraySize};
use rand_core::{TryCryptoRng, TryRngCore};
use rand_core::{TryCryptoRng, TryRng, UnwrapErr};
use signature::{RandomizedSignerMut, Verifier};
use std::{matches, ops::Add};
use typenum::{Sum, U2};
@@ -43,7 +44,7 @@ pub mod tests {
<Mode::Hasher as OutputSizeUser>::OutputSize: Add<U2>,
Sum<<Mode::Hasher as OutputSizeUser>::OutputSize, U2>: ArraySize,
{
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let mut sk = SigningKey::<Mode>::new(0, [0xcc; ID_LEN], &mut rng);
let pk = sk.public();
let msg = "this is a test message".as_bytes();
@@ -67,7 +68,7 @@ pub mod tests {
<Mode::Hasher as OutputSizeUser>::OutputSize: Add<U2>,
Sum<<Mode::Hasher as OutputSizeUser>::OutputSize, U2>: ArraySize,
{
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let mut sk = SigningKey::<Mode>::new(0, [0xcc; ID_LEN], &mut rng);
let mut pk = sk.public();
let msg = "this is a test message".as_bytes();
@@ -129,7 +130,7 @@ pub mod tests {
/// Constant RNG for testing purposes only.
pub struct ConstantRng<'a>(pub &'a [u8]);
impl TryRngCore for ConstantRng<'_> {
impl TryRng for ConstantRng<'_> {
type Error = Infallible;
fn try_next_u32(&mut self) -> Result<u32, Self::Error> {
+2 -2
View File
@@ -138,12 +138,12 @@ mod tests {
public::VerifyingKey,
},
};
use getrandom::rand_core::TryRngCore;
use getrandom::SysRng;
use hybrid_array::Array;
#[test]
fn test_serde() {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = rand_core::UnwrapErr(SysRng);
let pk = SigningKey::<LmsOtsSha256N32W8>::new(0, [0xbb; ID_LEN], &mut rng).public();
let pk_serialized: Array<u8, _> = pk.clone().into();
+1 -1
View File
@@ -40,7 +40,7 @@ signature = { version = "3.0.0-rc.8", default-features = false, features = ["dig
# optional dependencies
const-oid = { version = "0.10", features = ["db"], optional = true }
pkcs8 = { version = "0.11.0-rc.8", default-features = false, optional = true }
rand_core = { version = "0.10.0-rc-5", optional = true }
rand_core = { version = "0.10.0-rc-6", optional = true }
zeroize = { version = "1.8.1", optional = true, default-features = false }
[dev-dependencies]
+3 -2
View File
@@ -1,7 +1,8 @@
use criterion::{Criterion, criterion_group, criterion_main};
use getrandom::SysRng;
use hybrid_array::{Array, ArraySize};
use ml_dsa::{B32, KeyGen, MlDsa65, Signature, SigningKey, VerifyingKey};
use rand_core::{CryptoRng, TryRngCore};
use rand_core::{CryptoRng, UnwrapErr};
pub fn rand<L: ArraySize, R: CryptoRng + ?Sized>(rng: &mut R) -> Array<u8, L> {
let mut val = Array::<u8, L>::default();
@@ -11,7 +12,7 @@ pub fn rand<L: ArraySize, R: CryptoRng + ?Sized>(rng: &mut R) -> Array<u8, L> {
#[allow(deprecated)] // TODO(tarcieri): stop using expanded signing keys
fn criterion_benchmark(c: &mut Criterion) {
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let xi: B32 = rand(&mut rng);
let m: B32 = rand(&mut rng);
let ctx: B32 = rand(&mut rng);
+6 -3
View File
@@ -110,7 +110,10 @@ pub(crate) mod test {
use super::*;
use crate::{algebra::*, module_lattice::encode::*};
use core::ops::Rem;
use getrandom::rand_core::{RngCore, TryRngCore};
use getrandom::{
SysRng,
rand_core::{Rng, UnwrapErr},
};
use hybrid_array::typenum::{
U1, U2, U3, U4, U6, U7, U8, U9, U10, U13, U17, U19,
marker_traits::Zero,
@@ -148,7 +151,7 @@ pub(crate) mod test {
assert_eq!(actual_decoded, *decoded);
// Test random decode/encode and encode/decode round trips
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let decoded = Polynomial::new(Array::from_fn(|_| {
let x = rng.next_u32();
Elem::new(x % (b + 1))
@@ -221,7 +224,7 @@ pub(crate) mod test {
assert_eq!(actual_decoded, *decoded);
// Test random decode/encode and encode/decode round trips
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let decoded = Polynomial::new(Array::from_fn(|_| {
let mut x = rng.next_u32();
x %= a.0 + b.0;
+8 -5
View File
@@ -24,9 +24,9 @@
//! signature::{Keypair, Signer, Verifier},
//! MlDsa65, KeyGen,
//! };
//! use getrandom::rand_core::TryRngCore;
//! use getrandom::{SysRng, rand_core::UnwrapErr};
//!
//! let mut rng = getrandom::SysRng.unwrap_err();
//! let mut rng = UnwrapErr(SysRng);
//! let kp = MlDsa65::key_gen(&mut rng);
//!
//! let msg = b"Hello world";
@@ -943,7 +943,10 @@ where
mod test {
use super::*;
use crate::param::*;
use getrandom::rand_core::{RngCore, TryRngCore};
use getrandom::{
SysRng,
rand_core::{Rng, UnwrapErr},
};
use signature::digest::Update;
#[test]
@@ -1049,7 +1052,7 @@ mod test {
{
const ITERATIONS: usize = 1000;
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let mut seed = B32::default();
for _i in 0..ITERATIONS {
@@ -1185,7 +1188,7 @@ mod test {
let vk = kp.verifying_key;
let M = b"Hello world";
let mut rng = getrandom::SysRng.unwrap_err();
let mut rng = UnwrapErr(SysRng);
let sig = sk.sign_digest_with_rng(&mut rng, |digest| digest.update(M));
vk.verify_digest(
+1 -1
View File
@@ -21,7 +21,7 @@ digest = "0.11.0-rc.7"
hmac = "0.13.0-rc.3"
hybrid-array = { version = "0.4", features = ["extra-sizes"] }
pkcs8 = { version = "0.11.0-rc.8", default-features = false }
rand_core = "0.10.0-rc-5"
rand_core = "0.10.0-rc-6"
sha2 = { version = "0.11.0-rc.3", default-features = false }
sha3 = { version = "0.11.0-rc.3", default-features = false }
signature = { version = "3.0.0-rc.8", features = ["rand_core"] }
+2 -3
View File
@@ -1,11 +1,10 @@
use criterion::{Criterion, criterion_group, criterion_main};
use rand::{TryRngCore, rngs::SysRng};
use signature::{Keypair, Signer, Verifier};
use slh_dsa::*;
use std::hint::black_box;
pub fn sign_benchmark<P: ParameterSet>(c: &mut Criterion) {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<P>::new(&mut rng);
c.bench_function(&format!("sign: {}", P::NAME), |b| {
b.iter(|| {
@@ -17,7 +16,7 @@ pub fn sign_benchmark<P: ParameterSet>(c: &mut Criterion) {
}
pub fn verify_benchmark<P: ParameterSet>(c: &mut Criterion) {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<P>::new(&mut rng);
let msg = b"Hello, world!";
let sig = sk.try_sign(msg).unwrap();
+3 -3
View File
@@ -221,7 +221,7 @@ mod tests {
use self::address::ForsTree;
use super::*;
use crate::{PkSeed, Shake128f, util::macros::test_parameter_sets};
use rand::{Rng, TryRngCore, rngs::SysRng};
use rand::RngExt;
#[test]
#[cfg(feature = "alloc")]
@@ -475,7 +475,7 @@ mod tests {
fn test_sign_verify<Fors: ForsParams>() {
// Generate random sk_seed, pk_seed, message, index, address
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk_seed = SkSeed::new(&mut rng);
let pk_seed = PkSeed::new(&mut rng);
@@ -508,7 +508,7 @@ mod tests {
fn test_sign_verify_failure<Fors: ForsParams>() {
// Generate random sk_seed, pk_seed, message, index, address
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk_seed = SkSeed::new(&mut rng);
let pk_seed = PkSeed::new(&mut rng);
+3 -3
View File
@@ -137,10 +137,10 @@ mod tests {
use super::*;
use crate::{PkSeed, hashes::Shake128f, util::macros::test_parameter_sets};
use hybrid_array::Array;
use rand::{Rng, TryRngCore, rngs::SysRng};
use rand::RngExt;
fn test_ht_sign_verify<HTMode: HypertreeParams>() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk_seed = SkSeed::new(&mut rng);
let pk_seed = PkSeed::new(&mut rng);
@@ -170,7 +170,7 @@ mod tests {
test_parameter_sets!(test_ht_sign_verify);
fn test_ht_sign_verify_fail<HTMode: HypertreeParams>() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk_seed = SkSeed::new(&mut rng);
let pk_seed = PkSeed::new(&mut rng);
+9 -9
View File
@@ -25,7 +25,7 @@
//! use slh_dsa::*;
//! use signature::*;
//!
//! let mut rng = SysRng;
//! let mut rng = rand::rng();
//!
//! // Generate a signing key using the SHAKE128f parameter set
//! let sk = SigningKey::<Shake128f>::new(&mut rng);
@@ -83,12 +83,12 @@ pub trait ParameterSet: ForsParams + SigningKeyLen + VerifyingKeyLen + Signature
#[cfg(test)]
mod tests {
use super::*;
use rand::{Rng, TryRngCore, rngs::SysRng};
use rand::RngExt;
use signature::*;
use util::macros::test_parameter_sets;
fn test_sign_verify<P: ParameterSet>() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<P>::new(&mut rng);
let vk = sk.verifying_key();
let msg = b"Hello, world!";
@@ -100,7 +100,7 @@ mod tests {
// Check signature fails on modified message
#[test]
fn test_sign_verify_shake_128f_fail_on_modified_message() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let msg = b"Hello, world!";
let modified_msg = b"Goodbye, world!";
@@ -113,7 +113,7 @@ mod tests {
#[test]
fn test_sign_verify_fail_with_wrong_verifying_key() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let wrong_sk = SigningKey::<Shake128f>::new(&mut rng); // Generate a different signing key
let msg = b"Hello, world!";
@@ -127,7 +127,7 @@ mod tests {
#[test]
fn test_sign_verify_fail_on_modified_signature() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let msg = b"Hello, world!";
@@ -147,7 +147,7 @@ mod tests {
#[test]
fn test_successive_signatures_not_equal() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let msg = b"Hello, world!";
@@ -162,7 +162,7 @@ mod tests {
#[test]
fn test_sign_verify_nonempty_context() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let vk = sk.verifying_key();
let msg = b"Hello, world!";
@@ -173,7 +173,7 @@ mod tests {
#[test]
fn test_sign_verify_wrong_context() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let vk = sk.verifying_key();
let msg = b"Hello, world!";
+3 -4
View File
@@ -199,11 +199,10 @@ mod tests {
util::macros::test_parameter_sets,
};
use hybrid_array::Array;
use rand::{TryRngCore, rngs::SysRng};
use signature::{SignatureEncoding, Signer};
fn test_serialize_deserialize<P: ParameterSet>() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<P>::new(&mut rng);
let msg = b"Hello, world!";
let sig = sk.try_sign(msg).unwrap();
@@ -221,7 +220,7 @@ mod tests {
#[cfg(feature = "alloc")]
fn test_serialize_deserialize_vec<P: ParameterSet>() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<P>::new(&mut rng);
let msg = b"Hello, world!";
let sig = sk.try_sign(msg).unwrap();
@@ -240,7 +239,7 @@ mod tests {
#[test]
fn test_deserialize_fail_on_incorrect_length() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let msg = b"Hello, world!";
let sig = sk.try_sign(msg).unwrap();
+3 -4
View File
@@ -351,10 +351,9 @@ impl<M> SigningKeyLen for Shake<U32, M> {
#[cfg(test)]
mod tests {
use crate::{ParameterSet, SigningKey, util::macros::test_parameter_sets};
use rand::{TryRngCore, rngs::SysRng};
fn test_serialize_deserialize<P: ParameterSet>() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<P>::new(&mut rng);
let bytes = sk.to_bytes();
let sk2 = SigningKey::<P>::try_from(bytes.as_slice()).unwrap();
@@ -364,7 +363,7 @@ mod tests {
#[cfg(feature = "alloc")]
fn test_serialize_deserialize_vec<P: ParameterSet>() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<P>::new(&mut rng);
let vec = sk.to_vec();
let sk2 = SigningKey::<P>::try_from(vec.as_slice()).unwrap();
@@ -375,7 +374,7 @@ mod tests {
#[test]
fn test_deserialize_fail_on_incorrect_length() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let bytes = sk.to_bytes();
let incorrect_bytes = &bytes[..bytes.len() - 1];
+1 -2
View File
@@ -246,12 +246,11 @@ impl<M> VerifyingKeyLen for Shake<U32, M> {
mod tests {
use crate::*;
use hybrid_array::Array;
use rand::{TryRngCore, rngs::SysRng};
use signature::*;
#[test]
fn test_vk_serialize_deserialize() {
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk = SigningKey::<Shake128f>::new(&mut rng);
let vk = sk.verifying_key();
let vk_bytes: Array<u8, _> = (&vk).into();
+3 -3
View File
@@ -157,11 +157,11 @@ mod tests {
use crate::{address::WotsHash, hashes::Shake128f};
use hex_literal::hex;
use hybrid_array::Array;
use rand::{RngCore, TryRngCore, rngs::SysRng};
use rand::Rng;
fn test_sign_verify<Wots: WotsParams>() {
// Generate random sk_seed, pk_seed, message, address
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk_seed = SkSeed::new(&mut rng);
let pk_seed = PkSeed::new(&mut rng);
@@ -182,7 +182,7 @@ mod tests {
fn test_sign_verify_fail<Wots: WotsParams>() {
// Generate random sk_seed, pk_seed, message
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk_seed = SkSeed::new(&mut rng);
let pk_seed = PkSeed::new(&mut rng);
+3 -4
View File
@@ -141,14 +141,13 @@ where {
#[cfg(test)]
mod tests {
use crate::{
PkSeed, SkSeed, address::WotsHash, hashes::Shake128f, util::macros::test_parameter_sets,
xmss::XmssParams,
};
use hex_literal::hex;
use hybrid_array::Array;
use rand::{Rng, RngCore, TryRngCore, rngs::SysRng};
use rand::{Rng, RngExt};
use typenum::Unsigned;
#[test]
@@ -203,7 +202,7 @@ mod tests {
fn test_sign_verify<Xmss: XmssParams>() {
// Generate random sk_seed, pk_seed, message, index, address
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk_seed = SkSeed::new(&mut rng);
let pk_seed = PkSeed::new(&mut rng);
@@ -226,7 +225,7 @@ mod tests {
fn test_sign_verify_fail<Xmss: XmssParams>() {
// Generate random sk_seed, pk_seed, message, index, address
let mut rng = SysRng.unwrap_err();
let mut rng = rand::rng();
let sk_seed = SkSeed::new(&mut rng);
let pk_seed = PkSeed::new(&mut rng);
+4 -4
View File
@@ -10,7 +10,7 @@ use aes::Aes256;
use cipher::{KeyIvInit, StreamCipher};
use core::{convert::Infallible, error, fmt};
use ctr::Ctr128BE;
use rand_core::{RngCore, TryCryptoRng, TryRngCore};
use rand_core::{Rng, TryCryptoRng, TryRng, UnwrapErr};
use sha2::Digest;
use signature::Keypair;
use signature::SignatureEncoding;
@@ -38,7 +38,7 @@ impl KatRng {
}
}
impl TryRngCore for KatRng {
impl TryRng for KatRng {
type Error = Infallible;
fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Self::Error> {
@@ -65,7 +65,7 @@ impl TryCryptoRng for KatRng {}
// Mock RNG that just returns a pre-determined bytestring
struct ConstRng(Vec<u8>);
impl TryRngCore for ConstRng {
impl TryRng for ConstRng {
type Error = RandError;
fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), RandError> {
let len = dest.len();
@@ -136,7 +136,7 @@ where
rng.fill_bytes(&mut seed);
let seed_rng = ConstRng(seed);
let sk = SigningKey::<P>::new(&mut seed_rng.unwrap_err());
let sk = SigningKey::<P>::new(&mut UnwrapErr(seed_rng));
let pk = sk.verifying_key();
writeln!(resp, "pk = {}", hex::encode_upper(pk.to_bytes())).unwrap();