![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 13.02.2011
Сообщений: 14
|
![]() |
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 13.02.2011
Сообщений: 14
|
![]() |
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Проверил на других длинах файлов:
72 Кб - уверенно различаются оба варианта 0.8 Кб - по первому варианту заметно вырос разброс, но в принципе выделить можно, по второму варианту разброс существенно растет с ростом периода - обнаруживать становится трудно. |
![]() |
![]() |
![]() |
#14 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Да. Да. Да.
прошел по указанной Вами ссылке. Оттуда - по ссылке на шифр Виженера http://ru.wikipedia.org/wiki/%D0%A8%...B5%D1%80%D0%B0, там раздел "Криптоанализ" пункт 1. Задумка этого метода в том, что если мы берем каждый n-й симовл, где n - длина ключа, выбираем лишь буквы, проксоренные одним и тем же символом, а потому индекс должен соответствовать таковому же в исходном файле. Недостаток - существенно снижается объем данных, по которым проводится статистика. |
![]() |
![]() |
![]() |
#15 | |
Пользователь
Регистрация: 13.02.2011
Сообщений: 14
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() Код:
|
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 13.02.2011
Сообщений: 14
|
![]()
Спасибо за код, воспользуюсь если вдруг.
Вот что у меня получилось для текста с около 90 тысячами русских символов. Всплески есть, но они слишком малы. ![]() Попробую второй способ, с шагом |
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Почему же малы?
Посчитайте матожидание и дисперсию для прочих результатов (выбросив "попадания"), и убедитесь, что "попадания" лежат явно вне доверительного интервала. Т.е. их можно вполне надежно детектировать. |
![]() |
![]() |
![]() |
#19 | |
Пользователь
Регистрация: 13.02.2011
Сообщений: 14
|
![]() Цитата:
Однако с шагом у меня проблемы, упорно выдает вот это ![]() Я просто беру первый символ, и ксорю его со вторым, второй символ с четвертым, третий с шестым, для шага два? Ведь так? |
|
![]() |
![]() |
![]() |
#20 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Не так.
Во втором варианте ничего ксорить не нужно - просто выбираем 0,2,4,6,8..., потом 0,3,6,9..., 0,4,8,12... символы и по ним считаем индекс. Еще один момент - коль скоро мы при кодировании выбрасываем все некириллические символы, то точно так же нам нужно делать и при "прореживании". Т.е. выкидывать не просто n символов, а n кириллических символов. Вдогонку: у меня надежно детектируется период при 72кб файле по уровню двух ср.кв.откл. На 0.8 кб, правда, много выбросов как в ту, так и в другую сторону (в смысле, и пропуск периода 19 и срабатывание вне периода), но это объяснимо - мало данных. Вся проверка - только на длине ключа 19 символов. Думаю, при коротких ключах в 2-3 символа провести границу будет сложнее. Последний раз редактировалось s-andriano; 04.05.2013 в 14:58. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разгадка шифра | saivs | Общие вопросы Delphi | 6 | 15.04.2013 18:28 |
Реализация книжного шифра!!! | InnaSidorenko | Помощь студентам | 1 | 20.11.2012 21:23 |
Анализ блочного шифра на криптостойкость | kaarol | Фриланс | 1 | 13.02.2012 20:36 |
Реализация шифра Плейфера в Delphi | ALUKARD2011 | Помощь студентам | 3 | 14.10.2011 15:56 |
Криптоанализ шифра Виженера | kalbim | Помощь студентам | 3 | 17.05.2011 22:27 |