3 ms·
As Hal explains in his post [1], this let's you replace a general 256-bit-scalar x curve-point multiplication k x Q by (k1 + k2 x lambda) x Q = k1 x Q + k2 x (
by tromp 6y ago
As Hal explains in his post [1], this let's you replace a general 256-bit-scalar x curve-point multiplication k x Q by
(k1 + k2 x lambda) x Q = k1 x Q + k2 x (lambda x Q)
where k = k1 + k2 x lambda mod n, k1 and k2 are only 128-bit, and lambda has the special property that for some beta,
lambda x Q = (beta x Qx mod p, Qy), i.e. at the cost of just a scalar multiplication, yielding a 25% speedup.
[1] https://bitcointalk.org/index.php?topic=3238.msg45565#msg45565 https://bitcointalk.org/index.php?topic=3238.msg45565#msg455...
- tromp 6y agoApologies for the use of 'x' to denote multiplication. I just figured out that I could have written as asterisk * as 3 asterisks in markdown, but it's too late to edit my post now.