iPXE
|
An X25519 elliptic curve point in projective coordinates. More...
Data Fields | |
union x25519_quad257 | X |
X coordinate. More... | |
union x25519_quad257 | Z |
Z coordinate. More... | |
An X25519 elliptic curve point in projective coordinates.
A point (x,y) on the Montgomery curve used in X25519 is represented using projective coordinates (X/Z,Y/Z) so that intermediate calculations may be performed on both numerator and denominator separately, with the division step performed only once at the end of the calculation.
The group operation calculation is performed using a Montgomery ladder as:
X[2i] = ( X[i]^2 - Z[i]^2 )^2 X[2i+1] = ( X[i] * X[i+1] - Z[i] * Z[i+1] )^2 Z[2i] = 4 * X[i] * Z[i] * ( X[i]^2 + A * X[i] * Z[i] + Z[i]^2 ) Z[2i+1] = X[0] * ( X[i] * Z[i+1] - X[i+1] * Z[i] ) ^ 2
It is therefore not necessary to store (or use) the value of Y.
union x25519_quad257 x25519_projective::X |
union x25519_quad257 x25519_projective::Z |