Алгоритми Шаміра, RSA та Діффі-Хеллмана

Шифр, запропонований Аді Шаміром (Adi Shamir), дозволяє організовувати обмін секретними повідомленнями відкритою лінією зв’язку для осіб, які не мають захищених каналів та секретних ключів.

Припустімо, два абоненти А та В сполучені лінією зв’язку (рис.). Абонент А хоче передати повідомлення М абонентові В у такий спосіб, щоб ніхто не дізнався про його зміст. Абонент А обирає випадкове велике просте число р і відкрито передає його абонентові В. Потім А обирає два числа – та такі, що

= 1 mod (p – 1).

 

 

Числа та є секретними. Абонент В теж обирає два секретні числа – та такі, що

1 mod (p – 1).

Після вибору чисел абонент А передає своє повідомлення М, використовуючи триступінчастий протокол. Якщо М < р (М розглядається як число), то повідомлення М передається одразу; якщо М > р, то повідомлення подається у формі М = , де усі < р, і потім передаються послідовно . При цьому для шифрування кожного оптимальніше буде обирати випадково нові пари ( , ) та ( , ) інакше надійність системи знижуватиметься. Сьогодні такий шифр використовується здебільшого для передавання чисел, наприклад секретних ключів, значення яких є менше за р. Тому ми розглядатимемо лише випадок М < р. Подамо опис протоколу.

1) Абонент А обчислює число (mod p) і відкритою лінією зв’язку надсилає абонентові В.

2) Абонент В, отримавши , обчислює число (mod p) івідкритою лінією зв’язку надсилає абонентові А.

3) Сторона А обчислює число С (mod p) й передає його стороні В.

4) Сторона В, отримавши число С, обчислює повідомлення М C (mod p).

RSA

У довільний спосіб обираються два великі прості числа p та q. Обчислюється добуток n = pq. Обчислюється функція Ейлера: (n) = (p – 1)(q – 1).

Довільно обирається просте число e – ключ зашифровування, яке задовольняє умовам e (n); НСД (е, (n)) = 1.

Обчислюється число d – ключ розшифровування, яке є оберненим до числа e, тобто

ed 1 (mod (n)).

Пару чисел (e, n) робимо відкритим ключем і розміщуємо у загальнодоступному довіднику, а числа p, q тримаються у секреті, d – секретний ключ. При шифруванні повідомлення М спочатку розкладаємо на цифрові блоки, чиї розміри є менше за n, тобто якщо p та q є 100-розрядними простими числами, то n міститиме близько 200 розрядів і кожен блок повідомлення повинен мати близько 200 розрядів у довжину. Зашифроване повідомлення C складатиметься з блоків такої самої довжини. Формула зашифровування буде мати вигляд

C M (mod n).

Розшифровування забезпечується операцією піднесення до степеня d за модулем n одержаного шифртексту С:

M C (mod n).








Дата добавления: 2015-03-07; просмотров: 719;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.