Lt304888.ru

Туристические услуги

Блочный шифр

03-05-2023

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

Содержание

Базовые принципы

Преобразование должно использовать следующие принципы:

  • Рассеивание (diffusion) — то есть изменение любого знака открытого текста или ключа влияет на большое число знаков шифротекста, что скрывает статистические свойства открытого текста;
  • Перемешивание (confusion) — использование преобразований, затрудняющих получение статистических зависимостей между шифротекстом и открытым текстом.

К достоинствам блочных шифров относят похожесть процедур шифрования и расшифрования, которые, как правило, отличаются лишь порядком действий. Это упрощает создание устройств шифрования, так как позволяет использовать одни и те же блоки в цепях шифрования и расшифрования.

Основная идея

Блочный шифр состоит из двух взаимосвязанных алгоритмов: алгоритм шифрования E и алгоритм расшифрования E−1. Входными данными служат блок размером n бит и k-битный ключ. На выходе получается n-битный зашифрованный блок. Для любого фиксированного ключа функция расшифрования является обратной к функции шифрования для любого блока M и ключа K.

Для любого ключа K, EK является биективной функцией (перестановкой) на множестве n-битных блоков.

Размер блока n — это фиксированный параметр блочного шифра, обычно равный 64 или 128 битам, хотя некоторые шифры допускают несколько различных значений. Длина 64 бита была приемлема до середины 90-х годов, затем использовалась длина 128 бит, что примерно соответствует размеру машинного слова и позволяет эффективную реализацию на большинстве распространённых вычислительных платформ. Различные схемы шифрования позволяют зашифровывать открытый текст произвольной длины. Каждая имеет определенные характеристики: вероятность ошибки, простота доступа, уязвимость к атакам. Типичными размерами ключа являются 40, 56, 64, 80, 128, 192 и 256 бит. В 2006 г. 80-битный ключ способен был предотвратить атаку грубой силой.

Режимы работы блочного шифра

Простейшим режимом работы блочного шифра является ECB (Electronic CodeBook (англ.) — режим простой замены или электронной кодовой книги), где все блоки открытого текста зашифровываются независимо друг от друга. Однако, при использовании этого режима статистические свойства открытых данных частично сохраняются, так как каждому одинаковому блоку данных однозначно соответствует зашифрованный блок данных. При большом количестве данных (например, видео или звук) это может привести к утечке информации о их содержании и дать больший простор для криптоанализа. Удаление статистических зависимостей в открытом тексте возможно с помощью предварительного архивирования, но оно не решает задачу полностью, так как в файле остается служебная информация архиватора, что не всегда допустимо.

оригинальная битовая карта

изображения

криптограмма в режиме ECB

(сохранились статистические особенности)

другие режимы шифрования

(псевдослучайная последовательность)

Аналогичная проблема возникает при формировании и преобразовании «хвостового» блока данных. Так как данные могут быть любой длины, а блочный шифр требует данные кратные длине блока, то «хвостовой» блок данных зачастую приходится искусственно дополнять до требуемого размера. При этом, например, заполнение хвоста одинаковыми символами облегчает атаку по известному открытому тексту. Однако, проблема легко решается заполнением случайным содержимым (к примеру, с использованием ГПСЧ)

Принципиальным решением описанных проблем является гаммирование данных и использование контекстно-зависимых режимов шифрования.

См. также

Ссылки

  • Андрей Винокуров «Как устроен блочный шифр?», «Проблема аутентификации данных и блочные шифры», «Архитектура блочных шифров. Варианты использования блочных шифров».


Блочный шифр.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01