sl_se_ecjpake_context_t Struct Reference

EC J-PAKE context structure.

#include <sl_se_manager_types.h>

Data Fields

sl_se_command_context_tcmd_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)