Вопрос 7
Режим шифрования — метод применения блочного шифра, позволяющий преобразовать последовательность блоков открытых данных в последовательность блоков зашифрованных данных. При этом для шифрования одного блока могут использоваться данные другого блока. Обычно режимы шифрования используются для модификации процесса шифрования так, чтобы результат шифрования каждого блока был уникальным вне зависимости от шифруемых данных и не позволял сделать какие-либо выводы об их структуре. Это обусловлено, прежде всего, тем, что блочные шифры шифруют данные блоками фиксированного размера, и поэтому существует потенциальная возможность утечки информации о повторяющихся частях данных шифруемых на одном и том же ключе. Существует несколько стандартных режимов шифрования. · Electronic Codebook (ECB)
Недостаток ECB, в сравнении c другими режимами шифрования — сохранение статических особенностей открытого текста:
Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 (операция XOR) с предыдущим результатом шифрования. Шифрование: C 0 = IV где i — номера блоков, IV — вектор инициализации (синхропосылка), Ci и Pi — блоки зашифрованного и открытого текстов соответственно, а Ek — функция блочного шифрования. Расшифровка: · Cipher Feedback (CFB) Режим обратной связи по шифротексту, режим гаммирования с обратной связью (англ. Cipher Feedback Mode, CFB). Для шифрования следующего блока открытого текста он складывается по модулю 2 с перешифрованным (блочным шифром) результатом шифрования предыдущего блока. C 0 = IV · Output Feedback (OFB) Режим (OFB) обратной связи вывода превращает блочный шифр в синхронный шифрпоток: это генерирует ключевые блоки, которые являются результатом сложения с блоками открытого текста, чтобы получить зашифрованный текст. Так же, как с другими шифрами потока, зеркальное отражение в зашифрованном тексте производит зеркально отраженный бит в открытом тексте в том же самом местоположении. Это свойство позволяет многим кодам с исправлением ошибок функционировать как обычно, даже когда исправление ошибок применено перед кодированием. Из-за симметрии операции сложения, шифрование и расшифрование похожи: Oi = Ek (Oi − 1) O 0 = IV · Counter Mode (CTR) Режим Счетчика (Counter Mode-CTR) предполагает возврат на вход соответствующего алгоритма блочного шифрования значения счетчика, накопленного с момента старта. Увеличивая значение счетчика, алгоритм блочного шифрования образует строку битов, которая используется в качестве бегущего ключа шифра Вернама, т.е. к бегущему ключу и блокам исходного сообщения применяются операции XOR. Режим CTR предусматривает следующие операции.[1] Шифрование в режиме CTR ВВОД: ВЫВОД: Расшифровка в режиме CTR ВВОД: ВЫВОД:
§ § § если m-й сегмент короче других сегментов, он дополняется до стандартной длины; § в некоторых режимах шифрования размер сегмента сообщения равен размеру блока, а в других режимах он может быть меньше; § При отсутствии обратной связи алгоритмы шифрования и расшифровки в режиме CTR могут выполняться параллельно. Это обеспечивает режиму CTR преимущество перед режимами Cipher Feedback (CFB) и Output Feedback (OFB).
|