26 #define X25519_SIZE bigint_required_size ( ( 267 + 7 ) / 8 )
const union x25519_oct258 oct258
X25519 unsigned 258-bit integer.
An X25519 unsigned 257-bit integer.
An X25519 unsigned 258-bit integer.
void x25519_multiply(const union x25519_oct258 *multiplicand, const union x25519_oct258 *multiplier, union x25519_quad257 *result)
Multiply big integers modulo field prime.
pseudo_bit_t value[0x00020]
int x25519_key(const struct x25519_value *base, const struct x25519_value *scalar, struct x25519_value *result)
Calculate X25519 key.
x25519_t value
Big integer value.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
void x25519_reduce(union x25519_quad257 *value)
Reduce big integer to canonical range.
static const uint32_t multiplier
Port multiplier number.
#define X25519_SIZE
X25519 unsigned big integer size.
uint8_t raw[32]
Raw value.
struct elliptic_curve x25519_curve
X25519 elliptic curve.
void x25519_invert(const union x25519_oct258 *invertend, union x25519_quad257 *result)
Compute multiplicative inverse.
typedef bigint_t(X25519_SIZE) x25519_t
An X25519 unsigned big integer used in internal calculations.
x25519_t value
Big integer value.