Крекинг на простия шифър за замяна
Първо, ще разгледаме начин, при който не е необходимо да разбивате обикновен шифър за замяна - начин да изброите напълно всички опции. Буквата A с открит текст може да бъде съчетана с всяка от 26-те латински букви, буквата B с която и да е от останалите 25, буквата C с която и да е от останалите 24 и т.н. Следователно броят на всички възможни прости азбучни букви е
26 25 24 23. 3 2 1,
което за удобство е обозначено в математически текстове 26! и се чете „двадесет и шест факториал“. Това е огромен брой, повече от 10 до 26-та степен (обикновено се записва 10 26), така че дори компютър, който може да проверява хиляда милиона (т.е. 10 9) азбуки всяка секунда, ще трябва да отдели няколкостотин милиона години за това задача. ... Ясно е, че изчерпателният метод на търсене, който дава задоволителни резултати с шифъра на Юлий Цезар (в него има само 25 варианта), е напълно неподходящ тук.
Практически метод за разбиване на този тип шифър е както следва:
(1) Направете таблица с честотите на знаците, намерени в шифъртекста, т.е. пребройте колко пъти всяка буква се среща там
(2) Опитайте се да определите кой знак в шифъртекста съответства на интервал. Ако криптираното съобщение не е много кратко, тогава това е лесно да се направи, тъй като интервалите и другите пунктуационни знаци представляват 15% до 20% от символите в обикновен английски текст, като повечето от тези знаци всъщност са интервали. Много е вероятно най-често срещаният символ на шифротекст да съответства на интервал. Освен това, ако това предположение е вярно, тогава символите, съответстващи на интервалите, трябва да се появяват в шифъртекста на всеки няколко букви, без значителни пропуски между тях.
(3) След като определите характера на заместващата азбука, съответстваща на интервал, пренапишете шифъртекста, като замените тези знаци в него с интервали. Сега тя се състои от много отделни „думи“ със същата дължина и структура като думите с открит текст. Така например, ако някоя буква се повтаря в думата с открит текст, същото ще се случи и в нейната криптирана "версия".
(4) Опитайте се да дефинирате кодове на шифри за някои често срещани букви като E, T, A, I, O и N. Заедно те обикновено представляват повече от 40% от текста, като E е значително по-напред от останалите в повечето текстове. На този етап таблицата с честотите на поява на знаци в английския език ще бъде от голяма помощ. Такава таблица е предоставена тук (вж. Таблица 2.4); друга таблица, базирана на много по-голяма извадка, се съдържа в глава 7. Всяка е подходяща за разбиване на прост заместващ шифър. Тези таблици трябва да се тълкуват само като подсказки: ако за честите букви честотите им варират малко от пробата до пробата, тогава честотите на редките букви носят малко информация. Таблицата по-долу
Честотата на знаците на английски език за всяка от буквите J, X и Z е с честота 1 на 1000 знака, но в определен текст от 1000 знака всяка от тези букви може да се появи няколко пъти или може да отсъства съвсем. Подобни забележки са валидни за знаковите честоти на повечето езици.
(5) Когато някои фрагменти от думи са възстановени по този начин, потърсете кратки думи, в които една или две букви са неизвестни. Например, ако буквите T и E са вече известни и ако една дума е с дължина три знака с неизвестна буква между буквите T и E, тогава това най-вероятно е думата THE и съответно неизвестната буква H. След това можете да поставите думи като ТОВА, ТОВА, ТАМ и ТОГАВА, получавайки нови съвпадения между символите на открития текст и шифъртекста.
(6) Завършете разбиването на шифъра, като използвате граматическа и контекстуална информация.
Таблица 2.4 Таблица на честотата на поява на английски символи на 1000 знака текст (въз основа на селекция от стихотворения, истории и научни текстове)
Пример 2.2 Прихванато е криптирано съобщение от 53 петцифрени групи. Известни,
че системата за криптиране е обикновен заместващ шифър, интервалите в обикновения текст се заменят с буквата Z, а всички други препинателни знаци се игнорират. Искате да възстановите обикновения текст на съобщението.
Текстът на шифъра е:
MJZYB LGESE CNCMQ YGXYS PYZDZ PMYGI IRLLC PAYCK YKGWZ MCWZK YFRCM ZYVCX XZLZP MYXLG WYTJS MYGPZ YWCAJ MYCWS ACPZY XGLYZ HSWBN ZYXZT YTGRN VYMJC POYMJ SMYCX YMJZL ZYSLZ YMTZP MQYMJ LZZYB ZGBNZ YCPYS YLGGW YMJZP YMJZL ZYCKY SPYZD ZPKYI JSPIZ YMJSM YMJZL ZYSLZ YMTGY GXYMJ ZWYTC MJYMJ ZYKSW ZYECL MJVSQ YERMY MJCKY CKYKG
(1) Първо, съставяме таблица на честотите на поява на знаци (вижте Таблица
(2) Тъй като буквата Y се среща 49 пъти в текст с 265 знака, тоест много по-често от другите (тя представлява около 18% от текста), можем да заключим, че знакът Y на текста на шифъра съответства на космически персонаж
. След Y по честота са буквите Z и M, така че ги отбелязваме като добри кандидати за буквите E и T, или T и E.