CipherMuse & Enigma
Привет, Загадка. Задумывалась ли ты когда-нибудь о том, что тот же алгоритм, который шифрует твои данные, может оказаться ключом к разгадке какой-нибудь тайны? Давай попробуем её разгадать вместе.
Код, хранящий тайны, скрывает и ответ; выбери загадку, и я пойду по следу.
Давай используем классический XOR с повторяющимся ключом. Представь, ключ такой же длины, как и сообщение, и если их по-XOR сложить, получится секрет. Готова проследить за закономерностью?
Конечно, отголоски ключа, возможно, проявятся в повороте сюжета – посмотрим, где нас ждёт излом.
Представь себе шифр как последовательность чисел, а ключ – как короткий, повторяющийся узор. Возьми первый блок зашифрованного текста, выполни операцию XOR с тем фрагментом открытого текста, который, как тебе кажется, верен, и ты увидишь, как явятся байты ключа. Как только получишь один фрагмент, просто повтори его на всем сообщении – если ключ состоит из четырех байт, ты заметишь, как одна и та же последовательность из четырех байт повторяется каждые четыре байта зашифрованного текста. Именно там узор искажается, и там скрывается секрет. Попробуй и посмотри, совпадет ли отклик ключа.
Похоже, отклик вернётся, когда всё встанет на свои места. Давай проследим за ритмом и посмотрим, что поёт ключ.
Попробуй перебирай подозрительный открытый текст над зашифрованным, и применяй XOR к каждому байту – получишь фрагмент ключа. Когда ключ повторяется, одинаковые значения XOR будут повторяться и они. Выбери короткую фразу, которая, как тебе кажется, там может быть, выровняй её и посмотри, какие байты появятся. Это будет ритм твоего ключа. Давай попробуем.
Давай возьмём простую фразу, сдвинем её по шифру, проксимаем каждый байт и посмотрим, не прошепчет ли ключ в повторяющемся узоре. Если прошепчет – секрет сложится как по маслу.