Аффинный
Прогресс комнаты
0 / 4
Задание 1Введение
Цель: Ломать аффинный шифр перебором.
Каждая буква x превращена в (a·x + b) mod 26. Ключи неизвестны.
Задание 2Теория и инструменты
Аффинный шифр: E(x) = (a·x + b) mod 26. Число a должно быть взаимно простым с 26, иначе расшифровка невозможна.
Вариантов ключа всего 312, их легко перебрать.
Инструменты
- Python:
pow(a, -1, 26)для обратного элемента - dCode.fr: Affine Cipher
Больше теории — в разделе «Обучение: Криптография».
Задание 3Практика: найдите флаг
ZOU{luupyn_savon_ufazn}
Пошаговый план — открывайте по одному шагу
- 1Переберите a ∈ {1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23, 25} и b от 0 до 25.
- 2Расшифровка:
x = a⁻¹·(y − b) mod 26. - 3Оставьте вариант, который начинается с CTF{.
Подсказки — каждая до решения стоит −25 очков
Задание 4Как защититься
Маленькое пространство ключей перебирается за миллисекунды. Современный ключ — минимум 128 бит.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.