logo
Коды и шифры

Двойная перестановка

Слабость метода простой перестановки заключается в следующем. Когда шифрованное сообщение выписано в столбцы "по ширине ключа", то есть когда число букв в строке задается длиной ключа, то буквы, стоящие рядом в открытом тексте, обычно попадают в одну и ту же строку; поиск "хороших" диграфов может выявить порядок перестановки столбцов.

Последнее становится весьма очевидным, если в приведенном выше примере заменить открытый текст на числа 1,2,3,...,35, подчеркнуть первые пять чисел (чтобы было легче их идентифицировать) и применить ключ перестановки, которым мы до этого пользовались. Тогда (см. таблицу 4.4) мы получаем "шифрованный" текст:

á2á7á12á17á22áá27á32áá4á9á14áá19á24á29á34á1áá6á11á16á21á26

31á5á10á15á20áá25á30á35á3áá8áá13á18á23á28á33

Таблица 4.4

Ключ

3

1

5

2

4

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

Если рассмотреть интервалы между подчеркнутыми числами, мы обнаружим, что

1 и 2 отстоят на 14 позиций,

2 и 3 отстоят на 28 позиций,

3 и 4 отстоят на 21 позицию,

и наконец,

4 и 5 отстоят на 14 позиций,

то есть, интервалы между подчеркнутыми числами кратны 7. Таким образом, если мы выпишем "текст" в 7 строк по 5 знаков, то эти числа все попадают в одну строку.

Однако, если мы к этому "шифрованному" тексту снова применим эту же перестановку (см. таблицу 4.5),

Таблица 4.5

Ключ

3

1

5

2

4

2

7

12

17

22

27

32

4

9

14

19

24

29

34

1

6

11

16

21

26

31

5

10

15

20

25

30

35

3

8

13

18

23

28

33

то получится следующий "шифрованный" текст

á7á32á24á11áá5áá30á18á17á9á34áá21á15á3á28á2áá27á19á6á31á25

13á22á14áá1á26áá20áá8á33á12á4áá29á16á10á35á23.

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

1 и 2 отстоят на 9 позиций,

2 и 3 отстоят на 2 позиции,

3 и 4 отстоят на 17 позиций,

и наконец,

4 и 5 отстоят на 25 позиций,

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

Стойкость шифра двойной перестановки можно еще усилить, если использовать два различных ключевых слова (а не дважды одно и то же), особенно если эти ключевые слова имеют разную длину. Однако в такой системе значительно возрастает риск того, что отправитель ошибочно применит эти два ключевых слова в обратной последовательности. Вообще говоря, в этом случае получится другой шифрованный текст, который получатель не сможет расшифровать, и сообщение придется зашифровать правильно и послать снова. Тогда криптоаналитик будет иметь в своем распоряжении два варианта одного и того же текста, зашифрованного на тех же ключах, но в обратном порядке. Этой ситуацией он, вероятно, сможет воспользоваться. Ошибками такого типа чревата любая система двойного шифрования. Так, на шифр-машине "Энигма" для повышения стойкости некоторые сообщения зашифровывались дважды на различных ключевых установках, и произошел по крайней мере один случай, когда шифрование было выполнено не в том порядке (см. [4.1]).

Пример 4.2

Зашифруйте методом двойной перестановки следующий текст

A B C D E F G H I J K L M N O,

используя пару ключей

3-1-5-2-4 и 3-1-2

  1. в заданном порядке;

  2. в обратном порядке.

Удостоверьтесь, что получаются разные шифрованные тексты.

Проверка

  1. Применим ключ 3-1-5-2-4 (см. таблицу 4.6),

Таблица 4.6

3

1

5

2

4

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

и получаем

B G L D I N A F K E J O C H M.

Теперь применим ключ 3-1-2 (см. таблицу 4.7),

Таблица 4.7

3

1

2

B

G

L

D

I

N

A

F

K

E

J

O

C

H

M

и получаем шифрованный текст

G I F J H L N K O M B D A E C.

  1. Применим ключ 3-1-2 (см. таблицу 4.8),

Таблица 4.8

3

1

2

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

и получаем

B E H K N C F I L O A D G J M.

Теперь применим ключ 3-1-5-2-4 (см. таблицу 4.9),

Таблица 4.9

3

1

5

2

4

B

E

H

K

N

C

F

I

L

O

A

D

G

J

M

и получаем совершенно другой шифрованный тест:

E F D K L J B C A N O M H I G.