Криптография для начинающих

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

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

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

Введение

Криптография для начинающих — это вводный курс из 10 лабораторных работ по применению распространенных криптографических компонентов в терминале Linux. С помощью OpenSSL и коротких примеров на стандартной библиотеке Python вы будете генерировать ключи, шифровать и расшифровывать файлы, вычислять хеши и HMAC, подписывать данные, получать общий секрет и исследовать сертификаты.

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

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

После завершения курса вы сможете:

  • Устанавливать и проверять OpenSSL, Python, pip и пакет Python cryptography в Ubuntu
  • Генерировать случайный ключевой материал и использовать AES-256-CBC в OpenSSL для шифрования, расшифрования и сравнения файлов
  • Вычислять дайджесты SHA-256 и значения HMAC-SHA256, объяснять различие их назначения и реализовывать простые примеры на Python
  • Генерировать пары ключей RSA, шифровать открытым ключом, расшифровывать закрытым и создавать и проверять подписи RSA
  • Генерировать параметры и пары ключей Diffie–Hellman для двух сторон и подтверждать получение одинакового общего секрета
  • Создавать самоподписанные сертификаты X.509 и CSR, управлять небольшой учебной CA, проверять цепочку доверия и имитировать отзыв с помощью CRL
  • Объединять передачу ключа RSA с шифрованием данных AES и выполнять полный гибридный процесс в обе стороны

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

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

Предварительные требования: Продвинутая математика не нужна. Рекомендуются основы терминала Linux и работы с файлами, а также достаточное знание Python для чтения двух коротких примеров с hashlib и hmac.

Учебная среда: Все 10 пошаговых лабораторных работ выполняются в терминальном пространстве Ubuntu 22.04. Вы установите или проверите инструменты, создадите ключи и сертификаты в проекте и будете использовать тестовые сообщения и имитацию CA; внешние системы не затрагиваются.

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

Нужны ли глубокие знания математики?

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

Сколько программирования входит в курс?

Большинство задач выполняется командами OpenSSL. Python встречается в коротких примерах SHA-256 и HMAC со стандартными модулями hashlib и hmac. Пакет cryptography устанавливается и проверяется при настройке, но приложение на Python с его использованием не создается.

Учит ли курс криптоанализу или взлому шифрования?

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

Можно ли перенести эти примеры в производственную систему?

Нет. Это компактные демонстрации с локальными файлами ключей, самоподписанными сертификатами, имитацией CA и упрощенными командами. В частности, прямой SHA-256 для пароля не является производственным способом хранения. Реальные системы должны применять Argon2, scrypt, bcrypt или правильно настроенный PBKDF2, проверенные библиотеки, управление ключами, аутентифицированное шифрование и актуальные рекомендации.

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

labby
Labby
Labby is the LabEx teacher.