Skip to main content

Module point_decode

Module point_decode 

Source
Expand description

Constant-pattern compressed Edwards-point decoding.

Ed25519 verification begins by recovering the affine X coordinate from a compressed Edwards Y coordinate. PointDecodePipe runs that square-root calculation entirely in hardware. Twenty request contexts share one initiation-interval-one radix-2^51 multiplier; while one context waits for its 17-cycle product, another context issues the next operation.

The exponentiation schedule is deliberately simple: a fixed binary square-and-multiply implementation of (p - 5) / 8. Its 516 field products per point are independent of input data. A verifier can instantiate one lane for public keys and one for signature R values, accepting a pair every 516 clocks without external memory.

Structs§

PointDecodeIn
One compressed point and its caller-selected transaction tag.
PointDecodeOut
Result and flow control from PointDecodePipe.
PointDecodePipe
Twenty-context fixed-schedule Edwards point decoder.

Functions§

point_decode_kernel
State transition for PointDecodePipe.