Test P-521 (#349)

* Test P-521

* De-duplicate generic calls

* Simplify full test vectors generation
This commit is contained in:
daxpedda
2023-11-16 11:07:46 -08:00
committed by GitHub
parent c728c37f15
commit 56cdf9a024
6 changed files with 1129 additions and 941 deletions
+4
View File
@@ -61,6 +61,10 @@ p384 = { version = "0.13", default-features = false, features = [
"hash2curve",
"voprf",
] }
p521 = { version = "0.13.3", default-features = false, features = [
"hash2curve",
"voprf",
] }
proptest = "1"
rand = "0.8"
regex = "1"
+2
View File
@@ -249,6 +249,7 @@ mod tests {
inner::<crate::Ristretto255>();
inner::<::p256::NistP256>();
inner::<::p384::NistP384>();
inner::<::p521::NistP521>();
}
macro_rules! test {
@@ -296,6 +297,7 @@ mod tests {
test!(ristretto, crate::Ristretto255);
test!(p256, ::p256::NistP256);
test!(p384, ::p384::NistP384);
test!(p521, ::p521::NistP521);
#[test]
fn remote_key() {
+22
View File
@@ -64,6 +64,15 @@ impl CipherSuite for P384 {
type Ksf = crate::ksf::Identity;
}
struct P521;
impl CipherSuite for P521 {
type OprfCs = ::p521::NistP521;
type KeGroup = ::p521::NistP521;
type KeyExchange = TripleDh;
type Ksf = crate::ksf::Identity;
}
fn random_point<CS: CipherSuite>() -> <CS::KeGroup as KeGroup>::Pk
where
<OprfHash<CS> as OutputSizeUser>::OutputSize:
@@ -115,6 +124,7 @@ fn client_registration_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -169,6 +179,7 @@ fn server_registration_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -212,6 +223,7 @@ fn registration_request_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -264,6 +276,7 @@ fn registration_response_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -326,6 +339,7 @@ fn registration_upload_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -384,6 +398,7 @@ fn credential_request_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -473,6 +488,7 @@ fn credential_response_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -505,6 +521,7 @@ fn credential_finalization_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -573,6 +590,7 @@ fn client_login_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -613,6 +631,7 @@ fn ke1_message_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -657,6 +676,7 @@ fn ke2_message_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -692,6 +712,7 @@ fn ke3_message_roundtrip() -> Result<(), ProtocolError> {
inner::<Ristretto255>()?;
inner::<P256>()?;
inner::<P384>()?;
inner::<P521>()?;
Ok(())
}
@@ -783,3 +804,4 @@ macro_rules! test {
test!(ristretto255, Ristretto255);
test!(p256, P256);
test!(p384, P384);
test!(p521, P521);
+365 -941
View File
File diff suppressed because it is too large Load Diff
+734
View File
@@ -0,0 +1,734 @@
// To regenerate these test vectors, run:
// FULL_TEST_VECTORS_FILE=src/tests/full_test_vectors.rs cargo test --features ristretto255,curve25519 -- generate_test_vectors
#[cfg(feature = "ristretto255")]
pub static TEST_VECTOR_RISTRETTO255: &str = r#"
{
"client_s_pk": "a4f46d0492cd9bb560dc1ed0aab283297a42e1149afb16ace54bf83b6ffa513d",
"client_s_sk": "e25737081469c66d01be87323b9d21361b864ae81bd7af227375b5f35bb20c0a",
"client_e_pk": "ec326b266b8dd31e7dc5d6df3acea0a50a25c143ef75496a9bb32127cfb66e0d",
"client_e_sk": "cb7beda7e4196a5a66b1b4e47f1c990941d66e4f2d73ba28c15fd882b39d1906",
"server_s_pk": "b81f0a4d8d6edcc91696a2654032705b1652581ce85b0ec06e87ee8b1064b021",
"server_s_sk": "34ca98125841374f64e28a6920c7d1412ba1f91eefe7f8601e121ebc11433d00",
"server_e_pk": "8885e33bb897a0f6e5431b12eba47e8f732be7378d0c4b486e8ae1bee291940f",
"server_e_sk": "54e1e8c41080915241cff89254591ed7a7c94b338674f7eee304499b8dfd8c05",
"fake_sk": "8b05e06c63e38308f78016597b698b5e13a2164b2bad8f9d4b57c416d5237e07",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "ccd0eb9d6dedf8bea06b3bca19467a196b6be0fd0a430a70835f076603975c0c",
"oprf_seed": "252bbf35ab945abf8a5c76832ac50e91acf4b6a93b98c8e8b69b615cde711f5fb465c3ae3ee3112c066c8810412b05feee3ab580276c37b12fe57cf8c8e8bb43",
"masking_nonce": "101923b7ca7f1023026a1e9e341900761c694a2e471cb03d15db2d0790af93dc9167c6aae8d3ac42f724c97e7938c3beca612f9b12966e437a4eccdb79484880",
"envelope_nonce": "e4785339296562659e223a0a0e6c26c36cec604a003c0e52f8b0d4247be1faa2",
"client_nonce": "22d6a27c27e97a071b319461d2482a4ff98fc1c84ee6567e4592bc9cd04e709a",
"server_nonce": "9bfade6c50dd83f74ddaa4a8a75891edb77758f8652ae6d0eabd9e429fc8997f",
"context": "636f6e74657874",
"registration_request": "deddf80beb3cdfb1b0c518cc7f019d5708a985e5fa0f342441c6341056c3533f",
"registration_response": "00e972637ecb85b266dada406f3750029effc1e570840eb229af2f6f9c257525b81f0a4d8d6edcc91696a2654032705b1652581ce85b0ec06e87ee8b1064b021",
"registration_upload": "d05e97b0645ba2472821f3a6c1ed4152722a44253564fe1ac6273c29f0ad1d1f29eddcf9e0668f6a257f5b4bb48657181be5d7718492772255e961ad8005ea8a33cf7904bcefd93fa9688ac109a12961287e6eb2575ef96a12c0e13547b84374e25737081469c66d01be87323b9d21361b864ae81bd7af227375b5f35bb20c0a86e92f93426b410982fcb6a1ce814198126e56aa4f4bd21f54283865df877ff97967f54b8f95fc1d479ae428d6f652e78af46e8994ce14c3fb640c8fbd83efc4",
"credential_request": "deddf80beb3cdfb1b0c518cc7f019d5708a985e5fa0f342441c6341056c3533f22d6a27c27e97a071b319461d2482a4ff98fc1c84ee6567e4592bc9cd04e709abe2e12a34d266eafd9d85dc205705dd5b963a2da74ce2533da83ab0aca276b33",
"credential_response": "00e972637ecb85b266dada406f3750029effc1e570840eb229af2f6f9c257525101923b7ca7f1023026a1e9e341900761c694a2e471cb03d15db2d0790af93dce774cdb4410c77076066986d80c3308436d73cea140746650b3da6e1b1ee8a0f000353a4f763ca116387c29716791236635eaf6573207623b67e02e1ae51206ef6628e94ee4d8719f8c519a5f9df2924488376b6c789596f36930792597ab6da0cfd525e8d79bc735e3848196a5024fde8d68f3aadc0dded4e9a2733fdd4f3d654e1e8c41080915241cff89254591ed7a7c94b338674f7eee304499b8dfd8c053e6f1272cf1ba4ff749f21735477bba8d6206e1770fd90fdbbcd959e20d86e620edebcb2fd3b0d57da43d1f31b0a6e806c3f14c22ede0bfcc4b8b37100de21f9db4a3f4c34e88f8d16a15121ea54aabb3c72fcb571777520d228ff9d54072561",
"credential_finalization": "35a0d1147da8db4273d3594cfe98d0c29333d87e700a1ecf61a8bc5915e1d198f6718a3d945ad648899dee4e5e224f884906a61f65266bbe358628bef90fd147",
"client_registration_state": "ccd0eb9d6dedf8bea06b3bca19467a196b6be0fd0a430a70835f076603975c0cdeddf80beb3cdfb1b0c518cc7f019d5708a985e5fa0f342441c6341056c3533f",
"client_login_state": "ccd0eb9d6dedf8bea06b3bca19467a196b6be0fd0a430a70835f076603975c0cdeddf80beb3cdfb1b0c518cc7f019d5708a985e5fa0f342441c6341056c3533f22d6a27c27e97a071b319461d2482a4ff98fc1c84ee6567e4592bc9cd04e709abe2e12a34d266eafd9d85dc205705dd5b963a2da74ce2533da83ab0aca276b33d0cfb4e360b306a131ed3389402e255b787224941a303c73e823036d4f1b510522d6a27c27e97a071b319461d2482a4ff98fc1c84ee6567e4592bc9cd04e709a",
"server_login_state": "c37d116ca5e6dc20015d8dff3047b70f653b83b6c658561331a8055c89ff04a9226e1975bd3ddd2ec89cc8ef97ccca736b6d13844f32669abcb4d9340fecc2abec004d6da3e9889141c0989ca06c113511376a0c621d2db9edb857569e8f176d226027359fb77c0848bd42d7436ffb31eb8fa540c045eecc03c83b5cd48bdd037b4faa59d697382c770883caf8c799cd9fdf033e8bb42e2b5ee4a6ac4748b810a33078e8ccf8cea4cf641dcbd3e355a1a608c84be1e6038017c57131c2579547",
"password_file": "d05e97b0645ba2472821f3a6c1ed4152722a44253564fe1ac6273c29f0ad1d1f29eddcf9e0668f6a257f5b4bb48657181be5d7718492772255e961ad8005ea8a33cf7904bcefd93fa9688ac109a12961287e6eb2575ef96a12c0e13547b84374e25737081469c66d01be87323b9d21361b864ae81bd7af227375b5f35bb20c0a86e92f93426b410982fcb6a1ce814198126e56aa4f4bd21f54283865df877ff97967f54b8f95fc1d479ae428d6f652e78af46e8994ce14c3fb640c8fbd83efc4",
"export_key": "d7eef5c3a58edcf9c0ffed63e47f81e2648c5a030826eee24ad4f29a0bae3b5b3b6f6ddefd2b5f41e6334bb601cae152c79190efedd2d36a70c80eff2c3164a1",
"session_key": "7b4faa59d697382c770883caf8c799cd9fdf033e8bb42e2b5ee4a6ac4748b810a33078e8ccf8cea4cf641dcbd3e355a1a608c84be1e6038017c57131c2579547"
}
"#;
#[cfg(feature = "ristretto255")]
pub static TEST_VECTOR_RISTRETTO255_P256: &str = r#"
{
"client_s_pk": "3a39f5ac678f6fb2a0e297e56b9de2d7174bc30d383d8078e14c9210b13eda10",
"client_s_sk": "4cdf64f6913b87a4c460f49134b7be5ce497daf64e4d6207e600ae14917ab50c",
"client_e_pk": "5cd22b34ec7cb915d2c8d98498190d74923ae4fb55aca990a570681a9c02a83e",
"client_e_sk": "6a79fb1d732788d281f50cbb5ebacbbd46feeb900d30b4da68d8e3c6e999880d",
"server_s_pk": "fe4d436430951b421f4c56a81f2a46f06d5cbe99983ef2f3690eebd784753234",
"server_s_sk": "01b1939c5efb3b6348d7bbcd1aebbf91b0d1e88a5952c1c18ff2890a672a3502",
"server_e_pk": "26b632c4e50858ed2f523ab187b823341791a048c929ec2c3f55623e9e1d4211",
"server_e_sk": "71f5e0b54eb82af2a494e86230e0d320188574613ff7e52a862c17c1a41a5704",
"fake_sk": "f93c0d87756a655e2ac3a879bc4926444618204842db653f60baf63cbbf9a90c",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "d25d79623fdd286733190faeb1d90277a5560c37968aaad10b765656075b388f",
"oprf_seed": "10a9378ac082ffd8211b2ed109af17f2c426462d7d8f57e01fa5392a95a141fa",
"masking_nonce": "8478fbc93cedbeefd7a346c76929f6ad2ae7b0954bdecfab46f1c32072a1be8c1353a53b0daf4fd7a0b2f89b33650570f1ccf8ceaef41ca61f21ebf1f4c7a6af",
"envelope_nonce": "017099f5aa10f817bf748d076c0f6aa0c894edcbd1acecf2ac05b3b20f49533a",
"client_nonce": "814cc652127fa17206ad67a7b5504b58b83fe9f09b96a56c557e7512664cacfd",
"server_nonce": "e44bc9ca49955b98e7c573844504bdd71137899fab6544db3a9306d2f1c5a779",
"context": "636f6e74657874",
"registration_request": "03ce82ce9c644934d01cac7a7598d546097cd7f714fd73cf5a2629f5f7c42975bf",
"registration_response": "02f39f30a1d8b9b32709b74a02f87e3eed6b5c2e8d67177d934ff146b195cc263cfe4d436430951b421f4c56a81f2a46f06d5cbe99983ef2f3690eebd784753234",
"registration_upload": "12384646b3534ac24c3f8c065495ec9e9ba6c5f9c0a196861ac8003303d5cc01a8115161c2ac9c920d280b94926d11a042f1813365c3ea2d0e32159dccf7636f4cdf64f6913b87a4c460f49134b7be5ce497daf64e4d6207e600ae14917ab50c944a598f8b839fe64cade113f405abe2a4ae600f90266497fa3a750f02ce757a",
"credential_request": "03ce82ce9c644934d01cac7a7598d546097cd7f714fd73cf5a2629f5f7c42975bf814cc652127fa17206ad67a7b5504b58b83fe9f09b96a56c557e7512664cacfd824582ccba13903708aae9566da2175c143eadae41802f1dbd8b28e5c3277139",
"credential_response": "02f39f30a1d8b9b32709b74a02f87e3eed6b5c2e8d67177d934ff146b195cc263c8478fbc93cedbeefd7a346c76929f6ad2ae7b0954bdecfab46f1c32072a1be8c9ccf1410f78138badf9ece3d2d2d36d3f76d12a6404cd8eaab5ec59e31327d51b422dfb8f0d7ba68286fab179b5ae78671e5e9fdf5160e32c9f6a4126dda23e6527c4fb139ad95c05380667085c3a0b092990930d6a8acc0dac25efaf9f4880f71f5e0b54eb82af2a494e86230e0d320188574613ff7e52a862c17c1a41a57043a899cb76e70db334c51bcaacef0a5a51d7494cabb293ca9e2b4da4cd7e3a4134d2372c1649f606ec8bb606081b125fe46b54e59f683f5fa7a2eed076d171e87",
"credential_finalization": "1c5568b2ed4e0e511a899faaaced5f67f1efbf6464ba2fd08ad618f393234443",
"client_registration_state": "d25d79623fdd286733190faeb1d90277a5560c37968aaad10b765656075b388f03ce82ce9c644934d01cac7a7598d546097cd7f714fd73cf5a2629f5f7c42975bf",
"client_login_state": "d25d79623fdd286733190faeb1d90277a5560c37968aaad10b765656075b388f03ce82ce9c644934d01cac7a7598d546097cd7f714fd73cf5a2629f5f7c42975bf814cc652127fa17206ad67a7b5504b58b83fe9f09b96a56c557e7512664cacfd824582ccba13903708aae9566da2175c143eadae41802f1dbd8b28e5c3277139a8efb780e03263e574a6d0446a0cbe245a0e2e4100b1d26e17611d7f127cad0b814cc652127fa17206ad67a7b5504b58b83fe9f09b96a56c557e7512664cacfd",
"server_login_state": "c1b633fbe70f417acbfd797a7350e3341d8992a6623a51e49f6bcdb8a0c73bf528f48f4823d1eb4b780b5132ea7887a8cf68cc247ee28740cf913dd664d8ba39e8726d82c544368aebff847bba72996c4fefad84d85cf13941b33a4c2131233a",
"password_file": "12384646b3534ac24c3f8c065495ec9e9ba6c5f9c0a196861ac8003303d5cc01a8115161c2ac9c920d280b94926d11a042f1813365c3ea2d0e32159dccf7636f4cdf64f6913b87a4c460f49134b7be5ce497daf64e4d6207e600ae14917ab50c944a598f8b839fe64cade113f405abe2a4ae600f90266497fa3a750f02ce757a",
"export_key": "dc0e3c9ce789b1ec1be74c24437f06c7ae0823d1762726fac014a33dc9724656",
"session_key": "e8726d82c544368aebff847bba72996c4fefad84d85cf13941b33a4c2131233a"
}
"#;
#[cfg(feature = "ristretto255")]
pub static TEST_VECTOR_RISTRETTO255_P384: &str = r#"
{
"client_s_pk": "fe4a6f0b4d1dee848188911a7170fe79b9faa85c97a94e261627add1687bab23",
"client_s_sk": "857a48884ac88c1b6b4dba14139ff95b4fa43f4de98b6320b4b56d1bde8df509",
"client_e_pk": "927e785e5b2811008aa67c433480d927167d2e121018baf6623f703bd0aaef53",
"client_e_sk": "ffee323d075f813c2d358e8fe2524a8739a6ae6b31d043ba28733fbc4e254006",
"server_s_pk": "fa315d547b224d77c2489cc2635b12e41f0ad0a3aa3ec716398d6328470f010e",
"server_s_sk": "1d2efefa45a0c55da5d60a40dcfe98f85d2fc270487370eb8a0f712cf5a9fd01",
"server_e_pk": "38405aa652ff07cf79676dce8dbd16cdb47bd3cc9fbc8a78bfb5f95427936e48",
"server_e_sk": "8acf593b88e3a069bf6c5f995d5d7ae8c14898a619ad21b74b13b90b878bf70a",
"fake_sk": "51b363e812929f0fab809b8db082c914110512a6a259ca75c37f36d0f622c80b",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "21d57a341936c549e2ce59087e0ec95f1451b52fc571116bfbbcef38ad21682f25478f6f6287dd5ead35ac1b571f3f56",
"oprf_seed": "090e66fc749b73453d7a7ab3541086f64bf1589a5aa11592c0a7add60618725f44efb67c41727fce4379732ea374bc00",
"masking_nonce": "e9c30f88a5cdd6d8206bdcac453da0ba1c4dfd950e7b9ba69233c7a28dc3a205e2eebc5f0c15f5c029254f0a1a7e11911ac3c82c1a05b3e6d1d51638c76d8c21",
"envelope_nonce": "e619f4ddbef8488b74c2ba8cb1cc4e42f9619fd3f8af70384114451655e3edda",
"client_nonce": "ffc31798a9f36dcfbbc5833b9ef672ccd995c5abd565b4ca4f8745289b0b057c",
"server_nonce": "065f358cecff375be5cea65a0e2e31458ba21ed024d1e554fac4c08b6c465fb8",
"context": "636f6e74657874",
"registration_request": "02a189f5f17c2acd8d1ae9162d0a9823b1ad4b9f772723766b6c16b59a6814c2e493d9b8b9be72b741887c2e9780811624",
"registration_response": "029d1ed105528b554d592f695fb517e544b656b8b92b2f1bb49d43c97be36791172dd781251b9b31abd2230057f35a5e0ffa315d547b224d77c2489cc2635b12e41f0ad0a3aa3ec716398d6328470f010e",
"registration_upload": "1c87c61fdf100236f219bb247e498a6329f20cb39a3a681f99af909c1468f733c686f4b30a63b73d929de893495eadaa2977acd42949d161e4c72dc3b8175592c6117c62aab8a96e4b452169557d1355857a48884ac88c1b6b4dba14139ff95b4fa43f4de98b6320b4b56d1bde8df509745b4a372349b57fc4bb9022cddb052e374897b2ea7e93850447b23a53a0dab5796de99295e2964451f220fbe805fcb9",
"credential_request": "02a189f5f17c2acd8d1ae9162d0a9823b1ad4b9f772723766b6c16b59a6814c2e493d9b8b9be72b741887c2e9780811624ffc31798a9f36dcfbbc5833b9ef672ccd995c5abd565b4ca4f8745289b0b057c185288fbef06b9662f61f821f12fa0cee49ca33db6b429c8c88fee1c7fb2c039",
"credential_response": "029d1ed105528b554d592f695fb517e544b656b8b92b2f1bb49d43c97be36791172dd781251b9b31abd2230057f35a5e0fe9c30f88a5cdd6d8206bdcac453da0ba1c4dfd950e7b9ba69233c7a28dc3a205e635e64df4d1ca25a23a0a6fffffe96867bd7f77085c8779db9a4bb3859b3b1704fdaac68ca2d98293ee5baec67ad1a9f210db236286e4f57cfe587f24927de7ff6832c8ef2e9ff691700d03214f8fb10efecee1b8b197f3a1d135bc3c9f76f04005bf5358e822f8ff9027b644a8bb638acf593b88e3a069bf6c5f995d5d7ae8c14898a619ad21b74b13b90b878bf70ade3ef6a1a89f29c90763f2144b482838f75380f0c90d4a054f21e0223efd4c1363f7f6aec489173f7a5a610509347ea48085699fbd11088b81185ce3fbe04183e337131ccefacf0ea711c00322a03937",
"credential_finalization": "e76fbeff98b50a0228981bd3eada2d12cd30df59547ca3e68703e1380bc4b8d7f4bbebb2081ac09cab44c2bd98b98a22",
"client_registration_state": "21d57a341936c549e2ce59087e0ec95f1451b52fc571116bfbbcef38ad21682f25478f6f6287dd5ead35ac1b571f3f5602a189f5f17c2acd8d1ae9162d0a9823b1ad4b9f772723766b6c16b59a6814c2e493d9b8b9be72b741887c2e9780811624",
"client_login_state": "21d57a341936c549e2ce59087e0ec95f1451b52fc571116bfbbcef38ad21682f25478f6f6287dd5ead35ac1b571f3f5602a189f5f17c2acd8d1ae9162d0a9823b1ad4b9f772723766b6c16b59a6814c2e493d9b8b9be72b741887c2e9780811624ffc31798a9f36dcfbbc5833b9ef672ccd995c5abd565b4ca4f8745289b0b057c185288fbef06b9662f61f821f12fa0cee49ca33db6b429c8c88fee1c7fb2c03911bc1158804548e737c47fa7d310c3de0f3326551243fe07cba5fe8c71a2d706ffc31798a9f36dcfbbc5833b9ef672ccd995c5abd565b4ca4f8745289b0b057c",
"server_login_state": "c67f556ff2cd8699994f43ecb1e5a70fb3dee6e564a3ae7396f50cc7be0f845d7c21b5f551fb96f00d48eced1ea340afc2e59f9f27a2e5f826fcf5ce2a5a465e74c76f723adf0ddfaa04ef8925c8424e1b0430e69f87c33eef9d846f73249c18b9d10588abaa9a8e401480eb25436d6c68468b73f5852ccbe8445094e7e9a3a759515232f7c3f65a359d13a26ba72e9b",
"password_file": "1c87c61fdf100236f219bb247e498a6329f20cb39a3a681f99af909c1468f733c686f4b30a63b73d929de893495eadaa2977acd42949d161e4c72dc3b8175592c6117c62aab8a96e4b452169557d1355857a48884ac88c1b6b4dba14139ff95b4fa43f4de98b6320b4b56d1bde8df509745b4a372349b57fc4bb9022cddb052e374897b2ea7e93850447b23a53a0dab5796de99295e2964451f220fbe805fcb9",
"export_key": "58777e82bcb2c32560e803a500f791cd422b27330661bc34fd8a32256bde996a36baed5bff6cc5749a66ed8a7d05d8bd",
"session_key": "b9d10588abaa9a8e401480eb25436d6c68468b73f5852ccbe8445094e7e9a3a759515232f7c3f65a359d13a26ba72e9b"
}
"#;
#[cfg(feature = "ristretto255")]
pub static TEST_VECTOR_RISTRETTO255_P521: &str = r#"
{
"client_s_pk": "a0a9990532bf4236fce92f58fee089a8664c4d08d1db54e16bd2386cb6c4f817",
"client_s_sk": "314c706d7d5d97616b7e804be1b91942ad60a5e4b1dae86aa4a8d4d37c4aea05",
"client_e_pk": "f4e7623a4009826a521cc8ac75ff09e42098b464fa16eca373f5d25e76524977",
"client_e_sk": "b5432a067693d61a743cf9e5a12ac68c4b76724be6faa13e57d87bd70c982e05",
"server_s_pk": "2cac69c26cc7d70cdfc1e94cce0d15b30dea2bcd9504e1a6c5d923e3ee339442",
"server_s_sk": "6415ef9955cff40c9263d47c0afc0e6b46db117978dbe405b190f565af29f70b",
"server_e_pk": "ee64e7732c9d9affc9a4831148659ea127001418baa6a107589ed53143e5a228",
"server_e_sk": "d5ba6ed6a034bdd6b2afc3d289f1e08ec4a2cd7e8807148ea929c1f7de08b30d",
"fake_sk": "4c89e6c50801f663bcb2d84eafe6f67de922a4726394d0c6ce117c82b416ed0a",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "01184f9924388ec154d21a3ddc94812817a6607954aa4825e2f94259637bba8252fa4dc276a18d9310f5db0ed26b9191082759b5ae82d1151e8326b5b466912d5917",
"oprf_seed": "36e6dd98ebb5a101d8749300480615558af985a5fddbe909778aaf59a079e94883e2fe9529f57f457111deb25e6322748d49eac60f9766b0273c639723afa224",
"masking_nonce": "409de1d0fa795bece57474ee6d32b5c7a6e117663a5e962214e767e939bd2d45deff89193cbbea57723c4f9c6e4e058ed08209213bf0f6ba77d23749ebc58308",
"envelope_nonce": "33263e12fb5da6517cbfdcd7c356c0292305cf6eeeaf11b8df53f07bdcb1d0ea",
"client_nonce": "67606dfe4e3e6890de5e3c2caa69f9a1bb0adedb24795bebde15174dd979d9b1",
"server_nonce": "f25d0457ca78f7f4cf419a6cc5345771f56b8f9f7934203db76f870b565d7837",
"context": "636f6e74657874",
"registration_request": "0300ef3cdda6625ba20771ab480148fc939555b57ea5f793ff1d4a22c631284552687066e68d17dbd12d7b0ed31659cf93f389d877b9b6999adf5c3f590c933956a9d9",
"registration_response": "02008d72e2d1aa3124ef8fcae1128a60bf2710fc7ad60e50bbbdfc1238ece72fe6a56c0a108afae478be4f4bcc57da3fac708bef060f2b53aa60900c7968276d7f7fd22cac69c26cc7d70cdfc1e94cce0d15b30dea2bcd9504e1a6c5d923e3ee339442",
"registration_upload": "7284a0118a04728179b344cb56ebfcca5109b2b3dc961fd881ef017b0ec36f21fe55ad7f7721c2f397d0773bf5c67041598d19200906849884b7824a61d6ba5267cb15a79c777e65e77607aa76902ad07cb011255938f99a57de446bdd9ae9fb314c706d7d5d97616b7e804be1b91942ad60a5e4b1dae86aa4a8d4d37c4aea054c6a65d9949e0bb2ce132c2914199f7bc0736499a07100ebe9cc4f7b74b60cd3dd6a1a85f29a3ca0bc9a599396d5aa0a47d1761854da5f148d22f580ecc82fe0",
"credential_request": "0300ef3cdda6625ba20771ab480148fc939555b57ea5f793ff1d4a22c631284552687066e68d17dbd12d7b0ed31659cf93f389d877b9b6999adf5c3f590c933956a9d967606dfe4e3e6890de5e3c2caa69f9a1bb0adedb24795bebde15174dd979d9b152829ca7ce2420d2b8a07efe9cb9a93a227bd64a6a96a0e98ecdaa723de58d6c",
"credential_response": "02008d72e2d1aa3124ef8fcae1128a60bf2710fc7ad60e50bbbdfc1238ece72fe6a56c0a108afae478be4f4bcc57da3fac708bef060f2b53aa60900c7968276d7f7fd2409de1d0fa795bece57474ee6d32b5c7a6e117663a5e962214e767e939bd2d457de3eaea9787de9017d50eecec661849a9428939ba480b7ebf13b224e135f96e5743100c1cb29cba11edaccda27df0456061d3a5b80f577ee7dadf7f3e9746207251a16820cf2c2643283d1d96560a29a2b98c2aef7502650ab4c6930a2f96d6cccde8ae45791194982b1ab888e06dcd9d203901867f7352f81867114886f0f7d5ba6ed6a034bdd6b2afc3d289f1e08ec4a2cd7e8807148ea929c1f7de08b30d0acf6b954c583d4d691599ad0667c87c05dd393e178bfcbbd41e328f4ca8103ec9c2985be4fab5d7fb1d8d21ebdc28bfcb7863cca93f29ddd765bb41093b31d55a14398bdb801232cb2d48ccbf14d91778699883bca2870589328fc5049a313a",
"credential_finalization": "96566909ca38bac45d1639697c40fef88da04f8fc4ae2253850abbcd44fcf4fe407b39d576c10b50dd61b55d6edfa01d5007d25ea0c9b294119f9cd56ef914de",
"client_registration_state": "01184f9924388ec154d21a3ddc94812817a6607954aa4825e2f94259637bba8252fa4dc276a18d9310f5db0ed26b9191082759b5ae82d1151e8326b5b466912d59170300ef3cdda6625ba20771ab480148fc939555b57ea5f793ff1d4a22c631284552687066e68d17dbd12d7b0ed31659cf93f389d877b9b6999adf5c3f590c933956a9d9",
"client_login_state": "01184f9924388ec154d21a3ddc94812817a6607954aa4825e2f94259637bba8252fa4dc276a18d9310f5db0ed26b9191082759b5ae82d1151e8326b5b466912d59170300ef3cdda6625ba20771ab480148fc939555b57ea5f793ff1d4a22c631284552687066e68d17dbd12d7b0ed31659cf93f389d877b9b6999adf5c3f590c933956a9d967606dfe4e3e6890de5e3c2caa69f9a1bb0adedb24795bebde15174dd979d9b152829ca7ce2420d2b8a07efe9cb9a93a227bd64a6a96a0e98ecdaa723de58d6c0287515f44bf6fbc331e735ad2997df4d9ccfc91697500213aa7548005f1400967606dfe4e3e6890de5e3c2caa69f9a1bb0adedb24795bebde15174dd979d9b1",
"server_login_state": "4cc842db5d616779675d1e96147b17a13fcba1608068ee3fd433f98e0a7d9720a5741161229f9c320c59b7d75406512a2bab2c229ae95c3898bcaaf93b903145495e71c2a93d65187a50f55b21ed650d7142cbf1b48717dcd524ece6ea1c117ebcff4be2213d8df0dc5706fb5a0d0aa6fc19e7ac6ffcc6c09546d5934bbaede449bc80c87c9c4ced79db1a690cdc808ccc9f5f99267c21b3907447dbb9b00f5aa21209ee72e30a98d97e8e3ae04404867d3dd24d9dae64c3557882ca0237b5f2",
"password_file": "7284a0118a04728179b344cb56ebfcca5109b2b3dc961fd881ef017b0ec36f21fe55ad7f7721c2f397d0773bf5c67041598d19200906849884b7824a61d6ba5267cb15a79c777e65e77607aa76902ad07cb011255938f99a57de446bdd9ae9fb314c706d7d5d97616b7e804be1b91942ad60a5e4b1dae86aa4a8d4d37c4aea054c6a65d9949e0bb2ce132c2914199f7bc0736499a07100ebe9cc4f7b74b60cd3dd6a1a85f29a3ca0bc9a599396d5aa0a47d1761854da5f148d22f580ecc82fe0",
"export_key": "fdc5eb7b60dd0a73c5acd1c2e7511f0403e3be9f8078ad7c814f8fd368fb1793228700f4e4bfa1b92cb3a42aeaa5e687972336b15d031a7fa1e3ad5e2f2496b7",
"session_key": "49bc80c87c9c4ced79db1a690cdc808ccc9f5f99267c21b3907447dbb9b00f5aa21209ee72e30a98d97e8e3ae04404867d3dd24d9dae64c3557882ca0237b5f2"
}
"#;
pub static TEST_VECTOR_P256: &str = r#"
{
"client_s_pk": "036683e5bd9a2c8ba201c89d3132ea032a0a8af6614fb9e7d8f78c51949abc8ba8",
"client_s_sk": "948eac91499b0e527779f159739582e84b3c802005d9fcc144ae39acb9039436",
"client_e_pk": "03344ddf040383810d3475909a46e878923823ede67e5048f59227fd32bf6e3b9a",
"client_e_sk": "3d8e878ef40b8972aae0863aa4c8c8dd9d10158a0afa459a2baadc8949c79b53",
"server_s_pk": "02b05107f4e9c5e2ab3b295e8bec2cf2f151db6b2c3d0adb86fb588b024f1439b5",
"server_s_sk": "8c902cf958f63cdc1b2a57f890f2c708ac405dabbee7e83578a623c285c5ad5f",
"server_e_pk": "03a26ae388612383f5a437a1f2e3fb4ad1bb68380a624d506b41ae46b6c81dbfe9",
"server_e_sk": "7feb796700569c270372a58c2d0c611e7edb4828409497d805640bcabbc4eadc",
"fake_sk": "0352299f5487baf7c00487b9c976b17e2ba476bdf863ca889f603cc10bb441f3",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "ca3cfb8d8405cb744e43263f433d26670ede9fe723254802062bbc035344e476",
"oprf_seed": "2aaf10707ad93745681b33ea6cdae3f74160b4c346c620a00e015e0dfebafeef",
"masking_nonce": "8156786f1bc7d30bd8e475a72fe08243e5e03132b0f491308f8cda884b13764d9fd5d24a330628793863a01f636e01e4b7e48dd81f37c8ac43e86571471b0068",
"envelope_nonce": "339d986a567f27d8b52931aa22fb1d3fe6d74d5945609e3ddca6b66c06875502",
"client_nonce": "cc2c3c55daf14dd249bf1970836e4e5d290bcfe15097c5ec5d022c864eecbbfb",
"server_nonce": "c2e8a4decd59693ecc8668089e7b68cddd1607adce3cf0a15184b53324bb1c57",
"context": "636f6e74657874",
"registration_request": "03edbead6d065a971f8b4b5369a40ed17505542cfaaae23c48ee7db3735737bb75",
"registration_response": "03dea2fbec5ccfa0fb3058cbe91871bf7cc6f88bddf65bc3eadd993a1111a0ea5002b05107f4e9c5e2ab3b295e8bec2cf2f151db6b2c3d0adb86fb588b024f1439b5",
"registration_upload": "034710ad9098d47b6710af608e03373e7a7b62b4225fb8648d30f67edf9ec725e2debfc1a1ef946d1ea69e26a4d81db0449d158f53c7bffb6e98e5abea85518790948eac91499b0e527779f159739582e84b3c802005d9fcc144ae39acb9039436f59a3720087b1b54654318bef08648624e2089367050d290ac324b8e78881c31",
"credential_request": "03edbead6d065a971f8b4b5369a40ed17505542cfaaae23c48ee7db3735737bb75cc2c3c55daf14dd249bf1970836e4e5d290bcfe15097c5ec5d022c864eecbbfb03238a0615838f8fafd316877497deda316ddb47867bfdaa8008b63506d257a35b",
"credential_response": "03dea2fbec5ccfa0fb3058cbe91871bf7cc6f88bddf65bc3eadd993a1111a0ea508156786f1bc7d30bd8e475a72fe08243e5e03132b0f491308f8cda884b13764dfd30013fc524e7e6e8899cf1c7b2e34601200558c2362bd98c6f128f045ff530b9ab5ded08adfbb24f08009f7ff98ea19f43661cab4513eeb859e180ae69852d86fb2fe83430ec96538b5b0157834f111709e600fd2d699260a96926c3f832bbf07feb796700569c270372a58c2d0c611e7edb4828409497d805640bcabbc4eadc0336d927387a9ff657f2f19b01e455fcba672b499a430d3de199bfc74500b0f30497cc2d7fb967e80ffebdbba2cd51ea685797ec0a5b48d36d0c43d28881f8354c",
"credential_finalization": "3bb291618479b41a652bb7db4e4b680c9537898ec9815a0b5c4ecc5f82d217ed",
"client_registration_state": "ca3cfb8d8405cb744e43263f433d26670ede9fe723254802062bbc035344e47603edbead6d065a971f8b4b5369a40ed17505542cfaaae23c48ee7db3735737bb75",
"client_login_state": "ca3cfb8d8405cb744e43263f433d26670ede9fe723254802062bbc035344e47603edbead6d065a971f8b4b5369a40ed17505542cfaaae23c48ee7db3735737bb75cc2c3c55daf14dd249bf1970836e4e5d290bcfe15097c5ec5d022c864eecbbfb03238a0615838f8fafd316877497deda316ddb47867bfdaa8008b63506d257a35bd975709cf775d0abaaa4e1d6bee3fb6ebb437234988d85b5c4e5b3a32d60750fcc2c3c55daf14dd249bf1970836e4e5d290bcfe15097c5ec5d022c864eecbbfb",
"server_login_state": "05d87dbedaeb6b2a80db6086302e1d94f8b62fe5c571c7a284d7c025b4933d76bfda49b8909314ea6855561f1fdccaad4ce9a2ab87fe34d75e984da5fa1219fc04388a7549da97cbef3558e88d92485cb87de8208580504f10c5573f8311661f",
"password_file": "034710ad9098d47b6710af608e03373e7a7b62b4225fb8648d30f67edf9ec725e2debfc1a1ef946d1ea69e26a4d81db0449d158f53c7bffb6e98e5abea85518790948eac91499b0e527779f159739582e84b3c802005d9fcc144ae39acb9039436f59a3720087b1b54654318bef08648624e2089367050d290ac324b8e78881c31",
"export_key": "e0410a04de893226b82b621453c6703eeeeea7a3c8a82a469372cce6ae15a24f",
"session_key": "04388a7549da97cbef3558e88d92485cb87de8208580504f10c5573f8311661f"
}
"#;
pub static TEST_VECTOR_P256_P384: &str = r#"
{
"client_s_pk": "02999509524cbd37c46ac41d7f17b0a9e010625aba82252e3cf6a1a6fab31c86f6",
"client_s_sk": "96569efe7ed1267814271476529a067cd45db66b6f59b3c3d9fb1c42bdd61237",
"client_e_pk": "0313fe899fcb9eafa9d25da8bcd2c3239f41231a91773285424f5ecae928d64d43",
"client_e_sk": "10bbc937a4e156a8528208ee6534f9f6a337a368c4b9e54c00ade8cdf01ea47c",
"server_s_pk": "0367cff3866d1489f53eb09e860cca2c46d0819ae2fb9bea7b169da1b1b4129579",
"server_s_sk": "936714db066a49a058431d6f13306bd080484347693ce4f79221c161a226e3a9",
"server_e_pk": "031a1474f669f63ce942f4fcfb9feae5ee1ed678e65f0c09f23e59acfc19719d54",
"server_e_sk": "24c104d8a8cd55b067e0ef94a58c896ef90b75547c516d7c634b9b91ef5108ce",
"fake_sk": "b0dd2ea5b9b29eb0b9d246845d7547f1397e324c7662e0f802e5f46672912316",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "53222c113a51e1657196f48ef018b325584e90e14d86e77b086b9cdde54062297c1c965855599d54259e726b68d04503",
"oprf_seed": "6f8137f09a529632e04a005501979c308fa658f52f80a5c6d048f824d6ff7d63e3cfea5dad2735f841e667980b0f9c12",
"masking_nonce": "067b4e2a79f0d8d070536b9d5ce54d0fb7ae4c980875e7c6f981067cc5b104e965cc44aae25ac18932d953e0b3ff175a58ff730c4c06e6826b7eee85c03a4f73",
"envelope_nonce": "b9a029566a232f8640df22f0196579abf40385eb915fe1b9a783d5b25327ae7b",
"client_nonce": "e80fdd08641cd950f6fa9a64e2d394c17467778b91d464fa43b279b9c78a443b",
"server_nonce": "684a538d679ef62a891947b63767b99a83e0b0c38cbcd870f08092d9f60ea059",
"context": "636f6e74657874",
"registration_request": "024ac3e82cceb7b0517daa15b0865eb8958c4e429353204149565dccf04169d27760c4b62f9d2cc6eb920529bd7268f00b",
"registration_response": "02fa03afd6abe5e0edb75b1ea6547d555431a8e3e80a09098fd210bb8b3daef7e2a6b44e09f8909f9986596a90fa2477650367cff3866d1489f53eb09e860cca2c46d0819ae2fb9bea7b169da1b1b4129579",
"registration_upload": "02c55a6c2683fcb71190635503ace4fb908c42293b7412d7d383ba32ac750f614063fc089dced9383d48a226951d9f71644733d4d022e868591d10a1325fa67864719b88283b85c6e59a3b6b36d6b628c896569efe7ed1267814271476529a067cd45db66b6f59b3c3d9fb1c42bdd6123707d1081e53fd2939cf70aead998fed9a3fd8c6a8d65e0f1612a2b073f57dfbce4addb81669d8251e8873852b8664967f",
"credential_request": "024ac3e82cceb7b0517daa15b0865eb8958c4e429353204149565dccf04169d27760c4b62f9d2cc6eb920529bd7268f00be80fdd08641cd950f6fa9a64e2d394c17467778b91d464fa43b279b9c78a443b03115418ae50db5cc76ce92c741190999398145d3a2830d65d038feb6a553c338e",
"credential_response": "02fa03afd6abe5e0edb75b1ea6547d555431a8e3e80a09098fd210bb8b3daef7e2a6b44e09f8909f9986596a90fa247765067b4e2a79f0d8d070536b9d5ce54d0fb7ae4c980875e7c6f981067cc5b104e97da303dafb802330daea61716bf3c84e843a243a27830d89276070390ee47001a32cb7db0c0a06fcda2f4275c924d1c0acdd30894a9993cb5d02919c450e5f648c58f6639ca5b70544864966390fd7b369cbfb149c80b0905d0ff2d702825b32109b5450bf99f994d06e86243a03437f6324c104d8a8cd55b067e0ef94a58c896ef90b75547c516d7c634b9b91ef5108ce032f2e09827e1085ec8c935fd5dab53c8a492e3d00bba78b2cfee66386941d64fc1688438eb8035cf0646abcb6b7db67f92329c40c8835059437b20881444f5a7b4c42068840d54806f3602d17804e6479",
"credential_finalization": "2e42267739193d5252908ab3ff4c92f1c4e898290348bb54910664a03fb3feec21b4080e36b9f9c5e33680c9013b27c5",
"client_registration_state": "53222c113a51e1657196f48ef018b325584e90e14d86e77b086b9cdde54062297c1c965855599d54259e726b68d04503024ac3e82cceb7b0517daa15b0865eb8958c4e429353204149565dccf04169d27760c4b62f9d2cc6eb920529bd7268f00b",
"client_login_state": "53222c113a51e1657196f48ef018b325584e90e14d86e77b086b9cdde54062297c1c965855599d54259e726b68d04503024ac3e82cceb7b0517daa15b0865eb8958c4e429353204149565dccf04169d27760c4b62f9d2cc6eb920529bd7268f00be80fdd08641cd950f6fa9a64e2d394c17467778b91d464fa43b279b9c78a443b03115418ae50db5cc76ce92c741190999398145d3a2830d65d038feb6a553c338efec21c53386a72f03d8664876c00ee496d2a0822746ecca299c71232d44959e9e80fdd08641cd950f6fa9a64e2d394c17467778b91d464fa43b279b9c78a443b",
"server_login_state": "bcc67ef04ae6678d4dc148349c13daf549a6315fb98b6c1d75fd15942f6d27539aa565eedb7458c60d513ccada3b47486cd7632c072576e76c396e796058238b7ca7648e82956f0bdc641c5d61e26fd97e28b4a52f185889a098376a95f359baf5a5ead19897e95a65145e050c30760ba713c299bd523f8b9cbcbc123e116cdd3e4e79c3295892e4fd8060922c40b9ff",
"password_file": "02c55a6c2683fcb71190635503ace4fb908c42293b7412d7d383ba32ac750f614063fc089dced9383d48a226951d9f71644733d4d022e868591d10a1325fa67864719b88283b85c6e59a3b6b36d6b628c896569efe7ed1267814271476529a067cd45db66b6f59b3c3d9fb1c42bdd6123707d1081e53fd2939cf70aead998fed9a3fd8c6a8d65e0f1612a2b073f57dfbce4addb81669d8251e8873852b8664967f",
"export_key": "817ba3c4f92c69cbce5c141a59a2c84f401e2741d64bc9b005a274f01da6dec13611c2ae6a1d8944a05108053fb84b36",
"session_key": "f5a5ead19897e95a65145e050c30760ba713c299bd523f8b9cbcbc123e116cdd3e4e79c3295892e4fd8060922c40b9ff"
}
"#;
pub static TEST_VECTOR_P256_P521: &str = r#"
{
"client_s_pk": "02f70e4cdca32d7fbb4d674cff8458f1fcea19142b0afbe0d03a18f54eb5efa0c0",
"client_s_sk": "7d2c68cb648a5b76a3afc3940569438f7479f5449ef78b4b8b614cd49ff7cd18",
"client_e_pk": "03c1c682de8c49a9129ca29a6a0da2a8db3b58882f68190fcbea2afc23943bb448",
"client_e_sk": "01489f36c15d5b9b3f8d975a3d22204e0de583fdccc970cf094227576203f2a0",
"server_s_pk": "03fa123f893d67fdb2f07530048c7a6deb0a7616f2e2d23b25aace9c924def38b9",
"server_s_sk": "21dc4135523155401fb3a26427a965ec115e7755270fe0e90e8a2545dcfcd4ff",
"server_e_pk": "0248079637e6bbba3653f6627533cbf679abefbaccd76d2776ae67a28c5a2588e6",
"server_e_sk": "15cc10e72b187c2e70c57b4ceff967fca637460977d329ad3e2fa075230de760",
"fake_sk": "ad489fb0404de8046f8d4ecf180960d34309802f91987a45a8ed48aada7aa758",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "001fd75399d6cf9d76d3f7b1d78febb85806163f9b92a6902113fcf603c9131804ce190a487b25f5baac0943c3f10adf853f86b34cfdc9c3d5c7d44e0bc76f140140",
"oprf_seed": "ce130d4e83a9a13799cf5381cb945d8b9511469a36c78921422826e4d125b535d2eb4ccc2e2454d5c87b0c16360fc25b86456d1bc84c62151971b00ece4df50b",
"masking_nonce": "d79c63532a8165cf7c311357cdef19107127e796ce8c79c0a1d95f3291684b44f30d73fe98d4257dd28e57abb1b4d092433fe9d6bf8759d4a4a05290791bfd6e",
"envelope_nonce": "66a7d2429309a09574cb331a9efda563999f58c5667f1bcea3217942f5a65a12",
"client_nonce": "a1af12b68b7d3f85e4f5e1fe26cfa194f75ea1e635043ac7dd017f52fed354ed",
"server_nonce": "e8e378984534278506ce4566fea59d5a86be2673310d7c26b859a40a00a5b3f3",
"context": "636f6e74657874",
"registration_request": "0200e6d291ec0b5b61cad7e1a581030db9ec67be7fb82c63a8e2b424ea4e0d5994a9e19295a1e53f64235fdbabce375416a585f7018aab64bfc16a2e5dda17b6010aac",
"registration_response": "03006c313745a8b32788cd0da645bc868fcd0b78fdd07b8885d4c11b4353ff8cf1d099e46e510bcddd4aab1ae997e97a96abb09106a45b0676d36c5d9f5b6ea072258d03fa123f893d67fdb2f07530048c7a6deb0a7616f2e2d23b25aace9c924def38b9",
"registration_upload": "02fbeeb2f2f175d11ed7f0cf2e7928d4681b1f3cad1b50c94275f9a2479480b02477fdf442670a0efc497368941277f3991b3589e9ac2a2a5212aead5bf10b33ca73b3a6c0494935bb2a13fbad1b9f5ed614ed96b6e81b0ca5755b6122543970b77d2c68cb648a5b76a3afc3940569438f7479f5449ef78b4b8b614cd49ff7cd188be9e5fc28c5072daf2a2ba9f465e7b147d4901fb4a8bd18197ebf24afc3f43167f98e051f9f8e829cedcf9ac7f5ce4eee247ed4cadaf8ecf11e1fe6ccb2db3f",
"credential_request": "0200e6d291ec0b5b61cad7e1a581030db9ec67be7fb82c63a8e2b424ea4e0d5994a9e19295a1e53f64235fdbabce375416a585f7018aab64bfc16a2e5dda17b6010aaca1af12b68b7d3f85e4f5e1fe26cfa194f75ea1e635043ac7dd017f52fed354ed03de82e386b668ee06c886ef9b2bee34a9aa95c0f3ebb50aed8db192b35133ace5",
"credential_response": "03006c313745a8b32788cd0da645bc868fcd0b78fdd07b8885d4c11b4353ff8cf1d099e46e510bcddd4aab1ae997e97a96abb09106a45b0676d36c5d9f5b6ea072258dd79c63532a8165cf7c311357cdef19107127e796ce8c79c0a1d95f3291684b4433a74ddbeb2aa9fb3cd498f35d4b21f6d3c63a1d9b2d7c5623d9fb5b5787a4a38df931d518e32e133f1d59335930da9250672f3afc8d44bff66f89dbb874200359aa7b53ea46720819e01b3f234edf7fdbd05799a4339bd39e9172a106438d4e39c0c86c49eb444b3d4a06933f9f4846c0271534554fbfae5993336bfed5490d3615cc10e72b187c2e70c57b4ceff967fca637460977d329ad3e2fa075230de7600381018ee7032755ca143dabc4fd45cbb7346c8f3e1fb4af2bce47f83e80e76eac27565f4cd2eba8ee2ef5e8d21c6429f9a2c43987d7062558f3df8cd3f08bf5d15ee0fbb49e9b0f03485c8ad0385e6fae24a1b2c48e19821059d95743e0a7e4b8",
"credential_finalization": "d7caabb0c5629bf3e50de72743f5f0790fb40a49f6135ab17edd22453a69128c0df3b8039e4fd145ee4e705a6d53ba30dbf82d3fcad762e36a8e21db4b74b944",
"client_registration_state": "001fd75399d6cf9d76d3f7b1d78febb85806163f9b92a6902113fcf603c9131804ce190a487b25f5baac0943c3f10adf853f86b34cfdc9c3d5c7d44e0bc76f1401400200e6d291ec0b5b61cad7e1a581030db9ec67be7fb82c63a8e2b424ea4e0d5994a9e19295a1e53f64235fdbabce375416a585f7018aab64bfc16a2e5dda17b6010aac",
"client_login_state": "001fd75399d6cf9d76d3f7b1d78febb85806163f9b92a6902113fcf603c9131804ce190a487b25f5baac0943c3f10adf853f86b34cfdc9c3d5c7d44e0bc76f1401400200e6d291ec0b5b61cad7e1a581030db9ec67be7fb82c63a8e2b424ea4e0d5994a9e19295a1e53f64235fdbabce375416a585f7018aab64bfc16a2e5dda17b6010aaca1af12b68b7d3f85e4f5e1fe26cfa194f75ea1e635043ac7dd017f52fed354ed03de82e386b668ee06c886ef9b2bee34a9aa95c0f3ebb50aed8db192b35133ace54064f8f667acec10bfc0cf998e19af7c2a6f396ca0dd2a2a1393a599ddaee71ca1af12b68b7d3f85e4f5e1fe26cfa194f75ea1e635043ac7dd017f52fed354ed",
"server_login_state": "80af07484f690be5e8f46fa823f00968ffad226f14874329f42b68c3af3de79aa53c3310cd0b05ed11b36f057f810d229c67a236e4edb074dd90bec457a97da0345b070ce3d457cd1a113bc9c3c2a0ef78a46c8c4e6463ddd36ee469c0b55cb5e4c6ab3cb300f915bfcdc0d64299b4ba876803e91f5c8f080c047c61c54a82bc86ef27a7fda81a7ae78e38f87fd79a66295767630ff4e9ee91161e6d620f6c7004685cdabc832e62822ef5e005427ba456e19806a211b32a93bf6c0dd2a95a70",
"password_file": "02fbeeb2f2f175d11ed7f0cf2e7928d4681b1f3cad1b50c94275f9a2479480b02477fdf442670a0efc497368941277f3991b3589e9ac2a2a5212aead5bf10b33ca73b3a6c0494935bb2a13fbad1b9f5ed614ed96b6e81b0ca5755b6122543970b77d2c68cb648a5b76a3afc3940569438f7479f5449ef78b4b8b614cd49ff7cd188be9e5fc28c5072daf2a2ba9f465e7b147d4901fb4a8bd18197ebf24afc3f43167f98e051f9f8e829cedcf9ac7f5ce4eee247ed4cadaf8ecf11e1fe6ccb2db3f",
"export_key": "513c752aea9248885b947cfe67b7fdf2a50056cf5f930ad868fd4b22d746a7cd8b47264891b33f419648274b717e177f3653751c4ee74192a846bcb621e52901",
"session_key": "86ef27a7fda81a7ae78e38f87fd79a66295767630ff4e9ee91161e6d620f6c7004685cdabc832e62822ef5e005427ba456e19806a211b32a93bf6c0dd2a95a70"
}
"#;
#[cfg(feature = "ristretto255")]
pub static TEST_VECTOR_P256_RISTRETTO255: &str = r#"
{
"client_s_pk": "0242e71d6f4008b8250e6eb6bc438cc89d27673f7f2145f306ae845343033d4ec0",
"client_s_sk": "43912402ecedbc22bb23e2cbc87cdd7683bdab3ec75c10fca7040eceb511cdf8",
"client_e_pk": "02dfeb24a841b3968720d3ae9a3b80a9352d23fc6877cd7fa687848a9aef4be8a7",
"client_e_sk": "c79057c12155116090cfe47c05d6ae0de8bcd945ee8cfa5c06f90f0e996b6b91",
"server_s_pk": "026e9438a92b1a83789f7509b58a4e1a5097997a4730e9cd7624c1ad54a9254374",
"server_s_sk": "d1049509e624f68cb24b02e72c74ecc4c89ce77841fe175a5c17a1ca07a16c2a",
"server_e_pk": "03ceaccfbbdd427839fb6be2e7f717e648cab82a9fbf00cb9d5eea7b310bf86216",
"server_e_sk": "8aca49d5b5d20cae19085df7cc32dc5616085c92d1c817ab688efab093dd7a96",
"fake_sk": "02c5bcd183d623df1a1aa6c10c6a601cda6c25e25ebbce9a0dda4f6131a2a443",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "fb5d456a74830e104da71d2b4cb78a159e80c25bd23c97d9a46c3e60d573e804",
"oprf_seed": "c4c7280c84aa15d43f3af3c496f2ec52cbb667e24861285ad21c9aadbb6b36f9ea3b4b01afed7335c70ce066e1ce5d76fe8714763d0ac825a527d1090dd907dc",
"masking_nonce": "f690b5c90ef6510d632c98135ada6020137b8323fdca5cc52f703e17777d4aed174e255e3e3c9976eb0e5c7323495edf747ae175e786b653951bf6a7a7e93c6f",
"envelope_nonce": "aefdd79167abac0f13c0d19d0ff5dc6af080b26e1e6e5e3b163b4fe0a0625326",
"client_nonce": "f49804e9b7704b41bd0072e3509dcf426dcf3cb7ee2e806bd2e8daeb2deec9a3",
"server_nonce": "4f93dfeeca464d466ab153cbdf7a635fe0093a14807431b8ac706953a33560ea",
"context": "636f6e74657874",
"registration_request": "ac2466e62014bd03eac0e1558f28a4b3aa70cf9be402df883716f8dfb90dca62",
"registration_response": "e2d8c4dfb4bf2b4b54b1a01312dd30d8c64be439da8d4339002426ece59e182a026e9438a92b1a83789f7509b58a4e1a5097997a4730e9cd7624c1ad54a9254374",
"registration_upload": "032ef9e5f0fdd48576ce824b8cfd6080b2496a92b5131c9bc103ece8dc454ff35c8d360f27e36bc7ad4e7ed465a28dd6be9c3505c0dd8681a5aff19ac300b3613afbe1f151c0897b9a73f68d5f7432cf5f8f4b88ed23d4c78d726f13c0e3c6846643912402ecedbc22bb23e2cbc87cdd7683bdab3ec75c10fca7040eceb511cdf83b9ad73fd49f75fd73f632ff3158c23ec3c404fe8d67760aec7c9745ba7b8402e93809e925f90ffd234f2b2722bbf87549af5b55d903c912a1d0826e4a1fd081",
"credential_request": "ac2466e62014bd03eac0e1558f28a4b3aa70cf9be402df883716f8dfb90dca62f49804e9b7704b41bd0072e3509dcf426dcf3cb7ee2e806bd2e8daeb2deec9a30275feb5f44359cd7cd42336aafe63c378750961271a987883846159c13e4ce4f6",
"credential_response": "e2d8c4dfb4bf2b4b54b1a01312dd30d8c64be439da8d4339002426ece59e182af690b5c90ef6510d632c98135ada6020137b8323fdca5cc52f703e17777d4aed11038d07be52cda633dc8253f4881143e4523b796f573b85f6476d3f016336c164ebb46fb1e9ac86ce257b2d57bafcdd6355773bf167146ccc0ece25b69d34d76ec1bdc63c4518d5192736cb1cbf081831e49b00c335296163ed4203bce4ab615af6ce7412939e929563dd6d8668cc09cc73c3a6c8765412a4f1b61121ddd6f5bd8aca49d5b5d20cae19085df7cc32dc5616085c92d1c817ab688efab093dd7a9602e5202666659c4ca56676468edf2b45747f5ce6e3838ddda765aab8432407331395b8cc1145d0f7db60e358a280c3ede24ed6ce45c842cb1a881690fb0fb2c6088e8bc6152612bcbd1ceff8ca2d0dd684acf8bc1a2e162d49fe1da770f533f43b",
"credential_finalization": "b910614ecbb488a358cef52bfedb9d20cf035557f4ef5d67150252f2e250b09a11d4cd6ef938097ac4bbb7055c46e1e855b9705228fd5cd6fbf199d46cc86d3e",
"client_registration_state": "fb5d456a74830e104da71d2b4cb78a159e80c25bd23c97d9a46c3e60d573e804ac2466e62014bd03eac0e1558f28a4b3aa70cf9be402df883716f8dfb90dca62",
"client_login_state": "fb5d456a74830e104da71d2b4cb78a159e80c25bd23c97d9a46c3e60d573e804ac2466e62014bd03eac0e1558f28a4b3aa70cf9be402df883716f8dfb90dca62f49804e9b7704b41bd0072e3509dcf426dcf3cb7ee2e806bd2e8daeb2deec9a30275feb5f44359cd7cd42336aafe63c378750961271a987883846159c13e4ce4f6c81c3136e325d87c04f6063f36b8752f04371fd2b798bfef4897f6b061b9545ef49804e9b7704b41bd0072e3509dcf426dcf3cb7ee2e806bd2e8daeb2deec9a3",
"server_login_state": "3917283f7bd9ef42ab1ce4f4116a156038d74489b5081887eb1f8849357adbf36cd99dc6add3bc792b196775babef1ca9d9d3a10dedb747b1364271f68abbf89c57466d08600732a2419a3577edd43ece61c20cb5a7670ba9c4b4319223281cf5d3dd304200d841ecb6d4bf5f139cb01a76a699af67d835feb1d4d643ee5260f18a012234de5a9b863c4e37d552a48a424ee51359f8d794f1a3c4d872927cb6252fc4783a4189c3589903888fae5167c36c324f7765ac01f09119ef5be2b7303",
"password_file": "032ef9e5f0fdd48576ce824b8cfd6080b2496a92b5131c9bc103ece8dc454ff35c8d360f27e36bc7ad4e7ed465a28dd6be9c3505c0dd8681a5aff19ac300b3613afbe1f151c0897b9a73f68d5f7432cf5f8f4b88ed23d4c78d726f13c0e3c6846643912402ecedbc22bb23e2cbc87cdd7683bdab3ec75c10fca7040eceb511cdf83b9ad73fd49f75fd73f632ff3158c23ec3c404fe8d67760aec7c9745ba7b8402e93809e925f90ffd234f2b2722bbf87549af5b55d903c912a1d0826e4a1fd081",
"export_key": "a240f22a22098f22aa7e06f013c7cac584372feabe69cfd5aa038095ef3cf3cb56c8ff7a85f7e3aea1ff0ac6d612fefe0bbf4ee9a5377f46e39ef521683ca9e0",
"session_key": "18a012234de5a9b863c4e37d552a48a424ee51359f8d794f1a3c4d872927cb6252fc4783a4189c3589903888fae5167c36c324f7765ac01f09119ef5be2b7303"
}
"#;
pub static TEST_VECTOR_P384: &str = r#"
{
"client_s_pk": "02fa6ed24fa6fcadb3771a0f54c7ac65179ad017948d99e7e164723b5e964effbf8824127cbd2698a8fe8a4c2afb05fcc0",
"client_s_sk": "c2abb7cd78af44820b0a15e4f71fb319641ec9c974ef41119cc5a7cd363edf7fc7d894267e5a5c719668b7efa7636734",
"client_e_pk": "026d4a0c385b451514f7c28365a8291653a9d2f2a83b66c5c6ad6bc91266e4dcda707b21ab2386c6cf6083efe6d8022b81",
"client_e_sk": "79cd80f006822d5a00ffa23f4cf9b458433026781f5a60b2e2fa1196cd27dc6271a243f907f4c6f5416ccc50ba0b2634",
"server_s_pk": "03768842501d964fe1e4e5a7e0a682cdac9befb2ec917e805fc77db34e83e4429e6f37f6f938fe4e841a7922ecb904c982",
"server_s_sk": "2c10786474740bf5c795afd16f45ffb509e1c8eb1c26f542a3978756ee650d787102d8ca1f019588cca8519725cb7886",
"server_e_pk": "02cb1befdb706a11a570803987943b71a0396ebffe51e322586d83076c26e107d3b1f6a80a3f6df7c160855b613fbf9690",
"server_e_sk": "5b4e17f6ef383deaac66ba5e274e896cb420c56e2803b47a9c77e1d62b515282f435691e69bae1a7bdeaecb5d8f30b9d",
"fake_sk": "165e79fc62545dab5376fadeae1799e3354f61e7ab3ef7550537aad9f1a6bb1a3a375bacdba45c985673b032274f7bc6",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "a947a1745e9f3229fa6ea23210782709c078a8c6736090e38460b3fcdd228b25030e3c7d1455fd64f6b9f8d69e906a89",
"oprf_seed": "95b5c500a5e78d35be52514a06b09ec5f7c6be1436115e7e48b1cb010d4534650bb5efbc926a288c1582ca13e486066c",
"masking_nonce": "354ab1fa56207a15b97c083e1c82f34a6db2eb74d565a2f7b6e23d4468c8e3f051a2c06602dac84fe21538f062beb43dd113d52490aadabcb7facb60252b3504",
"envelope_nonce": "cac73dc72ee87a6a473616f3070a097db1ea8037705bc0ca31c62d4bbe121958",
"client_nonce": "123e9333eccf3901eeeabf10ab0964c5f95b96f6186b84794fb411aed6322eaf",
"server_nonce": "35b7d95eff703a96db3c28b3187290a9c36edff5a6c249fd062619038d70573c",
"context": "636f6e74657874",
"registration_request": "03bcdae0c74053cd38a0608843145d50e29a2a67f91a4aa65561b8482c22950415308c65186739f75b6d1e91c63b0b450b",
"registration_response": "0361e23da60e729ab9613cce5be91a9e5e3a336f9048a0e43e84f9cbd876aeb4dba34661475e040810fa3af56107a182bd03768842501d964fe1e4e5a7e0a682cdac9befb2ec917e805fc77db34e83e4429e6f37f6f938fe4e841a7922ecb904c982",
"registration_upload": "0366b3ecb9b98991032f42924837b4c001750841b8124b02d9626cbae04f25f8bd6039ef4d4fd4ce665583464b6d532b430c64dbb13528053db8f1159f91c3f2cc863c6984e064ae62718fdc09abf15c4319fe4d58a7b35dc70d0d96f334dab120c2abb7cd78af44820b0a15e4f71fb319641ec9c974ef41119cc5a7cd363edf7fcb20e5033ae2203b5ff19fdb8b5962f1c01cde927bbc6e9444918010debbb0d50cc757eee6a21909f3ff4cade0136366",
"credential_request": "03bcdae0c74053cd38a0608843145d50e29a2a67f91a4aa65561b8482c22950415308c65186739f75b6d1e91c63b0b450b123e9333eccf3901eeeabf10ab0964c5f95b96f6186b84794fb411aed6322eaf0229a63f3ea3631b9155b2fdbdeab70d602e5c6d5d1e18b205821f65c4b87b673c1818d5b7a4de69aec29da6da608d7713",
"credential_response": "0361e23da60e729ab9613cce5be91a9e5e3a336f9048a0e43e84f9cbd876aeb4dba34661475e040810fa3af56107a182bd354ab1fa56207a15b97c083e1c82f34a6db2eb74d565a2f7b6e23d4468c8e3f0be0eb4444f93abe213c19b05b7aeefc9123913dd29cce792a51416b7efd7a261d04c003e626bf99158ed1967ec819825936c4b28ba8affc641461673e139c7d3ae8c4c55333be4e5771e3e84b4ac66adc3d7d9170e201acf9ad2efb31482940f0704722c886b97cbd056bc168e6396138fba86ffdcab6a03eaa402881aacb2e421b420c56e2803b47a9c77e1d62b515282f435691e69bae1a7bdeaecb5d8f30b9d0334737564996492f6f5070bb46d277f71fb9aa75afb3418001fd81c543ff12269aa3675c1310a4ae95bffad9130cea6e7c92c39ba22bfad290254f0d7385bfd77941f7003c7af856865da2c7c8ff728a29ccf9e1bb129eb6b9ae03df1ca3edcc6",
"credential_finalization": "2875908e63b4a276adc6fd5161e2352dba2401dfd46852a2d5914669913e56cb523d0c27daa030089402bb5ac4478ba7",
"client_registration_state": "a947a1745e9f3229fa6ea23210782709c078a8c6736090e38460b3fcdd228b25030e3c7d1455fd64f6b9f8d69e906a8903bcdae0c74053cd38a0608843145d50e29a2a67f91a4aa65561b8482c22950415308c65186739f75b6d1e91c63b0b450b",
"client_login_state": "a947a1745e9f3229fa6ea23210782709c078a8c6736090e38460b3fcdd228b25030e3c7d1455fd64f6b9f8d69e906a8903bcdae0c74053cd38a0608843145d50e29a2a67f91a4aa65561b8482c22950415308c65186739f75b6d1e91c63b0b450b123e9333eccf3901eeeabf10ab0964c5f95b96f6186b84794fb411aed6322eaf0229a63f3ea3631b9155b2fdbdeab70d602e5c6d5d1e18b205821f65c4b87b673c1818d5b7a4de69aec29da6da608d7713561c5dfd4e2782a883360d68db11e03d4ea695bdeca9eeb0f999410a399201bd3bfe5a4b9a951d72303627ea21da64a4123e9333eccf3901eeeabf10ab0964c5f95b96f6186b84794fb411aed6322eaf",
"server_login_state": "bfe2761cf09d57c22373d3eba7627be288d862770f5d7d3e89ff539351c743889436e150c879bf030f546a5b781cc9ba7b23cf54fa8df7d9a1478403324be3e88e0fd7e7fbfc53a6fa7772fc23d9c7a1ae0013d39720b111882256f4ccbf627362379189dbda93a685e16e41e8903194348914fe74a8fe6da1b03bdc7553cf65c3911f57cbbb410f428ef22a148faf7a",
"password_file": "0366b3ecb9b98991032f42924837b4c001750841b8124b02d9626cbae04f25f8bd6039ef4d4fd4ce665583464b6d532b430c64dbb13528053db8f1159f91c3f2cc863c6984e064ae62718fdc09abf15c4319fe4d58a7b35dc70d0d96f334dab120c2abb7cd78af44820b0a15e4f71fb319641ec9c974ef41119cc5a7cd363edf7fcb20e5033ae2203b5ff19fdb8b5962f1c01cde927bbc6e9444918010debbb0d50cc757eee6a21909f3ff4cade0136366",
"export_key": "61efbf5943a46589742b64132ac35a7349da04738a1fb63dd56f50d7db85ad99cd250be65f73655c9875579ddd999054",
"session_key": "62379189dbda93a685e16e41e8903194348914fe74a8fe6da1b03bdc7553cf65c3911f57cbbb410f428ef22a148faf7a"
}
"#;
pub static TEST_VECTOR_P384_P256: &str = r#"
{
"client_s_pk": "03705df936b70570aeb23bc684360d6ff388ab9ba806d5534dda9edb5f81a129093cfcaa2a81cdc3c36c9bb35350cf34e3",
"client_s_sk": "64b331b1ccb0aff7890651fdd5ddbc7bd60f2f9e22733006d892758f440da433c7142c57474b48737276b4c183fe1412",
"client_e_pk": "032f1bcf57a41ba2d3a80b214f104c53808763736e45c7ee5e1b396727632fa10657ef143375266360893050186fccc6e3",
"client_e_sk": "b35ce757a04ea8ec1bf5f3b3e7964f3633a95115b7cffbd827a9fad63e393a647b6b28748aa978467be14a8f7f4cb6f4",
"server_s_pk": "03d7f7f216b76b3bbfef49e3a8642e2fc137f122b451841c281b22d865772379bc76fccfd6239f359cc2a411945a31aca9",
"server_s_sk": "8f7bc0f5a437d5fdbfc489b549c26a137da431ced4a7fb1352c95b7d212a9160ecea11cb2f559b071a195560c375024d",
"server_e_pk": "02808842f803a8b402a4cfc4090b0e16da3b468f398d988b88ef6202eed43bb619febf3cbf29616e5ed69529cec787da84",
"server_e_sk": "ee84829468202149439a5317a3aacd25aae5f2e3cbd7260ff8b1aac359299137655376967b6e90d90785ee079e7343ce",
"fake_sk": "30d72844d5e6b542adfa33493cf62bede862b7f8cd04738b06d337a958248e10c4b258ef57db6eae29180b599b5a989d",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "8503f8bc99555c4bb0a948257717ec94f1b86a33a943765cac84c591e7be172e",
"oprf_seed": "ffe220f9925d90f7e1f4cb8019d77412cb4d16371fd7efd01810a8619e665f3c",
"masking_nonce": "ca60700fd92f8ac5bc4a80df35a95d5885d48cf1bd1a7a1000e7ca30fecf70d4d8f9fbe64b7797f5c60b4e2d6fb29b50f03df78abe2011bfaaf8231f158a5272",
"envelope_nonce": "f9ef57d5561b42cd78b6714fced62c27f6c005077de41b8ec1961a29097ef51f",
"client_nonce": "2503e298d22ec0af2dd9b9ca010a3518f228981182d4386f316be3625d77a061",
"server_nonce": "b9bc7b227d43f24d7ffe42399a35734f31fcae204e3fbaebc526727d99765788",
"context": "636f6e74657874",
"registration_request": "0251d3388220d3c82eeaf0dc62bea04bd3255ba5b56e8ad3ae6b14802491373f0d",
"registration_response": "023a520225a108208363997d73584b25385503a583ffbdf012eb85e3576474760a03d7f7f216b76b3bbfef49e3a8642e2fc137f122b451841c281b22d865772379bc76fccfd6239f359cc2a411945a31aca9",
"registration_upload": "039e9e4adfe991522318ea17712758e0716715c1ed1f3cbd7d043968e252f157e165bc557dd0f35aea76476acd91197524c4dabb61fbd62ab2278a24cebdb454872e7191eb0927b22625ecb93c6653645364b331b1ccb0aff7890651fdd5ddbc7bd60f2f9e22733006d892758f440da433815d84aee443831ec0f0dd61c8ed491930532243d0d3f6235ba8067076fa5e28",
"credential_request": "0251d3388220d3c82eeaf0dc62bea04bd3255ba5b56e8ad3ae6b14802491373f0d2503e298d22ec0af2dd9b9ca010a3518f228981182d4386f316be3625d77a0610335cf779b358a211cae03ffd2ebbdd5dca57df77e1ffc8a966ae3f567c48aa00f0cd827bab80e8940d9931a4b205a55ce",
"credential_response": "023a520225a108208363997d73584b25385503a583ffbdf012eb85e3576474760aca60700fd92f8ac5bc4a80df35a95d5885d48cf1bd1a7a1000e7ca30fecf70d466fb718f41f183c845f2af48c53861e578422d0ed185eb11982ae735043899e51f04c163b9ef25a08926e15c47e0e540f4a07172aa4ef78a5fd8c830275bb96431fad0fb6f9361303c17e9cf7b02459c8549a72692986caee16f0e890f56ca44b905f30fae213d784a378badfb6e9acd0daae5f2e3cbd7260ff8b1aac359299137655376967b6e90d90785ee079e7343ce03f5bd35f8bd90fdd3b380f1af89faa2bbc44d06e0d08b0a5311728095e532fd9cbccc1ca31b92e8b2735d27b7da2a013ec8ac0470f98f215269942e8e5ebd818f7682729a6ad5d446c518e6037c586bb1",
"credential_finalization": "632ab982abc7dfca078ad200d7778c6970ffc46aa9cd408ea76033928eabe5d6",
"client_registration_state": "8503f8bc99555c4bb0a948257717ec94f1b86a33a943765cac84c591e7be172e0251d3388220d3c82eeaf0dc62bea04bd3255ba5b56e8ad3ae6b14802491373f0d",
"client_login_state": "8503f8bc99555c4bb0a948257717ec94f1b86a33a943765cac84c591e7be172e0251d3388220d3c82eeaf0dc62bea04bd3255ba5b56e8ad3ae6b14802491373f0d2503e298d22ec0af2dd9b9ca010a3518f228981182d4386f316be3625d77a0610335cf779b358a211cae03ffd2ebbdd5dca57df77e1ffc8a966ae3f567c48aa00f0cd827bab80e8940d9931a4b205a55cec12c505a05f55310b6b28b6247f730edffddfe02aa4e34d0b5338f6a7bc93f75ceecdc3e227c5a7425a209c82120bb222503e298d22ec0af2dd9b9ca010a3518f228981182d4386f316be3625d77a061",
"server_login_state": "94167f2ce58cb91b5fffc12e9d3de1135fb70a0a9590029485a64c5d85194cf4211be47925c217eb86b89efc770094ecdda7791a9cc2259bfb4b80de454cdd2574b6fbaa888b6c58a7724167f80779ff3e43ee161b412c8e44110e6641f16866",
"password_file": "039e9e4adfe991522318ea17712758e0716715c1ed1f3cbd7d043968e252f157e165bc557dd0f35aea76476acd91197524c4dabb61fbd62ab2278a24cebdb454872e7191eb0927b22625ecb93c6653645364b331b1ccb0aff7890651fdd5ddbc7bd60f2f9e22733006d892758f440da433815d84aee443831ec0f0dd61c8ed491930532243d0d3f6235ba8067076fa5e28",
"export_key": "0c56c3df558d737ba05046b747735d21261d14f774bf68cc06dab4799b35529c",
"session_key": "74b6fbaa888b6c58a7724167f80779ff3e43ee161b412c8e44110e6641f16866"
}
"#;
pub static TEST_VECTOR_P384_P521: &str = r#"
{
"client_s_pk": "03f9bc8a09d1672ec08bdfba037c1a5bfe606c41d3ac764039059598e18446de9df3215766e0f637256831ab795c624915",
"client_s_sk": "9976856d2ffadcc4d8b5bcfe4ef3a4403049fa7bac8e538aef8fcaefab09bd4299df3ee9d77089a1c57725d1c3aa0a22",
"client_e_pk": "03ec4fda7b91157d4901613b2a4e03a5fe21675f10a59aa2d0a061b5287200ff840c1db3ffe32e16349a6b807c688a23c7",
"client_e_sk": "61bde756eb60e067fe1e5605f903b72a8db1526039156ca71e5d2ee4fb28e79785d280a8d9658f5123a3d4434787a696",
"server_s_pk": "02d8c4656ce5feba45aacbec2963a47a9ac2bedc80ce664abe4328a027998af4d6c5c5d42b81a2ff27695de8f2cc27d73c",
"server_s_sk": "4de2874d6e54da940be13de6e0d7895bb9ef2d433ec4e013fd4dbce44b82671a895660faa23f343bf3c8cb68a9ccf236",
"server_e_pk": "020e852bb698816cb01319030c0fcb4f9110abd65ecfed246af60db508a9b76a17ba8d48a696eade06749381da343a879b",
"server_e_sk": "cff4e274a72ead44e15f69029f38c233b01d9d44848c39b4efc450a4650105e11e23f0b58b35b2c4c29a1b3eac8bac2e",
"fake_sk": "3b3f63b54496fd2a36e56fe51e371c27c80b6483ad7cc95e65f7a21e881e5885f8feec1fead60c85d51296328dc69045",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "0060a5b87aeadc0f7e298558783677821bd7bb9fddf904e639639787ca134cb4edf7ea065d452de00472c3f0557e1200502204d24590e2ed5e33032b824e65421cd0",
"oprf_seed": "f3d5dc34e77d2b07784aeff89edb5088032da59d983512349b4b78bcd9345ed379073330ea89141dfb54fe9e06f28cf9010c66e626876b8fdb936e31bfaab5be",
"masking_nonce": "197833429382a06ea3ad9a021ab6094332f8315cb73b3216e7770120ad2ce655fa3061c65dc03ce0d667b17d00717242fe9e0781ca4e3dbc277a4ac3ca9bde8b",
"envelope_nonce": "ca3efd3eaed0c949fbd40b1ee25ea87657fdce42344fdee1bd7da2463ff47a5d",
"client_nonce": "49415cedddf1ed397fc1842d6185f7f67d6a7ade8def4eb5349b90bbd85bd2b3",
"server_nonce": "f5c97b9988bc93dd1f84cb3b75b788fda45c64a86cd8b1a500f5976083b8067f",
"context": "636f6e74657874",
"registration_request": "0200991cb8ebc1c40214f3eef02f97513ca5dd9d9ede7c46a774347dbee01df8b3ff17b34bae2e871a0622bc86100af07976e1db6bf43b7b5b782ba0b54f7687b0694b",
"registration_response": "03003d7b022157445bdc58f21923b04cf6a84b0018f8ae00509a855b675d4129a5c6027b41e789e2bbfed442e43e4b23bdf09841c359f82dff83e40df3995cc32835f002d8c4656ce5feba45aacbec2963a47a9ac2bedc80ce664abe4328a027998af4d6c5c5d42b81a2ff27695de8f2cc27d73c",
"registration_upload": "0387a579c42db48307bef5ed9b55d8db2e69791f377a3bc07498d64886234f53999552a3cc4008f10bfd64cff43a54414f1186462bbf825093366a78a92396a1ebb1e3dedf9def2414b45c67d7f4d8bce5b7ed0b65adb2dfc6d6a1b91fc63239f0f06f94fc0d8d84e4e35781b130a45afa9976856d2ffadcc4d8b5bcfe4ef3a4403049fa7bac8e538aef8fcaefab09bd4240b8b1adf1c555d22fdb8ac9f962ad9c0f4f96e712e68313e3d79f81de3db77c58136539586929456072981e11730add9911f40ea186e1680e6950bac57fd970",
"credential_request": "0200991cb8ebc1c40214f3eef02f97513ca5dd9d9ede7c46a774347dbee01df8b3ff17b34bae2e871a0622bc86100af07976e1db6bf43b7b5b782ba0b54f7687b0694b49415cedddf1ed397fc1842d6185f7f67d6a7ade8def4eb5349b90bbd85bd2b303a45b5e239567d83d854bc6432f6b20e19eab2633d60ca47c208896d1020eb269a7bd1d9db54a08d54639e2e9cf68c6f6",
"credential_response": "03003d7b022157445bdc58f21923b04cf6a84b0018f8ae00509a855b675d4129a5c6027b41e789e2bbfed442e43e4b23bdf09841c359f82dff83e40df3995cc32835f0197833429382a06ea3ad9a021ab6094332f8315cb73b3216e7770120ad2ce655cf28f569e33e8ae43401b30b66ffcc84d644d80cc96d94b12a5ee8ba0d88abb20ff31833d4171ac66411de1e22b92c66b213edc8b37c6a1e4f3e8ccb661d1cb0c47438724d311dd57455a7a3e7a1a917d022d0fa83a7885f682d059f066fa72aba67efa352e8b984cd2174007d3ee357fb4ea4f92222d449886dfb404f91d87b3f5db56085790fee3da26a47182b3c298ab01d9d44848c39b4efc450a4650105e11e23f0b58b35b2c4c29a1b3eac8bac2e03622e850622f4db39d315abd5bfd42b0f5304121368cdebc28edec69420e10a14af603bc4ef0b9ab4fa887eae71f679d607c94f4052a4324223132a0c358a4897e40b69ee6355880631a9e22d292b5e901ef5e9d40c3ad98e1d0f9abfba74582470b8df302aa5ea1e56a3ef3b6d1a2947",
"credential_finalization": "b729f0c85b332912e8e2c69954518632ac8912c14369172a63bca1adf6600ab14da0bb3c629a53f41de5d5569d7d26b71c476a2bd384e2d563d8892f1b8d13a7",
"client_registration_state": "0060a5b87aeadc0f7e298558783677821bd7bb9fddf904e639639787ca134cb4edf7ea065d452de00472c3f0557e1200502204d24590e2ed5e33032b824e65421cd00200991cb8ebc1c40214f3eef02f97513ca5dd9d9ede7c46a774347dbee01df8b3ff17b34bae2e871a0622bc86100af07976e1db6bf43b7b5b782ba0b54f7687b0694b",
"client_login_state": "0060a5b87aeadc0f7e298558783677821bd7bb9fddf904e639639787ca134cb4edf7ea065d452de00472c3f0557e1200502204d24590e2ed5e33032b824e65421cd00200991cb8ebc1c40214f3eef02f97513ca5dd9d9ede7c46a774347dbee01df8b3ff17b34bae2e871a0622bc86100af07976e1db6bf43b7b5b782ba0b54f7687b0694b49415cedddf1ed397fc1842d6185f7f67d6a7ade8def4eb5349b90bbd85bd2b303a45b5e239567d83d854bc6432f6b20e19eab2633d60ca47c208896d1020eb269a7bd1d9db54a08d54639e2e9cf68c6f63e84e89ccc7a9b701c63785877e851ce0fae1c9bdf4fd890461049cb1d3f0686c4381187e8e0525c8985e34ac9aaad7049415cedddf1ed397fc1842d6185f7f67d6a7ade8def4eb5349b90bbd85bd2b3",
"server_login_state": "84ca46a379f4f1da02639c63e25cbc11b493f90aa71c78703d443173f196185420ee5f8139461c95cf1c1f08b3adf50e4a13e0dde3d88b826341ac4333054c5db149c31be323122c888318ef8280d7d1030b62d7d02eb21b49fb832d24cacb566fa6bc954fce7937716084c51f2937f4b6dd2dd45e228f1e199f6e16c9b9e7d13d5913b98e6c7a9a67baff21902cf227c7913ac0022bfcba41a86ce4682ed4501676b2d6d5de847427d4172ad4cc93dedc1e813de3b900386c70922eddcbad9b",
"password_file": "0387a579c42db48307bef5ed9b55d8db2e69791f377a3bc07498d64886234f53999552a3cc4008f10bfd64cff43a54414f1186462bbf825093366a78a92396a1ebb1e3dedf9def2414b45c67d7f4d8bce5b7ed0b65adb2dfc6d6a1b91fc63239f0f06f94fc0d8d84e4e35781b130a45afa9976856d2ffadcc4d8b5bcfe4ef3a4403049fa7bac8e538aef8fcaefab09bd4240b8b1adf1c555d22fdb8ac9f962ad9c0f4f96e712e68313e3d79f81de3db77c58136539586929456072981e11730add9911f40ea186e1680e6950bac57fd970",
"export_key": "c439d325d810b0df0cc8e1b7d574ef4b1a0a2c93c48e00a3296d78f2f9fc6731339909c375cb77a616a50a30ab1b7573c830ecb3e788a46285e560a298895b7f",
"session_key": "3d5913b98e6c7a9a67baff21902cf227c7913ac0022bfcba41a86ce4682ed4501676b2d6d5de847427d4172ad4cc93dedc1e813de3b900386c70922eddcbad9b"
}
"#;
#[cfg(feature = "ristretto255")]
pub static TEST_VECTOR_P384_RISTRETTO255: &str = r#"
{
"client_s_pk": "030ca039903e185917b6814faafa366e5fbdf183297f13407485e4fbdfb377858022e95704082a65e2493f9b4988673e67",
"client_s_sk": "9bbf7549419fefbff80595e366e36cf781384441e6db5a0431356cae8dcbf3a64532620ba556688a818bb85e01a2d501",
"client_e_pk": "020419c940d5d1a50a3cb3afe9d08089c6c254e7836d53ab356c1dba1339c20f1cadefcb6df5e98bd63105e91ef8b8c408",
"client_e_sk": "22bd87a74509c40b46fbd3b826cf3c1da772020e0bd5bd4337799b7cd3678c040069801196b601e092f76cb8167455c5",
"server_s_pk": "022afe4a6f7dc644ead7ab935246cef7728109ecfa8f9cda6a1f7ffad746568b6a2979b26185e5cad41dd75b5e42aa0ae8",
"server_s_sk": "2a786021b42281bc77507d9dad8a97833d6d827aaebf6570f87734dc62750a52b81d1c6d04460e87b0e3ceb741d856d5",
"server_e_pk": "03ed891b5cc17b67ebe36f54fac5e066601cd77dc5c200e55377cdfe24b036a7fdf98c99eefd7217df0d75600266aa397d",
"server_e_sk": "3b08f81a8f6fd483f57d0d5c1a766af04e5e9fe90575a7bab45e7e6d47f549070025dd27f60d10267f9e8be8a673c806",
"fake_sk": "b69dd8b4d45d6085078e1a48e4474ca27afc920280cd1c01235eca7e8e5c3f0eaa77fc84cf6318025eac945a52cc4892",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "3096bb4b10e6df5cb2829a329e3e8e7a1bab8c9027518d4dd55ae14c313e9505",
"oprf_seed": "975efab123398b384032c8d1852fe2a38dfd637d491ac735fd2f0e42ba0b481b78e82e3d04a164896adaaef864f3e0cfc0d23cc01ea4c2ab4398987cea36c55f",
"masking_nonce": "cd903fed791d96842ab1358edddf9dd7aacc9153a5908712210c0c500e129dbe0d4a281caa562aa6d50659b29bffb5b6030e226499d25805faa01dd565fcf833",
"envelope_nonce": "87649965dc9a8839bfa12b91efc6303b1378b0d1617835dba7974ce618ddcd75",
"client_nonce": "4cda0a6848a7b4eaa3794f84afc1ada348ad38079b2f6a7d1839910e0fd37748",
"server_nonce": "0d7fd1f0510d64c80b262db40912f2b6289b9557ce255eca1583b0551b8f6b4e",
"context": "636f6e74657874",
"registration_request": "44372a80c2b33b044995a12353c086688d829393153b064147ef357d5c56c96a",
"registration_response": "acadcf3493247767235852b30692296582d9fe96f81140a4990139fe92938b56022afe4a6f7dc644ead7ab935246cef7728109ecfa8f9cda6a1f7ffad746568b6a2979b26185e5cad41dd75b5e42aa0ae8",
"registration_upload": "02b1fc9714070b4eecb3ecbe5feed67c94ca5124db2464bfb1ba9fd86c5d55df3a1af2f45b681296727d4a3f56dca62bdf03e3e093300311f937a3c0d7bad085296bd94f8ef5e97ba66087326e6d21be79c11593dba5bfe5d81d24428c30cbac96f99afce079de4940ec195ddf2308f5ab9bbf7549419fefbff80595e366e36cf781384441e6db5a0431356cae8dcbf3a67dc25c731b736e3da36aa41ffb3e71d307dd2a627b136e8a567d14582582a5f88bbc59efdbdab611ba967206f696487050e42d5870212be3a7ff850185e94b97",
"credential_request": "44372a80c2b33b044995a12353c086688d829393153b064147ef357d5c56c96a4cda0a6848a7b4eaa3794f84afc1ada348ad38079b2f6a7d1839910e0fd3774802c2bd860fd40900f550cf1a52056a38c994d0e9ad9ad67360d154508bb9c4f7dac8157641983bb8d454777763584a0a25",
"credential_response": "acadcf3493247767235852b30692296582d9fe96f81140a4990139fe92938b56cd903fed791d96842ab1358edddf9dd7aacc9153a5908712210c0c500e129dbed4d746329d1280cec1b6decdbe310a67b2972d6cd9a21fa1d34b97888b6ce1c2b1437d0872043dc93b94307402e5eb2a9e961058dce40d45e59cd72c006acd4c473cfbc70b8d26268be81221472cc5022a1b17106e45350ffe12ed12e1d673e7bd0d50313e787f20263acbb75b5a54401e91651da6d762589126368ca11ca02cf688290067f0066d7c1f004646608c5b7c4e5e9fe90575a7bab45e7e6d47f549070025dd27f60d10267f9e8be8a673c806025a5736dfc00f71c76a94d227b680e62395af00ca20cdd434742bf96e6fbc9afe14a4f6eb3dac1f8793b30db50a77af0cbfe43fe68e5c905b6e88b2c7e212bb43d722a5de3b56f0cdfb80a54b072c9eba03b1614289c59d3ab132ee29f2e4cc5c319ff452f76a2e4a2f4b40a14619d3f0",
"credential_finalization": "3b7f449356d302db0e6541d4f4d26f31d07d24b2766c40188d2fccd84bcf9808559f2cec3769cccb4dc27ea39f4b2c8a2f0a6245106d74a4360795bf91f404c0",
"client_registration_state": "3096bb4b10e6df5cb2829a329e3e8e7a1bab8c9027518d4dd55ae14c313e950544372a80c2b33b044995a12353c086688d829393153b064147ef357d5c56c96a",
"client_login_state": "3096bb4b10e6df5cb2829a329e3e8e7a1bab8c9027518d4dd55ae14c313e950544372a80c2b33b044995a12353c086688d829393153b064147ef357d5c56c96a4cda0a6848a7b4eaa3794f84afc1ada348ad38079b2f6a7d1839910e0fd3774802c2bd860fd40900f550cf1a52056a38c994d0e9ad9ad67360d154508bb9c4f7dac8157641983bb8d454777763584a0a257fedce6702a69a32de321a767241d85344c7844414cfb162a85f8342930466f1042d8b12bbd2fc9afa0fe04385d62d994cda0a6848a7b4eaa3794f84afc1ada348ad38079b2f6a7d1839910e0fd37748",
"server_login_state": "ec272f34c3791571cff89866e42295a8a109dc4ca43401cfcfd5d252c9f4b20caa7b9caa193daac555be0be55fc4c94463ee57db132b9e8143747e50c451bca2164619dbfcc7fe2c7590aa1f7598d302fa345af413676c041bcfc6ad79d22f2a3864c6d4789777e47256e6a78b87571a0788da0c497d6be2468131e14ec3518443b9d4d3c43105a4cd2849eb706a9f14dcbc8d2c3c820ced23e1d44b6590253681d817abaeaf7b87598c311119265161c90237f3a908e81f5a7bfc3f65860fbb",
"password_file": "02b1fc9714070b4eecb3ecbe5feed67c94ca5124db2464bfb1ba9fd86c5d55df3a1af2f45b681296727d4a3f56dca62bdf03e3e093300311f937a3c0d7bad085296bd94f8ef5e97ba66087326e6d21be79c11593dba5bfe5d81d24428c30cbac96f99afce079de4940ec195ddf2308f5ab9bbf7549419fefbff80595e366e36cf781384441e6db5a0431356cae8dcbf3a67dc25c731b736e3da36aa41ffb3e71d307dd2a627b136e8a567d14582582a5f88bbc59efdbdab611ba967206f696487050e42d5870212be3a7ff850185e94b97",
"export_key": "146b0c9edec1da5ffe42f42649223a25b91b59bb4da818dd5ade79d31a94741de32282f20fe08f91cde6bf7d94476c048291b2fb4983cd0288422f94aced0a20",
"session_key": "43b9d4d3c43105a4cd2849eb706a9f14dcbc8d2c3c820ced23e1d44b6590253681d817abaeaf7b87598c311119265161c90237f3a908e81f5a7bfc3f65860fbb"
}
"#;
pub static TEST_VECTOR_P521: &str = r#"
{
"client_s_pk": "0201a8855d74c9c52aa7aac2a8f8ad1ecc5a69f1f63b8837bf3499e25aad7ec814ac7fbad6cf512408897f4b367b80b3390c37628b8cfe7547808646bdc720a1f6d189",
"client_s_sk": "01394df281358616e075090c6eb45909c9a89d61722b64041a431b48dc4d3fb3682fb8a6bbc791f93b7551a9f50ef960652fd2678ecafe5c5990a1fb30d50f75c6de",
"client_e_pk": "0300d575e844e322accb7ebc8cd854cfa0873afa7a54389c9b7d4af50ea45c20cce9e78f8003d75ffb416d311aafbe647ae9e300c06a2c44495af224a234085fff9077",
"client_e_sk": "0020b35e8ad1f01b44ec423bf9119db84fe1dc0439990ecd8a4c19c56ecd64c66e9068b0e295506ed46600db40484d2611c05fcba8029ff0b720634e797cf8c767b1",
"server_s_pk": "030149f8c941439dab65c32ce9a9117b842efd1eef80645e4a16f4627bec1a12900c875ca41ea3ba6edd5780d6415417a54d98dddb480e6794c7ada14dad5be359ee65",
"server_s_sk": "01d3e6344bdc26338e1ba68613153460f57fe876128bf45c2ec4a5587db59fd2d772b3dcf255abe550aa848b39c26a4afa4fc82c054e8a3da0baa83c729a510b6c2e",
"server_e_pk": "0200e75f07a44f80cdd58ea0b6da3c5243922ab44964674cac6568e8e2ea397025c0a263ee4fb5c8454e9105e6ac288dca894613dd6ca64054d515e5aefcbf0b5afdf0",
"server_e_sk": "00b2df72311cbc162621dcd9fc88d463e967365099a78d2c39ae3744efe43a4f878a81f476c8413473564c85d079eeaa3e72796fad2cd82468434512283fec3a0174",
"fake_sk": "005c22ca983c2596c3555d1608edd4f270bbd3fd295eb000c9dfc58099a85efeee864809ad2292026271ba5cb91f2c2d112eaeea785f620b8e177bfeb18f31206a3b",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "00fbb22bf98bf39c7976b22794ac0b52e5647cc7c6974e0127de9ad1b87af9939e318a56e3234da3f4013e39772dc05f03209192186b40057f19dd6c2335343444db",
"oprf_seed": "415708c6e264878ae004e664ab0248c35eeea1087f1c0025354a0ac7038a9de5cbcc9fbfe4746168eac6f941f6b111cbe9c8518b9cd8ed70ffaf1b215d53e5b7",
"masking_nonce": "f00adf08b6a16efe16e79f7dd67be68120cac55c4bca3aa9f52028fee31a22fa19575f44e795fe377f3fe682cd1b545e09cb31d710aa2137b1a47235ac4c2746",
"envelope_nonce": "0428640699962a61df1069c5117a30d2fd88af2f739e0b121d1a45d372a2b43c",
"client_nonce": "e2161d273d1dfef417ef1f61fc52870261ff747c984664c674f8d04d27273a3d",
"server_nonce": "5fd0f302cc1aff28b8ab25d6691e2d12e6ea49c6898e571c34889224f9a077b8",
"context": "636f6e74657874",
"registration_request": "0200cb8f57dbc03f4d19f2e084f09a3c25c13ff5fd0cc287200b73a4a5db2032adc8ade46c67b41c3165a286ee620a1bfe7129ad30f10f64fa101265dbd90ea508527b",
"registration_response": "0201993e1ed2a09b321f70fe0b7650ca9d64420f3ff96ea61ac7eee7027ec8386b80ed6ba62f650f7eb799cc7c23dec5cf8d0707682c89b3c1d03724e575d1caeaa926030149f8c941439dab65c32ce9a9117b842efd1eef80645e4a16f4627bec1a12900c875ca41ea3ba6edd5780d6415417a54d98dddb480e6794c7ada14dad5be359ee65",
"registration_upload": "0300695698d710d80d522663a8f6042863183fb7bca9b4eba48c00588d0c1f2cb8e27816f359024266aa2e0f211a2a9bd2a554551b3407a3be96a025088e79bcef0d6d47128fa4397aa804a8d087998834403d7f9979c6e4decce37142bdf9a208d60e543934033c296eff5180b3f7f9a35b575cb4792a397f8941d726e2e530b7f5df01394df281358616e075090c6eb45909c9a89d61722b64041a431b48dc4d3fb36f25b45a2881ef3da01bf401006496fc09352344d05dc95b9f5ec3d2193be61b578df8903047b33792e80f271e9d5d3b7115e2bb5d5893fe3470978cb3ce972f",
"credential_request": "0200cb8f57dbc03f4d19f2e084f09a3c25c13ff5fd0cc287200b73a4a5db2032adc8ade46c67b41c3165a286ee620a1bfe7129ad30f10f64fa101265dbd90ea508527be2161d273d1dfef417ef1f61fc52870261ff747c984664c674f8d04d27273a3d03008c4cc94cb5792479f2b472431cf9d31e52e5e0eecce3985a2e3b5e02d75750f335665e3dc93719f65b326700287440ec8f11da6503454c21c47161bd216751bfcf",
"credential_response": "0201993e1ed2a09b321f70fe0b7650ca9d64420f3ff96ea61ac7eee7027ec8386b80ed6ba62f650f7eb799cc7c23dec5cf8d0707682c89b3c1d03724e575d1caeaa926f00adf08b6a16efe16e79f7dd67be68120cac55c4bca3aa9f52028fee31a22fad35e4c2441c80e1f1e47fc997ecc8cee138ae4e11aeeb2d1b1f3b59dd968d6978054dfeef60aa318a2a25dec3c463857130f5f888123339d8c3a6b6126162bb9fc507b332ab7f01f3d764395466b0096e99dc83f83f58435b5eea57636843ba64d5ec2a007d2bd5aae31fac3349d364e938033f9d604663b140dd62786b4f77f884675a8e2ba41ca5ae57cad25ddd56e4fc97d494d08a0cce38832a1666a194f26cef881f476c8413473564c85d079eeaa3e72796fad2cd82468434512283fec3a017403006e1112c639f3df9bb6a5b96518bffec67871a38f30e774f8d2c621781ba946325d173ddb730edd4f57d6c605a67dab92f2b84acbe972b0f4081998c1c40296150236e711bfd0fae44702758e3ff9957cad637f61a30e9a99b1c9f6796473be98b2e13fd87fc09e94ad07b934045eec0a94260384b8ed8e1453a4f1facb9d9542c3",
"credential_finalization": "2853706a32aca435e8bdaa480cd3ae3d52eb3dc3f6bf113a63cb45ef50fedd608b89e7cd6fa2a90c61e914e6d9b954f874247f67dd570dc3dd1857661a18e0a0",
"client_registration_state": "00fbb22bf98bf39c7976b22794ac0b52e5647cc7c6974e0127de9ad1b87af9939e318a56e3234da3f4013e39772dc05f03209192186b40057f19dd6c2335343444db0200cb8f57dbc03f4d19f2e084f09a3c25c13ff5fd0cc287200b73a4a5db2032adc8ade46c67b41c3165a286ee620a1bfe7129ad30f10f64fa101265dbd90ea508527b",
"client_login_state": "00fbb22bf98bf39c7976b22794ac0b52e5647cc7c6974e0127de9ad1b87af9939e318a56e3234da3f4013e39772dc05f03209192186b40057f19dd6c2335343444db0200cb8f57dbc03f4d19f2e084f09a3c25c13ff5fd0cc287200b73a4a5db2032adc8ade46c67b41c3165a286ee620a1bfe7129ad30f10f64fa101265dbd90ea508527be2161d273d1dfef417ef1f61fc52870261ff747c984664c674f8d04d27273a3d03008c4cc94cb5792479f2b472431cf9d31e52e5e0eecce3985a2e3b5e02d75750f335665e3dc93719f65b326700287440ec8f11da6503454c21c47161bd216751bfcf00d1a048cc35d263b95d32bdfb37dfecfb19537130de3772353e8474ecfabcac171c63749ec8bcdc04634fa8ef6c99db96c928c95791f43ca14abd55840f25ec0f18e2161d273d1dfef417ef1f61fc52870261ff747c984664c674f8d04d27273a3d",
"server_login_state": "74bc7a879b556fdb05b23112f764e8931efbc6e191d1fe41a3658853e4db9ae6eaa9a83ff88167598bbc339c8652a3f7504c89a92044f9744c64b4fc75960ca045344e8bbc23ba8cc368977ef39780a8703b18eb868f4ae927739326665714eceff222fd98f6fdf34bb61aa512574be5f244fe6fefae814e0e950b3344871236ea40170bf164db29b581e1beaba38648e0aea4fc4f21e0666f87571e18660c1f4fb97e18ed3fce974ce930a60e0dcd135756430c3d50457e8386da614c7e8849",
"password_file": "0300695698d710d80d522663a8f6042863183fb7bca9b4eba48c00588d0c1f2cb8e27816f359024266aa2e0f211a2a9bd2a554551b3407a3be96a025088e79bcef0d6d47128fa4397aa804a8d087998834403d7f9979c6e4decce37142bdf9a208d60e543934033c296eff5180b3f7f9a35b575cb4792a397f8941d726e2e530b7f5df01394df281358616e075090c6eb45909c9a89d61722b64041a431b48dc4d3fb36f25b45a2881ef3da01bf401006496fc09352344d05dc95b9f5ec3d2193be61b578df8903047b33792e80f271e9d5d3b7115e2bb5d5893fe3470978cb3ce972f",
"export_key": "66b3c8da85b49bea1f4b09c31d7f7d10f365c5364822a62c63198a2992e7337119112ebf74fb350fa411effc022d61cb8c3166107dd38163efef3603fb7c7001",
"session_key": "ea40170bf164db29b581e1beaba38648e0aea4fc4f21e0666f87571e18660c1f4fb97e18ed3fce974ce930a60e0dcd135756430c3d50457e8386da614c7e8849"
}
"#;
pub static TEST_VECTOR_P521_P256: &str = r#"
{
"client_s_pk": "03008bda36e2b22820bcd785b559b5c7deb936591a03b914cdd687f4324e53964ddd2d22c113645925d8669091362654e0ed84db56a2a726a58cdb157509b11818716e",
"client_s_sk": "01595049bdc9c7d1f91b4bac384f0c37a845dd0a80f6981364b6c0b24cece28a6a8285e7f9823ad3d8eaabe4ccf69546c60ef89dbed19ab893496868c05412000580",
"client_e_pk": "0300a678d5b1e85e64de9cb46e7324ae43d6893eed9b83a086b07830162c8a9b35e4bc879ce6c97ff6c2eed389b5bfe97ab9b4bf3863c13e58efcce65341382862e7bb",
"client_e_sk": "011f790a4ec256b7265d7fdcae96301292ec2fd94cde549572bfa75b07a415539a316c9cf350b8903714def8f17fa22a2f3bfd943dbf83463e1e905c6b9db867f8bf",
"server_s_pk": "02015781b09643c1e7fe4bc1ee7afeb2adef5c3931ebe19aa58392c75aeacefd17386163cf269eab508b8d7dde928f336170bdb0c608f6fc86f4573f106e7a0c5079db",
"server_s_sk": "0109e66439a6169506cea098f551b49e5e96e78afb2e4ff1e777e30a3784769bfa02b5eb68468c36053f97a1508261c3ee4d360d1b518f52891ce9255ba0afe8aa47",
"server_e_pk": "0301c1874ee8ef53e5077fe00b57ab4b35d00fb1c3ef303277cdc81c075ba0bff978d4951cbd7e062efcc9f815625d2f8c693f79e0613a9554f4b0b241bd4c407a5af6",
"server_e_sk": "0009db24f25705eaefb68faa34c6a74d49f2a7908682f064578ed2429a58aa15cac4b9fce2007ea743c9ae4ec16cec5f13721bb327f2842686ee884336187a288613",
"fake_sk": "01dd5b11ac6b5b3d776eb4362c2b7dce6a0ae509dc4076f8ecfeff6c7b02aced76df8a837ea6850d4733c9256ea54b6c8821b6f5a19defce6028047adcc661a34bb2",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "144a612134e8f2e093d2e2a6889a252d12a3b29322d2247e497c7b407ec60578",
"oprf_seed": "585a3f337d4158fcfd019f283460144c748ed2d18703dfb94b36e38e24a025da",
"masking_nonce": "3827e3c4bb1510b0dbb851fe82e83e3070309d8715174b246074f3c5417952ac5b76c426f57d7007c4ce126fbace35a492b23e406e73d3907bd684cac45edc89",
"envelope_nonce": "0342101c673cdd080b324c161a519dd1eac2e356917d35e6b5df75f584b806d0",
"client_nonce": "c651b71863e0c5fdb170ccdf39b4e81644f47da263594a6fee50371c7fea43e3",
"server_nonce": "81eb2b4baf8ebd01751a6db6dd9febed7cee621418652e8156f73b8556cf485c",
"context": "636f6e74657874",
"registration_request": "03281ec736a6742338ff964bfd6f9cc4f8d252463e1e3ec739413f92438f618c1d",
"registration_response": "039e0c521ace3ccb4ffa0bcacf18b907ae2188344cf3e6d2a4082108823464d55002015781b09643c1e7fe4bc1ee7afeb2adef5c3931ebe19aa58392c75aeacefd17386163cf269eab508b8d7dde928f336170bdb0c608f6fc86f4573f106e7a0c5079db",
"registration_upload": "02004200deaf80382caab94591b722a3ee74b07ec01c26edbc14e8514ca052b627fb88788f8b219aaf92964e22a2884195fb1b6406f66f2fe4cdd4a2ccc243fb9416a7b9d34916e020109e56b016a7fee171a1af41e126813a884ebbb435890065ad6a01595049bdc9c7d1f91b4bac384f0c37a845dd0a80f6981364b6c0b24cece28a005dfc0f37e6832915b24059f8b37740a04ece22eb80824114c8a5fc34954c1e",
"credential_request": "03281ec736a6742338ff964bfd6f9cc4f8d252463e1e3ec739413f92438f618c1dc651b71863e0c5fdb170ccdf39b4e81644f47da263594a6fee50371c7fea43e30300edb0edf54c57b117396e37891f7c067e2064e5a9180b0f9a2d5727d72000eb843bc2cb3a96fb3a2bb9a82f740507bfc62a7832c850ac40e46a4b5d378386a9f65d",
"credential_response": "039e0c521ace3ccb4ffa0bcacf18b907ae2188344cf3e6d2a4082108823464d5503827e3c4bb1510b0dbb851fe82e83e3070309d8715174b246074f3c5417952ac92083d2cb998e9068ff82f83b33e58f3186270229e9d9bd1368dff750220b42a0c13d53c8626690bac97e3e775fd164cb29173436a9530559bea42d173b1ac798de55611b0221345d6894819b273cd48ad02547473e237e9cf9bb1b302f326cabd1ae63e5daa047828ff92934a760a6046b4752356e529700ba5e4bb29d0010100f5d0b9fce2007ea743c9ae4ec16cec5f13721bb327f2842686ee884336187a28861302004d60b663d0e8139183c8ac8be40ff857ebbe007dba92dd181754479d3371c77fe108033fd3f4fafac9b4be5c7b004157035e600be275bb61335f27f3d5c16cc017153bd527e3f110b591a045a02341745e00d4bea6dbc63084e689cfec3532d497",
"credential_finalization": "6e65ba6af45d8aa4a543f33bac55039d6c16e48727622f63a9d49de7d1bc48e7",
"client_registration_state": "144a612134e8f2e093d2e2a6889a252d12a3b29322d2247e497c7b407ec6057803281ec736a6742338ff964bfd6f9cc4f8d252463e1e3ec739413f92438f618c1d",
"client_login_state": "144a612134e8f2e093d2e2a6889a252d12a3b29322d2247e497c7b407ec6057803281ec736a6742338ff964bfd6f9cc4f8d252463e1e3ec739413f92438f618c1dc651b71863e0c5fdb170ccdf39b4e81644f47da263594a6fee50371c7fea43e30300edb0edf54c57b117396e37891f7c067e2064e5a9180b0f9a2d5727d72000eb843bc2cb3a96fb3a2bb9a82f740507bfc62a7832c850ac40e46a4b5d378386a9f65d012bd0e7182edf626a508bd6debbe5e9ef4565fb08a8546250f1c534d59b3c53cbd3982e4a8a640c5d880ce580286f3582f6f1a90b5e09612465deb4b3e00f349975c651b71863e0c5fdb170ccdf39b4e81644f47da263594a6fee50371c7fea43e3",
"server_login_state": "63e77cccd9b4cbf69db7fbda112bd3405a9d842cc81693c163ad302d8f0a5a1a3a3cd7cdf0389c5c1544bca5b94c8342dbe882b7d82c3b86971626d64165a4af830efa779fdc6f5825b735aa2bf89b69659e2b5d29c5bb99ea840e1e6c228d14",
"password_file": "02004200deaf80382caab94591b722a3ee74b07ec01c26edbc14e8514ca052b627fb88788f8b219aaf92964e22a2884195fb1b6406f66f2fe4cdd4a2ccc243fb9416a7b9d34916e020109e56b016a7fee171a1af41e126813a884ebbb435890065ad6a01595049bdc9c7d1f91b4bac384f0c37a845dd0a80f6981364b6c0b24cece28a005dfc0f37e6832915b24059f8b37740a04ece22eb80824114c8a5fc34954c1e",
"export_key": "e0627f61afbc6db79d46dbd1c8950b0f18ca7196d206751b473b8b72724af0f5",
"session_key": "830efa779fdc6f5825b735aa2bf89b69659e2b5d29c5bb99ea840e1e6c228d14"
}
"#;
pub static TEST_VECTOR_P521_P384: &str = r#"
{
"client_s_pk": "0201a4a5c65e0572d96026aefbfc2a30b778f3f8b474f638f973703cdc294b4216804ebef4633ca198e308c9d04f9908110c429662e14d5079d89d69189c9e2f66952d",
"client_s_sk": "001453f4d08d084e0b9b51aec45354544b11d3fc9183922b0385dbc3378cdae07d5df02ee7ddf04bee6cf5c3464a2ba067d8f284391a8adf03f7261309a1295a4de1",
"client_e_pk": "0300eccb1c7d92a3d31855a09d983cf3d31c4b6c3e750de067ec6edd3fef3f6491ed59d25fda8376e12f0b44741a5e05623ae14df2e00ac21e311d884ca72815f74c12",
"client_e_sk": "00bc03ab2f53ff4a178a3a32f1c39f321b0ef31e7fd5d8d7c06e25faf2457cd40fed5449a9c14a3d659ed0c8e33311507c35b67207c52cf09a5643f667eecce10848",
"server_s_pk": "0300ad5c8544dd644908447269b93f11a8c9126f00952cb9331fd4de5958b01cacdf65264dee15ea54ae22e33ddffd8c88d403ccaf935b8c7c7889f316281c3c41395a",
"server_s_sk": "01ebcddc54c975d047337a8dba5eada806722cc022db684d108e37bd274cb8e1587656eacf490869f5d6c5faaac2036a1b54118a2712fe199d00c3e9689a101ee458",
"server_e_pk": "030019acf7c8e57e95b4c7f98e960e5f0a83f0c49bc264e8d61b867e7558ae0b30393f49859b53a163ef6112f120b7a2c5a200e0dac42dd90f105252e917545274f87d",
"server_e_sk": "0162b1283d0b7549fb849779222dccdb4cff924dfb8fbd870727c09c9409d820fd62d56b97d0ef039712c37a5b8ac3268d2290d0ed8935da3d532a296a4c8af3554a",
"fake_sk": "015fd25efb29c7f8ab03689a2b19ae7a19aa2b7d9b7340097c0b2e866870005a9b5ecad9ff14917cea33c816d8a2b8dfd9078cbed5846697668f20473e826a7ee727",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "942294032be4511f9a266720b20fd9fccfee1a33788545bf64436447165d1758d0d397d8e397aa7569459a67077e42d7",
"oprf_seed": "99c194da41150637b9dfef87bc91baf253bcfb2daa290e4adb18eed4aadf4759966169400609cc08c208b015c7777c43",
"masking_nonce": "c38296b5854b9f04bef3e8e6e6c0560a7f3f015ee142b2efbfbd2ec48d042c754101d64e778cae6ca232c9424056a27721844b207eddc2088fea95c84a90a891",
"envelope_nonce": "867331248c2ab8999a6e7850653a0537f215ddcd96cbedadaf8e73faf5c6e6cf",
"client_nonce": "120d27e0b315dc261f7275be5a111aaedc40c55fa8886826a29b410000ea6b9d",
"server_nonce": "a5e65a59fc5cc3444efcbe347c39ef4f58d13f35340943629ee5c377da4a5d84",
"context": "636f6e74657874",
"registration_request": "02bdd371211802fea29b71013ff008693ad109adc9d6f09c76c18ebb557020bc0a346c654f8e1b2b05f49c9a663980f053",
"registration_response": "0214783f4e405b8a9e292a6105ed4e2aefb9f9814919df71755ac2dd33639021927e6143fb4903de787780e9817b65947f0300ad5c8544dd644908447269b93f11a8c9126f00952cb9331fd4de5958b01cacdf65264dee15ea54ae22e33ddffd8c88d403ccaf935b8c7c7889f316281c3c41395a",
"registration_upload": "03012248384607cee25d56351542e52988420cfa30d9ce965df9b6698a62f4a0c49530a103382963ab0eb3947a2d5ba261415d9a874084e99cd8f85a455173c90220fa1b85d02de063fa8a03f3744216f06826cf26ccd24b849ad040e7d91dc8ce3ab32953b4542c5242b174014f4c34d74ab3001453f4d08d084e0b9b51aec45354544b11d3fc9183922b0385dbc3378cdae02e955041ebcf7564b0a5f1d615103cef9d416650ab062df61150b643f8469de0942bdd6fd0229a8569547dae22eed85a",
"credential_request": "02bdd371211802fea29b71013ff008693ad109adc9d6f09c76c18ebb557020bc0a346c654f8e1b2b05f49c9a663980f053120d27e0b315dc261f7275be5a111aaedc40c55fa8886826a29b410000ea6b9d03015c7eadc7a0dcf6af31862d0408f599151e3efdd8f9c83223da930b85730b22a63390cb3e6d4d63323451609eea0f846cd0f9d4ae52445c8af1c1020159ad8d180d",
"credential_response": "0214783f4e405b8a9e292a6105ed4e2aefb9f9814919df71755ac2dd33639021927e6143fb4903de787780e9817b65947fc38296b5854b9f04bef3e8e6e6c0560a7f3f015ee142b2efbfbd2ec48d042c75a3592358c5361011591d4b96d11ba57cc8a35898898813a823117fa0c6cb7d4eee2ab96dc3aa734db51b1114d7fc0296d71381da8c5fad27915151208913eb63fefc0892f4e7aced500a939f61080665a924b66701d5b773f3f6c4e766d31092fa28d2601e3f2b1c3549ce4814545ad3b9f3cd33e54866c49a35bd7940faf2b515135a7c481ebe0249ceed7576c808c6e1a9c8d56b97d0ef039712c37a5b8ac3268d2290d0ed8935da3d532a296a4c8af3554a02014c6d9662d1a93357fa700ce68bcfa99f761f0a2cdecf75c8bbff379b95d5c5336396b491871a04e78a32543a9effef8ce94e94072d8141bcd4ed5e07bfaab3ea0b632265a366afa42a23e926d2ad2d47ccce03f94f43a3790a150d76424b4a3ddf6b64a53ce201a07622b4b5abdafaa8f5",
"credential_finalization": "671b0760e1d8c28e160f0557c9de463d9e12ce99609a8442549c774334cd48eea173f92cdbabff59d81850982a4e23a2",
"client_registration_state": "942294032be4511f9a266720b20fd9fccfee1a33788545bf64436447165d1758d0d397d8e397aa7569459a67077e42d702bdd371211802fea29b71013ff008693ad109adc9d6f09c76c18ebb557020bc0a346c654f8e1b2b05f49c9a663980f053",
"client_login_state": "942294032be4511f9a266720b20fd9fccfee1a33788545bf64436447165d1758d0d397d8e397aa7569459a67077e42d702bdd371211802fea29b71013ff008693ad109adc9d6f09c76c18ebb557020bc0a346c654f8e1b2b05f49c9a663980f053120d27e0b315dc261f7275be5a111aaedc40c55fa8886826a29b410000ea6b9d03015c7eadc7a0dcf6af31862d0408f599151e3efdd8f9c83223da930b85730b22a63390cb3e6d4d63323451609eea0f846cd0f9d4ae52445c8af1c1020159ad8d180d0051b3e6f0282d67f801ed92d0abfa5fff0606c53a110692cb40e0a9c0ccd4b62b73c918662e04648a4e1df0c2354dc77a9e03e33617b3b0d4972b27f95076f54a2a120d27e0b315dc261f7275be5a111aaedc40c55fa8886826a29b410000ea6b9d",
"server_login_state": "c8e7c5bee2bc5c4c5a7a68201e659fca74366a8f268bb902deeae9c56f4a27aa3f6073bbd627349621721dc0ecdf6f17cb04258c54b5faa36b63eaa41f3a6afc5378a9b5cada7b411c27961ebfdaeb1f914eda69714a9e6d16e4b5bbe23e446a386e064bf5b06bd8a0b1bd0491903ff356c84219bd415f665ca68fcf20cc604d1a11fcddbb1da59f5ace2a38c821cc40",
"password_file": "03012248384607cee25d56351542e52988420cfa30d9ce965df9b6698a62f4a0c49530a103382963ab0eb3947a2d5ba261415d9a874084e99cd8f85a455173c90220fa1b85d02de063fa8a03f3744216f06826cf26ccd24b849ad040e7d91dc8ce3ab32953b4542c5242b174014f4c34d74ab3001453f4d08d084e0b9b51aec45354544b11d3fc9183922b0385dbc3378cdae02e955041ebcf7564b0a5f1d615103cef9d416650ab062df61150b643f8469de0942bdd6fd0229a8569547dae22eed85a",
"export_key": "5e4f9d845f936401eea60ff2f2559fb86c612224f56f05d9424f20f6d4aefa7aef443e4a8730d2a79ffc06d2a983351f",
"session_key": "386e064bf5b06bd8a0b1bd0491903ff356c84219bd415f665ca68fcf20cc604d1a11fcddbb1da59f5ace2a38c821cc40"
}
"#;
#[cfg(feature = "ristretto255")]
pub static TEST_VECTOR_P521_RISTRETTO255: &str = r#"
{
"client_s_pk": "0201bf7df8cc6f5237f951331b9cdcd3b2e5d705a20df8691077520724f6e2e112aa11231e5ab733354713049b9d28f6192f12afd0a407ba9aabef8dcf00ca6846f6a7",
"client_s_sk": "016537eef864c9908fb1e58b24fe4e446b962819221550586fb992f4afafac8f5d6816ff40e033d842c6d6686a158466a41b931994bb4c36ca8fa9ff4977484b2459",
"client_e_pk": "02007545c872585aa13702fc3dc044aa1722c6d6827c6a854f5e67be395def537d4b1282fefd2d720168b31501f5a773aac8840d6fd6cdf67f32ea4316378fcd28c33b",
"client_e_sk": "01c306d09bb78370acb48c3a982262235f122e1c22caba6311bd1504a9d723f4f8cc5d144249c1133a894213decd385ecb5a322e463c6c969da84da61bc73392ca49",
"server_s_pk": "03019d6e3e3ef1a2946a2418bad6229f0d8cf1890418c7b505439f135f73ba0e4940295ce816c274a882979400a48d7d3ef124f524ecc3baf466b874115ef6ead8e122",
"server_s_sk": "0116115e325c8a91d428ad2a72d11f0efcd8e55d522a47166e16202f4c130b5ae4dd8c3f721fa7e2522f556592c34f7afe3103886ad636e48a6ece991348d9b082d6",
"server_e_pk": "03018339eb19b72e06e9b71009ae14f637ba93c6ecb8719bafe163556b655af049d597778f87b8d7c20b418d0c82c276e9e9a58bd5f94a05209f0744e5e3f055b13792",
"server_e_sk": "018f8447b7ace3f4ae385e1b869516969b4ba3e98303181025dabf477fe5e0a356a517197d794d6b02417c4375eb5178f4bdf5d3e6b69d6df15098cdfbba2b7ce9e4",
"fake_sk": "001fd218c16048b12596b34531143c858963b59e7e3dceb9058b1d3f187611420ebe118c8e7fc26a3768801c08a7108cce55472fc574a4f1a49acea23f41a8455492",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "d474268d8a365e0c0b4542f9949d4f37bb9e7ccc2763bae6c77787d2e8d33904",
"oprf_seed": "b9707d573860cfac830c1293afb45ba7c350a6cdb0c8c3c6e0a7afbfda5b63d61bad365e51ffc0c6e5212caa97d5c5ead6591f76e934077183d89cfdd341d81d",
"masking_nonce": "d235afbaa435351d3578177eaa3c16d12af56d181a14ac07ecee1d31e07d610070009ee374a66090c97ff83d8392e563914161e3c80a5c60b5a98f7227ba3f50",
"envelope_nonce": "61a7e6ce957506e8b878cdea24c92c10988b2c568885d1c9efe037d78f388082",
"client_nonce": "034b0316a091f215c2e61735c328716230d82c8f5ee02c9ec3ad73138ee74308",
"server_nonce": "e8d04fc4602047fce29e158e91c65d4e0e5ab5933db2988124ad369f8243683d",
"context": "636f6e74657874",
"registration_request": "9487abff7c4947ad7829646f92cf2ea21ec3b66961e912e8f3f26a87b52fe733",
"registration_response": "8e0847a065cf7866925d0b60021e5090f7557f2014fb333ee44aa0ca4ef7922803019d6e3e3ef1a2946a2418bad6229f0d8cf1890418c7b505439f135f73ba0e4940295ce816c274a882979400a48d7d3ef124f524ecc3baf466b874115ef6ead8e122",
"registration_upload": "0201010ab80969d68259ee44a26b5e109076e17979c463b3698d68f9307fc616ab074be30345c41c2a26a09f9817fef02d3cf3711ede7025a509470df160106e7d5c1f546f68df4e0a1455ef777f4d59cd74074916894f69229f8c829477422d50dfd4e13fb07555d7e40e2e6c09c513fcdeb967d0fd816b5170ad6d065b491f20ae6e016537eef864c9908fb1e58b24fe4e446b962819221550586fb992f4afafac8f99ff93323b2260976c8528782c53b254c8b04ae5c294bfafcc2123efd42c58fe849206340d59e05eeaf5668024ee1483b787cde8ea92cea0ae1768cd70f8c67c",
"credential_request": "9487abff7c4947ad7829646f92cf2ea21ec3b66961e912e8f3f26a87b52fe733034b0316a091f215c2e61735c328716230d82c8f5ee02c9ec3ad73138ee7430802018789d3fe9d9f9fe0ec205e610b534b5af9902e1b2795ccbace31519b2a6c9664e411b259dc039d2f88591ce4f05eda7b5facf26a83bdfb2a3ad8ac071bf8df7fdb",
"credential_response": "8e0847a065cf7866925d0b60021e5090f7557f2014fb333ee44aa0ca4ef79228d235afbaa435351d3578177eaa3c16d12af56d181a14ac07ecee1d31e07d6100844a5473db92b0e544c6a6c84a0e59a37f4370fa527c0960beaa4647eb477362beb55568ec966149e4d0de54cbc65467a1089ce49366c2f4d39ffb47d4dadd823c72d1c60af7e3338ec7a936561eef563a97612c966d145f1cce22898b66d274be7f4a75a7540f3ef20c50c5ef51fc8c32aa32d29d982930d40388b829ebccbae506b14cf1b146d9a2fcb696ab384ebd0181631fa12373e58ff90c1cb195f8c2b63b1c17197d794d6b02417c4375eb5178f4bdf5d3e6b69d6df15098cdfbba2b7ce9e40201d9e7c9d98e807857b0341559c6ab3b263ccf0a65adf2dbf2ea282ac0e88367dc75eda52fb60ebc2e4f1f3689d93ceeba3de5366d3c3f3ffec609a3f4791c00d1ce61c06c8f55ad831cf423a1d0c87a6b3b4a4b21b63576514c317623ba4296f3c9e7c85f3ff82943f8c9de3c16739e20a946a0c1d9b7156e6b4bb397bbce37f0c6",
"credential_finalization": "7fcc190c006f5f814e46e0b15b2de205545438e400ac54583ad0127f6bea1230d3dac917712d389751c28c843a0386a91fc70c4aacded0099f8b4f8262a7e955",
"client_registration_state": "d474268d8a365e0c0b4542f9949d4f37bb9e7ccc2763bae6c77787d2e8d339049487abff7c4947ad7829646f92cf2ea21ec3b66961e912e8f3f26a87b52fe733",
"client_login_state": "d474268d8a365e0c0b4542f9949d4f37bb9e7ccc2763bae6c77787d2e8d339049487abff7c4947ad7829646f92cf2ea21ec3b66961e912e8f3f26a87b52fe733034b0316a091f215c2e61735c328716230d82c8f5ee02c9ec3ad73138ee7430802018789d3fe9d9f9fe0ec205e610b534b5af9902e1b2795ccbace31519b2a6c9664e411b259dc039d2f88591ce4f05eda7b5facf26a83bdfb2a3ad8ac071bf8df7fdb00fba83a34470a8641a433da5ff9cd0b2e7ebd6d6e298418b1d1bbe5ff734fd66553396efb82fe6d572183b4ef07b3fa1c54f961e01d1c747fb82c5cc45a4aeaa68d034b0316a091f215c2e61735c328716230d82c8f5ee02c9ec3ad73138ee74308",
"server_login_state": "9f5f96f3bf23442fb5bfd1947d7af2aa0b0193a4f3da110c4ca105e8c7a247c822247559f6eb3a570d8069b9ba17ffd2e2c943d23aadda7e59f063575e88160da46a64f820203dd98cc49e80016390458f6fa083bfd410f0624b672f116230657e11f2948b2f7e81a4e4b2657ae53eb9e410d7268c04ab247a1f0f74e1cd8152c4a5d01e1d2a3803845b56a459c7fa807f92638f5f80e6ccca343fc7ad100f53c1dd047a94196b05bacef1b7060941557fc21ba66eaf45f38f868f3f03da8d45",
"password_file": "0201010ab80969d68259ee44a26b5e109076e17979c463b3698d68f9307fc616ab074be30345c41c2a26a09f9817fef02d3cf3711ede7025a509470df160106e7d5c1f546f68df4e0a1455ef777f4d59cd74074916894f69229f8c829477422d50dfd4e13fb07555d7e40e2e6c09c513fcdeb967d0fd816b5170ad6d065b491f20ae6e016537eef864c9908fb1e58b24fe4e446b962819221550586fb992f4afafac8f99ff93323b2260976c8528782c53b254c8b04ae5c294bfafcc2123efd42c58fe849206340d59e05eeaf5668024ee1483b787cde8ea92cea0ae1768cd70f8c67c",
"export_key": "c3c80aa99c235edb3adaff9232f7678f53336a85beb78aa81eb189567ee497fa2ea9fe4cdc667aaecb14a8a3eec6bff9895e6e66a16ed1813d0921d8a4494aad",
"session_key": "c4a5d01e1d2a3803845b56a459c7fa807f92638f5f80e6ccca343fc7ad100f53c1dd047a94196b05bacef1b7060941557fc21ba66eaf45f38f868f3f03da8d45"
}
"#;
#[cfg(feature = "curve25519")]
pub static TEST_VECTOR_CURVE25519_P256: &str = r#"
{
"client_s_pk": "48a98d630ddb4b899816c51febbe8a5fce3ac8d5fbd42ebd0ec6537406c52113",
"client_s_sk": "e8a4870c0fc40cf2b3fbbf87417df5974b0e5ea6023fc32dc325dfc256b7f64a",
"client_e_pk": "010fc15af69a814521ca8e9439913c117717deed9f0d16e17439239d918bd318",
"client_e_sk": "98f79ad74581639da7c076051d979a00ec0de10c5924d2ef38a22241c451b556",
"server_s_pk": "0692f783471abf1b87421fa7de84cfa2ce4f21c1e6803dc79c4e4ff319b8be0d",
"server_s_sk": "984057514d98a073ced335a117b6f118f1a3866fbb981497a6a315a6f4f1246d",
"server_e_pk": "b6673f24d9752dde2b128c3b7cf96e541b707e2c135b53fe061325ed0c762a1b",
"server_e_sk": "20a96825d610c3de217114de30c0cca272292f00d511afb4faf485d574122c62",
"fake_sk": "7853122fe6f37b55b23c5c9dcd182294ce95f5b8624b65172e317aaa2b3b5560",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "c3df196d44525f6ef8c3ac8dd79f33f5e50539546121731cc857391bc4ca6d06",
"oprf_seed": "54dd047aefb4045fa9d9cbf4ad88a33732aa172a927e8d40c774175def27abfc",
"masking_nonce": "b01dd3029e0d7689573c0e1f1f88bab2a7a2d0936a9fab3208b7c931d5ffaef1f8991d80b5fb727858c9f6d8372d7d3024ebb371041cdbaf2ecfa57312a98718",
"envelope_nonce": "6a24ccdde07e81092aee5b58fb89d0b782a53b543042cc21ed81feee85e2665b",
"client_nonce": "b298a907c4c1b4d5d0d95649713f7b70f726ad0ba1954ce21f820fbb65d8103a",
"server_nonce": "7d95abb029fb1cde3867677b3810ae27a6087c6bffbc4312dff51ee91adb84ed",
"context": "636f6e74657874",
"registration_request": "02b4e61e21cc13ed49e00bc0b7ddb44c8bae1eb782da405843cd3be6a540348825",
"registration_response": "0292b4b235d136db1dc62c337113c87677446dfe6be36fcf1abbe6e168117ae0eb0692f783471abf1b87421fa7de84cfa2ce4f21c1e6803dc79c4e4ff319b8be0d",
"registration_upload": "111a098b43097d3c8ae029e08af7f02f7660be29a4f8a77e6384e50a5b72fa4bcb6f86a338b5a0f6f3fa81669af61518ab0a3fd5fa15e259bfde12b8835dbfc5e8a4870c0fc40cf2b3fbbf87417df5974b0e5ea6023fc32dc325dfc256b7f64abeee62572b05f70ad822e4e156c9d059bdf622a5aca5998c1bc95e7259f5ec13",
"credential_request": "02b4e61e21cc13ed49e00bc0b7ddb44c8bae1eb782da405843cd3be6a540348825b298a907c4c1b4d5d0d95649713f7b70f726ad0ba1954ce21f820fbb65d8103a010fc15af69a814521ca8e9439913c117717deed9f0d16e17439239d918bd318",
"credential_response": "0292b4b235d136db1dc62c337113c87677446dfe6be36fcf1abbe6e168117ae0ebb01dd3029e0d7689573c0e1f1f88bab2a7a2d0936a9fab3208b7c931d5ffaef1c8374542111356ad0b071ade035219eb1b2cb3e5545ec02786418a903e93c6a04d18aebd4377e42a8d7965c2ad446ee3142fc5c383800a339b564c907940f4c504a1891430b2f8eb057fd47dc132d2bdfae8fba2b7445ceec3ec924696ddfa8720a96825d610c3de217114de30c0cca272292f00d511afb4faf485d574122c62b2282e0dbbc223d0f8ffc6726e23ddf9e797857358cf1b4e16899e1965c0aa169b844cfda3acf5bcb04e81b592aa65461745da11bd2b081cbc2f8580fb0e15f1",
"credential_finalization": "f6c20700da42d21691f47240950abb9a6cbd77c6e6be4676fa81f9fe5d08a33a",
"client_registration_state": "c3df196d44525f6ef8c3ac8dd79f33f5e50539546121731cc857391bc4ca6d0602b4e61e21cc13ed49e00bc0b7ddb44c8bae1eb782da405843cd3be6a540348825",
"client_login_state": "c3df196d44525f6ef8c3ac8dd79f33f5e50539546121731cc857391bc4ca6d0602b4e61e21cc13ed49e00bc0b7ddb44c8bae1eb782da405843cd3be6a540348825b298a907c4c1b4d5d0d95649713f7b70f726ad0ba1954ce21f820fbb65d8103a010fc15af69a814521ca8e9439913c117717deed9f0d16e17439239d918bd31898f79ad74581639da7c076051d979a00ec0de10c5924d2ef38a22241c451b556b298a907c4c1b4d5d0d95649713f7b70f726ad0ba1954ce21f820fbb65d8103a",
"server_login_state": "b4c339ba9416e8e8a92f44ec1ecf4a5869e9bd5980f51c94873191392a8bb7995a8b5e2d4454449345d5e9bd3fd4bb36a582251cb38d6be35ba2c562d9801c823b85b3ba99392690c6224781c5cc1c7464ace4fe2d041001555d856416d4f0ce",
"password_file": "111a098b43097d3c8ae029e08af7f02f7660be29a4f8a77e6384e50a5b72fa4bcb6f86a338b5a0f6f3fa81669af61518ab0a3fd5fa15e259bfde12b8835dbfc5e8a4870c0fc40cf2b3fbbf87417df5974b0e5ea6023fc32dc325dfc256b7f64abeee62572b05f70ad822e4e156c9d059bdf622a5aca5998c1bc95e7259f5ec13",
"export_key": "4aae649ce0fbfdad1c1fe783a2c5e5c3588e7f57f1622d31239abc10820b73e9",
"session_key": "3b85b3ba99392690c6224781c5cc1c7464ace4fe2d041001555d856416d4f0ce"
}
"#;
#[cfg(feature = "curve25519")]
pub static TEST_VECTOR_CURVE25519_P384: &str = r#"
{
"client_s_pk": "64bb7b8107c705a5dd12fec72c73361b8a609b42848fd6459691e11bafe37a47",
"client_s_sk": "e0e38e5700f1266873fd6eb65969ab67ec5667981911566148e53cd38accfd51",
"client_e_pk": "cababcc7f7d42489d782557b91b1dca630d5c935d03953745a8027a49d29b630",
"client_e_sk": "48ef7e55bc3c3a0773a50fdf44f5255314d27e86ecaa80a35f23812151bafc6b",
"server_s_pk": "1f63fe7203d07e88d8e015161d95ca071abea49cc8f60e9bdd0e9ceb77afca66",
"server_s_sk": "80b69c1f1614fafc35e7776bd2fc4d7fa475f818ad1e9fae624379c923c9cc7b",
"server_e_pk": "5e9e8960ab0cbc89dbab82b88de806569be3b8ac6a585a05fe3070561a6bb32b",
"server_e_sk": "c0801c9703d602db78136e0b1c44574fe0f6770debd118ef957f8c7f7cf50040",
"fake_sk": "d0881d7214764ac988fd657b1b929e6d427eec74f8a41f28b37279b4ee249a49",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "fc7622028f08b219ea68b68e5833754034ec7f740f52d03ec60448e7fc521438717e430e0682216a87f417ca57ae97aa",
"oprf_seed": "dee600cf456bb0e428b7fab98369ce1c14ab5caec07c5826726f7d9848b7578a2395f349f51019d9a2ca3328c9bbc81b",
"masking_nonce": "b47dfeaedc3c791b7235ba35545cf88b03234795c3a80d65e96a2897c5bb2f3fda98b1578467d1dee766289098df8779dec04df108ef8f980b29a07fbe12eb15",
"envelope_nonce": "7759e723ae2df3377563d4ae1780d1137f11b35375ff6aacfaecec1b66764422",
"client_nonce": "e61c4d9300a361349748663414c6121ec81599592c3537bd4fa4e5f373298b15",
"server_nonce": "577cc7849aed5bbe1602891474b3b021dba4f25b34374048cc81da045004b1da",
"context": "636f6e74657874",
"registration_request": "02af630ceb91c1e77331fe0cda01c4a9aa07927ca620aafdfae80abbc9b4cab04f9817b8b6f0b53e6db39803a1371c100b",
"registration_response": "020ea2dafe86752937296ea5c2670f78a0e669b493bbb3082df15dce4ddd445112ec4f755793ffb685a23138904de80fb71f63fe7203d07e88d8e015161d95ca071abea49cc8f60e9bdd0e9ceb77afca66",
"registration_upload": "a172352918c9f2f54247c2624d315719382a794aa3d75dc0a2a321babcd5a149e583ccca975112a0ed4c10307d3be73420925d708a5a43e2bc809e5f7acb824094ca13dede1554ccb73245c7938ddcd0e0e38e5700f1266873fd6eb65969ab67ec5667981911566148e53cd38accfd513ae63692c3abe25d9f27ab90a64f86c9c09c9ecb3db17bfe624e4699418820c3a6607d13ed00703067d4993fa67b1ac5",
"credential_request": "02af630ceb91c1e77331fe0cda01c4a9aa07927ca620aafdfae80abbc9b4cab04f9817b8b6f0b53e6db39803a1371c100be61c4d9300a361349748663414c6121ec81599592c3537bd4fa4e5f373298b15cababcc7f7d42489d782557b91b1dca630d5c935d03953745a8027a49d29b630",
"credential_response": "020ea2dafe86752937296ea5c2670f78a0e669b493bbb3082df15dce4ddd445112ec4f755793ffb685a23138904de80fb7b47dfeaedc3c791b7235ba35545cf88b03234795c3a80d65e96a2897c5bb2f3f1efeacc9cc4f2192476cb4f776ef1d11722daa305e97876071826f8d4f0d659b3ac2ca9efa0e7eb74a29240cae4ed4a3f60efa566d9f0eb4d9a17611897ee978fc0274f408bce5332bf50adedf79b91b4574cab91130a0144679b65e45ca4ce1d78502beafea627d7f1c2bb61fa2590cc0801c9703d602db78136e0b1c44574fe0f6770debd118ef957f8c7f7cf50040c3ff33e6219617f3659efe8c4f89cbc6a43c7674b09bb38cfc808c58eaba845f9253cb45d4c06b0e9d977e84d257776e0e3f370f67dd30495a0f46a0e2a4b5538bb56cb89e6df0ff89880920b1043a04",
"credential_finalization": "c1edf20d94a1c0c486c20aa096506b4c344c9402b3f004660cfbd8a700da36766cdefdbab675b397d25c7102ae9e2ad7",
"client_registration_state": "fc7622028f08b219ea68b68e5833754034ec7f740f52d03ec60448e7fc521438717e430e0682216a87f417ca57ae97aa02af630ceb91c1e77331fe0cda01c4a9aa07927ca620aafdfae80abbc9b4cab04f9817b8b6f0b53e6db39803a1371c100b",
"client_login_state": "fc7622028f08b219ea68b68e5833754034ec7f740f52d03ec60448e7fc521438717e430e0682216a87f417ca57ae97aa02af630ceb91c1e77331fe0cda01c4a9aa07927ca620aafdfae80abbc9b4cab04f9817b8b6f0b53e6db39803a1371c100be61c4d9300a361349748663414c6121ec81599592c3537bd4fa4e5f373298b15cababcc7f7d42489d782557b91b1dca630d5c935d03953745a8027a49d29b63048ef7e55bc3c3a0773a50fdf44f5255314d27e86ecaa80a35f23812151bafc6be61c4d9300a361349748663414c6121ec81599592c3537bd4fa4e5f373298b15",
"server_login_state": "84032020bacec9769c2616844ae74e6b55c3326f8c3b472246aae356055671f26d7b79a75d6cbda73b06b62f01f5a83ec4685add58a45dc9c7cf34143a13754939b45d92315b4297ff54c774d490193ad78a91083453a71107d588b9aa7bca97b8313812d9763aaf43eeb0ac9601d208bde4ddf9879ac12e7cb83ce6fa28540deb51d110ce353af9adeb0b7453368e3f",
"password_file": "a172352918c9f2f54247c2624d315719382a794aa3d75dc0a2a321babcd5a149e583ccca975112a0ed4c10307d3be73420925d708a5a43e2bc809e5f7acb824094ca13dede1554ccb73245c7938ddcd0e0e38e5700f1266873fd6eb65969ab67ec5667981911566148e53cd38accfd513ae63692c3abe25d9f27ab90a64f86c9c09c9ecb3db17bfe624e4699418820c3a6607d13ed00703067d4993fa67b1ac5",
"export_key": "f9fda931ca81371ed40dcca8517e7c9d83ef28a60aa6eb93dc622c428b898d2e30876f2ee6f9ac999d2a6596e4b4a90f",
"session_key": "b8313812d9763aaf43eeb0ac9601d208bde4ddf9879ac12e7cb83ce6fa28540deb51d110ce353af9adeb0b7453368e3f"
}
"#;
#[cfg(feature = "curve25519")]
pub static TEST_VECTOR_CURVE25519_P521: &str = r#"
{
"client_s_pk": "7e4942f8b4903fb87aaaa091ee5506a99297a4e1891cd1ba20d33e771354d52d",
"client_s_sk": "7852fe9d58a9bfcf13321ada487bb839124efc49e5fc3eb0a6d8fc799d3dfa7b",
"client_e_pk": "a19d6134b9bc29836ee5f2a39dd44fd8f4742616ad9ed50730dde6c734fbd53e",
"client_e_sk": "00f8b9acc526df8716794fb296bfd0c610b6d42d8af1a03507b02437870ae062",
"server_s_pk": "076f02d9c3fb78eafdcf7d61eaf9986fe49ff912cd3500d35ebb4feb1dd3524b",
"server_s_sk": "c0edf6891340e46c0ad2073b5e473ce058e7c3e1a735ea14fac808eda3bd8e40",
"server_e_pk": "95d0afbe94da72bb38cdbc24906ffd34c470db8fb5a9cbd2d6516ebbb384da00",
"server_e_sk": "00d7b58d63f74f7f8647a94f7176fd7f4109417b8fd2179ea96c0323fb9b456a",
"fake_sk": "78fb6c1875674028b18b57513901211d90179b1b8d0ae11a0e80c21dfcd6d54a",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "0087dbb2920dab6045339976dffd52f0236522ae595c2f6ed156224ede3649de71f9b7a742baf6c3350d13f05a412f04e3cdfe6d8961257478fe88f8ae059cd1d33b",
"oprf_seed": "64580e54adff2e88f6f43cf7ab4da06241a23648b5b994f558c8df81e99de0aea476695a1f48aada84761a21491eef9df867be96515f5bde6a5d5c22b8fc559b",
"masking_nonce": "fd7f424d24d10896954cb2ba8f67da66a4a1544ec84e87155065a5191dd7d4f5c0d90d6bb9eb9fee3b53f02c96b5c13e3070b6b1cf089ffba92bfc93d46833de",
"envelope_nonce": "66f4c941a2487a73cc67e331d85dcb712969abcdb98474e4c33a4fd4ef42da9c",
"client_nonce": "80e4be9298be7da527bcecb122fa9c12ca44fb231f0cf90a8fe2bbb1b3a2c081",
"server_nonce": "fd2635f2a1b649d904f1074f08e7a5c57d948efedeb71d5005c8150f29f34ce5",
"context": "636f6e74657874",
"registration_request": "0300a33e93e18c502c2f8ed6243b5654fa5580bb485cc53fa3a2138d56486c2490deeddca6bb509875f980015608f35185381e5e1c0bdb54909d4adb294b44ebe4724e",
"registration_response": "03002dbd5bad0f067cf20f0e8e4241f09dd0b04e8152d99bccf72594ce0b6567de6ef8459b83fd872c75d4bf372d42329825a361ffc5f569364e86349710c528a10561076f02d9c3fb78eafdcf7d61eaf9986fe49ff912cd3500d35ebb4feb1dd3524b",
"registration_upload": "eb42ef48b0a3b6ab3abf9d21097c96c0d52c02e4eaef0062015ef6f00d5bd604c98dbd8f7dc4a8f8a26755a52679aeec1f85a624f99fa874c2ae71c7497b1950988ff816b1153c61a9b84e597cef02c0b12ea73642efbd1f9e0ce1174ad2fbc77852fe9d58a9bfcf13321ada487bb839124efc49e5fc3eb0a6d8fc799d3dfa7bb261330abd9903f900573d5015bd8d56542196bd47f3a698c71013cb8bc727b38942cdcc76538202b988cee422f67c74ca5274972bd6762e29e559f4b68c7950",
"credential_request": "0300a33e93e18c502c2f8ed6243b5654fa5580bb485cc53fa3a2138d56486c2490deeddca6bb509875f980015608f35185381e5e1c0bdb54909d4adb294b44ebe4724e80e4be9298be7da527bcecb122fa9c12ca44fb231f0cf90a8fe2bbb1b3a2c081a19d6134b9bc29836ee5f2a39dd44fd8f4742616ad9ed50730dde6c734fbd53e",
"credential_response": "03002dbd5bad0f067cf20f0e8e4241f09dd0b04e8152d99bccf72594ce0b6567de6ef8459b83fd872c75d4bf372d42329825a361ffc5f569364e86349710c528a10561fd7f424d24d10896954cb2ba8f67da66a4a1544ec84e87155065a5191dd7d4f5b9d3f65c2b5a693521b190e85aeb69aaf41bc053233314721a7dcb5e95fa5da1744b74d96cfb5c436c3289c225052fb4caa4a7841e12716477e27022d892abf6950ce53344bdd0d62f95af2322d726b35afad099bdfd4f031a7ba64282dd834a5098f908e333d26096c874ce30f754d6d95cd04d3f8243e6f1fc5a82da64b7dd00d7b58d63f74f7f8647a94f7176fd7f4109417b8fd2179ea96c0323fb9b456a008a2e6f7eca9bcd12f8d5af88abc10189af2a9e2a7a9837d5834c93b8e2325c46f88439a5b777188938f518a97bfaa8c3ba2785dc89a6de3aeda97d553d53edc4ed076b6c00f221e8702f0ec40f9c78293de08e8bee89bc935fd3be71d54e92",
"credential_finalization": "d9305a202f99432a4eb5ce59e5038027b17cba2f1bc99ca9fe1788912aa022e76eb480bd809d8b479395e8c222c14d83b928d1c1160b51458349718b0bbeb63c",
"client_registration_state": "0087dbb2920dab6045339976dffd52f0236522ae595c2f6ed156224ede3649de71f9b7a742baf6c3350d13f05a412f04e3cdfe6d8961257478fe88f8ae059cd1d33b0300a33e93e18c502c2f8ed6243b5654fa5580bb485cc53fa3a2138d56486c2490deeddca6bb509875f980015608f35185381e5e1c0bdb54909d4adb294b44ebe4724e",
"client_login_state": "0087dbb2920dab6045339976dffd52f0236522ae595c2f6ed156224ede3649de71f9b7a742baf6c3350d13f05a412f04e3cdfe6d8961257478fe88f8ae059cd1d33b0300a33e93e18c502c2f8ed6243b5654fa5580bb485cc53fa3a2138d56486c2490deeddca6bb509875f980015608f35185381e5e1c0bdb54909d4adb294b44ebe4724e80e4be9298be7da527bcecb122fa9c12ca44fb231f0cf90a8fe2bbb1b3a2c081a19d6134b9bc29836ee5f2a39dd44fd8f4742616ad9ed50730dde6c734fbd53e00f8b9acc526df8716794fb296bfd0c610b6d42d8af1a03507b02437870ae06280e4be9298be7da527bcecb122fa9c12ca44fb231f0cf90a8fe2bbb1b3a2c081",
"server_login_state": "1d7bf3d48c64445d5b6bd43d552bb644099f7b68b76618ff282a45fd50f0917be24a2bc63b9447f182e50187fddb9d42bf6ac11233792d6f0b6ac93c7d5d36f847c40519c4784c172c7f687e89b9366634b25a0f577f1f964ab3a5779ce26994c6cb58639a2eacea0c0f9b83b528a27e6425e5f94ac83fd46cb5c3ccf02d8ebc06a8db3f863c187671b523b8931de44c45f6087b32a14fac01992b3ea973f82ee3c1aef37f9ddff319d7f5e00766f38c26152807e50b7ac78d954a767b7e008e",
"password_file": "eb42ef48b0a3b6ab3abf9d21097c96c0d52c02e4eaef0062015ef6f00d5bd604c98dbd8f7dc4a8f8a26755a52679aeec1f85a624f99fa874c2ae71c7497b1950988ff816b1153c61a9b84e597cef02c0b12ea73642efbd1f9e0ce1174ad2fbc77852fe9d58a9bfcf13321ada487bb839124efc49e5fc3eb0a6d8fc799d3dfa7bb261330abd9903f900573d5015bd8d56542196bd47f3a698c71013cb8bc727b38942cdcc76538202b988cee422f67c74ca5274972bd6762e29e559f4b68c7950",
"export_key": "162a04a37744e883b50b3ee6342a0e7d83fe29e5d7e992e1fc2d52ee2ecf609948196a372efa501abd143d63779ed5850192a6e024c359767f89fad7f366f134",
"session_key": "06a8db3f863c187671b523b8931de44c45f6087b32a14fac01992b3ea973f82ee3c1aef37f9ddff319d7f5e00766f38c26152807e50b7ac78d954a767b7e008e"
}
"#;
#[cfg(all(feature = "curve25519", feature = "ristretto255"))]
pub static TEST_VECTOR_CURVE25519_RISTRETTO255: &str = r#"
{
"client_s_pk": "9b7d23975f181281a02b340ed74e2cc42409aa31587adddf8b29a0a15762751b",
"client_s_sk": "2879d39cbd051e2ab358bf67eadfe0383d0ece0318fcd831221660f41b48de43",
"client_e_pk": "41ce6155390ee4074f144670e820817c62ab9163686f6095bdcd63da4ad7ae35",
"client_e_sk": "988ada3600b2becafb13ffb08ed4a3016580617bb88be7139e1e1302be330453",
"server_s_pk": "2f2f87be335162236823a8edae9a5f1af38ef4a469c355622bcdbdb301d07f7a",
"server_s_sk": "2805af2d4e050fce46267c017485d00085ac408aed7378399a40e84e14d4a457",
"server_e_pk": "680cc567f502601b7f72bb1124fc9fedb2beaccab539d5ed4709f5ad26a62343",
"server_e_sk": "d88d93b58cad105fb0fdba10f8d653f65e19a57adfcdfb5353dc92624f64347a",
"fake_sk": "d8791e0450f5412dc1dc90c53924e6bffc882b71e1318a0ee66a79700456c959",
"credential_identifier": "637265644964656e746966696572",
"id_u": "696455",
"id_s": "696453",
"password": "70617373776f7264",
"blinding_factor": "7cf085e03de44dafd339929fab5637d63a6f1ec3367b41a53b1ee5100611af01",
"oprf_seed": "8a48b85ba5f81ca09b9d281484822fdff8d0681aa1683fbbbca13c03fdefe61cdaf4a418f2bbe191076a82ee2ceeaa8acfa89e85bf1359cede1d52c61a0c1c45",
"masking_nonce": "a9fb3390db5164a63953aed3fed89791780b2c712bb3dd9d16d635619962da90eaa0adf5270183246345ad2fba43e1aa390cd2ad642ac7e2e733d7b1a1572e47",
"envelope_nonce": "35abc0da46823c169f7fb1fc9c9d134e874f08a86f4df994bb2fbb3717305a8b",
"client_nonce": "4da0c457d9bccd7f446172bb6a8b8b233ae64d2f0f513d3f09ba06bcec4255b4",
"server_nonce": "6edc215308a411dfa9a0f9a935324eb9c38fb17031d50cea2c104aa6cbaa82bf",
"context": "636f6e74657874",
"registration_request": "9c695f33ef050350a7cf44036e5fb47a182028beabe3780c877cb2f3c3178a73",
"registration_response": "e8467b3a2f4b8ebbcd6740453d7f32925d9a44aa454f85b01d85a2822a3bb9672f2f87be335162236823a8edae9a5f1af38ef4a469c355622bcdbdb301d07f7a",
"registration_upload": "6f5d13cc49e0c481a3bc18699d2331458aa64e953ea2bb29dc69100e8963416ab2a3cf81acc4e726e2fe2ec49a96d9c904235ef1ca950c1666012ff5d0b08533635ff85e42129144a379ae2f2c8082ab188e4b589e2137bcf943a066b34ce40f2879d39cbd051e2ab358bf67eadfe0383d0ece0318fcd831221660f41b48de43af57dc0586bddeca89eaccd2246f229570248329518c86886e8bb1af075209bbb550a0016e8349cecef9e184473278ab02601e06c9aabfc53b4d074a7c6c4a30",
"credential_request": "9c695f33ef050350a7cf44036e5fb47a182028beabe3780c877cb2f3c3178a734da0c457d9bccd7f446172bb6a8b8b233ae64d2f0f513d3f09ba06bcec4255b441ce6155390ee4074f144670e820817c62ab9163686f6095bdcd63da4ad7ae35",
"credential_response": "e8467b3a2f4b8ebbcd6740453d7f32925d9a44aa454f85b01d85a2822a3bb967a9fb3390db5164a63953aed3fed89791780b2c712bb3dd9d16d635619962da90d357ade806a25f93847019cc62f55a29c6c2e71b7406424d7e20bf34ae4c7dc1ef5f91231f61e1118f3677d565a34ea3433606d29a0d119ef60418c291a3a3b4a9dd77427e487301320652bd130efa8bf7b659523b21138b342a8b43b74af9600c2018955f244abf48876e471ecebed37dde7d2009fa6776d9c353f5f23e362bd88d93b58cad105fb0fdba10f8d653f65e19a57adfcdfb5353dc92624f64347a94c69f51de883b5dd64aa8286b6f28777c3d4c786a283696f4d887febb82607e9db0dc6badb3116887032a787324af9544be812c04bc3619cd977891373fc42a2c799074ef381413abe7c658dc35b02c4a44955c682a01782d987129a4b0c8a8",
"credential_finalization": "d41c680cec2e82867e12e020976a4c212ca57889c3e57cf0ccefd4a8935e625cf6f46a57e3a68dcfe0870006b37b5964884d05ae18e122889acd54e89a1381d1",
"client_registration_state": "7cf085e03de44dafd339929fab5637d63a6f1ec3367b41a53b1ee5100611af019c695f33ef050350a7cf44036e5fb47a182028beabe3780c877cb2f3c3178a73",
"client_login_state": "7cf085e03de44dafd339929fab5637d63a6f1ec3367b41a53b1ee5100611af019c695f33ef050350a7cf44036e5fb47a182028beabe3780c877cb2f3c3178a734da0c457d9bccd7f446172bb6a8b8b233ae64d2f0f513d3f09ba06bcec4255b441ce6155390ee4074f144670e820817c62ab9163686f6095bdcd63da4ad7ae35988ada3600b2becafb13ffb08ed4a3016580617bb88be7139e1e1302be3304534da0c457d9bccd7f446172bb6a8b8b233ae64d2f0f513d3f09ba06bcec4255b4",
"server_login_state": "17dd4b683f4837538f91e87a33e68d1de7e2f9b8a4e192220bea4daa99bb40ee3fae320594d4a6422f0819d424345c4b6ee23fdb22ef6dde79f5a718e8a1c5e2fcc4487edd0cae1077ef2adec642fbe08424570a7993b09b24e615e0da39eddb719e0406bfb232a53303214d687609ee7d076fcacb5b542c5eec78086ee6340902da6d7e0dc3429f2fe78c556e7cbcefa5e729c85ce84b4d30b5db9177ce963ffe07dcce794f45abd7a02df4f3476a7101370590db0f43a79e42ea32711536c4",
"password_file": "6f5d13cc49e0c481a3bc18699d2331458aa64e953ea2bb29dc69100e8963416ab2a3cf81acc4e726e2fe2ec49a96d9c904235ef1ca950c1666012ff5d0b08533635ff85e42129144a379ae2f2c8082ab188e4b589e2137bcf943a066b34ce40f2879d39cbd051e2ab358bf67eadfe0383d0ece0318fcd831221660f41b48de43af57dc0586bddeca89eaccd2246f229570248329518c86886e8bb1af075209bbb550a0016e8349cecef9e184473278ab02601e06c9aabfc53b4d074a7c6c4a30",
"export_key": "b4584e38ac477620f89b86d200cb3e8aedb89e7228c2a7409000b39828a7a911cc03c5b89212f200f472d4d9cba197639d63d3f23fbcbbfd051477381b2afcfb",
"session_key": "02da6d7e0dc3429f2fe78c556e7cbcefa5e729c85ce84b4d30b5db9177ce963ffe07dcce794f45abd7a02df4f3476a7101370590db0f43a79e42ea32711536c4"
}
"#;
+2
View File
@@ -7,6 +7,8 @@
// licenses.
mod full_test;
#[rustfmt::skip]
mod full_test_vectors;
pub mod mock_rng;
mod opaque_vectors;
mod parser;