Салат «Цезарь»
Задание 1Введение
Цель: Ломать шифры подстановки со сдвигом перебором и по известному открытому тексту.
Перехвачено сообщение римского легиона. Буквы сдвинуты на одно и то же число позиций.
Задание 2Теория и инструменты
В шифре Цезаря каждая буква сдвигается на одно и то же число позиций: при сдвиге 3 A→D, B→E, Z→C. Цифры и знаки не меняются.
Сдвигов всего 26, поэтому шифр ломается простым перебором. А если известен кусочек открытого текста, сдвиг находится сразу.
Инструменты
- Python:
chr((ord(c) - 65 - k) % 26 + 65) - CyberChef: ROT13 с параметром сдвига
- dCode.fr: Caesar Cipher
Больше теории — в разделе «Обучение: Криптография».
Задание 3Практика: найдите флаг
JAM{clup_cpkp_kljyfwap}
Пошаговый план — открывайте по одному шагу
- 1Флаг начинается с
CTF. Сравните первую букву шифртекста сC: насколько она сдвинута? - 2Посчитайте сдвиг по алфавиту (например, от C до F — 3 позиции).
- 3Сдвиньте каждую букву на это число назад, оставив
{,}и_на месте. - 4Если не уверены — переберите все 26 сдвигов и выберите тот, где получился осмысленный текст.
Подсказки — каждая до решения стоит −10 очков
Задание 4Как защититься
Классические шифры не используются для защиты. Нужны современные алгоритмы: AES-GCM, ChaCha20-Poly1305.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.