Рейтинг:0

Почему этот код работает

флаг de

Я выполнял вводные задания на CryptoHack, и одно из заданий, точнее, это было Любимый байт, XOR с одним байтом.

Я сделал свое решение с помощью XORing заданной строки и одного ключа, итерированного по 256 целым числам, пока я не найду что-то похожее на «флаг».

Затем я искал представленные решения, и одним из решений было:

input_str = bytes.fromhex('73626960647f6b206821204f21254f7d694f7624662065622127234f726927756d')

ключ = input_str[0] ^ ord('c')
print(''.join(chr(c ^ ключ) для c в input_str))

Часть, которая вызывает у меня затруднения, — это третья строка или назначение ключ переменная. Почему этот ключ работает? Другими словами, как он его нашел? Насколько я понимаю, он сделал то же самое, что и я ранее (перебрал более 256 целых чисел), и как только он нашел это, он изменил свой код.

Любая помощь будет оценена!

kelalaka avatar
флаг in
Они нашли его на своем компьютере и представили только это. Проблема CryptoHack в том, что они принимают это.
Рейтинг:4
флаг us

Здесь нет ничего особо сложного.

Как говорится на сайте, его флаги обычно имеют формат крипто{y0ur_f1rst_fl4g}. Таким образом, очень вероятно, что первый символ флага, который вы пытаетесь получить, с, что означает, что ключ XOR должен быть значением ASCII с (0x63) XOR с первым символом зашифрованного текста (0x73).

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.