// SPDX-License-Identifier: MIT OR Apache-2.0 // Copyright (c) VexaHub and contributors. // Copyright (c) Meta Platforms, Inc. and affiliates. //! The OPAQUE test vectors taken from Appendix C of //! [RFC 9807](https://www.rfc-editor.org/rfc/rfc9807.txt) pub(crate) static VECTORS: &str = r#" C.1. Real Test Vectors C.1.1. OPAQUE-3DH Real Test Vector 1 C.1.1.1. Configuration OPRF: ristretto255-SHA512 Hash: SHA512 KSF: Identity KDF: HKDF-SHA512 MAC: HMAC-SHA512 Group: ristretto255 Context: 4f50415155452d504f43 Nh: 64 Npk: 32 Nsk: 32 Nm: 64 Nx: 64 Nok: 32 C.1.1.2. Input Values oprf_seed: f433d0227b0b9dd54f7c4422b600e764e47fb503f1f9a0f0a47c6606b0 54a7fdc65347f1a08f277e22358bbabe26f823fca82c7848e9a75661f4ec5d5c1989e f credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 envelope_nonce: ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d2 3ba7a38dfec masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 f612fdfc6d server_private_key: 47451a85372f8b3537e249d7b54188091fb18edde78094b43 e2ba42b5eb89f0d server_public_key: b2fe7af9f48cc502d016729d2fe25cdd433f2c4bc904660b2a 382c9b79df1a78 server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e 138e3d4a1 client_nonce: da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb38 0cae6a6cc client_keyshare_seed: 82850a697b42a505f5b68fcdafce8c31f0af2b581f063cf 1091933541936304b server_keyshare_seed: 05a4f54206eef1ba2f615bc0aa285cb22f26d1153b5b40a 1e85ff80da12f982f blind_registration: 76cfbfe758db884bebb33582331ba9f159720ca8784a2a070 a265d9c2d6abe01 blind_login: 6ecc102d2e7a7cf49617aad7bbe188556792d4acd60a1a8a8d2b65d4 b0790308 C.1.1.3. Intermediate Values client_public_key: 76a845464c68a5d2f7e442436bb1424953b17d3e2e289ccbac cafb57ac5c3675 auth_key: 6cd32316f18d72a9a927a83199fa030663a38ce0c11fbaef82aa9003773 0494fc555c4d49506284516edd1628c27965b7555a4ebfed2223199f6c67966dde822 randomized_password: aac48c25ab036e30750839d31d6e73007344cb1155289fb7 d329beb932e9adeea73d5d5c22a0ce1952f8aba6d66007615cd1698d4ac85ef1fcf15 0031d1435d9 envelope: ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d23ba7a3 8dfec634b0f5b96109c198a8027da51854c35bee90d1e1c781806d07d49b76de6a28b 8d9e9b6c93b9f8b64d16dddd9c5bfb5fea48ee8fd2f75012a8b308605cdd8ba5 handshake_secret: 81263cb85a0cfa12450f0f388de4e92291ec4c7c7a0878b6245 50ff528726332f1298fc6cc822a432c89504347c7a2ccd70316ae3da6a15e0399e6db 3f7c1b12 server_mac_key: 0d36b26cfe38f51f804f0a9361818f32ee1ce2a4e5578653b5271 84af058d3b2d8075c296fd84d24677913d1baa109290cd81a13ed383f9091a3804e65 298dfc client_mac_key: 91750adbac54a5e8e53b4c233cc8d369fe83b0de1b6a3cd85575e eb0bb01a6a90a086a2cf5fe75fff2a9379c30ba9049510a33b5b0b1444a88800fc3ee e2260d oprf_key: 5d4c6a8b7c7138182afb4345d1fae6a9f18a1744afbcc3854f8f5a2b4b4 c6d05 C.1.1.4. Output Values registration_request: 5059ff249eb1551b7ce4991f3336205bde44a105a032e74 7d21bf382e75f7a71 registration_response: 7408a268083e03abc7097fc05b587834539065e86fb0c7 b6342fcf5e01e5b019b2fe7af9f48cc502d016729d2fe25cdd433f2c4bc904660b2a3 82c9b79df1a78 registration_upload: 76a845464c68a5d2f7e442436bb1424953b17d3e2e289ccb accafb57ac5c36751ac5844383c7708077dea41cbefe2fa15724f449e535dd7dd562e 66f5ecfb95864eadddec9db5874959905117dad40a4524111849799281fefe3c51fa8 2785c5ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d23ba7a38dfe c634b0f5b96109c198a8027da51854c35bee90d1e1c781806d07d49b76de6a28b8d9e 9b6c93b9f8b64d16dddd9c5bfb5fea48ee8fd2f75012a8b308605cdd8ba5 KE1: c4dedb0ba6ed5d965d6f250fbe554cd45cba5dfcce3ce836e4aee778aa3cd44d da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb380cae6a6cc6e29b ee50701498605b2c085d7b241ca15ba5c32027dd21ba420b94ce60da326 KE2: 7e308140890bcde30cbcea28b01ea1ecfbd077cff62c4def8efa075aabcbb471 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6dd6ec6 0bcdb26dc455ddf3e718f1020490c192d70dfc7e403981179d8073d1146a4f9aa1ced 4e4cd984c657eb3b54ced3848326f70331953d91b02535af44d9fedc80188ca46743c 52786e0382f95ad85c08f6afcd1ccfbff95e2bdeb015b166c6b20b92f832cc6df01e0 b86a7efd92c1c804ff865781fa93f2f20b446c8371b671cd9960ecef2fe0d0f749498 6fa3d8b2bb01963537e60efb13981e138e3d4a1c4f62198a9d6fa9170c42c3c71f197 1b29eb1d5d0bd733e40816c91f7912cc4a660c48dae03e57aaa38f3d0cffcfc21852e bc8b405d15bd6744945ba1a93438a162b6111699d98a16bb55b7bdddfe0fc5608b23d a246e7bd73b47369169c5c90 KE3: 4455df4f810ac31a6748835888564b536e6da5d9944dfea9e34defb9575fe5e2 661ef61d2ae3929bcf57e53d464113d364365eb7d1a57b629707ca48da18e442 export_key: 1ef15b4fa99e8a852412450ab78713aad30d21fa6966c9b8c9fb3262a 970dc62950d4dd4ed62598229b1b72794fc0335199d9f7fcc6eaedde92cc04870e63f 16 session_key: 42afde6f5aca0cfa5c163763fbad55e73a41db6b41bc87b8e7b62214 a8eedc6731fa3cb857d657ab9b3764b89a84e91ebcb4785166fbb02cedfcbdfda215b 96f C.1.2. OPAQUE-3DH Real Test Vector 2 C.1.2.1. Configuration OPRF: ristretto255-SHA512 Hash: SHA512 KSF: Identity KDF: HKDF-SHA512 MAC: HMAC-SHA512 Group: ristretto255 Context: 4f50415155452d504f43 Nh: 64 Npk: 32 Nsk: 32 Nm: 64 Nx: 64 Nok: 32 C.1.2.2. Input Values client_identity: 616c696365 server_identity: 626f62 oprf_seed: f433d0227b0b9dd54f7c4422b600e764e47fb503f1f9a0f0a47c6606b0 54a7fdc65347f1a08f277e22358bbabe26f823fca82c7848e9a75661f4ec5d5c1989e f credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 envelope_nonce: ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d2 3ba7a38dfec masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 f612fdfc6d server_private_key: 47451a85372f8b3537e249d7b54188091fb18edde78094b43 e2ba42b5eb89f0d server_public_key: b2fe7af9f48cc502d016729d2fe25cdd433f2c4bc904660b2a 382c9b79df1a78 server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e 138e3d4a1 client_nonce: da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb38 0cae6a6cc client_keyshare_seed: 82850a697b42a505f5b68fcdafce8c31f0af2b581f063cf 1091933541936304b server_keyshare_seed: 05a4f54206eef1ba2f615bc0aa285cb22f26d1153b5b40a 1e85ff80da12f982f blind_registration: 76cfbfe758db884bebb33582331ba9f159720ca8784a2a070 a265d9c2d6abe01 blind_login: 6ecc102d2e7a7cf49617aad7bbe188556792d4acd60a1a8a8d2b65d4 b0790308 C.1.2.3. Intermediate Values client_public_key: 76a845464c68a5d2f7e442436bb1424953b17d3e2e289ccbac cafb57ac5c3675 auth_key: 6cd32316f18d72a9a927a83199fa030663a38ce0c11fbaef82aa9003773 0494fc555c4d49506284516edd1628c27965b7555a4ebfed2223199f6c67966dde822 randomized_password: aac48c25ab036e30750839d31d6e73007344cb1155289fb7 d329beb932e9adeea73d5d5c22a0ce1952f8aba6d66007615cd1698d4ac85ef1fcf15 0031d1435d9 envelope: ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d23ba7a3 8dfec1ac902dc5589e9a5f0de56ad685ea8486210ef41449cd4d8712828913c5d2b68 0b2b3af4a26c765cff329bfb66d38ecf1d6cfa9e7a73c222c6efe0d9520f7d7c handshake_secret: 5e723bed1e5276de2503419eba9da61ead573109c4012268323 98c7e08155b885bfe7bc93451f9d887a0c1d0c19233e40a8e47b347a9ac3907f94032 a4cff64f server_mac_key: dad66bb9251073d17a13f8e5500f36e5998e3cde520ca0738e708 5af62fd97812eb79a745c94d0bf8a6ac17f980cf435504cf64041eeb6bb237796d2c7 f81e9a client_mac_key: f816fe2914f7c5b29852385615d7c7f31ac122adf202d7ccd4976 06d7aabd48930323d1d02b1cc9ecd456c4de6f46c7950becb18bffd921dd5876381b5 486ffe oprf_key: 5d4c6a8b7c7138182afb4345d1fae6a9f18a1744afbcc3854f8f5a2b4b4 c6d05 C.1.2.4. Output Values registration_request: 5059ff249eb1551b7ce4991f3336205bde44a105a032e74 7d21bf382e75f7a71 registration_response: 7408a268083e03abc7097fc05b587834539065e86fb0c7 b6342fcf5e01e5b019b2fe7af9f48cc502d016729d2fe25cdd433f2c4bc904660b2a3 82c9b79df1a78 registration_upload: 76a845464c68a5d2f7e442436bb1424953b17d3e2e289ccb accafb57ac5c36751ac5844383c7708077dea41cbefe2fa15724f449e535dd7dd562e 66f5ecfb95864eadddec9db5874959905117dad40a4524111849799281fefe3c51fa8 2785c5ac13171b2f17bc2c74997f0fce1e1f35bec6b91fe2e12dbd323d23ba7a38dfe c1ac902dc5589e9a5f0de56ad685ea8486210ef41449cd4d8712828913c5d2b680b2b 3af4a26c765cff329bfb66d38ecf1d6cfa9e7a73c222c6efe0d9520f7d7c KE1: c4dedb0ba6ed5d965d6f250fbe554cd45cba5dfcce3ce836e4aee778aa3cd44d da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb380cae6a6cc6e29b ee50701498605b2c085d7b241ca15ba5c32027dd21ba420b94ce60da326 KE2: 7e308140890bcde30cbcea28b01ea1ecfbd077cff62c4def8efa075aabcbb471 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6dd6ec6 0bcdb26dc455ddf3e718f1020490c192d70dfc7e403981179d8073d1146a4f9aa1ced 4e4cd984c657eb3b54ced3848326f70331953d91b02535af44d9fea502150b67fe367 95dd8914f164e49f81c7688a38928372134b7dccd50e09f8fed9518b7b2f94835b3c4 fe4c8475e7513f20eb97ff0568a39caee3fd6251876f71cd9960ecef2fe0d0f749498 6fa3d8b2bb01963537e60efb13981e138e3d4a1c4f62198a9d6fa9170c42c3c71f197 1b29eb1d5d0bd733e40816c91f7912cc4a292371e7809a9031743e943fb3b56f51de9 03552fc91fba4e7419029951c3970b2e2f0a9dea218d22e9e4e0000855bb6421aa361 0d6fc0f4033a6517030d4341 KE3: 7a026de1d6126905736c3f6d92463a08d209833eb793e46d0f7f15b3e0f62c76 43763c02bbc6b8d3d15b63250cae98171e9260f1ffa789750f534ac11a0176d5 export_key: 1ef15b4fa99e8a852412450ab78713aad30d21fa6966c9b8c9fb3262a 970dc62950d4dd4ed62598229b1b72794fc0335199d9f7fcc6eaedde92cc04870e63f 16 session_key: ae7951123ab5befc27e62e63f52cf472d6236cb386c968cc47b7e34f 866aa4bc7638356a73cfce92becf39d6a7d32a1861f12130e824241fe6cab34fbd471 a57 C.1.3. OPAQUE-3DH Real Test Vector 3 C.1.3.1. Configuration OPRF: ristretto255-SHA512 Hash: SHA512 KSF: Identity KDF: HKDF-SHA512 MAC: HMAC-SHA512 Group: curve25519 Context: 4f50415155452d504f43 Nh: 64 Npk: 32 Nsk: 32 Nm: 64 Nx: 64 Nok: 32 C.1.3.2. Input Values oprf_seed: a78342ab84d3d30f08d5a9630c79bf311c31ed7f85d9d4959bf492ec67 a0eec8a67dfbf4497248eebd49e878aab173e5e4ff76354288fdd53e949a5f7c9f7f1 b credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 envelope_nonce: 40d6b67fdd7da7c49894750754514dbd2070a407166bd2a5237cc a9bf44d6e0b masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 f612fdfc6d server_private_key: c06139381df63bfc91c850db0b9cfbec7a62e86d80040a41a a7725bf0e79d564 server_public_key: a41e28269b4e97a66468cc00c5a57753e192e1527669897706 88aa90486ef031 server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e 138e3d4a1 client_nonce: da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb38 0cae6a6cc client_keyshare_seed: 82850a697b42a505f5b68fcdafce8c31f0af2b581f063cf 1091933541936304b server_keyshare_seed: 05a4f54206eef1ba2f615bc0aa285cb22f26d1153b5b40a 1e85ff80da12f982f blind_registration: c575731ffe1cb0ca5ba63b42c4699767b8b9ab78ba39316ee 04baddb2034a70a blind_login: 6ecc102d2e7a7cf49617aad7bbe188556792d4acd60a1a8a8d2b65d4 b0790308 C.1.3.3. Intermediate Values client_public_key: 0936ea94ab030ec332e29050d266c520e916731a052d05ced7 e0cfe751142b48 auth_key: 7e880ab484f750e80e6f839d975aff476070ce65066d85ea62523d1d576 4739d91307fac47186a4ab935e6a5c7f70cb47faa9473311947502c022cc67ae9440c randomized_password: 3a602c295a9c323d9362fe286f104567ed6862b25dbe30fa da844f19e41cf40047424b7118e15dc2c1a815a70fea5c8de6c30aa61440cd4b4b5e8 f3963fbb2e1 envelope: 40d6b67fdd7da7c49894750754514dbd2070a407166bd2a5237cca9bf44 d6e0b20c1e81fef28e92e897ca8287d49a55075b47c3988ff0fff367d79a3e350ccac 150b4a3ff48b4770c8e84e437b3d4e68d2b95833f7788f7eb93fa6a8afb85ecb handshake_secret: 178c8c15e025252380c3edb1c6ad8ac52573b38d536099e2f86 5786f5e31c642608550c0c6f281c37ce259667dd72768af31630e0eb36f1096a2e642 1c2aa163 server_mac_key: f3c6a8e069c54bb0d8905139f723c9e22f5c662dc08848243a665 4c8223800019b9823523d84da2ef67ca1c14277630aace464c113be8a0a658c39e181 a8bb71 client_mac_key: b1ee7ce52dbd0ab72872924ff11596cb196bbabfc319e74aca78a de54a0f74dd15dcf5621f6d2e79161b0c9b701381d494836dedbb86e584a65b34267a 370e01 oprf_key: 62ef7f7d9506a14600c34f642aaf6ef8019cc82a6755db4fded5248ea14 6030a C.1.3.4. Output Values registration_request: 26f3dbfd76b8e5f85b4da604f42889a7d4b1bc919f65538 1a67de02c59fd5436 registration_response: 506e8f1b89c098fb89b5b6210a05f7898cafdaea221761 e8d5272fc39e0f9f08a41e28269b4e97a66468cc00c5a57753e192e15276698977068 8aa90486ef031 registration_upload: 0936ea94ab030ec332e29050d266c520e916731a052d05ce d7e0cfe751142b486d23c6ed818882f9bdfdcf91389fcbc0b7a3faf92bd0bd6be4a1e 7730277b694fc7c6ba327fbe786af18487688e0f7c148bbd54dc2fc80c28e7a976d9e f53c3540d6b67fdd7da7c49894750754514dbd2070a407166bd2a5237cca9bf44d6e0 b20c1e81fef28e92e897ca8287d49a55075b47c3988ff0fff367d79a3e350ccac150b 4a3ff48b4770c8e84e437b3d4e68d2b95833f7788f7eb93fa6a8afb85ecb KE1: c4dedb0ba6ed5d965d6f250fbe554cd45cba5dfcce3ce836e4aee778aa3cd44d da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb380cae6a6cc10a83 b9117d3798cb2957fbdb0268a0d63dbf9d66bde5c00c78affd80026c911 KE2: 9a0e5a1514f62e005ea098b0d8cf6750e358c4389e6add1c52aed9500fa19d00 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6d22cc3 1127d6f0096755be3c3d2dd6287795c317aeea10c9485bf4f419a786642c19a8f151c eb5e8767d175248c62c017de94057398d28bf0ed00d1b50ee4f812fd9afddf98af8cd 58067ca43b0633b6cadd0e9d987f89623fed4d3583bdf6910c425600e90dab3c6b351 3188a465461a67f6bbc47aeba808f7f7e2c6d66f5c3271cd9960ecef2fe0d0f749498 6fa3d8b2bb01963537e60efb13981e138e3d4a141f55f0bef355cfb34ccd468fdacad 75865ee7efef95f4cb6c25d477f720502676f06a3b806da262139bf3fa76a1090b94d ac78bc3bc6f8747d5b35acf94eff3ec2ebe7d49b8cf16be64120b279fe92664e47be5 da7e60f08f12e91192652f79 KE3: 550e923829a544496d8316c490da2b979b78c730dd75be3a17f237a26432c19f bba54b6a0467b1c22ecbd6794bc5fa5b04215ba1ef974c6b090baa42c5bb984f export_key: 9dec51d6d0f6ce7e4345f10961053713b07310cc2e45872f57bbd2fe5 070fdf0fb5b77c7ddaa2f3dc5c35132df7417ad7fefe0f690ad266e5a54a21d045c9c 38 session_key: fd2fdd07c1bcc88e81c1b1d1de5ad62dfdef1c0b8209ff9d671e1fac 55ce9c34d381c1fb2703ff53a797f77daccbe33047ccc167b8105171e10ec962eea20 3aa C.1.4. OPAQUE-3DH Real Test Vector 4 C.1.4.1. Configuration OPRF: ristretto255-SHA512 Hash: SHA512 KSF: Identity KDF: HKDF-SHA512 MAC: HMAC-SHA512 Group: curve25519 Context: 4f50415155452d504f43 Nh: 64 Npk: 32 Nsk: 32 Nm: 64 Nx: 64 Nok: 32 C.1.4.2. Input Values client_identity: 616c696365 server_identity: 626f62 oprf_seed: a78342ab84d3d30f08d5a9630c79bf311c31ed7f85d9d4959bf492ec67 a0eec8a67dfbf4497248eebd49e878aab173e5e4ff76354288fdd53e949a5f7c9f7f1 b credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 envelope_nonce: 40d6b67fdd7da7c49894750754514dbd2070a407166bd2a5237cc a9bf44d6e0b masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 f612fdfc6d server_private_key: c06139381df63bfc91c850db0b9cfbec7a62e86d80040a41a a7725bf0e79d564 server_public_key: a41e28269b4e97a66468cc00c5a57753e192e1527669897706 88aa90486ef031 server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e 138e3d4a1 client_nonce: da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb38 0cae6a6cc client_keyshare_seed: 82850a697b42a505f5b68fcdafce8c31f0af2b581f063cf 1091933541936304b server_keyshare_seed: 05a4f54206eef1ba2f615bc0aa285cb22f26d1153b5b40a 1e85ff80da12f982f blind_registration: c575731ffe1cb0ca5ba63b42c4699767b8b9ab78ba39316ee 04baddb2034a70a blind_login: 6ecc102d2e7a7cf49617aad7bbe188556792d4acd60a1a8a8d2b65d4 b0790308 C.1.4.3. Intermediate Values client_public_key: 0936ea94ab030ec332e29050d266c520e916731a052d05ced7 e0cfe751142b48 auth_key: 7e880ab484f750e80e6f839d975aff476070ce65066d85ea62523d1d576 4739d91307fac47186a4ab935e6a5c7f70cb47faa9473311947502c022cc67ae9440c randomized_password: 3a602c295a9c323d9362fe286f104567ed6862b25dbe30fa da844f19e41cf40047424b7118e15dc2c1a815a70fea5c8de6c30aa61440cd4b4b5e8 f3963fbb2e1 envelope: 40d6b67fdd7da7c49894750754514dbd2070a407166bd2a5237cca9bf44 d6e0bb4c0eab6143959a650c5f6b32acf162b1fbe95bb36c5c4f99df53865c4d3537d 69061d80522d772cd0efdbe91f817f6bf7259a56e20b4eb9cbe9443702f4b759 handshake_secret: 13e7dc6afa5334b9dfffe26bee3caf744ef4add176caee464cd eb3d37303b90de35a8bf095df84471ac77d705f12fe232f1571de1d6a001d3e808998 73a142dc server_mac_key: a58135acfb2bde92d506cf59119729a6404ad94eba294e4b52a63 baf58cfe03f21bcf735222c7f2c27a60bd958be7f6aed50dc03a78f64e7ae4ac1ff07 1b95aa client_mac_key: 1e1a8ba156aadc4a302f707d2193c9dab477b355f430d450dd407 ce40dc75613f76ec33dec494f8a6bfdcf951eb060dac33e6572c693954fe92e33730c 9ab0a2 oprf_key: 62ef7f7d9506a14600c34f642aaf6ef8019cc82a6755db4fded5248ea14 6030a C.1.4.4. Output Values registration_request: 26f3dbfd76b8e5f85b4da604f42889a7d4b1bc919f65538 1a67de02c59fd5436 registration_response: 506e8f1b89c098fb89b5b6210a05f7898cafdaea221761 e8d5272fc39e0f9f08a41e28269b4e97a66468cc00c5a57753e192e15276698977068 8aa90486ef031 registration_upload: 0936ea94ab030ec332e29050d266c520e916731a052d05ce d7e0cfe751142b486d23c6ed818882f9bdfdcf91389fcbc0b7a3faf92bd0bd6be4a1e 7730277b694fc7c6ba327fbe786af18487688e0f7c148bbd54dc2fc80c28e7a976d9e f53c3540d6b67fdd7da7c49894750754514dbd2070a407166bd2a5237cca9bf44d6e0 bb4c0eab6143959a650c5f6b32acf162b1fbe95bb36c5c4f99df53865c4d3537d6906 1d80522d772cd0efdbe91f817f6bf7259a56e20b4eb9cbe9443702f4b759 KE1: c4dedb0ba6ed5d965d6f250fbe554cd45cba5dfcce3ce836e4aee778aa3cd44d da7e07376d6d6f034cfa9bb537d11b8c6b4238c334333d1f0aebb380cae6a6cc10a83 b9117d3798cb2957fbdb0268a0d63dbf9d66bde5c00c78affd80026c911 KE2: 9a0e5a1514f62e005ea098b0d8cf6750e358c4389e6add1c52aed9500fa19d00 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6d22cc3 1127d6f0096755be3c3d2dd6287795c317aeea10c9485bf4f419a786642c19a8f151c eb5e8767d175248c62c017de94057398d28bf0ed00d1b50ee4f812699bff7663be3c5 d59de94d8e7e58817c7da005b39c25d25555c929e1c5cf6c1b82837b1367c839aab56 a422c0d97719426a79a16f9869cf852100597b23b5a071cd9960ecef2fe0d0f749498 6fa3d8b2bb01963537e60efb13981e138e3d4a141f55f0bef355cfb34ccd468fdacad 75865ee7efef95f4cb6c25d477f72050267cc22c87edbf3ecaca64cb33bc60dc3bfc5 51e365f0d46a7fed0e09d96f9afbb48868f5bb3c3e05a86ed8c9476fc22c58306c5a2 91be34388e09548ba9d70f39 KE3: d16344e791c3f18594d22ba068984fa18ec1e9bead662b75f66826ffd627932f cd1ec40cd01dcf5f63f4055ebe45c7717a57a833aad360256cf1e1c20c0eae1c export_key: 9dec51d6d0f6ce7e4345f10961053713b07310cc2e45872f57bbd2fe5 070fdf0fb5b77c7ddaa2f3dc5c35132df7417ad7fefe0f690ad266e5a54a21d045c9c 38 session_key: f6116d3aa0e4089a179713bad4d98ed5cb57e5443cae8d36ef78996f a60f3dc6e9fcdd63c001596b06dbc1285d80211035cc0e485506b3f7a650cbf78c5bf fc9 C.1.5. OPAQUE-3DH Real Test Vector 5 C.1.5.1. Configuration OPRF: P256-SHA256 Hash: SHA256 KSF: Identity KDF: HKDF-SHA256 MAC: HMAC-SHA256 Group: P256_XMD:SHA-256_SSWU_RO_ Context: 4f50415155452d504f43 Nh: 32 Npk: 33 Nsk: 32 Nm: 32 Nx: 32 Nok: 32 C.1.5.2. Input Values oprf_seed: 62f60b286d20ce4fd1d64809b0021dad6ed5d52a2c8cf27ae6582543a0 a8dce2 credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 envelope_nonce: a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebd cf65670e51f masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 f612fdfc6d server_private_key: c36139381df63bfc91c850db0b9cfbec7a62e86d80040a41a a7725bf0e79d5e5 server_public_key: 035f40ff9cf88aa1f5cd4fe5fd3da9ea65a4923a5594f84fd9 f2092d6067784874 server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e 138e3d4a1 client_nonce: ab3d33bde0e93eda72392346a7a73051110674bbf6b1b7ffab8be4f 91fdaeeb1 client_keyshare_seed: 633b875d74d1556d2a2789309972b06db21dfcc4f5ad51d 7e74d783b7cfab8dc server_keyshare_seed: 05a4f54206eef1ba2f615bc0aa285cb22f26d1153b5b40a 1e85ff80da12f982f blind_registration: 411bf1a62d119afe30df682b91a0a33d777972d4f2daa4b34 ca527d597078153 blind_login: c497fddf6056d241e6cf9fb7ac37c384f49b357a221eb0a802c989b9 942256c1 C.1.5.3. Intermediate Values client_public_key: 03b218507d978c3db570ca994aaf36695a731ddb2db272c817 f79746fc37ae5214 auth_key: 5bd4be1602516092dc5078f8d699f5721dc1720a49fb80d8e5c16377abd 0987b randomized_password: 06be0a1a51d56557a3adad57ba29c5510565dcd8b5078fa3 19151b9382258fb0 envelope: a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebdcf6567 0e51fad30bbcfc1f8eda0211553ab9aaf26345ad59a128e80188f035fe4924fad67b8 handshake_secret: 83a932431a8f25bad042f008efa2b07c6cd0faa8285f335b636 3546a9f9b235f server_mac_key: 13e928581febfad28855e3e7f03306d61bd69489686f621535d44 a1365b73b0d client_mac_key: afdc53910c25183b08b930e6953c35b3466276736d9de2e9c5efa f150f4082c5 oprf_key: 2dfb5cb9aa1476093be74ca0d43e5b02862a05f5d6972614d7433acdc66 f7f31 C.1.5.4. Output Values registration_request: 029e949a29cfa0bf7c1287333d2fb3dc586c41aa652f507 0d26a5315a1b50229f8 registration_response: 0350d3694c00978f00a5ce7cd08a00547e4ab5fb5fc2b2 f6717cdaa6c89136efef035f40ff9cf88aa1f5cd4fe5fd3da9ea65a4923a5594f84fd 9f2092d6067784874 registration_upload: 03b218507d978c3db570ca994aaf36695a731ddb2db272c8 17f79746fc37ae52147f0ed53532d3ae8e505ecc70d42d2b814b6b0e48156def71ea0 29148b2803aafa921f2a014513bd8a90e477a629794e89fec12d12206dde662ebdcf6 5670e51fad30bbcfc1f8eda0211553ab9aaf26345ad59a128e80188f035fe4924fad6 7b8 KE1: 037342f0bcb3ecea754c1e67576c86aa90c1de3875f390ad599a26686cdfee6e 07ab3d33bde0e93eda72392346a7a73051110674bbf6b1b7ffab8be4f91fdaeeb1022 ed3f32f318f81bab80da321fecab3cd9b6eea11a95666dfa6beeaab321280b6 KE2: 0246da9fe4d41d5ba69faa6c509a1d5bafd49a48615a47a8dd4b0823cc147648 1138fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6d2f0 c547f70deaeca54d878c14c1aa5e1ab405dec833777132eea905c2fbb12504a67dcbe 0e66740c76b62c13b04a38a77926e19072953319ec65e41f9bfd2ae26837b6ce688bf 9af2542f04eec9ab96a1b9328812dc2f5c89182ed47fead61f09f71cd9960ecef2fe0 d0f7494986fa3d8b2bb01963537e60efb13981e138e3d4a103c1701353219b53acf33 7bf6456a83cefed8f563f1040b65afbf3b65d3bc9a19b50a73b145bc87a157e8c58c0 342e2047ee22ae37b63db17e0a82a30fcc4ecf7b KE3: e97cab4433aa39d598e76f13e768bba61c682947bdcf9936035e8a3a3ebfb66e export_key: c3c9a1b0e33ac84dd83d0b7e8af6794e17e7a3caadff289fbd9dc769a 853c64b session_key: 484ad345715ccce138ca49e4ea362c6183f0949aaaa1125dc3bc3f80 876e7cd1 C.1.6. OPAQUE-3DH Real Test Vector 6 C.1.6.1. Configuration OPRF: P256-SHA256 Hash: SHA256 KSF: Identity KDF: HKDF-SHA256 MAC: HMAC-SHA256 Group: P256_XMD:SHA-256_SSWU_RO_ Context: 4f50415155452d504f43 Nh: 32 Npk: 33 Nsk: 32 Nm: 32 Nx: 32 Nok: 32 C.1.6.2. Input Values client_identity: 616c696365 server_identity: 626f62 oprf_seed: 62f60b286d20ce4fd1d64809b0021dad6ed5d52a2c8cf27ae6582543a0 a8dce2 credential_identifier: 31323334 password: 436f7272656374486f72736542617474657279537461706c65 envelope_nonce: a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebd cf65670e51f masking_nonce: 38fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80 f612fdfc6d server_private_key: c36139381df63bfc91c850db0b9cfbec7a62e86d80040a41a a7725bf0e79d5e5 server_public_key: 035f40ff9cf88aa1f5cd4fe5fd3da9ea65a4923a5594f84fd9 f2092d6067784874 server_nonce: 71cd9960ecef2fe0d0f7494986fa3d8b2bb01963537e60efb13981e 138e3d4a1 client_nonce: ab3d33bde0e93eda72392346a7a73051110674bbf6b1b7ffab8be4f 91fdaeeb1 client_keyshare_seed: 633b875d74d1556d2a2789309972b06db21dfcc4f5ad51d 7e74d783b7cfab8dc server_keyshare_seed: 05a4f54206eef1ba2f615bc0aa285cb22f26d1153b5b40a 1e85ff80da12f982f blind_registration: 411bf1a62d119afe30df682b91a0a33d777972d4f2daa4b34 ca527d597078153 blind_login: c497fddf6056d241e6cf9fb7ac37c384f49b357a221eb0a802c989b9 942256c1 C.1.6.3. Intermediate Values client_public_key: 03b218507d978c3db570ca994aaf36695a731ddb2db272c817 f79746fc37ae5214 auth_key: 5bd4be1602516092dc5078f8d699f5721dc1720a49fb80d8e5c16377abd 0987b randomized_password: 06be0a1a51d56557a3adad57ba29c5510565dcd8b5078fa3 19151b9382258fb0 envelope: a921f2a014513bd8a90e477a629794e89fec12d12206dde662ebdcf6567 0e51f4d7773a36a208a866301dbb2858e40dc5638017527cf91aef32d3848eebe0971 handshake_secret: 80bdcc498f22de492e90ee8101fcc7c101e158dd49c77f7c283 816ae329ed62f server_mac_key: 0f82432fbdb5b90daf27a91a3acc42299a9590dba1b77932c2207 b4cb3d4a157 client_mac_key: 7f629eb0b1b69979b07ca1f564b3e92ed22f07569fd1d11725d93 e46731fbe71 oprf_key: 2dfb5cb9aa1476093be74ca0d43e5b02862a05f5d6972614d7433acdc66 f7f31 C.1.6.4. Output Values registration_request: 029e949a29cfa0bf7c1287333d2fb3dc586c41aa652f507 0d26a5315a1b50229f8 registration_response: 0350d3694c00978f00a5ce7cd08a00547e4ab5fb5fc2b2 f6717cdaa6c89136efef035f40ff9cf88aa1f5cd4fe5fd3da9ea65a4923a5594f84fd 9f2092d6067784874 registration_upload: 03b218507d978c3db570ca994aaf36695a731ddb2db272c8 17f79746fc37ae52147f0ed53532d3ae8e505ecc70d42d2b814b6b0e48156def71ea0 29148b2803aafa921f2a014513bd8a90e477a629794e89fec12d12206dde662ebdcf6 5670e51f4d7773a36a208a866301dbb2858e40dc5638017527cf91aef32d3848eebe0 971 KE1: 037342f0bcb3ecea754c1e67576c86aa90c1de3875f390ad599a26686cdfee6e 07ab3d33bde0e93eda72392346a7a73051110674bbf6b1b7ffab8be4f91fdaeeb1022 ed3f32f318f81bab80da321fecab3cd9b6eea11a95666dfa6beeaab321280b6 KE2: 0246da9fe4d41d5ba69faa6c509a1d5bafd49a48615a47a8dd4b0823cc147648 1138fe59af0df2c79f57b8780278f5ae47355fe1f817119041951c80f612fdfc6d2f0 c547f70deaeca54d878c14c1aa5e1ab405dec833777132eea905c2fbb12504a67dcbe 0e66740c76b62c13b04a38a77926e19072953319ec65e41f9bfd2ae268d7f10604202 1c80300e4c6f585980cf39fc51a4a6bba41b0729f9b240c729e5671cd9960ecef2fe0 d0f7494986fa3d8b2bb01963537e60efb13981e138e3d4a103c1701353219b53acf33 7bf6456a83cefed8f563f1040b65afbf3b65d3bc9a19b84922c7e5d074838a8f27859 2c53f61fb59f031e85ad480c0c71086b871e1b24 KE3: 46833578cee137775f6be3f01b80748daac5a694101ad0e9e7025480552da56a export_key: c3c9a1b0e33ac84dd83d0b7e8af6794e17e7a3caadff289fbd9dc769a 853c64b session_key: 27766fabd8dd88ff37fbd0ef1a491e601d10d9f016c2b28c4bd1b0fb 7511a3c3 C.2. Fake Test Vectors C.2.1. OPAQUE-3DH Fake Test Vector 1 C.2.1.1. Configuration OPRF: ristretto255-SHA512 Hash: SHA512 KSF: Identity KDF: HKDF-SHA512 MAC: HMAC-SHA512 Group: ristretto255 Context: 4f50415155452d504f43 Nh: 64 Npk: 32 Nsk: 32 Nm: 64 Nx: 64 Nok: 32 C.2.1.2. Input Values client_identity: 616c696365 server_identity: 626f62 oprf_seed: 743fc168d1f826ad43738933e5adb23da6fb95f95a1b069f0daa0522d0 a78b617f701fc6aa46d3e7981e70de7765dfcd6b1e13e3369a582eb8dc456b10aa53b 0 credential_identifier: 31323334 masking_nonce: 9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c61 9e27b6e5a6 client_private_key: 2b98980aa95ab53a0f39f0291903d2fdf04b00c167f081416 9922df873002409 client_public_key: 84f43f9492e19c22d8bdaa4447cc3d4db1cdb5427a9f852c47 07921212c36251 server_private_key: c788585ae8b5ba2942b693b849be0c0426384e41977c18d2e 81fbe30fd7c9f06 server_public_key: 825f832667480f08b0c9069da5083ac4d0e9ee31b49c4e0310 031fea04d52966 server_nonce: 1e10f6eeab2a7a420bf09da9b27a4639645622c46358de9cf7ae813 055ae2d12 client_keyshare_seed: a270dc715dc2b4612bc7864312a05c3e9788ee1bad1f276 d1e15bdeb4c355e94 server_keyshare_seed: 360b0937f47d45f6123a4d8f0d0c0814b6120d840ebb8bc 5b4f6b62df07f78c2 masking_key: 39ebd51f0e39a07a1c2d2431995b0399bca9996c5d10014d6ebab445 3dc10ce5cef38ed3df6e56bfff40c2d8dd4671c2b4cf63c3d54860f31fe40220d690b b71 KE1: b0a26dcaca2230b8f5e4b1bcab9c84b586140221bb8b2848486874b0be448905 42d4e61ed3f8d64cdd3b9d153343eca15b9b0d5e388232793c6376bd2d9cfd0ab641d 7f20a245a09f1d4dbb6e301661af7f352beb0791d055e48d3645232f77f C.2.1.3. Output Values KE2: 928f79ad8df21963e91411b9f55165ba833dea918f441db967cdc09521d22925 9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c619e27b6e5a632b5a b1bff96636144faa4f9f9afaac75dd88ea99cf5175902ae3f3b2195693f165f11929b a510a5978e64dcdabecbd7ee1e4380ce270e58fea58e6462d92964a1aaef72698bca1 c673baeb04cc2bf7de5f3c2f5553464552d3a0f7698a9ca7f9c5e70c6cb1f706b2f17 5ab9d04bbd13926e816b6811a50b4aafa9799d5ed7971e10f6eeab2a7a420bf09da9b 27a4639645622c46358de9cf7ae813055ae2d1298251c5ba55f6b0b2d58d9ff0c88fe 4176484be62a96db6e2a8c4d431bd1bf27fe6c1d0537603835217d42ebf7b25819827 32e74892fd28211b31ed33863f0beaf75ba6f59474c0aaf9d78a60a9b2f4cd24d7ab5 4131b3c8efa192df6b72db4c C.2.2. OPAQUE-3DH Fake Test Vector 2 C.2.2.1. Configuration OPRF: ristretto255-SHA512 Hash: SHA512 KSF: Identity KDF: HKDF-SHA512 MAC: HMAC-SHA512 Group: curve25519 Context: 4f50415155452d504f43 Nh: 64 Npk: 32 Nsk: 32 Nm: 64 Nx: 64 Nok: 32 C.2.2.2. Input Values client_identity: 616c696365 server_identity: 626f62 oprf_seed: 66e650652a8266b2205f31fdd68adeb739a05b5e650b19e7edc75e734a 1296d6088188ca46c31ae8ccbd42a52ed338c06e53645387a7efbc94b6a0449526155 e credential_identifier: 31323334 masking_nonce: 9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c61 9e27b6e5a6 client_private_key: 288bf63470199221847bb035d99f96531adf8badd14cb1571 b48f7a506649660 client_public_key: 3c64a3153854cc9f0c23aab3c1a19106ec8bab4730736d1d00 3880a1d5a59005 server_private_key: 30fbe7e830be1fe8d2187c97414e3826040cbe49b893b6422 9bab5e85a588846 server_public_key: 78b3040047ff26572a7619617601a61b9c81899bee92f00cfc aa5eed96863555 server_nonce: 1e10f6eeab2a7a420bf09da9b27a4639645622c46358de9cf7ae813 055ae2d12 client_keyshare_seed: a270dc715dc2b4612bc7864312a05c3e9788ee1bad1f276 d1e15bdeb4c355e94 server_keyshare_seed: 360b0937f47d45f6123a4d8f0d0c0814b6120d840ebb8bc 5b4f6b62df07f78c2 masking_key: 79ad2621b0757a447dff7108a8ae20a068ce67872095620f415ea611 c9dcc04972fa359538cd2fd6528775ca775487b2b56db642049b8a90526b975a38484 c6a KE1: b0a26dcaca2230b8f5e4b1bcab9c84b586140221bb8b2848486874b0be448905 42d4e61ed3f8d64cdd3b9d153343eca15b9b0d5e388232793c6376bd2d9cfd0ac059b 7ba2aec863933ae48816360c7a9022e83d822704f3b0b86c0502a66e574 C.2.2.3. Output Values KE2: 6606b6fedbb33f19a81a1feb5149c600fe77252f58acd3080d7504d3dad4922f 9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c619e27b6e5a67db39 8c0f65d8c298eac430abdae4c80e82b552fb940c00f0cbcea853c0f96c1c15099f3d4 b0e83ecc249613116d605b8d77bb68bdf76994c2bc507e2dcae4176f00afed68ad25c f3040a0e991acece31ca532117f5c12816997372ff031ad04ebcdce06c501da24e7b4 db95343456e2ed260895ec362694230a1fa20e24a9c71e10f6eeab2a7a420bf09da9b 27a4639645622c46358de9cf7ae813055ae2d122d9055eb8f83e1b497370adad5cc2a 417bf9be436a792def0c7b7ccb92b9e275d7c663104ea4655bd70570d975c05351655 d55fbfb392286edb55600a23b55ce18f8c60e0d1960c960412dd08eabc81ba7ca8ae2 b04aad65462321f51c298010 C.2.3. OPAQUE-3DH Fake Test Vector 3 C.2.3.1. Configuration OPRF: P256-SHA256 Hash: SHA256 KSF: Identity KDF: HKDF-SHA256 MAC: HMAC-SHA256 Group: P256_XMD:SHA-256_SSWU_RO_ Context: 4f50415155452d504f43 Nh: 32 Npk: 33 Nsk: 32 Nm: 32 Nx: 32 Nok: 32 C.2.3.2. Input Values client_identity: 616c696365 server_identity: 626f62 oprf_seed: bb1cd59e16ac09bc0cb6d528541695d7eba2239b1613a3db3ade77b362 80f725 credential_identifier: 31323334 masking_nonce: 9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c61 9e27b6e5a6 client_private_key: d423b87899fc61d014fc8330a4e26190fcfa470a3afe59243 24294af7dbbc1dd client_public_key: 03b81708eae026a9370616c22e1e8542fe9dbebd36ce8a2661 b708e9628f4a57fc server_private_key: 34fbe7e830be1fe8d2187c97414e3826040cbe49b893b6422 9bab5e85a5888c7 server_public_key: 0221e034c0e202fe883dcfc96802a7624166fed4cfcab4ae30 cf5f3290d01c88bf server_nonce: 1e10f6eeab2a7a420bf09da9b27a4639645622c46358de9cf7ae813 055ae2d12 client_keyshare_seed: a270dc715dc2b4612bc7864312a05c3e9788ee1bad1f276 d1e15bdeb4c355e94 server_keyshare_seed: 360b0937f47d45f6123a4d8f0d0c0814b6120d840ebb8bc 5b4f6b62df07f78c2 masking_key: caecc6ccb4cae27cb54d8f3a1af1bac52a3d53107ce08497cdd362b1 992e4e5e KE1: 0396875da2b4f7749bba411513aea02dc514a48d169d8a9531bd61d3af3fa9ba ae42d4e61ed3f8d64cdd3b9d153343eca15b9b0d5e388232793c6376bd2d9cfd0a021 47a6583983cc9973b5082db5f5070890cb373d70f7ac1b41ed2305361009784 C.2.3.3. Output Values KE2: 0201198dcd13f9792eb75dcfa815f61b049abfe2e3e9456d4bbbceec5f442efd 049c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c619e27b6e5a6fac da65ce0a97b9085e7af07f61fd3fdd046d257cbf2183ce8766090b8041a8bf28d79dd 4c9031ddc75bb6ddb4c291e639937840e3d39fc0d5a3d6e7723c09f7945df485bcf9a efe3fe82d149e84049e259bb5b33d6a2ff3b25e4bfb7eff0962821e10f6eeab2a7a42 0bf09da9b27a4639645622c46358de9cf7ae813055ae2d12023f82bbb24e75b8683fd 13b843cd566efae996cd0016cffdcc24ee2bc937d026f80144878749a69565b433c10 40aff67e94f79345de888a877422b9bbe21ec329 "#;