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

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

стр.


u>i+8 = v>i+v>i+1+v>i+7 (1)

где u>i = y>i-z>i, v>i = π(y>i)- π(z>i).

Из (1) имеем:

v>i = u>i+8 –v>i+1-v>i+7 (2)

Линейное уравнение – мечта криптографа! Тут только надо найти все такие решения, при которых для каждой пары (u>i,v>i) соответствующий элемент р>ui,vi в матрице Р(π) был бы ненулевым. Поехали!

При Т=16 из (1) и (2) имеем:

u>1,u>2,…u>8, v>1,v>2,…v>8 – известны – это открытый текст

u>17,u>18,…u>24, v>17,v>18,…v>24 – известны – это шифртекст

Из (2) последовательно находим:

v>16 = u>24-v>17-v>23

v>15 = u>23-v>16-v>22

…………

v>9 = u>17-v>10-v>16


а затем уже из (1) – все u>i. Система (1) полностью решена!

Дальше – раздолье. Ключ опробуем позначно. Для первого байта ключа x>1 оставляем допустимыми только те значения, при которых пара (y>9,z>9) является решением системы

y>9-z>9 = u>9

π(y>9)- π(z>9) = v>9

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

Вот теперь пора и почитать, что там наша доблестная армия нашифровала. Военный приказ будем взламывать по-военному четко: делай раз, делай два, делай три.


1. Берем первые 24 знака известного нам открытого текста, соответствующие им знаки шифртекста и составляем две пары переходов из открытого текста в шифрованный.

Первая пара

Открытый текстШифртекст
D1 EE E2 E5 F0 F8 E5 EDD8 C7 83 EF F9 CA 71 FA
ED EE 20 F1 E5 EA F0 E507 55 16 9B 3A 1A 99 53

Вторая пара

D1 EE E2 E5 F0 F8 E5 EDD8 C7 83 EF F9 CA 71 FA
F2 ED EE 2E 20 CF F0 E887 CC 83 9D FA 1D D6 D8

2. Все байты в этих парах заменяем по подстановке π>-1

D2 0B 77 52 B6 31 52 F568 6E F7 86 2A A7 E8 3F
F5 0B CD 5D 52 4E B6 5242 74 C0 E0 19 37 D6 3C

D2 0B 77 52 B6 31 52 F568 6E F7 86 2A A7 E8 3F
E4 F5 0B 38 CD 6A B6 355E 27 F7 F9 3F 7E A0 68

3. Для каждой из этих двух пар составляем и решаем систему линейных уравнений (1)


Первая пара

Открытый текст

12345678
u>iDD00AAF564E39CA3
v>iE400C2F40B0EF508

Шифртекст

1718192021222324
26FA37A611701203
D1726D54BFB0D8A7

Сначала с помощью уравнений (2) вычисляем промежуточные значения v>16,v>15,…,v>9

v>16 = u>24 – v>17 –v>23 = 03 –D1-D8 = 5A

v>15 = u>23 – v>16 –v>22 = 12 –5A-B0 = 08

v>14 = u>22 – v>15 –v>21 = 70 – 08-BF =A9

v>13 = u>21 – v>14 –v>20 = 11 – A9-54 = 14

v>12 = u>20 – v>13 –v>19 = A6 – 14 -6D = 25

v>11 = u>19 – v>12 –v>18 = 37 – 25 -72 = A0

v>10 = u>18 – v>11 –v>17 = FA – A0 -D1 = 89

v>9 = u>17 – v>10 –v>16 = 26 – 89 -5A = 43


Затем с помощью (1) вычисляем u>9,u>10,…,u>16

u>9 = v>1+v>2+v>8 = E4+00+08 = EC

u>10 = v>2+v>3+v>9 = 00+C2+43 = 05

u>11 = v>3+v>4+v>10 = C2+F4+89 = 3F

u>12 = v>4+v>5+v>11 = F4+0B+A0 = 9F

u>13 = v>5+v>6+v>12 = 0B+0E+25 = 3E

u>14 = v>6+v>7+v>13 = 0E+F5+14 = 17

u>15 = v>7+v>8+v>14 = F5+08+A9 = A6

u>16 = v>8+v>9+v>15 = 08+43+08 = 53


Таким образом, получилась табличка промежуточных значений


Промежуточные значения для первой пары

910111213141516
EC053F9F3E17A653
4389A02514A908

Теперь проделываем все то же самое для второй пары.


Открытый текст

12345678
u>iEE166C1AE9C79CC0
v>iDF01F4B7D029F505

Промежуточные значения

910111213141516
E5В5850C05231D07
C05F976E1F7AB0EB

Шифртекст

1718192021222324
0A47008DEB2948D7
51FB0052FFAD9B22

Чуток осталось! Для определения первого знака ключа х>1 надо найти у>9, поскольку

х>1>9-π(у>1)- π(у>2)- π(у>8), а все значения у>1>2,…,у>8 – известны. Значение же у>9 находим исходя из следующих условий:

π(у>9)- π(у>9-ЕС)= 43 (для первой пары) и

π(у>9)- π(у>9-E5)= C0 (для второй пары)

Честно перебрав все 256 значений, находим: у>9 = 9В, тогда х>1 = 9В – D1 – EE – ED = EF

Далее – все аналогично. Для второго знака ключа

π(у>10)- π(у>10-05)= 89 (для первой пары) и

π(у>10)- π(у>10-В5)= 5F (для второй пары)

откуда у>10 = 98, тогда х>2 = 98 – ЕЕ – Е2 – В0 = 18

Точно таким же путем можно вычислить и все остальные знаки ключа. Небольшое затруднение возникнет лишь при определении х>11, поскольку в этом случае система получится такая:

π(у>19)- π(у>19-37)= 6D (для первой пары) и

π(у>9)- π(у>9-00)= 00 (для второй пары)

Вторая пара здесь ничего не дает, но зато первая отсеяла все отлично, только одно допустимое значение остается: F7.


Вот он, полностью вычисленный ключ к «Ангстрему-3» при Т=16:

EF 18 9E C8 7B B9 0F A1 8E BC 71 6F D1 07 94 92

А вот и телеграмма, расшифрованная с его помощью:


стр.

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