Mbed OS Reference
Loading...
Searching...
No Matches
ecjpake.h File Reference

Elliptic curve J-PAKE. More...

#include "mbedtls/config.h"
#include "mbedtls/ecp.h"
#include "mbedtls/md.h"

Go to the source code of this file.

Data Structures

struct  mbedtls_ecjpake_context
 EC J-PAKE context structure. More...
 

Typedefs

typedef struct mbedtls_ecjpake_context mbedtls_ecjpake_context
 EC J-PAKE context structure. More...
 

Enumerations

enum  mbedtls_ecjpake_role { MBEDTLS_ECJPAKE_CLIENT = 0 , MBEDTLS_ECJPAKE_SERVER }
 Roles in the EC J-PAKE exchange. More...
 

Functions

void mbedtls_ecjpake_init (mbedtls_ecjpake_context *ctx)
 Initialize an ECJPAKE context. More...
 
int mbedtls_ecjpake_setup (mbedtls_ecjpake_context *ctx, mbedtls_ecjpake_role role, mbedtls_md_type_t hash, mbedtls_ecp_group_id curve, const unsigned char *secret, size_t len)
 Set up an ECJPAKE context for use. More...
 
int mbedtls_ecjpake_check (const mbedtls_ecjpake_context *ctx)
 Check if an ECJPAKE context is ready for use. More...
 
int mbedtls_ecjpake_write_round_one (mbedtls_ecjpake_context *ctx, unsigned char *buf, size_t len, size_t *olen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
 Generate and write the first round message (TLS: contents of the Client/ServerHello extension, excluding extension type and length bytes). More...
 
int mbedtls_ecjpake_read_round_one (mbedtls_ecjpake_context *ctx, const unsigned char *buf, size_t len)
 Read and process the first round message (TLS: contents of the Client/ServerHello extension, excluding extension type and length bytes). More...
 
int mbedtls_ecjpake_write_round_two (mbedtls_ecjpake_context *ctx, unsigned char *buf, size_t len, size_t *olen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
 Generate and write the second round message (TLS: contents of the Client/ServerKeyExchange). More...
 
int mbedtls_ecjpake_read_round_two (mbedtls_ecjpake_context *ctx, const unsigned char *buf, size_t len)
 Read and process the second round message (TLS: contents of the Client/ServerKeyExchange). More...
 
int mbedtls_ecjpake_derive_secret (mbedtls_ecjpake_context *ctx, unsigned char *buf, size_t len, size_t *olen, int(*f_rng)(void *, unsigned char *, size_t), void *p_rng)
 Derive the shared secret (TLS: Pre-Master Secret). More...
 
void mbedtls_ecjpake_free (mbedtls_ecjpake_context *ctx)
 This clears an ECJPAKE context and frees any embedded data structure. More...
 

Detailed Description

Elliptic curve J-PAKE.

Definition in file ecjpake.h.