Кpиптогpафия от папиpуса до компьютеpа



Шифры замены - часть 3


S'(i)=T(i)+Y(i);S"(i+1)=T(i+1)+Y(i)
    

где t - текст, а у - ключ, то, находя их сумму, получим сумму текста со сдвигом:
    

S(i)=S'(i)+S"(i+1)=T(i)+T(i+1).
    

Исходный текст можно получить, подобрав S0, которое неизвестно, в выражении:
    

T(n)=S0+S1+S2+...+Sn
    

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

ЗВГЮШВЪСЮШТБПРЩВЦТЮТТБПРГВТЬ    S(i)
    

Подбором S0 получаем текст исходного сообщения:

 

ГЕИЕЭЯШИЕЭОПЮНЕЗЭОЛЭОПЮНРТЛХ

S0=29

 

ДЖИЖЮ ЩЙЖЮПРЯОХИЮПМЮПРЯОСУМЭ

S0=30

 

ЕЭКЭЯАЪКЗЯРС ПЗЙЯРНЯРС ПТФНИ

S0=31

 

ЖИЛИ БЫЛИ СТАРИК СО СТАРУХОЙ

S0=32

Подобные коллизии нередко возникали лет тридцать назад, так как основным носителем информации была перфолента, а при ее заправке в считывающее устройство запросто можно было ошибиться при рассылке циркулярной телеграммы адресованной в несколько мест, но шифруемой одним ключом. Сейчас такие "подарки" для крип- тоаналитиков почти исключены, так как криптографы стали держаться правила ни при каком случае не использовать ключ дважды. При такой ошибке шифровальщика шифр замены на основе XOR легко вскрыть, даже не прибегая к отгадыванию и анализу. Число вариантов прочтения шифровки не превышает число символов в алфавите - это не подбор ключей.
     Другая неприятность с машинным многоалфавитным шифром замены может возникнуть, если в сообщении встречаются большие участки пробелов или нулевых символов. Допустим, например, что линия связи недозагружена, но в то время, когда нет сообщений, аппаратура шифрования не выключается. Поэтому когда сообщений нет и t=0, шифровка будет представлять собой "чистую" последовательность ключа. Если в это время с помощью специальной аппаратуры перехватить шифровку, представляющую собой ключ s=y, то можно наложить на нее текст своего сообщения s'=s+t=t+y и передать искаженную шифровку по каналу связи. Получатель, расшифровав ее:
        

s'+y=s+t+y=t+y+y=t

получит переданный ему перехватчиком текст сообщения. А так как этот текст поступит в шифрованном виде, то его содержимому могут поверить, а это уже никак не допустимо. Так как перехватчик не знает, свободна ли линия, то будет накладывать свой текст на непрерывный шифрованный сигнал наугад несколько раз. Даже если в это время по линии шла передача - не беда, скорее всего возникшие искажения будут интерпретированы как помехи в канале связи.




Содержание  Назад  Вперед