2011-06-23 6 views
0

Это является Vigenere шифрованного текстаVigenere Cipher - расшифровка (вручную)

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».

До сих пор я разделил зашифрованный текст на кусочки, используя this удивительный апплет. Таким образом, первый срез равен 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» и «» R. Тем не менее, наиболее частые буквы в этих блоках являются:

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 (будучи щедрым), ни один из которых является то, что близко к КВАРЦ. Есть online applets, который может взломать это без проблем, поэтому он не должен быть слишком коротким, чтобы получить достойные частоты из блоков.

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

p.s. Это для цифрового криптокласса.

+2

Возможно, это не вопрос программирования, если вы хотите знать, как это сделать «вручную» – Raoul

+0

Да, я так думал. Основы необходимы для построения криптографии, поэтому я подумал, что в этом смысле это может быть хорошо. Я проголосую за ваш комментарий, потому что согласен. :/ – eggonlegs

+0

... huh. Я мог бы поклясться, что есть сайт криптографии SE, но я не могу его найти сейчас. – Chowlett

ответ

1

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

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

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

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

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

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

о - USUA - Ropo - лока - onha - eenc - пром - edth - eama - еш - CEPT - gour- -

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

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

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

+0

Спасибо, это было бы хорошим способом его выработать (при условии, что открытый текст на английском языке и не скремблирован дважды). Путь учебника заключается либо в атаке Касиски, либо в частотном анализе, но я не был уверен, как вычислить индекс совпадения для срезов. – eggonlegs

1

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