На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Криптоанализ


Криптоанализ - это процесс поиска слабых мест в криптографических алгоритмах и использование этих слабых мест для расшифровки зашифрованного текста без знания секретного ключа. Иногда слабость заключается не в самом криптографическом алгоритме, а скорее в том, как он применяется, что делает криптоанализ успешным. У взломщика могут быть и другие цели, такие как:

  • Полный взлом - поиск секретного ключа.
  • Глобальная дедукция - поиск функционально эквивалентного алгоритма шифрования и дешифрования, который не требует знания секретного ключа.
  • Вывод информации - получение некоторой информации об открытых текстах или зашифрованных текстах, которая ранее не была известна.
  • Алгоритм различения - возможность отличить вывод шифрования (зашифрованный текст) от случайной перестановки битов.


Цель хакера, выполняющего криптоанализ, будет зависеть от конкретных потребностей хакера в данном контексте атаки. В большинстве случаев, если криптоанализ вообще будет успешным, он не сможет пройти мимо возможности вывести некоторую информацию об открытом тексте (цель 3). Однако этого может быть достаточно, в зависимости от контекста.

Пример

Очень простым для понимания (но совершенно неприменимым к современным криптографическим шифрам) примером является метод криптоанализа, называемый частотным анализом, который может быть успешно применен к самым базовым классическим алгоритмам шифрования, которые выполняли одноалфавитную замену, заменяя каждую букву в открытом тексте на заранее определенную букву отображения из того же алфавита.

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

Таким образом, если буква “E” в английском языке встречается с определенной известной частотой (около 12,7%), то, чем бы “E” ни было заменено, чтобы попасть в зашифрованный текст, будет встречаться с аналогичной частотой. Наличие этой информации о частоте позволяет криптоаналитику быстро определять замены и расшифровывать зашифрованный текст. Методы частотного анализа неприменимы к современным шифрам, поскольку все они устойчивы к ним (если только это не очень плохой случай доморощенного алгоритма шифрования). Этот пример приведен здесь только для того, чтобы проиллюстрировать элементарный пример криптоанализа.

Как затруднить криптоанализ

Используйте проверенные криптографические алгоритмы с рекомендуемыми размерами ключей.

Убедитесь, что алгоритмы используются правильно. Это означает, что:

  • Не внедряйте собственную криптографию; используйте проверенные алгоритмы и реализации.
  • Выбирайте векторы инициализации с достаточно случайными числами.
  • Генерируйте ключевой материал с использованием надежных источников случайности и избегайте известных слабых ключей.
  • Используйте проверенные протокола и их реализации.
  • Выборайте наиболее подходящие криптографические алгоритмы для вашего контекста использования и данных.




Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, информационная безопасность, шифрование

Читайте также:




Зачем нужна форма обратной связи, или проблемы с почтой на сайте
Разница между == и === в JavaScript


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.