Research Article
Crystals-Dilithium on ARMv8
Algorithm 4
Butterfly method on ARM processor.
(1) | Input:in1 (x8), in2 (x9) ⊳ 4 (in1:2, int2:2) coefficient on ARM | (2) | Output: out1, out2 ⊳ 4 (out1:2, out2:2) coefficient on ARM | (3) | // Butterfly 1 | (4) | ⊳ = in2 ( : 1 coefficient ) zetas | (5) | ⊳ | (6) | ⊳ | (7) | ⊳ | (8) | ⊳ Addition: in1 | (9) | ⊳ Subtraction: in1 | (10) | // Masking | (11) | ⊳ (in1: 1 coefficient ) = | (12) | ⊳ (in2: 1 coefficient ) = | (13) | // Butterfly 2 | (14) | ⊳ = in2 ( : 1 coefficient ) zetas | (15) | ⊳ | (16) | ⊳ | (17) | ⊳ | (18) | ⊳ Addition: in1 | (19) | ⊳ Subtraction: in1 | (20) | // Concatenation | (21) | ⊳ | (22) | ⊳ |
|