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)