mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-05-01 05:02:29 +02:00
Add eddsa from ref10 implementation (with some modifications).
This commit is contained in:
parent
2fcc91a755
commit
93d60152d5
84 changed files with 5798 additions and 567 deletions
61
core/crypto/ed25519/pow225521.q
Normal file
61
core/crypto/ed25519/pow225521.q
Normal file
|
@ -0,0 +1,61 @@
|
|||
:name:fe:t0:t1:t2:t3:t4:t5:t6:t7:t8:t9:z:out:
|
||||
fe r:var/r=fe:
|
||||
|
||||
enter f:enter/f:>z1=fe#11:
|
||||
return:nofallthrough:<z_255_21=fe#12:leave:
|
||||
|
||||
h=f*g:<f=fe:<g=fe:>h=fe:asm/fe_mul(>h,<f,<g);:
|
||||
h=f^2^k:<f=fe:>h=fe:#k:asm/fe_sq(>h,<f); for (i = 1;i !lt; #k;++i) fe_sq(>h,>h);:
|
||||
|
||||
:
|
||||
|
||||
fe z1
|
||||
fe z2
|
||||
fe z8
|
||||
fe z9
|
||||
fe z11
|
||||
fe z22
|
||||
fe z_5_0
|
||||
fe z_10_5
|
||||
fe z_10_0
|
||||
fe z_20_10
|
||||
fe z_20_0
|
||||
fe z_40_20
|
||||
fe z_40_0
|
||||
fe z_50_10
|
||||
fe z_50_0
|
||||
fe z_100_50
|
||||
fe z_100_0
|
||||
fe z_200_100
|
||||
fe z_200_0
|
||||
fe z_250_50
|
||||
fe z_250_0
|
||||
fe z_255_5
|
||||
fe z_255_21
|
||||
|
||||
enter pow225521
|
||||
|
||||
z2 = z1^2^1
|
||||
z8 = z2^2^2
|
||||
z9 = z1*z8
|
||||
z11 = z2*z9
|
||||
z22 = z11^2^1
|
||||
z_5_0 = z9*z22
|
||||
z_10_5 = z_5_0^2^5
|
||||
z_10_0 = z_10_5*z_5_0
|
||||
z_20_10 = z_10_0^2^10
|
||||
z_20_0 = z_20_10*z_10_0
|
||||
z_40_20 = z_20_0^2^20
|
||||
z_40_0 = z_40_20*z_20_0
|
||||
z_50_10 = z_40_0^2^10
|
||||
z_50_0 = z_50_10*z_10_0
|
||||
z_100_50 = z_50_0^2^50
|
||||
z_100_0 = z_100_50*z_50_0
|
||||
z_200_100 = z_100_0^2^100
|
||||
z_200_0 = z_200_100*z_100_0
|
||||
z_250_50 = z_200_0^2^50
|
||||
z_250_0 = z_250_50*z_50_0
|
||||
z_255_5 = z_250_0^2^5
|
||||
z_255_21 = z_255_5*z11
|
||||
|
||||
return
|
Loading…
Add table
Add a link
Reference in a new issue