Updating test vectors to RFC 9807 (#386)
* Updating to RFC 9807 * Update CHANGELOG.md Co-authored-by: daxpedda <[email protected]> * Update CHANGELOG.md Co-authored-by: daxpedda <[email protected]> * Update CHANGELOG.md Co-authored-by: daxpedda <[email protected]> --------- Co-authored-by: daxpedda <[email protected]>
This commit is contained in:
@@ -1,5 +1,21 @@
|
||||
# Changelog
|
||||
|
||||
## 4.0.0-pre.0 (September 8, 2025)
|
||||
* Increased MSRV to 1.83
|
||||
* Synced implementation with RFC 9807 (no core protocol changes)
|
||||
* Added a SIGMA-I key exchange implementation
|
||||
* Removed KeGroup type from the Ciphersuite trait (now part of KeyExchange type)
|
||||
* **Breaking: existing Ciphersuite trait definitions need to be updated**
|
||||
* Ensured that dummy record is always created to avoid timing attack issues
|
||||
* Modified the dummy registration file to only contain the public key
|
||||
instead of the keypair
|
||||
* **Breaking: existing `ServerSetup`s need to be updated**
|
||||
* Added remote OPRF seed support
|
||||
* Replace remote private key trait with a state machine, facilitating async support.
|
||||
* Serde de/serialization formats have been simplified
|
||||
* **Breaking: existing `RegistrationUpload`s may need to be updated**
|
||||
|
||||
|
||||
## 3.0.0 (October 10, 2024)
|
||||
* Synced implementation with draft-irtf-cfrg-opaque-16
|
||||
* **Breaking: protocol context string changed from `RFCXXXX` to `OPAQUEv1-`**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
[OPAQUE](https://eprint.iacr.org/2018/163.pdf) is an augmented password-authenticated key exchange protocol. It allows a client to authenticate to a server using a password, without ever having to expose the plaintext password to the server.
|
||||
|
||||
This implementation is based on the [Internet Draft for OPAQUE](https://github.com/cfrg/draft-irtf-cfrg-opaque).
|
||||
This implementation is based on [RFC 9807](https://datatracker.ietf.org/doc/rfc9807/).
|
||||
|
||||
Background
|
||||
----------
|
||||
@@ -22,7 +22,7 @@ Installation
|
||||
Add the following line to the dependencies of your `Cargo.toml`:
|
||||
|
||||
```
|
||||
opaque-ke = "3"
|
||||
opaque-ke = "4.0.0-pre.0"
|
||||
```
|
||||
|
||||
### Minimum Supported Rust Version
|
||||
@@ -40,7 +40,7 @@ Resources
|
||||
---------
|
||||
|
||||
- [OPAQUE academic publication](https://eprint.iacr.org/2018/163.pdf), including formal definitions and a proof of security
|
||||
- [draft-irtf-cfrg-opaque-17](https://datatracker.ietf.org/doc/draft-irtf-cfrg-opaque/17/), containing a detailed (byte-level) specification for OPAQUE
|
||||
- [RFC 9807](https://datatracker.ietf.org/doc/rfc9807/), containing a detailed (byte-level) specification for OPAQUE
|
||||
- ["Let's talk about PAKE"](https://blog.cryptographyengineering.com/2018/10/19/lets-talk-about-pake/), an introductory blog post written by Matthew Green that covers OPAQUE
|
||||
- [@serenity-kit/opaque](https://github.com/serenity-kit/opaque), a WebAssembly package for this library
|
||||
- [opaque-wasm](https://github.com/marucjmar/opaque-wasm), a WebAssembly package for this library. A comparison between `@serenity-kit/opaque` and `opaque-wasm` can be found [here](https://opaque-documentation.netlify.app/docs/faq#how-does-it-compare-to-opaque-wasm)
|
||||
|
||||
@@ -9,10 +9,6 @@
|
||||
//! An implementation of the OPAQUE augmented password authentication key
|
||||
//! exchange protocol
|
||||
//!
|
||||
//! Note: This implementation is in sync with [draft-irtf-cfrg-opaque-16](https://datatracker.ietf.org/doc/draft-irtf-cfrg-opaque/16/),
|
||||
//! but this specification is subject to change, until the final version
|
||||
//! published by the IETF.
|
||||
//!
|
||||
//! ### Minimum Supported Rust Version
|
||||
//!
|
||||
//! Rust **1.85** or higher.
|
||||
|
||||
+1
-1
@@ -10,6 +10,6 @@ mod full_test;
|
||||
#[rustfmt::skip]
|
||||
mod full_test_vectors;
|
||||
pub mod mock_rng;
|
||||
mod opaque_vectors;
|
||||
mod parser;
|
||||
mod rfc9807_vectors;
|
||||
mod test_opaque_vectors;
|
||||
|
||||
@@ -1,876 +0,0 @@
|
||||
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
//
|
||||
// This source code is dual-licensed under either the MIT license found in the
|
||||
// LICENSE-MIT file in the root directory of this source tree or the Apache
|
||||
// License, Version 2.0 found in the LICENSE-APACHE file in the root directory
|
||||
// of this source tree. You may select, at your option, one of the above-listed
|
||||
// licenses.
|
||||
|
||||
//! The OPAQUE test vectors taken from
|
||||
//! <https://github.com/cfrg/draft-irtf-cfrg-opaque/blob/0cd4251786b54c623bf1eceaff15892616e53ea6/poc/vectors/formatted.txt>
|
||||
|
||||
pub(crate) static VECTORS: &str = r#"
|
||||
## Real Test Vectors {#real-vectors}
|
||||
|
||||
### OPAQUE-3DH Real Test Vector 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
### OPAQUE-3DH Real Test Vector 2
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
### OPAQUE-3DH Real Test Vector 3
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
### OPAQUE-3DH Real Test Vector 4
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
### OPAQUE-3DH Real Test Vector 5
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
### OPAQUE-3DH Real Test Vector 6
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
## Fake Test Vectors {#fake-vectors}
|
||||
|
||||
### OPAQUE-3DH Fake Test Vector 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### Output Values
|
||||
|
||||
~~~
|
||||
KE2: 928f79ad8df21963e91411b9f55165ba833dea918f441db967cdc09521d22925
|
||||
9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c619e27b6e5a632b5a
|
||||
b1bff96636144faa4f9f9afaac75dd88ea99cf5175902ae3f3b2195693f165f11929b
|
||||
a510a5978e64dcdabecbd7ee1e4380ce270e58fea58e6462d92964a1aaef72698bca1
|
||||
c673baeb04cc2bf7de5f3c2f5553464552d3a0f7698a9ca7f9c5e70c6cb1f706b2f17
|
||||
5ab9d04bbd13926e816b6811a50b4aafa9799d5ed7971e10f6eeab2a7a420bf09da9b
|
||||
27a4639645622c46358de9cf7ae813055ae2d1298251c5ba55f6b0b2d58d9ff0c88fe
|
||||
4176484be62a96db6e2a8c4d431bd1bf27fe6c1d0537603835217d42ebf7b25819827
|
||||
32e74892fd28211b31ed33863f0beaf75ba6f59474c0aaf9d78a60a9b2f4cd24d7ab5
|
||||
4131b3c8efa192df6b72db4c
|
||||
~~~
|
||||
|
||||
### OPAQUE-3DH Fake Test Vector 2
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### Output Values
|
||||
|
||||
~~~
|
||||
KE2: 6606b6fedbb33f19a81a1feb5149c600fe77252f58acd3080d7504d3dad4922f
|
||||
9c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c619e27b6e5a67db39
|
||||
8c0f65d8c298eac430abdae4c80e82b552fb940c00f0cbcea853c0f96c1c15099f3d4
|
||||
b0e83ecc249613116d605b8d77bb68bdf76994c2bc507e2dcae4176f00afed68ad25c
|
||||
f3040a0e991acece31ca532117f5c12816997372ff031ad04ebcdce06c501da24e7b4
|
||||
db95343456e2ed260895ec362694230a1fa20e24a9c71e10f6eeab2a7a420bf09da9b
|
||||
27a4639645622c46358de9cf7ae813055ae2d122d9055eb8f83e1b497370adad5cc2a
|
||||
417bf9be436a792def0c7b7ccb92b9e275d7c663104ea4655bd70570d975c05351655
|
||||
d55fbfb392286edb55600a23b55ce18f8c60e0d1960c960412dd08eabc81ba7ca8ae2
|
||||
b04aad65462321f51c298010
|
||||
~~~
|
||||
|
||||
### OPAQUE-3DH Fake Test Vector 3
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### 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
|
||||
~~~
|
||||
|
||||
#### Output Values
|
||||
|
||||
~~~
|
||||
KE2: 0201198dcd13f9792eb75dcfa815f61b049abfe2e3e9456d4bbbceec5f442efd
|
||||
049c035896a043e70f897d87180c543e7a063b83c1bb728fbd189c619e27b6e5a6fac
|
||||
da65ce0a97b9085e7af07f61fd3fdd046d257cbf2183ce8766090b8041a8bf28d79dd
|
||||
4c9031ddc75bb6ddb4c291e639937840e3d39fc0d5a3d6e7723c09f7945df485bcf9a
|
||||
efe3fe82d149e84049e259bb5b33d6a2ff3b25e4bfb7eff0962821e10f6eeab2a7a42
|
||||
0bf09da9b27a4639645622c46358de9cf7ae813055ae2d12023f82bbb24e75b8683fd
|
||||
13b843cd566efae996cd0016cffdcc24ee2bc937d026f80144878749a69565b433c10
|
||||
40aff67e94f79345de888a877422b9bbe21ec329
|
||||
~~~
|
||||
"#;
|
||||
+10
-3
@@ -15,7 +15,7 @@ pub(crate) fn rfc_to_json(input: &str) -> String {
|
||||
}
|
||||
|
||||
fn parse_vector_types(input: &str) -> String {
|
||||
let re = regex::Regex::new(r" (?P<type>.+?) Test Vectors").unwrap();
|
||||
let re = regex::Regex::new(r" (?P<type>.+?) Test Vectors").unwrap();
|
||||
let mut vector_types = vec![];
|
||||
|
||||
let chunks: Vec<&str> = re.split(input).collect();
|
||||
@@ -24,7 +24,7 @@ fn parse_vector_types(input: &str) -> String {
|
||||
for caps in re.captures_iter(input) {
|
||||
let vector_type = format!(
|
||||
"\"{}\": [\n {} \n]",
|
||||
&caps["type"],
|
||||
&caps["type"].trim(),
|
||||
parse_ciphersuites(chunks[count])
|
||||
);
|
||||
vector_types.push(vector_type);
|
||||
@@ -36,7 +36,7 @@ fn parse_vector_types(input: &str) -> String {
|
||||
|
||||
fn parse_ciphersuites(input: &str) -> String {
|
||||
let re = regex::Regex::new(
|
||||
r"#### Configuration\n(.|\n)*?OPRF: (?P<oprf>.*?)\n(.|\n)*?Group: (?P<group>.*?)\n",
|
||||
r" Configuration\n(.|\n)*?OPRF: (?P<oprf>.*?)\n(.|\n)*?Group: (?P<group>.*?)\n",
|
||||
)
|
||||
.unwrap();
|
||||
let mut ciphersuites = vec![];
|
||||
@@ -74,6 +74,9 @@ fn parse_params(input: &str) -> String {
|
||||
return params.join(",\n");
|
||||
}
|
||||
Some(line) => {
|
||||
// First, trim out any whitespace
|
||||
let line = line.trim();
|
||||
|
||||
// If line contains :, then
|
||||
if line.contains(':') {
|
||||
// Clear out any existing string and flush to params
|
||||
@@ -93,6 +96,10 @@ fn parse_params(input: &str) -> String {
|
||||
// Ignore comment lines
|
||||
continue;
|
||||
}
|
||||
if s.contains("C.") {
|
||||
// Ignore section lines
|
||||
continue;
|
||||
}
|
||||
if !s.is_empty() {
|
||||
param += &s;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,810 @@
|
||||
// Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
//
|
||||
// This source code is dual-licensed under either the MIT license found in the
|
||||
// LICENSE-MIT file in the root directory of this source tree or the Apache
|
||||
// License, Version 2.0 found in the LICENSE-APACHE file in the root directory
|
||||
// of this source tree. You may select, at your option, one of the above-listed
|
||||
// licenses.
|
||||
|
||||
//! 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
|
||||
"#;
|
||||
@@ -182,7 +182,7 @@ macro_rules! json_to_test_vectors {
|
||||
#[test]
|
||||
fn tests() -> Result<(), ProtocolError> {
|
||||
let rfc: Value =
|
||||
serde_json::from_str(super::parser::rfc_to_json(super::opaque_vectors::VECTORS).as_str())
|
||||
serde_json::from_str(super::parser::rfc_to_json(super::rfc9807_vectors::VECTORS).as_str())
|
||||
.expect("Could not parse json");
|
||||
|
||||
#[cfg(feature = "ristretto255")]
|
||||
@@ -213,6 +213,10 @@ fn tests() -> Result<(), ProtocolError> {
|
||||
"Parsing error"
|
||||
);
|
||||
|
||||
// There should be 2 real test vectors and 1 fake test vector
|
||||
assert_eq!(ristretto_real_tvs.len(), 2);
|
||||
assert_eq!(ristretto_fake_tvs.len(), 1);
|
||||
|
||||
test_registration_request::<Ristretto255Sha512NoKsf>(&ristretto_real_tvs)?;
|
||||
test_registration_response::<Ristretto255Sha512NoKsf>(&ristretto_real_tvs)?;
|
||||
test_registration_upload::<Ristretto255Sha512NoKsf>(&ristretto_real_tvs)?;
|
||||
@@ -251,6 +255,10 @@ fn tests() -> Result<(), ProtocolError> {
|
||||
"Parsing error"
|
||||
);
|
||||
|
||||
// There should be 2 real test vectors and 1 fake test vector
|
||||
assert_eq!(ristretto_real_tvs.len(), 2);
|
||||
assert_eq!(ristretto_fake_tvs.len(), 1);
|
||||
|
||||
test_registration_request::<Ristretto255Sha512Curve25519NoKsf>(&ristretto_real_tvs)?;
|
||||
test_registration_response::<Ristretto255Sha512Curve25519NoKsf>(&ristretto_real_tvs)?;
|
||||
test_registration_upload::<Ristretto255Sha512Curve25519NoKsf>(&ristretto_real_tvs)?;
|
||||
@@ -286,6 +294,10 @@ fn tests() -> Result<(), ProtocolError> {
|
||||
"Parsing error"
|
||||
);
|
||||
|
||||
// There should be 2 real test vectors and 1 fake test vector
|
||||
assert_eq!(p256_real_tvs.len(), 2);
|
||||
assert_eq!(p256_fake_tvs.len(), 1);
|
||||
|
||||
test_registration_request::<P256Sha256NoKsf>(&p256_real_tvs)?;
|
||||
test_registration_response::<P256Sha256NoKsf>(&p256_real_tvs)?;
|
||||
test_registration_upload::<P256Sha256NoKsf>(&p256_real_tvs)?;
|
||||
|
||||
Reference in New Issue
Block a user