У компьютерного многоалфавитного шифра замены с помощью операции XOR есть два слабых места.
Первое — это обратимость шифра, т.к. для шифрования и расшифрования применяется одна и та же операция. Если одно сообщение посылается наскольким адресатам, шифруется одним и тем же ключом и произошел сбой или ошибка, так хакер может получить два сообщения разной длины. Например, получились две шифровки. Которые отличаются тем, что исходный текст сообщения оказался сдвинутым на один символ при шифровке. Криптоаналитик может получить две шифровки Y' и Y''.
2
100
Å x1
0 x0
Å x1
2
2
2
3
Тогда, взяв их сумму gå, криптоаналитик получит сумму исходного текста со сдвигом
+
¢ Å yi
xi i
Å xi
Å i = xi
Å xi+
. Теперь исходный текст можно получить,
подобрав (по проявлению осмысленного текста) величину
y S по формуле
S
y y2 L Å y ,
где
S =
yS есть ни что иное как код первой буквы шифрограммы. Действительно, взяв
, получим, например
00
02y1 Å
S = x Å
x40
Å43x1 Å
S
1
x41
Å43x2
S
2
Пример:
i |
g |
T |
x |
y' |
шт' |
y'' |
шт'' |
S = + |
¢ Å |
yi + |
y Å yS ÅL Å yS 102 |
0 |
7 |
Ш |
11000 |
11111 |
Я |
|
|
00 |
S 11000 (Ш) |
||
|
00111 |
|
|
|
11000 Ш (угадали перебором) 01000 И |
||||||
1 |
13 |
И |
01000 01101 |
00101 |
Е |
01111 |
П |
10000 |
|||
2 |
21 |
Ф |
10100 10101 |
00001 |
Б |
11001 |
Щ |
11100 |
10100 Ф |
||
3 |
31 |
Р |
10000 11111 |
01111 |
П |
00101 |
Е |
00100 |
10000 Р |
||
4 |
Ъ |
11010 |
10011 |
У |
00101 |
К |
01010 |
11010 Ъ |
Как видим, при рассмотренной ошибке шифровальщика при рассылке циркулярной
телеграммы, но шифруемой одним ключом, шифр замены на основе операции XOR легко вскрыть и без подбора ключей.
Количество вариантов прочтения шифровки не превышает количества символов в алфавите. Сейчас криптографы строго держатся правила: ни при каком случае не использовать ключ дважды.
Второе слабое место возникает, если в сообщении встречаются большие участки пробелов или нулевых символов. Например, если линия связи недозагружена, но в то время когда нет сообщения, аппаратура шифрования не выключена. Тогда, т.к. x=0, в линию связи поступает «шифровка» Y0, представляющая собой чистую последовательность ключа. Если перехватить ее, т.е. ключ Y0=g, то можно на нее наложить текст своего злоумышленного сообщения Yзло = xзло Å g. Получатель, расшифровав ее
Yзло Å g = xзло Å g Å g = xзло,
поверит тексту xзло злоумышленника, что уже никак не допустимо.
Так как перехватчик-злоумышленник не знает, свободна ли линия, то будет накладывать свой текст на непрерывный шифрованный сигнал наугад несколько раз. Даже если в то время по линии шла передача, то возникшие искажения, скорее всего, будут получателем интерпретированы как помехи в канале связи.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.