Методы и задачи криптографической защиты информации. Мартынов А.И. - 85 стр.

UptoLike

Составители: 

{
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;
}
Алгоритмы возведения в степень в конечном поле
В системах с открытым ключом активно используется техника
возведения в степень в конечном поле или, как ее еще называют, арифметика
вычетов. Такой подход позволяет избежать ситуации переполнения разрядной
сетки при работе с большими числами.