From 22eded4ed8297826d41b866cd54ddf6ebdc46467 Mon Sep 17 00:00:00 2001 From: Kevin Lewi Date: Tue, 5 Jul 2022 02:21:50 -0700 Subject: [PATCH] Updating voprf dependency and test vectors (#278) --- Cargo.toml | 8 +- README.md | 2 +- src/key_exchange/group/mod.rs | 2 +- src/tests/full_test.rs | 220 ++++++----- src/tests/opaque_vectors.rs | 724 +++++++++++++++++----------------- 5 files changed, 479 insertions(+), 477 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index d8e3f61..358dc2b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ name = "opaque-ke" readme = "README.md" repository = "https://github.com/novifinancial/opaque-ke" rust-version = "1.57" -version = "2.0.0-pre.2" +version = "2.0.0-pre.3" [features] default = ["ristretto255-u64", "ristretto255-voprf", "serde"] @@ -37,7 +37,7 @@ curve25519-dalek = { version = "=4.0.0-pre.1", default-features = false, optiona derive-where = { version = "=1.0.0-rc.3", features = ["zeroize-on-drop"] } digest = "0.10" displaydoc = { version = "0.2", default-features = false } -elliptic-curve = { version = "0.12.0-pre.1", features = ["hash2curve", "sec1"] } +elliptic-curve = { version = "0.12", features = ["hash2curve", "sec1"] } generic-array = "0.14" hkdf = "0.12" hmac = "0.12" @@ -46,7 +46,7 @@ serde_ = { version = "1", package = "serde", default-features = false, features "derive", ], optional = true } subtle = { version = "2.3", default-features = false } -voprf = { version = "0.4.0-pre.2", default-features = false, features = [ +voprf = { version = "0.4.0-pre.3", default-features = false, features = [ "danger", ] } zeroize = { version = "1.5", features = ["zeroize_derive"] } @@ -60,7 +60,7 @@ chacha20poly1305 = "=0.10.0-pre" criterion = "0.3" hex = "0.4" json = "0.12" -p256 = { version = "=0.11.0-pre.0", default-features = false, features = [ +p256 = { version = "0.11", default-features = false, features = [ "hash2curve", "voprf", ] } diff --git a/README.md b/README.md index 0ae8830..876a25a 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Installation Add the following line to the dependencies of your `Cargo.toml`: ``` -opaque-ke = "2.0.0-pre.2" +opaque-ke = "2.0.0-pre.3" ``` ### Minimum Supported Rust Version diff --git a/src/key_exchange/group/mod.rs b/src/key_exchange/group/mod.rs index 31cebb4..fe2dd28 100644 --- a/src/key_exchange/group/mod.rs +++ b/src/key_exchange/group/mod.rs @@ -110,7 +110,7 @@ pub trait KeGroup { // Helper functions used to compute DeriveAuthKeyPair() (taken from the voprf // crate) -const STR_VOPRF: [u8; 8] = *b"VOPRF09-"; +const STR_VOPRF: [u8; 8] = *b"VOPRF10-"; const STR_DERIVE_KEYPAIR: [u8; 13] = *b"DeriveKeyPair"; /// Generates the contextString parameter as defined in diff --git a/src/tests/full_test.rs b/src/tests/full_test.rs index 8864a5c..24c5578 100644 --- a/src/tests/full_test.rs +++ b/src/tests/full_test.rs @@ -121,155 +121,157 @@ pub struct TestVectorParameters { static STR_PASSWORD: &str = "password"; static STR_CREDENTIAL_IDENTIFIER: &str = "credential_identifier"; -// To regenerate, run: cargo test -- --nocapture generate_test_vectors +// To regenerate these test vectors, run: +// cargo test --features x25519-u64 -- --nocapture generate_test_vectors #[cfg(feature = "ristretto255")] static TEST_VECTOR_RISTRETTO255: &str = r#" { - "client_s_pk": "462bcbb0f1f303eaa919ab66e5c19a94052b84e2cbc40645cde46df2a68b0c7a", - "client_s_sk": "d2b04e26c274b67ec381dad0a4ddaa72801cc41ff53e94262a8bc817c9491304", - "client_e_pk": "febdfdb6a812769e8c63f013ddda42e0ca0d5a388136241d9bd8059bc7933051", - "client_e_sk": "fb61820e78aa5512f0da07d231c6644a8111fd4c72561b7329e72e6e5c848005", - "server_s_pk": "58f645872da0f3f487584dea46be982c1557b9d392422c4795e48ce05d5b374d", - "server_s_sk": "7df714f8df702dad7d38a714e58fb18820d2da1c41e3252e961a70566fac2f0e", - "server_e_pk": "089dd523fa969d424e7d5e2af4f9c712cb02f47173a8381db4c7fc69ad10b362", - "server_e_sk": "b3a1709e4c291d9d727822e148346aa192d29575c33362d33d457bdc0e13cb06", - "fake_sk": "844666460d91813f25f07ee484ff9ec7cd9eacbd55f462a93b0da868f39ea70d", + + "client_s_pk": "dcddc4b2e2880d52e5e7feb1a960483279ec01322a9459a38617fe279328ea73", + "client_s_sk": "0429abf73dd54603a2517d43963092191b3bfa703d6f96e5c3ab07032af09306", + "client_e_pk": "f4078829250cbe512a46d47f607bcbd11f55d257c2758968f0a2fe052f153f23", + "client_e_sk": "44effcb2a3e3cdf444c73964afc454513b42b19b5fe9de78bafec9d6d152b808", + "server_s_pk": "d20495860077399f2ae24565bfafb29f41602805bda05323663a1b9a2f74532e", + "server_s_sk": "c40c8d1af35aa1aeb16539eda98e17dc2eecfa9e21938c286eb5c04d03a3d90c", + "server_e_pk": "3868e17fa3a9ea40b8099b94265b41f6989a7790b99525a6ebe6d8da02151517", + "server_e_sk": "6f11607b6c7493cb14935f2af3ea6d35368564840d3e13d0b8b85619ce5cb309", + "fake_sk": "d027dc1c2c5fd2abe413d4603a31c5f5af7798dcb8a349ddff1dba22619e3106", "credential_identifier": "637265644964656e746966696572", "id_u": "696455", "id_s": "696453", "password": "70617373776f7264", - "blinding_factor": "2189fa0524efc945e096e591acaf741c6af03ea514e3c9aea44ad7a56847be03", - "oprf_seed": "5e162cd641cfb826427569ec676b43bf038e1274b0d9bdd4cb76ac56f8472fd538e7ac4e34702325a3daaf3609f3a7246f6673bc5caaeca02c067aa8ede3f8dd", - "masking_nonce": "b98330c71a2d82674dea6e0aa7cb18087de3883295fcd0ff6c45cd80a4681eba8f5562ac122850ec933455c3c6c25f42138bb425d591cb38bd765f53b7a01b96", - "envelope_nonce": "423b6c1c4666ed8f8640d59bc165783709b36c9b4ae1b42a547ae351b5d57d05", - "client_nonce": "1189d05e799fa6c56d9d72a7a8c93b891ed35736010f71eb64cf1220ce27c338", - "server_nonce": "a218c4e22ea27ba74f8cf3f09fd428d6587897d76f6f5b4a63d3e0cb6e299ae3", + "blinding_factor": "2f4d3b99b3239f14c02937cd9c5928b72e792923c392f32259d38db66b378c09", + "oprf_seed": "a4fd682676da261afc2d1f6c2b4d173bee9b591de7b6a125a95cd6a129c582abfb47c58cb8519300c41993c4f65f3bc998857839782e81853a9b4222bbd0af51", + "masking_nonce": "84fee2957ecedff1f417fb7b9cc033a27cc2f23f346c22933121ec902c563d8ebe92eec260c4c48f11f560a20896334f11598174313af77b6c06b5aebe4dc8bc", + "envelope_nonce": "52cf21f9aa91b105dbacbf986c2f2ffc18c2c876ebbe753991eeb6018986c25d", + "client_nonce": "61c78d68faafff73962fe5938a6e51cf0d142f682055c6935da551d9c0c1f5e0", + "server_nonce": "3803f1c7e9fc0859f9d82c0a5dc853191c9cc7ecb4b8901d5eae9cb545210dbd", "context": "636f6e74657874", - "registration_request": "ec3f63d15a8959e86f5664d4c409b71a4993e1d49fcd6ee51ad9f983220e3237", - "registration_response": "3ee77a8a4d491f9fd746ddc536f5e5bbc2898067263a3b34e1e591b783462c4a58f645872da0f3f487584dea46be982c1557b9d392422c4795e48ce05d5b374d", - "registration_upload": "40c78fe33dd3a50c99bcbaf260c790c63b192f8fdab6777ade1c4b16d8c5381840c62980f9a3931f4d0c68ddece8b87d3bf4d4a56ccb4a0b88af37cbd457dd5ab2b8c633b898e7a8e18b024090894615363e039055fe735da12ba9cc68d4f982d2b04e26c274b67ec381dad0a4ddaa72801cc41ff53e94262a8bc817c9491304d9eafd0bacdc61e6da750116fd9388a65e2a574934f65d2e957d8d05e1d4d4ee9c23a87d8d60e93936da683363469b5c0bf234891204cd93f84ec8531fc32acc", - "credential_request": "ec3f63d15a8959e86f5664d4c409b71a4993e1d49fcd6ee51ad9f983220e32371189d05e799fa6c56d9d72a7a8c93b891ed35736010f71eb64cf1220ce27c338febdfdb6a812769e8c63f013ddda42e0ca0d5a388136241d9bd8059bc7933051", - "credential_response": "3ee77a8a4d491f9fd746ddc536f5e5bbc2898067263a3b34e1e591b783462c4ab98330c71a2d82674dea6e0aa7cb18087de3883295fcd0ff6c45cd80a4681eba6942d2635f21656760a29dd64fc0d7eb2202eacd698993203e2b93ed69a904ea555e62c861ed0b05c61f5f9dbc80cf4a68f7788e5ab423fd707a25eb985e0f206a66d41514f40dd3afed0c0f5d33cc86072df0a6c0bb95a1f7acb2a195451795133fef323da255177d94dd9f338f4727e2ec464c895edd1891f4ca28e005fa86b3a1709e4c291d9d727822e148346aa192d29575c33362d33d457bdc0e13cb06da2bd185020cd964cf518873336f2f00a0440a975e8ff1e29912770d415d0c1747e79bae72037aabe86af57181b4f9d3964061da83e60b6a216becb025cbd805c52ecf6ed69b44a7309bd643ceb37a926459b8b2dd9dded7fc2daf58a72b789e", - "credential_finalization": "8240d4d8bde9bd911581b7c3d48d760368add71d789f7917b7f3b97f12ba88fb1dd8a99e301ef5716e1baf76b0f374c41c4bce2b9a015d49fa0c6e305196e3bd", - "client_registration_state": "2189fa0524efc945e096e591acaf741c6af03ea514e3c9aea44ad7a56847be03ec3f63d15a8959e86f5664d4c409b71a4993e1d49fcd6ee51ad9f983220e3237", - "client_login_state": "2189fa0524efc945e096e591acaf741c6af03ea514e3c9aea44ad7a56847be03ec3f63d15a8959e86f5664d4c409b71a4993e1d49fcd6ee51ad9f983220e32371189d05e799fa6c56d9d72a7a8c93b891ed35736010f71eb64cf1220ce27c338febdfdb6a812769e8c63f013ddda42e0ca0d5a388136241d9bd8059bc7933051fb61820e78aa5512f0da07d231c6644a8111fd4c72561b7329e72e6e5c8480051189d05e799fa6c56d9d72a7a8c93b891ed35736010f71eb64cf1220ce27c338", - "server_login_state": "4d72816b73b51d687b129808e5eb2bba359da1ed16c4422f66ea240fa64019a494c119e432a05e6c73f6e5b09e460cf46d321547003c1f1d1d31f58b77b366b4a3f58ad498a297b3d1e00d90e9c0dad467219542bd1e9c79418669ea759b981968b475818fdfa415faea89e01be55f7a7dc63d8bc2a0f146da08410c8f2e2ae6866d64ba0fcd85ab9377f367428a16813f43e042d7da9f499847a6cdc5718f5e39cb0cd74bc6ed73e709f21d567e9506acc1dbec8881cc7bf4995306df3ac7d9", - "password_file": "40c78fe33dd3a50c99bcbaf260c790c63b192f8fdab6777ade1c4b16d8c5381840c62980f9a3931f4d0c68ddece8b87d3bf4d4a56ccb4a0b88af37cbd457dd5ab2b8c633b898e7a8e18b024090894615363e039055fe735da12ba9cc68d4f982d2b04e26c274b67ec381dad0a4ddaa72801cc41ff53e94262a8bc817c9491304d9eafd0bacdc61e6da750116fd9388a65e2a574934f65d2e957d8d05e1d4d4ee9c23a87d8d60e93936da683363469b5c0bf234891204cd93f84ec8531fc32acc", - "export_key": "4072224aa93c097b12d3bfe4df74ddb337d2424c8e63881a0feaadb1dc1e856e32420893c1d136c7abc6faf55d464bb1669dad232c038c145c6edeb1b723a557", - "session_key": "866d64ba0fcd85ab9377f367428a16813f43e042d7da9f499847a6cdc5718f5e39cb0cd74bc6ed73e709f21d567e9506acc1dbec8881cc7bf4995306df3ac7d9" + "registration_request": "0029a6bfe36ad951c8180cd030870a8eaac946d7a0a8f6838b90273cd363553f", + "registration_response": "a2ff5ff073aa3ae6e8c1341cb10d0fe6822c902f254b40648523c456ce511f60d20495860077399f2ae24565bfafb29f41602805bda05323663a1b9a2f74532e", + "registration_upload": "94ddf2dd8051a97accbff76b961f475be5499153176c4e7673009f5471e82d452e44248ec8495c0622e895633ee23ab365a99eb86c422095b5e6687922b436cc23397830983684f1b7e0a6c828b4be843416ea3d666751741446a17b798836220429abf73dd54603a2517d43963092191b3bfa703d6f96e5c3ab07032af0930630f910034ee42f3650979f34c60116c8df87ab2014a8028719b7af16933757a1364a0a8dba5e31702d4ecd8bb0089963c8c7c806633106ec01f21d2c1f0e7c6d", + "credential_request": "0029a6bfe36ad951c8180cd030870a8eaac946d7a0a8f6838b90273cd363553f61c78d68faafff73962fe5938a6e51cf0d142f682055c6935da551d9c0c1f5e0f4078829250cbe512a46d47f607bcbd11f55d257c2758968f0a2fe052f153f23", + "credential_response": "a2ff5ff073aa3ae6e8c1341cb10d0fe6822c902f254b40648523c456ce511f6084fee2957ecedff1f417fb7b9cc033a27cc2f23f346c22933121ec902c563d8e6611595c09b73c4d0b376bff1e0f6170e741932a2fcc46eea41f0a25fcbc9b3776b3cd7caf89abb4e12051add84020e78bf66fdf085bf7bece614996aab5e003572942c0d2adb246190bac44854418aa91b97f21676ee6081cc392fbfa69a8b4310231dbdcc334d7236c3b29c1e68c6053694c70636941db4773f0de31b807d66f11607b6c7493cb14935f2af3ea6d35368564840d3e13d0b8b85619ce5cb309224143ae3d5f41168405da956adf330323607e9cfeccf142344926bfc456d221363994a0ad737282c8130e3e695f119bb549a0a1d4bcfe43877badbd1376c22d2357648f2c5d10eb4871ce565caa12943390ab4c4f39e8a21ef8dd58325d80c6", + "credential_finalization": "8d9d27b4b02011d4fd0c0712a66d870ff1477f564459fdb9710778129f7415fa1ffdf878838bd5886482a8fad35e7fe76f072fd58d755a3b417ab3b5546d8db7", + "client_registration_state": "2f4d3b99b3239f14c02937cd9c5928b72e792923c392f32259d38db66b378c090029a6bfe36ad951c8180cd030870a8eaac946d7a0a8f6838b90273cd363553f", + "client_login_state": "2f4d3b99b3239f14c02937cd9c5928b72e792923c392f32259d38db66b378c090029a6bfe36ad951c8180cd030870a8eaac946d7a0a8f6838b90273cd363553f61c78d68faafff73962fe5938a6e51cf0d142f682055c6935da551d9c0c1f5e0f4078829250cbe512a46d47f607bcbd11f55d257c2758968f0a2fe052f153f2344effcb2a3e3cdf444c73964afc454513b42b19b5fe9de78bafec9d6d152b80861c78d68faafff73962fe5938a6e51cf0d142f682055c6935da551d9c0c1f5e0", + "server_login_state": "a1ea9f94d030c645d25fa27e6b5c711cb392878042639ad7c3b14bdc8030ab6bfbbf1dd7b20dad15f07ac6a1cd62f13aa34eb903984d0836dc1de6a8cb66058920841cdfd8f3e28d52a50964109166b049f624b492879313ee506599d96962048872e2fa61c711e9f37f37b984048b3a29969e8686b9e21f1ce0a4e151e6f1a1f72c738d5eab793d8e9d2ec660bf49fff9a4faff5a984a10607caa260e4b94f767d47e9336d554b778ca41671d498d262f36c8874b035ecc954ed3baa8031ac7", + "password_file": "94ddf2dd8051a97accbff76b961f475be5499153176c4e7673009f5471e82d452e44248ec8495c0622e895633ee23ab365a99eb86c422095b5e6687922b436cc23397830983684f1b7e0a6c828b4be843416ea3d666751741446a17b798836220429abf73dd54603a2517d43963092191b3bfa703d6f96e5c3ab07032af0930630f910034ee42f3650979f34c60116c8df87ab2014a8028719b7af16933757a1364a0a8dba5e31702d4ecd8bb0089963c8c7c806633106ec01f21d2c1f0e7c6d", + "export_key": "69b3d2fa20b4b93b18fdb8dae139af6a5a210a8d40ed107fe0d76bd76aedc1d791c6c948eba8aa1750217c3021e7c07657569152120d4dd9928a22f4d904fbf8", + "session_key": "f72c738d5eab793d8e9d2ec660bf49fff9a4faff5a984a10607caa260e4b94f767d47e9336d554b778ca41671d498d262f36c8874b035ecc954ed3baa8031ac7" } "#; static TEST_VECTOR_P256: &str = r#" { - "client_s_pk": "023260fcb7915e53cdd3a1164c3fbb02105669f6652fc7f04afbee9c41fc70e6ce", - "client_s_sk": "dfa3fccf6ef36714a1dcf5085c38a3f007842579bc3bede124e0dfd994f173c0", - "client_e_pk": "02af274d7a94c8e33e8c374e39991ab7fe078c87cdaa1a0334ad33b8308cae1298", - "client_e_sk": "62b5b89b4daac1e2db00d12a993c18af4f69083526c51f4428ec9072264e5184", - "server_s_pk": "03baaee6e122a55c05860cae3795e6662a879e8308983fe55905dbe363883a0e4a", - "server_s_sk": "df3a9c42ef25ac2319c5fa32e4ed124ef8f829c890ac1eb4abb3c2cd3b0fa071", - "server_e_pk": "022361f1cce383b29175f58673b2f9f941234b63709b621bcc7097c0b62e20f758", - "server_e_sk": "3f822df5e690807c585bc42e1ca604770c2f9bbd017d366561d8de90e06628dd", - "fake_sk": "f7c75629f0fc954d321b186c2a8a1e8230735ec90a86c96435d740533f9de641", + "client_s_pk": "024233c7da16965cf8dd009c16d6da1fb30678e1a77a8bed62ee4ab0ff19398df8", + "client_s_sk": "7b37ca3a844e38d48f199a982cf584b8377a06c3b0d82075da71c29d7d067a15", + "client_e_pk": "028a5cfff38ac26a0287940c0d0ca4cca86c2de48a0371cb668e4a47047ee407f2", + "client_e_sk": "3b97e770cbf587cfdedcc07d4ed0ee393645c36ee4505d13542061fd1e4075b1", + "server_s_pk": "03e5fd5f2d9a767013c18a9f3848c187ce4b832419420019289888fff4ccd3e105", + "server_s_sk": "344ad6c7f5426b17b06816601d61d2b828d9193d0ac71d4ff457b927d713f61a", + "server_e_pk": "03361978ce9712ef7b94b42b58d9ea705b3f846ca63c0f99375aaff06b995bc04b", + "server_e_sk": "9b226d6b94f4df66246f1fdc57a77333bf29e28b561343a747845a83c89d9974", + "fake_sk": "ec7f397fa39804a8be9559ebe5666c583813b5c0d199150a308408b5cc7d1ad3", "credential_identifier": "637265644964656e746966696572", "id_u": "696455", "id_s": "696453", "password": "70617373776f7264", - "blinding_factor": "c4eb21db1dbcac484e768fed47395a8274efdf7a6bb0b51650158a4f20fa9962", - "oprf_seed": "9cbb7e45eca257600aee9f80a73999f6a043464ef8373ff05692a2c2a78ad7e9", - "masking_nonce": "75980b06670edc94d3bec1cd50a234b5ae5a80ab0d35751d088db4bc716f7749f116e9de81908f5c552b89311aeb14f39e83edfc72c675898aebb33f670c47c5", - "envelope_nonce": "f7c268c385a2357f9bdc375e2ed01b14ed8a4d5da7f73a7637a1e1d1b870d5aa", - "client_nonce": "5e91a3321f75b640d8fc8fb8087d7207e5c45b2b63d1fb9a111797ace5973509", - "server_nonce": "59320205db3abe90453078cd87defdca26ed9106c87e86b23b3d973ce493e74c", + "blinding_factor": "7f765e59c9005b407dd9d9c80c9b6870bf34d723b463c9ef1bf37062f3a32932", + "oprf_seed": "6e2dbc907c0e8e6ac9b25e9786bce93b2b7c611efbbfe8f0ac6cc49a367f1b53", + "masking_nonce": "fc65e1213c391fc03baabad6f4fb2435d1f4143fd55362a77f6505a848198e72790e68a3d7e699187e7765b018e29330b1aa559c4b01681e3f9f1a122c88cfc7", + "envelope_nonce": "990e155dcd76335a870f03898bc52ce7c206d2a9fba98023d524c9e5eaeeb8f1", + "client_nonce": "1c5ac2e0c8134298298d6fbb27e2a30161548e0ab40b3e1f93fd048893290823", + "server_nonce": "28fb86796e386659fc1be72ecc9452928c864dae3c0bc407694c15b97303b8fd", "context": "636f6e74657874", - "registration_request": "03efeab933855855df6309184b1f38e72253a30da135e8a5247f487e84da0e2038", - "registration_response": "038208b3367f5f2037ebe633a3a496ca91253b51ddf3da27ce160aa32cadd894f003baaee6e122a55c05860cae3795e6662a879e8308983fe55905dbe363883a0e4a", - "registration_upload": "02bdac72f70ee3dec77c6f827a74262c35d166f0f219dc34990563a791cfa6d52e6fe49ac269f3f0ff9ff149827df28a706651d47d83587642ec1d26cb94eb8921dfa3fccf6ef36714a1dcf5085c38a3f007842579bc3bede124e0dfd994f173c04982a39a7878cac19db2bfcfc20e7e523ff07d29a77c12def7eece9ed0489d01", - "credential_request": "03efeab933855855df6309184b1f38e72253a30da135e8a5247f487e84da0e20385e91a3321f75b640d8fc8fb8087d7207e5c45b2b63d1fb9a111797ace597350902af274d7a94c8e33e8c374e39991ab7fe078c87cdaa1a0334ad33b8308cae1298", - "credential_response": "038208b3367f5f2037ebe633a3a496ca91253b51ddf3da27ce160aa32cadd894f075980b06670edc94d3bec1cd50a234b5ae5a80ab0d35751d088db4bc716f774974578203a277492803925adc16a48d007b69fc31f4c48efefd43b81280bfb3cab9abf5fa0156d12191811f948ac311e0279f47279ceba64c46bfa12f4cc0fb99364395e6d57307c00ba4b1330d98b85db8a8e09729ef79376e40a8adc1428da58e3f822df5e690807c585bc42e1ca604770c2f9bbd017d366561d8de90e06628dd0226810c8030327817b74d2d3a05be5ff4966b16912a372e8d2722c24c14121ec21024966125998398c81fdfc25b8018a8ee641f485663996ef336c4521b85f6e7", - "credential_finalization": "b32b0472968a844fb681f4a1ac61e33763d74d39b711db71b8f5d27e90e271f8", - "client_registration_state": "c4eb21db1dbcac484e768fed47395a8274efdf7a6bb0b51650158a4f20fa996203efeab933855855df6309184b1f38e72253a30da135e8a5247f487e84da0e2038", - "client_login_state": "c4eb21db1dbcac484e768fed47395a8274efdf7a6bb0b51650158a4f20fa996203efeab933855855df6309184b1f38e72253a30da135e8a5247f487e84da0e20385e91a3321f75b640d8fc8fb8087d7207e5c45b2b63d1fb9a111797ace597350902af274d7a94c8e33e8c374e39991ab7fe078c87cdaa1a0334ad33b8308cae129862b5b89b4daac1e2db00d12a993c18af4f69083526c51f4428ec9072264e51845e91a3321f75b640d8fc8fb8087d7207e5c45b2b63d1fb9a111797ace5973509", - "server_login_state": "b6ac93a918062c080a4b1de8fd268294c6bd94bf4a7858c73307816abaaa6ac1316f2c7fa3580a84d4e8d0f7f5985ba2b4b655c0a190d3810f5c5ffe3db178cab8e1bf50c444bae5ed713df3460eaa2987fb378a4a7eda0a2b426636ce34a797", - "password_file": "02bdac72f70ee3dec77c6f827a74262c35d166f0f219dc34990563a791cfa6d52e6fe49ac269f3f0ff9ff149827df28a706651d47d83587642ec1d26cb94eb8921dfa3fccf6ef36714a1dcf5085c38a3f007842579bc3bede124e0dfd994f173c04982a39a7878cac19db2bfcfc20e7e523ff07d29a77c12def7eece9ed0489d01", - "export_key": "0a3f9daef4c6ce2d7853b140bca06b89288f45c90a68697ad4f5f65181838ac7", - "session_key": "b8e1bf50c444bae5ed713df3460eaa2987fb378a4a7eda0a2b426636ce34a797" + "registration_request": "02626e2a7d0a3a65c5ce26319ffdcd8f12749597288d5a3f056a85061d440b3134", + "registration_response": "024881b1756686787aa2c9379842b3c043be2bc2160f8399388566df186aca076203e5fd5f2d9a767013c18a9f3848c187ce4b832419420019289888fff4ccd3e105", + "registration_upload": "02b2c2080e85eb9be5fce9af315ebbd582b97a888bc38db41eb3ff89d150094c4ee1897cecbb1eb404c07cb336778480ce59b45be07417b62c6065509d743081bd7b37ca3a844e38d48f199a982cf584b8377a06c3b0d82075da71c29d7d067a15290f38d81d8afca3b0b9f8fd39d43695c3ff00c9cc65dffa80c81d4346c4c231", + "credential_request": "02626e2a7d0a3a65c5ce26319ffdcd8f12749597288d5a3f056a85061d440b31341c5ac2e0c8134298298d6fbb27e2a30161548e0ab40b3e1f93fd048893290823028a5cfff38ac26a0287940c0d0ca4cca86c2de48a0371cb668e4a47047ee407f2", + "credential_response": "024881b1756686787aa2c9379842b3c043be2bc2160f8399388566df186aca0762fc65e1213c391fc03baabad6f4fb2435d1f4143fd55362a77f6505a848198e725bc35e08a2b8eca1fd54f864f551bbb26aca647e8a7fa7865d9da84c3cb9aa9e7c88a0643d3c2d83f722bc0f961bcfbe08b041e6010fd42e070411df6a00032b38a649251a11fcdade4133d9392a83163150617d97f66304bd2cd82b8dea34003b9b226d6b94f4df66246f1fdc57a77333bf29e28b561343a747845a83c89d997402dd41500c28354a2b4c2e99723d4e2c663032803766576eca885ba1e16c141093e3f50476135f37f2f0973be22ab0723f264bc54b48c8b7814f578c20145b1a62", + "credential_finalization": "4a4dc7da190d96ca9a464e97fd87caac8a6a8284dca988723392c4ff55e9ee19", + "client_registration_state": "7f765e59c9005b407dd9d9c80c9b6870bf34d723b463c9ef1bf37062f3a3293202626e2a7d0a3a65c5ce26319ffdcd8f12749597288d5a3f056a85061d440b3134", + "client_login_state": "7f765e59c9005b407dd9d9c80c9b6870bf34d723b463c9ef1bf37062f3a3293202626e2a7d0a3a65c5ce26319ffdcd8f12749597288d5a3f056a85061d440b31341c5ac2e0c8134298298d6fbb27e2a30161548e0ab40b3e1f93fd048893290823028a5cfff38ac26a0287940c0d0ca4cca86c2de48a0371cb668e4a47047ee407f23b97e770cbf587cfdedcc07d4ed0ee393645c36ee4505d13542061fd1e4075b11c5ac2e0c8134298298d6fbb27e2a30161548e0ab40b3e1f93fd048893290823", + "server_login_state": "c084be73543caee016de23f6987e9d9db9ce8a39490127388f7cfc8d73f7c37ba5ebebd95e175ba698748629e95da35b2750f870919bdeb0a80b5ac8988517f366adf6480ea66dec3384cf202fa979bb3501e0cc4c8cea8a268d5561cd45ce95", + "password_file": "02b2c2080e85eb9be5fce9af315ebbd582b97a888bc38db41eb3ff89d150094c4ee1897cecbb1eb404c07cb336778480ce59b45be07417b62c6065509d743081bd7b37ca3a844e38d48f199a982cf584b8377a06c3b0d82075da71c29d7d067a15290f38d81d8afca3b0b9f8fd39d43695c3ff00c9cc65dffa80c81d4346c4c231", + "export_key": "d8e44930ad9ae7e1e5d83dbc9b5fd51b814280864aa10e39e62aa07c72458c86", + "session_key": "66adf6480ea66dec3384cf202fa979bb3501e0cc4c8cea8a268d5561cd45ce95" } "#; #[cfg(all(feature = "x25519", feature = "ristretto255"))] static TEST_VECTOR_X25519_RISTRETTO255: &str = r#" { - "client_s_pk": "fd9421aabf489c202c0c73692d191e8f90dd9c3d33d8f9d7098b68037a0d7018", - "client_s_sk": "743049eab865ebf6bd680586629c99bb27350c391a8badd2cd3072046ccf7909", - "client_e_pk": "3d6ea92c272d085a4343ef0057938f0049a01716d263539a2ce11b00d8776767", - "client_e_sk": "2320c9b2022c31960dee0081793d7e2192d88d62b91279ecb23090381017770a", - "server_s_pk": "86fc83e93faefe37539af2c66f283de69589496b9c24c1afeade5293548beb51", - "server_s_sk": "7a707d042be8b8572e22553d37c5956b0ab1bfa4ee11e35b54b70915638aa60a", - "server_e_pk": "83e5937afa666054f398733915dad7e0fed785e97eb1a6d4a869368a7225e32e", - "server_e_sk": "f0dbcb5c09a2083ee0b4d829a60c9b08a802ccb963a7b4903bc16d7152641f02", - "fake_sk": "9c76aea51fcc052fb3f34f27f70a3a8fbf63788d156e4e0c0a7d625865f34b05", + "client_s_pk": "f535ff1f431781ebdf247ba474600b35900c78bae062b78bca336f93125fae78", + "client_s_sk": "a2965d641d8faac6d78929faaea9d849260374dfbc48fcd8508d619e91549e0f", + "client_e_pk": "41b9b9e40898537c1afc044ea4362a91b0688841a2f8ac7576799ea554b9955c", + "client_e_sk": "3462f1906981bf3849bdda9e4fb11f227aa1ce36715fbab787137d9293877804", + "server_s_pk": "c3bb58d0ab702a78cd49c49ed666445715a3a9031352988fa3b8b5354f234555", + "server_s_sk": "66db13a9043ba998acf4c025817c212a679998aca94e284d92d7a3e624918405", + "server_e_pk": "092c508e525c26d207f26e08f31bc3d3da93280260b959a2b422f61365336266", + "server_e_sk": "a45b6ec2746a0930da83e7be61fec440b8101a6da0057684d552495818945a08", + "fake_sk": "b58d23d86aa0cdc9baf29cf03f6d1362e96980ea2e33b0407dc8e213ef31f40e", "credential_identifier": "637265644964656e746966696572", "id_u": "696455", "id_s": "696453", "password": "70617373776f7264", - "blinding_factor": "c54a7234fcc8eda29e08c80a0c3062cfa42725a7befc0038be5c9447082c300d", - "oprf_seed": "39ee741b2d1286785db8f020da65495dd49676c74fd6060e9bad6365a006294399a91cf7d89e52133fec92243794667fef7a41c50fd41b269d2c7bb7c2caf118", - "masking_nonce": "4b1c8057992d51b72890e653ae56ca2f5a2c2fb983c61a25084bcb0c42ef50a310e290e0e25f4026e29ce78ba72d4e617acefd30d439c120209c1e9f3394fe51", - "envelope_nonce": "f686b0b38da88128bab866bb8a271491fe4d31f7f6c468b2410b3f7d13f81c21", - "client_nonce": "66681cf8abba1f60f4b45c4df681f053af152c85afd070a87ea0963c82208fba", - "server_nonce": "2b7b31d669643feaaa398f9107b3cc31ccf8059c260364d02f81af5609c253da", + "blinding_factor": "ddd58385737d8c20704c0cb1a3a966bf34e74f0110fed80f1beff71b5f595c0c", + "oprf_seed": "a73d9a1a8258fb9e07525bc7ec95ec099b781674b1b8af4293062f5f8929ba600ce3e430a1604a6264eb234b6380bcaf7ebfe8c094c6ad512a66d90465ea1b24", + "masking_nonce": "75c3c3c4131c481038ed136f2aa8f73cb721336e8932aec3a4afa7a807bb80b9064711750bf956f5c87b0fbb2237e4a8dce44c5b5a556ee7c9878fff08a7703c", + "envelope_nonce": "2a19eea1b3a01bd1654e550c248e376280920e1512109d6193e6d384d4b9c78a", + "client_nonce": "e211715a5e81960e9645812027b02eb2bf1a29fc7c40706fbf7d89372bdcfff4", + "server_nonce": "d7b113083e27e038199d4d8e536a16d9cacded41a1ab1baf861ee2bbb3c64a08", "context": "636f6e74657874", - "registration_request": "947c08180d7ee11962a475408e34db1cf36153ad565efbaaa2003c8ddb873742", - "registration_response": "22db969f065d6270719d52678b3b5a8505df865347befe4a2ca23c305698375886fc83e93faefe37539af2c66f283de69589496b9c24c1afeade5293548beb51", - "registration_upload": "811c9b5fff64f79dd1c58230f6afd5686b64aa2bf2645e53efcbce5258c5e501dae567fe81428ed227caf290d4286806733fe4b28373cdf98f75cbee2a26a285d51289636e0277b8b547a12c4444d6c138ad1f312e290d8cb268392cdc532557743049eab865ebf6bd680586629c99bb27350c391a8badd2cd3072046ccf7909099d944a610d38ef9a48314cc6cf4bc7eb336a12eac42e4cf21db2b05bd09bf2e82f1c63396804455281cc67d85cb95301024104b911362c14a3d3c03bdcc897", - "credential_request": "947c08180d7ee11962a475408e34db1cf36153ad565efbaaa2003c8ddb873742c54a7234fcc8eda29e08c80a0c3062cfa42725a7befc0038be5c9447082c300d62de25755c11a72834d1aba572e3efcce0ba30924ad487ff996e287e78196916", - "credential_response": "22db969f065d6270719d52678b3b5a8505df865347befe4a2ca23c30569837584b1c8057992d51b72890e653ae56ca2f5a2c2fb983c61a25084bcb0c42ef50a3c3db1e1b9843739d36c04702c4701316815f52f3df2bf7fab1aab7adbaf8491e8b5b7dafb6e4db3f9a5c76c3eea24ecd81ed430f47f0b67cb78048462f9816b376feb3d77a907c2839f05ae7cd770524e77672294d9d91e648137ae9f87c8a923a2181e19fb231ffc11a2c530536193675a977b9d8e3ca2f20272194ec79cb8a2b7b31d669643feaaa398f9107b3cc31ccf8059c260364d02f81af5609c253da5df4034fc05556580243652e4ca2beaf23d710299ddfb55545930e3a474bae44edd162d8c4de17bd7a345dc5976f3a48e15865963785b013e91d0def39058a1f4525d88367fad2a74e3b9e7651966b7b16decaa585b67086bab580d6924b3933", - "credential_finalization": "d6a968e5ef62448d4fab1ee40e4e719e56e2977c5f43ecfe6cabdbbf7c66df0cb9e2e5ecba7d69b2cd78ca6707a23bc243f38385ef08b03ac29299b2c810011c", - "client_registration_state": "c54a7234fcc8eda29e08c80a0c3062cfa42725a7befc0038be5c9447082c300d947c08180d7ee11962a475408e34db1cf36153ad565efbaaa2003c8ddb873742", - "client_login_state": "c54a7234fcc8eda29e08c80a0c3062cfa42725a7befc0038be5c9447082c300d947c08180d7ee11962a475408e34db1cf36153ad565efbaaa2003c8ddb873742c54a7234fcc8eda29e08c80a0c3062cfa42725a7befc0038be5c9447082c300d62de25755c11a72834d1aba572e3efcce0ba30924ad487ff996e287e7819691621328157ed777d9ed99dc915e9c05aef779537e93ec33b859592c3167d317509c54a7234fcc8eda29e08c80a0c3062cfa42725a7befc0038be5c9447082c300d", - "server_login_state": "225c04cdf34d68b6a5e328da6d0820f831c0a6747359ba04f5c363a590c2881125c94cfcbb52dedb23e63c67a29889925dd8d14570a060570b7d1f599730ad9d6693aea75639e20b161f0b814cfacefbb0ccfb294c04c7fef55f7515fa75f11ae56d6649219048c3d307cf026e4b9d88afa0db5779243437d05202b01b46b4a5fcb72639f47ce5017784bb1cf5a95ea2aa10f4071fc83eca962424086d0dd4df2fd315e39ac6f95795dd47fb8b6df8749e049fcc6065346b615c7732ac917d89", - "password_file": "811c9b5fff64f79dd1c58230f6afd5686b64aa2bf2645e53efcbce5258c5e501dae567fe81428ed227caf290d4286806733fe4b28373cdf98f75cbee2a26a285d51289636e0277b8b547a12c4444d6c138ad1f312e290d8cb268392cdc532557743049eab865ebf6bd680586629c99bb27350c391a8badd2cd3072046ccf7909099d944a610d38ef9a48314cc6cf4bc7eb336a12eac42e4cf21db2b05bd09bf2e82f1c63396804455281cc67d85cb95301024104b911362c14a3d3c03bdcc897", - "export_key": "cd38ef9ca81fb3bdb6ae0c9ace0a3574755030a89a6a104d55f2066d81d5fe64089a7d73e06c3c00adabbc1ed755426fd4d04aee09023b111e1224487738cbac", - "session_key": "fcb72639f47ce5017784bb1cf5a95ea2aa10f4071fc83eca962424086d0dd4df2fd315e39ac6f95795dd47fb8b6df8749e049fcc6065346b615c7732ac917d89" + "registration_request": "1e7066e92f802e894edc3383c84a30d9941dff5ae4bae093aac6249d7307fb4f", + "registration_response": "4ac42b2850dfa252c98ddf441ad4f2d39d195fa6d966326a971a917d9bf2a83dc3bb58d0ab702a78cd49c49ed666445715a3a9031352988fa3b8b5354f234555", + "registration_upload": "18a37ef21ebff958b228f6b0a4aa66764a20b438393a380833dc73bf05da8c4043a1d396008b10207c4a2c6c6c2a1bd1fff443741102e6884eb58236cd27c2c09626b7c2df397a8473337cfb760d4dbdfe8f50a26696d6c41f9f4c2086ab0957a2965d641d8faac6d78929faaea9d849260374dfbc48fcd8508d619e91549e0f1f13d125c3dc2fc99a3fa879d3a914202afae68113902a60a44266febeca8521fab72bcb5fddd144768fc59bcbe759e328b09aeffbfb906627ddfe670342a358", + "credential_request": "1e7066e92f802e894edc3383c84a30d9941dff5ae4bae093aac6249d7307fb4fddd58385737d8c20704c0cb1a3a966bf34e74f0110fed80f1beff71b5f595c0ce3c5ca3e5d685c064f212bdeba8f58804cc2b7c3732cf87f9c541444f1629970", + "credential_response": "4ac42b2850dfa252c98ddf441ad4f2d39d195fa6d966326a971a917d9bf2a83d75c3c3c4131c481038ed136f2aa8f73cb721336e8932aec3a4afa7a807bb80b9d2ce565f318da629a658c9b653853e649ccbe4ce9cd46a904f4352a67140bc9e44ccfb5823a385fd29f7ce9d4711fe8e4b4e050c62c7e041ec2c6bf82e84371c802a360dbdbc9614363ac2830c60624ab77d1de45eef3b15326a988a6862b0315dd5a0a966130f724c2265db5b04a8bf772fb57a5643c05f88daf3b89a6fb0c7d7b113083e27e038199d4d8e536a16d9cacded41a1ab1baf861ee2bbb3c64a084f2de1632c9028867527905d5a84a3dea08ba32b61db5cbc17c104ac09386d7a6b6483a41e1649ec4925eebb3b3f145c4b5abd046f49fd28c6345cb7c81b93aa73f57fcf10b04ad118e6cb532c522547aa379556d0a5f81125c1028a680de0ec", + "credential_finalization": "f9310bbda0fe43f1b6a66ab862ae57e27a7e0753c5039da335e44da00beaab2108c02286fe673ebad2f04ed66d0d891a9f493166af1b1bcddd5950fa9a5d2d73", + "client_registration_state": "ddd58385737d8c20704c0cb1a3a966bf34e74f0110fed80f1beff71b5f595c0c1e7066e92f802e894edc3383c84a30d9941dff5ae4bae093aac6249d7307fb4f", + "client_login_state": "ddd58385737d8c20704c0cb1a3a966bf34e74f0110fed80f1beff71b5f595c0c1e7066e92f802e894edc3383c84a30d9941dff5ae4bae093aac6249d7307fb4fddd58385737d8c20704c0cb1a3a966bf34e74f0110fed80f1beff71b5f595c0ce3c5ca3e5d685c064f212bdeba8f58804cc2b7c3732cf87f9c541444f1629970ba6394b0b2570047a038334a0186080289ba294018dd8cc1c8c2d2010e1b4303ddd58385737d8c20704c0cb1a3a966bf34e74f0110fed80f1beff71b5f595c0c", + "server_login_state": "4c1dc1603f7568dd19dacea6938a2eb0847f365e3733f1d94068648fed318d72dfb05320144e8b25aff7cdaf1ff2f6e23aace1b1d2b48eab23e0bbf315044c54dde886c08fc1bad2f87e6445d2938e4405211e141948a98f8693d3a044a78cc94c0c0f44848825a6a65f6555599c6c133b8cd7e6cd71d0f8f661f10cfd1afbd41c8edc5902c6500ff5529b3fef4a3eeb902a98da7b542f80dbc449b1eaa42bda5c8a5a4486395ca5d34b13312fedba5aaca2039185f514eff22c598b4aecb5c2", + "password_file": "18a37ef21ebff958b228f6b0a4aa66764a20b438393a380833dc73bf05da8c4043a1d396008b10207c4a2c6c6c2a1bd1fff443741102e6884eb58236cd27c2c09626b7c2df397a8473337cfb760d4dbdfe8f50a26696d6c41f9f4c2086ab0957a2965d641d8faac6d78929faaea9d849260374dfbc48fcd8508d619e91549e0f1f13d125c3dc2fc99a3fa879d3a914202afae68113902a60a44266febeca8521fab72bcb5fddd144768fc59bcbe759e328b09aeffbfb906627ddfe670342a358", + "export_key": "42635c7e79ad5b9d3c7c3d60c233a26c0f2c4081c2698a0fde7f40597705c6fd10265d227a6d74f6b77a731945777d19b38e73d53adee9337cb89eb197a08553", + "session_key": "1c8edc5902c6500ff5529b3fef4a3eeb902a98da7b542f80dbc449b1eaa42bda5c8a5a4486395ca5d34b13312fedba5aaca2039185f514eff22c598b4aecb5c2" } "#; #[cfg(feature = "x25519")] static TEST_VECTOR_X25519_P256: &str = r#" { - "client_s_pk": "753ed6bb950b75a9070b13ef93b4dcc99919addb4b6bcceb1f843e902b078a74", - "client_s_sk": "e49b6199b4fee342db063928a80d1a2f129d7402f70a00615e349a5bc7402109", - "client_e_pk": "27c883a8e09ed4f8854e8a4d788c79f947e7ef7d9508294a3c93394f39daff4b", - "client_e_sk": "ea9695fedac154e8432b3b7d3da908b2e594e5eccbf53b29e94492312aaa630f", - "server_s_pk": "66369d74ab45914fb8fc53520b6915561ce2c3a14c93adb2bf5cdf714feace76", - "server_s_sk": "093c818970ed2f9056a6a29cc4683c4c5f8bda343cdd891c99ecb63ba11f2001", - "server_e_pk": "6576ff437de71bdcc39dd78fceec0bc7afb0ad1f10e1b0f991795c996daead78", - "server_e_sk": "2da54527ace3bfa2a79dd6dfe8e24d814e9f4c3d888ee1b1eae80435eb03ad03", - "fake_sk": "fbc4817729c76924c0f2a254856d56ef58616e8366a512d51145e5d6bab65609", + "client_s_pk": "984c4d0154f43c559a6e9c11e53899796c14df117333d23415e6271694fad424", + "client_s_sk": "2b3e92c34952a4c3deb75b18f9096d22256f54819f608e181720da0d48590108", + "client_e_pk": "679d88f27a93d9a53ff507f56fd9ef726605e5b62f6584fe62b88115c30fec42", + "client_e_sk": "2f56650f9b56744b174e5ac45714559d515ed4487e71c5da7608015adc2cde09", + "server_s_pk": "9a90ad9a25286cdde32ee8028538f4a83cedcca0fc9a3e53412a0454926e834d", + "server_s_sk": "d327ef3da05a7f92e2a60c43194b124f0b8e4d7aa2cfb9d94b66ed19021b8409", + "server_e_pk": "4962df96cfa3cadf6dbf7ac56e2e5a7d6e8515645df41bf01e479c6298a19002", + "server_e_sk": "d9fec8c73c59b5f9ceea74cf32a3de88cbc0c31e6b769137d876053aa0800d04", + "fake_sk": "0e0289c3530bfd4c79ca732b87e71227b8dcb36a552c652bf601da293887710a", "credential_identifier": "637265644964656e746966696572", "id_u": "696455", "id_s": "696453", "password": "70617373776f7264", - "blinding_factor": "18a4203efc82b58ba0931b86966fb32c2ba9fefb8b20f53d2cf2e8eb3cbef538", - "oprf_seed": "9a17b1000c68e3b3befe6f2461c327435fdfaefcbce3945e3898002591cc200f", - "masking_nonce": "a55af67cbd406f7e8629bb563890fd0e031efa9ea179b423cd05d475444485053f682c99350fb7b96b564d7e8ef27c3ae2c282f5a60008f18caf3274ca69aab7", - "envelope_nonce": "3ee31dcd5be16563a1be31c1916d813fbb2df6e7a8174de9fbe970268a38f1ff", - "client_nonce": "2d8c52a01ddb0afe916fa6320ac924fdafd3a086dd15d7d8b8b849e1a6b5598c", - "server_nonce": "c2c4292207fdb5c70a083ffa3265665b47320f49e5830213fc0a7be465e250ac", + "blinding_factor": "9c0bc8990211537292deb41e9fcd040961d49091fbe65d1bb59e383277bb25eb", + "oprf_seed": "1bc1978fa716b5f9034f63d04aed6721e1671d862e482a7b8ec24e9911972d6a", + "masking_nonce": "ea49e91d388abfde7a79628609ca387ec24d1566ed95044aba000db31c97e8f432462af38aa60e5ce7c32d34604e5c121cefc8297671bdf71a966ecdb3bc5a2f", + "envelope_nonce": "997f10d36ebeffa5083d8b534794a62e957764ddb3c09825a68133d33df3c661", + "client_nonce": "1d191eb4375568db766e64b378df66f7076b642a46cf708919e5deab6b48d236", + "server_nonce": "f861a3400dd011365ef09f2634290d5268b9d45fc8da91b0ed815e623a688529", "context": "636f6e74657874", - "registration_request": "029ea801c63cfef8082b9d90bec2bc73223ffbb58a4efafc92a558758cc6499007", - "registration_response": "02cb947d77ba412d051844f71c0e3f3ea76f37675986c224b8c3cc98d3c15901e966369d74ab45914fb8fc53520b6915561ce2c3a14c93adb2bf5cdf714feace76", - "registration_upload": "c87c3864bf4d08de1dcb54e391861e6c9a3952ce32138437b97ca8ba7ecce17da4199e5b514468f8ca0df74939ab0882b29494e6719e5f82aca17b1b473d4cbae49b6199b4fee342db063928a80d1a2f129d7402f70a00615e349a5bc7402109ae22d994c188e1f074d36667f86328a2846d36b02d439cece7ffe513d943b008", - "credential_request": "029ea801c63cfef8082b9d90bec2bc73223ffbb58a4efafc92a558758cc649900718a4203efc82b58ba0931b86966fb32c2ba9fefb8b20f53d2cf2e8eb3cbef538a7b8272a9235017ef28a8b2dc55e75eb509b4687834a84d8502d5223e0213a0e", - "credential_response": "02cb947d77ba412d051844f71c0e3f3ea76f37675986c224b8c3cc98d3c15901e9a55af67cbd406f7e8629bb563890fd0e031efa9ea179b423cd05d475444485053dc3294947f945d405b034c8381df98395567633d32c373b3ef38382e8edc453b2adf3be2ca9c6397e2ad4a835493395d9c04a5b2185ae18bfd9e11301c3cbf2b613048a9cbe81fcc0e1bc558f8975e26769ae243b0c279e744b8891020b4fa2c2c4292207fdb5c70a083ffa3265665b47320f49e5830213fc0a7be465e250ac0fd0d98ac8aa06c6bf1e30acf462fcb2f5fdc12b39a8606609a9ca49f751413b7bee901e53032e54ac992da96a1d181ccf5af5c99ba3097454c5f0ef3c390414", - "credential_finalization": "149fc8cea95f8691c4a5a5c23c5fa7dfc374359ff387a1f0818a9781e03d5572", - "client_registration_state": "18a4203efc82b58ba0931b86966fb32c2ba9fefb8b20f53d2cf2e8eb3cbef538029ea801c63cfef8082b9d90bec2bc73223ffbb58a4efafc92a558758cc6499007", - "client_login_state": "18a4203efc82b58ba0931b86966fb32c2ba9fefb8b20f53d2cf2e8eb3cbef538029ea801c63cfef8082b9d90bec2bc73223ffbb58a4efafc92a558758cc649900718a4203efc82b58ba0931b86966fb32c2ba9fefb8b20f53d2cf2e8eb3cbef538a7b8272a9235017ef28a8b2dc55e75eb509b4687834a84d8502d5223e0213a0ebcb52188b5c59f7a62b5a3cbaa4d91df52f62dd508802d3813192fb933dcbe0218a4203efc82b58ba0931b86966fb32c2ba9fefb8b20f53d2cf2e8eb3cbef538", - "server_login_state": "62719f8b13444f9cb407ba8588221a4ccadab4e23bd9b53562982b70c10dd76549f8e5e06f9c67dda3b2cbbc04e611251114d0ec75814448ec31735e256de8375661696067914036a03e84148db7dc7cb80a119b76b1a4b1cacfae8a51261cde", - "password_file": "c87c3864bf4d08de1dcb54e391861e6c9a3952ce32138437b97ca8ba7ecce17da4199e5b514468f8ca0df74939ab0882b29494e6719e5f82aca17b1b473d4cbae49b6199b4fee342db063928a80d1a2f129d7402f70a00615e349a5bc7402109ae22d994c188e1f074d36667f86328a2846d36b02d439cece7ffe513d943b008", - "export_key": "d01fdced2b0342d693da9290e6a8d3fe4aa5ff5bacbdced310fb137ba95e7349", - "session_key": "5661696067914036a03e84148db7dc7cb80a119b76b1a4b1cacfae8a51261cde" + "registration_request": "02cadf5b02d05f65bf053761947c54ff9c52a32e64d8ba40d406eee86f86ac8f63", + "registration_response": "027746a0843ddcf383f24981d1605c354d69d6434149a3396caf667d816bc581c59a90ad9a25286cdde32ee8028538f4a83cedcca0fc9a3e53412a0454926e834d", + "registration_upload": "eb59650e50b056798293da46391143455a5c97ebff75d221976f32c150eb3e3f2ee763032e75976fba490d56539e7d29106024c262c7c08135ddb378392189142b3e92c34952a4c3deb75b18f9096d22256f54819f608e181720da0d48590108e9cc437cb299cf10fc8de53172ba891cf9c094b1b339dbd8a18282ef98137765", + "credential_request": "02cadf5b02d05f65bf053761947c54ff9c52a32e64d8ba40d406eee86f86ac8f639c0bc8990211537292deb41e9fcd040961d49091fbe65d1bb59e383277bb25ebc9bab2dbddaa4984ee8669b527b4edd2a56fa187a457480088c37e75f1835903", + "credential_response": "027746a0843ddcf383f24981d1605c354d69d6434149a3396caf667d816bc581c5ea49e91d388abfde7a79628609ca387ec24d1566ed95044aba000db31c97e8f436bcf21522e3fb43d01f3916cb7af262cbb7a87836f4b75eeae64c861c12eddb6fbe7448b8c87db4916fd6e2807c21429ab04495d3b48aeb36a03335e2c66bc01e4aa1e32c4974a016f065daab0cc0facd3ed7bf955eb2882f1e8016ae8a31dcf861a3400dd011365ef09f2634290d5268b9d45fc8da91b0ed815e623a688529dd126f42ce1494ebf2ece4f509d111a8ff72a1e7ca2ac15478069901c51a4a1db4aaba8cc5b9ef025dc650a5b07d8db9fd060cbf27b8b4640e2e6bca872d4380", + "credential_finalization": "923474270342f186a41a23e5572c2583f5387f8e847381a5fd94917aa33a3655", + "client_registration_state": "9c0bc8990211537292deb41e9fcd040961d49091fbe65d1bb59e383277bb25eb02cadf5b02d05f65bf053761947c54ff9c52a32e64d8ba40d406eee86f86ac8f63", + "client_login_state": "9c0bc8990211537292deb41e9fcd040961d49091fbe65d1bb59e383277bb25eb02cadf5b02d05f65bf053761947c54ff9c52a32e64d8ba40d406eee86f86ac8f639c0bc8990211537292deb41e9fcd040961d49091fbe65d1bb59e383277bb25ebc9bab2dbddaa4984ee8669b527b4edd2a56fa187a457480088c37e75f1835903583c4e5353c1cfc928a4975d1423ec85b72a06bc4d728ecfff81c501c5fbfc069c0bc8990211537292deb41e9fcd040961d49091fbe65d1bb59e383277bb25eb", + "server_login_state": "3c6cc54d29f32745040e127c8c5e606f431cdefccf214452d30182850d50300061c4876da2632558184289431e51e81a2ed1defe4460fa621f4169ff0e0fdd90c315d7a845a902fd4146c13d228d7a0e3d0cf138bd42969fae5e7b0e032e5f4e", + "password_file": "eb59650e50b056798293da46391143455a5c97ebff75d221976f32c150eb3e3f2ee763032e75976fba490d56539e7d29106024c262c7c08135ddb378392189142b3e92c34952a4c3deb75b18f9096d22256f54819f608e181720da0d48590108e9cc437cb299cf10fc8de53172ba891cf9c094b1b339dbd8a18282ef98137765", + "export_key": "5e8338e5f129bddb19dd5d85494c8b6fe25d0f739c6c38b1c71a183832e8120f", + "session_key": "c315d7a845a902fd4146c13d228d7a0e3d0cf138bd42969fae5e7b0e032e5f4e" } "#; diff --git a/src/tests/opaque_vectors.rs b/src/tests/opaque_vectors.rs index 6ca2852..f35013f 100644 --- a/src/tests/opaque_vectors.rs +++ b/src/tests/opaque_vectors.rs @@ -34,98 +34,98 @@ Nok: 32 #### Input Values ~~~ -oprf_seed: 2ed630416cb2e532804133133e7ee6836c8515752e24bb44d323fef4ea -d34cde967798f2e9784f69d233b1a6da7add58b2c95a57bc213aca920c14553ed2d83 -3 +oprf_seed: f433d0227b0b9dd54f7c4422b600e764e47fb503f1f9a0f0a47c6606b0 +54a7fdc65347f1a08f277e22358bbabe26f823fca82c7848e9a75661f4ec5d5c1989e +f credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 -envelope_nonce: 36168448f9c5ec75a8cd571370add249e99cb8a8c43f6ef05610a -c6e354642bf -masking_nonce: 13573601f2e727c90ecc19d448cf3145a662e0065f157ba524df0d -3e56ad6236 -server_private_key: 51da1f6c3ea07fa00c7cbfdc1fdc70659f1a1092402da749d -938c1a6a570f103 -server_public_key: 583f7bccccbc1907ae1506bac950d08266eb3b33ba452b8df7 -061a390ffd736e -server_nonce: a88904fe660061c4fac7e452066b8b0f90da7d8d4a19f1cc41fb6fa -5479b467d -client_nonce: 400ceac0fbfb16005928335518be6f930a113c6c0814521262e17ec -c3cdc9f91 -server_keyshare: 5cc9fd06a5917ab66a6ef5537a65525a428f768840d81a00d82a -23fc5491b53c -client_keyshare: da25553da9ac142b36332dbd487713ae6712432fb317a6e00b2b -17525bbe6912 -server_private_keyshare: eb7216a0ad73af2e84aeeeeb39a9e3549f0817e1732b -5faffc5e0f5abf269e08 -client_private_keyshare: a2582d86bf4476a413caa6ee0d3daf7fb6908909036e -1423170d0072aad0d00f -blind_registration: f349de058878adaf864afedb28cf6a6b0f7083a11c34f9543 -9c5cb44edb7fd09 -blind_login: 146538c20e42b5182766e71c26d4e3a4d1b9c493f7c94bea0bb4f9d6 -31181c08 +envelope_nonce: ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d2 +3ba7a38dfec +masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 +f612fdfc6d +server_private_key: 47451a85372f8b3537e249d7b54188091fb18edde78094b43 +e2ba42b5eb89f0d +server_public_key: b2fe7af9f48cc502d016729d2fe25cdd433f2c4bc904660b2a +382c9b79df1a78 +server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e +138e3d4a1 +client_nonce: da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb38 +0cae6a6cc +server_keyshare: c8c39f573135474c51660b02425bca633e339cec4e1acc69c94d +d48497fe4028 +client_keyshare: 0c3a00c961fead8a16f818929cc976f0475e4f723519318b96f4 +947a7a5f9663 +server_private_keyshare: 2e842960258a95e28bcfef489cffd19d8ec99cc1375d +840f96936da7dbb0b40d +client_private_keyshare: 22c919134c9bdd9dc0c5ef3450f18b54820f43f646a9 +5223bf4a85b2018c2001 +blind_registration: 76cfbfe758db884bebb33582331ba9f159720ca8784a2a070 +a265d9c2d6abe01 +blind_login: 6ecc102d2e7a7cf49617aad7bbe188556792d4acd60a1a8a8d2b65d4 +b0790308 ~~~ #### Intermediate Values ~~~ -client_public_key: eabdf39b4f22d045f80477d5571bae4c40e13377bcb410c6d8 -6d86eab281eb15 -auth_key: ca657130e970f04883cb6e1d25414c2e6b790521d2589eedbb28f88c2a0 -cd1d47a451af444604838acc7ed0eb06cd15265a8f2008f6c00a01471c30d0dce45e0 -randomized_pwd: 46dac5eed750784bf22be60303312d53fd6ec61cc19bec55c136c -3629366b1916e8e6a1b09ad9e079da2aa9ce0cde3aea3f28d835b2f67c8bf6e5139e5 -e3cc03 -envelope: 36168448f9c5ec75a8cd571370add249e99cb8a8c43f6ef05610ac6e354 -642bf72e2cdbb55ab0d0cdfcf1cfb9344d3ccbfbcb1b69f975e2e58f25749214ddb7a -11ec03ed7d3f04f05c0c822bd2a4d6cd61c7911035ce117e34f6bc4d8d27ba95 -handshake_secret: 71d30b66205d8f3d35415facfa654c45c778ccb1a1522b0cc38 -fe88f0eba0e47e4ffbd13cee0bdf0b4cf4b97fb50417bb799d4cfeb58471abc2302dd -264dbe9d -server_mac_key: 6ce3829a4eb1758bbbb9263da5c989b6060851fcae76d10af1a1a -17a627121cc327ac65add4a93d1f3fb289d4b741481dbcbda570a03d156a0c805e287 -487db8 -client_mac_key: ce946912e6fa49c11068184bdfb0c1d7cb0bb69d2d4ba15dcdc28 -bba18021850d296c5c72fa68848ea4c8927d28065c4807fc8163275f0781bffccca18 -72ba31 -oprf_key: e4af4ba0d3e3d3340848000b77ab12e736fb1662ffbe529ec92163d37ae -26601 +client_public_key: 8e5e5c04b2154336fa52ac691eb6df5f59ec7315b8467b0bba +1ed4f413043b44 +auth_key: e1ff65c196e1c4b4bf46361798eec479b318831329680f33b4f77ad49d8 +c6e6ef49d87082d654d21f2e36454582353fefc23c07637bd8ca4aa88a4461ea96d6c +randomized_pwd: 4386bf4b83db06f47672fd60b4cface554558da7be3c616c56b2e +d29b544d1b50bc45893b1c05d8d6866a9bbe91395e4704740be58728e8872352f56d5 +319f8f +envelope: ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d23ba7a3 +8dfec8e8bde8d4eb9e171240b3d2dfb43ef93efe5cd15412614b3df11ecb58890047e +2fa31c283e7c58c40495226cfa0ed7756e493431b85c464aad7fdaaf1ab41ac7 +handshake_secret: 885a0a7bd8e704d8fc26f62b8657f8c5d01ffb35b27ad538493 +968dcf6dba7a2d42d404d6ed6a87805a030ffafe791fb69fd044c1ac152ee0ee78853 +cebb0700 +server_mac_key: d29e33eb506fbf199c818d1300e7253404a7d5de9c660a90f79af +e4cc15da2ae31e511c6eb1c4df95f47c9759606732781a3d1884a4d53cba690bdb9e9 +ac4d7c +client_mac_key: 4d4d4c4b8b35501876ed01d07f5718357ff720163b84813b1bde4 +f3b6ca3e1de744a267e3d145e6095a0e5b1617714e10af7e10093d0ba8dd115e6bdb1 +f5ccd9 +oprf_key: 6c246eaa55e47d0490ffa8a6f784e803eed9384a250458def36a2acebf1 +5c905 ~~~ #### Output Values ~~~ -registration_request: ba1a2238a29a33dea928801e0257bd644f34bcc12f3e6ed -eba3a5015b45d6e33 -registration_response: 1c5078bb63f7623d65926a6ef82a4ee7d1b62225d5f8a3 -59f603475654f4453b583f7bccccbc1907ae1506bac950d08266eb3b33ba452b8df70 -61a390ffd736e -registration_upload: eabdf39b4f22d045f80477d5571bae4c40e13377bcb410c6 -d86d86eab281eb15ae21afa59b900243876169f04c46a5833b8168cd87ce9e5a5c04b -ea74eb523bdbeab479e62632bb24f6e4a16fa3ae2132fcd2d4ffcb5cafce1cc8394a8 -c3eb3436168448f9c5ec75a8cd571370add249e99cb8a8c43f6ef05610ac6e354642b -f72e2cdbb55ab0d0cdfcf1cfb9344d3ccbfbcb1b69f975e2e58f25749214ddb7a11ec -03ed7d3f04f05c0c822bd2a4d6cd61c7911035ce117e34f6bc4d8d27ba95 -KE1: c021ab3bca8c7c7949f7090d2af149523c5029d6c5c45b59997f8c306ccbdf75 -400ceac0fbfb16005928335518be6f930a113c6c0814521262e17ecc3cdc9f91da255 -53da9ac142b36332dbd487713ae6712432fb317a6e00b2b17525bbe6912 -KE2: 1aaae8c352e89557d73dd57152f10983ba4871675d5307c71fc8f8d808103707 -13573601f2e727c90ecc19d448cf3145a662e0065f157ba524df0d3e56ad62366311e -350706148302b24efbafa041792c5b79e78c43aa24b44c6e81dde926692d9a9095273 -212a862729bad5a9e5258e7f1bf656045dc2842d331d183cc7425c1953a5cd8dd3b4e -83638980d0a85a2c2204eb8d3879421a43450d7eed4bd203b99e16526b8933fc46a62 -4a1fec3caf6a5eebe2dfe9689b847716b330098638d1a88904fe660061c4fac7e4520 -66b8b0f90da7d8d4a19f1cc41fb6fa5479b467d5cc9fd06a5917ab66a6ef5537a6552 -5a428f768840d81a00d82a23fc5491b53ca3e00703736229ba774fb92ba77dc2a2236 -e408b99cd8b8e2b0fa2a92ac132100f807b3e44ff1c60d3939ac6b6e8719a4ddf2b37 -83f4650fce842ea5c63ccc19 -KE3: c5cceaabc721066f2332edcc8cb70c49b8930639f31c6f3ebd8b9e232d35462e -a00bb0bcfa0b703d8b20f06d3428ee7089c299829b737f42a32a26519e33e2bb -export_key: 421f6315d5a2dd7d17eb13c596e69a4455b99209264be00181e99dedf -f76d5a5f55e9cc1340a078f8b307c9dcd95d391193b1ebf648c98378871d087620a0b -a2 -session_key: fc56461df9021851b65b29169b0666e3af085c217079db4fe4881073 -d9796a2a9add0878ec647f841d2e6d8aecb4d3df8fbc13970a1647b743d29fc5cc892 -dab +registration_request: 62235332ae15911d69812e9eeb6ac8fe4fa0ffc7590831d +5c5e1631e01049276 +registration_response: 6268d13fea98ebc8e6b88d0b3cc8a78d2ac8fa8efc741c +d2e966940c52c31c71b2fe7af9f48cc502d016729d2fe25cdd433f2c4bc904660b2a3 +82c9b79df1a78 +registration_upload: 8e5e5c04b2154336fa52ac691eb6df5f59ec7315b8467b0b +ba1ed4f413043b449afea0ddedbbce5c083c5d5d02aa5218bcc7100f541d841bb5974 +f084f7aa0b929399feb39efd17e13ce1035cbb23251da3b5126a574b239c7b73519d8 +847e2fac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d23ba7a38dfe +c8e8bde8d4eb9e171240b3d2dfb43ef93efe5cd15412614b3df11ecb58890047e2fa3 +1c283e7c58c40495226cfa0ed7756e493431b85c464aad7fdaaf1ab41ac7 +KE1: 1670c409ebb699a6012629451d218d42a34eddba1d2978536c45e199c60a0b4e +da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb380cae6a6cc0c3a0 +0c961fead8a16f818929cc976f0475e4f723519318b96f4947a7a5f9663 +KE2: 36b4d06f413b72004392d7359cd6a998c667533203d6a671afe81ca09a282f72 +38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6d378cc +6b0113bf0b6afd9e0728e62ba793d5d25bb97794c154d036bf09c98c472368bffc4e3 +5b7dc48f5a32dd3fede3b9e563f7a170d0e082d02c0a105cdf1ee0ea1928202076ff3 +7ce174f2c669d52d8adc424e925a3bc9a4ca5ce16d9b7a1791ff7e47a0d2fa42424e5 +476f8cfa7bb20b2796ad877295a996ffcb049313f4e971cd9960ecef2fe0d0f749498 +6fa3d8b2bb01963537e60efb13981e138e3d4a1c8c39f573135474c51660b02425bca +633e339cec4e1acc69c94dd48497fe402848f3b062916ea7666973222944dabe1027e +5bea84b1b5d46dab64b1c6eda3170d4c9adba8afa61eb4153061d528b39102f32ecda +7d7625dbc229e6630a607e03 +KE3: 4e23f0f84a5261918a7fc23bf1978a935cf4e320d56984079f8c7f4a54847b9e +979f519928c5898927cf6aa8d51ac42dc2d0f5840956caa3a34dbc55ce74415f +export_key: 403a270110164ae0de7ea77c6824343211e8c1663ccaedde908dc9acf +661039a379c8ac7e4b0cb23a8d1375ae94a772f91536de131d9d86633cb9445f773df +ac +session_key: d2dea308255aa3cecf72bcd6ac96ff7ab2e8bad0494b90180ad340b7 +d8942a36ee358e76c372790d4a5c1ac900997ea2abbf35f2d65510f8dfd668e593b8e +1fe ~~~ ### OPAQUE-3DH Real Test Vector 2 @@ -153,98 +153,98 @@ Nok: 32 ~~~ client_identity: 616c696365 server_identity: 626f62 -oprf_seed: 4f8c9a5c6576fe6cb958f149fec78f4d8a2875bb40615f6f44ecc2fe30 -635396b708ddb7fc10fb73c4e3a9258cd9c3f6f761b2c227853b5def228c850fdbf1e -2 +oprf_seed: f433d0227b0b9dd54f7c4422b600e764e47fb503f1f9a0f0a47c6606b0 +54a7fdc65347f1a08f277e22358bbabe26f823fca82c7848e9a75661f4ec5d5c1989e +f credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 -envelope_nonce: 39886c5188df91d7e03ab3f513b828850a017408ffdf4fe072d40 -d012f55f6ac -masking_nonce: 983deeb54c9c6337fdd9e120de85343dc7887f00248f1acacc4a83 -19d50e29b5 -server_private_key: 7f02b3727a18c1d885605e9e09482e22555110f5d2f31a63f -7f8c17f6a985d0b -server_public_key: c0c1fba5133d9b9b5055287de8c8dea9dfbebe10d12ebdf4bd -8ed249886cc67e -server_nonce: c6d04efaee8370c45fa1dfad70201edd140cec8ed6c73b5fcd15c47 -7408184fa -client_nonce: e8f5bbbaa7ad3dce15eb299eb2a5b34875ff421b1d63d7a2cfd9096 -1b35150da -server_keyshare: 2c3dd46ee4b31250f28ead72fe3d8268ef89d25c9c6318189b9d -04cc729abe51 -client_keyshare: 8824e44af3cdc7a29880ff532751b7ccc6a8875ac14e08964942 -473de9484f7b -server_private_keyshare: 7f5fbe5a989043f533b588f3c89b21c9dc7991b89ddd -28cde4be79afdb83170f -client_private_keyshare: 9909ef87bfd10d3148a64f98e619251074345b023f19 -931b1652c9934a933104 -blind_registration: 45075e8ec6743c394e85e3f81ce383ddf78791d163b457fbe -c78c58c0a55050b -blind_login: 6a7637875c6c59544c262523812302dbec1fc73a01abcdbeadfe898e -54dcfe05 +envelope_nonce: ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d2 +3ba7a38dfec +masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 +f612fdfc6d +server_private_key: 47451a85372f8b3537e249d7b54188091fb18edde78094b43 +e2ba42b5eb89f0d +server_public_key: b2fe7af9f48cc502d016729d2fe25cdd433f2c4bc904660b2a +382c9b79df1a78 +server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e +138e3d4a1 +client_nonce: da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb38 +0cae6a6cc +server_keyshare: c8c39f573135474c51660b02425bca633e339cec4e1acc69c94d +d48497fe4028 +client_keyshare: 0c3a00c961fead8a16f818929cc976f0475e4f723519318b96f4 +947a7a5f9663 +server_private_keyshare: 2e842960258a95e28bcfef489cffd19d8ec99cc1375d +840f96936da7dbb0b40d +client_private_keyshare: 22c919134c9bdd9dc0c5ef3450f18b54820f43f646a9 +5223bf4a85b2018c2001 +blind_registration: 76cfbfe758db884bebb33582331ba9f159720ca8784a2a070 +a265d9c2d6abe01 +blind_login: 6ecc102d2e7a7cf49617aad7bbe188556792d4acd60a1a8a8d2b65d4 +b0790308 ~~~ #### Intermediate Values ~~~ -client_public_key: ee597ed63b18ccc6e5b77ae703e3bd4cfd574650284b21c64e -c16926da7e2851 -auth_key: 0fa176059cf53854c38c9841f8c5d5a756b297528729b4a4b5b7894eec9 -7b1d9dacb29c337a48cbc276db45452adaeb77e1b4f4990b8d0ef4c03413d3af4a274 -randomized_pwd: 15490043fad1f612a0cd72f7571f720f2e5bff138b6c0f9a3f8c7 -feb028761ca6bb602028e4228cbc1bcd9b1a8dc3500a7701d9351864595a765ba6a4c -c1b2f3 -envelope: 39886c5188df91d7e03ab3f513b828850a017408ffdf4fe072d40d012f5 -5f6acef003030d52697e8bfd717c1db8c5ff7a2c0112d7484f1a567c942612c718b5f -010978c806fdaf6892c7ec16d50f80fa12e33daf798e96a71064c72942478bc6 -handshake_secret: 540feab4c07eb9263b828c4c20a6138adb46541de1633da67ce -1393a03c1f5e04167a8b0336b45e8aa2a1c3d8c9452f9aed7b0d54545adfcaaa0aaca -35b0a573 -server_mac_key: d8775d094511b77e17f4433d6cbc53f4b34b69db34a16c8feeffe -573f70175fb0e16f61ab8ccfddf3599f46ccaa95898b8cefc24c3e73d8a900ea4f0c6 -bdbf86 -client_mac_key: b7e1601a00b647a559a25a2f30eec8f1105ff51dbebcaa506d943 -ec2032c0d85c07673c3784c1008493b8a794a1cd2ef8d4972e9472a665c3abee685f2 -03f629 -oprf_key: 671cd2624e173c4df9ff81295c41007bf64fe10dec3cf9fd90365040ba6 -e290c +client_public_key: 8e5e5c04b2154336fa52ac691eb6df5f59ec7315b8467b0bba +1ed4f413043b44 +auth_key: e1ff65c196e1c4b4bf46361798eec479b318831329680f33b4f77ad49d8 +c6e6ef49d87082d654d21f2e36454582353fefc23c07637bd8ca4aa88a4461ea96d6c +randomized_pwd: 4386bf4b83db06f47672fd60b4cface554558da7be3c616c56b2e +d29b544d1b50bc45893b1c05d8d6866a9bbe91395e4704740be58728e8872352f56d5 +319f8f +envelope: ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d23ba7a3 +8dfec43084457c1ffa561c8f37fbad1b8de6c41e6df200e6ebe15d5ce4243fa973ef3 +e480644e56a6de865cc4d3d9e20e0510e63474e2b11f4b4c8f665cc439cc2d7d +handshake_secret: 19d0d9f286f44f573dd61435690b0359c3a70e5c363ba4819ac +fa113b0ddeab603f322185812ddcdd2abbfba77933cd5c3430ea6591e99c30a19884a +80d25dab +server_mac_key: 5096c1f1b295521bc8c5aeba462fc11e123eb710899f164dab737 +45f55f42b27a31f810efb06fc56890f3635a18f3f8c9ef7881f32a251a5f5a7354c82 +70f257 +client_mac_key: 1c284c2a22bfb415a5091c94726dd02ae9adb12d28db5207a87be +0c3f75c1c37df549315f51e0dd2053271a477a45bf0adbc246f7f7e47e201785b6429 +e93a84 +oprf_key: 6c246eaa55e47d0490ffa8a6f784e803eed9384a250458def36a2acebf1 +5c905 ~~~ #### Output Values ~~~ -registration_request: 3e054b6596da6f0da124baa2c095a29c3a6b48571aae699 -96f0e079067ac4172 -registration_response: c45804cfaa87737d2309164bf7fc0567358c9fef629afd -47a17440d7d43ee71ac0c1fba5133d9b9b5055287de8c8dea9dfbebe10d12ebdf4bd8 -ed249886cc67e -registration_upload: ee597ed63b18ccc6e5b77ae703e3bd4cfd574650284b21c6 -4ec16926da7e2851dffc6e3207fd7ad90fb974e8f35d17a1f60c0fc9e6cbc49375917 -556413a1dac4f9c719e6f63055055276c46d5a308dd4c3f07ca3061176a7ef9200b9c -4a451239886c5188df91d7e03ab3f513b828850a017408ffdf4fe072d40d012f55f6a -cef003030d52697e8bfd717c1db8c5ff7a2c0112d7484f1a567c942612c718b5f0109 -78c806fdaf6892c7ec16d50f80fa12e33daf798e96a71064c72942478bc6 -KE1: 7002a52fa6c2916c49c1fff952e818e458c7f7799139b243918c97758f463a47 -e8f5bbbaa7ad3dce15eb299eb2a5b34875ff421b1d63d7a2cfd90961b35150da8824e -44af3cdc7a29880ff532751b7ccc6a8875ac14e08964942473de9484f7b -KE2: 6e78c98f76160c8cb4df1d0cf3fa038a32b900a1f208901b69b7fb695c28001d -983deeb54c9c6337fdd9e120de85343dc7887f00248f1acacc4a8319d50e29b5f9f61 -75f37e8a0718398038dd5159f049f6e7f96be9754907827de30738109889169846cea -a7eee3a6109334a84fd6ec3bb5d462d5b87359f1d909ca5e9b0e7b43000dba44fb4df -9f1629bbe20dd92de2972072ac4ddae968c2dadba8614afa8f0f29cd67ba8e18ced81 -49290e67f772f4ff6984a1fd4f163dc2325841eb723bc6d04efaee8370c45fa1dfad7 -0201edd140cec8ed6c73b5fcd15c477408184fa2c3dd46ee4b31250f28ead72fe3d82 -68ef89d25c9c6318189b9d04cc729abe513ce37681b1db692d3f47e486c31c22e4390 -95dc9a4155dca22a5d2e6b8a517f2f7a5d8cb0df01673030683f72a0f62bb0941350c -68d9dc7c449aaa0140bba686 -KE3: 4f74844e0c86abbc9189cb03f57e807e2034bdd07f17e67233010a6cacd9ef11 -0f153418cafca68e0f8f4f48234d705089f64a7b47bacd0abea3f2a574da5629 -export_key: 5c54270bf510936861ea01444d70a7204a6fe1de33ca9613d41e02d30 -0d1e6a90b15cabee67a0129629f6b3aac173e1483dfc43457d72fe6df6524a639f89a -1f -session_key: 391db76593cd7f7766b68de34f99b8c0253e86914dbb18177c011d3e -05d611a3a2d0ef7a2b58468c1549444f81a60afbf635d2f6f878fc63061ecc94cfb27 -ba8 +registration_request: 62235332ae15911d69812e9eeb6ac8fe4fa0ffc7590831d +5c5e1631e01049276 +registration_response: 6268d13fea98ebc8e6b88d0b3cc8a78d2ac8fa8efc741c +d2e966940c52c31c71b2fe7af9f48cc502d016729d2fe25cdd433f2c4bc904660b2a3 +82c9b79df1a78 +registration_upload: 8e5e5c04b2154336fa52ac691eb6df5f59ec7315b8467b0b +ba1ed4f413043b449afea0ddedbbce5c083c5d5d02aa5218bcc7100f541d841bb5974 +f084f7aa0b929399feb39efd17e13ce1035cbb23251da3b5126a574b239c7b73519d8 +847e2fac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d23ba7a38dfe +c43084457c1ffa561c8f37fbad1b8de6c41e6df200e6ebe15d5ce4243fa973ef3e480 +644e56a6de865cc4d3d9e20e0510e63474e2b11f4b4c8f665cc439cc2d7d +KE1: 1670c409ebb699a6012629451d218d42a34eddba1d2978536c45e199c60a0b4e +da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb380cae6a6cc0c3a0 +0c961fead8a16f818929cc976f0475e4f723519318b96f4947a7a5f9663 +KE2: 36b4d06f413b72004392d7359cd6a998c667533203d6a671afe81ca09a282f72 +38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6d378cc +6b0113bf0b6afd9e0728e62ba793d5d25bb97794c154d036bf09c98c472368bffc4e3 +5b7dc48f5a32dd3fede3b9e563f7a170d0e082d02c0a105cdf1ee0279ab2faaf30bb2 +722ef0dbb4c66632703c736dc6aeb163c467a60e0abb09bf4d4d49c1c65f522667cb4 +b6da94faa9d7835ad67e8e3198afb4e64d6fb06bc35371cd9960ecef2fe0d0f749498 +6fa3d8b2bb01963537e60efb13981e138e3d4a1c8c39f573135474c51660b02425bca +633e339cec4e1acc69c94dd48497fe4028dfe19d6cf6d292ae99a497f9ba41702a194 +5f5d9f3ab60ea801b5a691098c7af74956a5e1324322877b6d399583670e54dc90752 +5235fd47c8e396fab340beed +KE3: 824fe89731cd47062819165662cd1c42c4b2d2321bd062e637fdd0361b0dad03 +02bd5e9a9d02c72452dc65298bf330071e061b8bb4e1c8762a350d99c8c003ac +export_key: 403a270110164ae0de7ea77c6824343211e8c1663ccaedde908dc9acf +661039a379c8ac7e4b0cb23a8d1375ae94a772f91536de131d9d86633cb9445f773df +ac +session_key: 5ea9a76f5f5cc59ba7871012836947c946f8c303cc94e048cdc83ada +c89db7187cf5c718ffdd7cb6d8c3005dc0f77814d5f26011b584f9622c649a357cb17 +a4c ~~~ ### OPAQUE-3DH Real Test Vector 3 @@ -270,86 +270,86 @@ Nok: 32 #### Input Values ~~~ -oprf_seed: 380d78c283bf98e26334038293e47865922a3b54d3722d8e9ced1c8729 -c42f5a +oprf_seed: 62f60b286d20ce4fd1d64809b0021dad6ed5d52a2c8cf27ae6582543a0 +a8dce2 credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 -envelope_nonce: a994c5c01c1855151c467aa331d70f59d9bb63e9afa1e314672a9 -c7c6e460d5d -masking_nonce: 848bdf20ed725f0fa3b58e7d8f3eab2a0aace261f61193c7f85709 -e9794357fb -server_private_key: 63b448daf85853343c35ec32253326810d0d88f0936c712d3 -e901b42cb792f37 -server_public_key: 02217c73e50ebf9f8ea0e080a2ecbaf594ca7d5828984e8d5d -455d42ac8531e4f1 -server_nonce: 84ff1f2a310fe428d9de5819bf63b3942dbe09f991ca0cf545e33a8 -fa17ab9c6 -client_nonce: 72721898ef81cc0a76a0b5508f2f7bb817e86f1dd05ca013190a686 -02c7af25f -server_keyshare: 0212d788fc5776bd88b7aa01e72ad0d147d8c8a3d9e47d94ca79 -10e29f11297b34 -client_keyshare: 03a51c7c3d3a69f5217c0f8de4efa242b0cf4ba35cc67c820e57 -b69e7a4f53cd69 -server_private_keyshare: b3c02a66ef9a72d48cca6c1f9afc1fedea22567b0868 -140b482123652ea37c7f -client_private_keyshare: 5d25f85613f5838cd7c6b1697f27bb5e8018e88ecfc5 -3891529278c47239f8ff -blind_registration: 7b5d31d5e3ebdb127f92416a3cbcda76e24b2be8d08c79074 -a5520292916911b -blind_login: 47401b35db40bdc28cd90b502b3390d3cfea5814c105ca7b460cdf8a -7012c76d +envelope_nonce: a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebd +cf65670e51f +masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 +f612fdfc6d +server_private_key: c36139381df63bfc91c850db0b9cfbec7a62e86d80040a41a +a7725bf0e79d5e5 +server_public_key: 035f40ff9cf88aa1f5cd4fe5fd3da9ea65a4923a5594f84fd9 +f2092d6067784874 +server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e +138e3d4a1 +client_nonce: ab3d33bde0e93eda72392346a7a73051110674bbf6b1b7ffab8be4f +91fdaeeb1 +server_keyshare: 020e67941e94deba835214421d2d8c90de9b0f7f925d11e2032c +e19b1832ae8e0f +client_keyshare: 03493f36ca12467d1f5eaaabea67ca31377c4869c1e9a62346b6 +f01a991624b95d +server_private_keyshare: 9addab838c920fa7044f3a46b91ecaea24b0e7203992 +8ee7d4c37a5b9bc17349 +client_private_keyshare: 89d5a7e18567f255748a86beac13913df755a5adf776 +d69e143147b545d22134 +blind_registration: 411bf1a62d119afe30df682b91a0a33d777972d4f2daa4b34 +ca527d597078153 +blind_login: c497fddf6056d241e6cf9fb7ac37c384f49b357a221eb0a802c989b9 +942256c1 ~~~ #### Intermediate Values ~~~ -client_public_key: 030068ab6e722bb6593382a86becf60ed8290650402470c21d -c90bd0ea9da0f19b -auth_key: 8813ac116d6d46df161221d53ba5ec3bd68baca857c9ee8e3eecb7fc162 -08fe0 -randomized_pwd: f19aa5337d0ef8c7f728787df75f9abb6a0d06c854960d0646844 -c8d68dcc3f2 -envelope: a994c5c01c1855151c467aa331d70f59d9bb63e9afa1e314672a9c7c6e4 -60d5d6465561f86591334921a1c4402ecbfab336a9945ce398848eff0990b44f4b6a0 -handshake_secret: 019dee3711ac01beb7674207a7ed2814f67658d10c52cd71d71 -6b87e4204d9a0 -server_mac_key: 922a759956ae32addb64e55343677c08538eeddcba9a8b4e861f2 -1e9c3849d5c -client_mac_key: ba64564e701ed14b35c6c0d124f6dc98ee1a138c40b4267079363 -7419654cd28 -oprf_key: 7ad47c7aa69dc3700c91449472d4bd09b15543683560870c7dd21b78398 -0f7bf +client_public_key: 03763748cc2dfe4f6f80f8e4f3087b2d2222a7c9ba7d3c3aa8 +e89c4975eed0999f +auth_key: 1fa6020180e18dde869f4f8363fc1b6841dbbc9fc9d258ece830af7efc2 +5abdb +randomized_pwd: 4138e29dc8398d8c83b89129cb29ee5dc962fcb5fb2dca25981cb +351b83e0546 +envelope: a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebdcf6567 +0e51fc82109537121d7c39d96f3e04732e1f0b8cc55d98bb4e5968ace317de1d42c3d +handshake_secret: 21c9ee3561e6924110d86f99a624fe2fdc1aeea03f1b17c279f +b94da851e3686 +server_mac_key: 87cab7092d3219b613459ea1ec2973be054367b331937d6973181 +2f418425082 +client_mac_key: 9dffe56b53981e86b37553beedb5d2226465a02d75d577bacef82 +9775494bd93 +oprf_key: 59984c44639e303cd46912ce722fc7d042023f25e264a3775667ea63c30 +add69 ~~~ #### Output Values ~~~ -registration_request: 0347ed9a28ccf8baae3b312837378fbd4f994bf601a2522 -0bc404102bd1cd9e4a0 -registration_response: 027818306df41ac75916146c9d0f06d842e83f232a61da -40b660ee5d670cf77b8202217c73e50ebf9f8ea0e080a2ecbaf594ca7d5828984e8d5 -d455d42ac8531e4f1 -registration_upload: 030068ab6e722bb6593382a86becf60ed8290650402470c2 -1dc90bd0ea9da0f19b4344705e052a843c4cced8ce7c87478555cff1323fc64063301 -9423a19455e53a994c5c01c1855151c467aa331d70f59d9bb63e9afa1e314672a9c7c -6e460d5d6465561f86591334921a1c4402ecbfab336a9945ce398848eff0990b44f4b -6a0 -KE1: 0226bc3aeccce9c813eaec852599fe76eafe611467a054e738441d4a3b7922aa -ba72721898ef81cc0a76a0b5508f2f7bb817e86f1dd05ca013190a68602c7af25f03a -51c7c3d3a69f5217c0f8de4efa242b0cf4ba35cc67c820e57b69e7a4f53cd69 -KE2: 02745cdd4d8336647d5de1715fff6a639b8799e3c6ad951faae59203f4bd97b7 -89848bdf20ed725f0fa3b58e7d8f3eab2a0aace261f61193c7f85709e9794357fbd6b -dad9096bf4fa824a2e78e8f36209c9a7fbac3ccd0d56c2b6ea9a0cca3ec7691594eaa -bafbcb4b8b32b65dd8e9fe7e903d9639d67787a2ef7d88d06d257f791eaa59fb7a8b3 -d8ec4186c6707b2942dc6ef990e8b958d79c27587f73d371a7cc884ff1f2a310fe428 -d9de5819bf63b3942dbe09f991ca0cf545e33a8fa17ab9c60212d788fc5776bd88b7a -a01e72ad0d147d8c8a3d9e47d94ca7910e29f11297b344439d99f9408b8047da08d4d -6ea017e571a26a9a1d80440ed9e4793684dd463d -KE3: a453c142682a3247cea48735543911b07c7498c1c3a7908b8b60c8e1fb90adf1 -export_key: feda4a04aa974c1ef9c9d047eb2909ee175851f1c0f5ba37929673f0e -46235e4 -session_key: 3585c6e3365b8ad1daa5fd7c3878de2930e6d844bdc8fb13f09debce -b82fde22 +registration_request: 0271e8fd723a873d16ddbda1d3700b9a42eca179ba09a8f +c2a2e40a8142fa35fe0 +registration_response: 03c6fe2c086fa5333a15c5718ddda1f15a61e9ea9a0c4a +36f5f0dfe4f090250a70035f40ff9cf88aa1f5cd4fe5fd3da9ea65a4923a5594f84fd +9f2092d6067784874 +registration_upload: 03763748cc2dfe4f6f80f8e4f3087b2d2222a7c9ba7d3c3a +a8e89c4975eed0999f5b042a53415b5db1161dacf9f9ef0c30ed6b0179038e5e8e5a0 +aa087c8bc0753a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebdcf6 +5670e51fc82109537121d7c39d96f3e04732e1f0b8cc55d98bb4e5968ace317de1d42 +c3d +KE1: 036514cf26a2578f1a45ea8faf540e52b237236ee97dc54948eca7b7f71ba9e1 +29ab3d33bde0e93eda72392346a7a73051110674bbf6b1b7ffab8be4f91fdaeeb1034 +93f36ca12467d1f5eaaabea67ca31377c4869c1e9a62346b6f01a991624b95d +KE2: 036ebcb79716cf2ecd0b3e5f3141709f72feb7369d2de41c61e0fa5695e78385 +3e38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6d286 +5751562662eea8de000fdfd4cd1bf506b137d12f28bffaf11a0d720c6ddfe532b2aff +31acb0a8fbb89de1e29cc5a93a33f2e259cf59ad6c88a473d5f056aeb2b6b5eb03a0e +21e32a309373ed45506c3f58bf3d9978925cbf35b337e8ae220be71cd9960ecef2fe0 +d0f7494986fa3d8b2bb01963537e60efb13981e138e3d4a1020e67941e94deba83521 +4421d2d8c90de9b0f7f925d11e2032ce19b1832ae8e0fb6eda25f9a67e3930e862860 +02b8dd8b6339ddfdbaebaefe205fe474fb66884d +KE3: 4fd2178c39492f816796db05aa2400204944d6bc5ed4a1e4d7b8b24b9f1894bc +export_key: 00e1f2a1613c78183ec5127f805d320f31ce5dfef70d78f64d327d6c6 +e325ae1 +session_key: e39ed0c2a0b551bad5e9e8bb7017c66918d514b6412a4e30d4cac7a7 +08d35646 ~~~ ### OPAQUE-3DH Real Test Vector 4 @@ -377,86 +377,86 @@ Nok: 32 ~~~ client_identity: 616c696365 server_identity: 626f62 -oprf_seed: b19c2b0ccd8ba22218b6c772e19c4174dc8f436b55b69a4fd701d69873 -dacfeb +oprf_seed: 62f60b286d20ce4fd1d64809b0021dad6ed5d52a2c8cf27ae6582543a0 +a8dce2 credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 -envelope_nonce: 3f1640a6645455ac63788ee075c245690f9669a9af5699e8b23d6 -d1fa9e697ae -masking_nonce: f1029631944beed3594c283c581ac468101aee528cc6b69daac7a9 -0de8837d49 -server_private_key: 31ae68b478bfc59f5ef534d4e0092e8ef1bfe338aaa4b65c0 -563d42fe20626a0 -server_public_key: 025cbe5babe2fb2b94ee2527bcdc66fd3a62f4b7e724bdb3ef -4a41cfee527434f3 -server_nonce: df174426b40de97e2fabc448b1f4ab66a1a3149df447696d2838463 -8319c3819 -client_nonce: a2912bab9b6a62cddf7d5e3209a2859e5947586f69259e0708bdfab -794f689ee -server_keyshare: 02ad94bd9a2bb46d8e8ea26ae480a24e2825f58560a20d583a3c -c5078849bdfb8b -client_keyshare: 038744dec9da18441e1ef78ff9b2e5d62c713e56eee7aa326a9b -e577365f919d6c -server_private_keyshare: 711c04899739c0620dc94323d026011ac6def373c257 -5400d4018ae26bb2437c -client_private_keyshare: 708e76310767cbe4af18594dfcd436216c2658300d05 -18d56d002be476bd06c8 -blind_registration: b4526267d942b842e4426e429d05ea84aa6ab34552f0c4a3b -9efdcacbf50daec -blind_login: 12176d4f7ab74fa5fadace604308682dc1bdab92ff91bb1a5fc5bc08 -4223fe44 +envelope_nonce: a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebd +cf65670e51f +masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 +f612fdfc6d +server_private_key: c36139381df63bfc91c850db0b9cfbec7a62e86d80040a41a +a7725bf0e79d5e5 +server_public_key: 035f40ff9cf88aa1f5cd4fe5fd3da9ea65a4923a5594f84fd9 +f2092d6067784874 +server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e +138e3d4a1 +client_nonce: ab3d33bde0e93eda72392346a7a73051110674bbf6b1b7ffab8be4f +91fdaeeb1 +server_keyshare: 020e67941e94deba835214421d2d8c90de9b0f7f925d11e2032c +e19b1832ae8e0f +client_keyshare: 03493f36ca12467d1f5eaaabea67ca31377c4869c1e9a62346b6 +f01a991624b95d +server_private_keyshare: 9addab838c920fa7044f3a46b91ecaea24b0e7203992 +8ee7d4c37a5b9bc17349 +client_private_keyshare: 89d5a7e18567f255748a86beac13913df755a5adf776 +d69e143147b545d22134 +blind_registration: 411bf1a62d119afe30df682b91a0a33d777972d4f2daa4b34 +ca527d597078153 +blind_login: c497fddf6056d241e6cf9fb7ac37c384f49b357a221eb0a802c989b9 +942256c1 ~~~ #### Intermediate Values ~~~ -client_public_key: 02bef9b16c148b03218e5f8b01a4b52d5cea4a51ddbc76743a -13ba2fa5d1631b33 -auth_key: 6dd41a206a9f6a75e02e80e7bb4e696ee2ba68e01e1f96c65e1afc9556a -e1ec8 -randomized_pwd: 95847555e29a90ecd2af4e26343be5c65e1c347f1d921be48ba9d -f4e61fad23d -envelope: 3f1640a6645455ac63788ee075c245690f9669a9af5699e8b23d6d1fa9e -697aebc8f31f964da8a9c11a21b359f7522ae50bc02c85362e7dbf051bdf3bf113d98 -handshake_secret: 19b7cd9abb29842a0786aec00a574d29f6080cf128840c4867e -2077ba430b621 -server_mac_key: 700c2b8c1797a44829e511aef4c66a49ea43aa5ef2847e4993946 -798d8d7cbdf -client_mac_key: dfc3af348aa8baf3e95eb904fdfdb11cf8606b961f14dfd5d6881 -7658b4d7178 -oprf_key: 0a663cda294cc97edada43ff06235a23ac53bf55c439ecc664c01e44738 -74e65 +client_public_key: 03763748cc2dfe4f6f80f8e4f3087b2d2222a7c9ba7d3c3aa8 +e89c4975eed0999f +auth_key: 1fa6020180e18dde869f4f8363fc1b6841dbbc9fc9d258ece830af7efc2 +5abdb +randomized_pwd: 4138e29dc8398d8c83b89129cb29ee5dc962fcb5fb2dca25981cb +351b83e0546 +envelope: a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebdcf6567 +0e51f6f7b04d6f92795c9bdb72da5ebe7745b8a6c38fc64c391b1be60b4f49ff2ce67 +handshake_secret: 2bbe0da5102418c041884e9d42e62c946255138d74ea3d69acd +013bf2240c849 +server_mac_key: 2b23b08101bbecc22352f1580cd73c1678affdca160ec8cfccbe0 +e808029d192 +client_mac_key: e279a0b44ae7c1ffb57e7cf179369c6282a18e38e6d1d070eee81 +a44062d59e5 +oprf_key: 59984c44639e303cd46912ce722fc7d042023f25e264a3775667ea63c30 +add69 ~~~ #### Output Values ~~~ -registration_request: 024cd26832a141c12564716b57b3101d281193c3a2cfaf4 -b4d0217b98c69a6e356 -registration_response: 034b85dfb783b81cfdcc2255b6ba440479439c17e5f566 -690de0dff23ab08bb153025cbe5babe2fb2b94ee2527bcdc66fd3a62f4b7e724bdb3e -f4a41cfee527434f3 -registration_upload: 02bef9b16c148b03218e5f8b01a4b52d5cea4a51ddbc7674 -3a13ba2fa5d1631b33f8295762da035ff51f6ae4c07fac29e73b900f39a6be5a222d1 -43e466282bff13f1640a6645455ac63788ee075c245690f9669a9af5699e8b23d6d1f -a9e697aebc8f31f964da8a9c11a21b359f7522ae50bc02c85362e7dbf051bdf3bf113 -d98 -KE1: 03ff69ee0b845955eafc817acf721fdecccc94977c4aa0841ec33bf5060375e3 -a4a2912bab9b6a62cddf7d5e3209a2859e5947586f69259e0708bdfab794f689ee038 -744dec9da18441e1ef78ff9b2e5d62c713e56eee7aa326a9be577365f919d6c -KE2: 026c5dfb5840f9e18b49a2553083bf600b23d73a5352a289223d2a1175d36c9f -b0f1029631944beed3594c283c581ac468101aee528cc6b69daac7a90de8837d49b76 -72e17bcd95b17b4d599321921a0ff1d3783624edb14480c018bf39e7a7bab84752a79 -7ced451076a5542cf5b0b8433d2b8cd5ceaf9ef7c5f9c1ac13a3e9ff6242362de7710 -c5106109ea6a6889388a62a44c932e225c18d649bb44df09b0fffdf174426b40de97e -2fabc448b1f4ab66a1a3149df447696d28384638319c381902ad94bd9a2bb46d8e8ea -26ae480a24e2825f58560a20d583a3cc5078849bdfb8b3d44038b2e740b28519d83f3 -8b58cfc221a4421bca2eb74efd05f5c31b34190b -KE3: 6ad96f7b8b167c3482babae788482ddd2ef417eff9ad5617ae49f6c35613b723 -export_key: 7284190bd6a6e175cf38846f1374b5f81a481200f774482d89bdb93e0 -3674f15 -session_key: 4114f3f9ddb7d6f84fc479ab1cbf2e6470540e814b75329661d22fc5 -5a8eadff +registration_request: 0271e8fd723a873d16ddbda1d3700b9a42eca179ba09a8f +c2a2e40a8142fa35fe0 +registration_response: 03c6fe2c086fa5333a15c5718ddda1f15a61e9ea9a0c4a +36f5f0dfe4f090250a70035f40ff9cf88aa1f5cd4fe5fd3da9ea65a4923a5594f84fd +9f2092d6067784874 +registration_upload: 03763748cc2dfe4f6f80f8e4f3087b2d2222a7c9ba7d3c3a +a8e89c4975eed0999f5b042a53415b5db1161dacf9f9ef0c30ed6b0179038e5e8e5a0 +aa087c8bc0753a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebdcf6 +5670e51f6f7b04d6f92795c9bdb72da5ebe7745b8a6c38fc64c391b1be60b4f49ff2c +e67 +KE1: 036514cf26a2578f1a45ea8faf540e52b237236ee97dc54948eca7b7f71ba9e1 +29ab3d33bde0e93eda72392346a7a73051110674bbf6b1b7ffab8be4f91fdaeeb1034 +93f36ca12467d1f5eaaabea67ca31377c4869c1e9a62346b6f01a991624b95d +KE2: 036ebcb79716cf2ecd0b3e5f3141709f72feb7369d2de41c61e0fa5695e78385 +3e38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6d286 +5751562662eea8de000fdfd4cd1bf506b137d12f28bffaf11a0d720c6ddfe532b2aff +31acb0a8fbb89de1e29cc5a93a33f2e259cf59ad6c88a473d5f056aeb211efe68628e +45c388328e97b78809368c72b9efc78fe51ecc7f5b6f7f4c4c2e471cd9960ecef2fe0 +d0f7494986fa3d8b2bb01963537e60efb13981e138e3d4a1020e67941e94deba83521 +4421d2d8c90de9b0f7f925d11e2032ce19b1832ae8e0f182fa038ada128f4440131f9 +8adc14cfbdf9045d95b6a55db9b38ffd0aa539f7 +KE3: a9a61a2442845e83b86c22d56ff038893208fcb0e2026d65e2a04f87497e873f +export_key: 00e1f2a1613c78183ec5127f805d320f31ce5dfef70d78f64d327d6c6 +e325ae1 +session_key: 9d15a7020c089b7c7ab7d6341e34a16260279b59dda8d63cabd3da0b +a14da32c ~~~ ## Fake Test Vectors {#fake-vectors} @@ -486,47 +486,47 @@ Nok: 32 ~~~ client_identity: 616c696365 server_identity: 626f62 -oprf_seed: 28885f5b834484836667b5ffb0ecf900c07c55d70e9894af0231f52c54 -dd29cccdae5fae5b60c92fa3cd7e6f042429c7c9e946f5351292fa08f4e99e395c30a -9 +oprf_seed: 743fc168d1f826ad43738933e5adb23da6fb95f95a1b069f0daa0522d0 +a78b617f701fc6aa46d3e7981e70de7765dfcd6b1e13e3369a582eb8dc456b10aa53b +0 credential_identifier: 31323334 -masking_nonce: 59d26775ae953b9552fdfbf2ab6f469f2f153f9a88aacb7ed434ae -d9fd7ac1ab -client_private_key: 11e4c3344def24f8f55f46f9b72584b36ce931e2a11299afc -6093dff0fbf470f -client_public_key: 020693a36a55d62c38bd2d5f1aaeac2a918e90e1df44a12f48 -ce800f7f6e5764 -server_private_key: f5002870ce2c5117d0ada53bf11fd7144f72510098b8d477f -ba67a07e5d1640b -server_public_key: 463499017daf13c3915d866656576a8920e15aaf860568d68d -4e1edbc5452802 -server_nonce: 7954ebf0e81a893021ee24acc35e1a3f4b5e0366c15771133082ec2 -1035ae0ef -server_keyshare: 42a889e6b6d90e31ce452e2ecf4d14ec0c5f5205981d828ae380 -90fdcae8bc25 -server_private_keyshare: 8d39667010ba488071c889447a547931809e3723b66e -33cf672395a8b48b980a -masking_key: 1bad1c8b6ad879e348e15bd698ee70b2c51d3e89d9c08b00889a1fa8 -f3947a48dac9ad994e946f408a2c31250ee34f9d04a7d85661bab11c67048ecfb7a68 -c65 -KE1: 943a149cf304878367fa2dce5cb30eac23cfd1358e5cc0efdbd4361a9e7bd72d -c26fead2a8b3d5910e25fd29402530b5c7e852585f843f3b939993624b8a7c3b58106 -2b0e8e90db4798adbb49581f016034e0855b6d6199aceb56a71c9bd4866 +masking_nonce: 9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c61 +9e27b6e5a6 +client_private_key: 2b98980aa95ab53a0f39f0291903d2fdf04b00c167f081416 +9922df873002409 +client_public_key: 84f43f9492e19c22d8bdaa4447cc3d4db1cdb5427a9f852c47 +07921212c36251 +server_private_key: c788585ae8b5ba2942b693b849be0c0426384e41977c18d2e +81fbe30fd7c9f06 +server_public_key: 825f832667480f08b0c9069da5083ac4d0e9ee31b49c4e0310 +031fea04d52966 +server_nonce: 1e10f6eeab2a7a420bf09da9b27a4639645622c46358de9cf7ae813 +055ae2d12 +server_keyshare: 5236e2e06d49f0b496db2a786f6ee1016f15b4fd6c0dbd95d6b1 +17055d914157 +server_private_keyshare: 6d8fba9741a357584770f85294430bce2252fe212a8a +372152a73c7ffe414503 +masking_key: 39ebd51f0e39a07a1c2d2431995b0399bca9996c5d10014d6ebab445 +3dc10ce5cef38ed3df6e56bfff40c2d8dd4671c2b4cf63c3d54860f31fe40220d690b +b71 +KE1: 20098d3321812eab08e9f3ccd5640d26194cb5cf73f4c5d551f9fea8f5a5765f +42d4e61ed3f8d64cdd3b9d153343eca15b9b0d5e388232793c6376bd2d9cfd0a0e4ed +8bcc15f3dd01a30365c97c0c0de0a3dd3fbf5d3cbec55fb6ac1d3bf740f ~~~ #### Output Values ~~~ -KE2: d0b9756ee8cdf900c4120b84b2fcb9c1961b4272fa7d393a33ffa273587f547a -59d26775ae953b9552fdfbf2ab6f469f2f153f9a88aacb7ed434aed9fd7ac1abd4709 -ea9ca3ff1bd89374fc6132b7c027593dc7f0ce02da216dde6e90c9a75da99aea9e1e6 -c8de0cdd29d54df90584fa83be96c22436b80aed30ea658c79c40cee00730b9d866c2 -db24145be6911b530631f5e279ee3fb0b801c3d0c0c3c7de54c745f219fde845a5b9c -415facd45b670dea221104a2a73dab32a0cd951d20a67954ebf0e81a893021ee24acc -35e1a3f4b5e0366c15771133082ec21035ae0ef42a889e6b6d90e31ce452e2ecf4d14 -ec0c5f5205981d828ae38090fdcae8bc258ce81724ca613428f82a6f9376f03904f34 -dd85794caaaafb55abedfddd35e785e5f7543a8b52964b290869bdd9b786d2c412e50 -72784ee403eee9acfa8a5b9e +KE2: e891a2527f657f5a72d723c735e9c3ae9179275f8e74f89a81418561b1db5670 +9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c619e27b6e5a632b5a +b1bff96636144faa4f9f9afaac75dd88ea99cf5175902ae3f3b2195693f165f11929b +a510a5978e64dcdabecbd7ee1e4380ce270e58fea58e6462d92964a1aaef72698bca1 +c673baeb04cc2bf7de5f3c2f5553464552d3a0f7698a9ca7f9c5e70c6cb1f706b2f17 +5ab9d04bbd13926e816b6811a50b4aafa9799d5ed7971e10f6eeab2a7a420bf09da9b +27a4639645622c46358de9cf7ae813055ae2d125236e2e06d49f0b496db2a786f6ee1 +016f15b4fd6c0dbd95d6b117055d9141571ef6a1ac9c84f21e6914ecb5d2020fe50c2 +5b3c026b9f7a877c7526c13309cc4dd4d33050932c627813a67ceb1d3a8e0065fd55a +054296ef3097c6a8a04ac33c ~~~ ### OPAQUE-3DH Fake Test Vector 2 @@ -554,42 +554,42 @@ Nok: 32 ~~~ client_identity: 616c696365 server_identity: 626f62 -oprf_seed: 94384ca183c8e6f639ab29b5d2a81ef4305df9a67cb33db5ba8082e4f4 -bfb830 +oprf_seed: bb1cd59e16ac09bc0cb6d528541695d7eba2239b1613a3db3ade77b362 +80f725 credential_identifier: 31323334 -masking_nonce: 375d7dcbd562a62190cc569ccc809cff9d5aa5e176d48e9646b558 -eb41ffab7c -client_private_key: 9ecb5dc678e429e1a01ad6fe5d45301484d12c2a2cf2278fa -c0a0a2cf96eef57 -client_public_key: 035951b821e6e1e449933fdba30c7e2e8b6e8f42f4c7a54c80 -010a339e72cb2253 -server_private_key: 7154525469c4fbae6c9907f4ff26a6386c0a4077f512138e2 -203f247d56cbe91 -server_public_key: 02acadb2750e036bfcbdb3c5aacad0f55c832631cc8f8e26a6 -bc65f7e53525ae79 -server_nonce: e0d04374ad9a276620c681abfca7bdb432e63509e5ec96ed2ec5542 -f6fc7db23 -server_keyshare: 02ffe33c6d938b4d10afeb4ad5ba108ad228317ecab3d6a78a3b -4e2494dc7ec8fb -server_private_keyshare: 034ce43e75362936d67055acf8301fbb910e2afd8769 -c4334721fc4ff6bab1d7 -masking_key: 1db20e37f4539b2327d37b80c00b98a2cfea9156e5e889b4efa3556e -9f0d24ce -KE1: 0258384d63ae4bbddde6d00d41b0e7174695ff6234563e16fc284aa589c7de93 -f9b8bb2700cdd47e339d95404519f2fb3da58c93d84cbb4d51de6757a31919382b026 -30e46a94b7f8f66071d24794c37f605055c098afc04d637caf9b1bc714bd15c +masking_nonce: 9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c61 +9e27b6e5a6 +client_private_key: d423b87899fc61d014fc8330a4e26190fcfa470a3afe59243 +24294af7dbbc1dd +client_public_key: 03b81708eae026a9370616c22e1e8542fe9dbebd36ce8a2661 +b708e9628f4a57fc +server_private_key: 34fbe7e830be1fe8d2187c97414e3826040cbe49b893b6422 +9bab5e85a5888c7 +server_public_key: 0221e034c0e202fe883dcfc96802a7624166fed4cfcab4ae30 +cf5f3290d01c88bf +server_nonce: 1e10f6eeab2a7a420bf09da9b27a4639645622c46358de9cf7ae813 +055ae2d12 +server_keyshare: 03f42965d5bcba2a590a49eb2418061effe40b5c29a34b8e5163 +e0ef32044b2e4c +server_private_keyshare: 1a2a0ff27f3ca75221378a2a21fe5222ce0b439452f8 +70475857a34197ba8f6d +masking_key: caecc6ccb4cae27cb54d8f3a1af1bac52a3d53107ce08497cdd362b1 +992e4e5e +KE1: 0223afb7e2362271bdf2e20c62e25819e65d379308dfa4d9911f2fc7ada2296f +7f42d4e61ed3f8d64cdd3b9d153343eca15b9b0d5e388232793c6376bd2d9cfd0a039 +94d4f1221bfd205063469e92ea4d492f7cc76a327223633ab74590c30cf7285 ~~~ #### Output Values ~~~ -KE2: 02d0866ee88ab8dc2eb5e39e859e55fa96dca50dc2d280e66dc747f21a14c015 -f9375d7dcbd562a62190cc569ccc809cff9d5aa5e176d48e9646b558eb41ffab7c7d6 -5027823b4a13e0a19c738eed6ccf3ee141697d93ffe7192a32d1cf803557cc1627fe1 -1ccc933dffb662c2d8bbaa97c375287cb172d942c0f0252be71c74f367bd69bc17a7a -7d1e5e25dd1528e81a65f3b8a266c45f0dbf66486c1c65749ff06e0d04374ad9a2766 -20c681abfca7bdb432e63509e5ec96ed2ec5542f6fc7db2302ffe33c6d938b4d10afe -b4ad5ba108ad228317ecab3d6a78a3b4e2494dc7ec8fb120aed0e35ab8f67a2a723fe -bf5e5f590d57c08245419972555a59b058240c46 +KE2: 029c5324a734851923b27ea573dce1c2ed10c497ee222c5500763c96c5209db0 +cd9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c619e27b6e5a6fac +da65ce0a97b9085e7af07f61fd3fdd046d257cbf2183ce8766090b8041a8bf28d79dd +4c9031ddc75bb6ddb4c291e639937840e3d39fc0d5a3d6e7723c09f7945df485bcf9a +efe3fe82d149e84049e259bb5b33d6a2ff3b25e4bfb7eff0962821e10f6eeab2a7a42 +0bf09da9b27a4639645622c46358de9cf7ae813055ae2d1203f42965d5bcba2a590a4 +9eb2418061effe40b5c29a34b8e5163e0ef32044b2e4c1bf93ad07640bc9ed22e2a33 +8734d55d0d22f5cc16d179e5aa4cce845b9a04a8 ~~~ "#;