p align="justify"> Тобто для шифрування і дешифрування необхідні різні ключі:
В· Відкритий;
В· Закритий.
Відкритий ключ використовується для шифрування даних, а секретний ключ (закритий) для їх дешифрування. Такий підхід в цій криптографічного системі дає можливість передавати ключ, який використовувався для шифрування, передавати по відкритому каналу, оскільки навіть при отриманні зловмисником відкритого ключа, дешифрировать повідомлення буде практично неможливо. p align="justify"> Так само варто врахувати той факт, що алгоритм шифрування RSA розрахований на роботу з довгою арифметикою, що відповідно пояснює неможливість підбору ключа для дешифрування.
Шифрування вихідного файлу Х в RSA проводиться шляхом зведення в ступінь, рівну відкритому ключу Kо за модулем великого числа r, де 0
Тобто отримуємо такий вираз для шифрування:
Y = E Kо (X) = X Kо mod r.
У наведеному вище виразі, Е Ко алгоритм шифрування.
r - є результатом множення двох простих великих чисел Pи q.
Використання такого виразу для шифрування є використання, так званих, односторонніх функцій, які мають наступну властивість:
) Якщо відомо, то обчислити відносно просто
) Якщо відомо, то для обчислення немає простої (ефективного) шляху.
Під однобічністю розуміється не теоретична односпрямованість, а практична неможливість обчислити зворотне значення, використовуючи сучасні обчислювальні засоби, за доступний для огляду інтервал часу.
Процедура формування параметрів алгоритму RSA виглядає наступним чином:
) генеруються два великих простих числа: p і q, p? q;
) обчислюється твір даних чисел: r = p В· q;
) знаходиться функція Ейлера від r: ? (r) = (p-1) В· (q-1 );
4) генерується значення відкритого ключа Kо, виходячи з таких умов: Kо < ? (r), (K про, ? (r)) = 1;
5) обчислюється мультиплікативне інверсне за модулем ? (r) для Kо.
Отримане значення буде закритим ключем Kс.
...