iPXE
Data Fields
x25519_projective Struct Reference

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...
 

Detailed Description

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.

Definition at line 259 of file x25519.c.

Field Documentation

◆ X

union x25519_quad257 x25519_projective::X

X coordinate.

Definition at line 261 of file x25519.c.

◆ Z

union x25519_quad257 x25519_projective::Z

Z coordinate.

Definition at line 263 of file x25519.c.


The documentation for this struct was generated from the following file: