Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Алгоритм RSA.

Нехай користувач А хоче передати користувачу В зашифроване повідомлення.

Для цього користувач В:

1) обирає два довільних великих простих числа p і q і тримає їх в таємниці (при сучасних обчислювальних потужностях комп’ютерів для забезпечення достатньої для практики криптостійкості ці числа повинні бути приблизно однакової розрядності і мати довжину 200 і більше десяткових розрядів. Для спрощення обчислень в даній лабораторній роботі приймемо p=3, q=11);

2) обчислює значення модуля n=pq(n=3·11=33);

3) обчислює функцію Ейлера j(n)=(p-1)(q-1) (j(n)=2·10=20) і вибирає випадкове число е взаємно просте з j(N)– відкритий ключ (нехай e=7);

4) обчислює значення закритого ключа d,що задовольняє умові ed≡1(mod φ(n)), наприклад, з допомогою розширеного алгоритму Евкліда (в нашому випадку 7·d = k·20 + 1, звідки при k = 1, d = 3);

5) пересилає користувачу А пару чисел (e, n) по незахищеному каналу.

При цьому користувач А:

1) розбиває вихідний відкритий текст М (наприклад "ключ") у цифровому вигляді (в нашому випадку М=13142926) на блоки, кожний з яких є числом з діапазону mi = 0, 1, …, n-1(в нашому випадку m1 = 13, m2 = 14, m3= 29, m4 = 26);

2) за допомогою відкритого ключа eшифрує текст, представлений у вигляді послідовності чисел mi, за формулою ci = mie mod n(в нашому випадку с1 = 137mod 33=07, с2 = 20, с3 = 17, с4 = 05);

3) відправляє криптограму C={ci}(в нашому випадку С=07201705) користувачу В.

Користувач В розшифровує прийняту криптограму C, використовуючи закритий ключ d за формулою mi=cid mod n(в нашому випадку m1 = 73mod 33=13 і т.д).

У результаті буде отримана послідовність чисел {mi}, що являють собою вихідне повідомлення М.

Зловмисник знає значення e, n, ci, але не знає d. Задача визначення числа d зводиться до задачі розкладу на множники числа n. Після цього можна буде знайти j(n)і обчислити d. Таким чином законний користувач знаючи закритий ключ може досить легко розшифрувати повідомлення. Зловмисник, не маючи закритого ключа, повинен вирішити задачу великої обчислювальної складності для його знаходження.

Робоче завдання

Скласти програму шифрування та дешифрування повідомлення за допомогою алгоритму RSA. Вихідне повідомлення, криптограму і відновлене повідомлення зберігати у файлах.

 

Варіанти завдань до роботи

N варіанта p q

 

Вказівки.

Для представлення даних результату піднесення до ступеня використовувати тип LongInt. Щоб не виникало помилки переповнення відкритий текст розглядати як послідовність одно- або дворозрядних блоків.

 




Переглядів: 356

<== попередня сторінка | наступна сторінка ==>
Короткі теоретичні відомості | асист. П.П. Костенко

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.017 сек.