- •Основні теоретичні поняття криптології План
- •Основні терміни, визначення та предмет науки «криптологія»
- •Криптоаналіз
- •1 Основні терміни, визначення та предмет науки «криптологія»
- •2 Криптоаналіз
- •Контрольні запитання
- •Список літератури
- •Шифри перестановки План
- •2 Таблиці для шифрування
- •2.1 Таблиці для шифрування. Проста перестановка
- •2.2 Таблиці для шифрування. Одиночна перестановка по ключу
- •2.3 Таблиці для шифрування. Подвійна перестановка
- •2.4 Застосування магічних квадратів
- •Список літератури
- •Шифри простої заміни План
- •1 Полібіанський квадрат
- •2 Система шифрування Цезаря
- •Криптоаналіз шифру Цезаря
- •3 Аффінна система підстановок Цезаря
- •4 Система Цезаря із ключовим словом
- •5 Таблиці Трисемуса
- •Криптографічний аналіз системи одноалфавітної заміни
- •6 Біграмний шифр Плейфейра
- •7 Криптосистема Хілла
- •8 Система омофонів
- •Додаток а
- •Список літератури
- •Шифри складної заміни План
- •1 Шифр Гронсфельда
- •Криптоаналіз шифру Гронсфельда
- •2 Система шифрування Віженера
- •3 Шифр “Подвійний квадрат Уітстона”
- •4 Одноразова система шифрування
- •5 Шифрування методом Вернама
- •6 Роторні машини
- •7 Шифрування методом гамірування
- •Список літератури
- •Блочні шифри План
- •1 Алгоритм des
- •1 Алгоритм des
- •Обчислення значень ключів
- •Аналіз ефективності алгоритму des
- •Список літератури
- •Асиметричні криптосистеми План
- •Керування ключами План
- •1 Алгоритм шифрування Діффі - Хеллмана
- •Керування ключами
- •1 Алгоритм шифрування Діффі - Хеллмана
- •Контрольні питання
- •Список літератури
- •Криптографічні протоколи План
- •Контрольні запитання
- •Список літератури
- •Ідентифікація та перевірка істинності План
- •Інформаційна безпека План
- •1.2 Основні складові інформаційної безпеки
- •1.3 Важливість і складність проблеми інформаційної безпеки
- •2 Розповсюдження об’єктно-орієнтованого підходу на інформаційну безпеку.
- •2.1 Про необхідність об’єктно-орієнтованого підходу до інформаційної безпеки
- •2.2 Основні поняття об’єктно-орієнтованого підходу
- •2.3 Вживання об’єктно-орієнтованого підходу до розгляду систем, що захищаються
- •2.4 Недоліки традиційного підходу до інформаційної безпеки з об’єктної точки зору
- •2.5 Основні визначення і критерії класифікації загроз
- •Контрольні запитання
- •Список літератури
- •Інформаційна безпека Найпоширеніші загрози План
- •1 Найпоширеніші загрози доступності
- •1 Найпоширеніші загрози доступності
- •2 Деякі приклади загроз доступності
- •3 Шкідливе програмне забезпечення
- •4 Основні загрози цілісності
- •5 Основні загрози конфіденційності
- •Список літератури
- •1.2 Механізми безпеки
- •1.3 Класи безпеки
- •2 Інформаційна безпека розподілених систем. Рекомендації X.800
- •2.1 Мережні сервіси безпеки
- •2.2 Мережні механізми безпеки
- •2.3 Адміністрування засобів безпеки
- •3 Стандарт iso/iec 15408 "Критерії оцінки безпеки інформаційних технологій"
- •3.1 Основні поняття
- •3.2 Функціональні вимоги
- •3.3 Вимоги довір’я безпеці
- •4 Гармонізовані критерії європейських країн
- •5 Інтерпретація "Оранжевої книги" для мережних конфігурацій
- •Список літератури
- •Інформаційна безпека Управління ризиками План
- •2 Підготовчі етапи управління ризиками
- •3 Основні етапи управління ризиками
- •Список літератури
Список літератури
-
Усатенко Т.М. Криптологія: Навчальний посібник. – Суми: Вид-во СумДУ, 2008. – 164 с.
-
Шнайдер Брюс. Прикладная криптология. Протоколы, алгоритмы, исходные тексты на языке Си. – М.: Издательство ТРИУМФ, 2002
-
Столлингс Вильям. Криптография и защита сетей: принципы и практика /Пер. с англ – М.: Издательский дом «Вильямс», 2001.
-
Иванов М.А. Криптографические методы защиты информации в компьютерных системах и сетях. – М.: КУДИЦ-ОБРАЗ, 2001.
-
Брассар Ж. Современная криптология / Пер с англ. – М.: Полимед, 1999.
-
Жельников В. Криптография от папируса до компьютера. –М.: ABF, 1996.
-
Введение в криптографию /Под общей ред. В.В. Ященко. – СПб.: Питер, 2001.
Асиметричні криптосистеми План
1 Концепція криптосистеми з відкритим ключем
2 Односпрямовані функції
3 Криптосистема шифрування даних RSA
4 Схема шифрування Поліга - Хеллмана
5 Алгоритм шифрування Ель Гамаля
6 Схема шифрування Рабіна
1 Концепція криптосистеми з відкритим ключем
Ефективними системами криптографічного захисту даних є асиметричні криптосистеми, які називають також криптосистемами з відкритим ключем. У таких системах для зашифрування даних використовується один ключ, а для розшифрування – інший ключ (звідси й назва – асиметричні). Перший ключ є відкритим і може бути опублікований для використання всіма користувачами системи, які зашифровують дані. Розшифрувати дані за допомогою відкритого ключа неможливо.
Для розшифрування даних одержувач зашифрованої інформації використовує другий ключ, що є таємним. Зрозуміло, таємний ключ не може бути визначений, виходячи з відкритого ключа.
Узагальнена схема криптосистеми
з відкритим ключем показана на рисунку
1. В цій криптосистемі застосовують два
різних ключі:
– відкритий ключ відправника A;
– таємний ключ одержувача В.
Генератор ключів доцільно
розташовувати на стороні одержувача
B, щоб
не пересилати таємний ключ
незахищеним каналом. Значення ключів
і
залежать від початкового стану генератора
ключів.
Розкриття таємного ключа
за значенням відомого відкритого ключа
повинно бути обчислювально нерозв’язаною
задачею.

Рисунок 1 – Узагальнена схема асиметричної криптосистеми
Характерні риси асиметричних криптосистем:
-
Відкритий ключ
і криптограма C
можуть бути відправлені по незахищених
каналах, тобто зловмиснику відомі
значення
та C. -
Алгоритми шифрування (
)
і розшифрування
є відкритими.
Захист інформації в асиметричній
криптосистемі засновано на таємності
ключа
.
У.Діффі та М.Хеллман сформулювали вимоги, які забезпечують безпеку асиметричної криптосистеми:
-
Обчислення пари ключів (
,
)
одержувачем B
на основі початкової умови повинно
бути простим. -
Відправник A, знаючи відкритий ключ
і повідомлення М,
може легко обчислити криптограму
. (4.1)
3 Одержувач В,
використовуючи таємний ключ
і криптограму C,
може легко відновити вихідне повідомлення
. (4.2)
4 Зловмисник, знаючи відкритий
ключ
,
при спробі обчислити таємний ключ
натрапляє на непереборну обчислювальну
проблему.
5 Зловмисник, знаючи пари
(
, C),
при спробі обчислити вихідне повідомлення
M
натрапляє на непереборну обчислювальну
проблему.
2 Односпрямовані функції
Концепція асиметричних криптографічних систем з відкритим ключем заснована на застосуванні односпрямованих функцій. Неформально односпрямовану функцію можна визначити в такий спосіб.
Нехай Х
і Y –
деякі довільні множини. Функція
є
односпрямованою,
якщо для всіх
можна легко обчислити функцію
,
але для більшості
досить складно одержати значення
,
таке, що
(при цьому вважають, що існує принаймні
одне таке значення
).
Основним критерієм віднесення
функції
до класу односпрямованих
функцій є відсутність ефективних
алгоритмів зворотного перетворення
.
Як приклад односпрямованої
функції розглянемо множення цілих
чисел. Пряма задача – обчислення добутку
двох дуже великих цілих чисел
й
,
тобто знаходження значення
(4.3)
є простою задачею для ЕОМ.
Зворотна задача – розкладання
на множники великого цілого числа, тобто
знаходження дільників
і
великого цілого числа
,
є практично нерозв’язною задачею при
досить великих значеннях
.
За сучасними оцінками теорії
чисел при цілому
й
для розкладання числа
буде потрібно близько 1023
операцій, тобто задача практично
нерозв’язна.
Наступний характерний приклад
односпрямованої функції – це модульна
експонента з фіксованими підставою й
модулем. Нехай
й
–
цілі числа, такі,
що
.
Визначимо множину
![]()
.
Тоді модульна експонента з
основою
за модулем N
являє собою функцію
![]()
,
де
– ціле число,
.
Існують ефективні алгоритми,
що дозволяють досить швидко обчислити
значення функції
.
Якщо
,
то, природно,
.
Тому, задачу обернення функції
називають
задачею знаходження
дискретного логарифма
або задачею дискретного
логарифмування.
Задача дискретного логарифмування формулюється в такий спосіб.
Для відомих цілих
знайти ціле число
,
таке, що
.
Алгоритм обчислення дискретного логарифма за прийнятний час поки не знайдена, тому модульна експонента вважається односпрямованою функцією.
За сучасними оцінками теорії
чисел при досить великих цілих числах
A2664
й N2664
рішення задачі дискретного логарифмування
(знаходження показника ступеня
для відомого
)
потребує близько 1026
операцій, тобто ця задача має в 103
разів більшу обчислювальну складність,
ніж задача розкладання на множники.
Різниця в оцінках складності задач
зростає при збільшенні довжини чисел.
Відзначимо, що поки не вдалося довести, що не існує ефективного алгоритму обчислення дискретного логарифма за прийнятний час. Виходячи з цього, модульна експонента віднесена до односпрямованих функцій умовно, що однак не заважає з успіхом застосовувати її на практиці.
Другим важливим класом функцій, що використовуються при побудові криптосистем з відкритим ключем, є односпрямовані функції з "потаємним ходом".
Функція
належить до класу
односпрямованих функцій з "потаємним
ходом" у тому випадку, якщо вона є
односпрямованою й, крім того, можливо
ефективне обчислення зворотної функції,
якщо відомо "потаємний хід" (таємне
число, рядок або інша інформація, що
асоціюється з даною функцією).
Як приклад односпрямованої функції з "потаємним ходом" можна вказати модульну експоненту з фіксованими модулем і показником ступеня, що використовується в криптосистемі RSA. Змінна основа модульної експоненти використовується для вказівки числового значення повідомлення М або криптограми С.
3 Криптосистема шифрування даних RSA
Алгоритм RSA запропонували в 1978 р. Р.Райвест (Rivest), А.Шамір (Shamir) і А.Адлеман (Adleman). Алгоритм одержав свою назву від перших букв прізвищ його авторів. Алгоритм RSA став першим повноцінним алгоритмом з відкритим ключем, що може працювати як у режимі шифрування даних, так і у режимі електронного цифрового підпису.
Надійність алгоритму ґрунтується на труднощі факторизації великих чисел і труднощі обчислення дискретних логарифмів.
У криптосистемі RSA розглядають:
відкритий ключ
;
таємний ключ
;
повідомлення
й криптограма
належать множині цілих чисел
, (4.4)
де
-
модуль
.
(4.5)
Тут
й
– випадкові великі прості
числа. Для забезпечення максимальної
безпеки вибирають
і
однакової довжини й
зберігають у секреті.
Множина
з операціями додавання та множення за
модулем
утворює арифметику за модулем
.
Відкритий ключ
вибирають випадково так, щоб виконувалися
умови:
(4.6)
, (4.7)
де
– функція Ейлера.
Функція Ейлера
вказує кількість
додатних цілих чисел в інтервалі від
1 до
,
які взаємно прості з N
.
Умова (3.7) означає, що відкритий
ключ
і функція Ейлера
повинні
бути взаємно простими.
Далі, використовуючи розширений
алгоритм Евкліда, обчислюють таємний
ключ
,
такий, що
(4.8)
або
.
Це можна здійснити, тому що
одержувач B знає пару
простих чисел
і може легко знайти
.
Помітимо, що
й
повинні бути взаємно простими.
Відкритий ключ
використовують для шифрування даних,
а таємний ключ
– для розшифрування.
Процес зашифрування визначає
криптограму
через пару (
,
М)
у відповідності до формули (4.9).
(4.9)
Обернення функції
,
тобто визначення значення M
за відомим значенням
практично не здійсненне при N2512.
Однак обернену задачу, тобто
задачу розшифрування криптограми C,
можна вирішити, використовуючи пару
(
,
)
за формулою (4.10).
.
(4.10)
Процес розшифрування можна записати так:
(4.11)
Підставляючи в (4.11) значення (4.9) і (4.10), одержуємо:
![]()
або
. (4.12)
Відповідно до теореми Ейлера,
яка стверджує, що якщо
![]()
,
то
![]()
або
. (4.13)
Порівнюючи вираження (4.12) і (4.13), одержуємо
![]()
або, що те саме,
.
Саме тому для обчислення
таємного ключа
використовують співвідношення (4.8).
Таким чином, якщо криптограму
![]()
піднести до степеня
,
то в результаті відновлюється вихідний
відкритий текст М,
тому що
.
Отже, одержувач B,
що створює криптосистему, захищає два
параметри: таємний ключ
і пару чисел
,
добуток яких дає значення
модуля N.
З іншого боку, одержувач B
відкриває значення модуля N
і відкритий ключ
.
Зловмиснику відомі лише
значення
та N.
Якби він зміг розкласти число N
на множники P
й Q, то
він довідався б "потаємний хід" –
трійку чисел
,
обчислив значення функції Ейлера
та визначив значення таємного ключа
.
Однак, як було відзначено раніше, розкладання дуже великого числа N на множники не здійсненно обчислювальними методами (за умови, що довжини обраних Р и Q становлять не менше 100 десяткових знаків).
Процедури шифрування та розшифрування в криптосистемі RSA
Припустимо, що користувач A хоче передати користувачеві B повідомлення в зашифрованому вигляді, використовуючи криптосистему RSA. У такому випадку користувач A є в ролі відправника повідомлення, а користувач B – у ролі одержувача. Як відзначалося вище, криптосистему RSA повинен сформувати одержувач повідомлення, тобто користувач В. Розглянемо послідовність дій користувача В і користувача A.
-
Користувач B вибирає два довільних великих простих числа P й Q.
-
Користувач B обчислює значення модуля N згідно з (4.5).
-
Користувач B обчислює функцію Ейлера
й вибирає значення відкритого ключа
з
урахуванням виконання умов (4.6) і (4.7). -
Користувач B обчислює значення таємного ключа
за формулою (4.8),
використовуючи розширений алгоритм
Евкліда. -
Користувач B пересилає незахищеним каналом користувачу A пару чисел (N,
).
Якщо користувач A має бажання передати користувачу B повідомлення М, він виконує такі кроки.
-
Користувач A розбиває вихідний відкритий текст М на блоки, кожний з яких може бути поданий у вигляді числа
,
. -
Користувач A шифрує текст, поданий у вигляді послідовності чисел М, за формулою
![]()
і відправляє користувачеві В криптограму
.
-
Користувач B розшифровує прийняту криптограму
,
використовуючи таємний ключ
,
за формулою
.
У результаті буде отримана
послідовність чисел
,
які являють собою вихідне повідомлення
М. Щоб
алгоритм RSA мав практичну
цінність, необхідно мати можливість
без істотних витрат генерувати великі
прості числа, вміти оперативно обчислювати
значення ключів
та
.
Наприклад, виконаємо шифрування повідомлення “Буду завтра”.
Нехай P=59,
Q=61. Тоді
,
а
.
Виберемо як відкритий ключ
довільне число з урахуванням виконання
умов (4.6) і (4.7).
Нехай
. Згідно (4.8) таємний ключ
.
Подамо повідомлення як послідовність цілих чисел у діапазоні від 1 до 32. Нехай A – 01, Б – 02, В – 03, ..., Я – 32.
Тоді повідомлення “Буду завтра” буде подано у вигляді
02 20 05 20 08 01 03 19 17 01.
Розбиваємо повідомлення на блоки по чотири цифри
0220 0520 0801 0319 1701
і кодуємо кожен блок:

У результаті одержимо шифр 0099 3273 2050 0719 1664.
Для відновлення вихідного
тексту необхідно обчислити модульну
експоненту, підвівши зашифроване
значення
в степінь
за модулем N:

Таким чином, отримали відновлене вихідне повідомлення
0220 0520 0801 0319 1701.
Криптосистеми RSA реалізуються як апаратним, так і програмним шляхом.
Для апаратної реалізації операцій зашифрування та розшифрування RSA розроблені спеціальні процесори. Ці процесори, реалізовані на надвеликих інтегральних схемах, дозволяють виконувати операції RSA, пов’язані з піднесенням великих чисел у колосально великий ступінь за модулем N, за відносно короткий час.
Слід відзначити, що і апаратна, і програмна реалізації алгоритму RSA в декілька сот разів повільніші від реалізацій симетричних криптосистем. Мала швидкодія криптосистеми RSA обмежує сферу її застосування, але не перекреслює її цінність.
Безпека й швидкодія криптосистеми RSA
Безпека алгоритму RSA базується
на труднощах розв’язання задачі
факторизації великих чисел, що є добутками
двох великих простих чисел. Дійсно,
крипостійкість алгоритму RSA визначається
тим, що після формування таємного ключа
й відкритого ключа
"стираються" значення простих
чисел P
й Q, і
тоді винятково важко визначити таємний
ключ
за відкритим ключем
,
оскільки для цього необхідно розв’язати
задачу знаходження дільників P
та Q
модуля N.
Розкладання величини N
на прості множники Р
і Q
дозволяє обчислити функцію
,
а потім визначити таємне значення
,
використовуючи рівняння (4.8).
Іншим можливим способом
криптоаналізу алгоритму RSA є безпосереднє
обчислення або підбір значення функції
.
Якщо встановлено значення
,
то співмножники P
й Q
обчислюються досить просто. Справді,
нехай
![]()
Знаючи (N), можна визначити х і потім y; знаючи х та y, можна визначити числа P і Q з таких співвідношень:
.
Однак ця атака не простіша задачі факторизації модуля N.
Задача факторизації є задачею, яка важко розв’язується для великих значень модуля N.
Спочатку автори алгоритму RSA пропонували для обчислення модуля N вибирати прості числа P й Q випадковим чином, по 50 десяткових розрядів кожне. Вважалося, що такі великі числа N дуже важко розкласти на прості множники. Один з авторів алгоритму RSA, Р.Райвест, вважав, що розкладання на прості множники числа з майже 130 десяткових цифр, наведеного в їхній публікації, зажадає більше 40 квадрильйонів років машинного часу. Однак цей прогноз не виправдався через порівняно швидкий прогрес обчислювальної потужності комп’ютерів, а також поліпшення алгоритмів факторизації.
Один з найбільш швидких алгоритмів, відомих у цей час, алгоритм NFS (Number Field Sieve) може виконати факторизацію великого числа N (із числом десяткових розрядів більше 120) за число кроків, оцінюваних величиною
![]()
У 1994 р. було факторизовано число з 129 десятковими цифрами. Це вдалося здійснити математикам А.Ленстра й М.Манассі за допомогою організації розподілених обчислень на 1600 комп’ютерах, об’єднаних мережею, протягом восьми місяців. На думку А.Ленстра та М.Манассі, їхня робота компрометує криптосистеми RSA і створює більшу погрозу їхнім подальшим застосуванням. Тепер розроблювачам криптоалгоритмів з відкритим ключем на базі RSA доводиться уникати застосування чисел довжиною менше 200 десяткових розрядів. Останні публікації пропонують застосовувати для цього числа довжиною не менше 300 десяткових розрядів.
4 Схема шифрування Поліга - Хеллмана
Схема шифрування Поліга - Хеллмана подібна RSA. Розглянута схема не є симетричним алгоритмом, оскільки використовуються різні ключі для шифрування та розшифрування. З іншого боку її не можна віднести й до класу криптосистем з відкритим ключем, тому що ключі шифрування та розшифрування легко виходять один з одного. Обидва ключі (відкритий і таємний) необхідно тримати в таємниці.
Аналогічно схемі RSA криптограма C і відкритий текст M визначаються зі співвідношень:
, (4.14)
, (4.15)
де
. (4.16)
На відміну від алгоритму RSA
у цій схемі число N
не визначається через два великих
простих числа; число N
повинне залишатися частиною таємного
ключа. Якщо хто-небудь довідається
значення
та N,
він зможе обчислити значення
.
Не знаючи значень
або
,
зловмисник буде змушений обчислювати
значення
.
Відомо, що це є важкою задачею. Схема шифрування Поліга - Хеллмана запатентована в США [9] і Канаді.
5 Алгоритм шифрування Ель Гамаля
Алгоритм Ель Гамаля, розроблено в 1985 р., може бути використаний як для шифрування, так і для цифрових підписів. Безпека схеми Ель Гамаля обумовлена складністю обчислення дискретних логарифмів у кінцевому полі.
Для того щоб генерувати пари
ключів (відкритий ключ
і таємний ключ
), спочатку вибирають
деяке велике просте число P
і велике ціле число G
степені якого за модулем
P
породжують велику кількість елементів
множини
,
причому
.
Числа P
й G
можуть бути поширені серед групи
користувачів.
Потім вибирають випадкове
ціле число
,
причому
.
Число
є таємним ключем і повинне зберігатися
в секреті.
Далі обчислюють відкритий
ключ
![]()
. (4.17)
Для того, щоб зашифрувати
повідомлення М,
вибирають випадкове ціле число
,
що задовольняє такі
умови:
, (4.18)
. (4.19)
Потім обчислюють числа
(4.20)
(4.21)
Пари чисел (а,b) є шифротекстом. Помітимо, що довжина шифротексту вдвічі більша довжини вихідного відкритого тексту М.
Для того щоб розшифрувати шифротекст (а,b), обчислюють
. (4.22)
Довести, що співвідношення (4.22) справедливо, можна виходячи з (3.17) , (3.20) і (3.21), оскільки
.
Наприклад, виберемо Р
= 17, G =
5, таємний ключ
=
2. Обчислюємо
.
Отже, відкритий ключ
= 8.
Нехай повідомлення М = {Д}={5}.
Виберемо деяке випадкове число K = 3. Перевіримо умову (3.19) дійсно НСД (3,16) =1. Обчислюємо пари чисел а та b:

Таким чином, шифротекстом для літери Д є пара чисел (6,10).
Виконаємо розшифрування
цього шифротексту. Обчислюємо повідомлення
М,
використовуючи таємний ключ
![]()
.
Вираз
![]()
можна подати у вигляді
.
Розв’язуючи дане порівняння, знаходимо М = 5.
У реальних схемах шифрування необхідно використовувати як модуль P велике ціле просте число, що має у двійковому поданні довжину від 512 до 1024 бітів.
У системі Ель Гамаля відкритого шифрування той самий ступінь захисту, що для алгоритму RSA з модулем N з 200 знаків, досягається вже при модулі P в 150 знаків. Це дозволяє в 5-7 разів збільшити швидкість обробки інформації. Але у такому варіанті відкритого шифрування немає підтвердження достеменності повідомлень.
Система Ель Гамаля не позбавлена певних недоліків. Серед них можна зазначити такі:
1 Відсутність семантичної
стійкості. Якщо G – примітивний
елемент множини
,
то за поліноміальний час можна визначити
чи є деяке число x
квадратичним відрахуванням. Це робиться
піднесенням числа x
у степінь
за модулем P
.
Якщо результат дорівнює 1, то
х –
квадратичне відрахування за модулем
Р, якщо
–1 , то х –
квадратичне невирахування. Далі пасивний
зловмисник перевіряє, чи є GK
і
квадратичними відрахуваннями.
буде квадратичним відрахуванням тоді
й тільки тоді, коли і GK
, і
будуть квадратичними відрахуваннями.
Якщо це так, то
буде квадратичним
відрахуванням
тоді й тільки тоді,
коли саме повідомлення М
буде квадратичним відрахуванням. Тобто
пасивний зловмисник одержує деяку
інформацію про вихідний текст, маючи
лише шифрований текст і відкритий ключ
одержувача.
2 Подільність шифру. Якщо
дано шифрований текст (a,
b), можна одержати інший
шифрований текст, змінивши тільки другу
частину повідомлення. Справді, помноживши
b на GU
(U0),
можна одержати шифротекст для іншого
вихідного повідомлення
.
6 Схема шифрування Рабіна
Схема Рабіна була розроблена в 1979 році й може застосовуватися тільки для шифрування даних. Безпека алгоритму спирається на складність пошуку коренів за модулем складеного числа.
Для генерації ключів вибирається
пара простих чисел
,
таких що
(4.23)
Ці прості числа і є таємним ключем. Відкритим ключем є число
. (4.24)
Для шифрування повідомлення
,
де
,
обчислюється
. (4.25)
Для розшифрування повідомлення за допомогою китайської теореми про залишки обчислюється:
(4.26)
Потім вибираються два цілих числа
(4.27)
Чотирма можливими рішеннями є:
(4.28)
Одне із чотирьох результатів,
і
, є повідомлення
.
Наприклад, виконаємо шифрування
тексту
,
використовуючи схему шифрування Рабіна.
Згідно з (4.23) виберемо
пари чисел
,
нехай
й
.
Тоді, відкритий ключ N=77.
Шифротекст C згідно з (4.25)
.
Виконаємо розшифрування. Виходячи з (4.26), маємо
![]()
Згідно з (4.27)

Тоді за (4.28)
одержимо
![]()
![]()
Дійсно, одне із чотирьох
значень, а саме:
і є відкритий текст
.
Задачі
-
Використовуючи криптосистему RSA, виконати цифровий підпис для повідомлення М={2, 3, 4}. Відомо, що P=37, Q=17. Відповідь надати у вигляді послідовного набору чисел.
-
Виконайте алгоритм RSA для таких значень параметрів P, Q,
,
,
M:
P=7, Q=13,
=5,
M=5;
P=5, Q=11,
=
9, M =8;
P=13, Q=11,
=17,
M=9;
P=17, Q=7,
=11,
M =7.
-
Відомо, що в системі RSA відкритим ключем деякого користувача є
=5,
n=576. Встановити таємний
ключ
.
-
У криптосистемі з відкритим ключем, використовує RSA, було перехоплено шифрований текст C=16, був зашифрований відкритим ключем
=7,
N=21. Встановити відкритий
текст M. -
Нехай в деякій системі RSA кожен з користувачів має особистий таємний ключ
та відкритий ключ
.
Припустимо, що деякий користувач
довідався, що секрет його таємного
ключа розкрито. Але замість генерації
нового модуля порівняння, він вирішує
генерувати нові таємний та відкритий
ключі. Наскільки це безпечно? -
У криптосистемі Ель Гамаля виконати шифрування відкритого тексту М={2, 3, 4} (зашифрування та розшифрування). Обрати числа P та Q із запропонованого набору чисел {15, 17, 20, 28, 24, 21}. Таємний ключ Х та число К обрати згідно з вимогами шифру.
-
Виконайте алгоритм Ель Гамаля для таких значень параметрів P, G, X, K, M, a, b:
P=13, G=9, X=5, K=7, M=6;
P=17, G=7, X=8, K=5, a=11, b=10;
P=23, G=10, X=11, K=7, a=14, b=16.
-
Виконайте шифрування (зашифрування та розшифрування) відкритого тексту M, використовуючи схему шифрування Рабіна.
-
Виконайте шифрування (зашифрування та розшифрування) відкритого тексту M, використовуючи схему шифрування Поліга-Хеллмана
Список літератури
-
Усатенко Т.М. Криптологія: Навчальний посібник. – Суми: Вид-во СумДУ, 2008. – 164 с.
-
Шнайдер Брюс. Прикладная криптология. Протоколы, алгоритмы, исходные тексты на языке Си. – М.: Издательство ТРИУМФ, 2002
-
Столлингс Вильям. Криптография и защита сетей: принципы и практика /Пер. с англ – М.: Издательский дом «Вильямс», 2001.
-
Иванов М.А. Криптографические методы защиты информации в компьютерных системах и сетях. – М.: КУДИЦ-ОБРАЗ, 2001.
-
Брассар Ж. Современная криптология / Пер с англ. – М.: Полимед, 1999.
-
Жельников В. Криптография от папируса до компьютера. –М.: ABF, 1996.
-
Введение в криптографию /Под общей ред. В.В. Ященко. – СПб.: Питер, 2001.
