Преподаватель превратил лабораторную по криптографическим протоколам в воспроизводимый эксперимент: студент может сам стать Mallory, изменить пакет или повторить его и увидеть, где именно ломается защита.
Суть события
CryptoLab — учебный стенд, который автор развивает параллельно с университетским курсом. В первой лабораторной Alice отправляет защищённые сообщения Bob, а Mallory контролирует канал связи. Пользователь запускает участников одновременно и наблюдает настоящий обмен, а не только схему на слайде.
Главный принцип проекта — намеренно нарушить правило и посмотреть на последствие. Студент может перехватить пакет, изменить ciphertext, повторить его или исследовать утечку через метаданные. Так абстрактные свойства протокола превращаются в наблюдаемое поведение приложения.
Детали
Один из экспериментов показывает роль authentication tag в AES-GCM. Mallory видит ciphertext, но не знает plaintext и пытается изменить пакет. Bob должен отклонить его на этапе проверки, не передавая испорченные данные прикладной логике. Это наглядный пример принципа fail closed: при провале проверки система прекращает обработку.
Другой сценарий посвящён replay attack. Корректный пакет можно сохранить и отправить повторно. Аутентификация подтвердит, что пакет настоящий и не менялся, но сама по себе не докажет его новизну. При отключённой replay protection команда может выполниться снова; при включённой защите состояние протокола распознаёт повтор. В разговоре появляются sequence numbers, replay cache и границы ответственности AES-GCM.
В стенде есть интерактивный режим и автоматические сценарии. Последние одновременно служат regression checks: после изменения приложения разработчик снова прогоняет эксперименты и сравнивает результат с ожидаемым. Отдельные задания на Python 3.10 дополняют исследование, но не требуют писать собственный AES.
Контекст
Первая лабораторная стала основой проекта. CryptoLab собирается как приложение для Windows x64 и macOS Apple Silicon; для работы со стендом не нужны отдельные Python, Docker или набор зависимостей. Такой формат особенно полезен тем, кто изучает безопасность удалённо: вместо длинной настройки можно сосредоточиться на механике протокола.
Методический акцент здесь практичный. Шифрование скрывает содержимое, а аутентифицированное шифрование ещё и обнаруживает изменение; однако freshness требует дополнительной логики протокола. Именно эти различия легко потерять, если ограничиться чтением документации. Для общего контекста о том, как устроено объяснение сложных технологий, полезен материал [о ChatGPT](https://ai-digest.ru/chto-takoe-chatgpt/).
Что дальше
Вторая лабораторная уже готова: она посвящена AES, режимам ECB, CBC, CTR и GCM, PKCS#7 padding, Padding Oracle, nonce reuse и bit flipping. Дальше автор планирует развивать стенд в сторону асимметричной криптографии, обмена ключами, подписей, handshake, TLS и PKI.
CryptoLab показывает удачную последовательность обучения: сначала работающий протокол и управляемая атака, затем самостоятельная реализация окружающей логики. Для преподавателя это лабораторная и набор проверок, для студента — способ увидеть, почему одного «правильного шифрования» недостаточно.