Режим электронной кодовой книги
Режим электронной кодовой книги (англ. Electronic Codebook, ECB) — один из вариантов использования симметричного блочного шифра, при котором каждый блок открытого текста заменяется блоком шифротекста. В ГОСТ 28147—89 называется режимом простой замены.
Шифрование может быть описано следующим образом:
- [math]\displaystyle{ C_i = E_k \left( P_i \right) }[/math]
где [math]\displaystyle{ i }[/math] — номера блоков, [math]\displaystyle{ C_i }[/math] и [math]\displaystyle{ P_i }[/math] — блоки зашифрованного и открытого текстов соответственно, а [math]\displaystyle{ E_k }[/math] — функция блочного шифрования. Расшифровка аналогична:
- [math]\displaystyle{ P_i = D_k \left( C_i \right) }[/math]
Преимущества
- Нет необходимости в последовательном применении функции шифрования к потоку открытого текста. Допустимо сначала зашифровать, например, начало файла, потом конец, потом середину. Как следствие, шифрование может быть параллельным.
Недостатки
- Блоки могут пропадать или появляться. Злоумышленник может перехватить блок и продублировать его, и со стороны приёмника он будет воспринят как «правильный».
- При использовании одного ключа идентичные блоки открытого текста шифруются в идентичные блоки зашифрованного текста; таким образом, этот метод плохо скрывает структуру данных, что также делает его неустойчивым к статистическому анализу. Если шифруемое сообщение содержит два повторяющихся элемента с периодом повторения, кратным размеру блока, то в зашифрованном тексте появится два одинаковых блока. Многие форматы файлов подразумевают использование стандартных заголовков или наличие блоков одинаковых символов, и шифрование таких файлов приведёт к появлению повторяющихся блоков в шифротексте. Данная особенность режима ECB делает его непригодным для безопасного практического применения в большинстве случаев.[1]
Режим устойчив к ошибкам, связанным с изменением битов блока (ошибка не распространяется на другие блоки), но неустойчив к ошибкам, связанным с потерей или вставкой битов, если не используется дополнительный механизм выравнивания блоков.
Примечания
- ↑ Нильс Фергюсон, Брюс Шнайер. Практическая криптография = Practical Cryptography: Designing and Implementing Secure Cryptographic Systems. — М. : Диалектика, 2004. — 432 с. — 3000 экз. — ISBN 5-8459-0733-0, ISBN 0-4712-2357-3.
Литература
- Шнайер Б. 9.1. Режим электронной кодовой книги // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — С. 221—222. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.