XOR простой текст с зашифрованным текстом для извлечения ключа (C1 XOR P1 = K, P1 XOR K = C1) - PullRequest
0 голосов
/ 04 февраля 2020

Рассмотрим простой текст This is a known Message! и зашифрованный текст a469b1c502c1cab966965e50425438e1bb1b5f9037a4c159. Шифрованный текст - это шифрование простого текста.

Кто-нибудь знает какие-либо хорошие примеры C1 XOR P1 = K?

Я пытался преобразовать обычный текст в шестнадцатеричный, а затем оба p1 и c1 в двоичный файл для XOR их. Похоже, это не работает. Как только я получаю двоичный файл, я конвертирую его обратно в шестнадцатеричный. Я почти уверен, что сделал это правильно, но я не получил правильный ключ. У кого-нибудь есть совет по этому поводу?

Я ищу несколько лучших примеров использования XOR. Я не думаю, что я делаю это правильно.

1 Ответ

0 голосов
/ 04 февраля 2020

Hex - это представление байтов для потребления человеком. При выполнении XOR вы должны выполнить это на двоичных данных. Это означает кодирование открытого текста с использованием набора символов (в данном случае, вероятно, US-ASCII) и шестнадцатеричное декодирование зашифрованный текст.

Если у вас есть два байтовых массива, вы можете XOR каждого байта с байтом с тем же индексом.

поток ключей , вероятно, является случайными двоичными данными, поэтому вы можете шестнадцатеричное кодирование ключа, чтобы лучше рассмотреть на него. Если вы видите только разумные результаты между 0x20 (пробел) и 0x7E, то это, вероятно, текст ASCII, и вы можете вместо этого выполнить декодирование символов .

...