webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Macros | Functions
newhope.h File Reference
#include <openssl/base.h>
#include <openssl/sha.h>

Go to the source code of this file.

Macros

#define NEWHOPE_POLY_LENGTH   ((1024 * 14) / 8)
 
#define NEWHOPE_RECONCILIATION_LENGTH   ((1024 * 2) / 8)
 
#define NEWHOPE_OFFERMSG_LENGTH   (NEWHOPE_POLY_LENGTH + 32)
 
#define NEWHOPE_ACCEPTMSG_LENGTH   (NEWHOPE_POLY_LENGTH + NEWHOPE_RECONCILIATION_LENGTH)
 
#define NEWHOPE_KEY_LENGTH   32
 

Functions

OPENSSL_EXPORT NEWHOPE_POLYNEWHOPE_POLY_new (void)
 
OPENSSL_EXPORT void NEWHOPE_POLY_free (NEWHOPE_POLY *p)
 
OPENSSL_EXPORT void NEWHOPE_offer (uint8_t out_msg[NEWHOPE_OFFERMSG_LENGTH], NEWHOPE_POLY *out_sk)
 
OPENSSL_EXPORT int NEWHOPE_accept (uint8_t out_key[SHA256_DIGEST_LENGTH], uint8_t out_msg[NEWHOPE_ACCEPTMSG_LENGTH], const uint8_t msg[NEWHOPE_OFFERMSG_LENGTH], size_t msg_len)
 
OPENSSL_EXPORT int NEWHOPE_finish (uint8_t out_key[SHA256_DIGEST_LENGTH], const NEWHOPE_POLY *sk, const uint8_t msg[NEWHOPE_ACCEPTMSG_LENGTH], size_t msg_len)
 
OPENSSL_EXPORT void NEWHOPE_POLY_noise (NEWHOPE_POLY *r)
 
OPENSSL_EXPORT void NEWHOPE_POLY_noise_ntt (NEWHOPE_POLY *r)
 
OPENSSL_EXPORT void NEWHOPE_offer_computation (NEWHOPE_POLY *out_pk, const NEWHOPE_POLY *s, const NEWHOPE_POLY *e, const NEWHOPE_POLY *a)
 
OPENSSL_EXPORT void NEWHOPE_accept_computation (uint8_t out_key[NEWHOPE_KEY_LENGTH], NEWHOPE_POLY *out_bp, NEWHOPE_POLY *out_reconciliation, const NEWHOPE_POLY *sp, const NEWHOPE_POLY *ep, const NEWHOPE_POLY *epp, const uint8_t rand[32], const NEWHOPE_POLY *pk, const NEWHOPE_POLY *a)
 
OPENSSL_EXPORT void NEWHOPE_finish_computation (uint8_t out_key[NEWHOPE_KEY_LENGTH], const NEWHOPE_POLY *noise, const NEWHOPE_POLY *bp, const NEWHOPE_POLY *reconciliation)
 
OPENSSL_EXPORT void NEWHOPE_POLY_frombytes (NEWHOPE_POLY *r, const uint8_t a[NEWHOPE_POLY_LENGTH])
 
OPENSSL_EXPORT void NEWHOPE_POLY_tobytes (uint8_t r[NEWHOPE_POLY_LENGTH], const NEWHOPE_POLY *p)
 
OPENSSL_EXPORT void NEWHOPE_offer_frommsg (NEWHOPE_POLY *out_pk, NEWHOPE_POLY *out_a, const uint8_t msg[NEWHOPE_OFFERMSG_LENGTH])
 

Macro Definition Documentation

◆ NEWHOPE_ACCEPTMSG_LENGTH

#define NEWHOPE_ACCEPTMSG_LENGTH   (NEWHOPE_POLY_LENGTH + NEWHOPE_RECONCILIATION_LENGTH)

◆ NEWHOPE_KEY_LENGTH

#define NEWHOPE_KEY_LENGTH   32

◆ NEWHOPE_OFFERMSG_LENGTH

#define NEWHOPE_OFFERMSG_LENGTH   (NEWHOPE_POLY_LENGTH + 32)

◆ NEWHOPE_POLY_LENGTH

#define NEWHOPE_POLY_LENGTH   ((1024 * 14) / 8)

◆ NEWHOPE_RECONCILIATION_LENGTH

#define NEWHOPE_RECONCILIATION_LENGTH   ((1024 * 2) / 8)

Function Documentation

◆ NEWHOPE_accept()

OPENSSL_EXPORT int NEWHOPE_accept ( uint8_t  out_key[SHA256_DIGEST_LENGTH],
uint8_t  out_msg[NEWHOPE_ACCEPTMSG_LENGTH],
const uint8_t  msg[NEWHOPE_OFFERMSG_LENGTH],
size_t  msg_len 
)

◆ NEWHOPE_accept_computation()

OPENSSL_EXPORT void NEWHOPE_accept_computation ( uint8_t  out_key[NEWHOPE_KEY_LENGTH],
NEWHOPE_POLY out_bp,
NEWHOPE_POLY out_reconciliation,
const NEWHOPE_POLY sp,
const NEWHOPE_POLY ep,
const NEWHOPE_POLY epp,
const uint8_t  rand[32],
const NEWHOPE_POLY pk,
const NEWHOPE_POLY a 
)

◆ NEWHOPE_finish()

OPENSSL_EXPORT int NEWHOPE_finish ( uint8_t  out_key[SHA256_DIGEST_LENGTH],
const NEWHOPE_POLY sk,
const uint8_t  msg[NEWHOPE_ACCEPTMSG_LENGTH],
size_t  msg_len 
)

◆ NEWHOPE_finish_computation()

OPENSSL_EXPORT void NEWHOPE_finish_computation ( uint8_t  out_key[NEWHOPE_KEY_LENGTH],
const NEWHOPE_POLY noise,
const NEWHOPE_POLY bp,
const NEWHOPE_POLY reconciliation 
)

◆ NEWHOPE_offer()

OPENSSL_EXPORT void NEWHOPE_offer ( uint8_t  out_msg[NEWHOPE_OFFERMSG_LENGTH],
NEWHOPE_POLY out_sk 
)

◆ NEWHOPE_offer_computation()

OPENSSL_EXPORT void NEWHOPE_offer_computation ( NEWHOPE_POLY out_pk,
const NEWHOPE_POLY s,
const NEWHOPE_POLY e,
const NEWHOPE_POLY a 
)

◆ NEWHOPE_offer_frommsg()

OPENSSL_EXPORT void NEWHOPE_offer_frommsg ( NEWHOPE_POLY out_pk,
NEWHOPE_POLY out_a,
const uint8_t  msg[NEWHOPE_OFFERMSG_LENGTH] 
)

◆ NEWHOPE_POLY_free()

OPENSSL_EXPORT void NEWHOPE_POLY_free ( NEWHOPE_POLY p)

◆ NEWHOPE_POLY_frombytes()

OPENSSL_EXPORT void NEWHOPE_POLY_frombytes ( NEWHOPE_POLY r,
const uint8_t  a[NEWHOPE_POLY_LENGTH] 
)

◆ NEWHOPE_POLY_new()

OPENSSL_EXPORT NEWHOPE_POLY* NEWHOPE_POLY_new ( void  )

◆ NEWHOPE_POLY_noise()

OPENSSL_EXPORT void NEWHOPE_POLY_noise ( NEWHOPE_POLY r)

◆ NEWHOPE_POLY_noise_ntt()

OPENSSL_EXPORT void NEWHOPE_POLY_noise_ntt ( NEWHOPE_POLY r)

◆ NEWHOPE_POLY_tobytes()

OPENSSL_EXPORT void NEWHOPE_POLY_tobytes ( uint8_t  r[NEWHOPE_POLY_LENGTH],
const NEWHOPE_POLY p 
)