Здравствуйте, Рома Мик, Вы писали:
WH>>>Про умножение столбиком слышал? T>>Слышал, только как его реализовать на асме?
Надо думать, поскольку в соседнем топике temik — а речь идет об RSA, то имеется в виду возведение в степень по некоему модулю.
Простейший алгоритм модульного возведения в степень:
на входе
g — число
e — степень
m — модуль
на выходе
g ^ e mod m
1. A = 1, S = g
2. while( e != 0 )
2.1 if e нечетное A = ( A * S ) % m
2.2 e = e / 2
2.3 if( e != 0 ) S = S * S % m
3. return A
при этом разрядность результатов промежуточных умножений не вылезает за m^2 — 2.
так что если m <= 2^16 то все операции прекрасно можно производить в 32-х битных регистрах.