Таблица виженера на русском

Текущая версия страницы пока опытными участниками и может значительно отличаться отпроверенной 31 марта 2013; проверки требуют. Текущая версия страницы пока опытными участниками и может значительно отличаться отпроверенной 31 марта 2013; проверки требуют. В 1863 году Фридрих Касиски был первым, кто опубликовал успешный алгоритм атаки наоднако этот метод предполагал достаточно длительный ручной поиск совпадающих подстрок. Новый метод, описанный Фридманом в 1922 году, предлагал более быстрый и простой способ определения длины ключа. Алфавит данного языка будем полагать состоящим из букв. Рассмотрим достаточно длинную строку из букв. Если задаёт количество -той буквы алфавита в строкето можно определить индекс совпадений как вероятность совпадения двух произвольных букв в строке: откуда при достаточно больших и определении как получаем приближённую формулу: Теперь, если предположить, что наш текст написан на естественном языке например, на илиявляется достаточно длинным и его характеристики соответствуют известным нам характеристикам данного языка, то для него можно получить ожидаемый индекс совпадений используя известные частоты появления отдельных букв : Язык Индекс совпадений 0,0553 0,0644 0. Для случайной строки символов алфавита это значение примерно равно то есть 0,03125 для русского языка без буквы «» и 0,03856 для английского языка. Важным свойством является то, что индекс совпадения для строки не меняется при шифровании этой строки моноалфавитным шифром. Алфавит также имеет букв. Взаимным индексом совпадений этих строк будем называть вероятность того, что буква, случайно выбранная из первой строки, совпадёт со случайно выбранной буквой второй строки. Пусть — количество -ой буквы алфавита в первой и второй строке соответственно. Можно показать, что для этих строк величина индекса совпадений примерно равна: Правая часть выражения зависит только от величиныкоторая называется относительным сдвигом строк. С учётом очевидного равенства мы можем построить таблицу относительных сдвигов для любого от доиспользуя их для нахождения значений и в случае. Для русского языка: Сдвиг Взаимный индекс 0 0,0553 1 0,0366 2 0,0345 3 0,0400 4 0,0340 5 0,0360 6 0,0326 7 0,0241 8 0,0287 9 0,0317 10 0,0265 11 0,0251 12 0,0244 13 0,0291 14 0,0322 15 0,0244 16 0,0249 Для английского языка: Сдвиг Взаимный индекс 0 0,0644 1 0,0394 2 0,0319 3 0,0345 4 0,0436 5 0,0332 6 0,0363 7 0,0389 8 0,0338 9 0,0342 10 0,0378 11 0,0440 12 0,0387 13 0,0428 Стоит отметить, что хотя значения для ненулевых сдвигов что для русского, что для английского языка различаются между собой не очень сильно, они достаточно хорошо отличаются от значения индекса при нулевом сдвиге. Найдём индексы взаимных совпадений между исходной строкой и каждой полученной. Максимальный индекс совпадений между двумя строками будет соответствовать случаю использования одинаковых шифров сдвига для соответствующих букв, то есть в случае когда размер сдвига кратен размеру ключевого слова шифра Виженера. Если строка достаточно длинная то есть статистика достаточно точнаято можно сравнивать промежуточные значения со значениями из таблиц выше для определения размера сдвига и последующей проверки. Пусть дан некоторый текст: МЭИЁЫ РНЁЬЧ ГДКЧГ ЕЖЦМБ ХЩЭЪУ ЩЖЩЩД ГГЧЛП ИУНЛТ ФЮМГЬ ЮЩБЧЪ ЙЁОЪЗ ОПЧМЩ ПЦПИЭ ЬЖЮПЩ МХНЪЙ ЁМЪЗЩ ЩГИЧА ЭАЬЭЧ ЩМЪЛЛ ЙКЧМЕ КБНЁЭ ЪБЫКД ЛЬФШМ ЫПЭАТ ЬЪИАЧ ТЮШЩФ АВЩЬЖ ОШРАЁ ЧАОЧХ РЫЙЩЮ РЁЦЭР ТФШМГ ЩПМБВ РЙЁМР ИШЁЧЛ ЬТЛИЁ ШЩЩБЬ ЖЛЯШЛ КЬШФР ЁНЪГВ КЮГЗУ ЩЖЕЬЦ МЪЩНГ ГЖШМЮ УООЧЯ ЛЯЬТЯ УЁНЪС ДУЬЮЩ ГРБЁЭ РНЬЫЗ АДЩЭИ ЩПЪЛЕ УОВЬШ РПГЮТ ЖГПЕГ ЙЩЧЪВ ЩГРЁЪ ЬЖЬАЛ ЙАТУЮ ЪЫЛЛА БЖБЫП ЪЛЩЩЭ НАЭЖА ЧЦЭЭА ЛЖЙЩЪ РОЩЁХ ОЧТНМ ШДРПЙ МРЮЕШ ЛНЧМЧ МЩШЛН ЗУНГЙ ЬЮАЁМ ЛЙЧПО МЖЩЦЙ ЁШЪКЁ ЭЩМИЙ ЕЖДЬК ИГИПЭ ДЬЛКЁ ФЩЖЯГ РЗАПЬ ЮЗАФЖ ЩПРПЧ ЦЪЛЬШ ЪЛЬЬШ МЙЫКЛ ЧЗЮМЕ УУЦЬП ЫМИМЪ ГДЮЭМ ЗЭЯНЗ УНГЙЬ ЮААПЫ ОАМФВ ЬМЪЦЬ ОДГЪЩ ЫЪЬЫЛ АГУВГ ЧШЩЩЖ КНЙЁМ ЩЩАТЪ ЯЗКУЖ ГЩЭЪШ ПЭНЁХ ЪЗИЭН МАЬЮО ЧАЫМЫ ЩМЛТФ ЮМДЮЦ МЙЩЬЩ БМЖОЧ СЛГЙЬ КНЗУН ЖЫПГГ ЪЩЩЖШ ЮПЪИЦ ФЦВЩШ МЪЫЪК ЕЩОМА ШРПЩЩ ХПЙМР ЛЕЩОМ ДПЭРК АЪРЦО РЗИЭН ЖЙПЧЪ ЕЩЫЪЬ ЫМЩГШ РПВЩЧ ЪВЩММ ГЖДГЫ ЫЯБАА ШСЮВФ ЛЩХЪК ЕКЮГЕ ЩИРЁЭ ЭРЗКБ КЁНЪР ЕЩЭЖЙ ЖЭЭЙЩ ЧЪВЩЦ РЁЧЯС ДШЪКК УНКЬЬ ЮГЗЩМ ИЁЧЯЛ ЧЛЧЬЫ КЮГГЖ ЩМДЮФ ГИЭРП ЙМРЛЕ ЩШСЩТ ОЙЦОЯ МЙЦФХ ЧМДГД ЮРБЁЩ ЮАИПБ АФЭЪЗ ЪЩЭРА ШЪЗ Нам известно, что это шифротекст, в качестве алфавита используется из 33-х букв то есть включая букву «». Запишем исходную строку 16 раз, каждый раз циклически сдвигая её на одну позицию влево: МЭИЁЫРНЁЬЧГДКЧГЕЖЦМБХЩЭЪУЩЖЩЩДГГЧЛПИУНЛТФЮМГЬЮЩБЧЪЙЁОЪЗОПЧМЩПЦПИЭЬЖЮПЩМХ. И найдём количество совпадающих букв между первой строкой без сдвига и всеми остальными: Сдвиг Количество совпадений Доля 1 26 0. Очевидные предположения о размере сдвига для отдельных групп: Группа Сдвиг Ключевая буква 1-я группа +11 К 2-я группа +12 Л 3-я группа -2, то есть +31 Ю 4-я группа -9, то есть +24 Ч Итого, ключевое слово для данного текста — «КЛЮЧ». Последнее изменение этой страницы: 09:09, 5 января 2016. Текст доступен по ; в отдельных случаях могут действовать дополнительные условия. Wikipedia® — зарегистрированный товарный знак некоммерческой организации.