mirror of https://github.com/PurpleI2P/i2pd.git
I2P: End-to-End encrypted and anonymous Internet
https://i2pd.website/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
969 B
61 lines
969 B
: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
|
|
|