Режим шифрования
Материал из Википедии — свободной энциклопедии
Наиболее известные режимы блочного шифрования:
- Electronic Code Book
- Cipher Block Chaining
- Cipher Feedback Mode
- Output Feedback Mode
Содержание |
[править] Electronic Code Book (ECB)
[править] Cipher Block Chaining (CBC)
Для сцепления используется механизм обратной связи, поскольку результат шифрации предыдущих блоков используется для шифрации текущего блока. Таким образом любой блок шифра зависит не только от исходного текста, но и от всех предыдущих блоков текста. В Cipher Block Chaining (CBC) текст XOR’ится с предыдущим шифр. блоком перед шифрацией. Дешифрация проводится аналогично. Математическая запись выглядит так:
Ci = Ek (Pi XOR Ci-1) Pi = Ci-1 XOR Dk(Ci)
При этом в начале кодирования используется вектор инициализации (IV) для того, чтобы любое сообщение было по - настоящему уникальным (иначе будут трудности со стандартным заголовком). IV должен быть случайным числом. Его не обязательно хранить в секрете, можно передавать его вместе с сообщением . Большинство сообщений не делятся нацело на 64-битные блоки, обычно остается короткий блок в конце. Можно по-разному бороться с этим. Простейший метод – padding (дополнение до полного блока). Если надо потом убирать мусор, то достаточно просто последним байтом обозначить количество лишних байтов. Можно также обозначать последний байт текста символом конца файла. Это не всегда можно сделать (напр., если надо расшифровать блок и поставить его куда - нибудь в память). Тогда применяется следующая схема шифрования: предположим, в последнем блоке j бит. После зашифровки последнего целого блока, зашифруем шифрованный блок еще раз, выберем j начальных битов полученного текста и по XOR’им с исходным текстом. Это и есть шифр для неполного блока.
[править] Cipher Feedback Mode (CFB)
[править] Output Feedback Mode (OFB)
Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите её в соответствии с правилами написания статей. |