А переход на 128-битные числа нужен принципиально? Если нет, почему бы не обойти это дело таким трюком:
a = s\N (результат целочисленного деления, пардон за Basic)
b = s mod N
s = a*N + b
Тогда:
s^2 = a^2*N^2 + 2*a*b*N + b^2
В результате получаем:
u = s^2 mod N = b^2 mod N = (s mod N)^2 mod N
Разве не так?
|