Vigenere Cipher - расшифровка (вручную) - PullRequest
0 голосов
/ 23 июня 2011

Это зашифрованный текст Vigenere

EORLL TQFDI HOEZF CHBQN IFGGQ MBVXM SIMGK NCCSV
WSXYD VTLQS BVBMJ YRTXO JCNXH THWOD FTDCC RMHEH
SNXVY FLSXT ICNXM GUMET HMTUR PENSU TZHMV LODGN
MINKA DTLOG HEVNI DXQUG AZGRM YDEXR TUYRM LYXNZ
ZGJ

Индекс совпадений дал сдвиг в шесть (6): я знаю, что это правильно (я использовал онлайн-апплет Java для расшифровки всего, используяключ 'QUARTZ').

Однако в этом вопросе нам говорят только первые и последние две буквы ключа - 'Q' и 'TZ.'

Пока у меня естьразбить зашифрованный текст на кусочки, используя этот потрясающий апплет.Таким образом, первый срез 0, k, 2k, 3k, 4k;вторая - 1, k + 1, 2k + 1, 3k + 1;и так далее.

KeyPos=0: EQEQQSCXQJJHDEYIUTSVMTVUMTYJ
KeyPos=1: OFZNMICYSYCWCHFCMUULILNGYUX
KeyPos=2: RDFIBMSDBRNOCSLNERTONOIADYN
KeyPos=3: LICFVGVVVTXDRNSXTPZDKGDZERZ
KeyPos=4: LHHGXKWTBXHFMXXMHEHGAHXGXMZ
KeyPos=5: TOBGMNSLMOTTHVTGMNMNDEQRRLG

Моя идея состояла в том, чтобы рассчитать букву с самой высокой частотой в каждом блоке, надеясь, что наиболее часто встречающаяся буква даст мне некоторое представление о том, как найти «U», «A» и'Р.'Однако наиболее часто встречающиеся буквы в этих блоках:

KeyPos=0: Q,4 T,3 E,3, J,3
KeyPos=1: C,4 U,3 Y,3
KeyPos=2: N,4 O,3 R,3 D,3 B,2
KeyPos=3: V,4 D,3 Z,3
KeyPos=4: H,6 X,6 M,3 G,3
KeyPos=5: M,4 T,4 N,3 G,3

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

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

ps Это для класса цифрового шифрования.

Ответы [ 2 ]

1 голос
/ 24 июня 2011

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

1 голос
/ 24 июня 2011

Интересный вопрос ...

У меня нет программного решения для взлома исходного зашифрованного текста, но я смог решить его с небольшим умом и некоторым полезным JavaScript.

Я начал с использования этой страницы и предоставленной вами информации.Укажите зашифрованный текст, длину ключа 6 и нажмите «Инициализировать».Что хорошо в этом подходе, так это то, что неизвестные в открытом тексте или ключе остаются дефисами.

Обновите ключ, добавив только то, что вам известно Q---TZ, и нажмите «обновить открытый текст».На данный момент мы знаем:

o --- sua --- opo --- oca --- nha --- enc --- rom --- dth --- ama---INT --- епть --- наш --- --- мун тио --- ИВЗ --- EUS --- --- --- Зонда LOC --- ОНФ --- Сейчас --- хед--- off --- ere --- nsw --- esd --- tmi --- ght

Вот где я применил немного умственной силы.Вы начинаете распознавать биты открытого текста.the, now и off появляются.В конце концов, есть ght - это заставило меня думать, что предыдущее письмо, скорее всего, гласная.Например light или thought.Я заменил соответствующий дефис на u и щелкнул по ключевому слову update, чтобы найти букву, которая произвела бы эту комбинацию.Соответствующая буква оказывается F.Я думаю, что обновил открытый текст, чтобы увидеть результаты.Они не выглядели многообещающими.Поэтому я попытался i вместо этого, что привело к:

o - usua - ropo - loca - onha - eenc - prom - edth - eama - eint--СЕРТ - Гаура - mmun - ATIO - wewi - Беус - gthe - дир - yloc - ionf - mnow - Тед - Poff - просто - insw - nesd - atmi--сайт

Теперь мы куда-то добираемся.В начале я вижу что-то, что может быть usual, а дальше я вижу int--cept и ближе к концу w--nesd-- at mi--ight.Вуаля.Заполнение букв для wednesday и обновление ключевого слова дали QUARTZ.

... Итак, как перенести этот подход на код?Пока не уверен, как лучше это сделать.Идея использования известных символов в ключе, частичного дешифрования зашифрованного текста и грубого форсирования остальных привлекательна.Но без удобного словаря я не уверен, каким будет лучший метод грубого принуждения ...

Продолжение следует (возможно) ...

...