← Все комнаты Путь «Криптография» →
СреднийКриптография Флаг Неделя криптографииОсенний CTF

Однобайтовый XOR

Прогресс комнаты 0 / 4
Задание 1Введение

Цель: Ломать XOR с коротким ключом перебором и через известный открытый текст.

Флаг зашифрован операцией XOR с ключом длиной в один байт. Шифртекст дан в hex.

Задание 2Теория и инструменты

XOR побайтово: c = p ^ k. Свойство: p = c ^ k и k = c ^ p. Если ключ — один байт, вариантов всего 256.

Ещё быстрее: мы знаем, что первый символ открытого текста — C. Тогда k = c[0] ^ ord('C').

Инструменты

  • Python: bytes.fromhex, bytes(b ^ k for b in data)
  • CyberChef: XOR Brute Force

Больше теории — в разделе «Обучение: Криптография».

Задание 3Практика: найдите флаг
Данные задания60 символов
dccbd9e4e7afedc0e8aeebf7c0aff1acc0fde6ebacc0aeecc0e8acabf4e2
Войдите, чтобы ответить

Пошаговый план — открывайте по одному шагу

  1. 1
    Переведите hex-строку в байты.

Подсказки — каждая до решения стоит −25 очков

Задание 4Как защититься

Не изобретайте шифры. XOR с коротким или повторяющимся ключом ломается за секунды. Используйте AES-GCM.

Разборы участников

Разборы открываются после того, как вы решите комнату, — чтобы не спойлерить ответ.