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

Go to the source code of this file.

Classes

struct  newhope_poly_st
 

Macros

#define PARAM_N   1024
 
#define PARAM_K   16
 
#define PARAM_Q   12289
 
#define SEED_LENGTH   32
 

Functions

void newhope_poly_uniform (NEWHOPE_POLY *a, const uint8_t *seed)
 
void newhope_helprec (NEWHOPE_POLY *c, const NEWHOPE_POLY *v, const uint8_t rbits[32])
 
void newhope_reconcile (uint8_t *key, const NEWHOPE_POLY *v, const NEWHOPE_POLY *c)
 
void newhope_poly_invntt (NEWHOPE_POLY *r)
 
void newhope_poly_add (NEWHOPE_POLY *r, const NEWHOPE_POLY *a, const NEWHOPE_POLY *b)
 
void newhope_poly_pointwise (NEWHOPE_POLY *r, const NEWHOPE_POLY *a, const NEWHOPE_POLY *b)
 
uint16_t newhope_montgomery_reduce (uint32_t a)
 
uint16_t newhope_barrett_reduce (uint16_t a)
 
void newhope_bitrev_vector (uint16_t *poly)
 
void newhope_mul_coefficients (uint16_t *poly, const uint16_t *factors)
 
void newhope_ntt (uint16_t *poly, const uint16_t *omegas)
 

Macro Definition Documentation

◆ PARAM_K

#define PARAM_K   16

◆ PARAM_N

#define PARAM_N   1024

◆ PARAM_Q

#define PARAM_Q   12289

◆ SEED_LENGTH

#define SEED_LENGTH   32

Function Documentation

◆ newhope_barrett_reduce()

uint16_t newhope_barrett_reduce ( uint16_t  a)

◆ newhope_bitrev_vector()

void newhope_bitrev_vector ( uint16_t poly)

◆ newhope_helprec()

void newhope_helprec ( NEWHOPE_POLY c,
const NEWHOPE_POLY v,
const uint8_t  rbits[32] 
)

◆ newhope_montgomery_reduce()

uint16_t newhope_montgomery_reduce ( uint32_t  a)

◆ newhope_mul_coefficients()

void newhope_mul_coefficients ( uint16_t poly,
const uint16_t factors 
)

◆ newhope_ntt()

void newhope_ntt ( uint16_t poly,
const uint16_t omegas 
)

◆ newhope_poly_add()

void newhope_poly_add ( NEWHOPE_POLY r,
const NEWHOPE_POLY a,
const NEWHOPE_POLY b 
)

◆ newhope_poly_invntt()

void newhope_poly_invntt ( NEWHOPE_POLY r)

◆ newhope_poly_pointwise()

void newhope_poly_pointwise ( NEWHOPE_POLY r,
const NEWHOPE_POLY a,
const NEWHOPE_POLY b 
)

◆ newhope_poly_uniform()

void newhope_poly_uniform ( NEWHOPE_POLY a,
const uint8_t seed 
)

◆ newhope_reconcile()

void newhope_reconcile ( uint8_t key,
const NEWHOPE_POLY v,
const NEWHOPE_POLY c 
)