RetroArch
|
#include <ecjpake.h>
EC J-PAKE context structure.
J-PAKE is a symmetric protocol, except for the identifiers used in Zero-Knowledge Proofs, and the serialization of the second message (KeyExchange) as defined by the Thread spec.
In order to benefit from this symmetry, we choose a different naming convetion from the Thread v1.0 spec. Correspondance is indicated in the description as a pair C: client name, S: server name
mbedtls_ecp_group mbedtls_ecjpake_context::grp |
Elliptic curve
const mbedtls_md_info_t* mbedtls_ecjpake_context::md_info |
Hash to use
int mbedtls_ecjpake_context::point_format |
Format for point export
mbedtls_ecjpake_role mbedtls_ecjpake_context::role |
Are we client or server?
mbedtls_mpi mbedtls_ecjpake_context::s |
Pre-shared secret (passphrase)
mbedtls_ecp_point mbedtls_ecjpake_context::Xm1 |
My public key 1 C: X1, S: X3
mbedtls_mpi mbedtls_ecjpake_context::xm1 |
My private key 1 C: x1, S: x3
mbedtls_ecp_point mbedtls_ecjpake_context::Xm2 |
My public key 2 C: X2, S: X4
mbedtls_mpi mbedtls_ecjpake_context::xm2 |
My private key 2 C: x2, S: x4
mbedtls_ecp_point mbedtls_ecjpake_context::Xp |
Peer public key C: Xs, S: Xc
mbedtls_ecp_point mbedtls_ecjpake_context::Xp1 |
Peer public key 1 C: X3, S: X1
mbedtls_ecp_point mbedtls_ecjpake_context::Xp2 |
Peer public key 2 C: X4, S: X2