CTFINF Обучение
Криптография для ВСОШ по информационной безопасности
Прикладной криптоанализ для ВСОШ по информационной безопасности: кодировки и XOR, openssl и хеши, RSA, линейные шифры, реверс чужого encrypt(), JWT, форензик-крипта и финальный mini-CTF. 105 задач с автопроверкой и разборы 31 реальной задачи олимпиады. Первый модуль бесплатно.
Длительность: 8 модулей · 39 обязательных уроков · около 19,5 часа. Дополнительно 1 бонусный урок про обмен ключами Диффи–Хеллмана (ещё около 30 минут) — он не требуется для завершения курса.
Цена:
8 000
3 900
Горящая скидка · 3900 ₽ при пополнении, 1
инфер
= 1 ₽
О курсе
Курс готовит к криптографическим задачам Всероссийской олимпиады школьников по информационной безопасности — от школьного этапа до заключительного. Главный навык здесь не «угадать шифр», а задать правильный первый вопрос: в каком представлении сейчас лежат данные и что нужно сделать, чтобы вернуть их в читаемый вид.
Маршрут идёт от байтов, кодировок и XOR к прикладной симметрике (openssl, AES, хеши, словарный перебор пароля), затем к модульной арифметике и RSA, к линейным конструкциям, которые ломаются по двум точкам, и к реверсу самодельных шифров — когда нужно прочитать чужой encrypt() и написать обратный decrypt(). За ядром идут атаки на JWT и форензик-крипта: стего, дампы, pcap и ковертные каналы. Заканчивается курс финальным mini-CTF: двенадцать неразмеченных задач, которые сначала нужно классифицировать, а потом добить.
Практика идёт сразу за объяснением приёма. Всего 105 автоматически проверяемых задач: 60 заданий с файлами и точным ответом — как правило, флагом вида vsosh{...} — и 45 задач в тренажёре кода, где функция на Python 3 отправляется прямо из урока и прогоняется на тестах. Ещё 76 вопросов самопроверки помогают заметить ошибку в понимании до того, как она превратится в потерянные баллы на туре.
Теория опирается на реальные задания олимпиады: в уроках разобрана 31 задача школьного, муниципального, регионального и заключительного этапов 2022–2023, 2024–2025 и 2025–2026 годов — с указанием этапа и года. Самостоятельная практика переносит тот же приём на новые данные, поэтому ученик не заучивает опубликованный ответ, а осваивает способ решения.
Первый модуль доступен бесплатно целиком. Для перехода к следующему уроку нужно набрать не менее 50% баллов текущего урока и отметить его завершённым.
Для кого курс
Кому подойдёт курс
- ученикам 7–11 классов, которые готовятся к школьному, муниципальному, региональному или заключительному этапу ВСОШ по информационной безопасности;
- начинающим, которые видят строку вида
dnNvc2h7...или файл.encи не знают, с чего начать; - тем, кто уже решает задачи, но хочет систематизировать RSA, линейные конструкции, реверс чужого шифра, JWT и форензик-крипту;
- преподавателям и тренерам — как последовательная программа с автопроверкой, подсказками и полными решениями.
Курс требует готовности писать короткий код: почти каждый приём закрепляется задачей в тренажёре Python. Предварительное знание Python не обязательно — рабочий минимум вводится в третьем уроке первого модуля, до самостоятельной практики.
Чему научится ученик
Распознавать
- отличать кодировку (hex, base64, base32, числа) от настоящего шифрования и снимать слои по порядку;
- определять формат зашифрованного файла и узнавать
opensslпо заголовкуSalted__; - видеть за странной строкой конкретный примитив: XOR, аффинный шифр, LCG, RSA, JWT.
Ломать
- восстанавливать ключ XOR по известному куску открытого текста и по формату флага
vsosh{; - подбирать пароль к
openssl-файлу словарным перебором и восстанавливать пароль по хешу; - считать в модульной арифметике, факторизовать малый
nи расшифровывать RSA из чисел и из.pem-ключа; - ломать любую линейную конструкцию по двум точкам — аффинный шифр, LCG, keystream, оракул;
- читать чужой
encrypt()и писать обратныйdecrypt(): инверсия пайплайна, битовые операции, обратная связь, спрятанные константы; - обходить проверку подписи JWT:
alg:none, смешение RS256 и HS256, слабый HMAC-секрет; - доставать крипту из картинок, дампов и трафика: LSB-стего, pcap и
scapy, каналы в DNS и ICMP, расшифровка TLS по keylog.
Решать на олимпиаде
- начинать с вопроса о представлении данных, а не с перебора шифров наугад;
- писать решение на Python 3 целиком — от чтения входа до печати флага;
- на смешанном наборе сначала классифицировать задачу, а потом выбирать приём и распределять время;
- сдавать ответ ровно в требуемом формате.
Формат практики
Практика следует сразу за объяснением нового приёма. Всего в курсе 105 автоматически проверяемых задач: 60 заданий с файлами и точным ответом и 45 задач в тренажёре кода.
| Формат | Что делает ученик | Что проверяется |
|---|---|---|
| Задания с файлами | Скачивает файл из урока, решает его своим скриптом или командой и сдаёт ответ | Точный ответ, обычно флаг вида vsosh{...} |
| Тренажёр кода | Пишет функцию на Python 3 прямо в уроке и запускает проверку | 117 тестов: 45 открытых и 72 скрытых, лимит 5 секунд процессорного времени |
| Вопросы самопроверки | Отвечает на 76 вопросов по ходу теории | Понимание приёма до перехода к самостоятельной практике |
| Разборы задач ВСОШ | Сопоставляет метод урока с реальным олимпиадным заданием | Почему приём работает и где чаще всего теряются баллы |
| Финальный mini-CTF | Разбирает 12 неразмеченных задач в двух наборах — F1 «Ключ к региону» и F2 «Заключительный» | Умение самому определить примитив и довести решение до флага |
У всех 60 заданий с файлами есть подсказки — в курсе их 129, и все они бесплатные — и полное решение, которое можно открыть в карточке задания, если самостоятельный поиск зашёл в тупик. В тренажёре кода вместо этого дана заготовка функции и открытые тесты: по ним сразу видно, что именно ожидается на входе и на выходе.
Следующий урок открывается после набора 50% баллов за текущий и подтверждения его завершения. Всего в курсе 1922 балла: 1684 за практические задачи и 238 за вопросы самопроверки.
Подготовка к этапам ВСОШ
Материалы курса размечены по уровню и помогают выстроить подготовку последовательно.
- Разборы реальных заданий встроены прямо в теорию: 31 задача школьного, муниципального, регионального и заключительного этапов 2022–2023, 2024–2025 и 2025–2026 годов — с указанием этапа и года.
- Бесплатный модуль 1 — общая база для любого этапа: представление данных, кодировки, XOR и known plaintext.
- Модули 2–3 — прикладной минимум: `openssl` и словарный перебор пароля, хеши, модульная арифметика и RSA с малым модулем.
- Модули 4–5 — ядро курса: линейные конструкции (аффинный шифр, LCG, keystream, оракул) и реверс самодельных шифров.
- Модули 6–7 — за пределами ядра: атаки на JWT и форензик-крипта — стего, дампы, pcap, каналы в DNS и ICMP, TLS-keylog.
- Модуль 8 — тренировка тура: 12 неразмеченных задач в двух наборах, F1 «Ключ к региону» и F2 «Заключительный».
Что нужно до начала
Что нужно на старте
- уверенно работать с файлами: скачивать, распаковывать, открывать в нужной программе;
- быть готовым повторять команды в терминале по образцу из урока;
- быть готовым писать и запускать короткие скрипты на Python.
Что знать заранее необязательно
Python, криптография и модульная арифметика на старте не требуются: рабочий минимум вводится до самостоятельной практики — Python в третьем уроке первого модуля, модульная арифметика в начале третьего. Если ученик раньше не программировал, первый модуль пройдёт медленнее: именно там появляются первые задачи тренажёра кода.
Что понадобится технически
- современный браузер и стабильный интернет: уроки, файлы заданий и тренажёр кода работают на платформе, ничего разворачивать у себя не нужно;
- свой Python 3 — заданиями с файлами удобнее заниматься собственным скриптом; для модулей про RSA и факторизацию пригодятся
pycryptodomeиsympy(pip install pycryptodomex sympy); opensslв терминале для модуля про симметричное шифрование;- Wireshark или
tsharkдля модуля про трафик; в разборах показан и путь черезscapy.
Курс отдельно отмечает, что на олимпиадной Kali pycryptodome и sympy уже предустановлены организаторами ВСОШ, поэтому на самом туре ставить их не придётся.
Программа курса
Модуль 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 (финал, +незнакомый примитив). Платный модуль.
Чем курс отличается от обычных курсов по ИБ
- Метод вместо каталога шифров. Курс не заставляет запоминать десятки алгоритмов. Он ставит один рабочий вопрос — в каком представлении данные и что с ними сделать, — и показывает, как этот вопрос доводит до флага.
- Каждая тема закрепляется кодом. 45 задач тренажёра требуют не выбрать вариант, а написать работающую функцию на Python 3. Её прогоняют в том числе на скрытых тестах, поэтому «почти правильно» не проходит.
- Разборы настоящих заданий ВСОШ. В теорию встроен разбор 31 реальной задачи школьного, муниципального, регионального и заключительного этапов — с указанием этапа и года, а не абстрактные примеры «для тренировки».
- Класс приёма важнее конкретного шифра. Модуль про линейность показывает, что аффинный шифр, LCG, keystream и оракул ломаются одним и тем же способом — по двум точкам. Именно это переносится на незнакомую задачу на туре.
- Финал повторяет формат тура. В mini-CTF задачи не подписаны темой: ученик сам классифицирует их, сам выбирает приём и сам распределяет время.
- Полное решение действительно полное. Оно показывает ход рассуждения и доводит его до точного ответа, а не ограничивается общей подсказкой.
Частые вопросы
Что именно доступно бесплатно?
Первый модуль целиком: шесть уроков, 15 практических задач (9 с файлами и 6 в тренажёре кода), 10 вопросов самопроверки, все учебные файлы, разборы задач ВСОШ, 20 подсказок и 9 полных решений. Это не сокращённая демонстрация, а тот же формат, что и в платной части. Остальные семь модулей входят в платную часть курса.
Нужно ли знать Python до старта?
Заранее — нет. Третий урок первого модуля вводит рабочий минимум: чтение входа, байты и строки, hex и base64, вывод ответа. Но писать код придётся: 45 задач курса — это функции на Python 3 с автоматической проверкой. Совсем без опыта программирования первый модуль пройдёт медленнее, зато дальше этот навык уже работает на вас.
Подойдёт ли курс ученику 7 класса?
Да, если ученик уверенно обращается с файлами и готов разбираться в новых понятиях. Олимпиадная сложность не убрана из-за возраста: каждое новое понятие сначала объясняется на примере, а потом закрепляется практикой. Математика вводится с нуля — модульная арифметика и обратный элемент разбираются в первом уроке третьего модуля, перед RSA.
Используются ли реальные задачи ВСОШ?
Да. В теории разобрана 31 реальная задача — школьного, муниципального, регионального и заключительного этапов 2022–2023, 2024–2025 и 2025–2026 годов, с указанием этапа и года. Разборы встречаются в модулях с первого по седьмой. Самостоятельная практика переносит тот же приём на новые данные, поэтому ученик не заучивает опубликованный ответ.
Как устроена проверка практики?
Задания с файлами принимают точный ответ — как правило, флаг вида vsosh{...}. Задачи тренажёра кода прогоняются на 117 тестах (45 открытых и 72 скрытых) с лимитом в 5 секунд процессорного времени, поэтому засчитывается только действительно работающая функция. Для перехода к следующему уроку нужно набрать не менее 50% баллов текущего и отметить его завершённым.
Нужно ли что-то устанавливать?
Уроки, файлы заданий и тренажёр кода работают в браузере — разворачивать окружение у себя не нужно. Для заданий с файлами удобно иметь свой Python 3 и openssl, для модуля про трафик — Wireshark или tshark. Курс отдельно отмечает, что на олимпиадной Kali pycryptodome и sympy уже предустановлены организаторами ВСОШ.
Сколько времени занимает курс?
Обязательный маршрут — 8 модулей и 39 уроков, около 19,5 часа по оценкам уроков. Есть ещё один дополнительный урок про обмен ключами Диффи–Хеллмана (примерно 30 минут): он не входит в обязательную часть, не влияет на завершение курса и проходится в любое время. Реальный темп зависит от подготовки: практика занимает больше времени, чем чтение теории.
Гарантирует ли курс призовое место на олимпиаде?
Ни один честный курс не может гарантировать результат олимпиады: он зависит от состава нового комплекта задач, самостоятельной работы и состояния участника в день тура. Курс закрывает основные криптографические форматы ВСОШ, даёт 105 проверяемых задач и учит воспроизводимому методу, который переносится на незнакомые задания.