crazy писал(а):
забегая в перёд - как по вашему мнению, сколько разрядов(двоичных) потянет AVRка, чтобы вычисления не растягивались более чем на пару секунд?
потянет ли она вообще разрядность при которой можно будет говорить о хоть как-то стойкости алгоритма?
Если не сильно оптимизируя, то получим - перемножить 2 числа длиной N байт займет для AVR-ки времени K*N*N где K - некая константа (зависит от метода умножения, ну скажем пусть будет 5), возведение числа длиной N байт в степень длиной N байт по модулю числа длиной N байт же займет времени соответственно что-то около 16*K*N*N*N (нам потребуется сделать 8*N шагов, на каждом шаге - 2 умножения длительностью K*N*N, еще и вычесть может придется, но это явно меньше K*N операций, так что не считаем вообще вычитание за затраты времени), это используя двоичное возведение в степень по модулю.
Итого если хотите делать все за 1 секунду, то получается что у вас при штатных максимальных 16МГц есть на все про все 16'000'000 операций, делим их на 16*5, получаем 200'000, извлекаем корень третьей степени и получаем чуть больше 50 байт, т.е. 400бит.
По всем меркам это очень неплохая стойкость, 256-бит вроде уже в коммерции применяют...
Надеюсь нигде сильно не ошибся
![Smile :)](http://roboforum.ru/images/smilies/icon_smile.gif)