Блочный шифр
Материал из Википедии — свободной энциклопедии
Блочный шифр — разновидность симметричного шифра. Особенностью блочного шифра является обработка блока нескольких байт за одну итерацию (как правило 8 или 16).Блочные криптосистемы разбивают текст сообщения на отдельные блоки и затем осуществляют преобразование этих блоков с использованием ключа.
Преобразование должно использовать следующие принципы:
- Рассеивание (diffusion) - т.е изменение любого знака открытого текста или ключа влияет на большое число знаков шифротекста, что скрывает статистические свойства открытого текста;
- Перемешивание (confusion) - использование преобразований, затрудняющих получение статистических зависимостей между шифротектстом и открытым текстом.
Содержание |
[править] Основная идея
Блочный шифр состоит из двух взаимосвязанных алгоритмов: алгоритм шифрования E и алгоритм расшифрования E-1. Входными данными служат блок размером n бит и k-битный ключ. На выходе получается n-битный зашифрованный блок. Для любого фиксированного ключа функция расшифрования является обратной к функции шифрования
для любого блока M и ключа K.
Для любого ключа K, EK — перестановка набора входных блоков. Ключ выбирается из 2n! возможных перестановок.
Размер блока n — это фиксированный параметр блочного шифра, обычно равный 64 или 128 битам, хотя некоторые шифры допускают несколько различных значений. Длина 64 бита была приемлема до середины 90-х годов, затем использовалась длина 128 бит и более. Различные схемы шифрования позволяют зашифровывать открытый текст произвольной длины. Каждая имеет определенные характеристики: вероятность ошибки, простота доступа, уязвимость к атакам. Типичный размер ключа 40, 56, 64, 80, 128, 192 и 256 бит. В 2006 г. 80-битный ключ способен был предотвратить атаку грубой силой.
[править] Режимы работы блочного шифра
Работа блочного шифра в самом простом режиме — применения шифрующей функции к блоку данных (простая замена) вызывает серьезную проблему: статистические свойства открытых данных частично сохраняются, так как каждому одинаковому блоку данных однозначно соответствует зашифрованный блок данных. При большом количестве данных (видео, звук) это может дать некоторые сведения для криптоанализа о содержании данных.
Удаление статистических зависимостей в открытом тексте возможно с помощью предварительного архивирования, но оно не решает задачу полностью, так как в файле остается служебная информация архиватора, и не всегда технически допустимо.
Существует несколько стандартных методик модификации блочных шифров так, чтобы результат шифрования каждого блока был уникален вне зависимости от шифруемых данных. См. режим шифрования.
[править] Проблема хвоста данных
Другой проблемой является формирование и преобразование блока данных «хвоста». Так как данные могут быть любой длины, а блочный шифр требует данные кратные длине блока, например, при заполнении хвоста одинаковыми символами, облегчена атака по известному открытому тексту.
[править] Цикличная кодировка
Для решения вышеописанных проблем, используется цикличная кодировка («категоризация») данных. Смысл этого решения в накладывании статистических данных в трехмерном пространстве и распределения рейтинга каждой группе данных. В результате этого процесса можно отсеивать участки с низким рейтингом и таким образом разделить кодированные участки от «пустых» комбинаций
[править] См. также
- атака на блочный шифр
- виды блочных шифров
- применение алгоритмов блочного шифрования
- режим шифрования
[править] Ссылки
- Андрей Винокуров «Как устроен блочный шифр?», «Проблема аутентификации данных и блочные шифры», «Архитектура блочных шифров. Варианты использования блочных шифров».
| Это незавершённая статья по криптографии. Вы можете помочь проекту, исправив и дополнив её. |

