| author | |
| committer | |
| log | 3abe464b06ab7d75954abda18dc41bf7af4a3839 |
| tree | d5c9e1883854de1e228493086cfb77652626130a |
| parent | 4266795743d86efc763ecadbc155d068ca1ec45a |
Make recovery of the x-coordinate slightly faster.
See https://mailarchive.ietf.org/arch/msg/cfrg/qlKpMBqxXZYmDpXXIx6LO3Oznv4/
for details.1 files changed, 1 insertions(+), 2 deletions(-)
lib/std/crypto/25519/edwards25519.zig+1-2| ... | ... | @@ -34,8 +34,7 @@ pub const Edwards25519 = struct { |
| 34 | 34 | var v = u.mul(Fe.edwards25519d); |
| 35 | 35 | u = u.sub(z); |
| 36 | 36 | v = v.add(z); |
| 37 | const v3 = v.sq().mul(v); | |
| 38 | var x = v3.sq().mul(v).mul(u).pow2523().mul(v3).mul(u); | |
| 37 | var x = u.mul(v).pow2523().mul(u); | |
| 39 | 38 | const vxx = x.sq().mul(v); |
| 40 | 39 | const has_m_root = vxx.sub(u).isZero(); |
| 41 | 40 | const has_p_root = vxx.add(u).isZero(); |