CTFINF Обучение
Криптография для ВСОШ по информационной безопасности
Практический криптоанализ: кодировки и XOR, OpenSSL, RSA, линейные шифры, Python-реверс, JWT и трафик. 48 оригинальных задач ВСОШ рядом с теорией, 127 учебных заданий и 7 бонусных RSA-задач. Первый модуль бесплатно, начало Python — до первой самостоятельной функции.
Длительность: 9 модулей · 39 обязательных уроков и 5 бонусных. Ориентир для основы — 20–30 часов с практикой; при первом знакомстве с Python потребуется больше. Дополнительные оригиналы и бинарные/форензик-маршруты требуют отдельного времени.
Цена:
3 900
· 3900 ₽ при пополнении, 1
инфер
= 1 ₽
О курсе
Курс учит решать криптографическую часть задач ВСОШ по информационной безопасности: определять представление данных, восстанавливать ключ или параметры слабой схемы, писать решатель и проверять точный ответ.
Маршрут: байты и кодировки → XOR → OpenSSL и хеши → модульная арифметика и RSA → линейные конструкции → обращение Python-шифров → JWT → криптография в файлах и трафике → смешанный mini-CTF. Дополнительно доступны Диффи–Хеллман и классические атаки на RSA.
В курсе 44 урока: 39 обязательных и 5 бонусных. Практика включает 71 учебное задание с файлами, 56 задач на Python, 48 оригинальных задач ВСОШ и 7 дополнительных RSA-задач платформы. Ещё 90 вопросов проверяют понимание. Оригиналы размещены рядом с подводящей теорией, имеют золотую рамку, исходные условия и файлы; для сервисных задач используется свой экземпляр оригинального сервиса. Учебные аналоги сохранены как промежуточная ступень.
Полные решения учебных файловых и Python-задач показывают рабочий код, ожидаемый результат и разбор типичных ошибок. Подсказки бесплатны. В первой практике Python объясняются функция, return, отступы, типы данных и сообщения об ошибках. Для самостоятельных задач с файлами понадобится свой Python.
Первый модуль открыт бесплатно. Уже зачтённые уроки сохраняются при обновлении курса. Новые вводные упражнения и оригиналы добавлены как дополнительная практика и не повышают балльный порог урока. Завершение основного маршрута не означает, что решены все дополнительные оригиналы: прогресс по задачам показывается отдельно.
Задания на дампы, бинарный реверс и pwn требуют дополнительных инструментов и подготовки; их границы обозначены перед практикой. Этот курс не заменяет отдельное обучение Ghidra, GDB, эксплуатации бинарных уязвимостей и полной компьютерной криминалистике.
Для кого курс
Кому подойдёт курс
- Школьникам 7–11 классов, которые готовятся к криптографической части ВСОШ по информационной безопасности.
- Начинающим, которым нужны первые шаги в Python, байтах и кодировках перед самостоятельным решением.
- Решателям с опытом, которые хотят систематизировать XOR, RSA, линейные схемы, JWT и анализ трафика.
Для основного маршрута Python вводится во втором уроке перед первой самостоятельной функцией: сначала повторение рабочего примера, затем изменение, затем новая задача. Для дополнительных задач на бинарный реверс, pwn и образы дисков нужны соответствующие внешние навыки; перед такими заданиями это указано явно.
Чему научится ученик
Распознавать
- отличать кодировку (hex, base64, base32, числа) от настоящего шифрования и снимать слои по порядку;
- определять формат зашифрованного файла и узнавать
opensslпо заголовкуSalted__; - видеть за странной строкой конкретный примитив: XOR, аффинный шифр, LCG, RSA, JWT.
Ломать
- восстанавливать ключ XOR по известному куску открытого текста и по формату флага
vsosh{; - подбирать пароль к
openssl-файлу словарным перебором и восстанавливать пароль по хешу; - считать в модульной арифметике, факторизовать малый
nи расшифровывать RSA из чисел и из.pem-ключа; - восстанавливать параметры аффинных шифров, LCG и линейных оракулов по известным значениям, проверяя достаточность данных и обратимость коэффициентов;
- читать Python-реализацию чужого
encrypt()и писать обратныйdecrypt(): инверсия пайплайна, битовые операции, обратная связь, спрятанные константы; - обходить проверку подписи JWT:
alg:none, смешение RS256 и HS256, слабый HMAC-секрет; - доставать крипту из картинок, дампов и трафика: LSB-стего, pcap и
scapy, каналы в DNS и ICMP, расшифровка TLS по keylog.
Решать на олимпиаде
- начинать с вопроса о представлении данных, а не с перебора шифров наугад;
- писать решение на Python 3 целиком — от чтения входа до печати флага;
- на смешанном наборе сначала классифицировать задачу, а потом выбирать приём и распределять время;
- сдавать ответ ровно в требуемом формате.
Формат практики
Практика размещена по ходу урока после нужного объяснения. Всего 182 задания:
| Формат | Количество | Как учиться |
|---|---|---|
| Учебные задания с файлами | 71 | Решить по скачанным данным и сдать точный ответ; доступны полный код решения и диагностика ошибок |
| Python-тренажёр | 56 | Написать функцию; 142 тестовых примеров: 60 открытых и 82 скрытых |
| Оригиналы ВСОШ | 48 | Золотые карточки рядом с теорией, исходные файлы и правила сдачи; сервис запускается из оригинальной карточки |
| Дополнительные RSA-задачи | 7 | Задачи платформы в бонусном модуле, отдельно от корпуса ВСОШ |
90 вопросов самопроверки и 393 бесплатные подсказки помогают обнаружить ошибку до следующей темы. Учебные аналоги и оригиналы различаются явно: один и тот же заголовок темы не означает одинаковые данные или одинаковую сложность.
Урок засчитывается автоматически после набора 50% его баллов. Всего в курсе 2430 баллов за опубликованные задания и вопросы. Новые вводные упражнения и оригиналы ВСОШ имеют 0 баллов курса, учитываются в счётчике решённых задач и не повышают порог перехода. Уже выставленный зачёт сохраняется; новые задачи в завершённом уроке можно решить дополнительно.
В mini-CTF — 12 задач в двух наборах без подсказанной темы плюс разминка и упражнение на классификацию. Дополнительные оригиналы предназначены для переноса навыка на реальные условия, а не для автоматического зачёта всего курса.
Подготовка к этапам ВСОШ
Материалы курса размечены по уровню и помогают выстроить подготовку последовательно.
- Модуль 1 бесплатно: вводная Python до самостоятельного кода, байты, кодировки, XOR и два исходных задания ВСОШ.
- Модули 2–3: OpenSSL, хеши, арифметика и RSA; оригинальные задания с файлами и PEM. Диффи–Хеллман — бонус.
- Модули 4–5: линейные схемы, PRNG, оракулы и обратные Python-преобразования; рядом — исходные задачи и отдельные усложнённые варианты.
- Модули 6–7: JWT и работа с трафиком, включая настоящий TLS pcap+keylog; для сервисных оригиналов запускаются отдельные экземпляры.
- Модуль 8: смешанный mini-CTF без заранее названного приёма.
- Модуль 9: бонусные классические атаки на RSA, включая 7 задач платформы вне корпуса ВСОШ.
Что нужно до начала
Что нужно на старте
Уметь скачивать файлы и быть готовым постепенно писать короткий код. Предварительное знание Python для начальных упражнений не требуется: вводная во втором уроке стоит перед первой самостоятельной функцией. Если вы начинаете с нуля, повторяйте примеры и оставляйте дополнительное время на первые два модуля.
Инструменты по мере прохождения
- Встроенный Python-тренажёр работает в браузере. Для файловых задач нужен Python 3 на своём компьютере; запуск разобран в первой практике.
- Для RSA:
python3 -m pip install sympy pycryptodomex pycryptodome. Примеры с импортомCryptodomeтребуют pycryptodomex; оригинальные исходники с импортомCryptoтребуют pycryptodome. Это два разных пространства имён, поэтому здесь указаны оба пакета. - Для учебных изображений и трафика:
python3 -m pip install Pillow scapy. Для LSB-стего в PNG удобенzsteg(gem install zsteg, нужен Ruby). - Для локальных JWT-моделей:
python3 -m pip install PyJWT(импортjwt). - OpenSSL для зашифрованных файлов и PEM; Wireshark или tshark для pcap и TLS keylog.
- Для дополнительных бинарных оригиналов — учебная Linux-среда, основы ELF, Ghidra/GDB. Для форензик-образов — умение просматривать файловую систему образа без изменения данных.
В Windows вместо python3 обычно используется py -3. Установка пакета должна выполняться для того же Python, которым вы запускаете solve.py. Доступность программ на конкретном туре проверяйте по его регламенту; не рассчитывайте на неуказанные заранее зависимости.
Программа курса
Модуль 1. Представление данных и базовый криптоанализ
бесплатноБайты, кодировки, XOR, known plaintext — фундамент курса. Бесплатный модуль.
Модуль 2. AES, OpenSSL и хеши: прикладная симметрика ВСОШ
закрытоСтойкая симметрика без магии: распознать openssl, расшифровать, вскрыть пароль словарём, крякнуть хеш. Платный модуль.
Модуль 3. Модульная арифметика и криптоанализ RSA
закрытоАсимметрия без страха: модульная арифметика, RSA числами и .pem-ключом, факторизация малого n. Платный модуль.
Модуль 4. Линейные шифры и псевдослучайность
закрытоОдин приём против целого класса шифров: любая линейная конструкция (affine, LCG, поток, оракул) ломается по двум точкам. Платный модуль.
Модуль 5. Реверс самодельных шифров
закрытоПрочитать чужой encrypt() и написать decrypt(): инверсия пайплайна, битовые операции, feedback, спрятанные ключи. Завершает ядро курса. Платный модуль.
Модуль 6. Токены и подписи: атаки на JWT
закрытоОбход проверки подписи: alg:none, смешение RS256/HS256, слабый секрет и подделка сериализованного состояния. Платный модуль за пределами ядра.
Модуль 7. Форензик-крипта: стего, трафик и ковертные каналы
закрытоДостать крипту из картинок, дампов и трафика: LSB-стего, pcap/scapy, ковертные каналы DNS/ICMP, XOR-канал, TLS-keylog. Скелет — извлечь → декодировать → расшифровать. Платный модуль.
Модуль 8. Финальный практикум: mini-CTF
закрытоКапстоун: смешанные НЕразмеченные задачи под таймер — классифицируй и добей. Два набора: F1 (регион) и F2 (финал, +незнакомый примитив). Платный модуль.
Модуль 9. Классические атаки на RSA
закрытоЗа рамками ВСОШ: приёмы классических CTF — плохие простые, малая экспонента, общий модуль, китайская теорема об остатках и атака Хастада. Необязательный бонус-модуль: он не входит в обязательный маршрут и не влияет на завершение курса.
Чем курс отличается от обычных курсов по ИБ
- От первого return до самостоятельного решателя. Вводная по Python идёт до первой самостоятельной функции; у тренажёра есть подсказки и рабочие решения.
- Учебная задача и оригинал рядом. 48 исходных задач ВСОШ встроены после подходящего объяснения. Можно сравнить, что добавляет реальная формулировка и протокол.
- Проверяемые шаги вместо цепочки стрелок. Решения учебных задач содержат код, ожидаемый ответ и типичные причины несовпадения.
- Настоящий TLS и сервисные задачи. Есть pcap с keylog для расшифровки TLS, оригинальные JWT-сервисы и оракулы с собственными запросами.
- Понятные границы подготовки. Python-реверс входит в основу; для исходных бинарей, pwn и образов диска явно обозначены дополнительные требования.
Частые вопросы
Нужно ли заранее знать Python?
Для начала нет: функции, return, отступы и типы данных вводятся до первой самостоятельной функции во втором уроке. Но писать и отлаживать код придётся регулярно. Если вы начинаете с нуля, не пропускайте вводные упражнения.
Это оригинальные задачи ВСОШ или учебные аналоги?
Есть оба формата. 127 учебных заданий закрепляют отдельные приёмы; 48 золотых карточек связаны с исходными задачами ВСОШ и содержат их условия и файлы. Сервисные задачи решаются на собственном экземпляре оригинала. Дополнительно есть 7 RSA-задач платформы вне корпуса ВСОШ.
Как открывается следующий урок?
После автоматического зачёта предыдущих обязательных уроков. Порог — 50% баллов урока. В бесплатном модуле можно читать уроки свободно. Дополнительные оригиналы имеют 0 баллов курса и не повышают порог.
Что делать, если код не проходит?
Читайте последнюю строку ошибки и бесплатные подсказки под задачей. Полное решение показывает рабочую функцию или скрипт и ожидаемый результат. Для первых задач отдельно разобраны return/print, строки/байты и формат ответа.
Нужно ли проходить бонусы для завершения?
Нет. Обязательный маршрут состоит из 39 уроков. Бонусы, дополнительные оригиналы и новые задачи в уже завершённых уроках доступны для самостоятельного закрепления.
Что изменится для уже закончивших курс?
Зачёты существующих уроков и старые решения сохраняются. Новые материалы доступны в купленном курсе, а новые задачи можно решить дополнительно. Счётчик решённых задач может показывать больше доступных заданий при сохранённом завершении обязательного маршрута.
Гарантирует ли курс решение всех задач регионального или заключительного этапа?
Нет. Он даёт основу криптографических приёмов и практику на конкретных оригиналах. Смешанные задачи могут требовать отдельной подготовки по web, бинарному реверсу, pwn и компьютерной криминалистике.