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 уже предустановлены организаторами ВСОШ, поэтому на самом туре ставить их не придётся.

Программа курса

Модуль 2. AES, OpenSSL и хеши: прикладная симметрика ВСОШ

закрыто

Стойкая симметрика без магии: распознать openssl, расшифровать, вскрыть пароль словарём, крякнуть хеш. Платный модуль.

Урок 7. Симметричное шифрование, AES и режимы · 30 мин.
Урок 8. OpenSSL: распознать и расшифровать .enc · 30 мин.
Урок 9. Ключи из паролей и словарный перебор · 30 мин.
Урок 10. Хеши и восстановление паролей · 30 мин.
Урок 11. Практикум и мостик к RSA · 30 мин.
Модуль откроется после покупки курса за инферы 3 900 .

Модуль 3. Модульная арифметика и криптоанализ RSA

закрыто

Асимметрия без страха: модульная арифметика, RSA числами и .pem-ключом, факторизация малого n. Платный модуль.

Урок 12. Модульная арифметика и обратный элемент · 30 мин.
Урок 13. Текст как число · 30 мин.
Урок 14. Как устроен RSA · 30 мин.
Урок 15. Слабость малого модуля: факторизация · 30 мин.
Урок 16. RSA в файлах: .pem и openssl · 30 мин.
Урок 17. Бонус: обмен ключами Диффи–Хеллманадополнительный · 30 мин.
Модуль откроется после покупки курса за инферы 3 900 .

Модуль 4. Линейные шифры и псевдослучайность

закрыто

Один приём против целого класса шифров: любая линейная конструкция (affine, LCG, поток, оракул) ломается по двум точкам. Платный модуль.

Урок 18. Аффинный шифр и линейность · 30 мин.
Урок 19. Псевдослучайность и LCG · 30 мин.
Урок 20. Линейный keystream · 30 мин.
Урок 21. Линейный оракул · 30 мин.
Урок 22. Инверсия mod 2^64 и практикум · 30 мин.
Модуль откроется после покупки курса за инферы 3 900 .

Модуль 5. Реверс самодельных шифров

закрыто

Прочитать чужой encrypt() и написать decrypt(): инверсия пайплайна, битовые операции, feedback, спрятанные ключи. Завершает ядро курса. Платный модуль.

Урок 23. Идея реверса: обратить пайплайн · 30 мин.
Урок 24. Битовые операции и их обращение · 30 мин.
Урок 25. Пошаговый побайтовый шифр · 30 мин.
Урок 26. Шифр с состоянием и обратной связью · 30 мин.
Урок 27. Константы в алгоритме и практикум · 30 мин.
Модуль откроется после покупки курса за инферы 3 900 .

Модуль 6. Токены и подписи: атаки на JWT

закрыто

Обход проверки подписи: alg:none, смешение RS256/HS256, слабый секрет и подделка сериализованного состояния. Платный модуль за пределами ядра.

Урок 28. Анатомия JWT · 30 мин.
Урок 29. Отсутствие проверки и alg:none · 30 мин.
Урок 30. Смешение алгоритмов RS256↔HS256 · 30 мин.
Урок 31. Слабый HMAC-секрет · 30 мин.
Урок 32. Сериализация и практикум · 30 мин.
Модуль откроется после покупки курса за инферы 3 900 .

Модуль 7. Форензик-крипта: стего, трафик и ковертные каналы

закрыто

Достать крипту из картинок, дампов и трафика: LSB-стего, pcap/scapy, ковертные каналы DNS/ICMP, XOR-канал, TLS-keylog. Скелет — извлечь → декодировать → расшифровать. Платный модуль.

Урок 33. Спрятанное в файлах: стего и дампы · 30 мин.
Урок 34. Работа с трафиком: pcap, scapy, tshark · 30 мин.
Урок 35. Ковертные каналы: DNS и ICMP · 30 мин.
Урок 36. Ключ в трафике: XOR-канал · 30 мин.
Урок 37. Расшифровка TLS и практикум · 30 мин.
Модуль откроется после покупки курса за инферы 3 900 .

Модуль 8. Финальный практикум: mini-CTF

закрыто

Капстоун: смешанные НЕразмеченные задачи под таймер — классифицируй и добей. Два набора: F1 (регион) и F2 (финал, +незнакомый примитив). Платный модуль.

Урок 38. Как решать смешанный CTF · 40 мин.
Урок 39. F1 «Ключ к региону» · 40 мин.
Урок 40. F2 «Заключительный» · 40 мин.
Модуль откроется после покупки курса за инферы 3 900 .

Чем курс отличается от обычных курсов по ИБ

  • Метод вместо каталога шифров. Курс не заставляет запоминать десятки алгоритмов. Он ставит один рабочий вопрос — в каком представлении данные и что с ними сделать, — и показывает, как этот вопрос доводит до флага.
  • Каждая тема закрепляется кодом. 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 проверяемых задач и учит воспроизводимому методу, который переносится на незнакомые задания.