Порядок виконання лабораторної роботи:
1. Вивчити схему шифрування алгоритмом IDEA
2. В додатку №1 вибрати ключ та відкритий текст відповідно до номеру студента в журналі.
3. Зашифрувати поданий текст алгоритмом IDEA вручну.
4. Скласти звіт, у який включити початкові дані, опис послідовності дій шифрування, кінцевий результат і відповіді на контрольні запитання
Контрольні запитання
1. До якого типу шифрів належить шифр IDEA?
2. Які переваги має IDEA, порівняно з DES?
3. Назвіть довжину ключа, та розмір блока IDEA.
4. Опишіть процедуру отримання підключей IDEA.
2.8. Лабораторна робота № 8. Шифрування методом гамування.
Тема роботи: Шифрування методом гамування.
Ціль роботи: Відпрацювати застосування методу гамування для шифрування і дешифрування тексту.
Загальні відомості
Гамування є широко застосовуваним типом криптографічного перетворення.
Під гамуванням розуміють процес накладання за визначеним законом гами шифру на відкриті дані. Гама шифру – це псевдовипадкова послідовність, вироблена по заданому алгоритму для шифрування відкритих даних і розшифрування зашифрованих даних.
Теоретичні відомості
Процес шифрування полягає в генерації гами шифру за допомогою датчика псевдовипадкових чисел і накладанні отриманої гами на вхідний відкритий текст, наприклад, з використанням операції додавання по модулю 2.
Слід зазначити, що перед шифруванням відкриті дані розбивають на блоки Tо(i) однакової довжини, звичайно по 64 біта. Гама шифру виробляється у вигляді послідовності блоків Гш(i) аналогічної довжини.[15]
Рівняння шифрування можна записати у вигляді
Тш(i) = Гш(i) Å Те(i) , i = 1 ... M,
де Тш(i) i-й блок шифртексту;
Гш(i) i-й блок гами шифру;
Те(i) i-й блок відкритого тексту;
M кількість блоків відкритого тексту.
Процес розшифрування зводиться до повторної генерації гами шифру і накладенню цієї гами на зашифровані дані. Рівняння розшифрування має вид
Те(i) = Гш(i) Å Тш(i) , i = 1 ... M.[1]
Переваги і недоліки методу.
Одержуваний цим методом шифртекст досить важкий для розкриття, оскільки ключ тут є змінним. По суті справи гама шифру повинна змінюватися випадковим чином для кожного шифруємого блоку. Якщо період гами перевищує довжину усього шифруємого тексту і зловмиснику невідома ніяка частина вихідного тексту, то такий шифр можна розкрити тільки прямим перебором усіх варіантів ключа. У цьому випадку крипостійкість шифру визначається довжиною ключа.
Однак, метод гамування стає неспроможним, якщо зловмиснику стане відомим фрагмент вихідного тексту і відповідний йому шифртекст. В цьому випадку простим розрахуванням по модулю криптоаналітик знаходить відрізок псевдовипадкової послідовності і по ньому відновлює всю послідовність[4].
Методи генерації псевдовипадкових послідовностей чисел
При шифруванні методом гамування в якості ключа використовується випадковий рядок бітів, що поєднується з відкритим текстом, також представленим у бінарному вигляді, за допомогою побітового додавання по модулю 2, і в результаті виходить шифрований текст. Генерування непередбачених бінарних послідовностей великої довжини є однією з важливих проблем класичної криптографії. Для вирішення цієї проблеми широко використовуються генератори псевдовипадкових послідовностей.
Генеруємі псевдовипадкові ряди чисел часто називають гамою шифру чи просто гамою (за назвою букви g грецького алфавіту, часто використовуваної в математичних формулах для позначення випадкових величин).
Звичайно для генерації послідовності псевдовипадкових чисел застосовують комп'ютерні програми, що, хоча і називаються генераторами випадкових чисел, насправді виробляють детерміновані числові послідовності, що по своїх властивостях дуже схожі на випадкові.
До криптографічно стійкого генератора ПВП чисел (гами шифру) пред'являються три основних вимоги:
- період гами повинний бути досить великим для шифрування повідомлень різної довжини;
- гама повинна бути практично непередбаченою, що означає неможливість передбачити наступний біт гами, навіть якщо відомі тип генератора і попередній шматок гами;
- генерування гами не повинне викликати великих технічних складностей;
Довжина періоду гами є найважливішою характеристикою генератора ПВЧ. По закінченні періоду числа почнуть повторюватися і їх можна буде передбачити.
Один з перших способів генерації ПВЧ на ЕОМ запропонував у 1946 р. Джон фон Нейман. Суть цього способу полягає в тому, що кожне наступне випадкове число утворюється зведенням у квадрат попереднього числа з відкиданням цифр молодших і старших розрядів. Однак цей спосіб виявився ненадійним і від нього незабаром відмовилися.
З відомих процедур генерації послідовності ПВЧ найбільш часто застосовується так називаний лінійний конгруентний генератор. Цей генератор виробляє послідовність ПВЧ Y1, Y2, ..., Yi-1, Yi, ..., використовуючи співвідношення
Yi = (a • Yi-1 + b) mod m,
де Yi поточне число послідовності;
Yi-1 попереднє число послідовності;
m – модуль;
a – множник;
b – збільшення;
а Y0 – число, що породжує гаму(вхідне значення).
Поточне псевдовипадкове число Yi одержують з попереднього числа Yi-1 множенням його на коефіцієнт а, додаванням зі збільшенням b і обчисленням залишку від розподілу на m. Дане рівняння генерує ПВЧ із періодом повторення, що залежить від обраних значень a і b і може досягати значення m. Значення m звичайно встановлюється рівним 2n, де n – довжина машинного слова в бітах, або рівним простому числу, наприклад m=231-1. Як показано Д. Кнутом [13], лінійний конгруентний датчик ПВЧ має максимальний період тоді і тільки тоді, коли b – непарне і a mod 4 = 1.
Також для одержання послідовності ПВЧ застосовуються адітивні і мультіплікативні генератори [6].
Мультіплікативний генератор виробляє послідовності чисел за допомогою рекурентного співвідношення:
Yi = (a • Yi-1) mod m.
Вимоги до значень констант a і m такі ж, як і для лінійного конгруентного генератора.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.