|
static crypto_word_t | final_bit_to_all (crypto_word_t v) |
|
static OPENSSL_UNUSED void | hexdump (const void *void_in, size_t len) |
|
int | HRSS_decap (uint8_t out_shared_key[HRSS_KEY_BYTES], const struct HRSS_private_key *in_priv, const uint8_t *ciphertext, size_t ciphertext_len) |
|
int | HRSS_encap (uint8_t out_ciphertext[POLY_BYTES], uint8_t out_shared_key[32], const struct HRSS_public_key *in_pub, const uint8_t in[HRSS_SAMPLE_BYTES+HRSS_SAMPLE_BYTES]) |
|
int | HRSS_generate_key (struct HRSS_public_key *out_pub, struct HRSS_private_key *out_priv, const uint8_t in[HRSS_SAMPLE_BYTES+HRSS_SAMPLE_BYTES+32]) |
|
void | HRSS_marshal_public_key (uint8_t out[HRSS_PUBLIC_KEY_BYTES], const struct HRSS_public_key *in_pub) |
|
int | HRSS_parse_public_key (struct HRSS_public_key *out, const uint8_t in[HRSS_PUBLIC_KEY_BYTES]) |
|
void | HRSS_poly3_invert (struct poly3 *out, const struct poly3 *in) |
|
void | HRSS_poly3_mul (struct poly3 *out, const struct poly3 *x, const struct poly3 *y) |
|
static crypto_word_t | lsb_to_all (crypto_word_t v) |
|
static void * | malloc_align32 (void **out_ptr, size_t size) |
|
static uint16_t | mod3 (int16_t a) |
|
static uint16_t | mod3_from_modQ (uint16_t v) |
|
static void | poly2_clear_top_bits (struct poly2 *p) |
|
static void | poly2_cswap (struct poly2 *a, struct poly2 *b, crypto_word_t swap) |
|
static void | poly2_fmadd (struct poly2 *out, const struct poly2 *in, crypto_word_t m) |
|
static void | poly2_from_poly (struct poly2 *out, const struct poly *in) |
|
static void | poly2_lshift1 (struct poly2 *p) |
|
static void | poly2_mod_phiN (struct poly2 *p) |
|
static void | poly2_reverse_700 (struct poly2 *out, const struct poly2 *in) |
|
static void | poly2_rshift1 (struct poly2 *p) |
|
static int | poly2_top_bits_are_clear (const struct poly2 *p) |
|
static void | poly2_zero (struct poly2 *p) |
|
static void | poly3_cswap (struct poly3 *a, struct poly3 *b, crypto_word_t swap) |
|
static void | poly3_fmsub (struct poly3 *RESTRICT out, const struct poly3 *RESTRICT in, crypto_word_t ms, crypto_word_t ma) |
|
static void | poly3_from_poly (struct poly3 *out, const struct poly *in) |
|
static crypto_word_t | poly3_from_poly_checked (struct poly3 *out, const struct poly *in) |
|
static void | poly3_lshift1 (struct poly3 *p) |
|
static void | poly3_mod_phiN (struct poly3 *p) |
|
static void | poly3_mul_aux (const struct poly3_span *out, const struct poly3_span *scratch, const struct poly3_span *a, const struct poly3_span *b, size_t n) |
|
static void | poly3_mul_const (struct poly3 *p, crypto_word_t ms, crypto_word_t ma) |
|
static OPENSSL_UNUSED void | poly3_print (const struct poly3 *in) |
|
static void | poly3_reverse_700 (struct poly3 *out, const struct poly3 *in) |
|
static void | poly3_rshift1 (struct poly3 *p) |
|
static void | poly3_span_add (const struct poly3_span *out, const struct poly3_span *a, const struct poly3_span *b, size_t n) |
|
static void | poly3_span_sub (const struct poly3_span *a, const struct poly3_span *b, size_t n) |
|
static OPENSSL_UNUSED int | poly3_top_bits_are_clear (const struct poly3 *p) |
|
static void | poly3_word_add (crypto_word_t *out_s, crypto_word_t *out_a, const crypto_word_t s1, const crypto_word_t a1, const crypto_word_t s2, const crypto_word_t a2) |
|
static void | poly3_word_mul (crypto_word_t *out_s, crypto_word_t *out_a, const crypto_word_t s1, const crypto_word_t a1, const crypto_word_t s2, const crypto_word_t a2) |
|
static void | poly3_word_sub (crypto_word_t *out_s, crypto_word_t *out_a, const crypto_word_t s1, const crypto_word_t a1, const crypto_word_t s2, const crypto_word_t a2) |
|
static void | poly3_zero (struct poly3 *p) |
|
static void | poly_clamp (struct poly *p) |
|
static void | poly_from_poly2 (struct poly *out, const struct poly2 *in) |
|
static void | poly_from_poly3 (struct poly *out, const struct poly3 *in) |
|
static void | poly_invert (struct POLY_MUL_SCRATCH *scratch, struct poly *out, const struct poly *in) |
|
static void | poly_invert_mod2 (struct poly *out, const struct poly *in) |
|
static void | poly_lift (struct poly *out, const struct poly *a) |
|
static void | poly_marshal (uint8_t out[POLY_BYTES], const struct poly *in) |
|
static void | poly_marshal_mod3 (uint8_t out[HRSS_POLY3_BYTES], const struct poly *in) |
|
static void | poly_mod_phiN (struct poly *p) |
|
static void | poly_mul (struct POLY_MUL_SCRATCH *scratch, struct poly *r, const struct poly *a, const struct poly *b) |
|
static void | poly_mul_novec (struct POLY_MUL_SCRATCH *scratch, struct poly *out, const struct poly *x, const struct poly *y) |
|
static void | poly_mul_novec_aux (uint16_t *out, uint16_t *scratch, const uint16_t *a, const uint16_t *b, size_t n) |
|
static void | poly_mul_x_minus_1 (struct poly *p) |
|
static OPENSSL_UNUSED void | poly_print (const struct poly *p) |
|
static void | poly_short_sample (struct poly *out, const uint8_t in[HRSS_SAMPLE_BYTES]) |
|
static void | poly_short_sample_plus (struct poly *out, const uint8_t in[HRSS_SAMPLE_BYTES]) |
|
static int | poly_unmarshal (struct poly *out, const uint8_t in[POLY_BYTES]) |
|
static struct private_key * | private_key_from_external (struct HRSS_private_key *ext) |
|
static struct public_key * | public_key_from_external (struct HRSS_public_key *ext) |
|
static crypto_word_t | word_reverse (crypto_word_t in) |
|