Объясните принцип работы, преимущества и недостатки, а также сценарии применения режима ECB.
Подробное введение в принцип работы, преимущества и недостатки, а также сценарии применения режима CBC.
Объясните принцип работы, преимущества и недостатки, а также сценарии применения режима CFB.
Объясните принцип работы, преимущества и недостатки, а также сценарии применения режима OFB.
Подвести итоги и дать предложения по выбору режима.
почему
Когда необходимо зашифровать открытый текст любой длины, для шифрования требуется групповая итерация. Существует множество режимов блочных шифров. Если режим выбран неправильно, конфиденциальность текста не может быть полностью гарантирована.
Основные понятия блочных и потоковых шифров.
блочный шифр : разделить данные открытого текста на блоки фиксированной длины (обычно 128 или 64 бита), а затем зашифровать их поблочно. Каждый блок называется блоком.
потоковый шифр: Алгоритм шифрования для непрерывной обработки потоков данных, побитовое или побайтовое шифрование, подходит для шифрования потоков данных.
что такое узор
Шаблон представляет собой итерационный алгоритм блочного шифра.
Например, мы часто используем режим ECB в алгоритме DES. Режим ECB — это метод разделения открытого текста на несколько групп и шифрования их одну за другой. Алгоритм ECB имеет небольшой объем вычислений и высокую скорость шифрования и дешифрования, но теперь доказано, что ECB — ненадежный режим. Поэтому не используйте режим ЕЦБ в официальных случаях.
Общие шаблоны в блочных шифрах
1. Режим ECB (режим электронной кодовой книги)
ЕЦБ группирует открытый текст и напрямую шифрует его для создания групп зашифрованного текста.
Принцип работы:
Разделить открытый текст на несколько пакетов фиксированной длины.
Каждая группа шифруется независимо.
преимущество:
Расчет простой и быстрый.
Поддерживает параллельную обработку.
недостаток:
Одна и та же группировка открытого текста приведет к созданию одной и той же группы зашифрованного текста, а образец и структуру открытого текста невозможно скрыть.
Уязвим для атак статистического анализа.
Сценарии применения:
Не подходит для шифрования конфиденциальной информации и не рекомендуется для использования в официальных случаях.
В режиме ECB открытый текст и зашифрованный текст имеют взаимно однозначное соответствие. Один и тот же открытый текст должен привести к одному и тому же зашифрованному тексту.Таким образом, хотя открытый текст не может быть напрямую выведен из зашифрованного текста, целевые атаки могут осуществляться на основе характеристик зашифрованного текста.
Например: Боб отправляет Алисе сообщение о передаче:
分组1=Bob的银行账号
分组2=Alice的银行账号
分组3= 转账金额
Хотя Ева не может напрямую изменить номер и сумму счета (поскольку нет расшифрованных данных), Ева может вызвать атаку, поменяв местами группу 1 и группу 2.
分组1=Alice的银行账号
分组2=Bob的银行账号
分组3= 转账金额
Этот метод атаки успешен, поскольку ЕЦБ не скрывает информацию в виде открытого текста.
2. Режим CBC (режим объединения групп зашифрованного текста)
Режим связи группы зашифрованного текста
Принцип работы:
Первый блок открытого текста подвергается операции XOR с вектором инициализации (IV), а затем шифруется для создания первого блока зашифрованного текста.
Каждая последующая группа открытого текста подвергается операции XOR с предыдущей группой зашифрованного текста, а затем шифруется для создания соответствующей группы зашифрованного текста.
преимущество:
Возможность скрывать шаблоны и структуры открытого текста для повышения безопасности.
Поддерживает параллельное дешифрование.
недостаток:
Параллельная обработка не поддерживается во время шифрования и должна выполняться последовательно.
Если определенная группа зашифрованного текста повреждена, это повлияет на расшифровку текущей и следующей группы.
Основная часть CBC заключается в переносе предыдущей группы зашифрованного текста в качестве переменной в следующее шифрование открытого текста. Таким образом, даже если открытый текст один и тот же, после операции XOR зашифрованного текста появятся разные результаты. Таким образом достигается цель запутывания простой текстовой информации.
Но не знаю, заметили ли вы, как быть с первой группой открытого текста? При обработке первого пакета открытого текста XOR равен 0. Затем пакет зашифрованного текста A переходит в режим ECB. Чтобы избежать этой ситуации, нам необходимо искусственно дополнить исходную группу зашифрованного текста. Эта начальная группа зашифрованного текста называется компонентом IV.
Сценарии применения:
Используется в сценариях, где требуется высокий уровень безопасности и допускается последовательное шифрование, например шифрование файлов.
3. Режим CFB (режим обратной связи по зашифрованному тексту)
Улучшение модели CBC
В режиме CFB между группой открытого текста и группой зашифрованного текста выполняется только операция XOR. В этот момент выходные данные криптографического алгоритма имеют некоторое значение одноразового блокнота.
Принцип работы:
Первый блок открытого текста подвергается операции XOR с вектором инициализации (IV), а затем шифруется для создания первого блока зашифрованного текста.
Каждая последующая группа открытого текста подвергается операции XOR с предыдущей группой зашифрованного текста, а затем шифруется для создания соответствующей группы зашифрованного текста.
преимущество:
Поддерживает параллельное дешифрование.
Может расшифровать любую группу зашифрованного текста.
недостаток:
Не застрахован от повторных атак.
Сценарии применения:
Шифрование коммуникаций в реальном времени, например, передача данных по сети.
4. Режим OFB (режим обратной связи по выходу)
Выходной режим обратной связи. Выходные данные криптографического алгоритма возвращаются на вход криптографического алгоритма.
OFB не шифрует открытый текст с помощью криптографического алгоритма, а генерирует зашифрованный текст путем XOR группы открытого текста с выходными данными криптографического алгоритма. Таким образом, OFB и CFB также в чем-то похожи.
Принцип работы:
Вектор инициализации (IV) вводится в алгоритм шифрования, создавая псевдослучайный результат.
Группа открытого текста подвергается операции XOR с псевдослучайным выводом для создания группы зашифрованного текста.
Псевдослучайный вывод передается обратно в алгоритм шифрования, который продолжает генерировать следующий псевдослучайный вывод.
преимущество:
Никакой прокладки не требуется.
Если зашифрованный текст содержит ошибочные биты, ошибочными будут только соответствующие биты открытого текста.
недостаток:
Параллельное дешифрование не поддерживается.
Существует риск атак с обратным изменением битов.
Сценарии применения:
Сценарии, требующие высокой устойчивости к ошибкам, например шифрование видеопотока.
Рекомендации по выбору режима
режим ЕЦБ: Просто и быстро, но небезопасно и не рекомендуется.
режим CBC: Подходит для сценариев с высокими требованиями безопасности, например, для шифрования файлов, и рекомендуется.
режим CFB: Подходит для связи в реальном времени и поддерживает параллельное дешифрование, но необходимо предотвращать атаки повторного воспроизведения.
Режим OFB: подходит для сценариев с высокими требованиями к устойчивости к ошибкам, но не поддерживает параллельное дешифрование.