Commit 689be3a8 authored by Moritz Neikes's avatar Moritz Neikes
Browse files

Revert the changes to inverse function

parent 889f3a7e
......@@ -280,7 +280,6 @@ int mpi_equals(mpi *a, mpi *b) {
}
void mpi_inverse255_19(mpi* res, mpi *x) {
uint32_t buf_z2[LIMBS];
uint32_t buf_z9[LIMBS];
uint32_t buf_z11[LIMBS];
......@@ -290,7 +289,7 @@ void mpi_inverse255_19(mpi* res, mpi *x) {
uint32_t buf_z2_50_0[LIMBS];
uint32_t buf_z2_100_0[LIMBS];
uint32_t buf_t[LIMBS];
uint32_t buf_t2[LIMBS];
uint32_t buf_t2[LIMBS*2];
mpi z2, z9, z11, z2_5_0, z2_10_0, z2_20_0, z2_50_0, z2_100_0, t, t2;
mpi_init(&z2, LIMBS, buf_z2);
mpi_init(&z9, LIMBS, buf_z9);
......@@ -301,44 +300,73 @@ void mpi_inverse255_19(mpi* res, mpi *x) {
mpi_init(&z2_50_0, LIMBS, buf_z2_50_0);
mpi_init(&z2_100_0, LIMBS, buf_z2_100_0);
mpi_init(&t, LIMBS, buf_t);
mpi_init(&t2, LIMBS, buf_t2);
mpi_init(&t2, LIMBS*2, buf_t2);
int i;
mpi_mult(&z2, x, x);
mpi_mult(&t, &z2, &z2);
// print("Initialization\n");
mpi_mult(&t2, x, x);
mpi_mod255_19(&z2, &t2);
mpi_mult(&t2, &z2, &z2);
mpi_mod255_19(&t, &t2);
mpi_mult(&t2, &t, &t);
mpi_mult(&z9, &t2, x);
mpi_mult(&z11, &z9, &z2);
mpi_mult(&t, &z11, &z11);
mpi_mult(&z2_5_0, &t, &z9);
mpi_mult(&t, &z2_5_0, &z2_5_0);
for (i = 1;i < 5;i++) { mpi_mult(&t, &t, &t); }
mpi_mult(&z2_10_0, &t, &z2_5_0);
mpi_mult(&t, &z2_10_0, &z2_10_0);
for (i = 1;i < 10;i++) { mpi_mult(&t, &t, &t); }
mpi_mult(&z2_20_0, &t, &z2_10_0);
mpi_mult(&t, &z2_20_0, &z2_20_0);
for (i = 1;i < 20;i++) { mpi_mult(&t, &t, &t); }
mpi_mod255_19(&t, &t2);
mpi_mult(&t2, &t, x);
mpi_mod255_19(&z9, &t2);
mpi_mult(&t2, &z9, &z2);
mpi_mod255_19(&z11, &t2);
mpi_mult(&t2, &z11, &z11);
mpi_mod255_19(&t, &t2);
mpi_mult(&t2, &t, &z9);
mpi_mod255_19(&z2_5_0, &t2);
mpi_mult(&t2, &z2_5_0, &z2_5_0);
mpi_mod255_19(&t, &t2);
// print("Tick\n");
for(i=1; i<5; i++) { mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2); }
mpi_mult(&t2, &t, &z2_5_0);
mpi_mod255_19(&z2_10_0, &t2);
mpi_mult(&t2, &z2_10_0, &z2_10_0);
mpi_mod255_19(&t, &t2);
for(i=1; i<10; i++) { mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2); }
mpi_mult(&t2, &t, &z2_10_0);
mpi_mod255_19(&z2_20_0, &t2);
mpi_mult(&t2, &z2_20_0, &z2_20_0);
mpi_mod255_19(&t, &t2);
for(i=1; i<20; i++) { mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2); }
mpi_mult(&t2, &t, &z2_20_0);
mpi_mult(&t, &t2, &t2);
for (i = 1;i < 10;i++) { mpi_mult(&t, &t, &t); }
mpi_mult(&z2_50_0, &t, &z2_10_0);
mpi_mult(&t, &z2_50_0, &z2_50_0);
for (i = 1;i < 50;i++) { mpi_mult(&t, &t, &t); }
mpi_mult(&z2_100_0, &t, &z2_50_0);
mpi_mult(&t, &z2_100_0, &z2_100_0);
for (i = 1;i < 100;i++) { mpi_mult(&t, &t, &t); }
mpi_mult(&t2, &t, &z2_100_0);
mpi_mult(&t, &t2, &t2);
for (i = 1;i < 50;i++) { mpi_mult(&t, &t, &t); }
mpi_mod255_19(&t, &t2);
mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2);
for(i=1; i<10; i++) { mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2); }
mpi_mult(&t2, &t, &z2_10_0);
mpi_mod255_19(&z2_50_0, &t2);
mpi_mult(&t2, &z2_50_0, &z2_50_0);
mpi_mod255_19(&t, &t2);
for(i=1; i<50; i++) { mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2); }
mpi_mult(&t2, &t, &z2_50_0);
mpi_mult(&t, &t2, &t2);
mpi_mod255_19(&z2_100_0, &t2);
mpi_mult(&t2, &z2_100_0, &z2_100_0);
mpi_mod255_19(&t, &t2);
for(i=1; i<100; i++) { mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2); }
mpi_mult(&t2, &t, &z2_100_0);
mpi_mod255_19(&t, &t2);
mpi_mult(&t2, &t, &t);
mpi_mult(&t, &t2, &t2);
mpi_mod255_19(&t, &t2);
for(i=1; i<50; i++) { mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2); }
mpi_mult(&t2, &t, &z2_50_0);
mpi_mod255_19(&t, &t2);
mpi_mult(&t2, &t, &t);
mpi_mult(&t, &t2, &t2);
mpi_mult(res, &t, &z11);
mpi_mod255_19(&t, &t2);
for(i=1; i<5; i++) { mpi_mult(&t2, &t, &t);
mpi_mod255_19(&t, &t2); }
mpi_mult(&t2, &t, &z11);
mpi_mod255_19(res, &t2);
}
void init_p(mpi* t) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment