Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки, молоді та спорту України
Національний університет «Львівська політехніка»
Інститут комп’ютерних наук та інформаційних технологій
Кафедра автоматизованих систем управління
Лабораторна роботи №3
на тему:
«Шифрування і дешифрування текстової інформації за
допомогою алгоритму RSA»
Львів 2013
Лабораторна роботи №3
Тема: Шифрування і дешифрування текстової інформації за допомогою алгоритму RSA
Мета: Навчитись шифрування і дешифрування текстової інформації за допомогою алгоритму RSA, вивчити властивості алгоритму RSA
Короткі теоретичні відомості
Перший алгоритм кодування з відкритим ключем (Public Key Encryption, далі PKE) було запропоновано Вітфілдом Діффі та Мартіном Хелманом у Стендфордському університеті. Вони, а також незалежно від них Ральф Меркл, розробили основні його поняття у 1976 році. Перевага PKE полягає у відсутності потреби секретної передачі ключа.
PKE базується на нерозв'язності проблеми розкладу натурального числа на прості множники.
RSA схему шифрування було запропоновано у 1978 році та названо іменами трьох його винахідників: Роном Рівестом (Ron Rivest), Аді Шаміром (Adi Shamir) та Леонардом Адлеманом (Leonard Adleman). RSA належить до класу алгоритмів кодування з відкритим ключем.
У 80-х роках криптосистема переважно використовувалася для забезпечення секретності та достовірності цифрових даних. У сучасному світі RSA використовується в web - серверах та браузерах для зберігання таємності даних що передаються по мережі.
Схема RSA базується на обчисленні виразів зі степенями. Відкритий текст шифрується блоками, довжина кожного із яких менша за деяке число n.
Алгоритм генерації ключа
A повинен згенерувати відкритий та секретний ключі:
1. Вибрати два великих простих числа p та q;
2. Обчислити n = p * q;
3. Обчислити функцію Ейлера = (p - 1) * (q - 1);
4. Вибрати натуральне e, таке що 1<e<, взаємно просте з ;
5. Використовуючи розширений алгоритм Евкліда, розв'язати рівняння
d*e =1 (mod ). Тобто знайти d.
Відкритий ключ: (n, e). Секретний ключ: d. Числа p і q після генерації пари ключів можуть бути знищені, але в жодному разі не повинні бути розкриті.
Схема шифрування RSA
B шифрує повідомлення m та надсилає A.
1. Шифрування. В робить наступні дії:
а) отримати відкритий ключ (n, e) від А;
б) представити повідомлення у вигляді натурального числа m з проміжку [1..n];
в) обчислити c = me mod n;
г) надіслати шифротекст c до А.
2. Дешифрування. Для отримання повідомлення m із шифротексту c А робить наступні дії:
а) використовуючи секретний ключ d, обчислити m = cd mod n.
Як відправник, так і одержувач повинні знати значення п. Відправник знає значення е, і тільки одержувачеві відоме значення d. Отже, дана схема є алгоритмом шифрування з відкритим ключем KU = {е, п} і особистим ключем KR = {d, n}. Щоб цей алгоритм міг використатися для шифрування з відкритим ключем, повинні бути виконані наступні вимоги.
1. Повинні існувати такі значення е, d і п, що ( m (mod п) для всіх m < п.
2. Повинні відносно легко обчислюватися і для всіх значень m < п.
3. Повиннo бути практично неможливо визначити d за наявними е і п.
Постановка задачі
Довести, що
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!