Fixing envelope mode inconsistency and matching against latest test vectors (#130)
This commit is contained in:
+4
-4
@@ -24,16 +24,16 @@ const NONCE_LEN: usize = 32;
|
||||
|
||||
#[derive(Clone, Copy, PartialEq)]
|
||||
pub(crate) enum InnerEnvelopeMode {
|
||||
Base = 0,
|
||||
CustomIdentifier = 1,
|
||||
Base = 1,
|
||||
CustomIdentifier = 2,
|
||||
}
|
||||
|
||||
impl TryFrom<u8> for InnerEnvelopeMode {
|
||||
type Error = PakeError;
|
||||
fn try_from(x: u8) -> Result<Self, Self::Error> {
|
||||
match x {
|
||||
0 => Ok(InnerEnvelopeMode::Base),
|
||||
1 => Ok(InnerEnvelopeMode::CustomIdentifier),
|
||||
1 => Ok(InnerEnvelopeMode::Base),
|
||||
2 => Ok(InnerEnvelopeMode::CustomIdentifier),
|
||||
_ => Err(PakeError::SerializationError),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ fn server_registration_roundtrip() {
|
||||
|
||||
// Construct a mock envelope
|
||||
let mut mock_envelope_bytes = Vec::new();
|
||||
mock_envelope_bytes.extend_from_slice(&[0; 1]); // mode = 0
|
||||
mock_envelope_bytes.extend_from_slice(&[1; 1]); // mode = 1
|
||||
mock_envelope_bytes.extend_from_slice(&vec![0; NonceLen::to_usize()]); // empty nonce
|
||||
mock_envelope_bytes.extend_from_slice(&[0, 0]); // empty ciphertext
|
||||
mock_envelope_bytes.extend_from_slice(&[0; MAC_SIZE]); // length-MAC_SIZE hmac
|
||||
|
||||
+26
-26
@@ -68,37 +68,37 @@ pub struct TestVectorParameters {
|
||||
|
||||
static TEST_VECTOR: &str = r#"
|
||||
{
|
||||
"client_s_pk": "3a776afc0ba554a731cc8e2c8fef1ba3e9110195a7902d9b15ecc1352867833e",
|
||||
"client_s_sk": "bd42afe22725696df96e193ff4d0580e565ad8b769ea718f343245ea83625505",
|
||||
"client_e_pk": "c22c46082bae3fcb2e5690c0c9a27fa59f752ff9a78ad5c41a18f7f665a3da05",
|
||||
"client_e_sk": "21616ff86563a235ab01eb7e13f057b1cae8533dc7a4e99076e56d29f948c40b",
|
||||
"server_s_pk": "d685d935664b0f8175456c9594cb3205329352970a560a4efedb5bfb39335811",
|
||||
"server_s_sk": "5e37d39ed0c5880c748818b834d97fd8235f4b77a7e06287664c02e5bafd6407",
|
||||
"server_e_pk": "0202a269a71da47901e071eab4702d92288e9e3ac12b77cc9eae1a6a3be5bf25",
|
||||
"server_e_sk": "055453a054b87b50c8e9f2ae4eac6e56348ec82b3e3271d843a958b0f634ed0b",
|
||||
"client_s_pk": "2c3247e1d7fcf2bef09a0c6e771c44fe922f36deb5726998c89f7816323bc373",
|
||||
"client_s_sk": "d7dd5397912dc1dce64a26b8d24bee59b7929b15a6b9769ad6357913a13e7f09",
|
||||
"client_e_pk": "3431e8f57ce0c1ae9da2b4f37a2f877a64b244a86bc1384ba70a9c39985b3729",
|
||||
"client_e_sk": "8410c0520fd2a37775e54000d9abb5a84825d37649827d8f2721dd655cd64c0c",
|
||||
"server_s_pk": "6a55f77ffb17741d5dfd404ef7079ef276cb2114a76f507c0ae7172847da647a",
|
||||
"server_s_sk": "f4433f94dea3f4bf877ab760566efa36340e34d516dc4462b2ad5b9600157a06",
|
||||
"server_e_pk": "32d56c7e3b882b9ac1a4e38d60456c4942ec6b6aceed91d069ead967a825df74",
|
||||
"server_e_sk": "256f9cdddb2c4bed42866e37d5dff019b4a9584b7486e5683d52b56842d82b0d",
|
||||
"id_u": "696455",
|
||||
"id_s": "696453",
|
||||
"password": "70617373776f7264",
|
||||
"blinding_factor": "67c5f74c953923c950c978b332f306454a8dc7ae7888449281b9d550ab05e204",
|
||||
"oprf_key": "94ddb3f439fb4d69ac31b3220604066316b370b4402403d04f9efece28d6a00f",
|
||||
"envelope_nonce": "c2956142808696bc993b1b1424166afcf0e7de8ba45d8348cd5ff0fbbf528485",
|
||||
"client_nonce": "b61c639342a00e60652c0567423bc332fc7af6558da4651bd53b89f688fc1274",
|
||||
"server_nonce": "ebb9dcbbfe8776aa3831763a4172f6e95cec5714d08a0e0a03151f561135c416",
|
||||
"blinding_factor": "c0937fddc5b7a8cbb76301cbe588268d52a9efe6a205af21a0a12b1fadf3a008",
|
||||
"oprf_key": "f386e8710c12c870a0ec74f09364811142050a5266ca53d36c11e369343a5e09",
|
||||
"envelope_nonce": "2338be69855ad2a280ab5ed67fb04cd96691841241dbb4873ca776adc60d1c93",
|
||||
"client_nonce": "09f2721189a82d90e891d346aa9be462e003cc6b6824a55352da7df685eca5bf",
|
||||
"server_nonce": "5c11e9abe0d5d677dd1a66cd1c8e9baa1f1a44c7554ffe61978b100e657f79f4",
|
||||
"info1": "696e666f31",
|
||||
"einfo2": "65696e666f32",
|
||||
"registration_request": "5ea0a0a57a2882691c3fc8e0dfe09bf05b130723b24371f8ac03b9c75d0d5b79",
|
||||
"registration_response": "c0ebf6cc43f92c2da075f93da39cb37d7571e61c26bfab69bbcdb35a0a313e260020d685d935664b0f8175456c9594cb3205329352970a560a4efedb5bfb39335811",
|
||||
"registration_upload": "00203a776afc0ba554a731cc8e2c8fef1ba3e9110195a7902d9b15ecc1352867833e01c2956142808696bc993b1b1424166afcf0e7de8ba45d8348cd5ff0fbbf52848500223b28798f911bb2f0c6cc626f27daf055271234dc1c1e32df59e864cffe946dfb02795cc53d6bcadf5e9535341c473f72b7ea88f4ff87fe941c0dace9f9975fa8887ac0bb7c84a5028fcdd10b41f9216523ba3513c95eb127437155feb0c022469334",
|
||||
"credential_request": "5ea0a0a57a2882691c3fc8e0dfe09bf05b130723b24371f8ac03b9c75d0d5b79b61c639342a00e60652c0567423bc332fc7af6558da4651bd53b89f688fc12740005696e666f31c22c46082bae3fcb2e5690c0c9a27fa59f752ff9a78ad5c41a18f7f665a3da05",
|
||||
"credential_response": "c0ebf6cc43f92c2da075f93da39cb37d7571e61c26bfab69bbcdb35a0a313e260020d685d935664b0f8175456c9594cb3205329352970a560a4efedb5bfb3933581101c2956142808696bc993b1b1424166afcf0e7de8ba45d8348cd5ff0fbbf52848500223b28798f911bb2f0c6cc626f27daf055271234dc1c1e32df59e864cffe946dfb02795cc53d6bcadf5e9535341c473f72b7ea88f4ff87fe941c0dace9f9975fa8887ac0bb7c84a5028fcdd10b41f9216523ba3513c95eb127437155feb0c022469334ebb9dcbbfe8776aa3831763a4172f6e95cec5714d08a0e0a03151f561135c4160202a269a71da47901e071eab4702d92288e9e3ac12b77cc9eae1a6a3be5bf250006148cc6985fd9c04245efa02487d25a5e4ffa64fdb7f7fd627839ca70f29da495e59489891e14b7122656edcf2bfc788f92bf458fac31d4b0ddd6b6aa764e08c56d16e803e919",
|
||||
"credential_finalization": "c6c0ccf4e5155b2cecabc61efc289824e00eb2e5d3c15d508100d35d8f0d3ba317797270af96cd4610b954ec21898f2e9df02411c21352a3220259034c711487",
|
||||
"client_registration_state": "67c5f74c953923c950c978b332f306454a8dc7ae7888449281b9d550ab05e20470617373776f7264",
|
||||
"client_login_state": "67c5f74c953923c950c978b332f306454a8dc7ae7888449281b9d550ab05e20400675ea0a0a57a2882691c3fc8e0dfe09bf05b130723b24371f8ac03b9c75d0d5b79b61c639342a00e60652c0567423bc332fc7af6558da4651bd53b89f688fc12740005696e666f31c22c46082bae3fcb2e5690c0c9a27fa59f752ff9a78ad5c41a18f7f665a3da05004021616ff86563a235ab01eb7e13f057b1cae8533dc7a4e99076e56d29f948c40bb61c639342a00e60652c0567423bc332fc7af6558da4651bd53b89f688fc127470617373776f7264",
|
||||
"server_registration_state": "94ddb3f439fb4d69ac31b3220604066316b370b4402403d04f9efece28d6a00f",
|
||||
"server_login_state": "fa7795f9a3a3f93e950d4d902689157f98cdf839fe64847b9b24dc2c7d07e9d674cdcb3db4c7653dcf133c49eadbf2b3a0665e19c37461352a8bdce781cefd5d8c8153b0b60a3abbb9cc2a34fe3c53541b1e7df3216d3bac1e8280fa697db9ee6b2468e585f9912bd227c51b702671691b6d6a3542db4597c18013fbae903b5c9d5ff920b8a7231d717155af4475b3591973245b9dd26cf956383e8145fa3e8c1e508b72f3e3c42e3d116611b676780628591acf37757c74ad297f71a0b54b39",
|
||||
"password_file": "94ddb3f439fb4d69ac31b3220604066316b370b4402403d04f9efece28d6a00f3a776afc0ba554a731cc8e2c8fef1ba3e9110195a7902d9b15ecc1352867833e01c2956142808696bc993b1b1424166afcf0e7de8ba45d8348cd5ff0fbbf52848500223b28798f911bb2f0c6cc626f27daf055271234dc1c1e32df59e864cffe946dfb02795cc53d6bcadf5e9535341c473f72b7ea88f4ff87fe941c0dace9f9975fa8887ac0bb7c84a5028fcdd10b41f9216523ba3513c95eb127437155feb0c022469334",
|
||||
"export_key": "c250b23ac69b71bcc246db97398487198c94c73c84e1256b57c3ceb32a76fdc7547a8953bfc94b530e5b660f559faa53572f98ec0168e378087017b9a7393f57",
|
||||
"shared_secret": "9d5ff920b8a7231d717155af4475b3591973245b9dd26cf956383e8145fa3e8c1e508b72f3e3c42e3d116611b676780628591acf37757c74ad297f71a0b54b39"
|
||||
"registration_request": "58e629f68bd59f1d5fcee531a5afeedb4e07d2c6aed98d15cab686d063f2f46e",
|
||||
"registration_response": "a2227384ed34860b7d879d617f7daa802b6a878eaa5eab33669400f30ad0431d00206a55f77ffb17741d5dfd404ef7079ef276cb2114a76f507c0ae7172847da647a",
|
||||
"registration_upload": "00202c3247e1d7fcf2bef09a0c6e771c44fe922f36deb5726998c89f7816323bc373022338be69855ad2a280ab5ed67fb04cd96691841241dbb4873ca776adc60d1c930022576b449b09abeb68d5f6c56082b0c2f560c636bff4f0af3b44b6377045201b545598d319af3122041f06e3ab86371bff6c0727557c77d20efeb9a0b9f24573e3646735eeebed45e741d11d0120741af27b04c2716eb6bdfe950daff937cfcae8569e",
|
||||
"credential_request": "58e629f68bd59f1d5fcee531a5afeedb4e07d2c6aed98d15cab686d063f2f46e09f2721189a82d90e891d346aa9be462e003cc6b6824a55352da7df685eca5bf0005696e666f313431e8f57ce0c1ae9da2b4f37a2f877a64b244a86bc1384ba70a9c39985b3729",
|
||||
"credential_response": "a2227384ed34860b7d879d617f7daa802b6a878eaa5eab33669400f30ad0431d00206a55f77ffb17741d5dfd404ef7079ef276cb2114a76f507c0ae7172847da647a022338be69855ad2a280ab5ed67fb04cd96691841241dbb4873ca776adc60d1c930022576b449b09abeb68d5f6c56082b0c2f560c636bff4f0af3b44b6377045201b545598d319af3122041f06e3ab86371bff6c0727557c77d20efeb9a0b9f24573e3646735eeebed45e741d11d0120741af27b04c2716eb6bdfe950daff937cfcae8569e5c11e9abe0d5d677dd1a66cd1c8e9baa1f1a44c7554ffe61978b100e657f79f432d56c7e3b882b9ac1a4e38d60456c4942ec6b6aceed91d069ead967a825df740006a0c5112e94c86671fd294468658b8a78375f89fca9fb7c3ee1f63871360d5237e57da81719849a8dbccb974742333a1aed034d63d0bdba0beacfe30196912d561e99c1e79ccf",
|
||||
"credential_finalization": "b1fad859f343f1a15df14bd7782db9ab6ee4493225a470152e53b3b7601dc954bc80d7b7dadfe70f743b1ab1552a054e7a9d192399ea42073a1d1c5839aabfc2",
|
||||
"client_registration_state": "c0937fddc5b7a8cbb76301cbe588268d52a9efe6a205af21a0a12b1fadf3a00870617373776f7264",
|
||||
"client_login_state": "c0937fddc5b7a8cbb76301cbe588268d52a9efe6a205af21a0a12b1fadf3a008006758e629f68bd59f1d5fcee531a5afeedb4e07d2c6aed98d15cab686d063f2f46e09f2721189a82d90e891d346aa9be462e003cc6b6824a55352da7df685eca5bf0005696e666f313431e8f57ce0c1ae9da2b4f37a2f877a64b244a86bc1384ba70a9c39985b372900408410c0520fd2a37775e54000d9abb5a84825d37649827d8f2721dd655cd64c0c09f2721189a82d90e891d346aa9be462e003cc6b6824a55352da7df685eca5bf70617373776f7264",
|
||||
"server_registration_state": "f386e8710c12c870a0ec74f09364811142050a5266ca53d36c11e369343a5e09",
|
||||
"server_login_state": "761333eea593c396021c3930fb36cf97aad7c7ea00f1ff983e4df9ca002885017161427303fddb4508c9136a67612e01b673ed88b1de49ed6628d0a77e43c590595f53bf0b0766c165b876173c509efc982868d3860df5dad3f0753477ec9bdd103b71dab9540537f2b10964da82032a6339da6d663a409f4e8e5dea03e3653bb6202f265ed814df39f446486197e1c6091ec6b74200f18df5eef59813ff7f245d69b34e8843be496630921601ab784b1f3ccbfe2ff014ea132199c5c76deda7",
|
||||
"password_file": "f386e8710c12c870a0ec74f09364811142050a5266ca53d36c11e369343a5e092c3247e1d7fcf2bef09a0c6e771c44fe922f36deb5726998c89f7816323bc373022338be69855ad2a280ab5ed67fb04cd96691841241dbb4873ca776adc60d1c930022576b449b09abeb68d5f6c56082b0c2f560c636bff4f0af3b44b6377045201b545598d319af3122041f06e3ab86371bff6c0727557c77d20efeb9a0b9f24573e3646735eeebed45e741d11d0120741af27b04c2716eb6bdfe950daff937cfcae8569e",
|
||||
"export_key": "96b95891f06c7f02ab9c508f30e1a82ddea25e2f4fc4ffdafeb199ee65e24e418b2648a201e889eaf84301a1a8d0c3b7fea0ec8d4611686e6daee12430f60c05",
|
||||
"shared_secret": "b6202f265ed814df39f446486197e1c6091ec6b74200f18df5eef59813ff7f245d69b34e8843be496630921601ab784b1f3ccbfe2ff014ea132199c5c76deda7"
|
||||
}
|
||||
"#;
|
||||
|
||||
|
||||
+154
-154
@@ -63,195 +63,195 @@ pub struct TestVectorParameters {
|
||||
static TEST_VECTORS: &[&str] = &[
|
||||
r#"
|
||||
Group: ristretto255
|
||||
EnvelopeMode: 00
|
||||
EnvelopeMode: 01
|
||||
OPRF: 0001
|
||||
SlowHash: Identity
|
||||
Hash: SHA512
|
||||
server_nonce: 534a8d6ca099313c73f909ecadd9973644203036913b162134def00
|
||||
fdf8b8a18
|
||||
server_nonce: a4997137a8fa0d4baf7052a499bf877057f9404e03c889d641a0d7c
|
||||
807b6a518
|
||||
oprf_key: 5ed895206bfc53316d307b23e46ecc6623afb3086da74189a416012be03
|
||||
7e50b
|
||||
password: 436f7272656374486f72736542617474657279537461706c65
|
||||
blind_login: ed8366feb6b1d05d1f46acb727061e43aadfafe9c10e5a64e7518d63
|
||||
e3263503
|
||||
server_private_keyshare: bfd25bddcd9190db01fdc127247eb2461d78281233d8
|
||||
77b4564a00404cb79700
|
||||
client_nonce: 1a7c15f8ca50bb7a8d654035ad59488a33758b80fc1cc1fa7cc4d92
|
||||
50c00f567
|
||||
server_private_keyshare: 31587dff30b8001d9d43584decc22e358fa7f9d6e606
|
||||
29fb1223081c3bae7103
|
||||
client_nonce: 75a1ad27ab77578bc08b44c4318f09b31d53145c9ba3b42abf0ea08
|
||||
a781277a6
|
||||
server_info: 6772656574696e677320616c696365
|
||||
client_info: 68656c6c6f20626f62
|
||||
client_private_keyshare: 1d6078acf052615f1e3206b9aa9aed95cb0f04daa534
|
||||
0ccb52534871f1158f09
|
||||
envelope_nonce: ff05735be871d25c4fa25f2a65e26386fad3eda2ba1e093562844
|
||||
1ed18bbe818
|
||||
server_keyshare: dcc991d13fa137302cc1adce95e6f9087f503d88e12d90200682
|
||||
2e6da438ec22
|
||||
client_private_keyshare: fbbf4ad24119f08a35bf999f8ae0c779ed7b3e266bf3
|
||||
3f793f6bf9ebf4578005
|
||||
envelope_nonce: 6c6bb9021b9833c788dd25994d3ce7f3811338744fd6dc556e037
|
||||
585783444c0
|
||||
server_keyshare: 82be40ef93bf7c6edd43d4ed9f52fa19827649b819de39c52a22
|
||||
43e985b75d62
|
||||
blind_registration: c604c785ada70d77a5256ae21767de8c3304115237d262134
|
||||
f5e46e512cf8e03
|
||||
client_public_key: fcca4fd8732b9887f566bbdcdb738c884f5390b360f43b5b3a
|
||||
4b81b3bb7e060d
|
||||
client_private_key: 31aca12a23a2a03db43c91fafe6d32589e2d8f09d8004d605
|
||||
0ec275317cc7f08
|
||||
client_keyshare: 408c2a2025080d6507b6250f3dc1ac420c37134bf14d7b1be542
|
||||
c4d8cfd64a52
|
||||
server_public_key: 76ba3df8660de4e37dd3ac120bb3f8c9a4d95931b54cf14856
|
||||
974424a8561115
|
||||
server_private_key: ccde5849510d7175da028ccccba666e446b9418cf7ba9383b
|
||||
9530c75474bcb04
|
||||
auth_key: c0ee18ecc5ae7012bcf641a28c2d21ebc198492f1d75ed7ee7cc60b6c5f
|
||||
c2a6e5f0ad974fc8f0f48dacfcac765d2b626fce0728f3abbee16d522fe2fa108270c
|
||||
server_mac_key: 18685231e1442f5547af5f9c965fc6a951428a963f26ef99cea69
|
||||
53873296df81b71e89c05d9bd4abf6863a1e3215f3fe4a202e33f7164c90d250d00a8
|
||||
dd4a91
|
||||
envelope: 00ff05735be871d25c4fa25f2a65e26386fad3eda2ba1e0935628441ed1
|
||||
8bbe81800228f595ba5f6cf5b9c590bc270cbdc1b46b570b76db941ff14035630294f
|
||||
b8c42ae21c6d965b5ee07b9a86687941dc9594b3f0c92317b367fd19d168b810d7b08
|
||||
787319d837367607662e9d545c5e5abecc469e544903a570e2efdb168bbb8603d11c8
|
||||
prk: ec754de047f914e9adf78a82925d70f90478c0e74ea4124de5ba92e8bd935691
|
||||
641b6a6ad00ad7d101d232c11fdbe1a578d4795bc62e73fb7e42d6ef234bf2e1
|
||||
client_mac_key: 1b73e32b32aad3e94a8bfd664532c9cf8c3385d8ec62badd59873
|
||||
270e02f854436b68ade26d0efa0c6b4b41e4970d950d6e7a5ca292427952730105bba
|
||||
f89896
|
||||
pseudorandom_pad: 8f796a0957e5783ef936764c5a26e52b87282940364827144e3
|
||||
660c568ebd3e69d14
|
||||
handshake_encrypt_key: 26eea148eeaad14bba63d6d30cac46ddb1d37971f6fe1d
|
||||
dfc80955271f4d242c0db5824d5df69b3a6f619753733a26640d20e35b8589c6b7448
|
||||
df7d902155ed4
|
||||
handshake_secret: 46c0c3d90c38b9cf3a0c3f19248adef96365e059a4a0034b4b2
|
||||
d36efda24174620e0894bcb0916dcaa79cdb1a7f475e9b809c0f4a072c8bf4b6b4735
|
||||
87838641
|
||||
client_public_key: b2d1b10f3741a8efef3139f4d2889f2b11f776b79b9aa2c3ef
|
||||
caba4f1c4ae861
|
||||
client_private_key: f0f56cfb488649fe28691dd9aa5dc9ff4c0e6028075baa3c5
|
||||
615398a2cb12304
|
||||
client_keyshare: 484e47e31b3132f4ee512e41805a1690891111a7b885bc526198
|
||||
22c14cabf360
|
||||
server_public_key: 5442a6f57333a332b4c6f07308f6fa846bde3ed27425820cdc
|
||||
eeeb935924a903
|
||||
server_private_key: d63d709e3a739a128929a9f289ff263fdcbc457f2f47f7c43
|
||||
ccafbbfee72290c
|
||||
auth_key: 22198da4ad73b1d35cd8bb875e64ce1a9fc2edeb073d760e114d1d7a2f8
|
||||
6d47411caf1787907e2ff96cd3190b14d101101d74cff234259d9f19a18f2cfe29d0b
|
||||
server_mac_key: 9de28e2f7107afe266570934c033dd6a403fb2b09a9f1a1357a81
|
||||
9fb072d25e6651626638d77bd7f0adf4b2b715d0a0bee2ac531fd0f7da699aba6e9ed
|
||||
717466
|
||||
envelope: 016c6bb9021b9833c788dd25994d3ce7f3811338744fd6dc556e0375857
|
||||
83444c00022e9b28440a1dc99cca7513e8eb754d427caf8515642b45a92c73838c043
|
||||
fc316deeb83deface81589bc8e5c2c767b5ab79218834fbf4fa4f87cf23775aa54633
|
||||
ed75665cd88f451e044cac1b282d890269476d1ac18ff9a4c0cb832e1143ffa7d447a
|
||||
prk: 732303f65e76c39f30876aec31af1f5bcd8861626c922baa2e842209c7d5bf2e
|
||||
024912db2d6cac00b1260c437d34ec588a664a55fc7a0a40251915d2b15d8ec9
|
||||
client_mac_key: 1536168d48218d08dcbed3438e897d98eff566894240d8d136be0
|
||||
4ba46b2c788883fd165ce7614c52a6a9c926bf55d249e6c29bc4a23d5a1775ad294a7
|
||||
858922
|
||||
pseudorandom_pad: e99274b5cd27d14aeeaf16e7aa8d7e7a03071d58229c5dc96d0
|
||||
46ed57a761ddccdbc
|
||||
handshake_encrypt_key: c646def7a8ca75282ac1a0ad15630834cba2772837d7a3
|
||||
a26d00b36923e55b3f5d065679c715e4c799654f261c865f1a55bc94cabc29a6e2e72
|
||||
296dfc494a984
|
||||
handshake_secret: cc887e128c28064106d4101ac3de633e9096e170f2c4a9913d3
|
||||
50f306274b1665a5b251f761672c12db4c403a615c22cee96adb3539fa62662a17f2e
|
||||
18cd5fed
|
||||
registration_response: 1867301bcc67bdf8e640b7d6edcbe2a65488446417b50d
|
||||
30cdba66ccb379e572002076ba3df8660de4e37dd3ac120bb3f8c9a4d95931b54cf14
|
||||
856974424a8561115
|
||||
export_key: 39a81bd85c701bcb4396d7d6fad5a67712aff40a4a7d806094f84dbbb
|
||||
56bf371d8b9b522abba314dc5203cf387c4be187128e3270b151023221c9fc86fff11
|
||||
4a
|
||||
registration_upload: 0020fcca4fd8732b9887f566bbdcdb738c884f5390b360f4
|
||||
3b5b3a4b81b3bb7e060d00ff05735be871d25c4fa25f2a65e26386fad3eda2ba1e093
|
||||
5628441ed18bbe81800228f595ba5f6cf5b9c590bc270cbdc1b46b570b76db941ff14
|
||||
035630294fb8c42ae21c6d965b5ee07b9a86687941dc9594b3f0c92317b367fd19d16
|
||||
8b810d7b08787319d837367607662e9d545c5e5abecc469e544903a570e2efdb168bb
|
||||
b8603d11c8
|
||||
30cdba66ccb379e57200205442a6f57333a332b4c6f07308f6fa846bde3ed27425820
|
||||
cdceeeb935924a903
|
||||
export_key: 6ca2c344763e5bc9e3d2bbfe3d982b826b709da597e28e85f9594ec54
|
||||
2a20c697d55de277ccce1d1af7c48ab7fea1467ac1e3a99c71dcf6326a909d280bd2f
|
||||
6f
|
||||
registration_upload: 0020b2d1b10f3741a8efef3139f4d2889f2b11f776b79b9a
|
||||
a2c3efcaba4f1c4ae861016c6bb9021b9833c788dd25994d3ce7f3811338744fd6dc5
|
||||
56e037585783444c00022e9b28440a1dc99cca7513e8eb754d427caf8515642b45a92
|
||||
c73838c043fc316deeb83deface81589bc8e5c2c767b5ab79218834fbf4fa4f87cf23
|
||||
775aa54633ed75665cd88f451e044cac1b282d890269476d1ac18ff9a4c0cb832e114
|
||||
3ffa7d447a
|
||||
registration_request: 241b621c417c0705b5ea7a8b7cdd5039fd61e6b63effe2a
|
||||
44418164c4d49003e
|
||||
session_key: f27806d4c588eac72b3da00dba21a2852cf3a91d5164d9ac4dcfa896
|
||||
a3cbbb2836785a33ba9d5fb193068347b0ed20bcde94a4482e4456d9c5666eb6191de
|
||||
a47
|
||||
KE3: bf680d0471ffd1885f050b51c3e57b59e4b3ec31c49dd893644028f30e4bca44
|
||||
6cf2f047abd75f739bffccac0af3fe24b8255d3391c4899608df9539f97b5c91
|
||||
session_key: ee9f1ef224d498858f6c9b3a121016a38bad7816055c452b1c7edf3d
|
||||
d439c42a4cc78cbd672e985a20910df14f8f1af4ce5793303ffe6954ff5f1a264e3fd
|
||||
515
|
||||
KE3: e771daf28bc5e8068dead67c3db19f9ad03ee919e52f6c7a6e79cf1085bd7448
|
||||
1e76512c77f37762578eb2faff8fe98e4185ca2d01957216c556d33a6fba3028
|
||||
KE2: e83812f06568d57b8cdfdcc90fe91454e21bd25dd2a1c32dd1599a2e4a4b6c35
|
||||
002076ba3df8660de4e37dd3ac120bb3f8c9a4d95931b54cf14856974424a85611150
|
||||
0ff05735be871d25c4fa25f2a65e26386fad3eda2ba1e0935628441ed18bbe8180022
|
||||
8f595ba5f6cf5b9c590bc270cbdc1b46b570b76db941ff14035630294fb8c42ae21c6
|
||||
d965b5ee07b9a86687941dc9594b3f0c92317b367fd19d168b810d7b08787319d8373
|
||||
67607662e9d545c5e5abecc469e544903a570e2efdb168bbb8603d11c8534a8d6ca09
|
||||
9313c73f909ecadd9973644203036913b162134def00fdf8b8a18dcc991d13fa13730
|
||||
2cc1adce95e6f9087f503d88e12d902006822e6da438ec22000f1e4413f30f38967bd
|
||||
8c1f3a65da5f825ec34bf0c56f7c50117388593922db7bf53b1f451f6623df88c355a
|
||||
a7fb7f9464e00c14683bbab1386ee43e59952a44b73af76d7659a81b219270f2543de
|
||||
fc1
|
||||
00205442a6f57333a332b4c6f07308f6fa846bde3ed27425820cdceeeb935924a9030
|
||||
16c6bb9021b9833c788dd25994d3ce7f3811338744fd6dc556e037585783444c00022
|
||||
e9b28440a1dc99cca7513e8eb754d427caf8515642b45a92c73838c043fc316deeb83
|
||||
deface81589bc8e5c2c767b5ab79218834fbf4fa4f87cf23775aa54633ed75665cd88
|
||||
f451e044cac1b282d890269476d1ac18ff9a4c0cb832e1143ffa7d447aa4997137a8f
|
||||
a0d4baf7052a499bf877057f9404e03c889d641a0d7c807b6a51882be40ef93bf7c6e
|
||||
dd43d4ed9f52fa19827649b819de39c52a2243e985b75d62000f13aed85ae30aee2f8
|
||||
9ac5e1c5dd53609b890267ef2d765bb56000bc704c2ba4e4256107befee6655cdb084
|
||||
64e6c75d8b251642e0d721b3fce38f245568b50e7f6c98825d54cc1a26d6eafadcc1d
|
||||
344
|
||||
KE1: b68e0e356f8490fa9c3bed952e16cc02db21eda686b3c484f3d9d912caa41f76
|
||||
1a7c15f8ca50bb7a8d654035ad59488a33758b80fc1cc1fa7cc4d9250c00f56700096
|
||||
8656c6c6f20626f62408c2a2025080d6507b6250f3dc1ac420c37134bf14d7b1be542
|
||||
c4d8cfd64a52
|
||||
75a1ad27ab77578bc08b44c4318f09b31d53145c9ba3b42abf0ea08a781277a600096
|
||||
8656c6c6f20626f62484e47e31b3132f4ee512e41805a1690891111a7b885bc526198
|
||||
22c14cabf360
|
||||
"#,
|
||||
r#"
|
||||
Group: ristretto255
|
||||
EnvelopeMode: 01
|
||||
EnvelopeMode: 02
|
||||
OPRF: 0001
|
||||
SlowHash: Identity
|
||||
Hash: SHA512
|
||||
server_nonce: be1b6a9ee06b76c648efd2e57300cae3418a2137ee3abcfa018431e
|
||||
e50876be4
|
||||
server_nonce: 0f3a6da8b667bc7a383c987586bee749c5f2787691baca68757e78b
|
||||
6128b0a0f
|
||||
oprf_key: 89c61a42c8191a5ca41f2fe959843d333bcf43173b7de4c5c119e0e0d8b
|
||||
0e707
|
||||
password: 436f7272656374486f72736542617474657279537461706c65
|
||||
blind_login: e6d0f1d89ad552e383d6c6f4e8598cc3037d6e274d22da3089e7afbd
|
||||
4171ea02
|
||||
server_private_keyshare: 79450906dc147d9b73edf5c98f7d1970ebcc825c474c
|
||||
ecddc671f3290038c205
|
||||
client_nonce: 79a442d9fbebbd244e27fd10ea255dcec9f43e9b2c6a33575eb3377
|
||||
5b081d77e
|
||||
server_private_keyshare: 70c944dcb7f4dddde168ecb48dd9488c62b6fc7e9bb4
|
||||
2a16d291afca9dd25b07
|
||||
client_nonce: 480917b09c6720680b4a7a0ba9f54b69d870f640a4a7994b47ad07d
|
||||
1a95c984f
|
||||
server_info: 6772656574696e677320616c696365
|
||||
server_identity: 76ba3df8660de4e37dd3ac120bb3f8c9a4d95931b54cf1485697
|
||||
4424a8561115
|
||||
server_identity: 5442a6f57333a332b4c6f07308f6fa846bde3ed27425820cdcee
|
||||
eb935924a903
|
||||
client_info: 68656c6c6f20626f62
|
||||
client_private_keyshare: 46124f54f47fec6b66c53e4154475d27a0e046c5d1c8
|
||||
54b2f3680defdff14a0e
|
||||
envelope_nonce: f627cf8e027b5fca94ba970dc06866b79d5914abb16526835bbbd
|
||||
6c46d705cf2
|
||||
server_public_key: 76ba3df8660de4e37dd3ac120bb3f8c9a4d95931b54cf14856
|
||||
974424a8561115
|
||||
client_identity: fcca4fd8732b9887f566bbdcdb738c884f5390b360f43b5b3a4b
|
||||
81b3bb7e060d
|
||||
client_private_keyshare: a4ba6cb7e16ab76eccdb4c0b9261eedd426d7863f00b
|
||||
fc4a0e09476d3121e70c
|
||||
envelope_nonce: e38fb444afe3df13ae05e6876d10eca7661196375518eb66d7dee
|
||||
b8cfb42d13f
|
||||
server_public_key: 5442a6f57333a332b4c6f07308f6fa846bde3ed27425820cdc
|
||||
eeeb935924a903
|
||||
client_identity: b2d1b10f3741a8efef3139f4d2889f2b11f776b79b9aa2c3efca
|
||||
ba4f1c4ae861
|
||||
blind_registration: 019cbd1d7420292528f8cdd62f339fdabb602f04a95dac9db
|
||||
cec831b8c681a09
|
||||
client_public_key: fcca4fd8732b9887f566bbdcdb738c884f5390b360f43b5b3a
|
||||
4b81b3bb7e060d
|
||||
client_private_key: 31aca12a23a2a03db43c91fafe6d32589e2d8f09d8004d605
|
||||
0ec275317cc7f08
|
||||
client_keyshare: 5a7396b6e6e0dbb1690ba3b69061ba864fda0c2c078520f01804
|
||||
ef15c0b25d56
|
||||
server_keyshare: ea25f0b5ed03ec29b5eaacf21dde7d4c1fcb4e34ddb2d7c6e4a7
|
||||
1b6d10e3d870
|
||||
server_private_key: ccde5849510d7175da028ccccba666e446b9418cf7ba9383b
|
||||
9530c75474bcb04
|
||||
auth_key: 3f5312f1c60350f5c46ab368434035f5740eef83a6d5cbc7ed3720fb78a
|
||||
c32a5ea9fc734296efc9167350492903c449d85ac774b05f37efcc3ea0bcd9c600f55
|
||||
server_mac_key: 341d064d83d7415f28f9528771f10d768891ac552409d44ee7324
|
||||
8eed0ed4b58f48ac7406fe8c7fce9cb13029bc30d4e2bc48711fe5932b499a55cb7c1
|
||||
85ce1b
|
||||
envelope: 01f627cf8e027b5fca94ba970dc06866b79d5914abb16526835bbbd6c46
|
||||
d705cf20022ceffb2fded3ff3dfd323ef4411cc213014316463bdd6692907cd4caffd
|
||||
885530d0d9ceb917641b2550623727461b647b81b1e81ae67fcb0f57ad93175306ff3
|
||||
26b1ec66433a67ed4da46f1cb54c80c24cf805f3df77a2b81c7f5fda0bcb06f093fa9
|
||||
prk: 8923bf6277c4593732d3cdfaa559f531acd20e5cbec5bc180ddf6795d7a4d7ab
|
||||
a39404eed4f94adcf25c84d6e8764fb9bb943db894ac9655fed08b68097de0f9
|
||||
client_mac_key: 37ffae79ea8bd0b83884ca45e65ce63d4a4210a39d8c158e8772b
|
||||
31fa96a9e174b6badeb15454a14ac46ce4f758a1c9fe1748b7b598c7cb6c7431dbac4
|
||||
448b45
|
||||
pseudorandom_pad: cedf83514c15d07d731e5b788036df5d2669fa4e32dfb1294aa
|
||||
d1c43dadb42fcafd1
|
||||
handshake_encrypt_key: 7eec22c81178c6f91176961bc78ccb8a9459f9a54c565b
|
||||
f44ab8d2445074bd994672f02e8d7a9974722acfca87a56ffbed3d4092d4ef5e8941c
|
||||
5b117227e07d9
|
||||
handshake_secret: cc5ce99088b2459ed11e6664e479c19d285878dc0961c47e741
|
||||
221029f9ca3df00b2cd35b643a263a872e49de7f6bb95d68cb5793d36087b1d6a0b3c
|
||||
7565f3c8
|
||||
client_public_key: b2d1b10f3741a8efef3139f4d2889f2b11f776b79b9aa2c3ef
|
||||
caba4f1c4ae861
|
||||
client_private_key: f0f56cfb488649fe28691dd9aa5dc9ff4c0e6028075baa3c5
|
||||
615398a2cb12304
|
||||
client_keyshare: 4ae7d50bb80cc8f5034d36c1c27edc30caca0983677a941bc0ac
|
||||
e5e10b18300a
|
||||
server_keyshare: a2e9e0809b270a1d5c8208f3498a3188538265e6a9e6b274cb38
|
||||
c4c5d9b1792d
|
||||
server_private_key: d63d709e3a739a128929a9f289ff263fdcbc457f2f47f7c43
|
||||
ccafbbfee72290c
|
||||
auth_key: 4c7c0ae950ad7e9c518266f953d4a01bd2232695f92fb028aa6c124996e
|
||||
31a205f621305fd4997edf8a5fce04a51252ba8430227c134b81d7093a58e01c70752
|
||||
server_mac_key: 974bde939ef1d30ba29f9ec2addcaff1eeb105a1f534e04113f9f
|
||||
0b5c3b9a0797e3fa5f7006e63dfb2b0ce74d002bd1161767c361507bfb1fa0fed5063
|
||||
1cdcb7
|
||||
envelope: 02e38fb444afe3df13ae05e6876d10eca7661196375518eb66d7deeb8cf
|
||||
b42d13f00227ed4654d4452340f26c6304dceeeb1fddb142fcd91b3b26ecd566d7688
|
||||
095f9478a721e5a592be9dd3bda76ed97421819aca4a30752813223d33bc7ea443be9
|
||||
76754605116278c7fffda4de142674ed154f540bd3285080637eb4b929e1378336b11
|
||||
prk: e3bb74ca5f88a95571578e921489e1b6119b438e4efce6e955ae9b6453f24aa4
|
||||
e3a34fa22bc5f470cfc134ca0784a9cd7df64be46ff3b325fc19f4009979bf2e
|
||||
client_mac_key: 1c55ecba64d98dc2db8f45faa72b8fdd63cad8677b8665cc575cf
|
||||
8ad36ef38ec63c9dfc5552007573215983f55d8f5cfa1651da8417e3f27094dde5254
|
||||
7f5b89
|
||||
pseudorandom_pad: 7ef495b828a97c896f381824d3371ba012eb63c3f19bb535676
|
||||
a3b63b18373255ba3
|
||||
handshake_encrypt_key: 0852fb826109073be6e7c065b6e2d1f872c16f9977c177
|
||||
cd2f945b26bb933fe6252f226f40483f7aa52f545f801d1e4430f30f80fd42070494e
|
||||
a77fdcecd6595
|
||||
handshake_secret: bfd3bfbe451520880975d0e568cbd3b5155b23c02de504fccb9
|
||||
dd5a8195266cd94d49d040530b3d6b0a585d542eb24da708a2b6f6dc34dee4652d0c1
|
||||
c62c4e59
|
||||
registration_response: 088ac01ebf5700f0c96bc2988509343cb7e2dd6f0df820
|
||||
d0fb807faa11a26f56002076ba3df8660de4e37dd3ac120bb3f8c9a4d95931b54cf14
|
||||
856974424a8561115
|
||||
export_key: 38b7c0fc66819d9cd51e0e0051d87e159c2be9829f3e2c2ad42560b12
|
||||
b7b7950588be9bf8db36bfd9fe26ff55a57e42a5345ee1fa9734f78c8e4e427ede4ee
|
||||
9e
|
||||
registration_upload: 0020fcca4fd8732b9887f566bbdcdb738c884f5390b360f4
|
||||
3b5b3a4b81b3bb7e060d01f627cf8e027b5fca94ba970dc06866b79d5914abb165268
|
||||
35bbbd6c46d705cf20022ceffb2fded3ff3dfd323ef4411cc213014316463bdd66929
|
||||
07cd4caffd885530d0d9ceb917641b2550623727461b647b81b1e81ae67fcb0f57ad9
|
||||
3175306ff326b1ec66433a67ed4da46f1cb54c80c24cf805f3df77a2b81c7f5fda0bc
|
||||
b06f093fa9
|
||||
d0fb807faa11a26f5600205442a6f57333a332b4c6f07308f6fa846bde3ed27425820
|
||||
cdceeeb935924a903
|
||||
export_key: 0effa605dc47ba4fe565c423b782b8b6697b26ee2ede7059b0e17510d
|
||||
f8b11554ce053409671480a56ffbe77b91edc95205c213caeaf9dcb0841790ff834a0
|
||||
09
|
||||
registration_upload: 0020b2d1b10f3741a8efef3139f4d2889f2b11f776b79b9a
|
||||
a2c3efcaba4f1c4ae86102e38fb444afe3df13ae05e6876d10eca7661196375518eb6
|
||||
6d7deeb8cfb42d13f00227ed4654d4452340f26c6304dceeeb1fddb142fcd91b3b26e
|
||||
cd566d7688095f9478a721e5a592be9dd3bda76ed97421819aca4a30752813223d33b
|
||||
c7ea443be976754605116278c7fffda4de142674ed154f540bd3285080637eb4b929e
|
||||
1378336b11
|
||||
registration_request: c8d2e9ba503bf3f8821226653314427edb1ec8a3ecc94a5
|
||||
dfbbe33d59d07b645
|
||||
session_key: db9fa3c0bec6ce623b1b124b843c5b8a8d79f93247396eed72e8c06a
|
||||
dba2d5389692f988d65e3adb0d59ed477e37fab31633daa514780522ada541eb354d7
|
||||
d49
|
||||
KE3: 3e2538f0a28344ba9db33e55270e1db37fedde130e13b088bad31239e3bbf358
|
||||
7922f8039e205e842f2a012f8db39cb66994b9970363d24f128b882b2b696724
|
||||
session_key: 8dc21ff264f2774de95955d35544ba314e92d07f4a3b32c89ead5e70
|
||||
c83ac4c0221deadd34ed11d43fc4d3651aec612d696c63979c96bf1ddd1ee44da5d0c
|
||||
d68
|
||||
KE3: c178e45ed9b314653685cdbf5f7730e3e40f8652ceb9b10f47d1c784fdd75dd1
|
||||
07c4ae3f7683de5a692359178c8f13f41a043fc1dcfc14b1fb7cb411514efc6c
|
||||
KE2: 5079b16709b195b3b63257b419efb752bd0603170160fa72b828ce9ff9209c0c
|
||||
002076ba3df8660de4e37dd3ac120bb3f8c9a4d95931b54cf14856974424a85611150
|
||||
1f627cf8e027b5fca94ba970dc06866b79d5914abb16526835bbbd6c46d705cf20022
|
||||
ceffb2fded3ff3dfd323ef4411cc213014316463bdd6692907cd4caffd885530d0d9c
|
||||
eb917641b2550623727461b647b81b1e81ae67fcb0f57ad93175306ff326b1ec66433
|
||||
a67ed4da46f1cb54c80c24cf805f3df77a2b81c7f5fda0bcb06f093fa9be1b6a9ee06
|
||||
b76c648efd2e57300cae3418a2137ee3abcfa018431ee50876be4ea25f0b5ed03ec29
|
||||
b5eaacf21dde7d4c1fcb4e34ddb2d7c6e4a71b6d10e3d870000f853360d8962c60208
|
||||
1c1a7f11e0ab10b045d752511f9254a95e390e72b9c60f073c85bf789649883a1c712
|
||||
6b1150e6db4607ac5491833b25f91211ab4e7fc292912562f1397c15e6e91a4972b00
|
||||
052
|
||||
00205442a6f57333a332b4c6f07308f6fa846bde3ed27425820cdceeeb935924a9030
|
||||
2e38fb444afe3df13ae05e6876d10eca7661196375518eb66d7deeb8cfb42d13f0022
|
||||
7ed4654d4452340f26c6304dceeeb1fddb142fcd91b3b26ecd566d7688095f9478a72
|
||||
1e5a592be9dd3bda76ed97421819aca4a30752813223d33bc7ea443be976754605116
|
||||
278c7fffda4de142674ed154f540bd3285080637eb4b929e1378336b110f3a6da8b66
|
||||
7bc7a383c987586bee749c5f2787691baca68757e78b6128b0a0fa2e9e0809b270a1d
|
||||
5c8208f3498a3188538265e6a9e6b274cb38c4c5d9b1792d000f5a1a0b34573bf728b
|
||||
14f53485f3bf62fd91154dc9ca01b21945b2204f96adc87bd80e8283ecf3522b6d893
|
||||
7527f2e9b9782a94fedab0fa304590d1d4f03d72fb1664fca1523a3be95f6c3a97d0a
|
||||
2ed
|
||||
KE1: 7024ca0d5423176294fbb9ca968d8ce3fc879a231f1ceef69e672c89e02ded59
|
||||
79a442d9fbebbd244e27fd10ea255dcec9f43e9b2c6a33575eb33775b081d77e00096
|
||||
8656c6c6f20626f625a7396b6e6e0dbb1690ba3b69061ba864fda0c2c078520f01804
|
||||
ef15c0b25d56
|
||||
480917b09c6720680b4a7a0ba9f54b69d870f640a4a7994b47ad07d1a95c984f00096
|
||||
8656c6c6f20626f624ae7d50bb80cc8f5034d36c1c27edc30caca0983677a941bc0ac
|
||||
e5e10b18300a
|
||||
"#,
|
||||
];
|
||||
|
||||
@@ -307,8 +307,8 @@ fn decode(values: &Value, key: &str) -> Option<Vec<u8>> {
|
||||
fn populate_test_vectors(values: &Value) -> TestVectorParameters {
|
||||
TestVectorParameters {
|
||||
envelope_mode: match values["EnvelopeMode"].as_str() {
|
||||
Some("00") => EnvelopeMode::Base,
|
||||
Some("01") => EnvelopeMode::CustomIdentifier,
|
||||
Some("01") => EnvelopeMode::Base,
|
||||
Some("02") => EnvelopeMode::CustomIdentifier,
|
||||
_ => panic!("Could not match envelope mode"),
|
||||
},
|
||||
client_public_key: parse!(values, "client_public_key"),
|
||||
|
||||
Reference in New Issue
Block a user