Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 |
Модератор: Сообщение скрыто. |