- •Содержание
- •1. Введение в криптографию
- •1.1. Основные понятия и определения криптографии
- •1.2. Из истории криптографии
- •1.3. Модели источников открытых текстов
- •1.3.1 Детерминированные модели
- •1.3.2 Вероятностные модели
- •1.4. Модели шифров
- •2. Симметричные криптосистемы и их свойства
- •2.1. Шифры замены
- •2.2. Шифры перестановки
- •2.3. Поточные криптосистемы
- •2.4. Блочные криптосистемы
- •2.4.1. Принципы построения блочных криптосистем
- •2.4.2. Режимы шифрования
- •2.4.3. Усложнение блочных криптосистем
- •2.4.4. Блочная криптосистема des
- •2.4.5. Блочная криптосистема гост 28147-89
- •2.4.6. Конкурс aes и блочная криптосистема Rijndael
- •3. Методы криптоанализа симметричных криптосистем
- •3.1. Задачи и принципы криптоанализа
- •3.2. Метод полного перебора
- •3.3. Методы бесключевого чтения
- •3.4. Методы криптоанализа с использованием теории статистических решений
- •3.5. Линейный криптоанализ
- •3.6 Дифференциальный (разностный) криптоанализ
- •4. Теория стойкости криптосистем
- •4.1. Совершенно стойкие криптосистемы
- •4.2. Идеально стойкие криптосистемы
- •4.3. Практическая стойкость криптосистем
- •4.4. Имитостойкость и помехоустойчивость криптосистем
2.4.2. Режимы шифрования
Для шифрования исходного открытого текста БСК могут использоваться в различных режимах [2,11]. Далее будут рассмотрены четыре режима шифрования наиболее часто встречающиеся на практике:
- режим электронной кодировочной книги - ECB (Electronic Code Book);
- режим сцепления блоков криптограммы - CBC (Cipher Block Chaining);
- режим обратной связи по криптограмме - CFB (Cipher Feed Back);
- режим обратной связи по выходу - OFB (Output Feed Back).
Режим электронной кодировочной книги ECB. Исходный текст разбивается на блоки, равные размеру блока шифра. Затем каждый блок шифруется независимо от других с использованием одного ключа шифрования (см. рис. 2.6). Непосредственно этот режим применяется для шифрования небольших объемов информации, размером не более одного блока или для шифрования ключей. Это связано с тем, что одинаковые блоки открытого текста преобразуются в одинаковые блоки криптограмма, что может дать криптоаналитику определенную информацию о содержании сообщения.
Рис. 2.6. Режим электронной кодировочной книги ECB
Стойкость режима ECB равна стойкости самого шифра, однако, структура исходного текста при этом не скрывается. Скорость шифрования равна скорости блочного шифра. Основным достоинством этого режима является простота реализации.
Режим сцепления
блоков криптограммы CBC.
В данном режиме каждый блок исходного
текста складывается по модулю 2 с
предыдущим блоком криптограммы, а затем
шифруются (см. рис. 2.7). Для начала процесса
шифрования используется синхропосылка
(или начальный
вектор)
.
Процессы шифрования и расшифрования
описывается выражениями:
,
. (2.16)
,
. (2.17)
Рис. 2.7. Режим сцепления блоков криптограммы CBC
Стойкость режима
CBC равна стойкости блочного шифра,
лежащего в его основе. Структура исходного
текста скрывается за счет сложения по
модулю 2 предыдущего блока криптограммы
с очередным блоком открытого текста.
Стойкость шифрованного текста
увеличивается, поскольку становиться
невозможным прямая манипуляция исходным
текстом. Скорость шифрования равна
скорости работы блочного шифра, однако
простого способа распараллеливания
процесса шифрования, как для режима
ECB,
не существует. Начальный вектор
может передаваться по линии связи как
в открытом, так и в шифрованном виде.
Однако следует избегать повторения
начального вектора, это позволит
затруднить криптоатаку. Искажение
одного бита в блоке открытого текста
влечет за собой искажение в среднем
половины битов во всех блоках криптограммы,
начиная с
.
Для расшифрования это несущественно,
так как восстановленный текст будет
содержать ту же единственную ошибку.
Искажение бита в блоке
влечет за собой искажение около половины
битов в блоке
,
начиная с этого бита, и в блоке
Следующие блоки расшифровываются
корректно.
Режим обратной связи по криптограмме CFB. В данном режиме предыдущий блок криптограммы шифруется еще раз, и для получения очередного блока криптограммы результат складывается по модулю 2 с блоком исходного текста (см. рис. 2.8). Для начала процесса шифрования также используется начальный вектор . Процессы шифрования и расшифрования описывается выражениями:
,
. (2.18)
,
. (2.19)
Особенностью
режима является то, что в (2.18) и (2.19)
базовый алгоритм используется только
для шифрования. Искажение одного бита
в блоке
влечет за собой искажение одного бита
в
и в среднем половины битов во всех блоках
криптограммы, начиная с
,
но при расшифровании получается открытый
текст с той же единственной ошибкой.
Рис. 2.8. Режим обратной связи по криптограмме CFB
Искажение бита в блоке влечет искажение соответствующего бита в блоке . Затем ошибка искажает в среднем половину битов в каждом из последующих блоков, но в дальнейшем блоки расшифровываются корректно. Данный режим, как и ССПК, самостоятельно восстанавливается после ошибок синхронизации. Стойкость режима равна стойкости блочного шифра, лежащего в его основе, и структура исходного текста скрывается за счет использования операции сложения по модулю 2. Скорость шифрования равна скорости работы блочного шифра, и простого способа распараллеливания процесса шифрования не существует.
Режим обратной связи по выходу OFB. Данный режим подобен режиму CFB, за исключением того, что величины, складываемые по модулю 2 с блоками исходного текста, генерируются независимо от исходного текста и криптограммы (см. рис. 2.9).
Процессы шифрования и расшифрования описывается выражениями:
,
.
(2.20)
,
. (2.21)
Для начала процесса
шифрования используется начальный
вектор
.
Рис. 2.9. Режим обратной связи по выходу OFB
В данном режиме ошибки не распространяются, что является преимуществом при передаче шифрованных речевых сигналов и видеоизображений. Блочный шифр в данном режиме можно рассматривать как СПК. В связи с этим, при использовании режима OFB чрезвычайно важно сохранять синхронизм.
