Update sage files for new formulae
- formula_secp256k1_gej_double_var - formula_secp256k1_gej_add_ge
This commit is contained in:
parent
d64bb5d4f3
commit
e848c3799c
@ -8,25 +8,20 @@ load("weierstrass_prover.sage")
|
|||||||
def formula_secp256k1_gej_double_var(a):
|
def formula_secp256k1_gej_double_var(a):
|
||||||
"""libsecp256k1's secp256k1_gej_double_var, used by various addition functions"""
|
"""libsecp256k1's secp256k1_gej_double_var, used by various addition functions"""
|
||||||
rz = a.Z * a.Y
|
rz = a.Z * a.Y
|
||||||
rz = rz * 2
|
s = a.Y^2
|
||||||
t1 = a.X^2
|
l = a.X^2
|
||||||
t1 = t1 * 3
|
l = l * 3
|
||||||
t2 = t1^2
|
l = l / 2
|
||||||
t3 = a.Y^2
|
t = -s
|
||||||
t3 = t3 * 2
|
t = t * a.X
|
||||||
t4 = t3^2
|
rx = l^2
|
||||||
t4 = t4 * 2
|
rx = rx + t
|
||||||
t3 = t3 * a.X
|
rx = rx + t
|
||||||
rx = t3
|
s = s^2
|
||||||
rx = rx * 4
|
t = t + rx
|
||||||
rx = -rx
|
ry = t * l
|
||||||
rx = rx + t2
|
ry = ry + s
|
||||||
t2 = -t2
|
ry = -ry
|
||||||
t3 = t3 * 6
|
|
||||||
t3 = t3 + t2
|
|
||||||
ry = t1 * t3
|
|
||||||
t2 = -t4
|
|
||||||
ry = ry + t2
|
|
||||||
return jacobianpoint(rx, ry, rz)
|
return jacobianpoint(rx, ry, rz)
|
||||||
|
|
||||||
def formula_secp256k1_gej_add_var(branch, a, b):
|
def formula_secp256k1_gej_add_var(branch, a, b):
|
||||||
@ -197,7 +192,8 @@ def formula_secp256k1_gej_add_ge(branch, a, b):
|
|||||||
rr_alt = rr
|
rr_alt = rr
|
||||||
m_alt = m
|
m_alt = m
|
||||||
n = m_alt^2
|
n = m_alt^2
|
||||||
q = n * t
|
q = -t
|
||||||
|
q = q * n
|
||||||
n = n^2
|
n = n^2
|
||||||
if degenerate:
|
if degenerate:
|
||||||
n = m
|
n = m
|
||||||
@ -210,8 +206,6 @@ def formula_secp256k1_gej_add_ge(branch, a, b):
|
|||||||
zeroes.update({rz : 'r.z=0'})
|
zeroes.update({rz : 'r.z=0'})
|
||||||
else:
|
else:
|
||||||
nonzeroes.update({rz : 'r.z!=0'})
|
nonzeroes.update({rz : 'r.z!=0'})
|
||||||
rz = rz * 2
|
|
||||||
q = -q
|
|
||||||
t = t + q
|
t = t + q
|
||||||
rx = t
|
rx = t
|
||||||
t = t * 2
|
t = t * 2
|
||||||
@ -219,8 +213,7 @@ def formula_secp256k1_gej_add_ge(branch, a, b):
|
|||||||
t = t * rr_alt
|
t = t * rr_alt
|
||||||
t = t + n
|
t = t + n
|
||||||
ry = -t
|
ry = -t
|
||||||
rx = rx * 4
|
ry = ry / 2
|
||||||
ry = ry * 4
|
|
||||||
if a_infinity:
|
if a_infinity:
|
||||||
rx = b.X
|
rx = b.X
|
||||||
ry = b.Y
|
ry = b.Y
|
||||||
|
Loading…
x
Reference in New Issue
Block a user