Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Частотный анализ при xor шифровании


Автор: marishka777 5.1.2010, 11:45
Здравствуйте! Не могли бы подсказать, в чем заключается суть частотного анализа при xor-шифровании?
Зная длину ключа, мы сдвигаем шифрованный текст на эту длину, потом складываем по модулю 2(операция XOR), а вот что происходит потом? ведь если мы имеем таблицу частот, то там частоты вхождения обыкновенных символов, а не заксоренных, как получается в данной операции.

Автор: fry 5.1.2010, 12:16
Цитата

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

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

Автор: marishka777 5.1.2010, 13:57
Но ведь при операции XOR мы получаем как бы сумму двух разных символов, а в частотной таблице находятся частоты единичных символов. Как мы можем их сравнивать?

Автор: fry 5.1.2010, 14:39
Если одно из них фиксированное (ключ), то сравнивать можно, т.к. все одинаковые символы будут представлены одним и темже шифр-символом.

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

В принципе метод позволяет установить связь:

Шифр-символ -> Его частота в шифре == Частота символа алфавита (из табл.) -> Символ алфавита (из табл.)

Автор: Noubpoeno 10.12.2022, 01:45
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)