Module curve25519_dalek::constants [] [src]

This module contains various constants (such as curve parameters and useful field elements like sqrt(-1)), as well as lookup tables of pre-computed points.

Constants

A

In Montgomery form y² = x³+Ax²+x, Curve25519 has A=486662.

BASE_CMPRSSD

Basepoint has y = 4/5.

ED25519_BASEPOINT_POINT

Basepoint has y = 4/5. This is called _POINT to distinguish it from _TABLE, which should be used for scalar multiplication (it's much faster).

ED25519_BASEPOINT_TABLE

Table containing precomputed multiples of the basepoint B = (x,4/5).

EIGHT_TORSION

The 8-torsion subgroup Ɛ[8].

HALF

Precomputed value of 1/2 (mod p).

HALF_P_MINUS_1_BYTES

(p-1)/2, in little-endian bytes.

HALF_Q_MINUS_1_BYTES

HALF_Q_MINUS_1_BYTES is (2255-20)/2 expressed in little endian form.

MSQRT_M1

Precomputed value of the other square root of -1 (mod p), i.e., MSQRT_M1 = -SQRT_M1.

SQRT_M1

Precomputed value of one of the square roots of -1 (mod p)

SQRT_MINUS_A

SQRT_MINUS_A is sqrt(-486662)

SQRT_MINUS_APLUS2

SQRT_MINUS_APLUS2 is sqrt(-486664)

SQRT_MINUS_HALF

SQRT_MINUS_HALF is sqrt(-1/2)

a_minus_d
bi
d
d2
d4
inv_a_minus_d
invsqrt_a_minus_d
l

l is the order of base point, i.e. 2252 + 27742317777372353535851937790883648493, in little-endian form

l_minus_1

l_minus_1 is the order of base point minus one, i.e. 2252 + 27742317777372353535851937790883648493 - 1, in little-endian form

l_minus_2

lminus1 is the order of base point minus two, i.e. 2252 + 27742317777372353535851937790883648493 - 2, in little-endian form