Криптография и свобода - страница 57

Шрифт
Интервал

стр.


Эта шифровка в ASCII-символах, т.е. в элементах по модулю 256, представленных в шестнадцатиричной записи. Известно, что она была получена с помощью схемы «Ангстрем-3» при Т=16 и известна подстановка π:


000102030405060708090A0B0C0D0E0F
B4BA3CCBF67E093F575198EE3189E927

101112131415161718191A1B1C1D1E1F
BD0A8624350FC1772D3A2AB233DB4E56

202122232425262728292A2B2C2D2E2F
A67DB7FED4B821CC5832F914B3F41C48

303132333435363738393A3B3C3D3E3F
28F8CD25DCE8F71A2E38A500536ABFFA

404142434445464748494A4B4C4D4E4F
379C07A09159547B45920DA1FF0EEAA2

505152535455565758595A5B5C5D5E5F
10CEE5BE7CF3854B78C3505FDDF187C0

606162636465666768696A6B6C6D6E6F
1F2F260B64F51B29D88DCFEB526BC70C

707172737475767778797A7B7C7D7E7F
2BA3C54C55C9E3E2C2FB222C04111D81

808182838485868788898A8B8C8D8E8F
174D06938830EFA4C83B3446DEA7365C

909192939495969798999A9B9C9D9E9F
398F663D8E018AB9C6E412B0054AFC18

A0A1A2A3A4A5A6A7A8A9AAABACADAEAF
D613A8903E8B44CAD0B14015E05A9A6D

B0B1B2B3B4B5B6B7B8B9BABBBCBDBEBF
D2ABC4A96E41F0AA42AC195B1E4F945D

C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF
168CFD5E95B5976CAD08BBAE96207F23

D0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF
D543D14749029980D960616570AF6263

E0E1E2E3E4E5E6E7E8E9EAEBECEDEEEF
9BDF0367F268696F7172D77374757679

F0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF
ECD382E17AEDDA83849D9E9FB6BCE6E7

Что известно об открытом тексте? Это военная телеграмма, в которой содержится какой-то приказ. Начало телеграммы – стандартное: «Совершенно секретно. Приказ №», или в шестнадцатиричной записи соответствующих ASCII-символов

D1 EE E2 E5 F0 F8 E5 ED ED EE 20 F1 E5 EA F0 E5 F2 ED EE 2E 20 CF F0 E8 EA E0 E7 20 B9


Приступим к взлому, т.е. к определению неизвестного ключа х>1>2,…х>16, записанного во втором регистре сдвига.

Давайте сначала выпишем уравнения зашифрования, реализуемые этой схемой. Если (y>1,y>2,…,y>8) – блок, записанный в первом регистре сдвига «Ангстрем-3», то за один такт работы схемы он перейдет в блок (y>2,y>3,…,y>9), где y>9 = π(y>1+y>2+y>8+x>1), х>1 – первый байт неизвестного ключа. В общем случае, если последовательность всех заполнений первого регистра сдвига обозначить как у>1>2,….,у>23>24, где (y>1,y>2,…,y>8) – блок открытого текста, (y>17,y>18,…,y>24) – блок шифртекста, то для любого i≥9 будет справедливо:


yi = π(y>i-8+y>i-7+y>i-1+x>i-8)


Преобразование блока (y>i, y>i+1,…y>i+7) в блок (y>i+1,y>i+2,…,y>i+8) за один такт обозначим как δ>xi. Очевидно, что это взаимно-однозначное преобразование, поскольку π - подстановка:


δ>xi (y>i, y>i+1,…y>i+7) = (y>i+1,y>i+2,…, π(y>i+y>i+1+y>i+7+x>i))


δ>xi - это подстановка на множестве Z/2>64. Тогда все преобразование, осуществляемое схемой «Ангстрем-3», будет выглядеть как произведение подстановок:


δ>х1,х2,…,х16 = δ>x1δ>x2…δ>x16


Рассмотрим преобразование θ(у>1>2,…у>8) = (π (у>1), π (у>2),…, π (у>8)). Заметим, что

θ>-1>1>2,…у>8) = (π>-1>1), π>-1>2),…, π>-1>8)).

Имеем


θ>-1δ>х1,х2,…,х16 θ = θ>-1δ>x1δ>x2…δ>x16 θ = θ>-1δ>x1θθ>-1δ>x2θθ>-1>…θθ>-1δ>x16 θ = φ>х1φ>х2…φ>х16 = φ>х1,х2,…х16,


где φ>хi = θ>-1δ>xiθ

Если блок открытого текста (y>1,y>2,…,y>8) переходит в блок шифртекста (y>17,y>18,…,y>24) с помощью преобразования δ>х1,х2,…,х16, т.е.

δ>х1,х2,…,х16(y>1,y>2,…,y>8) = (y>17,y>18,…,y>24),

то


θ>-1δ>х1,х2,…,х16(y>1,y>2,…,y>8) = θ>-1 (y>17,y>18,…,y>24) = (π>-1>17), π>-1>18),…, π>-1>24)).


Тогда


>-1>17), π>-1>18),…, π>-1>24)) = θ>-1δ>х1,х2,…,х16 θθ>-1 (y>1,y>2,…,y>8) = θ>-1δ>х1,х2,…,х16θ (π>-1>1), π>-1>2),…, π>-1>8))


Итак, вот она, первая зацепка для анализа «Ангстрем-3»: заменяем позначно все буквы шифрованного и известного открытого текста по подстановке π>-1 и дальше используем вместо δ>xi преобразования φ>хi. А теперь давайте посмотрим на эти преобразования повнимательнее.


φ>хi (y>i, y>i+1,…y>i+7)= θ>-1δ>xiθ(y>i, y>i+1,…y>i+7) = θ>-1δ>xi(π (y>i), π (y>i+1),… π (y>i+7)) =

θ>-1(π(y>i+1), π(y>i+2),….,π(π(y>i)+π(y>i+1)+π(y>i+7)+х>i) = (y>i+1, y>i+2,…., π (y>i)+π (y>i+1)+π (y>i+7)+х>i)


Жизнь прекрасна и удивительна! Какие уравнения получились!


у>i+8 = π (y>i)+π (y>i+1)+π (y>i+7)+х>i


Возьмем-ка теперь парочку блоков открытого текста (y>1,y>2,…,y>8) (z>1,z>2,…,z>8) и соответствующие им блоки шифртекста (y>17,y>18,…,y>24) (z>17,z>18,…,z>24) и выпишем уравнения одни под другими…


у>i+8 = π (y>i)+π (y>i+1)+π (y>i+7)+х>i

z>i+8 = π (z>i)+π (z>i+1)+π (z>i+7)+х>i


Это же криптографический Клондайк! Вычитаем одно уравнение из другого и ключ пропадает!


стр.

Похожие книги