Читайте также:
|
|
DES (Data Encryption Standard) — симметричный алгоритм шифрования, основан на шифре Фейстеля.
Принципы работы:
Шифр DES преобразует открытый текст из 64 битов следующим образом:
- производит начальную перестановку (IP);
- расщепляет блок на левую и правую половины;
- осуществляет 16 раундов с одним и тем же набором операций;
- соединяет половины блока;
- производит конечную перестановку.
Конечная перестановка обратна начальной. Это позволяет использовать одно и то же программное обеспечение и «железо» для двух сторон процесса: шифрования и расшифрования. Разворачивание ключа дает 16 подключей по 48 битов каждый, выделяя их из 56-битного основного ключа (остальные 8 бит из 64-х используются для проверки чётности).
Недостатки алгоритма: Широкое использование битовых перестановок в DES делает алгоритм неудобным для программных реализаций на универсальных процессорах, а сами такие реализции крайне неэффективными, размера ключа в 56 бит недостаточно для обеспечения приемлемой стойкости.
Тройной DES является одним из решений проблемы недостаточного размера ключа. В этой модификации DES применяется три раза последовательно с разными ключами, таким образом общая длина ключа увеличивается до 168 бит. Существует 3 типа алгоритма 3DES:
Advanced Encryption Standard (AES), также известный как Rijndael -симметричный алгоритм блочного шифрования, оперирующий блоками данных размером 128 и длиной ключа 128, 192 или 256 бит.
Принцип работы:
Алгоритм AES представляет блок данных в виде двумерного байтового массива размером 4×4 (4x6, 4х8, в зависимости от длины блока). Все операции производятся над отдельными байтами массива, а также над независимыми столбцами и строками. Алгоритм состоит из некоторого количества раундов — цикловых преобразований в диапазоне от 10 до 14. Это зависит от размера блока и длины ключа
В каждом раунде алгоритма выполняются следующие преобразования:
1. Операция SubBytes, представляющая собой табличную замену каждого байта массива данных.
2. Операция ShiftRows, которая выполняет циклический сдвиг влево всех строк массива данных, за исключением нулевой. Сдвиг i-й строки массива (для i = 1,2,3) производится на i байтов.
3. Операция MixColumns. Выполняет умножение каждого столбца массива данных (рис. 3.10), который рассматривается как полином в конечном поле GF(28), на фиксированный полином а(х):
а(х) = 3х3 + х2 + х + 2.
Умножение выполняется по модулю х4 + 1.
4. Операция AddRoundKey. Выполняет наложение на массив данных материала ключа. А именно, на k-й столбец массива данных (k = 0…3) побитовой логической операцией «исключающее или» (XOR) накладывается определенное слово расширенного ключа W4r+i, где г— номер текущего раунда алгоритма, начиная с 1.
Расшифровывание выполняется применением обратных операций в обратной последовательности.
Особенности AES:
Не подвержен многим видам криптоаналитических атак, таких как дифференциальный и линейный криптоанализ, Square-атака, метод интерполяции и др. Исследования, проведённые различными сторонами, показали высокое быстродействие AES на различных платформах. Ценным свойством этого шифра является его байт-ориентированная структура, что обещает хорошие перспективы при его реализации в будущих процессорах и специальных схемах.
Некоторым недостатком можно считать то, что режим обратного расшифрования отличается от режима зашифрования порядком следования функций, и сами эти функции отличаются своими параметрами от применяемых в режиме зашифрования.
Дата добавления: 2015-10-28; просмотров: 480 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Блочные криптосистемы. Принципы построения. | | | Современные потоковые шифры и их применение. |