webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Enumerations | Functions
spake25519.c File Reference
#include <openssl/curve25519.h>
#include <string.h>
#include <openssl/bytestring.h>
#include <openssl/mem.h>
#include <openssl/rand.h>
#include <openssl/sha.h>
#include "internal.h"

Classes

struct  spake2_ctx_st
 

Enumerations

enum  spake2_state_t { spake2_state_init = 0, spake2_state_msg_generated, spake2_state_key_generated }
 

Functions

SPAKE2_CTXSPAKE2_CTX_new (enum spake2_role_t my_role, const uint8_t *my_name, size_t my_name_len, const uint8_t *their_name, size_t their_name_len)
 
void SPAKE2_CTX_free (SPAKE2_CTX *ctx)
 
int SPAKE2_generate_msg (SPAKE2_CTX *ctx, uint8_t *out, size_t *out_len, size_t max_out_len, const uint8_t *password, size_t password_len)
 
int SPAKE2_process_msg (SPAKE2_CTX *ctx, uint8_t *out_key, size_t *out_key_len, size_t max_out_key_len, const uint8_t *their_msg, size_t their_msg_len)
 

Enumeration Type Documentation

◆ spake2_state_t

Enumerator
spake2_state_init 
spake2_state_msg_generated 
spake2_state_key_generated 

Function Documentation

◆ SPAKE2_CTX_free()

void SPAKE2_CTX_free ( SPAKE2_CTX ctx)

◆ SPAKE2_CTX_new()

SPAKE2_CTX* SPAKE2_CTX_new ( enum spake2_role_t  my_role,
const uint8_t my_name,
size_t  my_name_len,
const uint8_t their_name,
size_t  their_name_len 
)

◆ SPAKE2_generate_msg()

int SPAKE2_generate_msg ( SPAKE2_CTX ctx,
uint8_t out,
size_t out_len,
size_t  max_out_len,
const uint8_t password,
size_t  password_len 
)

◆ SPAKE2_process_msg()

int SPAKE2_process_msg ( SPAKE2_CTX ctx,
uint8_t out_key,
size_t out_key_len,
size_t  max_out_key_len,
const uint8_t their_msg,
size_t  their_msg_len 
)