Специальный выпуск - шифр Виженера. Часть четвёртая (3).

Специальный выпуск - шифр Виженера. Часть четвёртая (3).

CHe_Love_Vek

Сообщения, зашифрованные методом Виженера, хорошо поддаются взлому, если на руках имеются как открытый текст, так и зашифрованное послание - достаточно лишь найти ключ. Что же делать, если в распоряжении только шифротекст ?

Двойное проникновение

Рассмотрим следующее сообщение :

"UTPDHUG NYH USVKCG МУСЕ FXL KQIB. WX RKU GI TZN, RLS BHZLXMSNP KDKS; СЕВ Ш HKEWIBA, YYM SRB PER SBS, JV UPL О UVADGR HRRWXF. JV ZTVOOV УН ZCQU У UKWGEB, PL UQFB Р FOUKCG, TBF RQ VHCF R KPG, 0U КЕТ ZCQU MAW QKKW ZGSY, ЕР PGM QKETK UQEB DER EZRN, MCYE, MG UCTESVA, WP КЕТ ZCQU MAW KOIJS, LCOV NTHDNV JPNUJVB Ш GGV RWX ONKCGTHKFL XG VKD, ZJM VG CCI MVGD JPNUJ, RLS EWVKJT ASGUCS MVGD; DDK VG NYH PWUV CCHIIY RD DBQN RWTH PFRWBBI VTTK VCGNTGSF FL IAWU XJDUS, HFP VHSF, RR LAWEY QDFS RVMEES FZB СНН JRTT MVGZP UBZN FD ATIIYRTK WP КЕТ HIVJCI; TBF BLDPWPX RWTH ULAW TG VYCHX KQLJS US DCGCW OPPUPR, VG KFDNUJK GI JIKKC PL KGCJ lAOV KFTR GJFSAW KTZLZES WG RWXWT VWTL WP XPXGG, CJ EPOS VYC BTZCUW XG ZGJQ PMHTRAIBJG WMGEG. JZQ DPB JVYGM ZCLEWXR:CEB lAOV NYH JIKKC TGCWXE UHE JZK. WX VCULD YTTKETK WPKCGVCWIQT PWVY QEBFKKQ, QNH NZTTWIREL IAS VERPE ODJRXGSPTC EKWPTGEES, GMCG TTVVPLTEEJ; YCW WV NYH TZYRWH LOKU MU AWO, KEPM VG BLTP VQN RD DSGG AWKWUKKPL KGCJ, XY GPP KPG ONZTT ICUJCHLSE KET DBQHJTWUG. DYN MVCK ZT MEWCW HTWE ED JL, GPU YAE CH LQ! PGR UE, YH MWPP RXE CDJCGOSE, XMS UZGJQJL, SXVPN HBG!"

И сразу пытаемся найти повторяющиеся отрывки.

Ищем...

Ищем...

Нашли - "WX". Некоторые расстояния между этими отрывками в тексте составляют 9, 21, 66, 30. Теперь попарно вычислим для них наибольший общий делитель ( НОД ) :

НОД(30,66) = 6

НОД(9,66) = 3

НОД(9,30) = 3

НОД(21,66) = 3

Несмотря на то, что в 3/4 случаев результат равен 3, врятли он отражает длину ключа. Для столь больших сообщений, как правило, выбирают ключ понадёжней ( то есть, длиной побольше ). Будем отталкиваться от того, что осталось - реальная длина не 3, 6. Следовательно, расстояния между "WX", не кратные 6 ( 9, 21 ), являются случайностью и рассматриваться в дальнейшем не будут.

Дело за малым - воспользоваться частотным анализом. Если длина ключа получилось равной 6, то мы берём каждую шестую букву шифротекста и находим соответствующее ей исходное ( незашифрованное ) значение. Как это сделать ? Вспоминаем таблицу вероятностей для букв. Для каждой из них умножаем длину текста на вероятность их встречи. А потом считаем, сколько раз нам встретилась каждая 6 буква шифротекста и сопоставляем со значениями таблицы. Таким образом, получаем слово "crypto" и по таблице Виженера уже дешифруем сообщение целиком :

"Scrooge was better than his word. He did it all, and infinitely more; and to Tiny Tim, who did not die, he was a second father. He became as good a friend, as good a master, and as good a man, as the good old city knew, or any other good old city, town, or borough, in the good old world. Some people laughed to see the alteration in him, but he let them laugh, and little heeded them; for he was wise enough to know that nothing ever happened on this globe, for good, at which some people did not have their fill of laughter in the outset; and knowing that such as these would be blind anyway, he thought it quite as well that they should wrinkle up their eyes in grins, as have the malady in less attractive forms. His own heart laughed: and that was quite enough for him. He had no further intercourse with Spirits, but lived upon the Total Abstinence Principle, ever afterwards; and it was always said of him, that he knew how to keep Christmas well, if any man alive possessed the knowledge. May that be truly said of us, and all of us! And so, as Tiny Tim observed, God bless Us, Every One!"

( Это отрывок из произведения Чарльза Диккенса «Рождественская песнь в прозе. Святочный рассказ с привидениями» ).


Разбор метода Касиски на этом окончен. Дальше - интересней... )


============

https://t.me/ENcoding

============




Report Page