Учебное пособие по криптографии
⚡ Умное резюме
Криптография защищает информацию, преобразуя её в нечитаемый для человека формат, который может расшифровать только обладатель правильного ключа. На этой странице рассматриваются её особенности, области применения, алгоритмы и практическое упражнение с использованием CrypTool.

Информация играет жизненно важную роль в бизнесе, государственном управлении и военных операциях, и попадание информации в чужие руки может привести к потере прибыли или к более серьезным последствиям. Для обеспечения безопасности связи организация использует криптографию для шифрования информации — преобразования ее в нечитаемый для человека формат и обратно.
В этой статье по криптографии и сетевой безопасности вы узнаете, как работает криптография и как защитить информацию от попадания в чужие руки.
Что такое криптография?
Криптография — это изучение и применение методов, позволяющих скрывать истинный смысл информации путем преобразования ее в нечитаемый для человека формат и обратно.
Рассмотрим пример. Чтобы отправить «Я ЛЮБЛЮ ЯБЛОКИ», нужно заменить каждую букву третьей последовательной буквой алфавита, получив «K NQXG CRRNGU». Чтобы прочитать это, получатель отступает на три буквы назад, как показано ниже.

Преобразование информации в нечитаемую для человека форму называется шифрованиеа обратное преобразование называется дешифрованиеЗашифрованный результат называется шифр.
Для расшифровки используется секретный ключ, известный только законным получателям. Поскольку ключ необходим, связь остается защищенной даже в случае перехвата шифра злоумышленником, что без него не имеет смысла.
Особенности криптографии
Криптографическая система оценивается по следующим характеристикам.
| Характеристика | Что это значит |
|---|---|
| Алгоритм | Опубликованная математическая процедура, выполняющая преобразование. |
| Конфиденциальность | Только владельцы ключа могут читать защищенные данные. |
| Integrity | Любые изменения в данных поддаются обнаружению. |
| Адаптивность | Данная схема настраивается под разные размеры ключей и уровни угроз. |
| Взаимодействие | Различные системы и поставщики обмениваются защищенными данными. |
| Аутентификация | Происхождение сообщения можно доказать. |
| Масштабируемость | Производительность остается стабильной по мере роста объемов данных. |
| Ключевой менеджмент | Ключи генерируются, хранятся, обновляются и безопасно выводятся из эксплуатации. |
Приложения криптографии
Эти характеристики становятся повседневными услугами, на которые люди полагаются, даже не замечая этого.
| Области применения | Как используется криптография |
|---|---|
| Шифрование TLS | Обеспечивает защиту трафика между браузером и веб-сайтом. |
| Хранение паролей | Вместо читаемых паролей хранит хеши с солью. |
| Онлайн банкинг | Обеспечивает безопасность транзакций и проверяет банк. |
| Криптовалюта | Подписывает транзакции и связывает блоки с помощью хешей. |
| Шифрованная электронная почта | Обеспечивает конфиденциальность содержимого сообщений при передаче и хранении. |
| Digiтал подписи | Доказывает авторство и неизменность документа. |
| Безопасный обмен сообщениями | Применяет сквозное шифрование между устройствами. |
| Электронная коммерция | Защищает данные карты во время оформления заказа. |
Что такое криптоанализ?
Криптоанализ — это искусство расшифровки сообщений без ключа, использованного для их шифрования. Он применяет математический анализ и алгоритмы для расшифровки шифров и используется как для взлома систем, так и, в целях защиты, для оценки уровня защиты, обеспечиваемого алгоритмом.
Успех криптоаналитической атаки зависит от:
- Доступное количество времени
- Доступная вычислительная мощность
- Доступная емкость хранилища
Ниже перечислены наиболее часто обсуждаемые криптоаналитические атаки:
- Атака грубой силы — перебирает все возможные комбинации открытого текста или ключа, шифрует каждую из них и сравнивает с исходным шифром.
- Словарная атака — использует список слов для сопоставления либо с открытым текстом, либо с ключом. Чаще всего используется при попытке взламывать зашифрованные пароли.
- Атака радужным столом — сравнивает зашифрованный текст с предварительно вычисленными хешами для поиска совпадений. Добавление соли к каждому сохраненному паролю делает его неработоспособным.
Что такое криптология?
Криптология — это обобщающая область, объединяющая криптографию и криптоанализ. Важны обе составляющие: алгоритму можно доверять только после того, как криптоаналитики попытаются его взломать и потерпят неудачу.
Шифрование Algorithms
Приведенные ниже алгоритмы неоднократно встречаются в исследованиях в области безопасности. Обратите внимание, какие из них остаются одобренными, а какие сохраняются только в устаревших системах.
- MD5 — сокращение от Message-Digest 5, он выдает 128-битные хеш-значения. MD5 — это хеш-функция, а не шифрованиеПоэтому его невозможно обратить вспять по замыслу разработчиков. Он не устойчив к коллизиям — два разных входных параметра могут дать один и тот же хеш — и непригоден для паролей или подписей.
- ША — сокращение от Secure Hash Algorithm (безопасный хеш-алгоритм), это семейство алгоритмов генерирует сжатые представления сообщения, называемые дайджестом сообщения:
- SHA-0: генерирует 160-битные хеш-значения. Был отозван из-за существенной уязвимости и заменен на SHA-1.
- SHA-1: генерирует 160-битные хеш-значения. Практическая коллизия была продемонстрирована в 2017 году, и NIST запретил её использование в цифровых подписях, поэтому избегайте её.
- SHA-2: семейство из шести функций, включая SHA-256 и SHA-512, работающих с 32-битными и 64-битными словами соответственно. Обе функции остаются одобренными.
- SHA-3Стандартизированный в 2015 году и ранее известный как Keccak, он использует другую внутреннюю структуру в качестве резервной копии SHA-2.
- AES — Расширенный стандарт шифрования (DES) — это симметричный блочный шифр, защищающий большую часть данных в состоянии покоя и при передаче, с ключами 128, 192 и 256 бит. Он заменил DES и является стандартом по умолчанию для новых систем.
- RC4 — потоковый шифр, когда-то широко распространенный в протоколах Secure Sockets Layer (SSL) и Wired Equivalent Privacy (WEP). Оба протокола устарели, а RFC 7465 в 2015 году запретил использование RC4 во всех версиях TLS. Он сохранился здесь в качестве учебного примера.
- Blowfish — это симметричный блочный шифр с ключом, исторически использовавшийся для паролей и файлов. 64-битный размер блока делает AES лучшим современным выбором.
В перспективе, в августе 2024 года NIST опубликовал свои первые постквантовые стандарты — ML-KEM для обмена ключами, ML-DSA и SLH-DSA для подписей, — которые постепенно заменят нынешние алгоритмы открытых ключей.
Хакерская деятельность: Как создать шифр с помощью CrypTool
В этом практическом упражнении по CrypTool вы создадите простой шифр с помощью RC4, а затем восстановите его методом перебора, предполагая, что ключ известен и имеет размер 24 бита. Цель — показать, почему короткий ключ и взломанный шифр не обеспечивают реальной защиты.
Создание потокового шифра RC4
Шаг 1) Загрузите и установите CrypTool.
CrypTool 1 — это образовательный инструмент с открытым исходным кодом для изучения криптологии. Активная разработка впоследствии перешла к CrypTool 2, но версия 1.4.42 по-прежнему работает на... Windows и соответствует скриншотам ниже. Скачать можно здесь. cryptool.org.
Шаг 2) Откройте CrypTool и замените текст.
Фраза для шифрования: Никогда не стоит недооценивать решимость ребенка, у которого много времени, но мало денег.Ключевое слово — 00 00 00.
- Откройте CrypTool 1.
- Замените текст фразой, указанной выше.
Шаг 3) Зашифруйте текст
- Нажмите на меню «Шифрование/Расшифровка».
- Наведите указатель мыши на «Симметричный (современный)», затем выберите RC4.
Шаг 4) Выберите ключ шифрования
- Выберите длину ключа 24 бита.
- Установите значение равным 00 00 00.
- Нажмите кнопку «Зашифровать», чтобы получить приведенный ниже потоковый шифр.
Атака на потоковый шифр
Шаг 5) Начать анализ
- Щелкните меню «Анализ».
- Наведите указатель мыши на «Симметричное шифрование (современное)», затем выберите RC4.
- Предполагается использование 24-битного секретного ключа, поэтому выберите 24 бита в качестве длины ключа.
- Нажмите кнопку Пуск.
- Примечание: Время, необходимое для обработки данных, зависит от вычислительной мощности используемого устройства и от длины ключа. Более длинный ключ требует больше времени, поэтому современные ключи имеют длину 128 бит и более.
Шаг 6) Проанализируйте результаты
- По завершении анализа потенциальные ключи располагаются в следующем порядке.
- Примечание: Более низкое значение энтропии обычно указывает на правильный результат, хотя более высокое значение также может быть верным.
- Выделите строку, которая выглядит как осмысленный текст, затем нажмите «Принять выделение».









