|
#define | _XOPEN_SOURCE 600 /* for posix_memalign */ |
|
#define | API_NS(_id) decaf_448_##_id |
|
#define | SCALAR_BITS DECAF_448_SCALAR_BITS |
|
#define | SCALAR_SER_BYTES DECAF_448_SCALAR_BYTES |
|
#define | SCALAR_LIMBS DECAF_448_SCALAR_LIMBS |
|
#define | scalar_t API_NS(scalar_t) |
|
#define | point_t API_NS(point_t) |
|
#define | precomputed_s API_NS(precomputed_s) |
|
#define | IMAGINE_TWIST 0 |
|
#define | COFACTOR 4 |
|
#define | COMBS_N 5 |
|
#define | COMBS_T 5 |
|
#define | COMBS_S 18 |
|
#define | DECAF_WINDOW_BITS 5 |
|
#define | DECAF_WNAF_FIXED_TABLE_BITS 5 |
|
#define | DECAF_WNAF_VAR_TABLE_BITS 3 |
|
#define | EDDSA_USE_SIGMA_ISOGENY 0 |
|
#define | RISTRETTO_FACTOR DECAF_448_RISTRETTO_FACTOR |
|
#define | TWISTED_D ((EDWARDS_D)-1) |
|
#define | EFF_D (-(TWISTED_D)) |
|
#define | NEG_D 1 |
|
#define | WBITS DECAF_WORD_BITS /* NB this may be different from ARCH_WORD_BITS */ |
|
|
const point_t | API_NS (point_base) |
|
const gf | API_NS (precomputed_base_as_fe)[] |
|
const precomputed_s * | API_NS (precomputed_base) |
|
const size_t | API_NS (sizeof_precomputed_s) |
|
const size_t | API_NS (alignof_precomputed_s) |
|
const point_t | API_NS (point_identity) |
| identity = (0,1)
|
|
void API_NS() | deisogenize (gf_s *__restrict__ s, gf_s *__restrict__ inv_el_sum, gf_s *__restrict__ inv_el_m1, const point_t p, mask_t toggle_s, mask_t toggle_altx, mask_t toggle_rotation) |
|
void API_NS() | point_encode (unsigned char ser[SER_BYTES], const point_t p) |
|
decaf_error_t API_NS() | point_decode (point_t p, const unsigned char ser[SER_BYTES], decaf_bool_t allow_identity) |
|
void API_NS() | point_sub (point_t p, const point_t q, const point_t r) |
|
void API_NS() | point_add (point_t p, const point_t q, const point_t r) |
|
void API_NS() | point_double (point_t p, const point_t q) |
|
void API_NS() | point_negate (point_t nega, const point_t a) |
|
void API_NS() | point_scalarmul (point_t a, const point_t b, const scalar_t scalar) |
|
void API_NS() | point_double_scalarmul (point_t a, const point_t b, const scalar_t scalarb, const point_t c, const scalar_t scalarc) |
|
void API_NS() | point_dual_scalarmul (point_t a1, point_t a2, const point_t b, const scalar_t scalar1, const scalar_t scalar2) |
|
decaf_bool_t API_NS() | point_eq (const point_t p, const point_t q) |
|
decaf_bool_t API_NS() | point_valid (const point_t p) |
|
void API_NS() | point_debugging_torque (point_t q, const point_t p) |
|
void API_NS() | point_debugging_pscale (point_t q, const point_t p, const uint8_t factor[SER_BYTES]) |
|
void API_NS() | precompute (precomputed_s *table, const point_t base) |
|
void API_NS() | precomputed_scalarmul (point_t out, const precomputed_s *table, const scalar_t scalar) |
|
void API_NS() | point_cond_sel (point_t out, const point_t a, const point_t b, decaf_bool_t pick_b) |
|
decaf_error_t API_NS() | direct_scalarmul (uint8_t scaled[SER_BYTES], const uint8_t base[SER_BYTES], const scalar_t scalar, decaf_bool_t allow_identity, decaf_bool_t short_circuit) |
|
void API_NS() | point_mul_by_ratio_and_encode_like_eddsa (uint8_t enc[DECAF_EDDSA_448_PUBLIC_BYTES], const point_t p) |
|
decaf_error_t API_NS() | point_decode_like_eddsa_and_mul_by_ratio (point_t p, const uint8_t enc[DECAF_EDDSA_448_PUBLIC_BYTES]) |
|
decaf_error_t | decaf_x448 (uint8_t out[X_PUBLIC_BYTES], const uint8_t base[X_PUBLIC_BYTES], const uint8_t scalar[X_PRIVATE_BYTES]) |
|
void | decaf_ed448_convert_public_key_to_x448 (uint8_t x[DECAF_X448_PUBLIC_BYTES], const uint8_t ed[DECAF_EDDSA_448_PUBLIC_BYTES]) |
| EdDSA to ECDH public key conversion Deserialize the point to get y on Edwards curve, Convert it to u coordinate on Montgomery curve. More...
|
|
void | decaf_x448_generate_key (uint8_t out[X_PUBLIC_BYTES], const uint8_t scalar[X_PRIVATE_BYTES]) |
|
void API_NS() | point_mul_by_ratio_and_encode_like_x448 (uint8_t out[X_PUBLIC_BYTES], const point_t p) |
|
void | decaf_x448_derive_public_key (uint8_t out[X_PUBLIC_BYTES], const uint8_t scalar[X_PRIVATE_BYTES]) |
|
Decaf high-level functions.
- Author
- Mike Hamburg
- Copyright
- Copyright (c) 2015-2016 Cryptography Research, Inc.
Released under the MIT License. See LICENSE.txt for license information.
- Warning
- This file was automatically generated in Python. Please do not edit it.