ВУЗ:
Составители:
{
swap(u1, t1);
swap(u2, t2);
swap(u3, t3);
}
} while (even(u3));
while ((u1 < t1) || (u2 < t2))
{
u1 += v;
u2 += u;
}
u1 -= t1;
u2 -= t2;
u3 -= t3;
} while (t3 > 0);
while ((u1 >= v) && (u2 >= u))
{
u1 -= v;
u2 -= u;
}
u1 <<= k;
u2 <<= k;
u3 <<= k;
result = u - u2;
if (didswap) swap(v, u);
}
int main(int argc, char* argv[])
{
unsigned long u,v, result;
printf("Enter u:");
scanf("%ld",&u);
printf("Enter v: ");
scanf("%ld",&v);
result = -1;
ExtBinEuclid(u, v, result);
printf("Inverse is: %ld",result);
return 0;
}
Алгоритмы возведения в степень в конечном поле
В системах с открытым ключом активно используется техника
возведения в степень в конечном поле или, как ее еще называют, арифметика
вычетов. Такой подход позволяет избежать ситуации переполнения разрядной
сетки при работе с большими числами.
Страницы
- « первая
- ‹ предыдущая
- …
- 83
- 84
- 85
- 86
- 87
- …
- следующая ›
- последняя »