Автор: Джагджит Сингх, Cointelegraph. Составитель: Songxue, Golden Finance;
1. Понимание известных атак с открытым текстом
Атака с известным открытым текстом (KPA) — это когда хакер использует известную пару незашифрованных и зашифрованных материалов для определения алгоритма или ключа шифрования.
При атаке с использованием известного открытого текста злоумышленник получает доступ к зашифрованной форме данных (зашифрованному тексту) и соответствующей копии открытого текста (незашифрованной форме) исходных данных. Злоумышленник пытается определить ключ или алгоритм шифрования, исследуя взаимосвязь между открытым текстом и зашифрованным текстом.
Например, если «CRYPTO» закодировано как «XUZZA», то знание этой пары может позволить злоумышленнику декодировать другие части сообщения, которые также были зашифрованы с использованием того же ключа замены. Это показывает, что при использовании определенных алгоритмов шифрования даже небольшой объем знаний может обеспечить более широкое дешифрование.
Эта атака использует недостаток в технологии шифрования, которая позволяет выявлять закономерности или связи между открытым текстом и зашифрованным текстом. Если не предотвратить должным образом известные атаки с открытым текстом, они могут поставить под угрозу безопасность криптографических систем.

Два распространенных метода использования открытого текста и соответствующей ему зашифрованной формы для раскрытия ключей шифрования включают частотный анализ и сопоставление с образцом. Методы частотного анализа используют простые методы шифрования и замену букв или символов «один к одному». Злоумышленник может определить ключ или разблокировать остальную часть сообщения, сравнив частоту встречаемости определенных букв или шаблонов в известном открытом тексте и связанном с ним зашифрованном тексте.
Злоумышленник может обнаружить тенденции, когда один и тот же открытый текст создает один и тот же зашифрованный текст при подходе сопоставления с образцом. Они могут определить алгоритм шифрования и расшифровать все сообщение, выявляя шаблоны в зашифрованном тексте и сравнивая их с известными шаблонами в открытом тексте.
2. Как осуществить атаку по известному открытому тексту?
В KPA злоумышленник может узнать важные подробности о методе шифрования, анализируя, как конкретный блок открытого текста преобразуется в зашифрованный текст с использованием того же ключа или алгоритма шифрования.
Атака включает в себя следующие шаги:
Собрать известные пары
Злоумышленник накапливает исходный открытый текст и связанный с ним зашифрованный зашифрованный текст, полученный с помощью различных методов, таких как перехват сообщений или утечка данных.
режим анализа
Когда открытый текст шифруется для создания зашифрованного текста, злоумышленник сравнивает произошедшие шаблоны, модификации и преобразования. Чтобы понять работу процесса шифрования, они искали регулярные связи между известным открытым текстом и зашифрованным текстом.
Получить ключ или алгоритм
Злоумышленники пытаются определить ключевые криптографические элементы, такие как ключи шифрования, алгоритмы или другие параметры процесса, на основе замеченных ими закономерностей. Благодаря этому выводу они могут независимо воспроизводить процесс шифрования.
Расшифровать другие данные
Злоумышленник может использовать производный ключ или алгоритм для расшифровки другого зашифрованного материала, используя тот же алгоритм шифрования. Этот процесс может раскрыть конфиденциальную информацию или поставить под угрозу безопасность системы шифрования.
3. Атака по выбранному открытому тексту и атака по известному открытому тексту
Атака с использованием выбранного открытого текста предполагает, что злоумышленник выбирает открытый текст и анализирует соответствующий зашифрованный текст, тогда как атака с использованием известного открытого текста происходит, когда злоумышленник частично знает открытый текст.
Понимание различий между этими двумя криптографическими атаками имеет решающее значение для эффективной стратегии криптографической защиты.

Частотный анализ фокусируется на изучении появления букв или символов для определения алгоритма шифрования, в отличие от классического криптоанализа, который исследует зашифрованный текст на наличие шаблонов и недостатков.
4. Как предотвратить атаки с использованием известного открытого текста?
Для защиты от атак с использованием известного открытого текста используйте надежные алгоритмы шифрования, безопасно управляйте ключами шифрования, используйте уникальные ключи для каждого сеанса и добавляйте случайность в процесс шифрования, чтобы повысить защиту от атак.
Используя стойкое шифрование, выберите алгоритм шифрования, устойчивый к известным атакам с открытым текстом. Современные алгоритмы шифрования, такие как Advanced Encryption Standard (AES), защищают от атак этого типа, предотвращая сопоставление шаблонов в открытом тексте с шаблонами в зашифрованном тексте. AES — широко используемый алгоритм симметричного шифрования, известный своей безопасностью и эффективностью.

Безопасно управляйте ключами шифрования, чтобы избежать несанкционированного доступа. Используйте безопасное хранилище ключей, часто меняйте ключи и используйте надежную технологию генерации ключей. Кроме того, избегайте шифрования дискретных, предсказуемых фрагментов данных. Чтобы злоумышленники не могли использовать известные пары, зашифруйте все сообщение или файл.
Кроме того, используйте разные клавиши для разных сеансов и задач. Поскольку в каждом сеансе будет использоваться другой ключ шифрования, влияние атаки с использованием известного открытого текста снижается. Кроме того, поддерживайте последние версии систем, библиотек и программного обеспечения для шифрования. Исправления безопасности, устраняющие уязвимости, часто включаются в обновления.
Прежде чем шифровать открытый текст ваших данных, добавьте к нему криптографическую соль (случайное значение). Это делает каждое шифрование уникальным, даже если один и тот же открытый текст зашифрован несколько раз. Кроме того, избегайте методов шифрования, которые, как известно, уязвимы для известных атак с использованием открытого текста. Тем не менее, проявите должную осмотрительность при выборе алгоритма шифрования.
