- •1. Вступ. Задачі криптографії
- •2. Основні поняття і положення комп’ютерної криптографії
- •3. Принципи криптографічного захисту інформації
- •4. Криптоаналітичні атаки. Їх види.
- •Шифр Скитала. Шифруючі таблиці.
- •Шифр магічних квадратів
- •Полібіанський квадрат
- •Шифр Цезаря. Шифр Цезаря з ключовим словом
- •9. Шифруючі таблиці Трисемуса
- •Біграмний шифр Плейфейра
- •11. Подвійний квадрат Уінстона
- •14. Шифр Гронсфельда. Шифр Гронсфельда з ключовим словом.
- •15. Шифр Віженера. Шифр Віженера з відкритим ключем.
- •16. Роторні шифрувальні машини
- •17. Шифр одноразового блокноту
- •18. Структура алгоритму des. Його переваги та недоліки.
- •19. Операції алгоритму des
- •20. Функція шифрування алгоритму des
- •Режим "Електронна кодова книга"
- •Режим "Зчеплення блоків шифру"
- •Режим "Обратная связь по шифру"
- •Режим "Зворотний зв'язок по виходу"
- •29 Структура алгоритму idea. Його переваги та недоліки.
- •30 Операції алгоритму idea. Генерація підключів флгортму idea.
- •31 Загальна структура алгоритму гост28147-89. Його переваги та недоліки. Операції алгоритму гост28147-89. Генерація підключів алгоритму idea.
- •32 Режими роботи алгоритму гост 28147-89: проста заміна, гамування, гамування з зворотнім звязком, вироблення імітовставки
- •34 Основні поняття та арифметика асиметричних криптосистем.
- •35 Алгоритм Евкліда, його наслідок, пошук оберненого елемента, китайська теорема про остачі.
- •Опис криптосистеми rsa
- •38. Генерування ключів в криптосистемы rsa
- •39. Шифрування і Дешифрування в криптосистемы rsa
- •44. Генерування ключів в криптосистемі Рабіна
- •46. Криптосистема Ель-Гамаля
- •47. Шифрування і Дешифрування Криптосистеми Ель-Гамаля
- •49. Електронний цифровий підпис
- •50. Електронний цифровий підпис в системах rsa і Ель-Гамаля
- •51. Алгоритм dsa
- •54. Криптографічний протокол
- •55. Криптоаналіз та частотний аналіз
39. Шифрування і Дешифрування в криптосистемы rsa
Шифрування. Вихідне повідомлення розбивається на блоки М. однакової довжини. Кожен блок представляється у вигляді великого десяткового числа, менше п, і шифрується окремо. Шифрування блока М (М- десяткове число) здійснюється за наступною формулою:
де С- шифроблок, що відповідає блоку відкритого повідомлення М. Шифрблоки з'єднуються в шифрограму.
Дешифрування. При дешифруванні шифрограма розбивається на блоки відомої довжини і кожен шифрблок дешифрується окремо за наступною формулою:
Функція хешування. Функцією хешування називається перетворення даних, що переводить рядок бітів М довільної довжини в рядок бітів h (M) деякої фіксованої довжини (кілька десятків чи сотень біт). Хеш-функція h (M) повинна задовольняти наступним умовам:
■=> хеш-функція h (M) повинна бути чутливою до будь-яких змін вхідної послідовності М;
•=> для даного значення h (M) повинно бути неможливо знайти значення м- ^ для даного значення h (M) повинно бути неможливо знайти значення М №М таке, щоіі(М') =h(M) .
Ситуація, за якої
для різних вхідних послідовностей М, М
співпадають значення їх хеш-образів:
називається колізією
При побудові хеш-образу, вхідна
послідовність М розбивається на блоки
А/ фіксованої довжини і оброблгється
поблочно за формулою:
Хеш-значення, що
обчислюється при введенні останнього
блоку повідомлення, стає хеш-значенням
всього повідомлення. В якості прикладу
розглянемо спрощений варіант хеш-функціїіз
рекомендацій МККТТХ.509:
де п = pq,
piq- великі прості числа, HQ - довільний
початковий вміст, А/ - /-тий блок повідомлення
М-М1М2... Мк.
44. Генерування ключів в криптосистемі Рабіна
Генерація ключа
Як будь-яка асиметрична криптосистема, система Рабіна використовує і відкритий і закритий ключі. Відкритий ключ необхідний для шифрування документів і може бути опублікований для загального огляду. Закритий ключ повинен бути відомий тільки одержувачам зашифрованих повідомлень.
Процес генерації ключів наступний:
Вибираються два великих простих числа p і q, які задовольняють умові . Такий спеціальний вид простих чисел сильно прискорює процедуру вилучення коренів за модулем р і q. Тоді n - відкритий ключ. Числа p і q - закритий ключ.
Для шифрування повідомлення необхідний відкритий ключ n. Щоб розшифрувати зашифрований текст потрібні p і q.
Розглянемо простий приклад. Нехай p=7 і q=77, тоді n=77 . Відкритий ключ, 77, публікується для загального огляду, за допомогою його шифруються повідомлення. Закриті ключі, 7 та 11, залишаються відомі тільки власникові, і за допомогою їх розшифровуються повідомлення. Такий вибір ключів - добре підходить для прикладу. Але поганий для практичного використання, тому що розкладання на множники 77 тривіально.
Шифрування
Для шифрування використовується тільки відкритий ключ n. За допомогою його вихідний текст перетворюється в зашифрований. Для шифрування повідомлення m потрібно просто обчислити:
.
Таким чином, шифрування складається з операції множення по модулю N, що забезпечує більш високу швидкість шифрування, ніж в RSA , навіть якщо в останній вибирають невелику шифруючу експоненту.
У нашому
прикладі. Нехай вихідним текстом є
m=20.
Тоді зашифрованим текстом буде:
Розшифрування
Розшифрування
в цьому алгоритмі більш складне. Для
нього потрібен закритий ключ p і q. Процес
виглядає наступним чином: Спочатку,
використовуючи алгоритм Евкліда , з
рівняння
знаходимо числа
і
.
Далі, використовуючи китайську теорему про залишки , можна обчислити числа.
Один з цих коренів r,-r, s,-s є істинним відкритим текстом m.
Повернемося
в нашому прикладу: В результаті розшифровки
отримуємо:
.
Бачимо, що один з коренів є вихідним
текстом m.
