Let us walk on the 3-isogeny graph
|
#include "utilities.h"
Go to the source code of this file.
Functions | |
void | multiplication_u64 (uint64_t *output_low, uint64_t *output_high, uint64_t input_a, uint64_t input_b) |
void | conditional_move_u64 (uint64_t *output, uint8_t input_decision, uint64_t input_a, uint64_t input_b) |
uint64_t | constant_time_is_nonzero_u64 (uint64_t x) |
uint64_t | constant_time_is_zero_u64 (uint64_t x) |
uint64_t | constant_time_is_lessthan_u64 (uint64_t x, uint64_t y) |
uint8_t | constant_time_compare (const uint8_t *input_a, const uint8_t *input_b, uint64_t input_length) |
void | constant_time_conditional_mov (uint8_t *output, const uint8_t *input, uint64_t input_length, uint8_t input_selector) |
void | multiprecision_shift_to_right (uint64_t *input_a_output_shifted_a, uint64_t input_words_length) |
void | multiprecision_shift_to_left (uint64_t *input_a_output_shifted_a, uint64_t input_words_length) |
void | multiprecision_addition (uint64_t *output, const uint64_t *input_a, const uint64_t *input_b, uint64_t input_length) |
void | multiprecision_subtraction (uint64_t *output, const uint64_t *input_a, const uint64_t *input_b, uint64_t input_length) |
uint8_t | multiprecision_is_smaller (const uint64_t *input_a, const uint64_t *input_b, uint64_t input_length) |
void conditional_move_u64 | ( | uint64_t * | output, |
uint8_t | input_decision, | ||
uint64_t | input_a, | ||
uint64_t | input_b ) |
Definition at line 40 of file utilities.c.
uint8_t constant_time_compare | ( | const uint8_t * | input_a, |
const uint8_t * | input_b, | ||
uint64_t | input_length ) |
Definition at line 62 of file utilities.c.
References i.
Referenced by multiprecision_is_smaller().
void constant_time_conditional_mov | ( | uint8_t * | output, |
const uint8_t * | input, | ||
uint64_t | input_length, | ||
uint8_t | input_selector ) |
uint64_t constant_time_is_lessthan_u64 | ( | uint64_t | x, |
uint64_t | y ) |
Definition at line 58 of file utilities.c.
Referenced by isogeny_walks_3_fp(), isogeny_walks_3_fp(), and multiprecision_is_smaller().
uint64_t constant_time_is_nonzero_u64 | ( | uint64_t | x | ) |
Definition at line 50 of file utilities.c.
Referenced by constant_time_is_zero_u64().
uint64_t constant_time_is_zero_u64 | ( | uint64_t | x | ) |
Definition at line 54 of file utilities.c.
References constant_time_is_nonzero_u64().
void multiplication_u64 | ( | uint64_t * | output_low, |
uint64_t * | output_high, | ||
uint64_t | input_a, | ||
uint64_t | input_b ) |
Definition at line 7 of file utilities.c.
void multiprecision_addition | ( | uint64_t * | output, |
const uint64_t * | input_a, | ||
const uint64_t * | input_b, | ||
uint64_t | input_length ) |
Definition at line 98 of file utilities.c.
References addition_with_carry_u64, and i.
uint8_t multiprecision_is_smaller | ( | const uint64_t * | input_a, |
const uint64_t * | input_b, | ||
uint64_t | input_length ) |
Definition at line 111 of file utilities.c.
References constant_time_compare(), constant_time_is_lessthan_u64(), i, and j.
Referenced by fp_is_smaller(), and fp_sample().
void multiprecision_shift_to_left | ( | uint64_t * | input_a_output_shifted_a, |
uint64_t | input_words_length ) |
Definition at line 89 of file utilities.c.
References constant_time_shift_to_left_u64, and i.
void multiprecision_shift_to_right | ( | uint64_t * | input_a_output_shifted_a, |
uint64_t | input_words_length ) |
Definition at line 80 of file utilities.c.
References constant_time_shift_to_right_u64, and i.
Referenced by fp_half().
void multiprecision_subtraction | ( | uint64_t * | output, |
const uint64_t * | input_a, | ||
const uint64_t * | input_b, | ||
uint64_t | input_length ) |
Definition at line 103 of file utilities.c.
References i, and subtraction_with_borrow_u64.