DES працює швидше принаймні в 100 разів і від 1,000 до 10,000 - в апаратній реалізації (в залежності від конкретного пристрою). Завдяки ведуться розробкам, робота алгоритму RSA, ймовірно, прискориться, але аналогічно прискориться і робота алгоритмів блокового шифрування.
. Алгоритм ГОСТ 28147-89:
Цей алгоритм шифрування є симетричним, тобто ключ зашифровуваної збігається з ключем розшифровки. Довжина ключа 256 біт, що забезпечує дуже велику крипостійкість алгоритму. Ключем в даному алгоритмі служить масив з восьми 32-бітних чисел. Ключ можна представити як таблицю в якій 8 рядків і 32 стовпця. Така конфігурація ключа необхідна для роботи алгоритму.
Алгоритм як би складається з трьох рівнів. Основний крок криптоперетворень - найнижчий рівень, на його основі будуються всі вищі частини алгоритму. Відштовхуючись від основних кроків будуються базові цикли: цикл зашифрування, цикл розшифрування і цикл вироблення імітовставки. На самій верхній щаблі стоять власне реальні алгоритми або цикли (насправді стандарт ГОСТ 28147-89 містить не один, а кілька алгоритмів шифрування), які будуються на основі базових циклів.
Дані, з якими працює алгоритм представляються як 32-бітові беззнакові числа. Перед тим, як надати алгоритмом дані, їх необхідно перетворити в 32-бітові числа. Тут може виникнути проблема з тим, що даних не вистачить, щоб заповнити останнім 32-бітове число і останній блок даних буде неповним, але ця проблема легко вирішується за допомогою гамування. Имитовставка - контрольна сума, що додається до масиву даних і покликана підтвердити справжність даних. Зловмисник, не знаючи пароля не зможе отримати правильну имитовставка, а одержувач, знаючи вірний пароль і отримавши при розшифровці имитовставки невірний результат відразу виявить підміну даних.
На вході основного кроку визначається 64-бітний блок даних N=(N1, N2), де N1 - молодша 32-бітова частина, а N2 - старша 32-бітова частина. Обидві частини розглядаються як окремі 32-бітові числа. На вхід основного кроку також надходить один з восьми елементів ключа. 32-бітовий елемент ключа позначається за X. Далі проводяться наступні дії:
1. S=N1 + X (mod 232).
2. Число S розбивається на 8 частин: S0, S1, S2, S3, S4, S5, S6, S7 по 4 біта кожна, де S0 - молодша, а S7 - старша частини числа S.
. Для всіх i від 0 до 7: Si=T (i, Si), де T (a, b) означає комірку таблиці замін з номером рядка a та номером стовпця b (рахунок з нуля).
. Нове число S, отримане на попередньому кроці циклічно зсувається в бік старших розрядів на 11 біт.
. S=S xor N2, де xor - операція виключає або.
. N2=N1.
. N1=S.
Як результат основного кроку криптоперетворень повертається блок даних N=(N1, N2), де N2 одно вихідного N1, а N1 - результат перетворень основного кроку.
Базові цикли ГОСТ 28147-89 будуються з основних кроків криптоперетворень шляхом багаторазового їх повторення з різними елементами ключа. Блок даних, з яким працює базовий цикл, надходить на його вхід один раз на початку роботи, а результатом базового циклу є перетворений блок даних. Як і в основному кроці 64-бітний блок даних позначають через N=(N1, N2), а елементи ключа через X з індексом, що означає номер елемента в ключовому масиві. Беруть блок даних N і викликають послідовно процедуру основного кроку.
Цикли шифрування і розшифрування взаімообратних і взаємозамінні. Якщо блок даних був зашифрований за допомогою одного циклу, то розшифрований він може бути за допомогою іншого, але стандарт визначає цикли та їх використання чітко, тобто цикл зашифрування не може бути використаний для розшифровки і навпаки.
ГОСТ 28147-89 визначає три основні режими шифрування: проста заміна, гамування і гамування зі зворотним зв'язком і один додатковий режим вироблення імітовставки. Дані обробляються блоками по 64 біта, на які розбивається масив, останній блок може бути неповним. У двох останніх режимах є можливість обробляти неповний блок даних, у першому довжина даних повинна бути кратна 64-му бітам.
1.4 Аналіз криптографічного алгоритму «шифр Цезаря»
У I в до н. е. Гай Юлій Цезар під час війни з галлами, листуючись зі своїми друзями в Римі, заміняв в повідомленні перший букву латинського алфавіту (А) на четверту (D), другу (В) - на п'ятому (Е), нарешті, останню - на третьому ( Рис.1).
Повідомлення про здобутої їм перемозі виглядало так: YHQL YLGL YLFL «Veni, vidi, vici» - «Прийшов, побачив, переміг» (лат.).
Шифр ??Цезаря, також відомий як шифр зсуву, код Цезаря або зрушення Цезаря - один ...