Учебное пособие по криптографии: криптоанализ, RC4, CrypTool

Teacher

Professional
Messages
2,673
Reputation
9
Reaction score
688
Points
113
Как обезопасить ваши данные с помощью криптографии
Информация играет жизненно важную роль в ведении бизнеса, организаций, военных операций и т. д. Информация, попавшая в чужие руки, может привести к потере бизнеса или катастрофическим результатам. Чтобы защитить связь, бизнес может использовать криптологию для шифрования информации. Криптология включает в себя преобразование информации в формат, нечитаемый человеком, и наоборот.

В этой статье мы познакомим вас с миром криптологии и познакомим вас с тем, как защитить информацию от попадания в чужие руки.

Темы, затронутые в этом руководстве
  • Что такое криптография?
  • Что такое криптоанализ?
  • Что такое криптология?
  • Алгоритмы шифрования
  • Хакерская активность: Взломайте сейчас!

Что такое криптография?
Криптография - это изучение и применение методов, которые скрывают реальный смысл информации, преобразовывая ее в форматы, нечитаемые человеком, и наоборот.

Проиллюстрируем это на примере. Предположим, вы хотите отправить сообщение «Я ЛЮБЛЮ ЯБЛОКИ», вы можете заменить каждую букву во фразе третьей последовательной буквой в алфавите. Зашифрованное сообщение будет иметь вид «K NQXG CRRNGV». Чтобы расшифровать наше сообщение, нам нужно будет вернуться на три буквы в алфавите, используя ту букву, которую мы хотим расшифровать. На изображении ниже показано, как выполняется преобразование.
cipher.png


Процесс преобразования информации в нечитаемую человеком форму называется шифрованием.

Процесс обратного шифрования называется расшифровкой.

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

Зашифрованная информация называется шифром.

Что такое криптоанализ?
Криптоанализ - это искусство попытки расшифровать зашифрованные сообщения без использования ключа, который использовался для шифрования сообщений. Криптоанализ использует математический анализ и алгоритмы для расшифровки шифров.

Успех атак криптоанализа зависит от:
  • Количество доступного времени
  • Доступная вычислительная мощность
  • Доступная емкость хранилища

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

Что такое криптология?
Криптология сочетает в себе методы криптографии и криптоанализа.

Алгоритмы шифрования
MD5 - это аббревиатура от Message-Digest 5. Используется для создания 128-битных хеш-значений. Теоретически хеши нельзя преобразовать в исходный простой текст. MD5 используется для шифрования паролей, а также для проверки целостности данных. MD5 не устойчив к столкновениям. Устойчивость к коллизиям - это трудности нахождения двух значений, которые производят одинаковые хеш-значения.
  • SHA - это аббревиатура от Secure Hash Algorithm. Алгоритмы SHA используются для генерации сжатых представлений сообщения (дайджест сообщения). Он имеет различные версии, такие как;
  • SHA-0: создает 120-битные хеш-значения. Он был выведен из эксплуатации из-за значительных недостатков и заменен на SHA-1.
  • SHA-1: создает 160-битные хеш-значения. Он похож на более ранние версии MD5. Он обладает криптографической слабостью и не рекомендуется к использованию с 2010 года.
  • SHA-2: он имеет две хэш-функции, а именно SHA-256 и SHA-512. SHA-256 использует 32-битные слова, а SHA-512 - 64-битные слова.
  • SHA-3: этот алгоритм формально был известен как Keccak.
  • RC4 - этот алгоритм используется для создания потоковых шифров. Он в основном используется в таких протоколах, как Secure Socket Layer (SSL) для шифрования интернет-коммуникаций и WEP для защиты беспроводных сетей.
  • BLOWFISH - этот алгоритм используется для создания симметрично заблокированных шифров с ключами . Его можно использовать для шифрования паролей и других данных.

Хакерская активность: используйте CrypTool
В этом практическом сценарии мы создадим простой шифр с использованием алгоритма RC4. Затем мы попытаемся расшифровать его, используя атаку грубой силы. Для этого упражнения предположим, что мы знаем, что секретный ключ шифрования составляет 24 бита. Мы будем использовать эту информацию, чтобы взломать шифр.

Мы будем использовать CrypTool 1 в качестве нашего инструмента криптологии. CrypTool 1 - это образовательный инструмент с открытым исходным кодом для криптологических исследований. Вы можете скачать его с https://www.cryptool.org/en/ct1-downloads.

Создание потокового шифра RC4
Зашифруем следующую фразу
Никогда не недооценивайте решимость ребенка, у которого много времени и мало денег

Мы будем использовать 00 00 00 в качестве ключа шифрования.

  • Открыть CrypTool 1
Cryptool1.png


  • Замените текст на «Никогда не недооценивайте решимость ребенка, у которого много времени и мало денег».
Cryptool2.png


  • Щелкните меню «Шифровать / расшифровать».
Cryptool3.png


  • Наведите курсор на Симметричный (современный), затем выберите RC4, как показано выше.
  • Появится следующее окно
Cryptool4.png
[/URL]

  • Выберите 24 бита в качестве ключа шифрования.
  • Установите значение 00 00 00
  • Нажмите кнопку «Зашифровать».
  • Вы получите следующий потоковый шифр
Cryptool5.png
[/URL]

Атака на потоковый шифр
  • Щелкните меню "Анализ".
Analysys_menu.png


  • Укажите на симметричное шифрование (современное), затем выберите RC4, как показано выше.
  • Вы получите следующее окно
Analysys_of_rc4.png


  • Помните, что было сделано предположение, что секретный ключ составляет 24 бита. Поэтому убедитесь, что вы выбрали длину ключа 24 бита.
  • Щелкните по кнопке «Пуск». Вы получите следующее окно
Analysys_of_rc4_1.png


  • Примечание: время, необходимое для выполнения атаки анализа методом перебора, зависит от вычислительной мощности используемой машины и длины ключа. Чем больше длина ключа, тем больше времени требуется для завершения атаки.
  • Когда анализ будет завершен, вы получите следующие результаты.
Analysys_result.png


  • Примечание: меньшее число энтропии означает, что это наиболее вероятный правильный результат. Возможно, правильным результатом может быть более высокое, чем наименьшее найденное значение энтропии.
  • Выберите строку, которая имеет наибольший смысл, затем нажмите кнопку Принять выбор, когда закончите

Резюме
  • Криптография - это наука о шифровании и расшифровке сообщений.
  • Шифр - это сообщение, преобразованное в нечитаемый человеком формат.
  • Расшифровка - это преобразование шифра в исходный текст.
  • Криптоанализ - это искусство расшифровки шифров без знания ключа, используемого для их шифрования.
  • Криптология сочетает в себе методы криптографии и криптоаналитика.
 
Top