Проведення операції модульного зведення в ступінь шляхом послідовного множення числа А на самого себе, що застосовується для зашифрування / розшифрування в RSA, вимагає великого обсягу пам'яті для зберігання отриманих чисел і часу. Для вирішення цієї проблеми існує метод послідовного зведення в квадрат, за допомогою якого можна домогтися, щоб не виникали числа, великі А2, і при цьому істотно зросла швидкість зведення в ступінь. Суть його полягає в наступному:
1. У представляється у двійковому вигляді:
до
В =?г (2'', де Xi = 0 + 1 і к = [log2B] + 1.
i = 0
2. Потім обчислюються числа виду (A2 mod n, де i - 0-г к); дані обчислення вимагають до возведений в квадрат.
3. Далі числа A2 mod n послідовно перемножуються з одночасним зведенням по mod n; цих операцій буде не більше до - 1.
уявленнями чисел в машині. Так, при вживанні двійкового подання числа використовується на 20% менше пам'яті, ніж при двійковій-десятковому поданні.
criptogrof.ru Криптография: защита информации и информационная безопасность Карты сайта: 1 2 3 4
