ПРАКТИЧЕСКАЯ КРИПТОГРАФИЯ АЛГОРИТМЫ И ИХ ПРОГРАММИРОВАНИЕ



         

Листинг 7.6


Криптоаналитик наверняка легко может получить копию этого электронного документа. Он может сделать это, например, под предлогом заключения договора о тестировании компьютеров на предмет возможной утечки информации. Исследуя эту копию, он узнает тип и электронный формат документа, который у него уже есть в зашифрованном виде. Таким образом, он становится обладателем так называемой вторичной информации о шифре.

С высокой долей вероятности может оказаться, что к нему в руки попал документ, например, в формате Microsoft Word. Этот формат содержит очень много избыточной информации, которая сама по себе может быть полезна для криптоанализа (подробнее об этом см. раздел "Защита текстовых документов Microsoft Word").

Самое главное в любом формате - перечень значений различных полей. Многие поля формата текстовых файлов Microsoft Word (MSWord) просто заполняются фиксированными значениями. Тогда, по сути, криптоаналитик сразу же получает довольно много пар "открытый текст - зашифрованный текст", поскольку многие участки того файла, который находится в его руках, либо вовсе фиксированы, либо легко угадываются.

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

Анализируя шифротекст, мы можем сложить известные нам значения полей формата MSWord с зашифрованным текстом и получить участки гаммы. Но, к сожалению, эта информация ничем не поможет нам в поиске возможных значений для остальных участков гаммы, поскольку они вырабатывались независимо друг от друга и знание одной части не дает ни капли информации о других частях.

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

Посмотрим на добытый криптоаналитиком формуляр типового документа. Для этого можно использовать HEX-редактор или даже быстренько набросать программку вывода содержимого файла с помощью функции print_hex() (см. главу "Отступление для программистов").

По смещению 500h (в десятичном эквиваленте 500h = 1280) байтов в содержимом файла можно найти отлично видимый невооруженным взглядом текст уже знакомого документа, приведенный выше (см. листинг 7.7).

00000500: C4 20 CE 20 C3 20 CE 20 ¦ C2 20 CE 20 D0 20 20 20 Д О Г О В О Р . 00000510: 4E 5F 5F 5F 5F 0D 0D DF ¦ 2C 20 5F 5F 5F 5F 5F 5F N____ Я, ______ 00000520: 5F 5F 5F 5F 5F 5F 5F 5F ¦ 5F 5F 5F 5F 5F 2C 20 E8 _____________, и 00000530: EC E5 ED F3 E5 EC FB E9 ¦ 20 E2 20 E4 E0 EB FC ED менуемый в дальн 00000540: E5 E9 F8 E5 EC 85 0D 85 ¦ E7 E0 EA EB FE F7 E0 FE ейшем: заключаю 00000550: 20 E4 EE E3 EE E2 EE F0 ¦ 20 ED E0 20 F1 F3 EC EC договор на сумм 00000560: F3 20 5F 5F 5F 5F 5F 5F ¦ 5F 0D 0D 0D CF EE E4 EF у _______ Подп . 00000570: E8 F1 FC 20 C7 C0 CA C0 ¦ C7 D7 C8 CA C0 09 09 CF ись ЗАКАЗЧИКА П 00000580: EE E4 EF E8 F1 FC 20 C8 ¦ D1 CF CE CB CD C8 D2 C5 одпись ИСПОЛНИТЕ 00000590: CB DF 0D 0D 21 00 91 C4 ¦ 02 A1 01 00 9C C4 02 9D ЛЯ..............




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