Page 38 - 4394
P. 38

Шифрування  кореспонденції.  Нехай  особа  В  хоче  надіслати
         лист  М  особі  А.  З  цією  метою  В  обчислює  Е (М)  і  надсилає
                                                                               K2
         результат А. Особа А отримує Е (М)  й обчислює D (Е (М)) = М.
                                                                                  K1
                                                                                       К2
                                                      K2
         Не знаючи ключа K1, практично неможливо дешифрувати Е (М).
                                                                                               K2
         Тому лише особа А може прочитати призначений їй лист від особи
         В.
                 Підтвердження. Нехай особа А хоче розіслати повідомлення

         Т, підтверджуючи водночас, що вона є його автором. Для цього А
         шифрує  Т  як  Е (Т).  Після  цього  будь-який  адресат  дешифрує
                                 K1
         повідомлення            за     допомогою          публічного          ключа        K2      як
         D (E (T)) = Т.
            K2
                 K1
                 Нехай маємо певну систему з великою кількістю користувачів,
         і  кожен  з  них  може  надіслати  таємне  повідомлення  до  іншого.
         Одиницями  явного  тексту  є  цілі  числа  з  вибраного  користувачем

         діапазону.  Повідомлення  може  складатися  з  блоків  літер  абетки,
         наприклад, української. Кожна літера відображена своїм номером у
         абетці  (нагадуємо,  що  нумерацію  літер  починають  з  нуля).

         Водночас зазначимо, що повідомлення не обов'язково повинно бути
         текстом.  Це  може  бути  будь-яка  інформація:  звуковий  сигнал,
         зображення  (світлина  чи  фільм),  база  даних  тощо.  На  практиці

         одиниці  явного  тексту  мають  за  статистикою  від  200  до  600
         десяткових знаків.
                 Вибір ключа. Випадково вибирають два великі прості числа р і
         q та обчислює їхній добуток п = рq. Випадково призначають число

         e таке, що е < (п) = (р - 1)(q - 1), де (п) – значення функції Ейлера
         для п (функція Ейлера (п) повертає кількість натуральних чисел,

         які  менші  від п  і  взаємно  прості  з  п). Число  е  повинно  бути  того
         самого порядку, що й число п і, крім того, числа е та (п) повинні
         бути  взаємно  простими:  НСД(е,  (п))  =  1.  Тут  НСД  означає

         найбільший  спільний  дільник.  За  допомогою  алгоритму  Евкліда
         обчислює число d, що задовольняє умову

                               e*d  1 (mod (п)).

                        У цьому разі, пара е, п є утвореним публічним ключем, а

         число d - утвореним приватним ключем для алгоритму RSA.
                 Шифрування. Шифрувати можна числа т з проміжку 0 < т <
                                                                                     e
         п. Шифрування полягає в обчисленні значень Е(т) = т  mod п. Тоді
         для блока явного тексту т отримуємо криптограму  с = Е(т).
                                                                                          d
                 Дешифрування полягає в обчисленні значень D(c) = c  mod п.



                                                                 38
   33   34   35   36   37   38   39   40   41   42   43