Вопрос об операции обратимости XOR

Я услышал где-нибудь, что использование, XOR не обратим (они говорили о шифровании), но я не понимаю, как это было предназначено? AFAIK даже с ИЛИ операция, которую Вы не можете узнать, какой из двух битов равнялся 1. Мог кто-либо, кто знает, как это было предназначено, объясняет это мне?Спасибо

5
задан Snake 24 February 2010 в 14:12
поделиться

4 ответа

Я думаю, что вы немного неправильно их процитировали.

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

Одноразовые блокноты обычно реализуются с помощью XOR, но необратимость связана с тем, что это одноразовый блокнот, а не с операцией XOR.

7
ответ дан 18 December 2019 в 06:22
поделиться

Событие BeginRequest можно использовать в файле Global.asax .

http://msdn.microsoft.com/en-us/library/system.web.httpapplication.beginrequest.aspx

-121--2760459-

Если вы заинтересованы только в обнаружении этой ошибки в определенное время, можно временно заменить недопустимый обработчик параметров, а затем установить его после вызова команды Format.

_invalid_parameter_handler oldHandler = _set_invalid_parameter_handler(MyInvalidParameterHandler);

// Your try/Format/catch code here

_set_invalid_parameter_handler(oldHandler);

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

Кроме написания собственной функции проверки, я не уверен, как еще вы могли бы это сделать.

-121--5085891-

если вы делаете

z = x XOR y

, то

x = z XOR y

так что да его обратимый

9
ответ дан 18 December 2019 в 06:22
поделиться

Вероятно, они имели в виду, что операция XOR обратима, в отличие от AND или OR. Для шифрования это интересно в первую очередь в отношении шифров Вернама - тех, где ваш шифр создает ключевой поток, который вы выполняете XOR с потоком данных. На принимающей стороне вы можете выполнить XOR зашифрованного потока с тем же ключевым потоком и получить обратно открытый текст.

Это также интересно с точки зрения криптоанализа. Например, если два потока были зашифрованы одним и тем же ключевым потоком, XOR их друг с другом дает вам XOR двух потоков открытого текста, при этом все эффекты ключевого потока удалены. На этом этапе вы можете использовать технику «скользящего окна»: XOR чего-то, что, по вашему мнению, может быть в одном сообщении в различных точках с этим потоком, и если это есть, результатом будет понятный текст другого сообщения.

4
ответ дан 18 December 2019 в 06:22
поделиться

Вы, вероятно, имеете в виду "XOR-шифрование невозможно взломать без ключа"

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

5
ответ дан 18 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: