Ключ по кругу
Прогресс комнаты
0 / 4
Задание 1Введение
Цель: Восстанавливать повторяющийся XOR-ключ по известным фрагментам текста.
Флаг зашифрован XOR с повторяющимся ключом длиной 5 байт. Шифртекст в hex. Длина флага — 30 символов.
Задание 2Теория и инструменты
Ключ длиной 5 повторяется: байт i шифруется байтом ключа i mod 5.
Известно 4 первых символа (CTF{) — это 4 байта ключа. Пятый получаем из последнего символа }: его позиция 29, а 29 mod 5 = 4.
Инструменты
- Python
- CyberChef: XOR
Больше теории — в разделе «Обучение: Криптография».
Задание 3Практика: найдите флаг
0a6c41c0512c4834da57785660e4487a4158c3133b6765c913220b699a5e
Пошаговый план — открывайте по одному шагу
- 1Переведите hex в байты.
- 2Ключ[0..3] = шифр[0..3] XOR
CTF{. - 3Ключ[4] = шифр[29] XOR
}. - 4Расшифруйте все байты:
шифр[i] ^ ключ[i % 5].
Подсказки — каждая до решения стоит −50 очков
Задание 4Как защититься
Повторяющийся ключ — тот же Виженер для байтов. Используйте стандартные шифры с уникальным nonce.
Разборы участников
Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.