Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kurs-release1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.09 Mб
Скачать

5.1.1 Алгоритмы блочного шифрования

Блочные алгоритмы шифрования являются основным средством криптографической защиты информации, хранящейся на компьютере пользователя или передаваемой по общедоступной сети передачи информации. Столь пристальное внимание к данному типу алгоритмов шифрования обусловлено не только их многолетней историей, а преимуществами их практического (по сравнению с асимметричными алгоритмами шифрования) применения, среди которых следует отметить:

  • Возможность эффективной программной реализации на современных аппаратно-программных средствах

  • Высокая скорость шифрования/расшифрования как при аппаратной, так и при программной реализации

  • Высокая гарантированная стойкость, причем стойкость алгоритма блочного шифрования может быть доказана при помощи математического аппарата (для большинства асимметричных алгоритмов стойкость основана на "невозможности" решения какой-либо математической задачи)

Входная последовательность блочных алгоритмов шифрования разбивается на блоки определенной длины (обычно 64 бита для удобства реализации на процессорах с внутренними регистрами длиною 32 или 64 бита) и преобразования совершаются в алгоритме блочного шифрования над каждым блоком отдельно. Соответственно выходная последовательность алгоритма блочного шифрования представляет из себя блоки, у которых длина равна длине входных блоков. В случае если длина открытого текста не кратна длине входных блоков в алгоритме шифрования, то применяется операция дополнения (padding) последнего блока открытого текста до необходимой длины. Дополнение осуществляется приписыванием необходимого числа нулей либо случайного набора символов, в общем случае содержание того, чем мы дополняем блок открытого текста не играет роли с точки зрения криптографической стойкости. На приемной стороне необходимо знать какое количество символов было добавлено, для этого на приемной стороне вместе с данными дополнения приписывается длина этих данных.

Суть алгоритмов блочного шифрования заключается в применении к блоку открытого текста многократного математического преобразования. Многократность применения обуславливает то, что результирующее преобразование оказывается криптографически более сильным, чем само преобразование. Основная цель осуществляемых преобразований - это создать зависимость каждого бита блока зашифрованного сообщения от каждого бита ключа и каждого бита блока открытого сообщения. Преобразования, лежащие в основе данных алгоритмов можно разделить на "сложные" преобразования, в современных алгоритмах это обычно нелинейные операции, и "простые" преобразования, в основе которых лежат перемешивающие операции. Аналитическая сложность раскрытия алгоритмов блочного шифрования лежит в основном на конструкции первого типа преобразований.

      1. DES

Одним из самых распространенных алгоритмов блочного шифрования является Data Encryption Standart (DES), разработанный в 1977 г. и рекомендованый Национальным бюро стандартов США совместно с АНБ в качестве основного средства криптографической защиты информации как в государственных, так и в коммерческих структурах. Однако в 1988 г. АНБ рекомендовало использовать DES только в системах электронного перевода. В последнее время с учетом выявленных слабостей DES появляются изменения в начальном варианте стандарта и новые алгоритмы, использующие в качестве основы DES - NewDes, TripleDES и др. Появление новых алгоритмов было обусловлено развитием за многолетнее существование данного алгоритма большого количества атак на DES. Кроме того бурное развитие производительности и быстродействия средств вычислительной и микропроцессорной техники привело к тому, что 56 битного ключа используемого в оригинальном варианте DES стало недостаточно, чтобы противостоять атаке методом грубой силы. Тем не менее DES и на сегодняшний день он остается одним из самых применяемых алгоритмов блочного шифрования в коммерческой сфере и в системах электронных расчетов.

DES является блочным алгоритмом шифрования с длиной блока 64 бита и симметричными ключами длиною 56 бит. На практике обычно ключ имеет длину 64 бита, где каждый восьмой бит используется для контроля четности остальных битов ключа.

Всего для получения блока зашифрованного сообщения проходит 16 раундов. В DES используется 16 раундов по следующим причинам:

  • 12 раундов является минимально необходимым для обеспечения должного уровня криптографической защиты

  • при аппаратной реализации использование 16 раундов позволяет вернуть преобразованный ключ в исходное состояние для дальнейших преобразований

  • данное количество раундов необходимо для того, чтобы исключить возможность проведения атаки на блок зашифрованного текста с двух сторон

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]