Режим электронной кодовой книги (англ. Electronic Codebook, ECB) — один из вариантов использования симметричного блочного шифра, при котором каждый блок открытого текста заменяется блоком шифротекста. В ГОСТ 28147—89 называется режимом простой замены.
Шифрование может быть описано следующим образом:
C i = E k ( P i ) {displaystyle C_{i}=E_{k}left(P_{i}
ight)}
где i {displaystyle i} — номера блоков, C i {displaystyle C_{i}} и P i {displaystyle P_{i}} — блоки зашифрованного и открытого текстов соответственно, а E k {displaystyle E_{k}} — функция блочного шифрования. Расшифровка аналогична:
P i = D k ( C i ) {displaystyle P_{i}=D_{k}left(C_{i}
ight)} Шифрование в режиме ECB Расшифрование в режиме ECB
Преимущества
- Нет необходимости в последовательном применении функции шифрования к потоку открытого текста. Допустимо сначала зашифровать, например, начало файла, потом конец, потом середину. Как следствие, шифрование может быть параллельным.
Недостатки
- Блоки могут пропадать или появляться. Злоумышленник может перехватить блок и продублировать его, и со стороны приёмника он будет воспринят как «правильный».
- При использовании одного ключа идентичные блоки открытого текста шифруются в идентичные блоки зашифрованного текста; таким образом, этот метод плохо скрывает структуру данных, что также делает его неустойчивым к статистическому анализу. Если шифруемое сообщение содержит два повторяющихся элемента с периодом повторения, кратным размеру блока, то в зашифрованном тексте появится два одинаковых блока. Многие форматы файлов подразумевают использование стандартных заголовков или наличие блоков одинаковых символов, и шифрование таких файлов приведёт к появлению повторяющихся блоков в шифротексте. Данная особенность режима ECB делает его непригодным для безопасного практического применения в большинстве случаев.
Режим устойчив к ошибкам, связанным с изменением битов блока (ошибка не распространяется на другие блоки), но неустойчив к ошибкам, связанным с потерей или вставкой битов, если не используется дополнительный механизм выравнивания блоков.