sl_se_ecjpake_context_t Struct Reference

EC J-PAKE context structure.

#include <sl_se_manager_types.h>

Data Fields

sl_se_command_context_t * cmd_ctx
Pointer to command context object.
uint32_t curve_flags
Curve flags to use.
sl_se_ecjpake_role_t role
Are we client or server?
char pwd [32]
J-PAKE password.
size_t pwd_len
J-PAKE password length.
uint8_t r [32]
Random scalar for exchange.
uint8_t Xm1 [64]
Our point 1 (round 1)
uint8_t Xm2 [64]
Our point 2 (round 1)
uint8_t Xp1 [64]
Their point 1 (round 1)
uint8_t Xp2 [64]
Their point 2 (round 1)
uint8_t Xp [64]
Their point (round 2)

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 convention from the Thread v1.0 spec. Correspondance is indicated in the description as a pair C: client name, S: server name

Field Documentation

cmd_ctx

sl_se_command_context_t * sl_se_ecjpake_context_t::cmd_ctx

Pointer to command context object.

curve_flags

uint32_t sl_se_ecjpake_context_t::curve_flags

Curve flags to use.

role

sl_se_ecjpake_role_t sl_se_ecjpake_context_t::role

Are we client or server?

pwd

char sl_se_ecjpake_context_t::pwd[32]

J-PAKE password.

pwd_len

size_t sl_se_ecjpake_context_t::pwd_len

J-PAKE password length.

r

uint8_t sl_se_ecjpake_context_t::r[32]

Random scalar for exchange.

Xm1

uint8_t sl_se_ecjpake_context_t::Xm1[64]

Our point 1 (round 1)

Xm2

uint8_t sl_se_ecjpake_context_t::Xm2[64]

Our point 2 (round 1)

Xp1

uint8_t sl_se_ecjpake_context_t::Xp1[64]

Their point 1 (round 1)

Xp2

uint8_t sl_se_ecjpake_context_t::Xp2[64]

Their point 2 (round 1)

Xp

uint8_t sl_se_ecjpake_context_t::Xp[64]

Their point (round 2)