Skip to main content

Module variable_base

Module variable_base 

Source
Expand description

Constant-pattern variable-base scalar multiplication.

VariableBaseMul computes [scalar]P for a decoded affine point. Every one of the 256 scalar bits executes one complete Edwards doubling and one complete mixed addition; a final multiplexer selects the bit result. The operation count and memory access pattern therefore do not reveal scalar bits.

Four radix-2^51 multipliers execute each formula round together. Twenty independent contexts hide their 17-cycle latency, allowing one four-product round to issue each clock. A lane consumes 1,024 issue clocks per scalar; the strict verifier uses two lanes for a sustained request interval near 512 clocks.

Structs§

VariableBaseIn
Tagged variable-base multiplication request.
VariableBaseMul
Twenty-context, four-multiplier variable-point scalar engine.
VariableBaseOut
Result and flow control from VariableBaseMul.

Functions§

variable_base_kernel
State transition for VariableBaseMul.