mirror of
https://github.com/cathugger/mkp224o.git
synced 2026-01-26 11:12:09 -06:00
init
This commit is contained in:
28
ed25519/ref10/d.py
Normal file
28
ed25519/ref10/d.py
Normal file
@@ -0,0 +1,28 @@
|
||||
q = 2**255 - 19
|
||||
|
||||
def expmod(b,e,m):
|
||||
if e == 0: return 1
|
||||
t = expmod(b,e/2,m)**2 % m
|
||||
if e & 1: t = (t*b) % m
|
||||
return t
|
||||
|
||||
def inv(x):
|
||||
return expmod(x,q-2,q)
|
||||
|
||||
def radix255(x):
|
||||
x = x % q
|
||||
if x + x > q: x -= q
|
||||
x = [x,0,0,0,0,0,0,0,0,0]
|
||||
bits = [26,25,26,25,26,25,26,25,26,25]
|
||||
for i in range(9):
|
||||
carry = (x[i] + 2**(bits[i]-1)) / 2**bits[i]
|
||||
x[i] -= carry * 2**bits[i]
|
||||
x[i + 1] += carry
|
||||
result = ""
|
||||
for i in range(9):
|
||||
result = result+str(x[i])+","
|
||||
result = result+str(x[9])
|
||||
return result
|
||||
|
||||
d = -121665 * inv(121666)
|
||||
print radix255(d)
|
||||
Reference in New Issue
Block a user