commit 75382db94fb92f5f46de2dd7abbb5b9899975092 parent d3d611f6e5f43d343eba3467d6e36aa9f0bb37e9 Author: erai <erai@omiltem.net> Date: Thu, 9 May 2024 12:23:06 -0400 fix birational map Diffstat:
M | ed25519.c | | | 15 | +++++++++------ |
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/ed25519.c b/ed25519.c @@ -23,15 +23,18 @@ // y = 46316835694926478169428394003475163141307993866256225615783033603165251855960 // = 0x6666666666666666666666666666666666666666666666666666666666666658 // -// sqrt(156324) = 47404633599747791082622660160935871366498103638773495046873171379078394303736 -// = 0x68ce126131538b6f95c59117d7277a48f9c5a6a70777247b129d5ae54d6454f8 +// sqrt(-486664) = 6853475219497561581579357271197624642482790079785650197046958215289687604742 +// = 0xf26edf460a006bbd27b08dc03fc4f7ec5a1d3d14b7d1a82cc6e04aaff457e06 // // birational map -// u = (y - 1) / (y + 1) -// v = sqrt(156324) * u / x // -// x = sqrt(156324) * u / v -// y = (1 + u) / (1 - u) +// ed25519 -> cv25519 +// u = (1 + y) / (1 - y) +// v = sqrt(-486664) * u / x +// +// cv25519 -> ed25519 +// x = sqrt(-486664) * u / v +// y = (u - 1) / (u + 1) struct _ed25519_limb { x0: int;