kv-proto: OPAQUE suite, RFC 9421 signing profile and M1 auth wire types

Adds the OpaqueSuite (Ristretto255 OPRF, TripleDH, SHA-512, identity KSF)
shared by client and server, the httpsig signature-base builders, and the
setup/credentials/account/device/SSE types for milestone M1.
Cargo.lock changes only for kv-proto's new dependencies.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-15 21:22:03 +09:00
co-authored by Claude Opus 5.5
parent 4a152bde11
commit 48c7e32d33
5 changed files with 355 additions and 0 deletions
Generated
+56
View File
@@ -395,6 +395,7 @@ dependencies = [
"curve25519-dalek-derive",
"digest",
"fiat-crypto",
"rand_core",
"rustc_version",
"subtle",
"zeroize",
@@ -427,6 +428,17 @@ dependencies = [
"zeroize",
]
[[package]]
name = "derive-where"
version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e2b94854e8576378ccda7c8de8a66ed8b4e8acbd2c50ec3418ea6c8aaf4b567"
dependencies = [
"proc-macro2",
"quote",
"syn 3.0.9",
]
[[package]]
name = "digest"
version = "0.10.7"
@@ -569,8 +581,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0"
dependencies = [
"cfg-if",
"js-sys",
"libc",
"wasi",
"wasm-bindgen",
]
[[package]]
@@ -858,8 +872,11 @@ name = "kv-proto"
version = "0.1.0"
dependencies = [
"base64",
"opaque-ke",
"rand_core",
"serde",
"serde_json",
"sha2",
"uuid",
]
@@ -955,6 +972,27 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381"
[[package]]
name = "opaque-ke"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb31f7b2c5760d8ffbc39652043f5cff14029b6249a2280b28ae6f0cd61f5098"
dependencies = [
"curve25519-dalek",
"derive-where",
"digest",
"displaydoc",
"elliptic-curve",
"generic-array",
"getrandom 0.2.17",
"hkdf",
"hmac",
"rand",
"subtle",
"voprf",
"zeroize",
]
[[package]]
name = "p256"
version = "0.13.2"
@@ -1630,6 +1668,24 @@ version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]]
name = "voprf"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28f59c30c76e2fea54cdece6a054e2662feffa7ab19658a7887524265ee39470"
dependencies = [
"curve25519-dalek",
"derive-where",
"digest",
"displaydoc",
"elliptic-curve",
"generic-array",
"rand_core",
"sha2",
"subtle",
"zeroize",
]
[[package]]
name = "wasi"
version = "0.11.1+wasi-snapshot-preview1"