Skip to main content

digit_table

Function digit_table 

Source
pub fn digit_table(entries: usize) -> Program
Expand description

Key loading, step 3: the entries table entries e * Q (e = 1..) of a projective base Q (inputs 0..4 = X, Y, Z, T) in affine Niels form, normalized with one shared inversion. Output 3(e-1) + c is coordinate c (y+x, y-x, 2dxy) of entry e.

entries is 16 for a radix-32 digit and 8 for a radix-16 one. The multiples are Q, 2Q (one doubling), then repeated additions of Q; their Zs are inverted together with Montgomery’s trick as in batch_compress.