aboutsummaryrefslogtreecommitdiffhomepage
path: root/pyecsca/ec/efd/edwards/yz/doubling/dbl-2006-g
diff options
context:
space:
mode:
Diffstat (limited to 'pyecsca/ec/efd/edwards/yz/doubling/dbl-2006-g')
-rw-r--r--pyecsca/ec/efd/edwards/yz/doubling/dbl-2006-g7
1 files changed, 7 insertions, 0 deletions
diff --git a/pyecsca/ec/efd/edwards/yz/doubling/dbl-2006-g b/pyecsca/ec/efd/edwards/yz/doubling/dbl-2006-g
new file mode 100644
index 0000000..3cc3673
--- /dev/null
+++ b/pyecsca/ec/efd/edwards/yz/doubling/dbl-2006-g
@@ -0,0 +1,7 @@
+source 2006 Gaudry "Variants of the Montgomery form based on Theta functions", page 22/52, with A^2/B^2 = (a^2+b^2)/(a^2-b^2) as on page 20/52, replacing incorrect B^2/A^2 and b/a on page 22/52 with correct A^2/B^2 and a/b; or 2009 Gaudry--Lubicz "The arithmetic of characteristic 2 Kummer surfaces and of elliptic Kummer lines", Section 6.2, replacing incorrect A'/B' = (a^2+b^2)/(a^2-b^2) with correct A'^2/B'^2 = (a^2+b^2)/(a^2-b^2), replacing A'^2/B'^2 with A^2/B^2, and replacing z... with y...; plus notation changes: a/b and A^2/B^2 defined as 1/sqrt(r) and (1+r)/(1-r), input x^2/y^2 replaced by r Z1^2/Y1^2, intermediate x'/y' replaced by W/V, output X/Y replaced by sqrt(r) Z3/Y3
+parameter s
+assume s = (1+r)/(1-r)
+compute V = s(r Z1^2-Y1^2)^2
+compute W = (r Z1^2+Y1^2)^2
+compute Y3 = W-V
+compute Z3 = W+V