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

Public Attributes#

uint32_t

Curve flags to use

mbedtls_ecjpake_role

Are we client or server?

int

Format for point export

char

J-PAKE password

size_t

J-PAKE password length

uint8_t

Random scalar for exchange

uint8_t

Our point 1 (round 1)

uint8_t

Our point 2 (round 1)

uint8_t

Their point 1 (round 1)

uint8_t

Their point 2 (round 1)

uint8_t

Their point (round 2)

Public Attribute Documentation#

curve_flags#

uint32_t mbedtls_ecjpake_context::curve_flags

Curve flags to use


role#

mbedtls_ecjpake_role mbedtls_ecjpake_context::role

Are we client or server?


point_format#

int mbedtls_ecjpake_context::point_format

Format for point export


pwd#

char mbedtls_ecjpake_context::pwd[33]

J-PAKE password


pwd_len#

size_t mbedtls_ecjpake_context::pwd_len

J-PAKE password length


r#

uint8_t mbedtls_ecjpake_context::r[32]

Random scalar for exchange


Xm1#

uint8_t mbedtls_ecjpake_context::Xm1[64]

Our point 1 (round 1)


Xm2#

uint8_t mbedtls_ecjpake_context::Xm2[64]

Our point 2 (round 1)


Xp1#

uint8_t mbedtls_ecjpake_context::Xp1[64]

Their point 1 (round 1)


Xp2#

uint8_t mbedtls_ecjpake_context::Xp2[64]

Their point 2 (round 1)


Xp#

uint8_t mbedtls_ecjpake_context::Xp[64]

Their point (round 2)