Учебники

Блочный шифр

Основная схема блочного шифра изображается следующим образом:

Блочный шифр

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

Размер блока

Хотя любой размер блока является приемлемым, при выборе размера блока необходимо учитывать следующие аспекты.

  • Избегайте очень маленького размера блока — скажем, размер блока составляет m бит. Тогда возможные комбинации битов открытого текста равны 2 м . Если злоумышленник обнаруживает блоки простого текста, соответствующие некоторым ранее отправленным блокам зашифрованного текста, то злоумышленник может запустить тип «словарной атаки», создав словарь пар открытого текста / зашифрованного текста, отправленных с использованием этого ключа шифрования. Больший размер блока усложняет атаку, так как словарь должен быть больше.

  • Не иметь очень большой размер блока — при очень большом размере блока шифр становится неэффективным для работы. Такие открытые тексты должны быть дополнены перед шифрованием.

  • Мультипликаторы 8 бит . Предпочтительный размер блока кратен 8, поскольку его легко реализовать, поскольку большинство процессоров компьютера обрабатывают данные в виде 8 бит.

Избегайте очень маленького размера блока — скажем, размер блока составляет m бит. Тогда возможные комбинации битов открытого текста равны 2 м . Если злоумышленник обнаруживает блоки простого текста, соответствующие некоторым ранее отправленным блокам зашифрованного текста, то злоумышленник может запустить тип «словарной атаки», создав словарь пар открытого текста / зашифрованного текста, отправленных с использованием этого ключа шифрования. Больший размер блока усложняет атаку, так как словарь должен быть больше.

Не иметь очень большой размер блока — при очень большом размере блока шифр становится неэффективным для работы. Такие открытые тексты должны быть дополнены перед шифрованием.

Мультипликаторы 8 бит . Предпочтительный размер блока кратен 8, поскольку его легко реализовать, поскольку большинство процессоров компьютера обрабатывают данные в виде 8 бит.

Заполнение в блочном шифре

Блочные шифры обрабатывают блоки фиксированных размеров (скажем, 64 бита). Длина открытых текстов в основном не кратна размеру блока. Например, 150-битный открытый текст предоставляет два блока по 64 бита каждый с третьим блоком баланса 22 бита. Последний блок битов должен быть дополнен избыточной информацией, чтобы длина конечного блока была равна размеру блока схемы. В нашем примере оставшиеся 22 бита должны иметь дополнительные 42 избыточных бита, добавленных для обеспечения полного блока. Процесс добавления битов в последний блок называется заполнением .

Слишком большое заполнение делает систему неэффективной. Кроме того, заполнение может иногда сделать систему небезопасной, если заполнение всегда выполняется с одинаковыми битами.

Схемы блочного шифра

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

  • Стандарт цифрового шифрования (DES) — популярный блочный шифр 1990-х годов. Теперь он считается «битым» блочным шифром, в основном из-за его небольшого размера ключа.

  • Triple DES — это вариант схемы, основанной на повторных приложениях DES. Это все еще уважаемые блочные шифры, но неэффективные по сравнению с новыми более быстрыми доступными блочными шифрами.

  • Advanced Encryption Standard (AES) — это относительно новый блочный шифр, основанный на алгоритме шифрования Rijndael, который выиграл конкурс дизайна AES.

  • IDEA — это достаточно сильный блочный шифр с размером блока 64 и размером ключа 128 бит. В ряде приложений используется шифрование IDEA, включая ранние версии протокола Pretty Good Privacy (PGP). Использование схемы IDEA имеет ограниченное применение из-за проблем с патентами.

  • Twofish — эта схема блочного шифра использует размер блока 128 бит и ключ переменной длины. Это был один из финалистов AES. Он основан на более раннем блочном шифре Blowfish с размером блока 64 бита.

  • Serpent — блочный шифр с размером блока 128 бит и длиной ключа 128, 192 или 256 бит, который также был финалистом конкурса AES. Это медленнее, но имеет более безопасный дизайн, чем другие блочные шифры.

Стандарт цифрового шифрования (DES) — популярный блочный шифр 1990-х годов. Теперь он считается «битым» блочным шифром, в основном из-за его небольшого размера ключа.

Triple DES — это вариант схемы, основанной на повторных приложениях DES. Это все еще уважаемые блочные шифры, но неэффективные по сравнению с новыми более быстрыми доступными блочными шифрами.

Advanced Encryption Standard (AES) — это относительно новый блочный шифр, основанный на алгоритме шифрования Rijndael, который выиграл конкурс дизайна AES.

IDEA — это достаточно сильный блочный шифр с размером блока 64 и размером ключа 128 бит. В ряде приложений используется шифрование IDEA, включая ранние версии протокола Pretty Good Privacy (PGP). Использование схемы IDEA имеет ограниченное применение из-за проблем с патентами.

Twofish — эта схема блочного шифра использует размер блока 128 бит и ключ переменной длины. Это был один из финалистов AES. Он основан на более раннем блочном шифре Blowfish с размером блока 64 бита.

Serpent — блочный шифр с размером блока 128 бит и длиной ключа 128, 192 или 256 бит, который также был финалистом конкурса AES. Это медленнее, но имеет более безопасный дизайн, чем другие блочные шифры.

В следующих разделах мы сначала обсудим модель блочного шифра, а затем DES и AES, два наиболее влиятельных современных блочных шифра.