17:59
Режим работы блочного шифра
В криптографии режим работы блочного шифра - это алгоритм, который использует блочный шифр для обеспечения информационной безопасности, такой как конфиденциальность или аутентичность . Блочный шифр сам по себе подходит только для безопасного криптографического преобразования (шифрования или дешифрования) одной группы битов фиксированной длины, называемой блоком . Режим работы описывает, как многократно применять одноблочную операцию шифра для безопасного преобразования объемов данных, больших, чем блок. 
Для большинства режимов требуется уникальная двоичная последовательность, часто называемая вектором инициализации (IV), для каждой операции шифрования. IV должен быть неповторяющимся, а для некоторых режимов также случайным. Вектор инициализации используется для обеспечения создания различных зашифрованных

Вектор инициализации (IV) или начальная переменная (SV)  представляет собой блок битов, который используется несколькими режимами для рандомизации шифрования и, следовательно, для создания различных шифротекстов, даже если один и тот же открытый текст шифруется несколько раз, без необходимости более медленный процесс переназначения. 
Вектор инициализации имеет другие требования безопасности, чем ключ, поэтому IV обычно не должен быть секретным. Однако в большинстве случаев важно, чтобы вектор инициализации никогда не использовался повторно под одним и тем же ключом. Для CBC и CFB повторное использование IV приводит к утечке некоторой информации о первом блоке открытого текста и о любом общем префиксе, совместно используемом двумя сообщениями. Для OFB и CTR повторное использование IV полностью разрушает безопасность. [Это можно увидеть, потому что оба режима эффективно создают поток битов, который XORed с открытым текстом, и этот поток битов зависит только от пароля и IV. Повторное использование потока битов разрушает безопасность.  В режиме CBC IV, кроме того, должен быть непредсказуемым во время шифрования; в частности, (ранее) распространенная практика повторного использования последнего блока зашифрованного текста сообщения в качестве IV для следующего сообщения небезопасна (например, этот метод использовался в SSL 2.0). Если злоумышленник знает IV (или предыдущий блок зашифрованного текста) перед тем, как указать следующий открытый текст, он может проверить свои предположения о незашифрованном тексте некоторого блока, который был зашифрован с помощью того же ключа ранее (это известно как атака TLS CBC IV)

Блочный шифр работает на блоках фиксированного размера (известный как размер блока ), но сообщения приходят в различных длины. Таким образом, некоторые режимы (а именно ECB и CBC ) требуют, чтобы окончательный блок был дополнен перед шифрованием. Существует несколько схем заполнения . Самое простое - добавить нулевые байты в открытый текст, чтобы его длина была кратна размеру блока, но следует позаботиться о том, чтобы можно было восстановить исходную длину открытого текста; это тривиально, например, если открытый текст является строкой стиля C, которая не содержит нулевых байтов, кроме как в конце. Чуть сложнее оригиналМетод DES , который состоит в добавлении одного бита , за которым следует достаточно нулевых битов для заполнения блока; если сообщение заканчивается на границе блока, будет добавлен целый блок заполнения. Наиболее сложными являются специфичные для CBC схемы, такие как кража зашифрованного текста или завершение остаточного блока , которые не вызывают никакого дополнительного зашифрованного текста за счет некоторой дополнительной сложности. Шнайер и Фергюсон предлагают две возможности, обе простые: добавить байт со значением 128 (шестнадцатеричное 80), за которым следует столько нулевых байтов, сколько необходимо для заполнения последнего блока, или заполнить последний блок n байтами со значением n .
Режимы CFB, OFB и CTR не требуют каких-либо специальных мер для обработки сообщений, длина которых не кратна размеру блока, поскольку эти режимы работают путем XOR простого текста с выводом блочного шифра. Последний частичный блок открытого текста подвергается операции XOR с первыми несколькими байтами последнего блока ключевого потока , в результате чего получается последний блок зашифрованного текста, размер которого совпадает с размером последнего частичного блока открытого текста. Эта характеристика потоковых шифров делает их пригодными для приложений, которым требуется, чтобы зашифрованные данные зашифрованного текста были того же размера, что и исходные данные в незашифрованном виде, и для приложений, которые передают данные в потоковой форме, где неудобно добавлять заполненные байты.

Режим обратной связи (OFB) превращает блочный шифр в синхронный потоковый шифр . Он генерирует блоки потока ключей , которые затем XOR-кодируются с блоками открытого текста, чтобы получить зашифрованный текст. Как и в случае других потоковых шифров, переключение бита в зашифрованном тексте приводит к переключению бита в открытом тексте в том же месте. Это свойство позволяет многим кодам с исправлением ошибок функционировать нормально, даже если они применяются до шифрования.
Как и OFB, режим Counter превращает блочный шифр в потоковый . Он генерирует следующий блок ключевого потока путем шифрования последовательных значений «счетчика». Счетчиком может быть любая функция, которая создает последовательность, которая гарантированно не будет повторяться в течение длительного времени, хотя фактический счетчик с приращением на единицу является самым простым и наиболее популярным. Использование простой детерминированной входной функции было спорным; критики утверждали, что «преднамеренное подвергание криптосистемы известному систематическому вкладу представляет собой ненужный риск». Однако, сегодня режим CTR широко принят, и любые проблемы считаются слабостью базового блочного шифра, который, как ожидается, будет безопасным независимо от системного смещения на его входе.[Наряду с CBC режим CTR является одним из двух режимов блочного шифрования, рекомендованных Нильсом Фергюсоном и Брюсом Шнайером.
До широкого использования кодов аутентификации сообщений и аутентифицированного шифрования было обычным обсуждать свойства «распространения ошибок» в качестве критерия выбора режима работы. Например, можно заметить, что ошибка одного блока в передаваемом зашифрованном тексте приведет к ошибке одного блока в восстановленном открытом тексте для шифрования в режиме ECB, в то время как в режиме CBC такая ошибка затронет два блока.
Некоторые считали, что такая устойчивость была желательна перед лицом случайных ошибок (например, шум линии), в то время как другие утверждали, что исправление ошибок расширяет возможности злоумышленников злонамеренно подделывать сообщение.

Ряд режимов работы был разработан, чтобы объединить секретность и аутентификацию в одном криптографическом примитиве. Примеры таких режимов являются XCBC ,  IACBC , МАУП , [25] О , EAX , ВКК , СКК и ГКМ . Режимы шифрования с аутентификацией классифицируются как однопроходные или двухпроходные. Некоторые однопроходные аутентифицированные алгоритмы шифрования , такие как режим OCB, обременены патентами, в то время как другие были специально разработаны и выпущены таким образом, чтобы избежать такого обременения.
Кроме того, некоторые режимы также допускают аутентификацию незашифрованных связанных данных, и они называются схемами AEAD (аутентифицированное шифрование с ассоциированными данными). Например, режим EAX представляет собой двухпроходную схему AEAD, а режим OCB - однопроходный.

При шифровании диска часто используются специальные режимы, специально разработанные для данного приложения. Оттиск и режимы шифрования узкого блока ( ЖРО , хех , и XTS ) и режимы шифрования широкого блока ( CMC и EME ) предназначены для безопасных секторов шифровать диск (см теории шифрования диска ).
Во многих режимах используется вектор инициализации (IV), который, в зависимости от режима, может иметь такие требования, как использование только один раз (одноразовый номер) или непредсказуемость перед его публикацией и т. Д. Повторное использование IV с тем же ключом в CTR, GCM или режим OFB приводит к тому, что XOR передает один и тот же поток ключей с двумя или более открытыми текстами, что является явным неправильным использованием потока с катастрофической потерей безопасности. Детерминированные аутентифицированные режимы шифрования, такие как алгоритм NIST Key Wrap и режим SIV ( RFC 5297 ) AEAD, не требуют IV в качестве входных данных и возвращают один и тот же зашифрованный текст и тег аутентификации каждый раз для данного открытого текста и ключа. Другие режимы защиты от неправильного использования IV, такие как AES-GCM-SIV выиграть от ввода IV, например, в максимальном количестве данных, которые могут быть безопасно зашифрованы одним ключом, без катастрофических сбоев, если один и тот же IV используется несколько раз.
Категорія: Технологии Кибербезопасности | Переглядів: 297 | Додав: Kontent_MENEGER | Теги: Режим работы блочного шифра | Рейтинг: 0.0/0
Всього коментарів: 0
avatar