Основы криптографии

Изучите практическое применение криптографии в обеспечении безопасности. Разберитесь в различиях между кодированием и шифрованием, научитесь определять типы криптографических хешей, а также освойте использование OpenSSL и GPG для симметричного и асимметричного шифрования.

Cybersecurity EngineerКибербезопасность

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

Вы преобразуете данные Base64, URL-кодирование и шестнадцатеричное представление, создадите и проверите хеши файлов, определите вероятные форматы хешей паролей и зашифруете файлы с помощью OpenSSL и GPG. Итоговое расследование объединит декодирование Base64, проверку отделённой подписи, определение алгоритма и расшифрование AES в единый доказательный процесс.

Чему вы научитесь

  • Кодировать и декодировать Base64, URL с процентным кодированием и шестнадцатеричные данные средствами командной строки
  • Объяснять, почему кодирование обеспечивает совместимость, но не конфиденциальность
  • Создавать дайджесты MD5, SHA-1 и SHA-256 и наблюдать влияние изменения входных данных
  • Формировать и проверять файлы контрольных сумм SHA-256 для обнаружения модификаций
  • Извлекать хеши из структурированных данных и строить гипотезы об алгоритме по длине, набору символов и результатам hashid
  • Сопоставлять вероятные типы хешей с режимами Hashcat без попыток восстановления паролей
  • Шифровать и расшифровывать файлы с OpenSSL AES-256-CBC и выводом ключа PBKDF2 из пароля
  • Создавать пару ключей GPG, применять шифрование открытым ключом и проверять отделённую цифровую подпись

Для кого этот курс

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

Предварительные требования: Уверенная работа в терминале Linux, чтение файлов, создание конвейеров команд и перенаправление вывода. Полезны базовые представления о файлах, паролях, открытых и закрытых ключах; программирование и высшая математика не требуются.

Учебная среда: Интерактивный терминал Ubuntu 22.04 с подготовленными примерами и доступом к Python, Base64, xxd, OpenSSL, GPG, утилитам контрольных сумм и hashid. Ключи, пароли и данные используются только в лаборатории.

Часто задаваемые вопросы

Base64 — это разновидность шифрования?

Нет. Base64, URL-кодирование и шестнадцатеричное представление обратимы и не требуют секретного ключа. Курс показывает, насколько легко их декодировать, и сравнивает их с шифрованием на основе ключей.

Доказывает ли длина хеша, каким алгоритмом он создан?

Нет. Длина и набор символов дают полезные подсказки, а hashid перечисляет возможные форматы, но разные алгоритмы могут выглядеть одинаково. Для надёжной идентификации нужен и контекст: исходное приложение и формат хранения.

Буду ли я взламывать хеши паролей?

Нет. Вы извлечёте хеши, оцените вероятные алгоритмы и зафиксируете соответствующие режимы Hashcat для подготовки к разрешённому аудиту. Подбор и восстановление паролей не входят в курс.

Подходят ли настройки лаборатории как руководство по управлению ключами в рабочей среде?

Нет. Чтобы сосредоточиться на операциях, лаборатории используют простые пароли, незащищённый учебный закрытый ключ и автоматическое доверие, прямо обозначая эти упрощения. Настоящие ключи требуют усиленной защиты, проверки личности и организационных процедур управления.

Преподаватель

labby
Labby
Labby is the LabEx teacher.