Text
                    

БАБАШ А. В., ШАНКИН Г. П. КРИПТОГРАФИЯ Под редакцией В.П. Шерстюка, Э.А. Применко Москва СОЛОН-ПРЕСС 2007
УДК 003.26 ББК 87.4 Б121 Бабаш А.В., Шанкин Г.П. Б121 Криптография. Под редакцией В.П. Шерстюка, ЭЛ. Применко / А.В. Бабаш, Г.П. Шанкин. — М.: СОЛОН-ПРЕСС, 2007. — 512с.— (Серия книг «Аспекты защиты»). ISBN 5-93455-135-3 Книга написана в форме пособия, направленного на изучение «классиче- ских» шифров, то есть шифров с симметричным ключом. После краткого исто- рического очерка в ней рассмотрены вопросы дешифрования простейших шифров, методы криптоанализа и синтеза криптосхем, вопросы криптографи- ческой стойкости, помехоустойчивости и имитостойкости шифрсистем. Архитектура пособия двухуровневая. Первый уровень предназначен для студентов, изучающих дисциплины криптографии и компьютерной безопасно- сти, читателей, впервые знакомящихся с учебными материалами по криптогра- фии. Второй уровень — для аспирантов, преподавателей вузов соответствую- щего профиля, для круга специалистов, чьей задачей является использование криптографических средств защиты информации, для читателей, желающих познакомиться с теоретической криптографией. На пособие получены поло- жительные рецензии специалистов и организаций. УДК 003.26 ББК 87.4 По вопросам приобретения обращаться: ООО «АЛЬЯНС-КНИГА КТК» Тел: (495) 258-91-94, 258-91-95, www.abook.ru Сайт издательства «СОЛОН-ПРЕСС»: www.solon-press.ru E-mail: solon-avtor@coba.ru книга - почтой Книги издательства «СОЛОН-ПРЕСС» можно заказать наложенным платежом (оплата при получении) по фиксированной цене. Заказ оформляется одним из двух способов: I. Послать открытку или письмо по адресу: 123242, Москва, а/я 20. 2. Оформить заказ можно на сайте www.solon-press.ru в разделе «Книга — почтой». Бесплатно высылается каталог издательства по почте. При оформлении заказа следует правильно и полностью указать адрес, по которому должны быть вы- сланы книги, а также фамилию, имя и отчество получателя. Желательно дополнительно указать свой те- лефон и адрес электронной почты. Через Интернет вы можете в любое время получить свежий каталог издательства «СОЛОН-ПРЕСС», считав его с адреса www.solon-press.ru/kat.doc. Интернет-магазин размещен на сайте www.solon-press.ru. ISBN 5-93455-135-3 © А.В. Бабаш, Г.П. Шанкин, 2007 © Составление. Осипенко А.И., 2002 © Макет и обложка «СОЛОН-ПРЕСС», 2007
На учебное пособие получены положительные рецензии: института информационных наук и технологий безопасности Россий- ского государственного гуманитарного университета (РГГУ); Московского института радиотехники электроники и автоматики (МИ- РЭА); кафедры информационной безопасности МГУ им. М.В. Ломоносова; центрального банка Российской Федерации (ЦБ РФ); заведующего кафедрой информационной безопасности Московского государственного института электроники и математики (МИЭМ) кан- дидата физико-математических наук, профессора Прокофьева И.В; члена-корреспондента Академии криптографии, доктора физико- математических наук, профессора Грушо А.А.; профессора кафедры «Криптология и дискретная математика» Москов- ского инженерно-физического института (МИФИ), доктора техниче- ских наук, профессора Щербакова А.Ю; члена-корреспондента Международной Академии Информатизации, кандидата технических наук Шурупова А.Н.; члена-корреспондента РАЕН, доктора физико-математических наук, профессора Голованова П.Н.; Авторы: профессор ИКСИ Академии ФСБ РФ, доктор физико- математических наук, профессор Александр Владимирович Бабаш; профессор ИКСИ Академии ФСБ РФ, доктор технических наук, профессор Генрих Петрович Шанкин. Разрешение на открытое опубликование Академии ФСБ РФ от 08.12. 2000
4 Предисловие редакторов Предлагаемое учебное пособие по криптографии содержит достаточно большой фактографический материал, отражающий основные этапы развития шифровального искусства и современной криптографии как отрасли науки. Во введении авторами указана степень математической подготовленности чи- тателя, необходимая для усвоения излагаемого в книге материала. Книга состоит из семи глав. В первой и второй главах дается истори- ческий очерк развития и практического применения криптографических ме- тодов защиты информации. Понятие информации и ее свойства излагаются в третьей главе. Теоретическая и практическая стойкость шифров представлены в четвертой и пятой главах. Математические модели современных криптосХем рассматриваются в шестой главе. В седьмой главе изучаются специальные свойства шифров - имитостойкость и помехоустойчивость, а также сети за- секреченной связи. В целом книга содержит достаточно уравновешенный по глубине про- работки материал по основным проблемам классической криптографии. Вме- сте с тем недостаточно оправданным представляется включение в учебное пособие раздела по стеганографии, не имеющей прямого отношения к крипто- графии. В то же время незаслуженно мало места отведено шифрам с откры- тым ключом. В целом представляется, что книга, несомненно, может быть использована в качестве учебного пособия, предназначенного для студентов, изучающих вопросы информационной безопасности. Наряду с имеющейся учебной лите- ратурой по данному Направлению, это учебное пособие поможет им более уг- лубленно изучить основные вопросы классической криптографии. Книга бу- дет полезна и для широкого круга специалистов, занимающихся разработкой защищенных информационных технологий. Член-корр. АК РФ В.П. Шерстюк, кандидат физ.-мат. наук, доцент Э.А. Применко
5 Предисловие авторов Предлагаемое учебное пособие в первую очередь предназначено для студентов, изучающих дисциИлины по защите информации по про- граммам, утвержденным учебно-методическим объединением вузов России (УМО): 1) по специальности 075500 - «Комплексное обеспечение информаци- онной безопасности», квалификация - специалист по защите информа- ции, ОПД.Ф. 13 - Криптографические методы защиты информации; 2) по специальности 075200 - «Компьютерная безопасность», квалифи- кация - математик, ОПД.Ф. 13 - Криптографические методы защиты информации; 3) по специальности 075600 - «Информационная безопасность теле- коммуникационных систем», квалификация - специалист по защите информации, ОПД.Ф. 03 - Криптографические методы защиты инфор- мации; Пособие направлено на изучение шифров с симметричным клю- чом. В настоящее время по шифрам с открытым ключом имеется мно- го доступной информации. Архитектура пособия двухуровневая. Первый уровень предна- значен для читателей, впервые знакомящихся с учебными материалами по криптографии. Второй уровень - для людей, знакомых с азами крип- тографии. Собственно линия раздела материала достаточно условна, в первую очередь она зависит от математической подготовки читателя. Материал, излагающийся в начальных главах и в начальных царагра- фах этих глав, относится к первому уровню познания классической криптографии. Остальной материал относится ко второму уровню, в частности, параграфы 5.5, 6.7, 6.9, 7.4, 7.5 предназначены для адъюнк- тов и аспирантов. Необходимым условием освоения пособия является знакомство читателя с двухсеместровым курсом теории вероятностей и статистики. Авторы сознательно пошли на отчасти автономное изло- жение материалов глав. Их связывающим началом являются началь- ные параграфы глав 1, 2, 3, содержащие основные понятия криптогра- фии, свойства шифров и открытых текстов. В настоящее время развитие криптографии, и, в частности, ее практические проблемы во многом определяют общее развитие мате-
6 матики. Этот тезис, исповедуемый авторами, определил и методологи- ческий подход к форме подачи материалов пособия. Как правило, каж- дая из обсуждаемых криптографических задач затем формализуется и решается средствами математики. Кроме того, это положение отражено и содержанием параграфов 5.5, 6.7, 6.9, 7.4, 7.5, где в явном виде пока- зано значение результатов математических исследований в крипто- графии, и влияние криптографии на направления развития математики. Собственно, эти параграфы отчасти являются введением в теоретиче- скую криптографию. Большое значение мы придаем обучению студентов методикам численного расчета параметров методов анализа и синтеза шифров. При таком расчете, как правило, акцент делается на предварительный математический расчет (расчет параметров «на уровне средних значе- ний»), Такой подход особенно заметен в параграфе 2.2, где в разнооб- разных вероятностных моделях подсчитывается среднее значение ис- торически известного параметра текста - «индекса совпадения Фрид- мана». Основное внимание в пособии уделено криптоанализу шифров и шифрсистем, что соответсвует направленности пособия - защите ин- формации. Вопросам дешифрования шифров посвящена лишь глава 2. Приведенная литература охватывает более широкий круг криптографи- ческих проблем. Она может быть использована при написании курсо- вых и дипломных работ. Наряду с общей поддержкой коллег по кафедре криптографии ИКСИ многие специалисты, понимая направленность, предназначен- ность готовящегося учебного пособия по криптографии сочли необхо- димым оказать действенную, реальную помощь. Благодарим: вице-президента Академии криптографии Российской Федерации Сач- кова В.Н. (материалы к главе 6); доктора физико-математических наук, профессора, Академика АК Рос- сии Балакина Г.В (материалы к главе 5); доктора физико-математических наук, профессора, Академика АК Рос- сии Нечаева А.А (материалы к главе 6); доктора физико-математических наук, профессора, Академика АК Рос- сии Глухова М.М (материалы к главе 6);
7 профессора кафедры криптографии ИКСИ, доктора физико- математических наук Проскурина Г.В. (материалы к главам 1, 2, 3); доктора физико-математических наук, профессора по кафедре крипто- графия Рязанова Б. А. (материалы к главе 5); доктора физико-математических наук, старшего научного сотрудника Малышева Ф. М (материалы к главе 5); кандидата физико-математических наук, старшего научного сотрудника Фомичева В. М. (материалы к главе 2); кандидата физико-математических наук Максимова К.Н. (материалы к главе 2); Тришина А.Е. (материалы к главе 1). Основой книги служат открытые публикации. Некоторые из них использованы почти дословно. Такие параграфы помечены ссылками на использованную литературу. В этом отношении обилием ссылок вы- деляется пособие Г.В. Проскурина “Принципы и методы защиты инфо- рмации”, Московский государственный институт электроники и мате- матики. Выражаем сожаление о том, что нам не удалось использовать материалы прекрасного учебного пособия “Основы криптографии” ве- дущих специалистов в области криптографии: Алферова А.П., Зубова А.Ю., Кузьмина А.С., Черемушкина А.В. Настоящее пособие посвящается памяти замечательных крипто- графов - математиков Степанова Вадима Евдокимовича и Горчинского Юрия Николаевича. Многие их криптографические идеи и решения сейчас можно встретить рожденными заново в ряде пособий, моногра- фий и научных статей по криптографии. Ряд таких идей лежат в основе и данной книги. С некоторыми работами упомянутых специалистов можно ознакомиться: Степанов В.Е. - журнал «Теория вероятностей и ее применения: 1957, т.2, N1; 1970, т.15, N2; 1972, т.17, N2; 1987, т.32, N4; Горчийский Ю.Н. - Труды по дискретной математике тома 1 (1997), 2 (1998), 3 (2000), далее, предположительно, в томах 4, 5. Авторы с благодарностью примут все предложения и замечания по книге; их следует направлять по адресу: babash@yandex.ru.
8 Горчинский Юрий Николаевич (1929-1999) Горчинский Юрий Николаевич (1929-1999) родился в Хмельницкой области Украины. Полковник в отставке. В 1951 году закончил физико- математический факультет Московского Государственного университета им. М.В. Ломоносова. В 1956 году окончил аспирантуру НТС 8-го Главного управления КГБ при СМ СССР. Доктор физико-математических наук. Про- фессор. С 1951 по 1953 год сотрудник, старший сотрудник 2-го Управления Главного управления Специальной службы при ЦК ВКП(б). С 1953 по 1961 год помощник руководителя группы, старший сотрудник 1 категории, руко- водитель группы отдела 8-го Главного управления при СМ СССР. С 1961 по 1978 год начальник отделения, научный консультант отдела Спецуправления 8-го Главного управления КГБ СССР. С 1978 по 1993 год научный консуль- тант Спецуправления 8-го Главного управления КГБ СССР. В сентябре 1993 года уволен на пенсию по возрасту. С 1993 академик — секретарь отделения математических проблем криптографии Академии Криптографии РФ. Внес большой вклад в подготовку научных и инженерных кадров. Награжден орде- нами «Красная звезда» и «Знак. Почета» и многими медалями. Лауреат госу- дарственной премии за 1975 год. Награжден знаком «Почетный сотрудник госбезопасности».
9 Степанов Вадим Евдокимович (1929 - 1986) Степанов Вадим Евдокимович (1929-1986) родился в городе Днепропетров- ске. В 1951 году окончил МГУ им. М.В.Ломоносова. В 1956 году окончил ас- пирантуру 8-го Главного управления. Доктор физико-математических наук. Профессор. С 1951 по 1953 год работал лаборантом, младшим научным со- трудником НИИ-1 ГУСС, с 1953 по 1959 год руководитель группы, замести- тель начальника отделения, с 1959 по 1966 год старший научный сотрудник 8- го Главного Управления КГБ. С 1966 по 1976 год научный консультант Управления, а с 1976 по 1986 год начальник отдела. Внес большой вклад в подготовку научных и инженерных кадров для Специальной службы. Награ- жден орденом «Красная Звезда» и многими медалями, в .том числе медалью «За боевые заслуги», Почетной грамотой Верховного Совета РСФСР, знаком «Почетный сотрудник госбезопасности». Лауреат Государственной премии СССР посмертно. Полковник.
10 Основные обозначения € - принадлежит; V - для любого; 3 - существует; => - тогда; <=> - тогда и только тогда; |К| - как правило, мощность множества К. В исключительных случаях, абсолютная величина числа К; (а,Ь) - как правило, общий наибольший делитель чисел а, Ь. Иногда вектор с компонентами а, Ь, иногда семейство элементов (а,Ь,...с); [а,Ь] - как правило, наименьшее общее кратное чисел а, Ь. Иногда ин- тервал изменения переменной величины, иногда [ ] - квадратные скобки, иногда целая часть числа; а|Ь - а делит Ь; I* - как правило, множество всех слов в алфавите I. В ряде случаев * используется и в качестве индекса; IL - множество всех слов в алфавите I длины L; F2, GF(2) - Поле из двух элементов; G(F(q)) - поле из q элементов; ХхК - прямое произведение множеств X и К; f: X—>У - отображение, функция; {а,Ь,...,с} - множество;
11 ГЛАВА 1. ИСТОРИЧЕСКИЙ ОЧЕРК РАЗВИТИЯ КРИПТОГРАФИЧЕСКИХ СРЕДСТВ И МЕТОДОВ ЗА- ЩИТЫ ИНФОРМАЦИИ Д. Канн: «... История криптографии ... - это история человечества». Понятие «безопасность»охватывает широкий круг интересов как отдельных лиц, так и целых государств. Во все исторические времена существенное внимание уделя- лось проблеме информационной безопасности, обеспечению защиты конфиденциаль- ной информации от ознакомления с ней конкурирующих групп. Недаром великий психолог Вильям Шекспир в «Короле Лире» изрёк: «Чтоб мысль врага узнать, сердца вскрывают, а не то что письма». Параграф 1.1 Криптографические средства с древнего времени Геродот Существовали три основных способа защиты информации. Первый способ предполагал чисто силовые методы: охрана документа (носителя информации) физическими лицами, его передача специальным курьером и т. д. Второй способ получил название «стеганография» и заключался в сокрытии са- мого факта наличия секретной информации. В этом случае, в частности, использовались так называемые «симпатические чернила». При соответствующем проявлении текст Становился видимым. Один из оригинальных примеров сокрытия информации приведён в трудах древнегреческого историка Геродота. На голове раба, которая брилась наголо, записывалось нужное сообщение. И когда волосы его достаточно отрастали, раба отправляли к адре- сату, который снова брил его голову и считывал полученное сообщение. Идея экзотической защиты секретных текстов (в том числе и с применени- ем симпатических чернил) дошла до наших дней. А. Толстой в известном произведении «Гиперболоид инженера Гарина» описал способ передачи со- общения путем его записи на спине посыльного - мальчика. Во время II Ми-
12 ровой войны таким же образом иногда передавались агентурные сообщения. Секретные послания записывались симпатическими чернилами и на предме- тах нижнего белья, носовых платках, галстуках и т. д. Третий способ защиты информации заключался в преобразовании смы- слового текста в некий хаотический набор знаков (букв алфавита). Получа- тель донесения имел возможность преобразовать его в исходное осмысленное сообщение, если обладал «ключом» к его построению. Этот способ защиты информации называется криптографическим. По утверждению ряда специалистов, криптография по возрасту - ровесник египетских пирамид. В документах древних цивилизаций - Индии, Египта, Месопотамии - есть сведения о системах и способах составления шифрован- ных писем. 1 ШИФР Гая Юлия Цезаря \ В криптографии древних времен использовались два вида шифров: замена и перестановка. Историческим примером шифра замены является шифр Цезаря (I век до н. э.), описанный историком Древнего Рима Светонием. Гай Юлий Цезарь ис- пользовал в своей переписке шифр собственного изобретения. Применитель- но к современному русскому языку он состоял в следующем. Выписывался алфавит: А, Б, В, Г, Д, Е,...; затем под ним выписывался тот же алфавит, но с циклическим сдвигом на 3 буквы влево: АБВГДЕЁ^К^ИЙКЛМНОПРСТУФХЦЧШЩЫЪЬЭЮЯ ГДЕЁЖЗИЙКЛ МНОП Р С Т У Ф X Ц ЧШ Щ ЫЪ Ь ЭЮЯАБВ При зашифровании буква А заменялась буквой Г, Б заменялась на Д, В - Е и так далее. Так, напри- мер, слово «РИМ» превращалось в слово «УЛП». Получатель сообщения «УЛП» искал эти буквы в нижней строке и по буквам над ними восстанавливал исходное слово «РИМ». Ключом в шифре Цезаря является величина сдвига 2-й нижней строки алфавита. Преемник Юлия Цезаря - Цезарь Август использовал тот же шифр, но с ключом - сдвиг 1. Слово «РИМ» он в этом случае зашифровал бы в буквосочетание «СЙН» Гай Юлий Цезарь
13 Естественное развитие шифра Цезаря очевидно: нижняя строка двух- строчной записи букв алфавита может быть с произвольным расположением этих букв. Если в алфавитном расположении букв в нижней строке существу- ет*всего 33 варианта ключей (число букв в русском алфавите), то при их про- извольном расположении число ключей становится огромным. Оно равно 33! (33 факториал), т.е. приблизительно десять в тридцать пятой степени. Этот момент очень важен. Если противник догадался или получил сведе- ния об используемом шифре (а шифры используются длительное время), то он может попробовать перебрать все варианты возможных секретных ключей при дешифровании перехваченной криптограммы. В современных условиях такой перебор в шифре Цезаря доступен ученику 5-6 классов средней школы. Но перебор 33! вариантов ключей занял бы даже при ис- пользовании современных ЭВМ столетия. Едва ли найдется дешифро- вальщик, который даже в наши дни выбрал бы этот путь дешифрования. Однако во времена Цезаря, когда царила всеобщая неграмотность населе- ния, сама возможность увидеть осмысленное сообщение за «абракадаб- рой», даже составленной из знакомых букв, казалась неосуществимой. Во всяком случае, древнеримский историк Светоний не приводит фактов дешифрования переписки Цезаря. Напомним, что сам Цезарь всю жизнь ис- пользовал один и тот же ключ (сдвиг - 3). Этим шифром он пользовался, в частности, для обмена посланиями с Цицероном. В художественной литературе классическим примером шифра замены является известный шифр «Пляшущие человечки» (К. Дойля). В нём буквы текста заменялись на символические фигур- ки людей. Ключом такого шифра являлись позы человечков, заменяющих буквы. Цицерон
14 Фрагмент шифрованного послания имел следующий вид: Соответствующий открытый текст: «Гт here Abe Slaney» («Я здесь Аб Слени»), Использован шифр простой замены букв на фигурки людей; флажок в руках означает конец слова. ШИФР перестановки Приведем пример второго исторического шифра - шифра перестановки. Выберем целое положительное число, скажем, 5; расположим числа от 1 до 5 в двухстрочной записи, в которой вторая строка - произвольная перестановка чисел верхней строки: 1 2 3 4 5 3 2 5 1 4 Эта конструкция носит название подстановки, а число 5 называется ее степенью. Зашифруем фразу «СВЯЩЕННАЯ РИМСКАЯ ИМПЕРИЯ». В этой фразе 23 буквы. Дополним её двумя произвольными буквами (например, Ь, Э) до ближайшего числа, кратного 5, то есть 25. Выпишем эту дополненную фразу без пропусков, одновременно разбив её на пятизначные группы: СВЯЩЕ ННАЯР ИМСКА ЯИМПЕ РИЯЬЭ Буквы каждой группы переставим в соответствии с указанной двухётроч- ной записью по следующему правилу: первая буква встаёт на третье место, вторая - на второе, третья - на пятое, четвёртая - на первое и пятая - на чет- вёртое. Полученный текст выписывается без пропусков: ЩВСЕЯЯННРАКМИАСПИЯЕМЬИРЭЯ При расшифровании текст разбивается на группы по 5 букв и буквы пере- ставляются в обратном порядке: 1 на 4 место, 2 на 2, 3 на 1,4 на 5 и 5 на 3. Ключом шифра является выбранное число 5 и порядок расположения чисел в нижнем ряду двухстрочной записи.
15 ПРИБОР Считала Прибор Сцитала. Упрощенное современное изобрете- ние нХо\в?о 16 \ OifliS'H Й|Е ' М I ff I a”; a e'i а * Одним из первых физических приборов, реализующих шифр перестанов- ки, является так называемый прибор Сцитала. Он был изобретён в древней «варварской» Спарте во времена Ликурга (V в. до н. э.). Рим быстро восполь- зовался этим прибором. Для зашифрования текста использовался цилиндр за- ранее обусловленного диаметра. На цилиндр наматывался тонкий ремень из пергамента, и текст выписывался построчно по образующей цилиндра (вдоль его оси). Затем ремень сматывался и отправлялся получателю сообщения. По- следний наматывал его на цилиндр того же диаметра и читал текст по оси ци- линдра. В этом примере ключом шифра являлся диаметр цилиндра и его дли- на, которые, по существу, порождают двухстрочную запись, аналогичную указанной выше. Шифр «Сцитала» реализует один из вариантов так называемого сегодня «шифра маршрутной перестановки». Смысл этого шифра заключается в сле- дующем. Открытый текст выписывается в прямоугольную таблицу из п строк и m столбцов. Предполагается, что длина текста t < n-m (в противном случае ос- тавшийся участок текста шифруется отдельно по тому же шифру). Если t строго меньше n-m , то оставшиеся пустые клетки заполняются произвольным набором букв алфавита. Шифртекст выписывается по этой таблице по заранее оговоренному «маршруту» - пути, проходящему по одному разу через все клетки таблицы. Ключом шифра являются числа n, m и указанный маршрут. В такой трактовке шифр «Сцитала» приобретает следующий вид. Пусть m - количество витков ремня на цилиндре, п - количество букв, расположен- ных на одном витке. Тогда открытый текст, выписанный построчно в указан- ную таблицу, шифруется путем последовательного считывания букв по столбцам. Поскольку маршрут известен и не меняется, то ключом шифра яв- ляются числа m и пт, определяемые диаметром цилиндра и длиной ремешка. При перехвате сообщения (ремешка) единственным секретным ключом явля- ется диаметр.
16 Изобретение дешифровального устройства - «Антисцитала» - приписыва- ется великому Аристотелю. Он предложил использовать конусообразное «ко- пьё», на которое наматывался перехваченный ремень; этот ремень передви- гался по оси до того положения, пока не появлялся осмысленный текст. Были и другие способы защиты информации, разработанные в античные времена. ДИСК Энея Одно из первых исторических имен, которое упоминается в связи с криптографией, это имя Энея - легендарного полководца, защитника Трои, друга богатыря Гектора. Гомер в «Илиаде» (VIII век до н. э.) указывает, что Эней был сыном богини Афродиты и смертного человека. В битве под Троей Эней был тяжело ранен, и мать, спасая сына, также получила ранение. Пови- нуясь долгу чести, Эней вступил в поединок с Геркулесом (Гераклом), хотя . отлично понимал безнадежность этого поединка для себя. На этот раз его спас от смерти союзник троянцев морской бог Посейдон. Гомер дает следующую характеристику Гектору и Энею: Гектор, Эней! На вас, воеводы, лежит наипаче Бремя забот о народе троянском; отличны вы оба В каждом намерении вашем, сражаться ли нужно, иль мыслить. Согласно преданиям, Эней был посвящен в древнегреческую Мистерию. При посвящении он спускался в ад; гарпии предсказали ему падение Трои. В области тайнописи Энею принадлежат два изобретения. Первое из них - так называемый «диск Энея». Его принцип был прос^. На диске диаметром 10-15 см и толщиной 1-2 см высверливались отвер- стия по числу букв алфавита. В центре диска помещалась «катушка» с намо- танной на ней ниткой достаточной длины. При зашифровании нитка «вытяги- валась» с катушки и последовательно протягивалась через отверстия в соот- ветствии с буквами шифруемого текста. Диск и являлся посланием. Получа- тель послания последовательно вытягивал нитку из отверстий, что позволяло ему получать передаваемое сообщение, но в обратном порядке следования букв. При перехвате диска недоброжелатель имел возможность прочитать со- общение тем же образом, что и получатель. Но Эней предусмотрел возмож- ность лёгкого уничтожения передаваемого сообщения при угрозе захвата дис- ка. Для этого было достаточно выдернуть «катушку» с закреплённым на ней концом нити до полного выхода всей нити из отверстий диска.
17 ЛИНЕЙКА Энея Идея Энея была использована в создании и других оригинальных шифров замены. Например, в одном из вариантов вместо диска использовалась линейка с числом отверстий, равных количеству букв алфавита. Каждое отверстие обозначалось своей буквой; буквы по отверстиям располагались в произвольном порядке. К линейке была прикреплена катушка с намотанной на неё ниткой. Рядом с катушкой имелась прорезь. При шифровании нить протягивалась через прорезь, а затем через отверстие, соответствующее первой букве шифруемого текста, при этом на нити завязы- вался узелок в месте прохождения её через отверстие; затем нить возвращалась в прорезь и аналогично зашифровывалась вторая буква текста Инициация в Мистерию. Эней в аду ИТ. д. После окончания шифрования нить извлекалась и передавалась по- лучателю сообщения. Тот, имея идентичную линейку, протягивал нить через прорези отверстий, опре- деляемых узлами, и восстанавливал исходный текст по буквам отверстий. Это устройство получило название «линейка Энея». Шифр, реализуемый линейкой Энея, является одним из примеров шифра замены: в нем бук- вы заменяются на расстояния между узелками на нитке. Ключом шифра являлся порядок расположения букв по отверстиям в линейке. Посторон- ний, получивший нить (даже имея линейку, но без нанесённых букв), не сможет прочитать передаваемое со- общение. Жрица мистерий
18 УЗЕЛКОВОЕ письмо Аналогичное «линейке Энея» так называемое «узелковое письмо» («ки- пу») получило распространение у индейцев Центральной Америки. Свои со- общения они также передавали в виде нитки, на которой завязывались разно- цветные узелки, определявшие содержание сообщения. КНИЖНЫЙ шифр Заметным вкладом Энея в криптографию является предложенный им так называемый книжный шифр, описанный в сочинении «Об обороне укреплён- ' ных мест». Эней предложил прокалывать малозаметные дырки в книге или в другом документе над буквами секретного сообщения. Интересно отметить, что в первой мировой войне германские шпионы использовали аналогичный шифр, заменив дырки на точки, наносимые симпатическими чернилами на буквы газетного текста. Книжный шифр в современном его виде ймеет несколько иной вид. Суть этого шифра состоит в замене букв на номер строки и номер этой буквы в строке в заранее оговоренной странице некоторой книги. Ключом такого шифра является книга и используемая страница в ней. Этот шифр оказался «долгожителем» и применялся даже во времена второй мировой войны. КВАДРАТ Полибия Ещё одно изобретение древних греков - так называемый квадрат Поли- бия, (Полибий - греческий государственный деятель, полководец, историк, III век до н. э.). Применительно к современному латинскому алфавиту из 26 букв шифрование по этому квадрату заключалось в следующем. В квадрат разме- ром 5x5 клеток выписываются все буквы алфавита, при этом буквы I, J не различаются (J отождествляется с буквой I): А . в с D Е А А в с D Е В. F G н I к с L м N О р D Q R S т и Е V W X Y Z Шифруемая буква заменялась на координаты квадрата, в котором она за- писана. Так, В заменялась на АВ, F на В A, R на DB и т. д. При расшифрова-
19 нии каждая такая пара определяла соответствующую букву сообщения. Заме- тим, что секретом в данном случае является сам способ замены букв. Ключ в этой системе отсутствует, поскольку используется фиксированный алфавит- ный порядок следования букв. Усложненный вариант шифра Полибия заключается в записи букв в квад- рат в произвольном (неалфавитном) порядке. Этот произвольный порядок яв- ляется ключом. Здесь, однако, появилось и некоторое неудобство. Произвольный порядок букв трудно запомнить, поэтому пользователю шифра было необходимо по- стоянно иметь при себе ключ - квадрат. Появилась опасность тайного озна- комления с ключом посторонних лиц. В качестве компромиссного решения был предложен ключ - пароль. Легко запоминаемый пароль выписывался без повторов букв в квадрат; в оставшиеся клетки в алфавитном порядке выписы- вались буквы алфавита, отсутствующие в пароле. Например, пусть паролем является слово «THE TABLE». Тогда квадрат имеет следующий вид: т Н Е А В L С D F G I К М N О Р Q R S и V W X Y Z Такой квадрат уже не нужно иметь при себе. Достаточно запомнить ключ - пароль. Заметим кстати, что таким же образом можно запомнить поря- док расположения букв при использовании «линейки Энея», а также шифра обобщенной замены Ю. Цезаря (при произвольном расположении букв в нижней строке). Интересное усиление шифра Полибия было предложено од- ним криптографом-любителем уже в XIX веке. Смысл этого усложнения по- ясним на примере. Пусть имеется следующий квадрат Полибия: 1 2 3 4 5 1 Е / К т L В 2 Н I,j’ А D и 3 М S G С V 4 F р Q R W 5 О Y X Z N Зашифруем по нему слово «THE APPLE». Получим шифрованный текст: 13.21.11.23.42.42.14.11. (*)
20 На этом историческое шифрование по Полибию заканчивалось. Это был шифр простой замены типа шифра Цезаря, в котором каждая буква открытого текста заменялась на некоторое двухзначное десятичное число, и эта замена не менялась по всему тексту. Количество ключей этого шифра равно 25! . Усложненный вариант заключается в следующем. Полученный первичный шифртекст (*) шифруется вторично. При этом он выписывается без разбие- ния на пары: 1321112342421411 (**) Полученная последовательность цифр сдвигается циклически влево на один шаг: 3211123424214111 Эта последовательность вновь разбивается в группы по два: 32Л1.12.34.24.21.41.11. и по таблице заменяется на окончательный шифртекст: SEKCDHFE (***) Количество ключей в этом шифре остается тем же (25!), но он уже значи- тельно более стоек. Заметим, что этот шифр уже не является шифром простой замены (буква Е открытого текста переходит в различные буквы: К, Е; буква Р - в буквы D, Н). Был подмечен и негативный момент. Если в шифре простой замены шиф- ртекст будет написан с одной ошибкой (например, в тексте (*) вместо четвер- той буквы 23 будет написано 32), то расшифрованный текст будет содержать лишь одну ошибку: THE SPPLE, что легко исправляется получателем сооб- щения. Если же в тексте (***) будет искажена четвертая буква (буква С заменена, например, на К), то в расшифрованном тексте будет уже два искажения: THE HIPLE, что уже затрудняет восстановление исходного сообщения. Аналогич- но обстоит дело с ошибками вида «пропуск букв». Пусть в тексте (***) про- пущена буква С. Шифртекст примет вид: SEKDHFE, или 32.11.12.24.21.41.11. После расшифрований получим: THE IPLE, то есть наряду с пропуском буквы в расшифрованном тексте имеется и искажение другой буквы. При пропуске в (***) первой буквы при расшифровании получим: ЕЕ APPLE. ШИФР Чейза В середине XIX века американец П. Э. Чейз предложил следующую мо- дификацию шифра Полибия. Выписывается прямоугольник размера 3x10; буквы латинского алфавита дополняются знаком @ и греческими буквами X, <о <р:
21 12-34 IX и A C 2 В Y F M 3 D К S V 5 6 7 8 О N Z L @ E G J H R W T 9 0 P (p Q co I X Ключом шифра является порядок расположения букв в таблице. При шифровании координаты букв выписываются вертикально. Например, слово PHILIP приобретает вид: 133131 9 5 9 8 9 9 (*) • Чейз предложил ввести еще один ключ: заранее оговоренное правило пре- образования нижнего ряда цифр. Например, число, определяемое этим рядом, умножается на 9: 959899x9=8639091 получаем новую двухстрочную запись: 13 3 13 1 8 6 3 9 0 9 1 Эта двухстрочная запись вновь переводится в буквы согласно таблице; при этом первое число (8) нижнего ряда определяет букву первой строки. Шифртекст приобретает следующий вид: L N S I <р IX (♦*) Могут быть использованы и другие преобразования координат. Этот шифр значительно сильнее шифра Полибия; он уже не является шифром простой замены. При расшифровании полученная последовательность (**) переводится в двухстрочную запись: (1) 13 3 13 1 8 6 3 9 0 9 1 Нижний ряд делится на 9: 8639091:9 = 9598 9 9, образуется двухстрочная запись (*) и по ней согласно таблице читается от-' крытый текст. Однако предложение Чейза не нашло поддержки. Причины: заметное ус- ложнение процесса шифрования - расшифрования, а также особая чувстви- тельность шифра к ошибкам (искажениям в шифртексте). В этом читатель сможет убедиться самостоятельно. Кроме того, использование в качестве ключа любого числа (кроме 9) может порождать недоразумения как при шиф- ровании, так и при расшифровании.
22 ТЮРЕМНЫЙ шифр Интересно отметить, что в несколько изменённом виде шифр Полибия дошёл до наших дней и получил своеобразное название «тюремный шифр». Для его использования нужно только знать естественный порядок расположе- ния букв алфавита (как в указанном выше примере квадрата Полибия для анг- лийского языка). Стороны квадрата обозначаются не буквами (ABCDE), а числами (12345). Число 3, например, передаётся путём тройного стука. При передаче буквы сначала «отстукивается» число, соответствующее строке, в которой находится буква, а затем номер соответствующего столбца. Напри- мер, буква «F» передаётся двойным стуком (вторая строка) и затем одинар- ным (первый столбец). С применением этого шифра связаны некоторые исторические казусы. Так, декабристы, посаженные в тюрьму после неудавшегося восстания, не смогли установить связь с находившимся в «одиночке» князем Одоевским. Оказалось, что князь (хорошо образованный по тем временам человек) не помнил естественного порядка расположения букв в русском и французском алфавитах (другими языками он не владел). Декабристы для русского алфави- та использовали прямоугольник размера 5x6 (5 строк и 6 столбцов) и редуци- рованный до 30 букв алфавит. «Тюремный шифр», строго говоря, не шифр, а способ перекодировки со- общения с целью его приведения к виду, удобному для передачи по каналу связи (через стенку). Дело в том, что в таблице использовался естественный порядок расположения букв алфавита. Так что секретом является сам шифр (а не ключ), как у Полибия. МАГИЧЕСКИЕ квадраты Во времена средневековья европейская криптография приобрела сомни- тельную славу, отголоски которой слышатся и в наши дни. Криптографию стали отождествлять с черной магией, с некоторой формой оккультизма, аст- рологией, алхимией, еврейской каббалой. К шифрованию информации призы- вались мистические силы. Так, например, рекомендовалось использовать «ма- гические квадраты». В квадрат размером 4 на 4 (размеры могли быть и другими) вписывались числа от 1 до 16. Его магия состояла в том, что сумма чисел по строкам, столбцам и полным диагоналям равнялась одному и тому же числу - 34.
23 Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила». Приведем пример: 16 3 2 13 5 10 11 8 1 9 6 7 12 4 15 14 1 Шифрование по магическому квадрату производилось следующим обра- зом. Например, требуется зашифровать фразу: «Приезжаю сегодня». Буквы этой фразы вписываются последовательно в квадрат согласно записанным в них числам, а в пустые клетки ставятся произвольные буквы. 16У ЗИ 2Р 13Д 53 10Е иг 8Ю 9С 6Ж * 7А 120 4Е 15Я 14Н 1П После этого шифрованный текст записывается в строку: УИРДЗЕГЮСЖАОЕЯНП При расшифровывании текст вписывается в квадрат и открытый текст чи- тается в последовательности чисел «магического квадрата». Данный шифр - обычный шифр перестановки, но считалось, что особую стойкость ему прида- ет волшебство «магического квадрата». ИСТОРИЧЕСКИЕ КНИГИ по криптографии В арабском мире в древние времена была создана одна из самых развитых цивилизаций. Процветала наука, арабская медицина и математика стали ве- дущими в мире. Естественно, что и наилучшие условия для развития крипто- графии появились именно здесь. Одно из основных понятий криптографии - шифр - имеет корни в арабском слове «цифра». Некоторые историки даже считают, что криптография как наука зародилась именно в арабском мире. В арабских книгах впервые были описаны содержательные методы криптоана-
24 лиза (дешифрования). Тайнопись и ее значение упоминается в сказках «Тысяча и одна ночь». Одна из первых крупных книг, в которой содержательно описывается криптография - это труд, созданный Абу Вакр Ахмед бен Али бен Вахшия ан-Набати - «Книга о большом стремлении человека разгадать загадки древней письменности». В ней описано несколько систем шифров. В 1412 году Шехаб аль Кашканди напйсал 14-ти томную энциклопедию «Шауба аль Аша». В этой работе имеется раздел о криптографии «Относительно сокрытия в буквах тайных сообщений». Сцена из арабской жизни, XV век. Мухаммед при осаде крепости В нем дано систематическое описание различных шифров замены и переста- новки. Здесь же приводится и криптоанализ этих шифров на основе подсчета частотности букв в арабском языке по тексту Корана; развиваются методы' дешифрования, базирующиеся на разночастотности букв. В работе Кашканди предлагается семь систем шифрования (повторяющих неопубликованные идеи его предшественника Ибн ад-Дурахийма): - одна буква может заменять другую; - можно писать слово в обратном порядке, например, слово «Мухаммед» (МХМД - в арабском алфавите, состоящем из согласных) примет вид ДМХМ; - можно переставлять в обратном порядке чередующиеся буквы слов; - заменять буквы на цифры в соответствии с принятой заменой арабских букв на числа. Тогда слово «Мухаммед» превращается в 40+8+40+4 (М=40, Х=8, Д=4). При этом криптограмма выглядит как перечень каких-то цифр; - можно заменять каждую букву открытого текста на две арабские буквы, которые используются и в качестве чисел, и сумма которых равна цифровой величине шифруемой буквы открытого текста; + 5 - г:'-'"'-' ’ W J ; » e f J S’ J - можно заменять каждую букву именем какого-либо человека; - при шифровании можно использовать словарь замены, описывающий положения луны, названия стран (в определенном порядке), названия фруктов, деревьев ит. д. Арабский «давидовский» шифр замены ® этой же книге Кашканди пишет о частотном методе дешифрования
25 шифра простой замены: «Если вы хотите разгадать сообщение, которое вы получили в зашифрованном виде, то прежде всего начинайте подсчет букв, а затем сосчитайте, сколько раз повторяется каждый знак, и подведите итог в каждом отдельном случае...». Арабы первыми обратили внимание на возможность использования стан- дартных слов и выражений для дешифрования. Так, первый широко извест- ный среди арабов филолог восьмого века Абу аль-Ахмади, дешифровав крип- тограмму на греческом языке, которую переслал ему византийский император с просьбой о дешифровании, так объяснил свой метод: «Я сказал себе, что письмо должно начинаться со слов «Во имя Бога» или как-нибудь в этом роде. Итак, я составил на основе этого первые буквы, и все оказалось правильным». На основе открытого им метода дешифрования он написал книгу «Китаб аль- Маумма» («Книга тайного языка»). Однако в последующем столетии криптография у арабов деградировала. В 1600 году марокканский султан Ахмед аль-Мансур направил английской ко- ролеве Елизавете посла с целью заключения союза против Испании. Посол отправил султану зашифрованную депешу, которая попала в руки к арабам. Ее дешифрование длилось 15 лет, и в связи с успешным завершением работы арабы воздали хвалу Аллаху. Ибн ад-Дурахийм решил бы эту загадку за не- сколько часов. Выдающийся арабский ученый и философ XI-XII веков, поэт Омар Хайям в своих произведениях нередко обращался к тайнописи. Вот одно из его про- изведений («Рубаи»): Все что видишь ты, - видимость только одна, Только форма - а суть никому не видна. Смысл этих картинок понять не пытайся - Сядь спокойно в сторонке и выпей вина! Здесь Хайям весьма пессимистично относится к попыткам проникнуть в тайный смысл сообщений, скрывающийся за внешней формой их представле- ния. Его современники - криптографы были настроены оптимистичнее. В XIV-XV веках клерк тайной канцелярии папской курии Чикко Симо- нетта написал книгу о тайнописи. В ней он изложил усовершенствованные шифры замены, в том числе и шифр многозначной замены, в котором одной и той же букве (гласной) соответствует несколько шифробозначений. Симонет- та обслуживал герцогов Сфорца, олигархов Милана, дешифруя для них пере- хваченные депеши. Он разработал 13 правил дешифрования шифров простой замены, которые изложил в рукописи на трех кусках пергамента. Секретарь антипапы Клемёнтия VII Габриель де Лавинда в XV веке напи-
26 сал «Трактат о шифрах» (первый европейский учебник по криптографии), в котором изложил метод дешифрования шифров замены, основанный на под- счете частот букв, и описал шифры пропорциональной замены. В последнем шифре буквам алфавита ставилось в соответствие несколько шифробозначе- ний, причем их количество было пропорционально частоте появления буквы в текстах итальянского языка. Первый из известных в Европе шифров омофонной (многознаковой) замены. Италия, 1401 г. Наиболее крупного успеха в развитии криптографии в то время достиг Ле- он Альберти, человек универсального таланта, архитектор и математик. В 1466 году он представил в папскую канцелярию трактат о шифрах, написан- ный по заказу папы римского, в котором провел анализ частот букв, исследо- вал шифры замены и перестановки, затронул вопросы стойкости шифров. За- меченная Альберти разночастотность появления букв в осмысленных текстах дала толчок изучению синтаксических свойств письменных сообщений. При этом основное внимание обращалось на наиболее часто встречающиеся бук- вы. В русском языке первые десять наиболее частых букв породили несколько неудобное для чтения слово «сеновалитр» (внутри этого слова частотные «приоритеты» букв не соблюдаются). В английском языке из частых букв со- ставлена фраза «а sin to егг» («грех ошибаться») В итальянском языке среди наиболее частых букв встречаются в подавляющем большинстве гласные бук- вы. Не в этом ли секрет «певучести» итальянского языка? Полное же упорядочение букв литературного русского языка в порядке убывания частот их появления в текстах имеет следующий вид: О,Е (Ё),А,И (Й),Т,Н,С,Р,В,Л,М, Ь,Д,П,У,Я,Ы,3,Ъ,Б,Г,Ч,К,Х,Ж,Ю,Ш,Ц,Щ,Э,Ф ШИФР Аве Мария В XV веке аббат Тритемий (Германия) сделал два новаторских предложения в области криптографии: он предложил шифр «Аве Мария» и шифр, построенный на
27 основе периодически сдвигаемого ключа. Шифр «Аве Мария» основан на принципе замены букв шифруемого текста на заранее оговоренные слова. Из этих сообщений составлялось внешне «не- винное» сообщение. Приведем пример. Заменим буквы Е, Н, Т на следующие слова: Е = «ЗЕЛЕНЫЙ», «ЖДУ», «МОЙ»; Н = «И», «Я», «ЗДЕСЬ»; Т = «ДОМА», «ВЕЧЕРОМ», «ОКОЛО», «КЛЮЧ» Фауст заклинает Мефистофеля Тогда отрицательный секретный ответ «нет» на заданный вопрос может иметь несколько «невинных» вариантов: «Я жду дома», «Я жду вечером», «Здесь мой ключ». а Ж5еив b Creator с Condito? D jDpffex е jEsommus f Sominato? g jEonfblato? b arbiter a element b clemeHttTHmus c plus о piiflimus e magnus f excelfus g mjntm» b optimus Первая страница шифра Тритемия «Аве Мария»
28 ТАБЛИЦА Тритемия Наиболее серьезное предложение Тритемия по защите информации, до- шедшее до наших дней, заключается в придуманной им таблице - «таблице Тритемия». Приведем эквивалент для английского алфавита: ABCDEFGHIJKLMNOPQRSTUVWXYZ BCDEFGHIJKLMNOPQRSTUVWXYZA CDEFGHIJKLMNOPQRSTU VWXYZ АВ DEFGHIJKLMNOPQRSTUVWXYZABC EFGHIJKLMNOPQRSTUVWXYZABCD FGHIJKLMNOPQRSTUVWXYZABCDE GHIJKLMNOPQRSTUVWXYZABCDEF . HIJKLMNOPQRSTUVWXYZABCDEFG IJKLMNOPQRSTUVWXYZABCDEFGH JKLMNOPQRSTUVWXYZABCDEFGHI KLMNOPQRSTUVWXYZABCDEFGHIJ LMNOPQRSTUVWXYZABCDEFGHI JK MNOPQRSTUVWXYZABCDEFGHIJKL NOPQR.STUVWX YZABCDEFGHI J KLM OPQRSTUVWXYZABCDEFGHIJKLMN PQRSTUVWXYZABCDEFGHIJ KLMNO QRSTUVWXYZABCDEFGHIJKLMNOP RSTUVWXYZABCDEFGHIJKLMNOPQ STUVWXYZABCDEFGHIJKLMNOPQR TUVWXYZABCDEFGHIJKLMN OPQRS UV WXYZABCDEFGHI JKLMNO PQRST VWXYZABCDEFGHIJKLMNOPQRSTU WXYZABCDEFGHIJKLMNOPQ RSTUV XYZABCDEFGHIJKLMNOPQR S TUVW YZABCDEFGHIJKLMNOPQRS TUVWX ZABCDEFGHIJKLMNOPQRSTUVWXY Здесь первая строка является одновременно и строкой букв открытого текста. Первая буква текста шифруется по первой строке, вторая буква по второй и так далее после использования последней строки вновь возвращаются к первой. Так слово «fight» (борьба) приобретает вид «fjikx». Реализация таблицы Тритемия не требовала использования каких-либо механических приспособлений; шифралфавит с каждым шагом шифрования сдвигается на единицу влево. Однако в первоначальном варианте в шифре
29 Тритемия отсутствовал ключ. Секретом являлся сам способ шифрования. В дальнейшем усложнения шифра пошли по двум путям: - введение произвольного порядка расположения букв исходного алфавита шифрованного текста вместо лексикографически упорядоченного алфавита; - применение усложненного порядка выбора строк таблицы при шифровании. Эти усложнения позволили применять ключевые множества значительно- го объема. Отметим, что шифр простой замены является вырожденным случа- ем шифра Тритемия: в нем все буквы шифруются по одной и той же строке таблицы. ШИФР Белазо Следующий шаг в развитии предложенного Тритемием способа шифрова- ния был сделан итальянцем Жованом Белазо. В 1553 году выходит в свет его брошюра «Шифр синьора Белазо». В этом шифре ключом являлся так назы- ваемый пароль - Легко запоминаемая фраза или слово. Пароль записывался периодически над буквами открытого текста. Буква пароля, стоящая над соот- ветствующей буквой открытого текста, указывала номер строки в таблице Тритемия, по которой следует проводить замену (шифрование) этой буквы. Так, если паролем является слово ROI, то при зашифровании слова FIGHT получаем WWOYH. Аналогичные идеи шифрования используются и сегодня. Изобретение книгопечатания Иоганном Гуттенбергом (1440, Германия, г. Майнц) заметно повысило грамотность населения. Оживилась переписка, возрос объем обмена секретной информацией. С другой стороны, доступные всем книги сами по себе породили «книжные» шифры, используемые и в на- стоящее время. КНИЖНЫЙ шифр Существует немало способов использования книги для тайного обмена сообщениями. Например, если адресаты заранее договорились между собой об использовании дубликатов одной и той же книги в качестве ключа шифра, то их тайные послания могли бы состоять из таких элементарных единиц: n/m/t, где п - номер страницу книги, m - номер строки, t - номер буквы в строке; по этим буквам и читается тайное послание. Наряду с нумерацией букв могут использоваться обозначения слов и даже целых фраз.
30 ФРЕНСИС Бэкон о шифрах Крупнейший английский философ и ученый XVII века лорд-канцлер Френсис Бэкон уделял серьезное внимание шифрам. Он выдвинул главные требования к ним: «Они не должны поддаваться дешифрованию, не должны требовать много времени для написания и чтения, и не должны возбуждать никаких подозрений». Эти требования сохраняются и сегодня. Он также предложил оригинальную идею стеганографической защиты информации, опи- рающуюся, по существу, на двоичное кодирование букв алфавита и использование в открытом тексте двух мало отличающихся шрифтов. Двоичное кодирование, изобретенное Ф. Бэконом, по существу является современным кодированием в двоичном алфавите. Вместо алфавита {0,1} он использовал алфавит {а,Ь}. Код имел вид: А=ааааа - код 0, В=ааааЬ - код 1, С= aaaba - код 2, D=aaabb - код 3-ки, E=aabaa - код 4-ки и т.д. Слово FUGE («бегите») кодировалось по буквам: F=5=aabab, U=19=baabb, G=6=aabba, E=4=aabaa. Кодированный текст имел вид aabab baabb baabb aabaa Для зашифрования слова FUGE использовалось произвольное невинное со- общение, например, Manere te volo donee venero («оставайтесь до моего прихода») и два алфавита А и В с близкими по начертанию буквами. Содержательном сообщение и ко- дированный текст Ma n е re te vol odoneevenero аа b a bb аа bbb aabbaabaa преобразовывались в то же содержательное сообщение, записанное в смешан- ном алфавите, именно, буквы М,а записывались в алфавите А, п - в алффвитё В, е - в А, г,е - в В и т.д. Френсис Бэкон предупреждал о возможных негативных последствиях ошибок в использовании даже весьма надежных шифров. Он писал: «В ре- зультате неловкости и не искусности тех рук, через которые проходят вели- чайшие секреты, эти секреты во многих случаях оказывались облеченными слабейшими шифрами». Другими словами, даже сильный шифр в плохих ру- ках не обеспечивает надежной защиты секретов. Надежность шифра заюпоча- ется не только в самом шифре, но и в руках его пользователя. Последующие века подтвердили этот тезис. Даже в XX веке ошибки в использовании шиф- ров сводили «на нет» все усилия по защите информации. По справедливому замечанию Д. Кана «ошибка шифровальщика порой является единственной надеждой криптоаналитика».
31 а aAz//* ла- f Rda 6 fca-w faa. t& -poto £iw fam' Пример употребления двухшрифтового шифра Ф. Бэкона. Открытый текст «Fuge» («Бегите» скрыт маскироввочным двухшрифтовым текстом, «Мапеге te volo donee venero» (“Оставайтесь до моего прихода”). Пример принадлежит само- му Ф. Бэкону Интерес к криптографии про- явили и представители высшей знати. Так, в XVII веке Август И, герцог Ганновера, под псевдонимом Густав Селен опуб- ликовал свою книгу «Секретные сообщения и криптография». Правда, в этой книге пересказывались уже известные идеи (в первую очередь - Три- темия). Большое внимание уделялось связи криптографии с оккультизмом. Не только государственные деятели, но и различные тайные общества использовали секретные шифры. Философ ордена Розенкрейцеров. Ф. Бэкон был членом этого ордена ШИФРЫ вольных каменщиков Вспомним шифр «Братства Франкмасонов», или «Вольных каменщиков», который они использовали для общения между собой. По современным поня- тиям и вопреки расхожему мнению он совершенно не стоек, но представляет определенный интерес. Приведем небольшой пример (применительно к анг- лийскому языку). Нарисуем три фигуры следующего вида:
32 А: В: С: J. к. L. S Т и D: Е: F: м. N. О. V W X G: Н: I: Р. Q- R. Y Z В соответствии с этими фигурами буквы получают следующее геометри- ческое представление: А= : | , В= . [J , С= | : , J= . | , R= | . , S= _| и т. д. Фраза «We talk about» при зашифровании принимает вид: □ □Ld^JL-dLdCLLJ Геометрическое представление может меняться, например: Тогда А= и т. д. Интересно, что при походе на Россию Наполеон использовал в низших звень- { ях своей связи подобные шифры. Они были раскрыты русскими специалистами, i что оказало определенное влияние на ход боевых действий. *
33 ДИСК Альберти Итальянец Альберти (XVI в.) впервые вы- двинул идею «двойного шифрования» - текст, полученный в результате первого шифрования, подвергался повторному зашифрованию. В трактате Альберти был приведен и его собст- венный шифр, который он назвал «шифром, достойным королей». Он утверждал, что этот шифр недешифруем. Реализация шифра осу- ществлялась с помощью шифровального диска, положившего начало целой серии многоалфа- витных шифров. Устройство представляло собой пару дисков - внешний, не- подвижный {на нем были нанесены буквы в естественном порядке и цифры от 1 до 4) и внутренний - подвижный - на нем буквы были переставлены. Про- цесс шифрования заключался в нахождении буквы открытого текста на внеш- нем диске и замену ее на соответствующую (стоящей под ней) букву шифро- ванного текста. После шифрования нескольких слов внутренний диск сдви- гался на один шаг. Ключом данного шифра являлся порядок расположения букв на внутреннем диске и его начальное положение относительно внешнего диска. Шифр, реализуемый диском Альберти, в наше время получил название многоалфавитногр. Смысл этого названия заключается в следующем. Вернемся к двухстрочной записи шифра замены Ю. Цезаря. Назовем верхнюю строку алфавитом открытого текста, а нижнюю - алфавитом шифрованного текста (шифралфавитом). Если в процессе шифрования алфавит шифрованного текста не меняется, то шифр носит название одноалфавитного (или шифра простой замены). Если этот алфавит меняется, то шифр называется многоалфавитным. Таким образом, шифр Цезаря - это шифр простой замены, а в многоалфавитном шифре Альберти количество алфавитов равно числу Диск Альберти, использо- ванный конфедератами во время гражданской войны в Северной Америке 2зи.5 ,
34 Модифицированный диск Альбер» ти, использованный в начале ХЭД века в США г букв в алфавите открытого текста плюс четыре. Альберти - изобретатель мно- гоалфавитных шифров, которые, в основном, используются и в наши дни. Од- нако способ выработки последовательности алфавитов шифрованного текста и их выбор существенно усложнен; у Альберти он определялся циклическим сдвигом на единицу через заранее оговоренное количество шифруемых букв. Таким образом, процесс шифрования стал «динамичным». Второе изобретение Альберти - буквенно-цифровой код (правда, малого объема). Цифры на диске Альберти (1, 2, 3, 4) шифруются так же, как и буквы. Альберти предложил использовать упорядоченные двух-, трех- и четырех цифровые комбинации в качестве кодообозначений для букв, слов, и целых предложений (число таких комбинаций равно 336). Не исключено, что коды использовались и ранее, но в исторических документах они связываются с именем Альберти. Особо отметим, что кодированные сообщения затем перешифрорывались, то есть использовался код с перешифровкой. Эта идея используется и в наши дни. ШВЙ»РЬ1 Ардженти В XVI веке заметный вклад в развитие криптографии внес криптограф па- пы римского Маттео Ардженти, унаследовавший искусство тайнописи от сво- его дяди. Именно Ардженти предложил использовать слово^пароль для при- данйя, алфавиту легко запоминаемого смешанного вида. Об этом уже говори- лось’при рассмотрении усложненного шифра Полибия. Ардженти рекомендовал не разделять слова, применять омофонные заме- ны, вставлять в шифртекст большое количество «пустышек», устранять пунк- туацию, не вставлять в шифртекст открытые слова («клер») и т. д. Для за- труднения дешифрования шифров замены он предложил следующее: заменять буквы либо на цифры (от 0 до 9), либо на числа (от 00 до 99), причем во избе- жание путаницы при расшифровании цифры, используемые как самостоя- тельные шифробозначения, не должны входить в двухзначные обозначения.
35 Поскольку однозначных обозначений оказывается сравнительно немного, то чтобы не бросалась в глаза их малая частота появления в шифртексте, Ард- жента рекомендовал придавать однозначные обозначения наиболее часто встречающимся в открытом тексте буквам. Приведем пример шифра замены Ардженти для итальянского языка. В этой замене наряду с шифрованием используется шифрование - кодирование некоторых 2-х, 3-х буквенных частых сочетаний. А В С D Е F G Н I L М N 1 86 02 20 62,82 22 06 60 3 24 26 84 О Р Q R S Т и Z 9 66 68 28 42 80 46 88 ЕТ CON NON СНЕ ПУСТЫШКИ 08 64 00 44 5,7 Слово ARGENTI могло приобрести при зашифровании такой вид: 5128066284580377 или такой: 1772850682584780537. Это было действительно серьезное усложнение шифра замены. Частотный анализ дешифровальщиков существенно усложнялся. 1 Ардженти занимался также усложнением кодов (номенклаторов). В част- ности, он впервые разработал буквенный код, в котором 1200 букв, слогов, слов и целых фраз заменялись на группы из букв. Результаты своих криптографических исследований Ардженти изложил в пособии по криптографии, написанным уже после увольнения из канцелярии папы в результате интриг внутри папской курии. Однако папа, признав Ард- женти невиновным, назначил ему солидную пенсию. Основная идея Тритемия о введении многоалфавитности шифрованного текста была подхвачена итальянцем Жованом Батистой Белазо (середина XVI века). В своей небольшой книжке «Шифр синьора Белазо» он предложил ис- пользовать таблицу Тритемия'совместно с легко запоминаемым ключом, так называемым паролем. Таким паролем могло бы служить, например, легко за- поминаемое стихотворение. Буквы, входящие в стихотворение, последова- 2*
36 тельно определяют строки таблицы Тритемия, по которым шифруются буквы открытого сообщения. Сам пароль стал ключом шифра. В последующем идеи Тритемия и Белазо развил соотечественник Белазо Джованни Батиста Порта. Он предложил отказаться от алфавитного порядка следования букв в первой строке таблицы Тритемия и заменить этот порядок на некоторый произвольный, являющийся ключом шифра. Строки таблицы по-прежнему циклически сдвигались. ШИФРЫ Порта Основная книга Порта о тайнописи - это книга «О тайной переписке». Она написана в жанре учебника. В ней Порта показал слабости широко распро- страненных в то время шифров, в том числе и шифров масонов, которые он назвал Щйфрами «сельских жителей, женщин и детей», и предложил так на- зываемый биграммный шифр. Этот шифр есть шифр биграммной (двухбуквенной) замены, в котором каждому двухбуквенному сочетанию открытого текста в шифрованном тексте соответствовал специально придуманный знак. Знаки шифртекста имели фо- рму сймволико-геометрических фигур. По сути дела это был тот же шифр простой замены, но на уровне двухбуквенных сочетаний. Криптографическая стойкость при такой замене по сравнению с побуквенным шифрованием заме- тно повышалась. Порта также Предложил механизировать процесс шифрования по его таб- лице. Он привел описание механического дискового устройства, реализующе- го биграммную замену. Порта также рекомендовал не использовать в переписке стандартных слов и выражений; более того, он предлагал записывать открытый текст с ошибка?- ми, чтобы затруднить работу дешифровальщика. Он писал: «... когда тема пе- реписки известна, анализирующий может делать проницательные предполо- жения относительно слов ...», что может существенно облегчить работу де- шифровальщика. : Порта видоизменил шифровальный диск Альберти, превратив алфавит шифрованного текста в любимые им символико-геометрические фигуры. Ра- зумеется, никакого усложнения при этом шифр Альберти не получил, добави- лась лишь экзотика в шифрованном тексте.
37 Порта предложил некоторую модификацию шифра Белазо. В применении к русскому языку он представляет собой прямоугольную таблицу из букв ал- фавита в следующем порядке: 1 А Б а п б с в т г V д (Ь е X Ж тт 3 ч и ттт й ттт к ъ л ы м ь н 3 0 ю п я , 2 В а б в г д е ж 3 и й к л м н 0 п Г с т V <ь X тт ч ттт ттт ъ ы Б 3 ю я Р.г 3 д а б в г д е ж 3 и й к л м н О п F. т V (h X тт ч ттт ттт Ъ ы Ь 3 то я П С . 4 Ж а б В г д е ж 3 и й к л м н IF 3 V (Ь X ,п ч ттт ттт ъ ы ь 3 то я п Q V 5 И а б в г д е ж 3 и й к л м н 0 п и di, X тт ч ттт ттт ъ ы ь 3 то я п с т у 6 к а б в г д е ж 3 и й к л м н О п л X тт ч ттт ттт ъ ы к 3 то я п с т V (h 7 м а 6 в г д е ж 3 и й к л м н о п н тт ч ттт ттт ъ ы ь з то я п с т V di X 8 О а б в г д е ж 3 и й к л м н 0 п п ч III ттт ъ ы ь з то я п с т V (Ь X п 9 р а б в г Д е ж 3 и й к л м н О п с пт III ъ ы ь з то я п с т V ch X п ч 10 т а б в г Д е ж 3 и й к л м н 0 и У ттт ь ьт ь з то я п с т V л ‘X тт ч П! 11 ф а б в г Д е ж 3 и й к л' м н о п X ъ ы Ь з то я П с т V d) X тт ч пт тп 12 ц а б в г Д е ж 3 и й к л м н 0 п ч ы ь з то я п с т V (Ь X тт ч ттт пт ъ 13 ш а б в г Д е ж 3 и й к л м н 0 п пт ь 3 то я п с т V (Ь X тт ч ттт пт ъ м 14 ъ а б в г Д е ж 3 и й к л м н р ц ы з ю я п с т V (Ь X тт ч ттт ттт ъ н к 15 ь а б в г Д е ж 3 и й к л м н р п э ю я п с т V ch X тт ч ттт ш ъ ы Л, 16 ю а ь в г Д е Ж 3 и й . к л. м н о п я я п с т V d» X тт ч ттт ттт ъ ы Ь Э JKL. Шифрование производится при помощи секретного лозунга. Лозунг периодически выписывается над открытым текстом, по первой букве лозунга отыскивается алфавит (большие буквы в начале строк), в верхнем или нижнем полуалфавите отыскивается первая буква открытого текста и заменяется соот- ветствующей ей буквой из верхней или нижней строки. Аналогично шифру- ются и другие буквы (интервалы между словами не учитываются). Приведем пример:
38 Лозунг; ф ил о с о ф и я ф и л о с о ф и я ф и л о. Открытый текст: периодическийшифр......'.. Шифртекот: щщ ляцытгфзюзр........ За этот шифр де ла Порту позднее назвали отцом современной криптографии, йо в свое время этот шифр не нашел широкого применения. Причина этого - необ- ходимость' постоянно иметь при себе указанную таблицу и сложность процесса цшфровайия. Однако был дан импульс для появления других систем шифра (на- пример, Шифра Виженера). Йорта обладал игривым характером. В качестве упражнений в зашифрова- нии и расшифровании он предлагал, например, такие тексты: «Сегодня ночью я лишил Невинности предмет своей любви». Он увлекался магией, оккультиз- мом, и это отражалось на его криптографических трудах. Тем не менее, его вклад в криптографию настолько велик, что потомки назвали его «выдаю- щимся криптографом Ренессанса», «гигантом, возвышающимся над совре- менниками». ШИФРЫ Кардано В середине Xyi века в Италии появляется книга математика, врача и фи- лософа Дж. Кардано «О тонкостях» с дополнением «О разных вещах», в кото- ром имеются разделы, посвященные криптографии. В ней нашли отражение новые идеи криптографии: использование части самого передаваемого откры- того текста в качестве ключа шифра и новый способ шифрования, который вошел в историй) как «решетка Кардано». Для ее изготовления брался лист из твердого материка (картон, пергамент, металл), представляющий собой квад- рат, в котором вырезаны «окна». При шифровании решетка накладывалась на лист бумагЦ^т буквы открытого текста вписывались в «окна». При использо- вании всех «окон» решетка поворачивалась на 90 градусов, и вновь буквы от- крытого тексзОписывались в «окна» повернутой решетки. Затем вновь про- изводился поворот на 90 градусов и т. д. В один «заход» решетка работала 4 раза. Если текст зашифрован не полностью, то решетка ставилась в исходное положение и вся процедура повторялась. Это ничто иное, как шифр переста- новки. < . л.. .
39 Главное требование к решетке Кардано - при всех поворотах «окна» не должны попадать на одно и то же место в квадрате, в котором образуется шифртекст. Если в квадрате после снятия решетки образовывались пустые места, то в них вписывались произвольные буквы. Затем буквы квадрата выписыва- лись построчно, что и было шифрованным текстом. Жизнь Кардано была омрачена тяжелым и некрасивым спором - ссорой со своим другом - математиком Тарталья. Кардано «позаимствовал» свою знамени- тую «формулу Кардано» (решение уравнения третьей степени) у своего друга и опубликовал ее под собственным именем. Этот факт вызвал весьма негативную оценку со стороны современников Кардано и у последующих поколений матема- тиков. Судьба Кардано сложилась трагически. Как астролог, он заранее предска- зал себе 75 лет жизни. х 3 + рх + q = О Формула Кардано в современной математической модели. Один из корней урав- нения. Квадрат Кардано Чтобы не нарушать собственное предвидение, согласно легенде он покончил с собой в отведенный им срок со словами: «Если и неверно, то неплохо придумано». Перед смертью, находясь в религиозном экстазе, Кар- дано сжег свои книги, усмотрев в них противоречие «с волей Божьей».
40 Предложенный Кардано «шифр-решетка» лежит в основе знаменитого «шифра Ришелье», в котором шифрованный текст внешне имел вид «невинного послания». Из плотного материала вырезался прямоугольник размером, на- пример, 7 х 10; в нем проделывались окна (на рисунке они заштрихованы). Кардинал Ришельё - I • L о V E • Y о и I • H A V E • Y 0 и D E E P • U N D E R M Y • S к I N • M Y L 0 V E • L A s T s • F 0 R E V E R • I N H Y p E R s p A c E 4 .. Секретный текст вписывался в эти окна, затем решетка снималась и оставшиеся клетки заполнялись так, чтобы получалось «невинное» сообще- ние. Суровую команду на английском языке: «YOU KILL AT ONCE» с помо- щью решетки можно спрятать в «невинный» текст любовного содержания: «I LOVE YOU. I HAVE YOU. DEEP UNDER MY SKIN. MY LOVE. LASTS FOREVER IN HYPERSPACE».
41 Разумеется, использование этого шифра вызывает затруднения и тре- бует соответствующего интеллекта. Такого рода шифр использовал известный русский писатель, обще- ственный деятель и дипломат А. С. Грибоедов. Будучи послом в Пер- сии, он писал своей жене «невинные» послания, которые, попав в руки жандармерии, для которой и были предназначены, расшифровывались по соответствующей «решетке» и передавались царскому правительству уже как секретные сведения. А.С. Грибоедов Как математик, Кардано сумел вычислить количество квадратов-решеток (ключей) заданного' размера NxN. Если N - четное число, то. это количество 2 равно 414 - . При N=10 оно имеет порядок десять в пятнадцатой степени. Вместе с тем, Кардано ошибочно сводил стойкость всех шифров к количеству возможных ключей. При таком подходе даже шифр простой замены должен быть признан стойким, однако его научились дешифровать за несколько сто- летий до Кардано. Не только количество ключей, но и сам способ (алгоритм) шифрования при заданном ключе влияет на стойкость шифров. Даже при N=10 шифр Кардано значительно более стоек, чем шифр простой замены, хо- тя значительно уступает последнему по количеству ключей. В то же время сами шифры Кардано составляют весьма незначительную часть всех шифров перестановок» Так, например, при N=10 шифр Кардано пе- реставляет буквы внутри блока, состоящего из 100 букв открытого текста. Число ключей, как указывалось выше, имеет порядок десять в пятнадцатой степени. Количество же ключей Шифра общей перестановки внутри блоков из 100 букв имеет порядок 100!, то есть примерно 10 |ф0 . Таким образом, шифры Кардано составляют 10 '|45 часть от общего количества шифров перестано- вок. Однако эффективно и быстро осуществлять произвольную перестановку в блоках длиной в 100 знаков - достаточно трудная задача даже в наши дни. Решетка Кардано позволяет осуществлять перестановку букв достаточно просто.
42 Следует заметить, что подход Кардано к оценке стойкости шифров через количество его ключей имеет положительный момент. Кардано в неявном ви- де предполагал, что сам шифр может быть известен противнику, который мо- жет попытаться дешифровать его путем перебора всех возможных ключей. В явном виде требование обеспечения стойкости криптографической защиты информации в условиях знания противником используемого шифра (но не ключа!) было впервые сформулировано лишь в XIX веке. Кардано выдвинул, но не сумел реализовать интересную идею. Он пред- ложил использовать в качестве ключа шифра сам открытый секретный текст (идея «самоключа»). Смысл его предложения можно проиллюстрировать сле- дующим образом. Пусть требуется зашифровать фразу: SIC ERGO ELEMENTIS... Ключ шифрования, опирающегося на таблицу Тритемия, образовывался следующим образом: слово SIC шифрует само себя, то есть первый знак шиф- ртекста стоит на пересечении строки и столбца, соответствующих букве S (S - строка, S - столбец), второй знак шифртекста есть знак, стоящий на пересече- нии строки I со столбцом I, третий - С-С и т. д. При зашифровании второго слова (ERGO) к паролю SIC добавляется следующая буква открытого текста (получается SICE); буква Е слова ERGO шифруется по строке S, следующая буква - по строке I и так далее. Разумеется такой шифр порождает проблемы расшифрования получателем сообщения, который не знает исходного ключевого слова SIC открытого тек- ста. Он вынужден перебирать все возможные варианты; аналогичным образом действует и дешифровальщик. Таким образом, идея «самоключа», выдвинутая Кардано в предложенном им виде, не могла быть реализована. Но эта идея привела к появлению реаль- но реализуемой системы шифрования. Два секрета («текст и ключ») на пере- даче вступили в союз и породили новые шифры, получившие широкое рас- пространение в XX веке. Первый шаг в этом направлении совершил сам Бел- лазо (теперь он писал свою фамилию с двумя «л»). Он предложил шифровать первую букву сообщения по первой строке таблицы Тритемия, вторую - по шифрованной первой букве, и т. д. Именно эта идея получила поддержку в современной криптографии. При этом выбор строки шифрования сложным образом зависит уже от значительного количества предварительно зашифро- ванных букв. Предложив свой шифр перестановки («решетка Кардано») Кардано реко- мендовал шифровать три раза подряд, т.е. предложил идею многократного перещифрования. Эта идея дошла до наших дней. Многократное зашифрова- ние (тем более на различных шифрах) значительно повышает надежность за- щиты.
43 ШИФР Виженера К Посол Франции в Риме Блез де Виженер (XVI в.), познакомившись с тру- дами Тритемия, Белазо, Кардано, Порта, Альберти, также увлекся, криптогра- фией. В 1585 году он написал «Трактат о шифрах», в котором излагаются ос- новы криптографии. В этом труде он замечает: «Все вещи в мире представля- ют собой шифр. Вся природа является просто шифром и секретным письмом»^ Эта мысль позднее была повторена Блезом Паскалем - одним из основополо- жников теории вероятностей, а в настоящее время и Норбертом Винером - «отцом юбернетики». В этом трактате вновь появилась идея использования в качестве ключа самого открытого текста. Заранее оговаривается одна ключе- вая буква алфавита, и первая буква сообщения шифруется таблицей Тритемия по строке, соответствующей этой букве. Вторая буква шифруется по строке, соответствующей первой букве шифрованного сообщения, и так далее. Хаким образом, была реализована идея, предложенная ранее Кардано. ‘ Очевидный недостаток этого шифра - его слабая стойкость: если .ис- пользуемая таблица Тритемия известна, то для дешифрования достаточно оп- робовать первую (ключевую) букву, и шифр «раскалывается». Второй вариант использования таблицы Тритемия, предложейный Виже- нером, заключается в применении лозунга. . По сути дела Виженер объединил подходы Тритемия, Беллазо, Порта к шифрованию открытых текстов, по существу не внеся в них ничего ориги- нального. v 1 : • с ' ' ’"l .. ‘ ч, • * ' В последующем «шифр Виженера» значительно упростил в смысле его практического использования граф Гронсфельд - начальник первбго в Герма- нии государственного дешифровального органа («криптографической лабора- тории»), Его предложение по сути дела привело к появлению так называемого в настоящее время шифра гаммирования - одного из самых распространенных шифров в современной криптографии. Суть этого предложения заключается в следующем. Выпишем латинский алфавит: > - . ; ABCDEFGHIJKLMNOPQRSTUVWXYZ : В качестве ключа - лозунга выбирается легко' запоминаемое число, йй-' Г пример, 13579. Этот лозунг периодически выписывается над буквами откры- того текста (одна цифра над буквой). При шифровании буква открытого тек- ста заменяется на букву, стоящую от неё справа (циклически) в алфавите на количество букв, определяемых соответствующей цифрой лозунга. Так, на- пример, при указанном лозунге слово «THE TABLE» превращается в Шифро- ванную последовательность: «UKJAJCOJ» . ; 1 > .
44 Дальнейшая модернизация привела в наше время к шифру модульного гаммирования. Пронумеруем буквы алфавита: А=01, В=02, С=ОЗ,..., Z=26. Слово «THE TABLE» приобретает следующий вид: 20.08.05.20.01.02.12.05. Применим операцию циклического (модульного сложения). От обычного сложения эта операция отличается тем, что если сумма превышает число 26, то из нее вычитается 26; обратная операция - вычитание - характеризуется тем, что если в результате получается отрицательное число, то к нему прибав- ляется 26. Зашифрование проводится по операции модульного сложения. Выпишем лозунг 13579 периодически под открытым текстом и сложим соответствую- щие числа. Получим шифртекст: 21.11.10.01.10.03.15.10., что соответствует сочетанию букв «UKJAJCOJ». При расшифровании лозунг вычитается из букв шифртекста. Астрологические увлечения Виженера привели его к шифру, в котором шифрзнаками являются положения небесных тел в момент шифрования. Он пытался перевести свои послания на «язык неба». История иногда «забывается» на столетия. В наше время «шифр Вижене- ра», состоящий в периодическом продолжении ключевого слова по таблице Тритемия, вытеснил имена его предшественников. При этом сам этот шифр часто примитизируется до элементарности, нанося оскорбление его автору. В начале XX века один из популярных американских журналов преподнес весь- ма упрощенную систему Виженера как шифр, который «невозможно вскрыть!». Шифры Виженера с коротким периодическим лозунгом используются и в наши дни в системах шифрования, от которых не требуется высокая крипто- ' графическая стойкость. Так, например, они используются в программе - ар- хиваторе «ARJ», в программе «Word for Windous» (версии 2, 6). ШИФР Бофора Шифр Виженера в дальнейшем модернизировался. Так, в XIX в. английс- кий адмирал Бофор предложил использовать таблицу следующего вида:
45 ABC DE FGH IJ KLMNOPO RSTU V.WXY Z AZYXWVUTSRQPONMLKJIHGFEDCBA В AZ YX W VUTSRQ PONMLK JIHGFEDCB C.BAZYX WVU TSRQPONMLKJ I HG FED C DCBAZYXWVUTSRQPONMLKJIHGFE D EDCBAZYXWVUTSRQPONMLKJI H G F E FEDCBAZYXWVUTSRQPONMLKJIHG F GFEDCBAZ YXWVUTSRQPONMLKJIHG H.G F E D C BAZ YXWVUTSRQPO N-M L К J I H I HGFEDCBAZYXWVUTSRQPONMLKJ.I LI-HGFEDC BAZ YXWVUTSRQPONM L-KJ, KJ.I HGFEDCBAZYXWVUTSRQPONMLK L_K J.I HGFEDCBAZYXWVUTSR, QPONML M LKJ I HGFEDCB AZ YXWVUTSRQPONM N_M L.KJ.I HGFEDCB AZ Y*X WVUTSRQPO N O_N MLKJ I HGFEDCBAZYXWVUTSRQP.O. PONMLKJ I HGFEDCBAZYXWVUTSR QP QP ON MLKJ I H G F E D CB AZ Y X W V U T S R Q R.QPONMLKJ I HGFEDCBAZYXWVUTS R S.RQP O_N M L К J I HGFEDCB AZ YXWVU T S TSRQP O_N MLKJ I HGFEDCBAZYX WV U T UTSRQP O_N MLKJ I HGFEDCB AZY XWVU V U T S R Q P O_N MLKJ I HGFEDCB AZ Y X WV WVUTSRQP O_N MLKJ I HGFEDCB A Z Y X W XWVUTSRQP O_N MLKJ I HGFEDCB AZY X Y X WVUTSRQP O_N M L К J I HGFEDCB A-Z Y Z YXWVUTSRQP O_N M L К J I H G FE DC В A ;Z У такой таблицы есть одно преимущество: правила зашифрования и рас- шифрования по ней совпадают: и в том, и в другом случае буквы (шифруемые и расшифруемые) извлекаются из верхнего алфавитного ряда. Это создает определенные удобства при использовании шифров: не нужно запоминать два различных правила (зашифрования и расшифрования). Заметим, что с развитием математики отпала необходимость наличия таб- лиц Виженера, Бофора при зашифровании и расшифровании. Если заменить буквы на числа (как это делали еще арабы в средние века): А=1, В=2,..., Z=26 (0), то зашифрование и расшифрование сообщений легко выражается простой математической формулой. В этом случае при'математической формализации шифра Виженера используются две операции: сложение (при шифровании) и вычитание (при расшифровании). Реализация шифра Бофора основывается только на одной операции - вычитание.
46 Таким образом, при разработке шифров помимо проблемы обеспечения надежности защиты информации возникает и проблема простоты и удобства практической реализации шифров. Напомним, что эта проблема затрагивалась ранее при описании древних шифров. Ради исторической справедливости следует заметить, что таблица Бофора была предложена значительно раньше. Еще в начале XVIII века с таким пред- ложением выступил итальянец Дж. Сестри, но его имя в истории оказалось забыто. ЧЕРНЫЕ кабинеты. РОЛЬ КРИПТОГРАФИИ В XVI веке в Европейских государствах появились первые специальные органы дипломатической службы. Появление этих государственных органов - спецслужб активно стимулировало развитие криптографии в этих государст- вах. XVII-XVIII века вошли в историю криптографии как эра «черных кабине- тов» - специальных государственных органов по перехвату, перлюстрации и дешифрованию переписки (в первую очередь, дипломатической). В штат «черных кабинетов» входили криптографы - дешифровальщики, агенты по перехвату почты, специалисты по вскрытию пакетов (не оставляющему никаких следов), писцы - копировальщики, переводчики, специалисты - граверы по подделки печатей, химики (для выявления «невидимых чернил»), специалисты по подделки почерков и т. д. Таким образом, «черные кабинеты» состояли из высо- коквалифицированных специалистов в различных областях деятельности. Эти спе- циалисты ценились «на вес золота» и находились под особым покровительством
47 властей. От них требовалось строгое сохранение тайны и преданност?» монарху. Предателей сурово наказывали. , > , . t Представляет интерес следующая созвучная оценка роли криптографии, '' высказывавшаяся уже в XX веке. Известный американский исследователь в , области истории спецслужб, Флетчер Прат, в книге «Секретно и срочно» ут- верждает: «Престолы, королевства и битвы выигрывались или проигрывались в зависимости от знания тайнописи». Здесь безусловно присутствует, элемент,, преувеличения роли криптографии в развитии исторических событий, но фак- том является то, что криптография играла и сейчас играет заметную ролВ’в принятии государственных решений в области политики, дипломатии, воен- , ного дела и т. д. У Прата нашлись сторонники. Крупнейший исследователь истории криптографии Д. Кан (США), иллюстрируя влияние криптографии на развитие политических событий в мире, утверждает: «В самом деле, не будет большим преувеличением заявить, что образование коммунистической дер- жавы, а это является, пожалуй, самым главным событием coepeiMfeffifo^H^o- рии, стало возможным в значительной степени в результате дешифрования секретной переписки царской России». При этом имеются в,виду успехи не- мецких дешифровальщиков. Германия была заинтересована в развале России как главного противника в войне. Один из реальных путей достижения этой > цели заключался в поддержке российских революционеров. Поэтому резуль- таты дешифровальной работы использовались для поддержки российских противников царского режима. Что же касается успехов немецких дешифро- вальщиков, то министр иностранных дел Германии времен I Мировой войны Циммерман вспоминал: «В те немногие мгновения дешифровальщики держа- ли историю в своих руках». В наше время Д. Кан утверждает: «Крйптбграфйя' является наиболее важной формой разведки в современном мире. Опа дает намного больше и намного более достоверной информации, чем шпионаж...» .1 z 1 ШИФР «Атбаш» В Библии содержатся намеки на шифрование и дешифрование текстов. Суть их заключается в следующем. i*' ;/ < Древние евреи использовали несколько систем шифрования по принципу Простой замены. Шифр «Атбаш» задавался (применительно к латинскому ал- фавиту) следующим образом: . ,г , . , ABC...XYZ ZYX...CB А Заметим, что в этом шифре замена имеет симметричный вид: (A-Z, Z-A), (B-Y, Y-В) и т. д.
48 Поэтому, как при шифровании, так и при расшифровании буквы открыто- го и шифрованного текстов извлекаются из одной и той же Верхней строки (как в таблице Бофора). ШИФР «Альбам» Шифр «Альбам» заключался в разбиении алфавита на две части и подпи- сывания одной части под другой: ABC...KL MNO...YZ Здесь замена также имела симметричный характер: ( А-^М, М-А), (B-N, N-В) и т. д. В «Ветхом Завете» слово «ВАВИЛОН» («BABEL») заменялось по шифру «Атбаш» и имело вид: « СЕСАХ» (следует иметь в виду различный порядок следования букв в латинском и еврейском алфавитах). Второе применение шифра «атбаш» в Библии привело к появлению в ней слова «ЛЕБ КАМАИ» («сердце моего врага») для замены слова «КАШДИМ»' («халдеи»), то есть в результате шифрования получилось осмысленное слово. Смысл применения зашифрования в Библии до сих пор непонятен. Это шифрование не носит характер засекречивания, поскольку из Дальнейшего контекста становится понятным, о чем идет речь. О дешифровании упоминается при описании «Валтасарова пира». Первым библейским «дешифровальщиком» оказался пророк Даниил. Во время пира чья-то таинственная рука написала на стене странную за- пись «МЕНЕ, МЕНЕ, ТЕКЕЛ, УПАРСИН» (в латизированном варианте, про- читанном по русски). Даниил расшифровал ее следующим образом: «Исчис- лил Бог царство твое и положил ему конец; ты взвешен на весах и найден очень легким; разделено царство твое и дано Мидянам и Персам». Й действи- тельно, в ту же самую ночь Валтасар, царь Халдейский, был убит. Его госу- дарство вскоре распалось. Однако за удачное «дешифрование» Валтасар ус- пел щедро наградить Даниила: на него была возложена золотая цепь и он был провозглашен третьим властелином в царстве. Справедливости ради отметим, что критики библейских сказаний извлекли из той же самой надписи тексты, которые пророк Даниил и не мог бы себе даже представить. Например, один из вариантов дешифрования имел следующий вид: «Бог благословил твое царство и дал ему вечную жизнь».
49 ШИФР Фальконера В XVII веке Дж. Фальконер (Англия) выпустил книгу «Раскрытие секрет- ных сообщений». В ней излагались некоторые разработанные им методы де- шифрования. В частности, он предложил использовать перебор возможных открытых слов по их длине, если в шифрованном тексте оставалась разбивка на слова. , . Представляет интерес предложенная Фальконером система шифрования, объединяющая два шифра: вертикальной перестановки и гаммирования. При- ведем пример. Выберем лозунг: «ЛИЛИПУТ». По этому лозунгу строится так называемый номерной ряд по следующему правилу: буквы лозунга нумерую- тся в алфавитном порядке, при этом одинаковые буквы получают последова- тельные номера. Указанному лозунгу соответствует следующий номерной ряд:3 1 42576. А Б В Г Д Е Е Ж 3 И Й К Л М Н О П Р С Т У Ф X Ц Ч Ш Щ Ы Ъ Ь' Э Ю Я 1 3 5 6 7 2 4 Зашифруем фразу «ШИФР ВЕРТИКАЛЬНОЙ ПЕРЕСТАНОВКИ»; при шифровании фраза выписывается в прямоугольник размера 4x7 без пробела между словами. Столбцы отмечаются цифрами номерного ряда; 3 1 4 2.5 7 6 ’ 3 * щ и ф р в е р т и к а л ь н О й п е р е с т , а н о в к и Первичный шифртекст образуется путем выписки букв по столбцам, а са- ми столбцы следуют друг за другом в порядке, определяемом номерным ря- дом. Получим: . ИИЙАРАЕОШТОТФКПНВЛРВРНСИЕЬЕК Затем этот первичный шифртекст шифруется вторично шифром модуль- ного гаммирования, о котором упоминалось ранее. В результате получается окончательный шифртекст. Указанный шифр с различными модификациями использовался и в сере- дине XX ве^ в Германии, Франции, СССР, Японии и др. странах. L
$0 ДЕЗИНФОРМАЦИЯ под шифром . В рассматриваемом историческом отрезке времеци использовалась так на- зываемая «дезинформация под шифром» ГБвдв истории случай, когда фран- цузы,наконёц,бсбзШйй/ чтоутечка дипломатической информации приводит ктякейЫМ йбслёДстййкм дЛй кос^да}эётв£ СреЖ!п$йнятых ими мер заслужи- вает внимания следующий шаг. Зная, что англичане дешифруют их секретную переписку, они начали «подставлять» активно нападающей стороне дезинфо- рмацию под видом «истинной» зашифрованнойдипломатической. почты. Ес- тественно, что в этом случае истинная инфб^аШ&Шй&ЙЙ была передаваться по каналам связи, недоступным для перехвата,англичанами. ?$ цдщд ддй дгр^.р^де^ицформ дцдд) под шифром хорошо описал драматург ПитерУстиндввсвбёйпьесё«Роман6ви Жюльетта» (поставленной в Нью- ЙЬркёв№51 'гдду);Вбт(ёйёйа'и'б:йТф6г,б.ЙпР’1 ”б!-' Действукнциёлица:' :'о:' " — Генерал, президент маленького государства в Европе; Моулзуорт, американскийргосол в этой стране; , --Ромадрр^рв^скцйпосод, ,.И!. Дочь Моулзуорта (Жюльетта) и сын Романова любят; друг друга и делятся между собой семейными тайнами. / Сцена в посольстве США. п * : Генерал: «Кстати, вы знаете, что русские знают йаш шифр?» Моулзуорт: «Мы Знаем, чт&они знают йаш шифр; Но сообщаем им только ТО, ЧТО ХОТИМ, чтобы ОНИ узнади». ! ; Генерал переходитвсоветское посольство! . Генерал: «^Сстатц, америкайцН знают вщцтдифр»,, ,, Романов: «Меня это ничутД нё удивляет, .ЭДы у?ке,в течение некоторого / времени знаем, что онд знают раш шифр, и ведём' Себя соответствующим об- разом - делаем вид, будто им удалось нас'одзфаййь». ' ; ' Генерал возвращается в американское посольство. • < Генерал: «Кстати, вы знаете, что они знают, что вы знаете, что они знают,: что вы знаете...» , ; г,--л.< Моулзуорт: «Что? Вц уверены4?». ; .ч .. Генррал: «Абсолютно».' . . , .... Моулзуорт: «Благодарю вас! Благодарю! Я никогда не забуду об услуге,/ которую вы нам оказали». > ч . Генерал: «Вы хотите сказать, что вы ничего не знали?». Моулзуорт: «Нет». . Эта сцена хорошо иллюстрирует ход размышления современного развед- чика - аналн7и^д:<<О.н знает,чтр дзддю, что.он дд^рт ^^Предраедо, цедедал’^тдт,ртдлд,1^д1дендя, ангдиЙЯ^йи ррэт прошлого века Кодендри,Паэд$р, Рдддхрдйтедьдрс^ьдерушдд.дрмрддтельствам ее по- г клрннцддодрпдбдд.так:.,./..///",..1 -
51 Он думал, что уснула я И все во сне стерплю,. . Иль думал, что я думаю- Что думал он: Я сплю! Этот стиль напоминает размышления современного шахматиста - логика. Таким образом, к ‘. концу XVHI века главными объектами деятельности специальной, в том числе н • дешифровальной, службы Англии стали Франция и Северная Америка, s : . о . •> ;•< . ШИФРЫ и математики Эйлер Заметим, что в это же время криптографией интёресовалиськруПнейшие математики. Так, например, великий немецкий математик К. Гаусс не обошел своим вниманием и криптографию. Йе будучи знаком с ее историей, он само- стоятельно разра- '• > гп.Н ; ' .л;'Л->. .Г . ботал «недешифруемый» по его мнению шифр; который по существу являлся ранее изобретенным шифром пропорциональнойзамейы и, Как оказалось, вполне дешифруемым. Ранее другой известный великий математик - Л. Эйлер- «изобрел ,, аналогичный шифр и также считал, . его недешифруемым, хотя его друг математик X. Гольбах в это же время успешно дешифровывал гораздобо- лее сильные шифры. Приведенные ; ‘ ( примеры говорят о том, что не всегда, даже великие математики : , автоматически становятся хорошими: криптографами. Это справедливо особенно в наше время, когда криптография стала серьезной . самостоятельной наукой; ШИФР Франклина Посланник США во Франции, известный ученый, Дипломат, философ Бенджамин Франклин для Связи сКонгрессом разработай свой собственный шифр омофднной (^нЬгбзначйбй)' ^амейй..'ЙНтересеЙ Сай Способ составления шифра. Он взял большой отрезок французского текста (682 буквы), пронуме-
52 ровал их, и каждой букве латинского алфавита придал множество обозначений (чисел) в пронумерованном тексте. При шифровании буквы заменялись на произвольно выбранные числа из соответствующих множеств. В современ- ном понимании он использовал шифр про- порциональной замены, в котором количество возможных шифробозначений пропорционально частоте встречаемости букв в открытом тексте. В этом случае все знаки шифрованного текста появляются примерно с одинаковыми частотами. Однако англичанам удавалось прочитать кое-что из переписки Франклина. Разработав собственный шифр Портрет Бенджамина Франклина пропорциональной замены, Франклин ; . воспроизвел идею шифра, предложенного Габриэлем де Лавинда еще в XV веке. К сожалению (для американцев) один из помощников Франклина Э. Банк- рофт - был английским агентом. В результате Б. Франклин нередко отправлял в Америку дезинформацию, поставляемую ему Банкрофтом. Другой помощник Франклина, Артур Ли, пользовался своеобразным кни- жным шифром. Открытый текст шифровался не побуквенно, а по словам. Ключом шифра являлся заранее оговоренный словарь, слова заменялись на соответствующие номера страниц и номера слов на странице. Этот шифр ока- зался весьма неудобным в применении и в последующем не использовался. СИМПАТИЧЕСКИЕ чернила В Северной Америке в конце XVIII века симпатические чернила получили широкое распространение^ Братья Калперы, один из которых являлся агентом американцев в Лондоне, в своей переписке использовали невидимые чернила. Эти уникальные чернила поставлял им врач из Лондона сэр Джеймс Джей - брат первого главного американского судьи Джона Джея. Это стало первым в исторйи США случаем широкомасштабного применения симпатических чер- нил. Джеймс Джей много лет спустя рассказал историю с чернилами в одном из своих писем; он описал созданный им способ составления невидимых чер- нил для связи со своим братом Джоном в Нью-Йорке. В частности, он отме-
53 чал, что «этой жидкостью снабжали также генерала Вашингтона, и у меня есть его письму ^.признанием ее большой пользы и с просьбами о дальнейших посылках...» Такими чернилами Джеймс отправлял сообщения Б. Франклину, С. Дину и другим. В июле 1779 года Вашингтон, отдававший должное защите связи, в одном из своих писем писал: «Все белые чернила, которыми я распо- лагал... отправлены полковником Уэббом в пузырьке № 1. Жидкость в пу- зырьке № 2 является дополнением, которое делает первую жидкость видимой при смачивании ею бумаги мягкой щеткой после того, как первая высохнет... Я прошу ни при каких обстоятельствах никогда не говорить о получении вами таковых жидкостей от меня или кого бы то ни было другого». Эта тайнопись позволяла американцам успешно преодолевать английскую цензуру. В это же время и англичане также широко использовали тайнопись. В час- тности, в их агентурных посланиях использовалась галлодубильная кислота, проявляемая сернокислым железом (этот рецепт был заимствован из книги Дж. Порта «Магия естественная»). ШИФРАТОР Джнфферсона В конце XVIII века криптография обогатилась замечательным изобретени- ем. Его автор - государственный деятель, первый государственный секретарь, а затем и президент Америки Томас Джефферсон. Свою систему шифрования он назвал «дисковым шифром». Этот шифр реализовался с помощью специа- льного устройства, впоследствии названного шифратором Джефферсона. Конструкция шифратора может быть вкратце описана следующим образом. Деревянный цилиндр разрезается на 36 дисков (количество дисков может быть и иным). Эти диски насаживаются на одну общую ось таким образом, чтобы они могли независимо поворачиваться вокруг нее. На боковых поверх- ностях дисков выписываются все буквы английского алфавита в произволь- ном порядке. Порядок следования букв на различных дисках может быть раз- личным. На поверхности цилиндра выделяется линия, параллельная его* оси. При шифровании открытый текст разбивается на группы по 36 знаков, затем первая буква группы фиксируется положением первого диска по выделенной линии, вторая - второго диска и т. д. Шифрованный текст образуется путем считывания последовательнорти букв с любой линии, параллельной выделен- ной. При расшифровании на аналогичном шифраторе полученный шифр- текст выписывается путем поворота дисков по выделенной линии, а открытый текст отыскивается среди параллельных ей линий путем осмысленного проч- тения возможных вариантов. При таком расшифровании принципиально воз- можно появление различных вариантов открытого сообщения, но, как показал
54 накопившийся к томувремениопыт,этособытиевесьма маловероятно; ормыг еденный текст.читался^толькопрод^йда.возможиыхлиншЬцги . .ШифраторДжеффереона реализует ранее известный щифр;многоалфавит- ной замены, а> егоключом является дарядоф расположения букв на каждом диске, а такжйпорядок расположения, этих дисков-даобщей оси. Количество ключей огромно: оно равно Зб! 26!, то есгь имеет порядок 1О60. Это изобретениестал опредвестником появления так называемых диско- вых! шифраторов^ нашедших широкое распространение в развитых странах в ХХвеке.Щифратор,соверШенноаналогичный шифратору Джефферсона, ис- пользовалеяв. армии СЩАврвремяПМировой ВОЙНЫ. Однако при жизни Джефферсонасудьба его изобретения сложилась неудачно. , Будучи госсекретарему.еам Джефферсон продолжал использовать тради- ционные' кода (нрменклаторы) и шифры типа шифра Виженера. Он очень осторожно относился ксвсему изобретении)и считал, что его нужнооснова- тельно проанализировать.. С этой целью л»длительное время поддерживал связь «,'математшодматтерсоноц._в резжь^ате: обмен? информацией Пат- терсонпредложил свой; собственный шифр, кохорый.цоего мнению, являлся бол ее-надежным, чем шифр Джефферсона. Этот шифр представлял собой шифр вертикальной лерестановки о введением «пустышек». По стойкости он значительно устудал. шифру. Джефферсона,; однакоДжефферсон принял дово- дысвоетокорреспондента и призцал его. шифр более приемлемым для испо- льзования.Таким образом, Джефферсон самнеоценилдсейглубины своего СОбСТВеННОГО ИЗОбретеНИЯ. : г. , XX веке криптоаналитикиСЩА признал ивысокуюстойкость шифра Джефферсана. ОнИдажоназвалИ' его автора «отцом американского шифрова- льного дела». ТШ1 ЙВДЮ i;uw. . В связи с указанным эпизодом, можно особо выделить два момента. С од- ной стороны, уже;бУдучи^ррзйфсцтбм1^ж^ФФё^сбй.’не' навязывал употребле- ния изобретенного Им Шйфра. О другой стороны, поскольку orb изобретение попало Д.архив,’оно'неи8бежно;повторшюсьвбудущем. До обнаружения «ар- хивного шифра» Джефферсона новые криптографы самостоятельно изобрели аналогичные шифры. В истории криптографии имеются многочисленные примеры, иллюстрирующие забвение старых идей и попытки изобретения «нового колеса». И в наши дни дилетанты от криптографии изобретают.свои собственные «недешифруемые» шифры, которые на самом деле оказываются легко раскрываемыми. ИзобретеЖ^йЙфф%1^аЙ#!вг^ицё’^^в^Т1дй-орил француз Этьен Ба- зери («цилиндр Базери»). Одноко и его устройство было отвергнуто иЗ-за «чрезвычайной б^'жйбЬЫ»!кЙк?из1^бт6вйй1йЙ', ’iak'H в применении. Базери ynpocrfin^cBdlo ’dkdTfeiiy^d&ibHSiS^iP^^^^ ^^dflbxtdriHB^yKB на дисках несе<- кретным. Ключом шифра являлся лишь порядок расположения дисков. Поря-
55 док же расположения букв алфавита для удобства’ запоминания образовывался из легко запоминаемых лозунгов - фраз для каждогодиска (таким же образом, как ранее описанноеусложнениеквадратаПол ибия по лозунгу THE TABLE). Однако, при таком упрощении шифрзначительно утратил свою Стойкость. Маркиз де Виари показал пример дешифрования этого шифра. Упрощённый вариант опять был отвергнутая Сам шифрвторично забыт. В начале XX века трудами Паркера Хитта(США) идея дискового шифра- тора была еще раз повторена.- При этомона’Приняла вид «полоскового шиф- ра», значительно более простого в изготовлении. Полоски с удвоенным алфа- витом, закрепленные в рамку; гораздо более технологичны, чем-Деревянные диски с алфавитом. Смысл шифрования и расшифрования остался тем же, что и в изобретении Джефферсона, однако сложные диски были заменены на лег- ко воспроизводимые «полоски» из твердого материала (например, картона, металла и т. д.). Значимость этого изобретения закл ючаетсянев появлении новых криптографических идей, а втехнологической простоте их воплоще- ния. В 20-х гОдак XX века шифр ДжефферосОна был изобретен В четвертый раз. Это опять Произошло в США. Криптоаналитики; ловторившобретение, пришли к выводу о достаточной стойкости и простоте этого шифра, и армия США приняла его навооружение. Но самое главное последствие изобретения Джефферсона - это появление вХХ Веке первых сложных электромеханичес- ких устройств. Как уже отмечалось ранее, криптография носила не только го- сударственный характер. Так, напримёр, шифры разрабатывались и широко использовались масонами. ° r s . '; - Итальянские карбонарии использовали своеобразный шифр простой заме- ны. В основешифралежаллозунг («Счастливые друзья,пойдем на муки» (AMlCiA...). Замена имела следующий вид: abcde f gh i j k 1 m n о pq ir S t u v x у z A MIС I2 A2L L2 'Is E <3 Ж E2 M Я Ь C A4 M2 Q Д5 L3 I/ A6> t ' . f > J' , > '• "S ‘) • -' ,' ’ ' i1 i j .1 • :k). t ‘ i J '‘ Слово «carbonari» приобретало следующий вид: «IA A4 MNA3AA4I3». б-i'; . 'f''' ?r; ; .’; ; ✓ , ШИФ^Ы К«иш|М1 м !"шпиЮ11 • Аетрономы,вслед за Гал ил семи Кеплером, 1\СПЛСр --------- ------' .г,- ..... i,,.-,! , - ....
56 Кристиан Гюйгенс, открыв кольца Сатурна, записал фразу: «Annulo cingiur tenni piano, nusquem cohaerente, ad ecliptican inclinato» («Он окружен тонким плоским кольцом, нигде не касающимся, наклоненным к эклиптике») в виде ряда частот букв: 7А, 5С, ID, 5Е, 1G, 1Н, 71,4L, 2М, 9N, 40, 2Р, IQ, 2R, 1S, 5Т, 5U. Заметим, что если Галилей в своем анаграммировании пытался переста- вить буквы текста таким образом, чтобы полученная анаграмма имела «осмы- сленный» вид (что было большим искусством), то его последователи исполь- зовали простейший способ: указывали частоты букв в защищаемом тексте. Так, фразу «ВСТРЕЧАЙ ЗАВТРА И КОЛЮ» Галлилей мог бы анаграмми- ровать так: «ЗАВТРАК И ЧАЙ ЮРЕ В СТОЛ». Его последователи создали бы такие упрощенные анаграммы: «АААВВЕЗИЙКЛОРРСТТЧЮ» «ЗА, 2В, 1Е, 13,1И^ 1Й, 1К, 1Л, 10,2Р, ГС, 2Т, 14,1Ю» «А3, В2,Е*. З1, И1, И1, К1, Л1, О1, Р2, С1, Т2,.Ч1,Ю’» ‘ Анаграммирование можно рассматривать как упрощенный вариант шифра перестановки. Хотя указанные преобразования открытых текстов по сути сво- ей шифрованием не являются. И дело здесь не только в неоднозначности рас- шифрования. Автор анаграммы, отсылая ее своим корреспондентам, не пред- полагал ее расшифрования. Более того, он считал его практически невозмож- ным. Действительно, восстановление открытого текста по частотам букв зада- ча весьма сложная. Цель анаграммирования заключалась в защите «авторско- го права» без публичного опубликования своих «еретических» идей. Записав обычным текстом информацию о своем открытии, автор прятал эту бумагу в надежном месте, а своему корреспонденту отсылал анаграмму. В сопроводи- тельном тексте он сообщал о том, что ему удалось открыть удивительное яв- ление, смысл которого скрывается за анаграммой. В случае необходимости для подтверждения своего приоритета автор мог предъявить исходный текст. Его истинность подтверждалась ранее высланной анаграммой. Эта идея в бо- лее совершенном виде используется в наши дни. Для подтверждения подлин- ности посылаемого шифрованного сообщения и отсутствия его подмены в конце сообщения имеется ряд зашифрованных букв, достаточно сложным об- разом полученных из открытого текста. На приемном конце после расшифро- вания производится соответствующая проверка. ШИФРОВАЛЬНОЕ устройство Уодстворта Устройство состояло из большого диска с двумя кольцами, большим и ма- лым. На большом кольце нанесен смешанный алфавит из 26 букв и 7 цифр
57 ({2,3,...,8}), на малом кольце был нанесен смешанный алфавит из 26 букв. Кольца могли вращаться с помощью двух шестерен. Для удобства определе- ния взаимное положение колец имелась стрелка с двумя прорезями - верхней и нижней. В ключ шифровального устройства включалось: смешанные алфа- виты колец (порядки расположения букв), взаимное расположение двух ко- лец. Для зашифрования первой буквы вращается большое кольцо, пока в верхней прорези не покажется эта буква. Вращение верхнего кольца по шес- теренкам передается внутрецнему кольцу, и оно, тоже вращается. В нижней прорези напротив найденной.буквы читается первая шифрованная буква. Да- лее процесс повторяется, вращается верхнее кольцо до проявления в верхней прорези второй открытой буквы и т.д. Цифры верхнего кольца предназначены для зашифрования кодовых слов, состоящих из цифр {2,3,.. .,8}. Параграф 1.2. История отечественной криптографии (/СОБ/). Обратимся к истории отечественной криптографии. До появления общегосударственной письменности не могла идти речи о серьезном использовании криптографических методов защиты информации. В этом смысле наше государство отстало от других развитых стран более чем на тысячелетие. В IX веке болгары Кирилл и Мефодий разработали первую русскую азбуку. Импульсом к этой работе послужило крещение Руси, в связи с чем возникда необходимость написания на русском языке религиозных . книг. Грамотность на Руси прививалась с большим трудом. Князь Владимир I после принятия на Руси христианства насильно привлекал детей своей «наро- читой чади» (то есть детей своих придворных и феодальной верхушки) для «обучения книжного», делая это нередко насильно. Исторические документы свидетельствуют о том, что матери плакали о детях, направленных на обуче- ние, как о покойниках. Неграмотность была всеобщей, и более того, сама грамотность осуждалась в народе. Поэтому в IX-X веках вопрос о тайнописи вообще не поднимался. Однако дальнейшее распространение письменности естественным образом породило и вопрос о тайнописи как средстве защиты секретов, доверяемых письму. Древнейшие дошедшие до нас славяно-язычные рукописные книги дати- руются серединой XI века: «Остромирово евангилие», «Изборник Святосла- ва» и т. д. Именно такие рукописи активно способствовали развитию грамот- ности, особенно среди священнослужителей. Напомнйм, что в это же время и в Европе после крушения Римской империи под натиском германских пле-
58 мен, наука, литература также находились в тисках богословия. Но за плечами этих наций находился временно забытый опыт прошлых веков, которого не было на Руси. р Напомним, что языковое наследство Европы заключалось в трудах, напи- санных лишь На трех языках - латинском, греческой и еврейском. Для осоз- нания этого наследства 'Требовалась не только обычная грамотность, но и знание иностранных языков.-Эти языки сами по себе нередко воспринима- лись как средство тайнописИ.В этом же смысле они часто использовались и на Руси лицами, освоившими эти «тайные письмена». Интересно напомнить, что хазары, постоянно тревожившие Русь своими набегами, употребляли бу- квенно-звуковое руническое письмо, а также письмо древнееврейское. Неко- торые из^этих рунических писем ДО сих пор не расшифрованы. Заметим, что руны - примитивные письмена, обычно состоявшие из комбинаций прямых черточек, прорезанный на дереве, камне и т. д. Именно в силу своей прими- тивности и символичности эти письмена вызывают затруднения у современ- ных криптографов-дешифровальщиков. В них обычно присутствуют наруше- ния логики шифрования, принятой в последующие века. В основе отечественного шифрования лежали две русские азбуки - кириллица (от имени Кирилла - одного из изобретателей этой азбуки), глаго- лица (от старославянского «глагол», что означает «слово») и пермские пись- мена (названные по имени пермского епископа Стефана Пермского). Эти аз- буки приведены в иллюстрациях. Г рачесцма Gy Наэеання бума <^им*»«ч*а«мма Эаукоаш* бума Форма бука Форм ' Сд« • бума О«а«А«и« букам т- в Эоуаммаыа Цмфроама амачамня бт*са тша глаго- лица - амача1Ш л бума> t : и» • кмрил- глаго- альф* а А ’ А Ф. *3 В } г 5 t* s: ’ бета, (вита) 6. затем в В Б В Г V .Вуки • ' веди S -N • 2 2 гамма дельта э псилрн (дигамма) дзета эта (и та) г А з (краткое) (w) лэ ' э (долгое. Г А с. Z И Г •А . ~ » 1 И- А Л 3- X а & глаголь добро есть*** живете зело** земля*** йже*** А J А ' 3 • 4 & в 7 3 4 6 6 7 8 9 затем ••• & . ' 8 20 мота капля лам 6 да мм И (краткое) й л м 1 К А М t < Ь> к , А М • ж АГ А X дервь како люди мыслете к. й»< . .г (падаталъи) ‘ * • Я ?• 10 20 30 40 10 30 40 60 во ни о микрон .и 6 (краткое) И ‘‘ б W 0 •г 7 маш*** он. о if Ь Й’.' 60 70 70 пн п 1 п п Г покой ' л 80 90 ро сигма Р с в с 0 с ъ я рам слово р r.v? .. С ’ . • * 100 200 ЮО 200 тау фи т т т Оу* ф (0 г ’ твердо Йрт 111 300 600 300 400 600 ХМ X X *-. ха X • * 600 600 (1)
S9 " ; . '“г /4 z * * ; • , r -. p \ * < f. * «,' t • '* ^г'.П t-.z н: ч/?;.г гт омега о Ш ы О омега* О 800 Ж > _ — ч иы U ; 900 <Ы «— ' . 4- - ’ W! : л , л -ДО JW r, Ъ’Ч h — — — и J0 W- J г ' и.ш . \ — 800 — 'Г'Г V Шта!:х * Л !> • Ji ’’ / нт- . i •' ‘ i ’ -a - — ы Kt еры ’ыг ‘р " ’ ‘ .У. iiL'’,'- < Zhi’. — .- ->4Л ь ЭК ' ’ерь'л?кГ.? <ч (краскоеглуаое) .'$>"} Hi ?: л> 4 i’i • •i '. ' _ _ W А - ять** t к• 1 Лперва йа, Ле, . *• 4-\; -IT > ! . ;•. .-р: ' ^затей мкрытоей1- < \ 3 j •:>'!- г -f- / ЛС‘-лгг ’ = . ТЮ (ЙОПфОВ,) , ; >5 .•uZ i! ZU»! 1 — И* я (йотиров.) ъ — — ' . ‘ 1 ’ ’ -4- ' с;;:-' >?НЙ0Дф08.) Н л ’ ‘ h • i’ ' — А, ч IK МЦЛЫЙ*4. -> 0" (йЬёовое) 1•' — —- _ — 'Ъ'-А 'гХх<'’ ^бдлыЬЬй** •' “• А 1' h -i/; ! -< !U2y — — , ' • • Т' “ Ч .WCMafwW ) ч “ ч x i Г< с -йотированной йотировайное) 1 — > — ,ЛЛ —‘ ' »' ,.;ыЛ. > «Осбслмйой** (ЙУсовое Н '..*< Urn f.' - : I' KCH КС J/‘=) * йотированный > 1 ’ ’• -V 11' <', " fcCII*U r> f ftoTHpoBayiioe), i'W, z '. пси ПС j i ' ‘ / г J U£ М ч ;ГЛ<(РУ«?Кв?Н?/;г,- r/W нгЛч ' ! * .• . U ’ ‘ <- тета • й псилон th й (н4м4икре)Ч рТ~ " 0. 0 • .с ;; Лита* $ижмй4г‘П^Ь D q !П ;’l :nqz ХП (И ПСИЛОЙ) затем ’и” г.-— -XLU- Л > и*ттЦ-т444^ч^ f i / 4 ;C. ' • Щ У.’ фр П ’; • ИГ • . - • < '?>/? М в’ ’ ' лкф/ и! ип.гп ’;гс ; < ч<\ ' '- ( * i' У 1:; у; * v > 4 Z ф.» ‘. \ UU4 < < --U .И .* ‘ {’-•.’' .Z/Ч JiXp'.MKf и h h^ZJ'.jZ’Zp1 h."'.'
60 A aa 1 и ижё 8 3 КСИ 60 У УК 400 К вёдп 2 фит4 9 О 1 он 70 ферт 500 глагбль 3 л покой 80 600 Сла вл по- А добро 4 к гсако 20 червь 90 qj пси 700 е есть 5 л Л16 ди 30 Р рцы 100 IU S аелб 6 м мыслете 40 слово 200 3 зам л 4 н яаоп 50 твердо 300 пы 900 кириллоаскпя цифровая система 800 Ю X Кириллица заметно схожа с греческим алфавитом, глаголица — с ви- зантийской скорописью (стенографией) IX века. Алфавит кириллицы вклю- чал 43 буквы, а глаголицы — 40 букв. Изобретение глаголицы связывают с именем преемника Мефодия Горазда. Горазд видоизменил и усложнил фор- му букв кириллицы с целью отдаления их графики от букв греческого алфа- вита. С какой прагматической целью он это сделал, до сих пор неизвестно. Некоторые исследователи русской письменности считают, что Горазд сделал это с целью защиты секретных посланий. Напомним, что сам Горазд подвер- гался репрессиям со стороны властей вплоть до изгнания из страны. Если ви- доизменения графики букв действительно несут криптографическую нагруз- ку, то Горазд стал первым изобретателем шифра простой замены на древ- неславянском языке. Однако никаких серьезных исторических доводов в пользу этой гипотезы не сохранилось.
61 <X> A V* КУУЯ yZykmi ^ium X&sVc Муян f^°ytd,y y^K. 7^ RjljAy^A oijAy^ /|лл1гог» 4IJ^llA MAKA^OpA <-fcT<54Obl£A4 ZPo onlo^irKfik PuC. 2 С другой стороны, юго-западные славяне, перешедшие в католичест- во, сознательно использовали глаголицу как свой «кастовый» язык, отличный от латинского и кириллического письменных языков. Помимо буквенных обозначений, элементы обеих азбук имели не только звуковые обозначения, но и числовые эквиваленты. Для того чтобы указать, что буква означает число, а не звук, над ней ставился особый знак («титло»). При этом цифровые обозначения обычно име- ли буквы, заимствованные из греческого алфавита вместе с их численным значением. Итак, первые упоминания о древнерусской тайнописи обнаруживаются в средневековых документах. Среди средств тайнописи упоминаются так на- зываемые «иные письмена». Этот способ тайнописи заключался в замене букв кириллицы буквами других алфавитов: Глаголицы, греческого, латинского, пермской азбуки. В XV веке глаголиод уже действительно широко применялась как сред- ство тайнописи. Образец такого письма приведен на рисунке; на втором рисун- ке дан пример употребления букв греческого алфавита.
62 Таким образом, этобылишифрыпростойзамены. Напомним, что такие же шифры господствовали в это время и в средневековой Европе. Практиковалось также видоизменение знаков письма («вязь»), письме- на типа стенографии. Применял иски специально придуманные для тайнописи знаки. > - ; ; ••• ‘ В XVII веке начали применяться шифры типа масонской замены. Шиф- ры замены подразделялись на особые классы: «простая литорея», «мудрая ли- торея», «тайнопись в квадратах». . / < «Простая литоредо заключалась лищь в замене согласных букв по дос- таточно простомуправилу; гласные же буквы не изменялись. Первый десяток согласных заменялся на второй десяток согласных (второй же на первый) по следующей таблице: г;/..,; ' ’ . , . . ", V i - . • , . ' ч '-:Гг ’ (-. ' - : Б В Г Д ж 3: К Л м н i ; ЩШЧЦХФТСРП Так, например, слово' ПСАЛТЫРЬ ' заменялось на буквосочетание НЛАСКЫМЬ.; Шифрованный текст, «мацъ щыл томащсь нменсы шви нугипу ромългую катохе и ниледь топгашви тьпичу лию, арипь» из одной из древне- русских летописей следует читать так: «радь быс корабль преплывши пучину морскую такоже и писецькончавшикнигу сию.аминъ». В «мудрой литорее» все буквыкирилл ическойазбу ки заменялись на другие буквы той же азбуки. «Тайнопись в квадратах» - это шифры замены, где ключ - таблица за- мены - представлен ввиде квадратной таблицы. ' i. В XVI-XVII веках, использовалась цифровая система тайнописи, ее называли «счетной» или «цифирной». Отождествление букв алфавита с числа- ми было заимствовано у греков. Так, число 325 отождествлялось с сочетанием ТКЕ (300 - Т, 20 - К, 5 - Ё); число6325отождествлялось с STKE (6 Заменя- лось на S, шесть тысяч). Цифровая тайнопись реализовалась в различных вари- антах. В первом варианте каждая буква (она же и цифра) разбивается на не- сколько букв-слагаемых (цифр); слагаемые представляются буквами. При расшифровании группы букв-слагаемых представляются суммой цифр, их сумма цифра-буква и есть значение зашифрованной буквы открытого текста. Приведем простейший пример шифра такого рода. Пусть алфавит имеет вид: А, Б, В, Г, Д, Е, Ж, и т.д. Положим А=1, Б=2, Г=3, Д=4, Е=5 и т.д. Тогда от-
63. крытая буква Еможетбытьпредставленаг зашифрована р виде: ААЕмйи БГ или АД. Таким образом; здесь имеет место уженепростая; амногозначная .к (емофонная) замена;, но весьма простотодапа.1* ? /с. и пр л Второй вариант, цифровойтайнопияиимеет дрейнегреческиекорни. i •. Это так называемый описательный вид цифровой тайнописи. Примером может служить следующий текст XV века:«Аще хощеши увед ати имяписавШего книгу сию, и то ти написую: “Десятерицасугубая и пятерица четверицеюи *.• еДинъ; десятерица дващи и един; десятая четыре сугубо и четырежди по пяти; дващи два с единем; единица четверицеюсугубо; в семьименисловь седмери- ца, три столпы и три души; царь. И< сегожечисла в семь имени РОЕ”». , : . Имя писца расшифровывается следующим рбразом. Слово «сугубо»/ * > > означает «дважды». Поэтому «Десятерица сугубая и пятерицачетверидею?.. . есть 10x2+5 х4=40 - это буква М; «единъ» =1 (буква А), «десятерица дващи» =10x2=20 (буква К); “един”=1 (А); «десятая четыре сугубо и четырежди по пяти» =10x4x2 + 4x5 = 100 (буква ]?); «дващи Два О единем» = 2x2 + 1 = 5 (буква Е); «единица четвериЦию сугубо»=Гх4х2 = & (буква Й). Таким обра- зом «имя писавшего книгу сию» есть МАКАРЕЙ. Последняя часть фразы: «в семь имени словъ седмерица, три столпы и три души, царь. И сего же числа в семь имени РОЕ» есть проверочный код, Он предназначен для проверки ре- зультата расшифрования, РОЕ это 175 — сумма букв-цифр в слове МАКАРЕЙ, 7 букв которого содержат: Зглаеных, ЗсогласныхиоднуполуТласную^-(Й) ; («Три СТОЛПЫ И три души;, царь»). ЮЩ.ГИ И'.ГЮю В древней Руси видоизменения письма иногд а носили игриво^ ! - шуточный характер. Так; например, наберестяном обрывке ХШ века, обнару- женного в Новгороде,имелась следующая запйаыз < лпогпг. ;; >qr.v -8 .Га <ОП: ЭЖ {ют Ы.’Ч .6 .гГ. Н В Ж П С НД М'.к -мг.щ /Е- Ъ Я И гА«Е;-¥:-’А..АА-Х<<О-1Е*И"А.и. >i77 - i / Z ?1 - ... - /Л • г/ п.> •. • к ’ . .<7 ’/Г''*' .('<•’т.. ''.’j.: t 4 u 1 J > £ * !’• Прочтение по колонкам приводив'к фразе: :o - О! ч'- :г’« : . . гл. щ-лоч ащщончг. мггл-ф Ч i .пг-лп г-Ъ а л-*.-. у 1 ' НЕВЪЖЯПИСАНЕДУМАКАЗАЛХТОСЕЦИТА... .. ' >.. • г г' r"< P.fmqrr . В В более понятном сегодня изложении эта фраза приобретает вид: : -Г. '!! а:./.ЛЙ'ЛПЫЛ г<!<1:!'г< ; ЩПЩЯОЩЩЩГМ-Х НЕВЕЖДА ПИСАЛ НЕ: ДУМАВ*СКАЗАЛ А КТС0ИЕЯИТАЛ п.- т 4 .. Г ' Ь ‘.г« Ч ' г 7k f t ' Я кЧ
64 В это же время широкое распространение на Руси получил так назы- ваемый тарабарский язык («тарабарщина»). Приведем пример. Фраза ВОЗЬМИ СУМУ звучала следующим образом: • ТАРА - ВО - БАРА - ЗЬМИ - ТАРА - СУ - БАРА - МУ. Арабские числа начали появляться на Руси с середины XVI века. Они тут же стали использоваться в цифровой тайнописи. Вот фрагмент одного из шифрованных документов XVII века: 3”ъ 3'171 49.. Правило шифрования простое. Буквы-цифры от 1 до 9 пишутся араб- скими цифрами (А=1 и т. д.), цифры от 10 до 90 пишутся арабскими цифрами со значками (3” =30), от 100 до 1000 - пишутся С другими значками (3'=300); некоторые буквы не имеют цифрового значения и пишутся открыто, напри- мер: ъ. Расшифрованный текст имеет вид «лъта7149...» (л=30=3”,т=300=3'). Имелись и другие системы тайнописи, Из них можно выделить моно- кондил, то есть лигатуру - соединение в написании нескольких знаков-букв; образное, аллегорическое письмо; акростих (“краегранесие”, “краёстрочие”) и т.д. Первые на Руси специалисты-тайнописцы, находящиеся на государст- венной службе, появились в середине XVI века, В это время был создан орган руководства внёшней политикой - Посольский приказ, прообраз современного Министерства иностранных дел. На службе в Посольском приказе состояли и специалисты-тайнописцы, создававшие шифры, которые В это время уже име- ли названия: «цифирь», «цифры», «азбуки». Царь Федор Иоаннович (1584-1598), сын Ивана Грозного, поручил по- слу Николаю Воркачу «писать письма мудрою азбукою, чтоб оприч Царского Величества никто не разумел». Это был шифр простой замены, в котором бук- вы заменялись на причудливые знаки. В 1619 году из польского плена возвратился отец царя Михаила Рома- нова Федор, постриженный Борисом Годуновым в монахи под именем Филаре- та. Став патриархом, он фактически управлял страной при больном и малоспо- собном сыне. Он лично заведовал иностранными делами и сам разрабатывал тайные азбуки. Шифры, используемые в это время, являлись шифрами простой замены и перестановки. Сами перестановки были достаточно простыми. На-
65 пример, открытый текст разбивался на слоги, и в них осуществлялась переста- новка букв. Так слово ПОВЕЛЕВАЮ превращалось в ОПЕВЕЛАВЮ. На развитие средств и методов защиты письменной информации ока- зывает состояние средств связи. В те времена это была почта. До конца XV века послания отправлялись специальным курьером - гонцом. С начала XVI века начала распространятьея так называемая ямская гоньба, заимствованная у татаро-монголов. Тем не менее, тайные писания пе- ресылались со специальными гонцами. В одйой из обнаруженных в 1952 году в Новгороде грамот говорилось: «... человиком грамотку пришли тайно...» Тайная переписка имела место в Ки- евской Руси еще на рубеже XI-XII веков. Археологи находят во многих древ- них городах печати с надписью «ДЬНЕСЛОВО», которое переводится как скрытое, сокровенное, тайное слово. Такие печатй для защиты посланий ис- пользовали киевские князья Святополк Изяславич и Мстислав Владимирович,' князь Александр Невский и др. В XV-XVI веках использовались возможности перехвата сообщений. Так, во второй половине XV века новгородская знать вынашивала мысль от- пасть от Москвы и признать над собой власть польского короля и литовского великого князя Казимира IV. Тайно ковался союз Новгорода с Польшей. Не- прерывно происходил обмен посланиями и гонцами. В 1470-147Ггг. бояре подготовили проект договора с Казимиром IV. Однако гонец был перехвачен, и грамота попала к великому князю Ивану III Васильевичу. Князь предъявил Новгороду обвинение в йзмене и во главе своих войск двинулся разорять нов- городские земли. Новгород вновь вернулся в состав единого Московского княжества. Первый международный акт о перевозке корреспонденции, подписан- ный Россией - это соглашение между Москвой и Варшавой (1634 г.). По это- му акту, в частности, гонцам обеих сторон разрешалось иметь при себе шес- терых провожатых. В 1665 году была организована международная почтовая линия между Москвой и Ригой. Несколько позднее аналогичное соглашение было подписано со Швецией. Организация международных почтовых связей потребовала более на- дежной защиты информации. Начали широко применяться криптографиче- ские методы («затейное письмо»). Одновременно активизировался и перехват сообщений. Так, царь Алексей Михайлович заметил, что корреспонденция его резидента в Варшаве очень сильно запаздывала. Причина выяснилась 3 Зак. 5
66 очень просто. Когда резидент В.М. Тяпкин явился с жалобой к королю Яну Собескому, тот, в свою очередь, упрекнул резидента в том, что он писал «ссорные и затейные письма к царю». Следовательно, поляки перехватывали и дешифровали послания Тяпкина. Большое внимание уделялось сохранению тайнописных секретов. Так, в инструкции русскому агенту в Швеции Дмитрию Андрееву говорилось: «Ле- та 7143 (1653 г.) декабря 15 день ... А про те тайные дела и про затейное пись- мо подьячий Иван Исаков и иной никто отнюдь не ведал, и черные о сих тай- ных делах тем же затейным письмом держать у себя бережно, чтоб о тех тай- ных делах и про то затейное письмо оприч его, Дмитрия, подьячий Иван Иса- ков и иной никто однолично не проведал». Приведем выдержку из присяги переводчика - шифровальщика конца XVII ве.ка: «...Ему всякие государственные дела переводить в правду, и с не- приятелями государскими тайно никакими письмами не ссылаться и мимо себя ни через кого не посылать, и в Московском государстве с иноземцами о государственных делах, которые ему будут даны для перевода, ни с кем не разговаривать». Во внутренней переписке после создания ямской почты только особо важные, особо срочные сообщения разрешалось посылать в Москву с нароч- ными гонцами. Это было вызвано тем, что посыльный вез, как правило, толь- ко одну грамоту. От такой «почты» государство получало только лишние расходы. Поэтому правительство строго предупреждало нарушителей поряд- ка доставки корреспонденции. Так, например, Новосильский воевода И.П. Турский в 1637 году направил московскому царю грамоту со специальным гонцом. Последовал «государев гнев»: «И ты б впредь с такими вестьми на- рочных гонцов к нам не посылал не о скорых делах ... чтоб в том лишнего расходу не было». Во второй половине XVII века была организована первая общедоступ- ная «правильная» почтовая гоньба в России. Основной вклад в ее становление и развитие внес тогдашний глава русского правительства А.Л. Ордин- Нащокин. Почтовая переписка заметно оживилась. В XVI-XVII веках по уровню развития науки и образования Россия су- щественно отставала от развитых государств Запада. И это не могло не ска- заться на российской криптографии.
67 В это время, как и раньше, не существовало школы как государствен- ного или общественного заведения. Русский человек образовывался самостоя- тельно, и первыми его учебниками были книги Ветхого и Нового Завета, опуб- ликованные сведения из греческой мифологии, из Илиады и Одиссеи Гомера, эпизоды из истории Византии и т.д. Сами публикации (рукописные, а затем и печатные) были очень малочисленны. Естественные науки появлялись лишь в самом зародыше. Они заим- ствовались из устаревшей Византии и не достигали уровня Древней Греции и Древнего Рима. Сама система изображения цифр буквами алфавита противо- действовала развитию эффективного десятичного исчисления. Арифметика находилась в зачаточном состоянии. Из четырех правил арифметики основа- тельно изучались лишь два: сложение и вычитание; умножение и деление из- бегались. Дроби были почти повсеместно неизвестны и были сведены к не- скольким типичным: половина (1/2 ), треть (1/3), четверть (1/4), полчетверти (1/8), полтрети (1/6), полполчетверти (1/16), полполтрети (1/12), полполпол- четверти (1/32), полполполтрети (1/24). И это все. Операции над дробями ос- тавались неизвестными. Появившиеся в XVI веке польские учебники по арифметике положения не изменили. Но знание даже такой арифметики вы- зывало глубокое уважение. Почетна была и геометрия, которая находилась в аналогичном со- стоянии. Геометрия («помитр!я») понималась исключительно как землеме- рие. Достижения Эвклида были забыты. Например, при измерении земельных участков площадь всех треугольников определялась как площадь прямо- угольного треугольника (произведение длины одного катета на половину длины другого). В астрономии господствовали идеи египетского монаха Козьмы Ин- дикоплова: земля имеет форму четырехугольной плоскости, земную плос- кость окружает океан и т. д. В аналогичном состоянии находилась и медицина. В основе теории древнерусской медицины лежало старинное учение о четырех основных жид- костях человеческой природы, соответствующих четырем стихиям мира. Эти стихии - земля, огонь, вода и воздух. Аналогично, человек, как малый мир, со- 3*
68 стоит из четырех вещей: крови, мокроты (или флегмы), красной желчи и чер- ной желчи. Если эти четыре стихии находятся в равновесии - человек здоров. Утверждалось, что «каждому возрасту и каждому времени года соответствуют свои болезни ... У отроков пятнадцати лет «умножается кровь», то же состоя- ние вызывает весна, потому что она тепла и мокра; в человеке тридцати лет умножается красная желчь, как и летом, потому что оно тепло и сухо; в совер- шенном муже, около 45 лет, умножается черная желчь, как и осенью, потому что осень суха и студена; в старце умножается флегма, сиречь мокрота, как и зимой, ибо она мокра и студена». Большое распространение получила астроло- гическая медицина. В истории господствовали такие изречения: «За что меч гнева Божия так долго поражал Россию? За грехи царей, которые грешили, и за грехи наро- да, который молчал, повиновался и не обличал грешных царей». , Однако тяга к образованию была значительной. В 1687 году в Москве была учреждена «Славяно-греко-латинская академия», в которой обучалось 99 учеников. Таковы некоторые черты культурной жизни России накануне воцаре- ния Петра I. Ему пришлось предпринять титанические усилия по выводу стра- ны на уровень, хотя бы приближающийся к уровню развитых стран. В этих усилиях он не забыл и криптографию. Петр I был первым русским царем, осознавшим во всей глубине госу- дарственную важность защиты информации. Именно уже в самом начале XVIII века Петром Великим была создана Походная посольская канцелярия, ведающая дипломатической перепиской. Уместно напомнить, что до учреж- дения канцелярии Петр I имел возможность ознакомиться с постановкой ана- логичного вопроса в европейских странах при своих «нелегальных» выездах за рубежи Российского государства. В первые годы правления молодого царя «цифирным» отделением канцелярии руководил первый «министр иностран- ных дел» Петра I генерал-адмирал Ф.А. Головин. В 1710 году канцелярия пе- реместилась в Петербург и стала называться короче - «Посольская канцеля- рия». Канцелярия значительно укрепила и усилила свои возможности, ее численный состав существенно возрос. Ф. А. Головина сменил канцлер Г.И. Головкин, а затем вице-канцлер П.П. Шафиров. Они продолжали лично ку- рировать шифровальную службу государства. Позднее Посольская канцеля- рия была преобразована в Коллегию иностранных дел. К этому времени Рос- сия уже имела ряд постоянных миссий в европейских странах. Все они имели различные шифры для переписки с царем (но не между собой). Таким обра-
69 зом, царь получал всю шифрованную переписку своих дипломатических представителей и держал ее под полным личным контролем. Становлению криптографии в это время способствовало и развитие печатного дела; начала издаваться первая общероссийская газета «Ведомо- сти». При Петре I была напечатана первая в России книга по истории науки и техники. В переводе ректора Московской духовной академии Феофилакта Лопатинского вышла «Осмь книг об изобретении вещей» историографа из Урбино (Италия) Полидора Вергилия. Обратимся к шифрам, то есть к «цифирным азбукам», используемым в начале XVIII века. Главенствующее положение здесь занимали шифры простой замены. Открытые тексты, подлежащие зашифрованию, писались не только на рус- ском, но и на французском, немецком и даже на греческом языках. Буквы за- менялись на буквы других алфавитов, на слова и даже на целые стандартные выражения. Применялись и специально продуманные причудливые знаки, символы. Например, использовались следующие символы для обозначения планет и металлов. \ Q — золото — Солнце — серебро — Луна d — железо — Марс ртуть - Меркурий — олово — Юпитер Cf.— медь — Венера - свинец - Сатурн Особое место занимали шифры замены букв на арабские цифры. Еще в начале XVIII века была выведена из употребления устаревшая буквенная ки- риллическая нумерация, заимствованная у греков. Числовые эквиваленты букв начали выбираться произвольно по ключу шифра. Применялись и элементы простого кодирования. В шифрованный текст часто вставлялись «пустышки» - знаки, ничего не обозначающие. Вставлялся в шифрованный текст и «клер» - незашифро-
70 ванные слова и предложения. Это делалось в интересах облегчения процесса зашифрования - «несекретные» слова и предложения могли не зашифровы- ваться. Несмотря на очевидную с позиций сегодняшнего дня слабость таких шифров, они в то время оказались достаточно стойкими. Англичане, обладав- шие в то время передовой дешифровальной службой, дешифровали первый такой шифр лишь в 1725 году. Типичный шифр простой замены того времени содержал таблицу заме- ны букв, список пустышек, кодировочную таблицу. Кодировочная таблица называлась «суплементом», она содержала правила замены имен собственных, географических наименований, устойчивых словосочетаний йа условные обо- значения. Вот как выглядело письмо, лично зашифрованное Петром. _ s _____ _____ _______________ 7S0X3SZ нъдь ЭЗ&5О 33iiiJ64-8Z)A‘'~C0Z0 ччнц ПН5Ь’ НАД.ГП'б/’! и 8 fl-т & 4-5" 3, И НАДЯ Т^^И, КО • тррые. мзъ ныхъ е.с.ть пойманы, 85Л.429 7^O-9Z43A3935V7tf-:&V:X45V а когда будешь 8 Ch 39^5 V, тогда Х-S’”' 2. Vxfr2ZL б' Xh Cd К и чтсхгз , 11*4 ХНт 2 S Я~-Z Нт L. h 8 h 9 Ц и по совершеуи^ онс/чъ ксгда 7+f+3XhA V£L Ц Ш 4Х92Ж 7^-Х^ П. О Z^Z-&2.93 такскз rt?2miXhUJV4 7&Х ФД.ХО и протчымъ bhZ945V 6h(jJ4¥-3H 253 Пс сей 2 34VX'6ZTZ5’3 ДЗДЗ 7^09<ЧШО Из Нарвы, в 28 д. июня 1708. Piter» После расшифрования текст читается следующим образом. «Поди къ Черкаскому и, сослався з губернаторомъ азовским, чини не- медленно съ Божию помощию промысль надъ теми ворами, и которые изъ нихъ есть пойманы, техъ вели вешать по украинским городамъ. А когда бу- дешь в Черкаскомъ, тогда добрыхъ обнадежь и чтобъ выбрали атамана доброго
71 человека; и по совершении ономъ, когда пойдешь назадъ, то по Дону лежащие городки такожъ обнадежь, а по Донцу и протчим речкам лежащие городки по сей росписи разори и над людми чини по указу». Сравнивая шифртекст с открытым текстом, можно частично восстано- вить простую замену: П=7, О = +, Д=Х и т.д. Приведем и другую разновидность шифра простой замены, использо- ванную Петром I. Применительно к современному русскому алфавиту этот шифр имеет вид: А Б В Г Д Е Ж 3 И К л ме ли ко ин зе жу НЮ О пы ра су М Н О П Р С т У Ф X ы ти У хи от ца чуше ам 3 ъ от ц ч Ш щ ъ ы ь Ъ Ю Я ь ъ ю я ф а бе ва гу ДИ Например, слово ТЕБЕ приобретает вид ШЕЖУЛИЖУ Отметим одну важную особенность этой замены. При ее применении шифрованный текст писался слитно, и никаких затруднений при расшифро- вании это не вызывало. Шифробозначения составлены так, что даже при их слитном написании в шифрованном тексте в процессе расшифрования про- блем с однозначным определением открытой буквы не возникает. Например, пусть имеется шифртекст: рахисухиууме Расшифрование связано с разбиением текста на однобуквенные и двухбуквенные сочетания. Однобуквенного сочетания «р» нет в ключевой таблице, следовательно, следует расшифровывать сочетание «Ра», что соот- ветствует букве открытого текста К. Аналогично замечаем, что буква «х» не является самостоятельным обозначением в таблице; следовательно, нужно расшифровывать сочетание «хи», что дает нам открытую букву О. Поступая так и далее, получаем открытое слово КОЛОННА. Использованный прием построения таблицы-ключа лежит в основе некоторых современных методов экономичного кодирования информации. Одновременно отметим, что такой метод шифрования чувствителен к ошибкам шифровальщика (как типа заме- ны буквы на букву, так и типа пропуска-вставки букв в шифрованном тек- сте). Разнозначность шифробозначений букв открытого текста используется и в наши дни. Она существенно затрудняет работу дешифровальщика. Петр I уделял особое внимание надежной рассылке шифров и ключей к ним. Он писал одному из своих посланников: «При этом посылаем к Вам ключ, и ежели посланный здорово с ним поедет, и о том к нам Отпиши, дабы мы впредь нужные письма могли тем ключом писать и посылать». По указу Петра I курьер должен был «как можно меньше знать, что он перевозит, и
72 быть очень довольным оплатой своего труда». Самому же курьеру приказы- валось «... отнюдь ничьей грамотки не распечатывать и не смотреть». Петр I лично проверял и надежность используемых шифров. По одно- му из слабых шифров он дал такое заключение: «Сия цифирь зело к разобра- нию легка». Пересылка шифров и ключей к ним носила порой экзотический харак- тер. Посланцы, передающие столь секретную информацию, иногда несли ее спрятанной в одежде, каблуках и т.д. Одному из своих посланцев Петр I прика- зал «заделать послание в пуговицы его сюртука». Сам Петр I, получая от своих посланников предложения о необходимо- сти введения новых шифров, писал: «Твое послание безопасно получено. Твой шифр смотрел по печати гораздо исмотрительно». Царь безусловно доверял неповрежденной государственной печати Рос- сии, и, к сожалению, нередко ошибался. Подделка печатей к этому времени достигла определенного совершенства. .Большое внимание при Петре I уделялось и «режимным вопросам» ра- боты шифровальных органов. Сотрудники этих органов изолировались от об- щения с «несанкционированными» лицами и получали достаточное матери- альное вознаграждение, охраняющее их от «соблазна». В истории не сохранилось сведения о каких либо успехах русских де- шифровальщиков в петровский период. По-видимому, криптографы того вре- мени занимались в основном защитой собственной секретной информации. «Черный кабинет» в России появился лишь при Елизавете. При Екатерине I руководителем криптографической службы становится канцлер А.И. Остерман. В эти годы разрабатываются новые шифры. Появляются алфавитные, а затем и неалфавитные коды. Кодированию подлежали фразы, слова, слоги и буквы. Суплемент в этих кодах включал в себя замену имен, географических названий и т. д. Начали активно применяться буквенно-цифровые шифры замены с введением пустышек. Так, например, если 29 - шифробозначение буквы А, а пустышками являются цифры 3 и 7, то при зашифровании буква А могла пре- вратиться в любое число из: 29, 239, 729, 279, 293 и т. д. При расшифровании пустышки вычеркивались, и полученное число 29 расшифровывалось в А. В инструкции к такому шифру отмечалось «Сим образом на всяку литеру, по малой мере, шесть номеров, которы знаемы будут токмо тому, кто ведает, что 3 и 7 ничего тут не значать. Следственно, яко оне бы не были, но едино 29 будет видеть». Появились шифры омофонной (многозначной) замены. В первых та- ких шифрах гласным буквам, как наиболее частым в тексте, придавалось по 6 шифробозначений, а согласным — по 2. Например,
73 А Б В Г д Е Ж 3 И К Л М Н 12 13 14 15 16 17 18 19 20 21 22 23 41 42 43 44 45 46 47 48 49 50 51 52 53 71 72 73 60 61 62 83 84 85 95 96 97 Очевидные закономерности в образовании замены существенно ос- лабляли этот шифр. Затем появилась идея придавать всем буквам одно и то же количество шифробозначений, однако и здесь присутствовали закономерности, облег- чающие пользование шифром и одновременно ослабляющие его. Например, для латинского алфавита предлагалось использовать такую омофонную замену: А 11 12 13 14 15 В 16 17 18 19 20 С 21 22 23 24 25 Z 131 132 133 134 135 Агентурные шифры простой замены в интересах простоты запомина- ния предлагались в вариантах, не требующих специальных документов. Пусть, например используется латинский алфавит А, В, С,..., Z. Агенту нужно запомнить лишь следующие правила: буквы I и J, а также V и W не отличаются друг от друга и записываются как I и V, соответственно; - оставшиеся 24 буквы разбиваются на блоки длиной 7- 6-6-5; - алфавит выписывается поблочно в обратном порядке, внутри каждого блока естественный порядок букв. Получаем: STUVXYZ - MNOPQR - FGHIKL - ABCDE Замена определена здесь следующим способом: ABCDEF GHI KLMNOP QR STUVXYZ S TUVX YZMNOPQ R F GH I KLA BCDE Слово CONFIDENT зашифровывается в слово UFRYNVXRL.
74 Аналогичный шифр можно построить, запомнив числа 13 и 11 , 13+11=24. Таким образом, агентурные шифры тех времен являлись ослаблен- ным вариантом шифров простой замены. Ослабление было вызвано необхо- димостью легкого запоминания шифра. Такие шифры можно истолковывать как некоторое усиление шифра Цезаря. Зато при захвате агента никаких ма- териальных улик, свидетельствующих об использовании им шифрованной связи, не обнаруживалось. Простота запоминания, безуликовость стали есте- ственным требованием к агентурным шифрам, которые достигались за счет снижения их криптографической стойкости. В переписке 1735 года можно найти символические обозначения имен, должностей и др., которые не зашифровывались при шифровании и имели вид религиозно-мистических знаков. Например, зарубежные агенты России обозначались знаками: приятель & приятель ® приятель приятель 0 Криптографические службы России в этот период работали в тесном контакте с агентурно-разведывательными органами. Нередко агенты получа- ли задание добывать шифры иностранных государств, а также перехватывать их шифрованную переписку. Приведем один пример. Командующий русскими войсками в Крыму и Бесарабии генерал- фельдмаршал Г.Ф. Миних отправляет одному из своих агентов (поручику Ле- вицкому) следующее послание: «Понеже из Швеции послан в турецкую сто- рону с некоторой важной комиссией и с письмами майор Синклер, который едет не под своим, а под именем одного, называемого Гогберг, которого ради высочайших Ея Императорского Величества интересов всемерно потребно зело тайным образом в Польше перенять и со всеми имеющимися при нем письмами». Далее послание-приказ содержал инструкцию: добыть информа- цию любым путем, вплоть до убийства гонца. Особое место в нем занимали указания о сокрытии следов преступления. Это поручение агент выполнил весьма профессионально. Однако исполнитель весьма деликатного дела был сразу арестован по надуманному предлогу и сослан на 5 лет в Сибирь (для
75 более полного сохранения тайны). По окончании ссылки агент вернулся на государственную службу и получил следующий воинский чин. Окончательно «черный кабинет» был создан в России в конце XVIII века при Екатерине И. Однако тайная государственная служба перехвата, перлюстрации и дешифрования писем начала создаваться гораздо раньше, еще в начале века. В середине XVIII века, при царице Елизавете Петровне, была учреж- дена секретная служба перлюстрации. Ее возглавил канцлер А.П. Бестужев- Рюмин. Он был сторонником сближения России с Англией и Австрией, чем вызвал, по отношению к себе, оппозицию со стороны сторонников связи Рос- сии с Францией и Пруссией. Дешифрованная корреспонденция докладывалась непосредственно императрице, которая с большим вниманием относилась к этой стороне госу- дарственной деятельности. Основной перехват почты осуществлялся через почтамт Петербурга, руководителем которого был Ф. Аш. Этот почт- директор подчинялся непосредственно Бестужеву-Рюмину. Технические проблемы безуликовости вскрытия писем (депеш) были весьма значительны. Так, Ф. Аш жаловался Бестужеву: «... Куверты не токмо по углам, но и везде клеем заклеены, и тем клеем обвязанная под кувертом крестом на письмах нитка таким образом утверждена была, что оный клей от пара кипятка, над чем письма я несколько часов держал, никак распуститься и отстать не мог. Да и тот клей который под печатями находился (кои я ис- кусно снял) однако ж не распустился. Следовательно же, я к превеликому мо- ему соболезнованию никакой возможности не нашел оных писем распечаты- вать без совершенного разодрания конвертов. И тако я оные паки запечатал и стафету в ея дорогу отправить принужден был...» Возникали проблемы и с подделкой поврежденных печатей. В штате ведомства' Аша имелся мастер «печатнорезчик», специалист своего дела. Но и он не всегда умел справиться с возложенными на него обязанностями. Заме- тим, что печати того времени были весьма «замысловатыми»; они отпечаты- вались на красном сургуче. При появлении явных ошибок в подделывании печатей Бестужев-Рюмин указывал, что «... оные печати вырезать с лучшим прилежанием, ибо нынешняя нейгаузова не весьма хорошего мастерства». Неудачным резчиком печатей оказался француз Купи, и Елизавета рекомен- довала подобрать резчика «из российских такого мастера или резчика приис- кать». Значительные достижения российской дешифровальной службы свя- зываются с именем известного математика Христиана Гольдбаха (1690- 1764). Этот немецкий ученый был приглашен Петром I в Россию в начале XVIII века. Он прибыл в Россию в период организации Академии наук Рос- сии и затем стал ее секретарем. Он работал вместе с видными учеными Рос-
76 сии: братьями Николаем и Даниилом Бернулли, Леонардом Эйлером и др. Математическая специализация Гольдбаха - теория чисел и математический анализ. В России Гольдбах сдружился с Эйлером, и именно в их переписке возникли известные математикам «проблемы Гольдбаха», одна из которых формулируется достаточно просто: Всякое число, большее или равное трем, может быть представлено в виде суммы трех простых чисел. По-видимому, именно Бестужев-Рюмин предложил привлечь Гольд- баха в криптографическую службу России. Гольдбах стал первым профес- сиональным дешифровальщиком в истории криптографической службы Рос- сии. Гольдбах быстро добился успехов в дешифровании иностранной пе- реписки. Так, с июля по декабрь 1743 года им было дешифровано более 60 писем лишь «министров прусского и французского дворов». Среди прочих дешифрованных им документов было письмо-послание посла Франции в Рос- сии маркиза де ла Шетарди. Содержание письма было оскорбительным для Елизаветы. Она характеризовалась как женщина, «находящаяся в плену сво- их прихотей» и за которую ее фавориты решают государственные дела; она является «довольно фривольной и распущенной женщиной» и т. д. Такие сло- ва, естественно, не могли оставаться без последствий. В результате посол Шетарди был выдворен из России. Анализ материалов тех лет показывает, что до Гольдбаха перехвачен- ные письма копировались на почте только по «клеру», то есть по кускам от- крытого текста, содержащихся в письмах. Шифрованная часть не копирова- лась. С момента появления Гольдбаха в «черном кабинете» России Бестужев- Рюмин дал распоряжение Ашу копировать письма целиком. Аш старался вы- полнить распоряжение, но у него постоянно возникали проблемы с бузулико- востью вскрытия писем. Гольдбах стремился разъяснить Бестужеву-Рюмину серьезные про- блемы его работы по дешифрованию. Он, в частности, подчеркивал необхо- димость абсолютно точного копирования перехваченных писем. Он просил «каждое число или каждую цифру весьма прилежно свидетельствовать», по- скольку ошибки копировальщика значительно затрудняют работу дешифро- вальщика. Ранее уже .отмечались примеры влияния ошибок шифровальщика на возможности расшифрования посланий. Еще большие сложности преодо- левает дешифровальщик при наличии ошибок в шифртексте, допущенных при копировании шифрованных сообщений. Императрица высоко оценила труды Гольдбаха. Помимо больших де- . нежных вознаграждений он получил очень высокое звание - тайный совет- ник. Отметим, что знаменитый математик того времени Л. Эйлер, несмотря на все его научные достижения, такого звания не получил.
77 Дешифрованные Гольдбахом материалы оказывали заметное влияние на внутреннюю и внешнюю политику России. Узнав об успехах русских дешифровальщиков, французы спешно ме- няли шифры. Более того, иногда они предлагали перед зашифрованием изло- жить сообщение на жаргонном коде. Так, посланец Людовика XV в Россию Дуглас, приехавший под видом торговца мехами, использовал соответст- вующий мехам код. В нем выражение «рысь в цене» означало успешное влия- ние австрийцев при русском дворе; «соболь падает в цене» - падение влияния австрийцев; «горностай в ходу» - усиление противников австрийской партии ит.д. Тем не менее, в конце XVIII века дешифровальная служба России держала под контролем всю французскую дипломатическую переписку. Это объяснялось как успехами в области аналитической разработки шифров, так и активной агентурной работой по добыванию французских шифров, вербовкой • агентуры в Министерстве иностранных дел. Франции. Еще одной яркой личностью в истории российской криптографии яв- ляется известный ученый, математик и физик, немец по национальности • Франц Ульрих Теодор Эпинус (1724-1802). Его труды в области электриче- ства и магнетизма известны современным специалистам. Он одним из первых начал применять точные математические методы йри исследовании физиче- ских явлений. В середине XVIII века Эпинус был приглашен в Россию с целью про- ведения криптографически-дешифровальных работ. Это приглашение напра- вил руководитель Коллегии иностранных дел граф Н.И. Панин. Эпинус при- глашение принял. Такие приглашения иностранных ученых на службу в Рос- сию очень часто оправдывали себя. Собственных специалистов соответст- вующего уровню Европы в России, к сожалению, не было, что можнообъяс- нить предшествующей суровой историей нашего государства. Эпинус был «пожалован статским советником и определен при Кол- легии иностранных дел при особливой должности», то есть в должности де- шифровальщика. За успешную работу он получил звание действительного статского советника. К сожалению, фактических сведений о дешифровальной деятельности Эпинуса, кроме упоминаний о том, что она была эффективной, до сих пор не обнаружено. В середине XVIII века появились первые отечественные криптогра- фы. Среди них выделяются Ерофей Каржавин и его племянник Федор Каржа- вин. Ерофей Никитович Каржавин (1719-1772) родился в семье, занимав- шейся мелкой торговлей в Москве. Он получил образование в Париже (в Сорбонне), стал ученым - лингвистом. После возвращения в Россию он был
78 назначен на должность переводчика и составителя шифров в Коллегию ино- странных дел. Ерофей Каржавин впервые перевел на русский язык «Путешествия Гулливера» Дж. Свифта, написал труд «Заметки о русском языке и алфавите». Федор Каржавин (1745-1812) обладал хорошими способностями в изу- чении иностранных языков, а также в физике. По возвращении из Парижа, где проходил обучение, он, как и его дядя, Ерофей Каржавин, был назначен в Кол- легию иностранных дел. Находясь в должности переводчика, он привлекался к составлению шифров, а также участвовал и в дешифровальной работе. Ф. Каржавин - современник и единомышленник Радищева, предшест- венник декабристов, участник американской революции. Значительную по- ложительную роль в его судьбе сыграл русский архитектор Баженов. Во вре- мя обучения Ф. Каржавина во Франции посол России в Париже князь Голи- цын так характеризовал российского студента: «Из сего молодого человека может быть со временем искусный профессор». По возвращении в Россию Каржавин работал учителем в семинарии при Троице-Сергиевой лавре. Нера- дивым семинаристам он говорил: «Ты, малый, с ленцой, не пылаешь жаждой знаний, ну и незачем тлеть». Содержательный вклад Каржавиных в российскую криптографию до сих пор не изучен: Ясно одно, Каржавины стали первыми отечественными профессиональными криптографами и внесли свой весомый вклад в развитие криптографической службы России. С середины XVIII века в России стали использоваться новые шифры. Их основные отличия от предшествующих шифров заключались в следую- щем. Во-первых, на русском языке начали активно применяться коды, ко- торые тоже называли цифровыми азбуками (шифрами), на большое количе- ство букв, слогов, слов, фраз и т. д.; их число уже достигало 1200. Как прави- ло, это были алфавитные коды с цифровыми шифробозначениями. Наиболее частым буквам, слогам, и т. д. придавалось несколько шифробозначений. Та- ким образом, использовался шифр омофонной замены, но на уровне не толь- ко букв, но и буквосочетаний. Коды менялись регулярно, поскольку ключом такого шифра являлся сам код - таблица замены. Во-вторых, увеличилось число «пустышек», вставляемых в шифро- ванный текст. По этому поводу в одной из инструкций по пользованию шиф- рами указывалось: «Пустые числа писать где сколько хочется, только чтобы на каждой строке было сих чисел не меньше трех или четырех». Так обозна- чался лишь нижний уровень количества вставок «пустышек», а верхняя гра- ница не устанавливалась. И еще: «Не начинать пиесы (шифрованного посла- ния) значащими числами, но пустыми ...» Тем самым начало истинного
79 шифрованного текста в послании скрывалось пустышками. Конечно, исполь- зование пустышек усиливало шифр. Определенной новостью в таких шифрах являлось вставление в их кодовый сдоварь «особых чисел», шифробозначения которых определяло те части шйфртекста, которые при расшифровании следует считать пустышкой. Так, например, если при расшифровании появлялся знак + (ему, конечно, со- ответствовало несколько шифробозначений), то это означало, что следующее шифробозначение в шифрованном тексте йе следует принимать во внимание, оно ничего не значит. Два ++ означали, что следует пропустить при расшиф- ровании следующие две шифрвеличины. Три +++ — три шифрвеличины; получение знака = при расшифровании означало, что следует не расшифро- вывать все оставшиеся в строке шифробозначения. Некоторые знаки говори- ли о том, что следует уничтожить некоторые ранее расшифрованные знаки и т.д. ,• Для затруднения опознавания типа шифра предлагались меры, маски- рующие его. Например, для шифра, использующего трехзначные числа, предлагалось произвольно переводить эти числа в четырехзначные, добавляя произвольно первую цифру, означающую тысячи: 326 можно записать как 1326, или 5326 и т.д. Можно было вставлять и 0 в любое место трехзначного числа и т. д. Практиковался при написании секретного послания переход с русско- го языка на другие (французский, немецкий). Для каждого языка использова- лись свои собственные шифробозначения. В связи с чем статистический под- счет частот появления знаков при дешифровании существенно затруднялся, поскольку смешивались статистические характеристики различных языков. В ряде случаев в шифрах использовалась замена не только букв, но и биграмм, слов. В таких шифрах повторение в открытом тексте одного и того же слова приводило к различным шифробозначениям в шифрованном тексте. Большое внимание уделялось сохранению тайны шифра. В одной из инструкций говорилось: «... Негь въ свете ни труда, ни прилежания, коими бъ не должно жертвовать сохранению цыфръ, когда сему превращению вве- ряются часто великие государственные тайности». Коллегия иностранных дел постановила, что всем сотрудникам шифровальной службы «ни с кем из посторонних людей об этих делах не говорить, не ходить на дворы к чуже- странным министрам и никакого с ними обхождения и компании не иметь». Коллегия иностранных дел внимательно следила за сохранностью шифров. Когда стало известно, что один из канцелярских служащих при по- сланнике России в Гданьске потерял шифр, руководители коллегии граф Н. Панин и граф И. Остерман сделали посланнику России Волчкову строгое предупреждение: «.. .Признано здесь за нужно подтвердить Вам в то же вре- мя единожды навсегда, чтоб Вы сами впредь хранили у себя цифирные ключи
80 и заочно не выпускали их из рук, в чем и обязываетесь Вы Вашею присягою верности Ея Императорскому Величеству». Екатерина II лично уделяла большое внимание шифрованию сообще- ний. Так, направляя Алексея Орлова в Европу с разведывательным заданием, она снабдила его «нарочно сочиненным цифровым ключом», добавив, что «этот ключ используется для корреспонденции вашей с Нами, которая по важности предмета своего требует непроницаемой тайны». Орлову были да- ны также отдельные шифры «на российском, немецком и французском язы- ках для переписки при необходимости с русскими послами при государст- венных дворах». Для обеспечения шифрованной переписки к Орлову были прикреплены надежные и способные «служители канцелярские». В эти же годы в России получили распространение «циркулярные шифры», то есть общие шифры у послов и Коллегии иностранных дел, что позволило оперативно передавать послам единые указания, установки и т. д. Начало такой практики прослеживается с петровских времен. Таким образом, создание сети общей шифрованной связи в России можно отнести к середине XVIII века. Общий шифр получил название «гене- ральная цифирь». Вместе с ним сохранились и «индивидуальные» шифры для связи центра с корреспондентами сети. У каждого корреспондента, как пра- вило, имелось несколько индивидуальных шифров. При возникновении подозрений о попадании шифра к противнику он тут же заменялся. Применение шифров рекомендовалось чередовать, указы- вая использованный шифр специальным скрытым образом («маркантом») в начале шифрованного послания. Маркант обычно запрятывался среди пус- тышек. Н.И. Панин рекомендовал в особых случаях использовать симпатиче- ские чернила для записи шифрованного текста между строк видимого маски- ровочного текста и отправлять эти письма специальным курьером, а не по почте. Таким образом, здесь объединялись все три метода защиты информа- ции: физическая защита носителя, стеганография и криптография. В одном из писем в Берлин Панин писал: «Не имея под рукой симпатических чернил, к помощи которых я обычно прибегаю, сегодня при написании прилагаемого письма я использовал лимонный сок. Следовательно, при обработке не следу- ет опускать его в азотную кислоту, а надо подогреть». Русская разведка с середины XVIII века использовала интересный прием для получения интересующей ее информации по линиям шифрованной связи. Этот прием используется и в наши дни. В данном случае речь идет не о «пассивном» дешифровании, а о побуждении противника к отправлению по линии связи, находящейся под контролем разведки, интересующей информа- ции. Эту идею можно проиллюстрировать следующим образом.
81 Пусть разведка Р контролирует, то есть перехватывает и дешифрует, линию связи от корреспондента А к корреспонденту Б. Разведка, используя свои возможности, побуждает А отправить Б информацию по интересующе- му Р вопросу. Таким образом Р получает требуемую информацию. Побудить А отправить нужное послание - дело непростое; успех зависит, в частности, от возможностей Р влиять на А. Приведем примеры такого действий. В самом начале XIX века из Петербурга русскому послу в Берлине сообщили: «В нашем распоряжении есть шифры, с помощью которых пере- писываются король Пруссии со своим поверенным в делах в России. В слу- чае, если у Вас возникнут подозрения в вероломстве министра иностранных дел Пруссии графа Кристиана фон Хаунвитца, то Ваша задача будет состоять в том, чтобы под каким-то предлогом заставит его написать сюда письмо по интересующему нас вопросу. И сразу же, как только будет дешифровано его письмо или письмо его короля, я проинформирую Вас о содержании». В XVIII веке криптографические методы защиты информации про- никли и во внегосударственные сферы. Их стали применять различные тай- ные организации, уголовный мир и т.д. В России появились ложи масонских направлений, которые традиционно использовали криптографические мето- ды. В связи с этим государственные криптографические органы России обра- тили внимание и на эти организации. Шифры, используемые этими организациями, как правило, не явля- лись стойкими, что вполне объяснимо. Профессиональные криптографы по- являлись в их среде крайне редко. Масоны, возродившиеся на Руси при Павле Петровиче, использовали свои традиционные «экзотические» шифры простой замены. Мать Павла, Екатерина II относилась к масонству крайне отрица- тельно, но Павел, еще будучи великим князем, взял их под свое личное по- кровительство. Екатерина II повелела взять переписку масонов под контроль. Соответствующее указание она передала московскому почт-директору И.В. Пестелю, отцу декабриста Павла Пестеля. Итак, шифры масонов являлись недостаточно стойкими. Но следует принять во внимание следующий факт. Само открытое сообщение масоны формулировали в форме мистико-символического послания, истинный, смысл которого был доступен лишь «посвященному». Здесь появляются так назы- ваемые «семантические шифры», в которых заменяется не форма, а содержа- ние послания; форма же остается вполне осмысленной для любого читателя, а истинное содержание должен был понять лишь тот, кому сообщение направ- лено. ’ Вольные каменщики придерживались следующего правила: «Символ представляет мысли свободу; догмат сковывает, подчиняет. Язык в ложах наших иносказательный». В одной из масонских инструкций указывалось: «Каменщик должен всячески вникать в таинственные обряды наших лож, где
82 каждый предмет, каждое слово имеет пространственный круг значений и сие поле расширяется, подобно как, всходя на высоту, по мере того как возвыша- ется, то видимый нами горизонт расширяется». В результате дешифрования масонской переписки был посажен в Шлиссельбургскую крепость один из руководителей масонского движения в России Н.И. Новиков - известный издатель, литератор и публицист. Позднее другой масон, сенатор Й.В. Лопухин, жаловался: «Открывали на почте наши письма, и всех моих писем копии, особливо к одному тогда приятелю, быв- шему в чужих краях, отсылались к Государыне». Таким образом, перехват и дешифрование повернулись внутрь страны и стали эффективным оружием в борьбе с «инакомыслящими». Эта практика в дальнейшем использовалась в России (как, впрочем, и в других странах) весьма активно. Параграф 1.3 Модели шифров по К. Шеннону. Способы представ- ления реализаций шифров Одним из первых ввел и систематически исследовал простую и есте- ственную математическую модель шифра К. Шеннон. Эту модель можно най- ти, например, в его книге «Работы по теории информации и кибернетике», 1963 (раздел «Теория связи в секретных системах»). Он рассматривал так на- зываемые «секретные системы», в которых смысл сообщения скрывается при помощи шифра или кода, но само шифрованное сообщение не скрывается, и предполагается, что противник обладает любым специальным оборудованием, необходимым для перехвата й записи передаваемых сигналов. Рассматривается только дискретная информация, то есть считается, что сообщение, которое должно быть зашифровано, состоит из последова- тельности дискретных символов, каждый из которых выбран из некоторого конечного множества. Эти символы могут быть буквами или словами некото- рого языка, амплитудными уровнями квантованной речи или видиосигнала. Ядром секретной системы является собственно шифр. Алгебраическая модель шифра. Пусть X, К, У - некоторые конечные множества, которые названы, со- ответственно, множеством открытых текстов (открытых сообщений), множе- ством ключей и множеством шифрованных сообщений (криптограмм). На прямом произведении ХхК множеств X и К задана функция (отображение) f:
83 ХхК—>У (f(x,%)=y, xgX, %gK, уеУ). Функции f соответствует семейство ото- бражений fz: X—>У, хеК, каждое отображение задано так: для хеХ t fz(x)=f(x,x). Таким образом, fx - ограничение f на множестве Хх{х}. Здесь {х} - множество,’ состоящее из одного элемента. Заметим, что задание семейства отображений (fx)xeK , fx:X—>У однозначно определяет отображение f:XxK->y, f(x,x)=fx(x). Введенная четверка A=(X,K,y,f) определяет трехосновную универ- сальную алгебру, сигнатура которой состоит из единственной функциональ- • ной операции f. Определение. Введенная тройка множеств Х,К,У с функцией f:XxK—>У A=(X,K,y,f), - называется шифром (алгебраической моделью шифра), если выполнены два условия: 1) функция f- сюрьективна (осуществляет отображение «на» У); 2) для любого Х*=К функция fx инъективна (образы двух различных элементов различны). Из 2) вытекает, что |Х|<|У|. Запись f(x,x)=y называется уравнением шифрования. Имеется в виду, что открытое сообщение х зашифровывается шифром на ключе х и получает- ся шифрованный текст у. Уравнением расшифрования называют запись fx’1(у)=х (f 1(у,х)=х)» подразумевая, что шифрованный текст y=f(x,x) расшиф- ровывается на ключе х и получается исходное открытое сообщение х. Для краткости, в ряде случаев используют и более простые обозначения уравне: ний шифрования и расшифрования, а именно, соответственно: Хх=у и х’1у=х. Требование инъективности отображений (fx)X€K в определении шифра равносильно требованию возможности однозначного расшифрования крипто-. граммы (однозначного восстановления открытого текста по известным шиф- рованному тексту и ключу). Требование же сюрьекгивности отображения f не играет существенной роли и оно обычно вводится для устранения некоторых технических, с точки зрения математики, дополнительных неудобств, то есть для упрощения изложения. В ряде случаев мы будем отказываться от этого требования, если его наличие будет усложнять описание или анализ шифра. Таким образом, наличие или отсутствие сюрьекгивности отображения f в ис- пользуемом определении шифра будет следовать из текста. Введенная модель шифра отражает лишь функциональные свойства шифрования и расшифрования в классических (с точки зрения истории крип- тографии) системах шифрования (в системах с симметричным ключом). В этой модели открытый текст (или шифрованный текст) - это лишь элемент абстрактного множества X (или У), не учитывающий особенностей языка, его
84 статистических свойств, вообще говоря, не являющийся текстом в его при- вычном понимании. При детализации модели шифра в ряде случаев указыва- ют природу элементов множеств. Рассмотрим примеры. Обозначим через I некоторый алфавит, а через I* - множество всех слов в алфавите I, то есть множество конечных последовательностей (ibiz,-•Ль), ij€l,je{l,...,L},Le{l,2,....} Шифр простой замены. Пусть Х=М - некоторое подмножество из I*, а К - множество всех подстановок на I (K=S(I) - симметрическая группа под- становок на I). Для каждого geK определим fg , положив для б1Д2,...Дь) из М fg( ibh,.- • -,iL)=g(ii),g(i2),- • -,g(ii.)- Положем дополнительно f(ii,i2,...,iL,g)= fg( ii,i2,---,iL) и y=f(M)={f(ii,i2,...,iL,g): geS(I), (ii,i2,...,ib)6M}. Таким образом, нами опреде- лен шифр А=(М, S(I), У, f) простой замены, более точно: алгебраическая мо- дель шифра простой замены с множеством открытых текстов Х=М. Иногда в качестве шифра простой замены выступает шифр, в котором XaIuI2o...kJlL и для шифрования открытых текстов длины к слов выбирается подстановка gk из S(I). Шифр перестановки. Положим X - множество открытых (содержа- тельных) текстов в алфавите I длины, кратной Т. K=St - симметрическая группа подстановок степени Т, для ge St определим fg> положив для (11,12,---,1т)бХ fg(ii ,i2, • • -,iT)=(ig(i),ig(2),- • -,ig(T)); доопределим fg на остальных элементах из X по правилу: текст хеХ делится на отрезки длины Т, и каждый отрезок длины Т шифруется на ключе g по ука- занному выше закону шифрования. Последовательность, составленная из букв образов зашифрованных слов, является шифрованным текстом, соответсвет- свующим открытому тексту х и ключу g. Таким образом, нами определена функция ТХхК->У и шифр перестановки (X,Sj,y,f). Для шифрования текста длины, не кратной Т, его дополняют буквами до длины, кратной Т. Шифр гаммирования. Пусть буквы алфавита I упорядочены в неко- тором естественном порядке. «Отождествим» номера этих букв с самими бу- квами. То есть формально положим 1={1,2,...,п}, |1|=п. Положим, X - некото- рое подмножество множества IL, KgIl. Для ключа у=уьу2,...,уь из К и открытого текста х= ii,i2,...Ль их X, по- ложим, fY(ii,i2,...,к)=У1 ,Уг,-• • ,Уь где yj=ij+yj mod(n), je {1,...,L}. Часто под шиф- ром гаммирования понимают и следующие способы шифрования: yj=ij-yj; УГУг ijmod(n).
85 Поточный шифр. Шифр поточной замены. Введем сначала вспомо- гательный шифр (I,r,y,f) для шифрования букв алфавита I. Для ключа у( еГ, и буквы (открытого текста) iel шифрованный текст имеет вид fY1(i)=y. Обо- значим через К - множество ключей поточного шифра. Для натурального числа L введем отображение Ф: К—>TL, для фиксированного ключа %еК по- ложим Ф(х)=У1,У2>--->Уг- Поточный шифр (IL,K,F,y') для вспомогательного шифра (X=I,K=r,y,f) шифрует открытый текст ii,12,- • - Jl на ключе %еК по правилу Fx(ii,i2,...,iL)= fT,(ii), fY2(i2),.• • > ^(k), где fY(i)=f(i,y). Поточным шифром замены мы называем поточный шифр, для кото- рого опорный шифр имеет вид (X=I,K=r,y=I,f), a (fY)Yer - семейство подста- новок на I. Примерами поточных шифров служат шифры гаммирования, шифры простой замены. Поточный шифр с опорным шифром вида: I=K={l,2,...,n}, f(i, y)=i+y mod |1| также называют шифром гаммирования. При этом условно различают программный шифр гаммирования, в случае |K|<|I|L, и случайный шифр гаммирования, в случае K=IL, Ф - тождественное отображение. Более общее понятие поточного шифра состоит в том, что в ка- честве множества открытых текстов рассматриваются все последовательности алфавита I длины, не превосходящей некоторого L(0). Для шифрования тек- стов длины L изпользуется гамма ФьСх^ьТг.-^Уь Таким образом, исполь- зуются L функций Ф^ j g {1,... ,L(0)}. Ряд специалистов, в частности Алиев Ф.К., считают, что приведенный шифр следует называть поточным лишь в случае, когда существует ключ Хе К, при котором не все функции fYi, fY2,..’., fYL одинаковы. В противном слу- чае, шифр следует называть блочным шифром. Произведение шифров. Произведением шифров А1=(ХЬК1,У1,Г1), А2=(Х2,К2,У2,Г2), У,сХ2 на- зывают шифр A=(X,,K|XK2,y2,f), для которого f(x,(xi,X2))=f2(fi(x,Xi),X2), (Xi,X2)gK,xK2. Транзитивность шифра. Шифр A=(X,K,y,f) называют транзитивным, если при любых хеХ и уеУ найдется %еК, при котором f(x,x)=y. Исходя из введенных определений, легко доказывается, что для транзитивного шифра |Х|<|У|<[К[. Основные параметры шифра (/Про/ и др.). Ряд требований к шиф- рам формулируется с использованием понятий, точное определение которых будет дано позднее. Тем не менее, на качественном уровне понимания эти па- раметры можно трактовать следующим образом.
86 Стойкость шифра. Ряд шифров являются совершенными в том смысле, что положение противника, стремящегося к их дешифрованию, не облегчается в результате перехвата шифртекста, то есть наличие криптограммы не умень- шает неопределенности в возможном выборе открытого текста. Такие шифры относят к так называемому классу теоретически стойких шифров. Ряд шиф- ров, а это многие практически используемые шифры, таковы, что эта неопре- деленность при перехваченной криптограмме полностью исчезает, то есть с!ановится известным, что данная криптограмма может быть получена шиф- рованием только единственного открытого текста (неизвестно только - како- го). Уровень стойкости таких систем оценивается по затратам времени и сил, необходимых для получения этого единственного открытого текста. При больших затратах или малой вероятности успеха в дешифровании - говорят, что шифр практически стойкий. Объем ключа. Ключ шифрования (он же ключ расшифрования) должен быть неизвестен* противнику и находиться как в передающем пункте связи, так и в приемном пункте. Обычная практика использования ключа состоит в том, что он используется как одноразовый шприц - единожды, при шифровании лишь одного открытого текста. Для регулярной связи корреспондентов, следова- тельно, надо иметь в их пунктах связи достаточно большое количество клю- чей, то есть должна решаться задача секретной доставки ключей. Эта задача решается более просто, если объем каждого ключа сравнительно небольшой. Сложность выполнения операций шифрования и расшифрования. Эти операции должны быть по способу выполнения по возможности простыми. Если они выполняются вручную, то. их сложность приводит к большим затра- там времени на их выполнение и появлению ошибок. При использовании шифровальной аппаратуры возникают вопросы о простоте технической реа- лизации аппаратуры, ее стоимости, а также о достижении необходимой ско- рости выполнения операций, связанных с процессами шифрования и расшиф- рования. Разрастание числа ошибок. В некоторых типах шифров ошибка в одной бу- кве, допущенная при шифровании, приводит к большому числу ошибок в расшифрованном тексте. Такие ошибки разрастаются в результате операций расшифрования, вызывая значительную потерю информации, и часто требуют повторного зашифрования текста и передачи новой криптограммы. Естест- венно, при выборе шифра для связи стараются минимизировать это возраста- ние числа ошибок. Помехоустойчивость шифра. При действии помех в линиях связи происхо- дит искажение текста криптограммы, что приводит при расшифровании к ис- кажениям открытого текста, а зачастую и к нечитаемости текста. Свойство шифра противостоять разрастанию ошибок при расшифровании текстов .назы- вают его помехоустойчивостью.
87 Имитостойкость шифра. К активным действиям противника в канале связи относят его попытки навязать абоненту сети связи ложную информация путем искажения шифрованного текста в канале связи, либо его замене на ранее переданный шифртекст, а также и другие действия противника, ведущие к принятию ложной информации. Шифры, обладающие свойством противосто- ять таким попыткам навязывания ложной информации, называются имито- стойкими. Увеличение объема сообщения. Для некоторых шифров объем сообще- ния увеличивается в результате операции шифрования. Этот нежелательный эффект проявляется, например, при попытке выровнять статистику сообщения путем добавления некоторых вспомогательных симолов («пустышек»), или при рандомизации открытого сообщения, то есть, по сути, применения к нему некоторого пропорционального кода. Основные свойства модели шифра. Важным классом шифров являются введенные выше так называемые транзитивные шифры, то есть шифры, для которых уравнение Дх,х)=у раз- решимо относительно %еК при любых парах (х,у)еХхУ и так называемые t - транзитивные шифры, шифры, для которых система уравнений f(x(j),x)=y(j), je {1,...,t} имеет решение относительно х^К для любых подмножеств {x(l),x(2),...,x(t)}czX мощности t и любых подмножеств {у(1),у(2),...,у(0}сУ мощности t. Эндоморфный шифр. Другой важный класс шифров представляют так называемые эндо- морфные шифры (термин предложил К. Шеннон), то есть шифры (Х,К,У,1), для которых множество открытых текстов X совпадает с множеством крипто- грамм У. Для таких шифров (X,K,y,f) каждое преобразование fz, уеК являет- ся биекцией X в X (подстановкой на X). Множество таких биекций обознача- ют через II(K,f)={fx: Х*=К}, а сам эндоморфный шифр - через A=(X,II(K,f)) и называют подстановочной моделью эндоморфного шифра. При этом под ключом этого шифра понимают биекцию тгеП(К,Г). Уравнение шифрования записывают в виде ях=у, уравнение-расшифования записывают в виде 7г‘*у=х. Групповой шифр. Эндоморфный шифр, у которого множество подстановок n(K,f) является смежным классом по некоторой подгруппе из S(X), называют групповым , шифром. Транзитивный шифр, для которого |Х|=|К| называют минимальным шифром.
88 Для эндоморфных шифров Ai=(X,II(K|,fi)) A2=(X,II(K2,f2)) используют введенное ранее понятие произведения шифров А|-А2=(Х, П(К|,Г|)> n(K2,f2), где II(Ki,fi)- II(K2,f2)={7ti7t2:7tiGlI(Ki,fi), ЛгбПСКгДг)}. Очевидно, произведение эндоморфных шифров будет транзитивным шифром, если таковым яаляется хотя бы один из них. Эквивалентные ключи шифра. Определение. Ключи %, %' шифра (Х,К,У,1) называются эквивалент- ными, если при любом xgX f(x,x)= f(x,x')- Вероятностная модель шифра. Одно из важнейших предположений. К.Шеннона при исследовании секретных систем состояло в том, что каждому возможному передаваемому сообщению (открытому тексту) соответствует априорная вероятность, определяемая вероятностным процессом получения сообщения (см. ниже параграф 3.3 и главу 4) Аналогично, имеется и априор- ные вероятности использования различных ключей шифра. Эти вероятност- ные расределения на множестве открытых текстов и множестве ключей ха- рактеризуют априорные знания криптоаналитика противника относительно используемого шифра. При этом Шеннон предполагал, что сам шифр извес- тен противнику. Определение. Вероятностной моделью шифра называется его алгеб- раическая модель с заданйыми дискретными независимыми вероятностными распределениями Р(Х)-(р(х), хеХ), Р(К)=(р(х), хеЮ на множествах X и К . Естественно, вероятностные распределения на X и К индуцируют ве- роятностное распределение Р(У)=(р(у),уеУ) на У, совместные распределения Р(Х,К), Р(Х,У), Р(У,К) и условные распределения Р(Х/у)=(р(х/у), xgX) и Р(К/у)=(р(х/у),хеК). Вероятностной модели шифра соответствует так называемая матрица ||р(у/х)|| размера |Х|х|У| переходных вероятностей шифра, составленная из условных вероятностей р(у/х) - вероятности зашифрования открытого текста х в криптограмму у при случайном выборе ключа х^К в соответствии с Р(К). Совершенные шифры. При определении теоретической стойкости шифра используют вероятностную модель шифра и следующие рассуждения. Зная шифр и априорные вероятности открытых текстов и ключей, об- ладая перехватом шифртекста уеУ, противник может вычислить условные вероятности р(х/у) при всех xgX. Если при этом окажется, что один из эле- ментов х(0) их X имеет значительную вероятность р(х(0)/у)=1-8, а все осталь- ные элементы их X, вместе взятые, имеют вероятность р(х / у) = 8, то х*х(0)
89 это означает, что с надежностью 1-е найдено истинное открытое сообщение. В этом смысле говорят, что дешифрование сводится (равносильно) к вычисле- нию апостериорных вероятностей р(х/у) при всех хеХ. Напротив, если ока- жется, что при любом хеХ выполняется равенство р(х/у)=р(х), то перехвачен- ная криптограмма у не несет никакой информации об открытом сообщении. Если это равенство выполняется дополнительно и при любом уеУ, то это свидетельствует о высокой способности шифра противостоять попыткам де- шифрования, то есть о высокой криптостойкости шифра. Последние шифры К. Шеннон назвал «совершенными» шифрами. Определение. Шифр (X,K,y,f) с вероятностными распределениями Р(Х)=(р(х), хеХ), Р(К)=(р(%), %еК) называется совершенным (при нападении на хеХ по перехвату уеУ), если при любых хеХ и уеУ р(х/у)=р(х). Используя формулу условных вероятностей Р(х,у)=р(у/х)р(х)=р(х/у)р(у), легко показывается, что совершенность шифра равносильно условию р(у/х)=р(у) при любых х е X, у е У. Несложно доказывается, что свойство совершенности шифра (X,K,y,f), у которого |Х|=|К|=|У|, равносильно двум условиям: 1) р(х)=~~~ > I К | Хе К; 2) уравнение f(x,x)=y однозначно разрешимо относительно х^К при любых хеХ и уеУ. ЗАМЕЧАНИЕ. Заменив в рассуждениях, предваряющих определение совер- шенных шифров, открытый текст х на ключ х> то есть считая, что противник, зная криптограмму у, будет пытаться рассчитать вероятности р(х/у) для всех ХеК мы аналогичным образом придем к классу шифров, обладающих свойст- вом р(х/у)=р(х) при любых %еК, уеУ. Такие шифры, называют (х/у)-совершеннымш Нетрудно показать, что для таких шифров |Х|=|У|. Шифр, у которого |Х|=|У| с равновероятным распределением на множестве Х-открытых текстов является (х/у)-еовершенным. Одним из примеров совершенных шифров является шифр гаммирова- ния X=y=K=IL с равновероятным выбором ключа - гаммы. В качестве со- вершенных шифров выступают следующие шифры простой замены с множе- ством ключей K=S(I) (S(I) - симметрическая группа подстановок на I) с рав- новероятным выбором ключа: 1) Х=1 - алфавит текста; 2) X - множесво всех слов алфавита I длины L, не содержащих одинаковых букв. Примером одно-
90 временно совершенного шифра и (%/у)-совершенного является'шифр гамми- рования, в котором X=K=y=IL с равновероятными распределениями на X и К. Возникают вопросы: если есть совершенные шифры, то зачем строить новые, какие недостатки имеют совершенные шифры? Ответ следующий: ес- ли шифр совершенный, то он транзитивен (это несложно доказывается). Сле- довательно, |У|<|К|, откуда вытекает, что у совершенного шифра должна быть большой «длина ключа»..Действительно, пусть, например, X=IL, Y=IT, K=Ik. Тогда |Х|<| Y|<|K|, откуда k>L (длина ключа не меньше длины открытого тек- ста). Чтобы уменьшить объем рассылаемых ключей, и строят другие несо- вершенные шифры. Способы представления реализаций шифров. В современном мире, говоря о реализациях шифров, обычно употребляют термины: шифратор, шифрсистема, алгоритм шифрования, программа шифрования. Последние два понятия общеизветны и не требуют объяснений. Первый термин употребляет- ся для указания собственно устройства, реализующего процесс шифрования и расшифрования заданного шифра. Термин же шифрсистема используется в более широком смысле, как обозначение всего устройства, включающего в себя как устройства, предназначеннные для предварительной обработки шиф- руемых «текстов», так и ряд других вспомогательных устройств ввода и вы- вода информации. Термины же криптосхема, шифрующий автомат - явля- ются специфическими и малоизвестными. Криптосхема. Для записи законов функционирования шифратора используют схемное описание, состоящее из прямоугольников с надписями узлов и бло- ков шифратора. При заданном их математическом описании функционирова- ния, описание функционирования шифратора задается указанием связей меж- ду отдельными блоками и узлами. Совокупность блоков с заданными связями и описанием функционирования каждого блока обычно и называют криптбс- хемой шифратора. В таких описаниях преследуют цель указать принцип функционирования шифратора и обычно не указывают конкретные, числен- ные значения всех параметров узлов и блоков. В таком виде может быть представлена принципиальная криптосхема поточного шифратора.
91 Здесь управляющий блок предназначен для выработки управляющей последовательности шифрующим блоком. Шифрующий блок предназначен для зашифрования открытого текста с помощью управляющей последова- тельности. Ключом такой криптосхемы, например, может являться заполнение памятей узлов и блоков, составляющих управляющий блок, а в ряде случаев, и закон их функционирования. Для описания функционирования дискретных устройств, реализую- щих отдельные блоки шифратора, зачастую применяют язык теории авто- матов. Основные понятия теории автоматов. Определение. Три конечных множества I,S,0 и два семейства ото- бражений (8i)iei, (Pi)i6i, 5i:S->S, Pi: S—>0, iel называют конечным автоматом (конечным автоматом Мили) и обозначают через A=(I,S,0,(5i)rei,(Pi)iSr). Полагают, что автомат моделирует работу многих дискретных уст- ройств, при этом множество I называют входным алфавитом автомата, S - множеством состояний, О - выходным алфавитом автомата функции (5j)iSi, (Pi)iei называют, соответственно, частичными функциями переходов и выхо- дов автомата. Автомат А функционирует в дискретном времени te {1,2,...}. При входной последовательности 3=i 1 ,i2,..., ij g I и начальном состоянии s=S|sS автомат вырабатывает последовательность состояний Am(s,3)=S|,S2,... (последовательно находится в; состояниях sbS2,...) и выходную последова- тельность A(s,3)=yi,y2,.... Правила получения этих последовательностей та- ковы: s2=5iisi - образ s, при отображении 5л, Sj+i^SySj, je {1,2,...}, yi=PiiSi - образ si при отображении pib yj=PySj, j g {1,2,...}, В случае Pi=Pr для любых i,i' gI автомат А называют автоматом Му- ра. Автономным конечным автоматом называют двойку конечных мно- жеств S,0 и два отображения: 6: S—>S и X:S—>0 и обозначают через A=(S,O,8,X). В ряде случаев используют и другое определение: Автомат A=(I,S,O, (8i)iei, (Pi)iei) называют автономным в случае, когда |1|=1. Для автомата определяют его граф переходов: совокупность точек на плоскости, обозначенных состояниями автомата, некоторые из которых со- единены ориентированным ребром (стрелкой —>). На ребре, соединяющем состояние s с s', ставятся две пометки: i/y, где i и у определены из соотноше- ний 8jS=s', PiS=y. Переход из состояния в состояние по стрелкам называется путем, в графе переходов автомата. Путь определяет последовательность со-
/ X \ 92 стояний Am(s,3) и выходную последовательность A(s,3), отвечающую вход- ной последовательности 3 автомата А и его начальному состоянию Si=seS. Отметим, что задание семейства отображений (8j)iei, ((Pi)iei) равно- сильно заданию отображения 5: Ix'S->S, 5(i,s)=8j(s) (аналогично, IxS-»O, P(i,s)=Pi(s)). В связи с чем чаще автомат А определяют тремя множествами I,S,O и двумя отображениями 8, 0: A=(I,S,0,8, Р). Обозначим через I* множество всех слов конечной длины в алфавите I. Автомат А с начальным состоянием s задает отображение (pA,s I*—>0*, именно, для 3gI* (Pa,s(3)=A(s,3). Такие отображения называются конечно-автоматными или просто автомат- ными. При фиксированных множествах I, S, О автомат задается отображе- ниями 8, р. При моделировани функционирования шифратора, или его крип- тосхемы конечным автоматом начальные состояния автомата моделируют в так называемые части ключа, иногда и весь ключ, заключенный в память криптосхемы, часть же ключа «логики криптосхемы», иногда и весь ключ, моделируется выбором функций 8, Р автомата. При этом полагают, что вход- ными последовательностями автомата являются открытые тексты, подлежа- . щир шифрованию, а выходные последовательности автомата трактуют как шифрованные тексты, соответствующие открытым текстам и ключам. Шифрующий автомат. Понятие шифрующего автомата трактуется неоднозначно. Первое определение состоит в том, что шифрующий автомат есть множество автоматов A(r), reR с начальными состояниями s(r)eS(r). Такое определение равносильно тому, что под шифрующим автоматом понимают некоторое множество автоматных отображений множества открытых тек- стов в шифрованные. Второе определение шифрующего автомата состоит в том, что автомат A=(I,S,O,(8i)i€i,(pi)iei) является шифрующим автоматом, если его автомат- ные отображения <pA,s I*—>О* , являются инъективными отображениями. Такое определение согласуется с определением шифра (X,K,Y,f) в том смысле что в качестве отображений fx берутся автоматные инъективные отображения. Для большей общности, иногда второе определение обобщают. Имен- но, рассматривают автоматы, у которых 1=Гх@, где Г - алфавит внешней • части ключа, часть ключа: y=yl,y2,...yL, yjeF; @ - алфавит открытого текста. При фиксированы^ частях ключа уеГь и sgS требуют инъективность отобра- жения @L в OL, то есть при входных различных последовательностях вида
93 3==(al,yl),(a2,y2),...(aL,yL) и 3'= (a'l,yl), (a'2,y2),...(a'L,yL) требуют, чтобы A(s,3)*A(s,3') при любом натуральном L, Выясним условия, при которых автомат A=(I,S,O,5,P) является шиф- рующим автоматом, то есть автоматные отображения <pA>s, sgS явля- ются инъективными отображениями. Для отображения Р: IxS—>0 обозначим через ps отображение I в О: ps(i)=p(i,s). Через Ss обозначим множество состоя- ний автомата А, содержащее s и все состояния s' gS, достижимые из s в графе переходов автомата А, то есть для которых есть пути из s в s'. На множестве Ss определен подавтомат As=(I,Ss,0,8,P) автомата А (здесь ограничения ото- бражений 5, Р обозначены теми же буквами). С использованием введенных определений несложно доказывается УТВЕРЖДЕНИЕ. Автоматное отображение <pA,s , sgS являет- ся инъективным тогда и только тогда, если при каждом состоянии s' из Ss отображение р< инъективно. В третьем определении под шифрующим автоматом понимают авто- мат, моделирующий устройство шифрования, либо некоторого его блока. В таком понимании устройство шифрования моделируют автоматом A=(I,S,0,(5i)i€l,(pi)iei), у которого отображения (6j)iei S в S являются биекциями S в S. Такие автоматы обычно называют перестановочными. Часто гам- мообразующее устройство шифратора называют шифрующим автоматом. Эквивалентность ключей шифрующего автомата. Определение. Состояния s,s' автомата А называются неотличимыми, если A(s,3)=A(s',3) при любом входном слове 3gI*. Автомат А называется приведенным, если он не имеет различных неотличимых состояний. I Ключи s,s' шифрующего автомата А называются эквивалентны- ми, если s,s' - неотличимые состояния автомата А. Степенью различимости автомата А называется минимальное число R, при котором для любых s, s' gS из равенств A(s,3)=A(s',3) для всех 3gIrследуют равенства A(s,3')=A(s',3') для всех 3' gIRt! Диаметром автомата А называют минимальное число D, при котором для любого sgS каждое достижимое из s в графе перехоов автомата А состоя- ние s', s Ф s', достижимо путем длины, не превосходящей D.
94 Параграф 1.4 Средства защиты информации в переходный пери- од от древности к современности Современные алгоритмы шифрования возникли на базе развития и совершенствования простейших шифров, путем устранения имеющихся у последних криптографических слабостей. Большинство современных шифров можно рассматривать как усиление и модернизацию известных с древних времен шифров простой замены, перестановки, о которых мы говорили в пре- дыдущих параграфах этой главы. Выше упоминалось о возможности дешифрования шифра простой за- мены в случае, если достаточно велико соотношение между объемом мате- риала и размером алфавита открытого и шифрованного текстов. Однако шифр простой замены сложно вскрыть, если это соотношение мало. Отсюда и выте- кает подход к усилению шифра: разрабатывают шифры, для которых это со- отношение чрезвычайно мало. Делают это двумя способами: увеличивают ал- фавит либо максимально уменьшают объем сообщения, шифруемого с помо- щью одной и той же замены. Первый путь (увеличения алфавита) реализован в шифрах многознач- ной замены, в кодах и современных блочных шифрах. По второму пути (уменьшение числа знаков, шифруемых по одной замене) пошли при создании поточных шифров замены. Шифры многозначной замены (/Про/). Шифр многозначной замены задается таблицей, А Б В Г д Е Ж ... al 61 в1 г1 д1 el ж1 а2 62 в2 ж2 аЗ ... в которой каждой букве отвечает несколько символов шифртекста. Алфавит шифртекста по смыслу дела больше алфавита открытого текста. Шифроваль- щик, зашифровывая открытый текст, должен выбрать для каждой буквы одно Из обозначений - например, А зашифровывается в al, или в а2, и т. д. Данный шифр при грамотном использовании может значительно выровнять диаграм-
95 му встречаемости символов в шифртексте. Какие-то остатки вероятностно- статистических особенностей открытого текста в шифртекст все-таки прони- кают. В шифртексте встречаются запретные биграммы. Например, за шиф- робозначением символа «пробел» не может встретиться шифробозначение символа Ъ или Ь. Далее, трудно проследить за тем, чтобы шифровальщик равномерно использовал различные обозначения для наиболее частых букв. Скорее всего, он будет использовать одну первую строчку и дело сведется к чуть-чуть усложненному шифру простой замены. Коды (/Про/). Идея увеличения алфавита открытого текста реализова- на в кодах. Код представляет собой два словаря. Первый словарь предназна- чен для зашифрования, а второй - для расшифрования. В словаре для зашиф- рования в алфавитном порядке написаны символы алфавита открытого текс- та: отдельные буквы, слова, целые предложения, и для каждого символа ука- зано его кодообозначение. При шифровании шифровальщик каждый символ (или слово, предложение) заменяет с помощью первого словаря на кодообо- значение. Это преобразование неоднозначно. Слово можно заменить по бук- вам или попытаться подобрать кодообозначение для целого слова или фразы. При расшифровании используется второй слдварь, в котором в алфавитном порядке записаны кодообозначения, и расшифрование сводится к замене их на символы открытого текста. Словарь может состоять из тысяч, десятков ты- сяч слов. Дешифровать код достаточно сложно. Для этого необходимо на- брать достаточно много материала. Коды находят определенное применение. Вы слышали, наверно, о военно-морских кодах, дипломатических кодах и т. п. Недостаток этой системы шифрования - каждой код - это две книги, их надо напечатать без ошибок, разослать всем участникам закрытой связи. Если одна такая книга попадет злоумышленнику, то код надо срочно менять, а это хло- потно, система достаточно инерционная. Блочные шифры (/Про/). Промежуточным вариантом между простой заменой и кодом является блочный шифр. В нем текст делится на блоки и проводится простая замена блоков. Когда длина блока достаточно велика, таблица замены становится необозримой и саму замену приходится задавать не таблицей, а некоторым алгоритмом преобразования. Блочный шифр «Два квадрата» (/Про/). Блочные шифры, в которых заменялись пары букв, применяли во время второй мировой войны немцы в низовых линиях связи. Они основаны на блочном шифре Плейфейра (у него был один квадрат). При шифровании открытый текст разбивался на блоки по две буквы КР ИП ТО ГР АФ ИЯ Ключом являлись два квадрата, в которых записывался алфавит в произволь- ном порядке.
96 ы Щ э ю ь м б г д е в ж и з' к л с н О п а т р. . У.. ф. X ц ч ш я Ц ю э ч ь е м н О ш ж л к п' щ б в а г д р 3 и ф я с т у X ы Первая буква выбиралась в левом квадрате, вторая - в правом. Мысленно строился прямоугольник и в шифртекст включались буквы из незанятых его углов. Так в примере е на место К ставилась буква из соответствующего неза- нятого угла прямоугольника второго квадрата Ж, а вместо Р ставилась Ф. Ес- ли буквы оказывались в одной строке, то буква заменялась на букву той же позиции, но из другого квадрата. Так в примере вместо И ставилась буква этого же столбца второго квадрата К, а вместо. П - соответствующая буква первого квадрата 3. Таким образом, слово криптография после зашифрования имело бы вид ЖФКЗФБЕРРУЩР Шифры типа! «Два квадрата» советским криптографам в годы войны удава- лось дешифровывать, но это требовало значительных усилий и опыта. Преимуществом данных шифров перед кодами были.достаточная простота и быстрота зашифрования и расшифрования, отсутствие потребности в слова- рях, простота в смене ключевых квадратов. Практически шифр «Два квадра- та» является забытым шифром англичанина Чарльза Уинстона (1854 г.), кото- рый назывался «двойным квадратом». Блочные шифры (Продолжение). Блочные шифры - это шифры простой замены с большей мощностью алфавита «открытого текста». Обычно к-граммы текста объявляются симво- лами нового алфавита «открытого текста». Многие блочные шифры используют в своем построении так называе- мую идею X. Фейстеля, состоящую в реализации многих «раундов» шифрова- ния, каждый из которых реализуется криптосхемой
97 идея которой заключается в том, что исходный блок длины 2k двоичной ин- формации Be(F2)2k делится на два подблока L',RG(F2)k одинаковой длины, (L,R)=B, которые преобразуются по правилу (L,R)->(R, L+F(K,R)), где Ke(F2)k - ключ раунда шифрования, + покомпонентное сложение векто- ров по модулю 2, a F - произвольное фиксированное отображение (F2)2k в (F2)k. Многие блочные шифры построены на этом принципе и отличаются длиной к блоков, функцией F, числом раундов шифрования. Блочный шифр DES (/Про/). Блочный шифр DES (Data Encryption Standart) относится к числу наи- более популярных. С точностью до перенумерации координат блоков откры- того и шифрованного текста и ключа алгоритм DES имеет следующий вид. Открытый текст представляется в виде последовательности бит-нулей и еди- ниц. В вычислительной машине информация хранится в виде 8-мерных дво- ичных векторов - байт и поэтому представление их в битовом виде не встре- чает трудностей. В процессе шифрования открытый текст разбивается на блоки по 64 бит и каждый блок заменяется по простой замене, т. е. если от- крытый текст имеет вид: 0i,02,....,0t>.где 0t - 64-мерные вектора, то шифро- ванный текст имеет вид: Zi Z2, ...., Zt> где Zt - тоже 64-мерные вектора, яв- ляющиеся значениями взаимнооднозначной функции от открытого текста при фиксированном ключе k, Z=Dk(Ot). Ключ шифратора DES - это последова- тельность из 56 бит. 4 Зак. 5
98 Преобразование блока открытого текста в блок шифрованного текста состоит из нескольких этапов. Прежде всего из ключа в 56 бит составляется ключевая таблица из 16 строк по 48 бита в каждой строке. Эту таблицу мож- но выписать в явном виде. Однако ее удобно получить с помощью следующе- го алгоритма. Ключ из 56 бит разбивается на два блока по 28 бит (C(0),D(0)). Далее строятся блоки (C(l), D(l)),....., (С(16), D(16)). Каждый следующий блок получается циклическим сдвигом из предыдущего. Сдвиг осуществляется на 1 или 2 шага влево. Так, если заполнение (C(0),D(0)) обозначим через С] С2, ...,С28 d],d2,...,d28 , ' то заполнение (C(1),D(1)) будет получено сдвигом на 1 влево Т(С1С2, ...,С28)=(С2> Сз, .,C28,C1), T(did2>.......Д28)=№ йз,.....>d28,di). * Таблица сдвигов является параметром алгоритма и имеет вид 1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1. j Строка ключа K(i) получается из (C(i),D(i)) выбором некоторых 48 коорди- j нат. Таблица выбора задана, она одна и та же для всех итераций. Таким обра- •
99 зом, на первом этапе из одного ключа в 56 бита получается 16 ключей К.1, К2,..., К16 по 48 бит каждый. Эти ключи помещаются в ключевую таблицу К. Замена вектора О из 64 битов открытого текста на вектор Z - 64 бита шифро- ванного текста получается путем более простых замен. Z=F(K16) F(K15)...F(K1) О. .Отображение F О в Z удобно описать с помощью блок-схемы. В схеме присутствуют накопители - фактически регистры, состоящие из ячеек памяти, в них хранятся бинарные вектора. На регистре указана его длина - размерность векторов. Символом ® обозначим сумматор. На вход сумматора поступает два двоич- ных вектора, а на выходе получается координатная сумма по модулю 2 этих векторов. Суммой векторов 010010, 110100 будет вектор 100110. В схеме DES есть три преобразования: Е, S и Р. Преобразование Е расширяет 32-мерный вектор в 48-мерный. Оно задается некоторой таблицей. 4*
100 Фактически символы из R2 переписываются в R3, некоторые из них по 2 раза. Преобразования SI, S2, ....,S8 (так называемые S-блоки) преобразуют 6- битовые вектора в 4-х битовые вектора. Эти преобразования заданы 8 табли- цами. В каждой таблице для всех 6-мерных 64 векторов указаны их образы 4- мерные вектора - их образы при преобразовании S блока. Обращаем внимание, что преобразование S не просто перестановка и выборка координат, а достаточно произвольная замена. Так в S1 вектор 0=(0,0,0,0,0,0) переходит в вектор 14=(1, 1, 1,0), вектор 1=(0, 0, 0, 0, 0, 1) в вектор 4=(0, 1,0,0), а 2=(0, 0, 0, 0, 1, 0) в 13=(1,0, 1, Г). То есть отображение S - нелинейное. Преобразование Р - это обычная перестановка координат 32-мерного вектора. Оно тоже задано таблицей. Таким образом, преобразование F(Ki) функционирует следующим об- разом. Из накопителя R2 снимается заполнение, оно проходит через преобра- зование Е, полученный в R3 48-мерный вектор суммируется с Ki. Результат записывается в R4. Заполнение R4 проходит через преобразования S блоков, перестановку Р, складывается с содержимым накопителя R1. Окончательный результат преобразований записывается в R2, а предыдущее заполнение R2 выталкивается в первый регистр R1. Далее процедура повторяется 16 раз, но каждый раз на вход поступает новая ключевая последовательность. Зашифрование блока О=(О1,О2) открытого текста можно описать уравнениями шифрования Z=(Z1,Z2)=(H17,HI6), Ht+1=Ht_, ®F(Kt)H„ H0=Ol,Hi=O2. Процедура расшифрования описывается уравнениямй 0=(01,02)=(Ho,H!), Ht.I=H,+I®F(Kt)Ht, Hi7=Zl,HI6=Z2. Более удачное и подробное описание шифратора DES можно найти в книге Ю.В. Романца, П.А. Тимофеева, В.Ф. Шаньгина «Защита информации в ком- пьютерных системах и сетях. «Радио и связь», М., 1999 г. Блочный шифр ГОСТ 28147 89 (/Про/). Российский аналог американско- го стандарта шифрования DES - блочный шифр ГОСТ 2814789 имеет похо- жую блок-схему
101 Ключом алгоритма является таблица К=(К1, К2,...,К8) из восьми 32- мерных двоичных векторов. Основными узлами схемы являются накопители (регистры Rl - R5) длины. 32, сумматор по модулю 232, сумматор по модулю 2 (такой же как в DES), S - блоки, подстановка сдвига Т. Подстановка Т в схеме ГОСТ осуществляет сдвиг заполнения регистра по циклу. Сумматор по модулю 232 рассматривает поступающие на его вход 32-х битовое заполнение регистра R2 и 32 знака ключевой таблицы как два целых числа (вектор трактуется как двоичная запись числа). С выхода сумматора снимается 32-х разрядный вектор - двоичная запись суммы по модулю 232 , поступивших на вход сумматора чисел. Восемь преобразований S заменяют поступающие на вход полубайты (4-х мерные вектора) йа другие полубайты по заданным таблицам.. Процедура шифрования в ГОСТ осуществляется следующим образом. Открытый текст разбивается на блоки по 64 бит. Каждый блок открытого тек- ста О=(01,02) шифруется по Шифру простой замены Z=(Z1,Z2)=T(K,O),
102 где преобразование Г задается рекуррентным соотношением Ht+I=HM ® G(K|(t),Ht), t=l, 2,......................,32, Н0=О1, Н,=О2, © - покоординатное суммирование 32-мерных векторов в (F2)32. (Z1,Z2)=(H33,H32), l(t)=l, 2,8, 1, 2,8, 1, 2, ...,8, 8, 7,..., 1 G - преобразование (F2)32 —> (F2)32. На вход преобразования в каждой итерации подается свой 32-мерный ключевой вектор. Первые 24 цикла подаются в прямой последовательности, а последние 8 циклов - в обратной. При преобразованиях G вектора v=(vo,...,v3i) рассматриваются либо как последовательности из нулей и единиц, либо как двоичная запись целого числа (при суммировании по модулю 232), v=vo+2vi+22v2+ 2m''v3i. Преобразование G (F2)32 -> (F2)32 имеет вид w=G(Kb и), где w=TdS ((K|+u) mod 232), S - некоторое нелинейное преобразование V32 —> V32, при этом преобразовании 32-мерный вектор и представляется в виде восьми 4-х мерных векторов u=(ub ...., u8) S(ui,..,u8)=(Si(ui),.., S8(u8)) Si : (F2)4 —> (F2)4 - задается таблицей из 24=16 значений, Ts - подстановочная матрица типа сдвига T(Uo,...,U3i)=(us(m0d32), Us+I(mod32),., U3i+S(mod 32))- При каждой итерации преобразования G, как уже отмечалось выше, на вход узла преобразования усложнения поступает 32 бита ключа. Поступают они в следующем порядке: в 1-ой итерации - 1-ая строка, во 2-ой итерации - 2 строка, в 8-ой итерации - 8 строка, в 9-ой - 1 строка, в 24-ой - 8 строка; в 25-ой - 8 строка, в 32-ой - 1 строка. То есть строки 3 раза проходятся в прямом направлении (24 итерации) и 1 раз - в обратном направлении (8 итераций). Результат этого преобразова- ния записывается в регистры R1 и R2 и является шифртекстом. Сравнивая схемы DES и ГОСТ, следует заметить, что они очень похо- жи, но есть и отличия:
103 - в ГОСТе проводится в 2 раза большее число итераций, определяющих крип- тографическую сложность результирующих преобразований; - в ГОСТе существенно больше ключей (25б=6.41016 вариантов ключевых ус- тановок в DES и 2256= 6.4-1076 ключевых установок в ГОСТ). Обе схемы не являются теоретически стойкими. При достаточном ко- личестве шифрованного текста тотальным методом, т. е. перебором всех клю- чей, проведением пробного расшифрования и отсева по статистическим кри- териям ложных вариантов получаемого открытого текста можно найти ключ для обоих шифров. Поточные шифры (/Про/). Типичной областью применения средств криптографической защиты информации является защита каналов связи. Канал закрытой связи между двумя корреспондентами описывается следующей блок-схемой. Открытый „ Шифра- текст тор Отправитель Шифртеку_______Шифртекст^ Шифра- тор Канал связи -----— Получатель Защита информации в канале связи обеспечивается наличием шиф- рующих устройств (шифраторов), преобразующих информацию. Особенно- стью данного канала связи является необходимость последовательного закры- тия потока сигналов, поступающих на шифратор. Конечно, можно и в этом случае формировать из поступающих на вход символов блоки нужной длины и применять для закрытия информации один из описанных выше блочных шифров. Но более естественным представляется посимвольное шифрование информации. Эти задачи решают так называемые поточные шифры. Описание поточных современных криптосхем можно найти в пособии: А.А. Варфоломеев, А.Е. Жуков, М.Ф. Пудовкина «Поточные криптосхемы. Основные свойства и методы анализа стойкости. М., 2000, 243 с., а также в гуляющей по Интернету одноименной книге. Обычно поточный шифр удобно представить в виде трех блоков
104 Первый блок вырабатывает некоторую исходную последовательность, ко- торая поступает на блок усложнения. Иногда эта последовательность выдает- ся в канал связи. Обычно это делается в целях синхронизации работы аппара- туры на передаче и приеме. Узел усложнения преобразует исходную последо- вательность и в преобразованном виде передает ее на блок наложения шифра. На вход блока наложения шифра поступает также открытый текст, который преобразуется под управлением последовательности, идущей с блока услож- нения, и в преобразованном виде выдается в канал связи. Иногда в схеме при- сутствуют обратные связи, например, шифрованный текст может поступать не только в линию, но и на узел выработки исходной последовательности. Обычно первые два, а иногда и все три блока имеют внутреннюю память. То, что получается на выходе, зависит не только от входа, но и от предысто- рии, от внутреннего состояния. Для математического описания работы узлов и блоков шифратора обычно используется терминология теории автоматов, т. е. шифратор - это конечный автомат. Также как это было для блочных шифров, для поточных шифров можно предложить массу способов конкретной реализации шифра. Функционирова- ние одного или нескольких блоков криптосхемы обычно зависит от вводимых ключей - секретных параметров, вводимых в устройство перед началом шиф- рования. В общем случае можно сказать, что внутреннее состояние, функция перехода и функция выхода шифрующего автомата зависят от ключа.
105 Иногда в схеме присутствуют и некоторые несекретные параметры, называемые маркантами или синхропосылками. Делается это с той целью, чтобы усложнить задачу дешифрования. Если бы функционирование схемы зависело только от ключа, то все промежуточные последовательности (при отсутствии обратных связей) при, скажем, двукратном использовании ключа просто бы совпадали. Это - потенциальная криптографическая слабость. Тер- мин «синхропосылка» обычно применяется для электронных шифраторов, а «маркант» - для дисковых шифраторов, о которых пойдет речь ниже. Дисковые шифраторы (/Про/). Поточные шифры рассматривают как один из подходов к усилению шифра простой замены. Известно, что шифр простой замены теряет стой- кость, если объем шифрованного текста больше алфавита текста, подлежаще- го шифрованию. Блочные шифры также рассматривают как один из подходов к усилению шифра простой замены путем увеличения алфавита замены. Но возможен и ещё один подход - сокращение объема открытого текста шиф- руемого по простой замене. Наприм.ер, сокращают длину текста, шифруемого с помощью одной простой замены, до одного знака. То есть применяют шифр простой замены, для каждой очередной буквы. Например, зададим последова- тельность подстановок Pi, Р2,., Р„.... и шифрование открытого текста ii,i2,... it, ••••••• будем проводить по правилу У1 = Pi(ii),..,yt = Pt(it),. В этом случае последовательность подстановок должна быть неиз- вестной противнику. Для неограниченного по длине открытого текста ее нельзя задать просто таблицей переходов, поэтому ее задают алгоритмом шифрования. Именно эта идея реализована в дисковых шифраторах. Класси- ческим примером является дисковый шифратор «Энигма». «Энигма» (/Про/) в переводе означает «Загадка». Шифратор изобре- тен в 1917 г. Эдваром Хеберном. Промышленная версия создана чуть позже берлинским инженером Артуром Кирхом (некоторые называют его Артуром Шербиусом). Активно шифратор «Энигма» и его модификации использова- лись в годы второй мировой войны. «Энигма» вначале представляла собой 4 вращающихся на одной оси барабана - диска.
106 На каждой стороне диска по окружности располагалось 25 электриче- ских контактов, столько же, сколько букв в алфавите. Контакты с обеих сто- рон соединялись внутри диска достаточно случайным образом 25 проводами, формировавшими замену символов. Диски складывались вместе и их контак- ты, касаясь друг друга, обеспечивали прохождение электрических импульсов сквозь весь пакет дисков на регистрирующее устройство. На боковой поверх- ности дисков был нанесен алфавит. Перед началом работы диски поворачива- лись так, чтобы установилось кодовое слово. При нажатии клавиши и кодиро- вании очередного символа левый барабан поворачивался на один шаг. После того как диск делал полный оборот, на один шаг поворачивался следующий барабан - как в счетчике электроэнергии. В процессе шифрования на один из контактов левого диска поступал электрический импульс. Так как барабаны соприкасались контактами, то электрический импульс попадал на выход, проходя через четыре диска и пре- терпевая четыре простые замены. Исполняющее устройство (пишущая ма- шинка или перфоратор) фиксировало знак шифрованного текста в соответст- вии с тем, на какой контакт выходного диска поступал электрический им- пульс. Поскольку в каждый такт шифрования сдвигался на один шаг хотя бы один диск, подстановка - простая замена, по которой осуществлялось шифро- вание, менялась для каждого символа открытого текста. Ключом шифратора, который сменялся каждый сеанс, являлся набор начальных угловых положе- ний дисков. Долговременным ключом, он менялся очень редко, служили ком- мутации дисков - соединения проводов внутри дисков. Для затруднения рас- шифрования диски день ото дня переставлялись местами или менялись, т.е. 4 диска выбирались из комплекта, состоящего из 10-20 дисков. Для того чтобы не менять начальные установки на каждый сеанс связи, в некоторых сетях за- крытой связ^ использовался маркант. Делалось это следующим образом: шифровальщик выбирал какую-то случайную начальную установку дисков. Далее шифровал на нем 4 заранее оговоренные буквы, например, АААА. По- лученный шифрованный текст он не пересылал получателю, а использовал в
107 качестве начальной установки дисков прй шифровании. В начале шифрован- ного текста проставлялся маркант - выбранные шифровальщиком случайные начальные установки. Блок-схемы поточного шифра для дискового шифратора имеет доста- точно простой вид. Генератор исходной последовательности в данном слу- чае — это обычный счетчик. С него снимаются угловые положения, в которые надо установить диски для зашифрования очередного знака открытого текста. Узел усложнения фактически отсутствует, а узел наложения шифра состоит из четырех дисков, управляемых последовательностями, снимаемыми с блока исходной последовательности. Уравнения шифрования, связывающие знаки открытого и шифрованного текста, имеют вид Zt=P1(t)P2([t/n]))P3([t/n2])P4([t/n3])0t, где Pj(t) - подстановка, которая реализуется при повороте i-ro диска на t ша- гов; п - число символов в алфавите открытого текста; [х] - целая часть х. Очевидно, что Pj(t + n)=Pj(t), если п - алфавит открытого текста или, что то же самое, число угловых положений диска. Интересно вспомнить, что информацию, закрытую с помощью шифратора «Энигма», в годы второй мировой войны удавалось дешифровать. Но более сложные дисковые шифраторы - это достаточно надежные системы защиты. Другое дело, что они сейчас устарели. Электромеханические системы не очень надежны, довольно громоздки и, главное, весьма малоскоростные. На смену им пришли электронные шифраторы - фактически специализирован- ные ЭВМ. Шифратор Хагелин. В качестве иллюстрации механических машин мы обсудим машину С- 36 известного разработчика криптографических машин Бориса Хагелина. Она известна также как М-209 Converter и использовалась в армии США еще в начале пятидесятых годов. При описании шифратора Хагелин мы используем следующие работы. 1. Саломаа А. Криптография с открытым ключом. Пер. с англ. А.А. Болотова и И.А. Вихлянцева под редакцией А.Е. Андреева и А.А. Боло- това. М.: Мир, 1996. 2. Barker, W.G. Cryptanalysis of the Hagelin Cryptograph, Aegean Park Press, 1977. 3. Beker, Henry and Piper, Fred. Cipher Systems. The Protection of Communications. Northwood Books, London. 1982.
108 4. D. Kahn, The Codebreakers: The Story of Secret Writing, New York: Macmillan Publishing Co., 1967. 5. Technical Manual for Converter M-209. US War Department, 1942 (http://www.maritime.org/csp 1500.htm). Hagelin M-209 Словесное описание механического устройства является крайне тяже- лым, когда не доступен образец этого устройства. Маловероятно, что читатель имеет под рукой машину С-36, поэтому мы опишем функционирование дан- ного устройства в абстрактной форме. Машина изображена ниже. Рейтеры Барабан с пронумерованными подвижными комбинационными линейками Шестерня, продвигаемая выдвинутыми комбинационными линейками Bt= D Нерабочие и рабочие штифты Скошенная верхняя часть промежуточного рычага гаммообразующиего колеса Воспроизводящий диск, с которого считываются получающиеся в результате буквы Гаммообразующее колесо Индикаторный диск, на котором набираются сводимые буквы Комбинационная линейка, сдвинутая влево и ставшая зубцом шестерни с переменным числом зубцов Кинематическая схема М-209
109 Ее основными компонентами являются шесть дисков, обычно назы- ваемых роторами, и цилиндр, называемый клеткой. Рассмотрим 6 х 27-матрицу М, элементами которой являются 0 и 1. Потребуем также, чтобы в каждом из 27 столбцов матрицы М было не более двух единиц. Такие матрицы называются кулачковыми матрицами. Матрица 000100001010001110000000001 100010001001100010010010100 000000000000000000000000000 М= 001100010100001001000111111 001010000001000100100000000 000000010010010000010001000 является примером кулачковой матрицы. Очевидно, что если v является 6-разрядной строкой из нулей и единиц, то vM (произведение вектора v на матрицу М) является 27-разрядной строкой с элементами из множества {0,1,2}. К примеру, если v = (1, 0,1,1, 0, 0), то vM = (0, 0, 1, 2, 0, 0, 0, 1, 1, 1,1, 0, 0, 0, 2, 1, 1, 1, 0, 0, 0, 1, 1, 1,1, 1,2). (Здесь мы использовали матрицу М, написанную выше). Число эле- ментов вектора vM, отличных от нуля, называется числом выталкиваний зуб- цов v относительно М. В нашем примере оно равно 16. Обычно, данное число является натуральным числом от 0 до 27 Пошаговая матрица конструируется следующим образом. Построим 6 последовательностей чисел из множества {0,1}. Эти последовательности имеют соответствующие длины 17, 19, 21, 23,25, 26 и начинаются с одной позиции. К примеру, 0 1 1 000 1 0000000 1 1 0 01111100000000 0.0 000 001000001000000000000 00000000000100100010001 1010000000000000000000000 11000000000000100010000001 есть ступенчатая матрица. В отличие от кулачковой матрицы, для ступенчатой матрицы нет ограничений на позиции единиц. Пошаговая матрица генерирует бесконечную последовательность 6- разрядных (строк) векторов следующим образом. Первые 17 векторов чита- ются прямо из столбцов. Таким образом, (0, 0, 0, 0, 1, 1) и (1, 1,0, 0,0, 1) являются первыми двумя векторами, порожденными с помощью написанной выше ступенчатой матрицы. Когда некоторая строка заканчивается, она стар- тует с начала. Таким образом, векторами с 17-го по 47-й являются:
по (О, О, О, О, О, О) (0,1,0,0, 0,0) (0,1,0,0, 0,0) (О, 0, 0,0, 0, 0) (1,0, 0,0,0, 0) (1,0, О, 0, 0,0) (1, 1,0, 0, 0, 1) (О, 0,1,0, 0, 1) (О, 0, 0, 0, 0, 0) (О, 1, 0, 0, 0, 0) (О, 0, 0,0,1, 1) (О, 0, 1, 0, 0, 0) (О, 0, 0, 0, 0, 0) (О, 0, 0, 0, 0, 0) (О, 1,0, 1,0, 0) (О, 0, 0, 1, 0, 0) (1,0,0, 1,0, 1) (О, 1,0, 1,0, 0) (О, 0, 0, 0, 0, 1) (О, 0, 0, 0, 0, 0) (О, О, 0, 1,0,0) (О, 0,0, 1,0, 0) (0,1, О, 0, 0, 0) (О, 0, 0, 0, 0, 0) (1,0,0,0, 0, 0) (1, 1, 1,0, 0, 0) (О, 0, 0, О, 1, 1) (1,0, 0, 0, 0, 0) (1,0, 0, 0, 0, 0) (1,0, 0, 0, 0, 0) (О, 1, 0, 0, 0, 0) Имея определенные кулачковую и ступенчатую матрицы, мы те- перь можем сказать, как получается шифртекст. Для букв используют число- вые коды: А получает номер О, В получает номер 1 и т. д. Z получает номер 25. Сложение и вычитание чисел будет вестись по модулю 26. ' Обозначим через а i-ую букву исходного сообщения, а через h — число выталкивании зубцов i-ro вектора, порожденного ступенчатой матри- цей относительно кулачковой матрицы. Тогда а переводится в букву крипто- текста y=h-a-l. Для примера рассмотрим исходное сообщение GOVERNMENTOFTHEPEOPLEBYTHEPEOPLEANDFORTHEPEOPLE для кулачковой и ступенчатой матриц, заданных выше. Числовое кодирование данного сообщения будет следующим. (Мы используем его только для ясно- сти). 6, 14,21,4,17, 13, 12, 4, 13, 19, 14, 5,19, 7,4, 15,4, 14,15, 11,4, 1,24, 19, 7,4, 15,4, 14, 15, 11,4, 0, 13, 3, 5, 14, 17, 19, 7, 4, 15,4, 14, 15, 11,4. Длина сообщения равна 47. Вычисляется число выталкивании зубцов для первых 47 векторов, Порожденных ступенчатой матрицей. Это делается просто, так как первые 17 векторов можно увидеть непосредственно из этой матрицы, а остальные уже найдены выше. Числа выталкивании зубцов равны: 10, 17, 16, 9, 9, 9, 7, 0, 0, 0, 0, 12, 0, 0, 18, 7, 0, 0, 18, 7, 9, 9, 19, 14, 9, 10, 5, 10, 0,0, 0, 7, 7, 0, 12, 7, 7, 12, 0, 9, 17, 19, 9,9, 5, 12, 0 . По формуле y=h-a-l вычисляются числовые коды букв шифртекста: 3, 2, 20, 4, 17, 21, 20, 21, 12, 6, 11, 6, 6, 18, 13, 17, 21, 11, 2, 21, 4, 7, 20, 20, 1, 5, 15, 5, 11, 10, 14, 3, 6, 12, 8, 1, 18, 20, 6, 1,12, 3, 4,20, 15, 0, 21. Поэтому мы получаем следующий шифртекст: DCUERVUVMGLGGSNRVLCVEHUUBEPFLKODGMIBSUGBMD EUPAV. Три появления PEOPLE в исходном тексте шифруются как RVLCVE, PELKOD и DEUPAV, тогда как 3 появления THE шифруются как GSN, UBF и GBM. Дадим несколько дополнительных замечаний, касающихся машины С- 36. Роторы и клетки соответствуют ступенчатой и кулачковой матрицам. Лю- бое переопределение ступенчатой матрицы осуществляется активизацией подхо’дящих штифтов в роторах. Аналогично, любое переопределение кулач- ковой матрицы получается позиционированием зубцов.
Ill Кулачковая и ступенчатая матрицы образуют ключ для шифровки с помощью С-36. Машина может быть рассмотрена как физическая реализация криптосистемы, описанной выше: она оперирует с переопределенным ключом после того, как активизируются подходящие штифты и позиционируются подходящие зубцы. Уравнение y=h-a-l может быть записано также в виде a=h-y-l. Это означает, что процесс шифрования и расшифрования иденти- чен. Читатель может захотеть найти число всех возможных ключей для шифровки с помощью С-36. При этом должно быть учтено дополнительное условие, налагаемое на кулачковую матрицу: не все возможные ключи явля- ются хорошими с точки зрения обеспечения секретности. Очевидно, что ступенчатая матрица генерирует векторы периодиче- ски. Следовательно, шифровка с помощью С-36 может быть рассмотрена как использование квадрата Бофора с ключевым словом. Но какова длина ключе- вого слова? Обычно она намного длиннее любого допустимого сообщения. Следовательно, периодичность в криптотексте может и не появиться. Действительно, длины строк в ступенчатой матрице попарно взаимно просты. Это означает, что только после 17-19-21-23-25-26 = 101.405.850 шагов мы можем быть уверены, что опять вернемся в исходное состояние. В общем случае период не меньше данного числа, которое в действительности превышает число символоЬ в достаточно объемной энциклопедии. Однако в конкретных случаях период м.ожет быть короче. К примеру, если ступенчатая матрица не содержит нулей, то генерируется только вектор (1,1,1,1,1,1), и, следовательно, период равен 1. Период будет коротким, если в кулачковой матрице имеется очень мало единиц или очень мало нулей в ступенчатой мат- рице. Поэтому такого выбора ключа нужно избегать. Для того факта, что ступенчатая матрица состоит из шести строк, нет никаких математических оснований. Это число является компромиссом меж- ду секретностью и технической реализуемостью. Конечно, в целом период растет вместе с ростом числа строк. Число строк, очевидно, должно быть оди- наковым в ступенчатой матрице и кулачковой матрице. Взаимная простота длин строк в ступенчатой матрице гарантирует максимальный период. Все, что еще является произвольным: длины строк в ступенчатой и кулачковой матрицах, и дополнительное требование, накладываемое на кулачковую мат- рицу. Физически это требование соответствует числу зубцов на шестерне в цилиндре. Теперь должно быть очевидно, что метод Казиского или любой другой подобный подход неадекватен для криптоанализа С-36. Для изучения других
112 криптоаналйтических подходов читатель может обратиться к (Beker Н. & Piper F. Cipher systems. Northwood Books, London, 1982). Некоторые известные криптографические машины, такие как немец- кая ENIGMA (описание приведено ранее), американская SIGABA и японские RED и PURPLE времен второй мировой войны, являются электромеханиче- скими. Основным блоком в них является диск в виде кодового колеса с про- волочными перемычками внутри, называемый также ротором, по внешней и внутренней поверхностям которого равномерно распределены электрические контакты. Эти контакты позволяют объединять роторы. Как и для С-36, ре- зультирующая подстановка может меняться от буквы к букве. Ниже мы кратко обсудим роторные машины. Результирующие крип- тографические отображения для них являются несколько более общими, чем в случае С-36, по крайней мире с нашей точки зрения. Для более подробного изучения читатель может обратиться к (Beker Н. & Piper F. Cipher systems. Northwood Books, London, 1982). Роторные машины. В 20-х годах XX века были изобретены электромеханические устрой- ства шифрования, автоматизирующие процесс шифрования для некоторых поточных шифров. Принцип действия таких машин основан на многоалфа- витной замене символов исходного текста по длинному ключу согласно вер- сии Виженера (см. /РОМ/). Другими словами, эти устройства реализовывали последовательность подстановок алфавита, с помощью которой шифровалась последовательность букв открытого текста. Наверно первым примером ро- торной машины служит шифратор Джефферсона, о котором уже говорилось в параграфе 1.1. Кроме того, примерами таких устройств являются: описанный выше шифратор Хагелин, немецкая машина «Энигма-ENIGMA», американ- ская машина SIGABA (М-134), английская TYPEX, японская PURPLE и др. Главной деталью таких машин являлся ротор. Ряд таких машйн (а именно дисковые шифраторы) в роторах - дисках имели проволочные перемычки внутри и контакты, расположенные по окружности двух сторон дисков. Каж- дый контакт с одной стороны диска был соединен с одним контактом другой стороны диска. Контакты отождествляются с буквами алфавита. В соответст- вии с внутренним соединением контактов электрический сигнал, представ- ляющий букву алфавита - номер контакта переставляется в соответствии с тем, как он проходит через диск. Если П - подстановка букв, осуществляемая диском в некотором фиксированном положении, то при повороте диска на j шагов осуществляется новая подстановка TjnTj, где Т - подстановка цикли- ческого вида k—>к+1 (mod |I|), I - алфавит текста.
113 Последовательное прохождение тока через контакты от первого диска доп-го моделируется подстановкой - произведением подстановок П1П2...ПП; соответствующих дискам Если же первый диск провернется Haji, позиций, второй на j2 позиций,n-й на jn позиций, то реализуемая дисками подстановка (схема токопрохождения) математически записывается в виде подстановки Т’^'Г’1 Т2П2Т^2... Т’“ПП‘Г*П . Роторные машины-шифраторы от- личались количеством дисков, их коммутацией, схемой совместного движе- ния дисков. Шифры гаммирования (/Про/). Напомним, что в шифре гаммирования шифрование проводится сле- дующим способом. Пусть алфавит открытого текста состоит из п символов, включая пробел. Ключом системы является последовательность из некоторо- го числа L символов. Под открытый текст подписывается ключ io ii i2 ij is ie.;. Yo Yi У2 Yo Yl-i Y0Y1... Если длина ключа меньше длины открытого текста, то ключ периодически повторяется. Каждому знаку открытого текста и ключа ставится в соответст- вие некоторый вычет по модулю п, например, А=1, Б=2,.... Способ сопостав- ления не является секретным. Шифрованный текст получается по правилу , y(O=it+Yt (modn) Таким образом, мы имеем перед собой шифр Цезаря с меняющимся сдвигом нередко его называют и шифром ВИЖЕНЕРА. Напомним, что суммирование по модулю часто называют гамми- рованием, а саму ключевую последовательность - гаммой. Шифры, в ко- торых узел наложения шифра представляет собой узел суммирования, называются шифраторами гаммирования. Это очень распространенный класс поточных шифров. Гаммирование чаще всего осуществляется: - по модулю 2, если открытый текст представляется в виде бинарной по- следовательности; - по модулю 256, если открытый текст представляется в виде последова- тельности байтов; - с помощью покоординатного суммирования двоичных векторов (опе- рация Л в обозначениях языка программирования С или хог в обозначе- ниях ассемблера); - по модулю 10, если открытый текст представлен в виде последователь- ности цифр, что иногда делается в ручных системах шифрования.
114 Блочные шифры как узлы усложнения поточных шифров (/Про/). В типичном шифре гаммирования вместо случайной гаммы наложения используется псевдослучайная последовательность, зависящая от ключа. В этом случае шифр часто называют программным шифром гаммирования. Псевдослучайная последовательность отличается от случайной тем, что она разворачивается по некоторому регулярному закону, зависящему от ключа: сначала вырабатывается исходная последовательность, потом она преобразу- ется узлом усложнения. На выходе узла усложнения получается гамма, кото- рая накладывается на открытый текст. Способов конкретной реализации данной схемы существует очень много. В качестве блока усложнения могут использоваться и блочные шифры. Так шифраторы DES и ГОСТ могут использоваться и в режиме гаммирования. Для подобной схемы исходный блок реалйзует некоторую рекуррентную по- следовательность. Это может быть обычный двоичный счетчик (в каждый такт к начальному разряду прибавляется единица). Снимаемый в данный такт вектор поступает на DES, далее заменяется по преобразованию DES, а резуль- тат используется в качестве гаммы наложения. Часто узел усложнения разби- вается на ряд более простых последовательных блоков (это в чём-то напоми- нает схему итераций в блочном шифре). Сам блочнйй шифр можно предста- вить в виде последовательности блоков усложнения, в котором каждая итера- ция реализуется с помощью своего оборудования. Такая реализация увеличи- вает оборудование, но при этом увеличивает и скорость работы схемы. Поточный шифр гаммирования RC4. Выбор схемы шифратора как правило ориентирован на элементную ба- зу, на которой предполагается осуществить ее реализацию. В качестве примера современного шифра гаммирования, ориентированного на программную реа- лизацию, приведем Алгоритм RC-4 (разработка RSA Security Incorporated). Данный шифр применен, в частности, для защиты в распределенной базе дан- ных Lotus Notus и в некоторых других программных продуктах. Описание функционирования поточного шифра RC4 дается по работе Йована Голича (ГОЛ. J. D. Golic, «Linear Statistical Weakness of Alleged RC4 Keystream generator», in Lecture Notes in Computer Science 1233; Advances in Cryptology:: Proc. Eurocrypt '97, W. Fumy, Ed., May 1997, pp. 226-238, Berlin: Springer-Verlag, 1997 ). Фактически, RC4 представляет собой семейство алго- ритмов, задаваемых параметром п, который является положительным целым с рекомендованным типичным значением и = 8. Внутреннее состояние генера- тора RC4 в момент времени t состоит из таблицы St = (St (l))2^, содержа- щей 2я «-битных слов и из двух «-битных слов-указателей i, и jt. Таким обра-
115 зом, размер внутренней памяти составляет М = и2" + 2п бит. Пусть выходное и-битное слово генератора в момент t обозначается как Z(. Пусть начальные значения i0 ~jo - 0- Тогда функция следующего состояния и функция выхода RC4 для каждого t > 1 задается следующими соотношениями: + 1, jt =jt -1 "* Sf. i(z'z), S't(it) = St. St(jt) ~ St. Zt^StiStiity + StQt)), где все сложения выполняются по модулю 2". Подразумевается, что все слова, кроме подвергаемых изменению по формулам, остаются теми же самыми. Выходная последовательность n-битных слов обозначается как Z = (Zt)",. Начальная таблица So задается в терминах ключевой последовательнос- ти К = (A'/),=JI с использованием той же самой функции следующего состоя- ния, начиная от таблицы единичной подстановки (О/=о * • Более строго, пусть jo = 0 и для каждого 1< t < Т вычисляется jt = (jt. \ + 1) + Kt. i) mod 2", a затем переставляются местами St.\(t - 1) и S(. jjt). На последнем шаге порож- дается таблица, представляющая So- Ключевая последовательность К состав- ляется из секретного ключа, возможно повторяющегося, и рандомизирующего ключа, передаваемого в открытом виде в целях ресинхронизации. Шифрован- ный текст получается сложением по модулю 2 двоичных векторов Ot длины п (байтов при п=8) открытого текста с двоичными векторами Zt длины п. Скремблеры (/Про/). Примером шифратора со сложным узлом наложения шифра являются скремблеры, предназначенные для защиты телефонных переговоров. Для об- мена личной и отчасти коммерческой информации телефон является монопо- листом. Его преимущества очевидны: - относительно высокая скорость обмена информацией, т. к. этот вид связи является двусторонним и сообщение принимается в реальном масштабе вре- мени; - уверенность корреспондента в том, что сообщение дошло до адресата, чего не бывает, скажем, в случае отсылки письма или телеграммы;
116 - узнавание корреспондентами друг друга по тембру голоса, что бывает очень важно при передаче конфиденциальной информации; - меньшие затраты времени для передачи информации по сравнению с други- ми видами связи; - простота вхождения в связь и относительная дешевизна этого вида связи; - широкая распространенность телефонных линий связи, станций и термина- лов и т. д. Особенностью телефонной связи является то, что акустический сигнал в телефонном терминале преобразуется в электрический и затем после обра- ботки и усиления передается по линиям связи. На приемном конце электриче- ский сигнал снова преобразуется в акустический, при этом исходной форме сигнала более или менее сохраняется. Акустический и соответственно элек- трический сигнал характеризуется частотным спектром. Его можно рассмат- ривать в развертке во времени и по спектру. Известно несколько типовых преобразований аналогового сигнала, которые могут быть легко реализованы инженерными методами. Укажем главные из них. ПЕРЕСТАНОВКА ЧАСТОТ. С помощью системы фильтров вся шири- на полосы стандартного телефонного канала может быть разделена на некото- рое число частотных полос, которые потом могут быть переставлены между собой. Перестановка частот Простейший скремблер ограничивает защиту введением подобных простейших частотных преобразований. Серийный скремблер переставляет диапазон 250-675 Гц 675-1100 Гц 1100-1525 Гц 1950-2375 Гц. В данной схеме на вход узла наложения шифра подается одно и то же управление, ор- ганизующее перестановку. ИНВЕРТИРОВАНИЕ СПЕКТРА. Более сложные скремблеры допол- нительно проводят инвертирование спектра (см. рисунок).
117 Инвертирование спектра ЧАСТОТНО-ВРЕМЕННЫЕ ПЕРЕСТАНОВКИ. Еще более сложные системы разбивают сигнал на временном интервале 60-500 миллисекунд и на каждом интервале используются в комбинации свои аналоговые преобразо- вания. Сменой преобразований в разные временные интервалы управляет по- следовательность, поступающая на узел наложения шифра из блока усложне- ния. Тот, кто просто послушает дешифрованную аналоговым сигналом речь услышит какое-то булькание, шум. О сложности задачи зашифрования и расшифрования аналоговых сообщений писал Солженицын в своем «В круге первом». Цитируем: «...Клиппирование, демпфирование, амплитудное сжа- тие, электронное дифференцирование и интегрирование привольной челове- ческой речи были таким же инженерным издевательством над ней, как если бы кто-нибудь взялся расчленить Новый Афон или Гурзуф на кубики вещест- ва, втиснуть в миллиард спичечных коробок, перевести самолетом в Нер- чинск, на новом месте распутать, неотличимо собрать и воссоздать субтропи- ки, шум прибоя, южный воздух и лунный свет. То же, в некоторых импуль- сах надо было сделать и с речью, даже воссоздать ее так, чтобы не только все было понятно, но Хозяин мог бы по голосу узнать, с кем говорит...» Конец цитаты. «Хозяин» - это речь идет о Сталине. Также красочно и немного пре- небрежительно Солженицын отзывался о самой работе по разработке отече- ственных средств защиты телефонной информации. Однако здесь он был не прав. По мнению высококвалифицированных специалистов из так называе- мой шарашки в Марфино (настоящее название у нее другое, сейчас - это НИИ в престижном районе Москвы) в то время работа шла очень целена- правленно и аппаратуру на самом деле делали в срок. Это - аппаратура вре- менной стойкости. При наличии спецтехники типа видимой речи содержание переговоров удается восстановить. Еслизабыть про инверсии, то мы имеем шифр перестановки. Аппаратура видимой речи сводит задачу дешифрования к восстановлению некого рисунка, зашифрованного шифром перестановки. Для гарантированного засекречивания телефонной речи ее сначала оцифровывают - переводят в двоичную последовательность, а потом обраба-
118 тывают также как и любое текстовое сообщение. В практике используются как аппаратура аналогового, так и цифрового засекречивания. Цифровая ап- паратура обеспечивает гарантированную надежность защиты, но она более дорогая, более привередливая к каналам связи. Аналоговая аппаратура менее стойкая, но более дешевая, более портативная, менее требовательная к кана- лам связи. Более подробно о шифровании в телефонии см. (Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. «Основы криптографии» М., Гелиус АРВ, 2001- 480 с.), а также (Speech and Facemile scrambling and De- coding. A cryptographic series, v.31,1981. Aegean Park Press). Параграф 1.5 Стеганографические средства защиты информации в переходный период от древности к современности (/Про/) Напомним, что под стеганографическими методами защиты инфор- мации понимаются методы сокрытия самого факта наличия или передачи ин- формации. В первом параграфе этой главы отмечалось, что первые следы стега- нографических методов теряются в глубокой древности. Например, мы ука- зывали и такой способ сокрытия письменного сообщения. Голову раба брили; на коже головы писали сообщение и после отрастания волос отправляли раба к адресату. Отзвук этой истории можно встретить в «Гиперболоиде инженера Гарина» Алексея Толстого, где текст нанесли на спину мальчика. Тайнопись. Сообщения симпатические, латентные или скрытые, могут быть сде- ланы специальными техническими средствами, например, бесцветными чёр- нилами, проявляющимися лишь после специального физического или хими- ческого воздействия. Популярные исторические книжки сообщали, что рос- сийские революционеры в тюрьмах использовали в качестве симпатических чернил даже обычное молоко. При нагревании огнем или горячим утюгом та- кие записки становились отчетливо видны. Литератор Куканов в своей повес- ти о Ленине «У истоков грядущего» рассуждал так: «Молоко в роли чернил - не самый хитрый способ тайнописи, но порой, чем проще уловка, тем она на- дежнее». Однако если заглянуть в архивы российской охранки, то станет ясно, что там было прекрасно известно о подобных уловках. Выявить и прочесть эту тайнопись Департаменту полиции не составляло труда. Именно в России были разработаны и развиты способы чтения скрытых и стертых текстов с
119 помощью фотографии и подбора освещения. Ими пользуются и поныне. Позднее физик Роберт Вуд предложил использовать для чтения скрытых тек- стов явление люминесценции. Микроточки. Сокрытие текста достигло своих вершин после второй мировой войны, когда распространились сверхминиатюрные фотографии. Обычная точка текста могла содержать сотни страниц документов, и найти ее в книге среднего формата было много сложнее, чем пресловутую иголку в стоге сена. Адвокат Рудольфа Абеля, известного разведчика в США, обмененного в 1962 г. после 5 лет заключения из 30, на пилота-шпиона Пауэрса, хотел продать его конфискованные картины с аукциона, чтобы поддержать своего подзащитного, хотя бы материально. Однако этого не удалось сделать, т. к. картины были написаны маслом с применением непрозрачных для рентгенов- ских лучей красок. При поиске микроточек картины были бы разрушены, а сам поиск занял бы годы кропотливой работы ЦРУ. Поэтому в тюрьме Абелю пришлось подрабатывать, рисуя лишь прозрачные акварели. Сейчас нет тех- нических проблем записать текст так мелко, что его вообще нельзя будет про- честь оптическими средствами без применения электронного микроскопа. Похожая технология используется при создании компьютерных микросхем большой интеграции. Маскировка среди другой информации. Акростих. Метод Грибое- дова А.С. Другой подход - маскировка сообщения среди посторонней ин- формации, которая как бы зашумляет его. Один типично стеганографический прием тайнописи - акростих - хорошо известен знатокам поэзии. Акростих - это такая организация стихотворного текста, при которой, например, началь- ные буквы каждой строки образуют скрываемое сообщение. Ранее в парагра- фе 1.1 мы отмечали, что стеганографический метод защиты информации ис- пользовал А.С. Грибоедов в бытность послом России в Персии. Уже в Совет- ское время некоторых его биографов смутил тот факт, что в отдельных пись- мах из Персии жене нарушался характерный стиль и замечательный писатель был не похож сам на себя. При исследовании оказалось, что эти письма со- держали дипломатические послания Александра Сергеевича. Они были сде- ланы через накладываемый на лист бумаги трафарет, в котором были выреза- ны отдельные окошки под буквы. Написав донесение через трафарет, Грибое- дов дописывал разбросанные по листу -буквы в связный текст так, чтобы он содержал письмо жене, и отправлял его с обычной почтой. Российские сек- ретные службы перехватывали это письмо или, как говорят, перлюстрирова- ли, расшифровывали, а затем доставляли адресату. По-видимому, жена его не догадывалась о двойном назначении этих посланий. Отметим большое остро-
120 умие применения защиты и хорошую надежность. Имея отдельное письмо, вскрыть его содержание практически невозможно, а переписывание текста от руки разрушало шифровку, поскольку буквы неизбежнЬ сдвигались по месту расположения. Раскрыли эту систему очень просто. Сложили все листочки в стопочку и просветили мощной лампой. Буквы на трафарете были на экране более затемнены, т. к. лежали строго друг под другом. Использование особенностей начертания символов. Могут быть предложены различные способы реализации идеи сокрытия содержания среди «шумовой» последовательности. При написании текста от руки человек ис- пользует различные начертания для букв, например, «д» или «т». Если отпра- витель и получатель договорятся, что только одно из возможных начертаний принимается во внимание, то Вы получите способ маскировки сообщения. Стеганографические способы маркировки очень любят фокусники и шарлата- ны. Проскурин Г.В. сообщил авторам один карточный фокус с математиче- ским и стеганографическим оттенком. Фокусник берет колоду карт, вынимает часть из них, на остальные внимательно смотрит, как-то перекладывает, по- том предлагает Вам вынуть одну карту из колоды, посмотреть на нее, и поло- жить в колоду, можно положить на то же место. Далее он тасует Колоду, предлагает потасовать Вам. Затем берет карты, просматривает их и угадывает ту, что Вы выбрали. Секрет фокуса достаточно прост. У каждой карты можно определить верх и низ по виду рисунка. Самый простой способ: сердечко чер- вей должно быть ориентировано острым концом вниз, крест треф в правиль- ном положении стоит на палочке - подставке, острый конец пики должен быть направлен вверх. Симметричные карты фокусник откладывает. Остав- шиеся карты он укладывает в установленном им нормальном положении вер- хом вверх. Когда Вы вытаскиваете карту, его задача подставить колоду так, чтобы Вы вложили карту кверху ногами. Стасовав колоду, не меняя при этом ориентации карт, и просматривая картинки, он сразу видит карту, ориентиро- ванную не так как остальные. Именно ее Вы и выбрали. Использование особенностей поведения. Имея определенный навык и хорошего помощника, фокусник легко найдет предмет, спрятанный в зале в то время, когда его выгнали за дверь. Просто помощник своими ничего не значащими для постороннего словами или внешним видом будет подсказы- вать. Примеры подобного рода любят в детективах. Вспомните телефильм «Вариант «Омега» (или его прообраз - книгу «Операция Викинг»), Совет- ский разведчик, которого играл Олег Даль, вышел на прогулку без трости - значит, надо было срочно приводить в исполнение приговор гитлеровскому палачу.
121 Сокращение времени обмена информацией. Используются стегано- графические методы и в серьезных делах. Как-то в прессе, достаточно давно, сообщалось об аресте одного американского агента. Для связи ему было пере- дано специальное устройство накопления информации и радиопередатчик уз- ко направленного действия. Проезжая по Садовому кольцу мимо американ- ского посольства, он направлял передатчик на здание посольства, нажимал кнопку, и вся информация буквально за секунду выстреливалась в посольство и перехватывалась специальными агентами. Машина даже не замедляла ход. Постоянная работа системы передачи информации. Для сокрытия интенсивности обмена информации в сети связи часто передатчики постоян- но работают в режиме передачи информации. Если информации не цоступает, то они передают сигнал - «нет сообщений». Этот сигнал закрывается крипто- графическими методами, и по виду передаваемого текста нельзя определить, что же передается. Стеганографические приемы защиты программных продуктов. Методы маскировки широко применяют в вычислительной технике. К ним относится запись информации между дорожками на гибких магнитных дис- ков, создание скрытых файлов. Это делается в целях защиты от копирования. Если запускаемая программа не обнаружит меток на диске или нужного ей скрытого файла, то она не будет работать. Когда Вы несанкционированно ко- пируете программу, то едва ли скопируете скрытый файл, который может на- ходиться совсем в другой директории. Замаскированные закладки встречаются во встроенных системах криптографической защиты некоторых широко известных программных про- дуктов, в частности, в электронной почте Sprint Mail и в известной системе управления базами данных Paradox. В конце шифрованного файла Sprint Mail просто записывает в замас- кированном виде введенный пользователем пароль, при этом способ маски- ровки очень прост и легко восстанавливается стандартными методами анализа программного обеспечения. В СУБД Paradox устроено несколько подругому. Вводимый пароль преобразуется по весьма сложному алгоритму. Провести обратные преобразо- вания достаточно сложно. Для закрытия информации используется только преобразованный пароль - рабочий ключ. Этот рабочий ключ разработчики решили вписать в явном виде в заголовок файла таблицы базы данных. Вся- кий знакомый с алгоритмом криптографических преобразований может из- влечь рабочий ключ из заголовка и восстановить закрываемую информацию. Пароль, введенный пользователем, он скорее всего никогда не узнает, но со- держание таблицы восстановит в полном объеме при минимальных затратах.
122 Параграф 1.6 Идея открытого ключа - революция в криптогра- фии (/Три/) Проблема распределения ключей. Для решения проблемы распределения ключей в симметричных шифрах предусмотрено (в шенноновской модели шифра) наличие секретного канала связи, с помощью которого пользователи могут передавать ключи. Получа тель Классическая модель криптографической системы (модель Шеннона)
123 Но можно ли передавать ключи, если такого защищенного канала свя- зи нет? Могут ли, например, два удаленных абонента обменяться секретными сообщениями, пользуясь лишь таким средством связи, как электронная почта? Проблема цифровой подписи. Проблема цифровой подписи является не менее важной для обеспече- ния безопасности связи, чем проблема рассылки ключей. Она состоит в том, чтобы дать возможность получателю сообщения демонстрировать другим людям, что полученное им сообщение пришло от конкретного лица, то есть, фактически, обеспечить аналог обычной подписи. Иногда получателю доста- точно удостовериться в том, что сообщение не было навязано (изменено или имитировано) третьим лицом. Противодействовать данному типу угроз по- зволяет обычная система обеспечения имитостойкости. Но она не может пре- доставить получателю электронного сообщения юридическое доказательство личности отправителя, то есть не может разрешить спор между отправителем и получателем относительно того, какое было послано сообщение и было ли оно послано вообще. Оказывается, обе эти проблемы могут быть решены, ес- ли ввести в рассмотрение так называемые системы с открытым ключом. Модель системы с открытым ключом Модель системы с открытым ключом. Считается, что криптография с открытым ключом родилась в 1976 го- ду, когда была опубликована статья американских математиков У. Диффи и М.Э. Хеллмана «Новые направления в криптографии». Эта публикация не то- лько положила начало новому направлению науки о шифрах, но и послужила
124 импульсом к развитию новых направлений математики. Авторами данной ра- боты и независимо от них Р. Мерклем было показано, что из классической модели шифра можно исключить секретный канал распространения ключей, и при этом все-таки обеспечить защиту при передаче сообщений без каких-либо предварительных мероприятий. В своей основополагающей работе Диффи и Хеллман ввели в рассмо- трение понятие однонаправленной функции с лазейкой (или с секретом), ста- вшее центральным в криптографии с открытым ключом. Оно является обоб- щением известного до 1976 года понятия однонаправленной функции. Определение 1. Функция F: X -> У называется однонаправленной функцией (ОФ), если она обладает двумя свойствами: 1) функция F легко вычислима; 2) почти для всех yeY сложно найти такое хеХ, что F(x) = у. Определение 2. Функция Fx: X —> Y, зависящая от параметра %gK, на- зывается однонаправленной функцией с лазейкой (ОФЛ), если она обладает тремя свойствами: 1) при любом % функция Fx легко вычислима; при неизвестном х почти для всех уеУ сложно найти такое хеХ, что Fx(x) = у; 2) при известном х функцию Fx легко инвертировать (инвертировать - значит решить уравнение Fx(x) = у относительно неизвестного х). Второй пункт определения 1 означает, что почти для всех уеУ функ- цию трудно инвертировать. Мы говорим «почти для всех», имея в виду, что существует небольшое по мощности множество у-ов, для которых несложно найти их прообразы при отображении F. Замечание. Определения 1 и 2 являются математически нестрогими. Точное определение однонаправленной функции читатель может найти во многих изданиях по криптографии с открытым ключом. Математические формализации понятий сложности и простоты алгоритмов можно найти в книгах по сложности алгоритмов. В настоящее время не построено ни одной функции, для которой было бы доказано, что она является однонаправленной или однонаправленной функцией с лазейкой. Более того, не доказано даже их существование. Для практических целей криптографии построено несколько функций, которые могут оказаться ОФЛ. Для них пока строго не доказано второе свойство - от- сутствие полиномиального алгоритма их инвертирования, но считается, что эта задача эквивалентна некоторой давно изучаемой трудной математической проблеме. Одним из самых известных и широко используемых «кандидатов» в однонаправленные функции с лазейкой является функция шифрования RSA. Наиболее распространенным «кандидатом» в однонаправленные можно счи-
125 тать функцию возведения в степень в мультипликативной группе простого поля, предложенную Диффи и Хеллманом для организации открытого рас- пределения ключей. Кроме возможности передачи секретной информации с использовани- ем только открытых каналов связи, решающей проблему распределения клю- чей, применение однонаправленных функций с лазейкой позволяет решить проблему цифровой подписи, а также позволяет включить в задачу вскрытия шифра трудную математическую задачу и тем самым повысить обоснован- ность стойкости шифра. Для решения проблемы распространения ключей было предложено два основных подхода. Первый - это открытое распределение ключей, с помощью которого отправитель и получатель могут договориться р ключе, используемом в обыч- ной криптографической системе. При этом пассивный перехватчик, прослу- шивающий все переговоры, не будет в состоянии этот ключ определить. Второй подход реализует криптографические системы с открытыми ключами, в которых для зашифрования и расшифрования используются раз- ные ключи. ь Рассмотрим сначала второй подход. Причина, по которой ключи в обычных криптографических системах должны тщательно защищаться, со- стоит в том, что функции зашифрования и расшифрования в них нераздели- мы. Любое лицо, имеющее ключ, использованный для зашифрования какого- либо сообщения, может это сообщение расшифровать. В криптосистемах с открытым ключом процессы зашифрования и расшифрования разделены и зависят от различных ключей, причем по алгоритму зашифрования (опреде- ляемому ключом зашифрования), практически невозможно восстановить ал- горитм расшифрования. Это означает, что для восстановления алгоритма не- обходимо провести такой объем вычислений, который можно считать практи- чески неосуществимым. Поэтому стойкость таких систем не зависит от того, знает противник ключ зашифрования или нет. Этот ключ не нужно держать в секрете, его можно публиковать и передавать по незащищенному каналу свя- зи. Отсюда название криптографических систем такого вида - «криптосисте- мы с открытым ключом». Принципы построения криптосистем с открытым ключом. Опишем сначала принцип построения криптосистемы с открытым ключом, предложенный Диффи и Хеллманом (W. Diffie, М.Е. Hellman, 1976). Пользователь А, который хочет получать шифрованные сообщеяия, выбирает однонаправленную функцию Fx: X—>Y с лазейкой, алгоритм вычисления зна- чений Fz публикует, а % оставляет в секрете. Любой пользователе В, желаю-
126 щий послать А сообщение хеХ, вычисляет у = Fx(x) и посылает у по незащи- щенному каналу связи. Из второго и третьего пункта определения 2 следует, что только пользователь А может по у вычислить х, так как только А знает секрет %. Определение 3. Криптографической системой с открытым ключом называется пятерка A=<X,K,Y,E,D>, где X,Y - конечные множества, соответ- ственно, открытых и шифрованных текстов, К - множество ключей (откры- тых и секретных), Е = {Ех}х€к , D = {Dx}xeK - семейства алгоритмов зашиф- рования и расшифрования соответственно, определяющих отображения: Ех: X->Y, Dx: Y->X, * такие что 1) для каждого хеХ" Dx обратно к Ех, то есть для любых у&К, хеХ Рх(Ех(х)) = х> 2) для каждого хе^ функции Ех и Dx легко вычислимы; 3) для почти каждого вычислительно труднб по данному Ех найти какой-либо легко вычислимый алгоритм, эквивалентный Dx; 4) по каждому заданному хе^ можно легко получить соответствую- щую пару (EX,DX); 5) существует легко вычислимый алгоритм генерации ключей. Поясним данное определение. В нем третье свойство можно сформу- лировать по-другому: почти для каждого х^АГ вычислительно невозможно по данному случайному у ё У определить хеХ, такой, что Ех(х)=у, то есть не су- ществует полиномиального алгоритма (алгоритма со сложностью переделяе- мой некоторым полиномом от размера входных данных), находящего какое- либо решение х уравнения Ех(х)=у. Это свойство означает, что можно не засе- кречивать алгоритм зашифрования Ех. При этом алгоритм расшифрования Dx скомпрометирован не будет. Ясно, что алгоритм Dx имеет в качестве парамет- ров элементы ключа х, не являющиеся параметрами алгоритма Ех (иначе по Ez можно было бы восстановить Dx). Эти элементы ключа являются секретными и образуют секретный ключ х? криптосистемы А. Остальные элементы ключа X являются параметрами алгоритма Ех и образуют открытый ключ Xi крип- тосистемы А. Четвертое свойство гарантирует наличие практически реализуемого пути вычисления пар алгоритмов зашифрования и расшифрования. На прак- тике кроме эффективных реализаций этих алгоритмов криптографическое оборудование должно включать и эффективную реализацию алгоритма гене- рации ключей. Алгоритм генерации ключей общедоступен. Всякий желающий
127 может подать ему на вход случайную строку г (например, двоичную строку достаточной длины) и получить ключ % и соответствующую этому ключу па- ру (Ех, Dx). Строка г может также вырабатываться генератором случайных чи- сел. Замечание. Выше было определено, какие элементы ключа асиммет- ричной криптографической системы называются открытыми, а какие секрет- ными. Согласно этому определению далеко не во всякой криптосистеме с от- крытыми ключами алгоритм расшифрования определяется только секретным ключом Х2- То есть не всегда, зная лишь секретную часть ключа %, можно вос- становить алгоритм Dx (например, этого нельзя сделать в криптосистеме Эль- Гамаля). Существуют также и такие асимметричные криптосистемы, в кото- рых знание хг позволяет восстановить весь ключ (например, RSA), а значит, и алгоритм Dx. Будем в дальнейшем для удобства алгоритм зашифрования обо- значать через Ехь а алгоритм расшифрования через DX2, где и %2 - Соот- ветственно открытый и секретный ключи. При этом необходимо помнить, что алгоритм Dx2 может иметь в качестве параметров элементы ключа %1- В от- личие от него алгоритм зашифрования Exi всегда можно восстановить, зная лишь xl- Опишем теперь, каким образом два пользователя А и В могут с помо- щью криптосистемы с открытым ключом организовать передачу секретных сообщений. Пусть пользователь А хочет послать секретное сообщение поль- зователю В. Для этого В строит ключ х = (%1> х2) и посылает xl пользователю А. Получив хЕ пользователь А шифрует сообщение х с помощью алгоритма Ехь Полученный шифртекст y=Exi(x) он посылает В. Используя алгоритм расшифрования Dx2, пользователь В из полученного у вычисляет открытое сообщение x=Dx2(y). Заметим, что только В может по у найти х, так как только он знает секретный ключ. Криптоаналитику, в распоряжение которого попа- дают %1 и у, для определения открытого сообщения необходимо решить урав- нение Exi(x)=y. Но по третьему пункту определения 3 эта задача практически неразрешима. На первый взгляд может показаться, что описанный способ организа- ции секретной связи идеально решает проблему распространения ключей. Но на самом деле это не так. Отсутствие защищенного канала связи бесспорно является значительным преимуществом этого способа над классическим. Од- нако у него есть и существенный недостаток. Если криптоаналитик имеет во- зможность осуществлять имитацию или подмену сообщений, то он может по- лучить открытое сообщение, даже когда используемая криптосистема
128 обеспечивает стойкость. Криптоаналитик может построить свою пару ключей Х'=(х' 1,Х 2) и послать А ключ х' 1 от имени пользователя В. Ничего не подо- зревающий пользователь А зашифрует сообщение х, предназначенное для В, на ключе криптоаналитика и затем, послав его, даст возможность последнему без труда восстановить х. Чтобы данная угроза не могла быть реализована, описанная схема ор- ганизации секретной связи должна быть усовершенствована.. Пользователь А, получив ключ пользователя В, должен иметь возможность убедиться в том, что этот ключ прислал именно В, то есть необходимо обеспечить аутентифи- кацию открытых ключей. Задача аутентификации открытых ключей может быть решена методами криптографии с открытым ключом. Для ее решения в сеть пользователей включают так называемый центр доверия, осуществляю- щий сертификацию открытых ключей. При этом используются такие крипто- графические механизмы как идентификация и цифровая подпись. Напомним несколько понятий, играющих важнейшую роль при обеспечении безопаснос- ти связи. Определение 4. Аутентификация пользователя или идентификация - это способ взаимодействия двух сторон, из которых одна сторона является поль- зователем, позволяющий пользователю доказать другой стороне свою тожде- ственность с лицом, за которое он себя выдает. Определение 5. Аутентификация сообщения - это подтверждение под- линности источника сообщения. Определение 6. Цифровая подпись - это криптографическое средство, дающее возможность получателю электронного сообщения не только убе- диться в подлинности источника сообщения, но и уметь доказывать его под- линность. Схема цифровой подписи. Диффи и Хеллман предложили следующий принцип построения схемы цифровой подписи. Пользователь А выбирает од- нонаправленную функцию с секретом Fx: Y -> X, алгоритм вычисления зна- чений Fx публикует, х оставляет в секрете. Для того чтобы подписать сообще- ние хеХ, он находит такое уеУ, что Fx(y) = х, и посылает его вместе с х. По- лучив пару (х,у), пользователь В проверяет равенство Fx(y) = х. Выполнение этого равенства означает, что источником сообщения х является пользователь А, владеющий секретом х- Криптографические системы с открытым ключом обеспечивают реше- ние проблемы цифровой подписи, если они удовлетворяют следующему усло- вию:
129 Х=У и для каждого Ех обратно к Dx, то есть для любых хеХ Ex(Dx(x)) = х- \ Пусть пользователь А хочет послать подписанное несекретное сообще- ние пользователю В. Для этого А строит ключ х=(%1,%2) и посылает %1 поль- зователю В. Сообщение х пользователь А шифрует с помощью своего лично- го ключа %2, получая таким образом подпись y=DX2(x), и посылает ее В. Ра- ньше, когда при передаче информации требовалась только секретность, с по- мощью алгоритма DX2 владелец ключа % расшифровывал получаемые им соо- бщения, теперь же он использует этот алгоритм для зашифрования или по- дписи. Используя алгоритм ЕхЬ пользователь В может вычислить х из полу- ченного у и убедиться таким образом, что отправителем сообщения х является А. Подпись у он сохраняет как доказательство того, что пользователь А при- слал ему сообщение х. Если позднее А откажется от факта посылки этого соо- бщения, то В может предъявить суду подпись у. Суд возьмет открытый ключ Х1 пользователя А и установит, что Ех1(у) является осмысленным сообщени- ем; Так как только А знает секретный ключ у 2, то только он может быть исто- чником этого сообщения, поэтому А неизбежно придется отвечать за посылку сообщения х. Открытое распределение ключей Диффи-Хеллмана. Рассмотрим теперь другой подход к решению проблемы распростра- нения ключей, а именно: открытое распределение ключей. Под открытым распределением ключей понимают последовательность действий двух или бо- лее пользователей, в результате выполнения которой им становится доступна некоторая общая секретная информация (ключ). При этом любой другой пользователь, следящий за передаваемыми по каналу связи сообщениями, эту секретную информацию определить не в состоянии. В работе /DH. W.Diffie, М.Е. Hellman. New directions in cryptography, IEEE Transactions on Information Theory, v.IT-22, N.6, November, 1976, рр.644-654/ был предложен так называе- мый экспоненциальный ключевой обмен, который в настоящее время называ- ется схемой открытого распределения ключей Диффи-Хеллмана. Данная схе- ма основана на использовании функции возведения в степень в мультиплика- тивной группе простого поля: f(x) = ах modp, где р - простое число, а - примитивный элемент поля GF(p), 1<х< р - 1. Эта фукнция является канди- датом в однонаправленные. Действительно, она легко вычислима, так как, ис- пользуя метод квадратов, значения этой функции можно вычислять с полино- миальной сложностью, оцениваемой величиной O((log р)3), в то время как об- ратная задача - задача инвертирования функции - является сложной. Для ин- 5 Зак. 5
130 вертирования функции f(x) необходимо уметь решать уравнение у = ах modp, то есть уметь решать задачу дискретного логарифмирования в мультипликативной группе простого поля. В настоящее время не известно достаточно эффективных (полиномиальных относительно logp) алгоритмов дискретного логарифмирования в мультипликативной группе GF(p) поля. Этот факт и лежит в основе стойкости данной схемы открытого распределе- ния ключей. Опишем ее. Пусть два пользователя А и В хотят выработать общий ключ. Для это- го они заранее определяют элементы р и а, которые считаются общедоступ- ными. Оба пользователя случайно выбирают по одному натуральному числу хА и Хв: 1 < хА, хв < р - 1 и оставляют их в секрете. После этого выполняется следующая последовательность шагов. 1) А вычисляет элемент уА = аХА modp и посылает его В; 2) В вычисляет элемент ув =аХв modp и посылает его А; 3) А вычисляет элемент ygA modp = (аХв ) А modp; 4) В вычисляет элемент УдВ modp = (аХд modp . Таким образом, А и В. получают общий элемент поля GF(p), равный ахлхБ modp, который и объявляется их общим ключом. Пассивный крипто- аналитик получает в свое распоряжение величины р, а, аХд modp, аХв modp и хочет определить аХдХв modp. Эта задача называется пробле- мой Диффи-Хеллмана. В настоящее время не найдено более эффективного решения этой проблемы, чем дискретное логарифмирование. Параграф 1.7 Недостатки модели шифра Шеннона. Обобщенная модель шифра В классической модели шифра два абонента используют для связи один ключ, хранящийся от всех других абонентов в секрете. Такой ключ на- зывают секретным, а криптографические системы с секретными ключами на- зывают еще одноключевыми или симметричными шифрами (криптосистема- ми). При использовании симметричных криптосистем возникает проблема рассылки ключей. Если два человека, которые никогда ранее не встречались,
131 должны передать друг другу секретную информацию, то им необходимо зара- нее договориться о ключе, причем сделать это нужно так, чтобы ключ был известен только им и больше никому. Для решения этой проблемы в шенно- новской модели шифра предусмотрено наличие секретного канала связи, с помощью которого пользователи могут передавать ключи. Классическая модель криптографической системы. Алгебраическая модель шифра по К. Шеннону представляет собой (см. параграф 1,3) трехосновную алгебру A=(X,K,y,f), где Х,К,У - конечные множества, которые названы множеством открытых текстов хеХ, множест- вом ключей %еК, множеством шифрованых текстов уеУ, соответственно; f- функция шифрования, f: ХхК—>У, обладающая свойством: при любом %еК отображение fz: X—>У, fx(x)=f(x,%) - инъективно. Последнее условие К. Шен- нона отражает возможность однозначного расшифрования шифрованного те- кста. Как правило, при таком определении шифра обычно дополнительно считают, что функция F - сюрьектина. В данной модели считается, что при дешифровании противник знает шифр А=(Х,К,УД), однако использован- ный при зашифровании ключ ему неизвестен. Таким образом, модель 5*
132 Шеннона предназначена для описания шифров с симметричным ключом (ши- фров с неизвестным ключом шифрования). Уравнение шифрования записывается в виде: f(x,%)=y, или fz(x)=y, или %х=у. Уравнение расшифрования записывается в виде: fx ’(У)=х> или х1 У=х. Достоинством данной модели шифра является ее универсальность. Она описывает практически все известные шифры с симметричным ключом. Недостатки математической модели заключаются в следующем. 1) Шифры с ассиметричным ключом (шифры с открытым ключом) этой моделью не покрываются. 2) Даже при моделировании шифров с симметричным ключом отобра- жение fx’’ задано не вполне корректно. Если элементу не принадлежит мно- жеству fx(X)={y: y=fz(x), хеХ}, то значение fx’’(y) не определено. 3) Затруднительно определить понятая'«истинный» и «ложный» ключ при дешифровании методом тотального перебора ключей. Действительно, ес- ли f(x,%)=f(x,x'), где % - ключ шифрования, а х'~ опробуемый ключ, то как называть ключ х', истинным или ложным? 3) Модель не учитывает наличие канала связи с помехами. Если прои- зошло искажение передаваемого шифрованного текста y=f(x,x) и на прием пришло сообщение у', то значение fx ’(y ) может быть не определено по при- чине того, что у' не принадлежит fx(X), более того: это значение может не принадлежать даже У. 4) Содержательная трактовка множества X в некоторых случаях вызы- вает затруднение. По определению, это множество «текстов» х, для которых определено значение f(x,x) при любом х^К, и они названы открытыми текс- тами. Но тексты, которые могут быть зашифрованы, в общем случае делятся, в свою очередь на «содержательные» (это подмножество ХссХ) и «бессодер- жательные» («хаотические», это множество Х\ХС). Критерий истинности де- шифрования, например, методом опробования ключей Xе К, обычно строится в проверке условия fx''(y)eXc (критерий на содержательный текст). Если Х=ХС (шифруются только содержательные текста), то критерий вырождается в кри- терий: значение fx‘(y) определено или нет. Приведенные соображения говорят о целесообразности наряду с множеством X ввести в модель и его подмножес- тво Хс содержательных текстов. j
133 Алгебраическая обобщенная модель шифра. Целью данного пункта является описание новой модели шифра, уточ- няющей модели К.Шеннона, Диффи и Хелмана и свободной от указанных выше недостатков. Основная концептуальная идея построения такой модели, на наш взгляд, естественна и очевидна. Она состоит во введении шифра шиф- рования и шифра расшифрования, совокупность которых и составляет алгеб- раическую модель шифров. Шифром зашифрования (алгеброй зашифрования) назовем алгебру АШ=(Х,ХС;КШ,У,УС,Ц, где XcczX, f: ХхКш->У - сюрьективное отображение, причем для каждого х^Кш отображение fz:X—>У, fz(x)=f(x,x) инъективно, а y^fpQxKuJ. Множество Хс трактуется как подмножество всех содержатель- ных текстов из множества «открытых текстов» X. Последнее множество сос- тоит из текстов х, которые могут быть зашифрованы шифром, то есть тех х, для которых определено значение fx(x) для всех хеКш. Введение подмножес- тва XcczX, как множества содержательных текстов, позволяет корректно вво- дить критерии на содержательные тексты. Таким образом, шифр зашифрования есть некоторое уточнение моде- ли шифра Шенина А=(Х,КШ,У,Ц. Шифром расшифрования (алгеброй расшифрования) для Аш назовем алгебру АР=(У',КР,ХТ), где Ус;У', XczX', F: У'хКр—>Х' - сюрьективное отоб- ражение, для которого выполняются следующие условия: 1) существует биекция (р: Кш—>КР; 2) для любых хеХ, х€Кш из условия f(x,x)=y вытекает F(y,cp(x))=x. При отсутствии искажений в канале связи функция расшифрования F полностью определена на всем множестве УхКр. Введение множества Y' (а точнее, У'\У) обеспечивает возможность описания реакции приемной стороны на поступление искаженного шифро- ванного сообщения у' ёУ. Введение множества Х'\Х обеспечивает возможность описания ре- зультата расшифрования приемной стороной искаженного шифрованного со- общения у'ёУ. Отметим, что в определении шифра расшифрования не содержится требований инъективности функции F по переменной ке Кр. Алгебраической обобщенной моделью шифра назовем тройку (АШ,АР, ср). Отметим следующие положительные свойства этой модели. 1 ь Возможность моделирования шифров с асимметричным ключом. Здесь учитываются следующие соображения:
134 - ключ /еКш несекретен, а ключ к-(р(%)еКр является секретным; - определение значения к связано с решением сложных проблем; - синтез пар ключей (к, %) проводится достаточно просто. Заметим, что здесь проявляется возможность классификации шифров по параметру сложности вычисления значения ф(х) ключа расшифрования, что определяет основной параметр криптографической стойкости шифров с ассиметричным кдючом. 2. Возможность моделирования шифров с симметричным ключом. Ниже используется как эта обобщенная модель шифра, так и модель шифра по К. Шеннону, ГЛАВА 2. ДЕШИФРОВАНИЕ ИСТОРИЧЕСКИХ ШИФРОВ Параграф 2.1 Дешифрование шифра простой замены, переста- новки и некоторых шифров гаммирования (/Про/) В параграфе 3.2 мы введем математические модели открытых текстов, используемые при криптографичесом анализе шифров, а также укажем неко- торые частотные свойства открытых текстов. В следующем пункте мы ис- пользуем некоторые из этих свойств и акцентируем внимание на вероятност- но-статистических закономерностях, присутствующих в открытом тексте, ко- торые используются при дешифровании шифров простой замены и переста- новки. Устойчивые закономерности открытого текста и их использова- ние при дешифровании шифров простой замены и перестановки. Воз- можность дешифрования какого либо шифра в значительной мере зависит от того, в какой степени криптографические преобразования разрушают вероят- ностно-статистические закономерности, присутствующие в открытом тексте. К наиболее устойчивым закономерностям открытого сообщения относятся следующие. 1) В осмысленных текстах любого естественного языка различные буквы встречаются с разной частотой, при этом относительные частоты букв в раз- личных текстах одного языка близки между собой. То же самое можно сказать и о частотах пар, троек букв открытого текста;
135 2) Любой естественный язык обладает так называемой избыточностью, что позволяет с большой вероятностью «угадывать» смысл сообщения, даже если часть букв в сообщении не известна. В приводимой ниже таблицы указаны относительные частоты букв алфавита русского языка. 1 а - 0,062 12 л - 0,035 23 ц - 0,004 2 б - 0,014 13 м - 0,026 24 ч- 0,012 3 в - 0,038 14 н - 0,053 25 ш - 0,006 4 г-0,013 15 о - 0,090 26 щ - 0,003 5 д - 0,025 16 п - 0,023 27 ы- 0,016 6 е,ё - 0,072 17 р - 0,040 28 ъ,ь - 0,014 7 ж - 0,077 18 с - 0,045 29 э - 0,003 8 з-0,016 19 т - 0,053 30 ю - 0,006 9 и - 0,062 20 у - 0,021 31 я-0,018 10 й-0,010 21 ф - 0,002 32 - 0,175 11 к - 0,28 22 х - 0,009 Подобные таблицы приводятся в разных книгах. Они получены на ос- нове подсчетов частот на больших объемах открытого текста. Учитывая, что для экспериментов берется различный исходный материал, значения вероят- ностей несколько отличаются между собой. Если упорядочить буквы по убыванию вероятностей, то Мы получим вариационный ряд ' О,Е,А,И,Н,Т,С,Р,В,Л,К,М,Д,П,У,Я,3,Ы,Б,Ь,Г,Ч,Й,Х,Ж,Ю,Ш,Ц,Щ,Э,Ф. Как запомнить первые 10 наиболее частых букв? Помните, как запо- минают основные цвета в физике? Надо запомнить фразу Каждый охотник желает знать, где живет фазан. Первые буквы слов фразы указывают на основные цвета. В криптографии надо запомнить слово СЕНОВАЛИТР - в нем все 10 наиболее частых букв. Частотная диаграмма, конечно, зависит от языка. В нижеследующей таб- лице приводятся в процентах относительные частоты наиболее употребляе- мых букв некоторых языков. Английский язык е-12,75 t - 9,25 г-8,50 i - 7,75 h - 7,75 о - 7,50 Французский язык е- 17,75 а - 8,25 s - 8,25 i - 7,25 n - 7,25 r - 7,25 Немецкий язык е-18,50 п- 11,50 i - 8,00 г-7,50 s - 7,00 a - 5,00 Арабский язык а-17,75 •
136 Греческий язык а-14,25 Японский язык р- 15,75 Латинский язык а - 11,00 Малайский язык а - 20,25 Санскрит а-31,25 Частоты знаков алфавита зависят не только от языка, но и от характера текста. Так в тексте по криптографии будет повышена вероятность букв Ф, Ш (из-за часто встречающихся слов «шифр», «криптография»), В математиче- ском тексте скорее всего будет завышена частота буквы Ф (из-за слов «функ- ция», «функционал» и т. п.). В стандартных текстовых файлах наиболее частым был символ «про- бел», в ехе-файлах наиболее часто встречается символ 0, в текстах, написан- ных в текстовом процессоре ChiWriter, удобном для оформления математи- ческих текстов, на первое место вышел символ “\” - backslash . Частотная диаграмма является устойчивой характеристикой текста. Из теории вероятностей следует, что при достаточно слабых ограничениях на вероятностные свойства случайного процесса справедлив закон больших чи- сел, т. е. относительные частоты ук знаков сходятся по вероятности к значе- ниям их вероятностей р : А " Это верно для последовательности независимых испытаний, для ко- нечной регулярной однородной цепи Маркова. Эксперименты показывают, что это верно и для открытых текстов. С позиций современной криптографии шифры перестановки и простой замены обладают существенным недостатком - они не полностью разрушают вероятностно-статистические свойства, имеющиеся в открытом сообщении. При дешифровании текста, зашифрованного шифром простой замены, используют частотные характеристики открытого текста. Именно, если под- считать частоты встречаемости знаков в шифрованном тексте, упорядочить их по убыванию и сравнить с вариационным рядом вероятностей открытого тек- ста, то эти две последовательности будут близки. Скорее всего на первом мес- те окажется пробел, далее будут следовать буквы О, Е, А, И. Конечно, если текст не очень длинный, то не обязательно полное сов- падение. Может оказаться на втором месте О, а на третьем Е, но в любом слу- чае в первых и вторых рядах одинаковые буквы будут располагаться недале- ко друг от друга, и чем ближе к началу (чем больше вероятность знаков), тем меньше будет расстояние между знаками.
137 Аналогичная картина наблюдается и для пар соседних букв (биграмм) открытого текста (наиболее частая биграмма русского открытого текста - СТ). Однако для получения устойчивой картины длина последовательности долж- на быть существенно больше. На сравнительно небольших отрезках открыто- го текста эта картина как-то смазана. Более устойчивой характеристикой би- грамм является отсутствие в осмысленном тексте некоторых биграмм, как го- ворят, наличие запретных биграмм, имеющих вероятность, равную практиче- ски 0. Видели ли Вы когда-нибудь в открытом тексте биграммы ЪЬ, «глас- ная» Ь, «пробел» Ь? Знание и использование указанных особенностей откры- того текста значительно облегчает дешифрование шифра перестановки и за- мены. Дешифрование шифра простой замены. Рассмотрим пример дешифро- вания шифра простой замены (Учебное пособие «Принципы и методы защиты информации», Проскурин Г.В.). Пусть у нас имеется следующий шифртекст. ДОЧАЛЬ ИЬЦИО ЛИОЙО ВНЫИЮШ ХЕМВЛНХЕИ ДОСОЛЬ ЧСО ИА ТЬЖАТСР БАС АКЕИОЙО ДОКЩОКЗЖАЙО КПЗ РТАЩ ТПЬЧНАР ТДО- ТОУН ХЕМВОРНИЕЗ ЕИМОВЛНЯЕЕ РЮУОВ БВЕД СОЙВНМЕЧАТБОГ ТЕТСАЛЮ ЫНРЕТЕС ОС ОТОУ АИИОТСАГ ЕИМОВЛНЯЕЕ АА ЯАИИ- ОТСЕ Е РОЫЛОЦИОТСАГ РПНКАПШЯАР ДО ЫНЖУСА ТРОАГ ЕИ- МОВЛНЯЕЕ ДВАЦКА РТАЙО ДОКЧАВБИАЛ УОПШХОА ВНЫИООУ ВНЫЕА РЕКОР ЫНЖЕЖНАЛОГ ЕИМОВЛНЯАА КОБЬЛАИСНПШИНЗ САПАМОИИНЗ САПАРЕЫЕОИИНЗ БОЛДШЭСАВИНЗ БНЦКЮГ РЕК ЕИМОВЛНЯЕЕ УЛААС ТРОЕ ТДАЯЕМЕЧАТБЕА ОТОУАИИОТСЕ Е ФСЕ ОТОЧАИИОТСЕ ТЕПШИО РПЕЗЭС ИН РЮУОВ ЛАСОКОР ХЕМВОРНИЕЗ ЕИМОВЛНЯЕЕ УОПШХОА ЫИНЧАИЕА ЕЛАЭС ОУЪАЛЮ Е СВАУЬАЛНЗ ТБОВОТСШ ДАВАКНЧЕ ХЕМВОРНИИОГ Работу следует начать с подсчета частот символов в шифрованном тексте. После того как проведен подсчет, упорядочим символы по убыванию частот. bi b2 Ь3 Ь4 Ь5 . Под ним стоит подписать вариационный ряд вероятностей знаков в открытом тексте. О ЕА ИНТСРВЛКМДПУЯЗЫБЬГЧЙХЖЮШЦЩЭФ
138 При достаточно большой длине шифртекста, для того чтобы из шиф- рованного текста получить открытый, достаточно заменить bi на О, Ь2 на Е, Ьз на А и т. д. По крайней мере такая ситуация будет иметь место для наиболее веро- ятных букв. У нас материала недостаточно. Посмотрев на шифртёкст после такой замены, Вы видите, что он не читается, - значит, материала действи- тельно мало. Что нам остается - угадывать замену. При этом мы должны все-таки учитывать статистические особенности открытого текста. В шифртексте через пробел скорее всего обозначается пробел, через букву О скорее всего обозна- чена О или А, через Е - О, Е, А, через А - Е, А или И и т.д. Можно рекомендовать выписать шифртекст, а под ним в колонку наиболее вероятные замены для этих букв. В нашем примере замена подобра- на таким образом, что буква алфавита заменена как раз на наиболее вероятное для нее обозначение. Поэтому сам шифртекст в данном примере выписывать нет необходимости. Он совпадает со средней строкой последовательности ко- лонок наиболее вероятных замен. Чем реже встречается буква - тем большей глубины надо брать колон- ку, чтобы была уверенность, что в колонке содержится знак открытого тек- ста. В нашем случае колонки взяты одинаковой глубиной в 5 символов, но выписаны они только для наиболее частых букв. Таблица не приводится из-за своей громоздкости, она приведена в Приложении 3. При дешифровании без использования средств автоматизации дальше надо угадывать замену. Если присмотреться к тексту, то сделать это не очень трудно. В тексте есть слово АА из двух часто встречающихся букв. Что это может быть за слово? В русском языке нет слов ОО, ИИ, НН и т. д. Так пере- бирая возможные слова, мы обнаружим одно слово ЕЕ и прийдем к выводу, ( что буква Е была заменена на А. Очень часто в шифртексте слова кончаются биграммами ЕЕ. В русском языке типичными окончаниями являются сочета- ния ЕЕ; ИИ. Учитывая, что замену для буквы Е мы уже угадали, приходим к выводу, что в шифртексте буква И заменена на Е. Теперь всюду в шифртексте - можно провести обратную замену. Теперь мы уже можем угадывать отдель- ные слова. Так, изрядно попотев, мы, как в игре «Поле чудес», в конце концов восстановим весь текст. В колонках наиболее вероятных замен буквы, отвечающие правиль- ным обратным заменам, должны быть обозначены как заглавные. Прочитав открытый текст, Вы убедитесь, что он представляет собой несколько предло- жений из книги Дориченко С.А. и Ященко В.В. «25 этюдов о шифрах», М.,1994.
139 Для дешифрования в автоматизированном режиме прежде всего цадо завести в память компьютера словарь русского языка. Программа дешифрования должна, просматривая шифртекст, осущес- твлять пробные обратные замены, предполагая, что на данном фиксированном месте в открытом тексте находилось проверяемое слово. После каждой заме- ны программа частично восстанавливает ключевую подстановку, частично расшифровывает текст и отсеивает вариант подстановки, если в каком-то мес- те восстановленного текста оказывается буквосочетание, которое не может быть в открытом тексте. После восстановления некоторого числа замен в тек- сте появляются участки, в которых определено значительное число букв. Ос- тавшиеся буквы подбираются путем перебора словаря и подстановки в текст слов, которые не противоречат восстановленным ранее заменам. Следует отметить, что практические навыки по дешифрованию шифра простой замены можно получить лишь после проведения самостоятельных опытов по дешифрованию. Дешифрование шифра перестановки. Для восстановления открыто- го текста шифра перестановки нам необходимо переставить колонки таким образом, чтобы в строках появился осмысленный текст. Рассмотрим пример дешифрования шифра перестановки восьми столбцов (Учебное пособие «Принципы и методы защиты информации», Про- скурин Г.В.). Пусть шифртекст имеет вид 1 2 3 4 5 6 7 8 п а я В И м О ч ш Г у е е б ж л е о м ч О т О я е г е у с щ а к ь 3 а т т я р е е п ь ю 3 в а н в О й а в е ш л е е я м п н ь р р н 3 е е е 3 а м а н а к ч с т а ь а н О я л м а л О ь ч X т а т
140 В е 0 а л е п 0 е р м т ь е Д с г ы 0 а т е б в н ы а у и н 3 н л г и а 0 к к Д а 0 б Д г н ж а У е д я Д X л и е м 0 а к р т д ь 0 е ь X в т 0 н р л е е д а ю р 3 е в е д ш в а е н е н т и й е . в Д в с д Сопоставим перестановке столбцов таблицу 8x8, при этом поставим на пересечении i-той строки и j-oro столбца единицу, если j-ая колонка после обратной перестановки должна следовать за i-ой. Наша задача восстановить таблицу, отвечающую правильной перестановке столбцов. Давайте теперь попарно пристраивать один столбец к другому. Если при этом в некоторых строках появляются запретные биграммы, то столбцы не могут в открытом тексте следовать друг за другом, и соответствующая кле- точка зачеркиваются. В нашем примере 6-ой столбец не может следовать за 4-ым, т. к. иначе в тексте в первой строке будет подряд два пробела. Посмот- рим, например, 6-ую строку. Если бы 4-ый столбец следовал за 1-ым, то в тек- сте были бы слова, начинающиеся с Ь. После просмотра всех строк мы полу- чим таблицу. , 1 2 3 4 5 6 7 8 1 X X X X X X 2 X X X 3 X X 4 X X X X X X 5 X X X X X 6 X X X X X 7 X X X X X X 8 X X X X X X
141 Если бы текст был бы подлиннее и строк было бы побольше, то в каж- дой строке и в каждом столбце осталось бы ровно по одной не зачеркнутой клеточке и перестановка была бы восстановлена. В нашей таблице мы только можем утверждать, что 6-ой столбец сле- дует за 3-им (обозначим это событие следующим образом 3 —> 6), если 6-ой столбец не является последним. Для 6-го столбца может быть два варианта продолжения 8 ? 3 —6 —5 Нам надо рассмотреть оба и постараться отсеять ложный. Если отсеять ложный не удастся, то надо продолжать оба варианта 8—> 4 1 t t 3-> 6—>5—>2 —>7 В итоге получаем некоторое дерево возможного следования столбцов в от- крытом тексте. 7 т 3-> 6-> 5-> 2-> 8-> 4-> 1-> 7 Ф Ф Ф 8 4 1—>7 Ф Ф 4 1—> 7 Ф 5 г 2—>7 Ф 1—>7 Каждой ветви дерева соответствует некоторая перестановка столбцов. Далее проверяем каждый вариант на осмысленность и получаем пра- вильный вариант. 3->6->5->2-»8н>4н>1->7 Заметим, что не обязательно было строить дерево доусонца. Например, ветвь 3—>6—>8—>4—>5 можно было отсеять сразу. Разве можно признать осмысленным следующий фрагмент текста.
142 3 6 8 4 5 я м В ш у е Г ж е о л ч т я О г у щ е 3 к а т ь е. е а т а Такая процедура отсечения ветвей была бы просто необходима, если бы строк было поменьше, и дерево было бы соответственно гораздо ветви- стей. Предложенную процедуру легко автоматизировать и сделать пригодной для реализации на ЭВМ. Алгоритм дешифрования должен состоять из сле- дующих этапов. 1. Предварительная работа. Анализируя достаточно представительный объем открытых текстов, построить множество запретных биграмм. 2. Предварительная работа. Составить словарь всевозможных v-грамм для v=2,3,...,d, которые могут встретиться в открытом тексте. Число d выбира- ется, исходя из возможностей вычислительной техники. Построить таблицу 8x8. При этом перебираются последовательно все за- претные биграммы и для каждой опробуемой биграммы - последовательно все строки. Если хотя бы в одной строке первый символ биграммы встречает- ся в i-том столбце, а второй в - j-ом, то клеточка i х j. таблицы зачеркивается. 3. Выбрать некоторый столбец в качестве исходного. 4. Начать процедуру построения дерева путем пристраивания к исходному столбцу всех вариантов столбцов. 5. Для каждого полученного варианта добавить еще один из оставшихся столбцов. Если хотя бы в одной из строк таблицы встретится 3-грамма, ко- торая отсутствует в словаре размещенных 3-грамм, то вариант отсеивается. 6. Для каждого из не отсеянных вариантов добавляем еще один столбец и проводим отсев ложных вариантов по словарю разрешенных 4-грамм. Если словарь был построен только для d < 3 , то отсев проводится путем проверки на допустимость 3-грамм, встретившихся в последних 3-х столбцах каждой строки. Продолжаем этот процесс до получения полной перестановки. Ниже приведен восстановленный для нашего примера текст.
143 1 2 3 4 5 6 7 8 1 Я в а м п И 2 ш У ч е г О 3 ж е б о л е 4 ч т О я м О 5 г У е щ е с 6 к а 3 а т ь т . 7 е п е р ь я 8 3 н а ю в в 9 а ш е й в о л 10 е м е н я п 11 р е 3 р е н ь е 12 м н а к а 3 а 13 т ь с н .а ч а 14 л а я м О л 15 ч а Т ь X О т 16 е л а п О в _е 17 р ь т е м О е 18 г о с т ы д а 19 в ы б н е 20 У 3 н а л и н 21 е к о г д а к 22 о г д а б н 23 а д е ж д у я 24 и м е л а X о 25 т ь р е д к о 26 X О т ь в н 27 е д' е л ю р, а 28 3 в д е р е 29 в н е н а ш _е 30 й в и Д е т ь 31 в а с Замечание о степени неоднозначности восстановления открытого тек- ста. В обоих примерах нам удалось, хотя и с трудом, восстановить открытые тексты. Работа по дешифрованию значительно облегчается с увеличением
144 длины шифртекста (или, как говорят, имеющегося в распоряжении материала перехвата). Если бы материал был увеличен в несколько раз, то во втором примере в таблице 8x8 с большой вероятностью были бы зачеркнуты все кле- точки, кроме отвечающих истинной последовательности следования друг за другом столбцов в открытом тексте. В первом примере вариационный ряд частот букв открытого текста почти целиком совпадал бы с вариационным рядом вероятностей знаков открытого текста, и нам бы оставалось просто подписать один вариационный ряд под другим и провести обратную замену. Отдельные ошибки легко бы устранялись при первом же прочтении дешиф- рованного варианта текста. С другой стороны, при уменьшении материала задача дешифрования су- щественно усложняется. Действительно, представьте себе, что Вам предложе- но дешифровать зашифрованный с помощью простой замены шифртекст, со- стоящий из одного первого слова нашего первого примера ДОЧАЛЬ. Для ка- ждого слова из шести различных букв найдется простая замена, при примене- нии которой мы получим данный шифртекст. Проблема заключается не в том, чтобы найти ключевую подстановку, а в том, как выбрать из обширного мно- жества вариантов восстановленных открытых текстов именно тот, который был зашифрован. Таким образом, важной характеристикойэффекгивности криптографической защиты является степень неоднозначности восстановле- ния открытого текста по шифрованному. Эта характеристика шифра будет изучена в главе 4. Сейчас же мы дадим качественное определение этого поня- тия. Под степенью неоднозначности г естественно понимать математическое ожидание числа вариантов открытых текстов, которые могут быть получены при применении алгоритма дешифрования. Если предположить, что при слу- чайном выборе ложного ключа (ключа, не совпадающего с истинным клю- чом, с применением которого был получен шифртекст, восстановленный при расшифровании) и расшифровании на этом случайном ложном ключе рас- шифрованный текст не отличается от случайного текста, то вероятность того, что полученный текст длины N будет осмысленным (по классическому опре- делению вероятностей) равна отношению числа благоприятных исходов — числа A (N) осмысленных открытых текстов длины N к общему числу текстов длины N, которое равно, очевидно, nN, где п - число букв в алфавите откры- тых текстов. Для того чтобы получить степень неоднозначности, необходимо умножить полученное отношение на число К вариантов ключей. Откуда по- лучаем формулу r=r(N)=KA(N)nN (*) для вычисления степени неоднозначности L восстановления открытого текста. По смыслу дела шифрование обеспечивает надежную защиту сообще- ния, если неоднозначность восстановления открытого текста по шифрованно- му чрезвычайно велика.
145 Степень неоднозначности, как будет показано в главе 4, позволяет классифицировать шифры по степени их криптографичесой стойкости. Каче- ственные соображения здесь таковы. Если неоднозначность дешифрования (возможное число получаемых открытых текстов) есть r(N), а цель дешифро- вания определена получением открытого истиного текста, то вероятность по- лучения именно его оценивается величиной l/r(N). Согласно /Про/, шифры для которых r(N)=A(N) называются абсолютно (теоретически) стойкими (для абсолютно стойкого шифра применение любого алгоритма дешифрования не дает никакой информации об открытом тексте). К формуле (*), ее выводу и ее тратовкам следует относиться весьма осторожно (см. параграф 4.3). Действи- тельно, согласно /Про/, для получения абсолютной стойкости шифра доста- N точно иметь п ключей. Шифры, не являющиеся теоретически стойкими, для которых надеж- ность криптографической защиты обеспечивается чрезвычайно большой сложностью реализации известных алгоритмов дешифрования, называют практически стойкими (см. главу 5). Согласно /Про/, шифры, не относящиеся к классам теоретически стой- ких или практически стойких шифров, называют шифрами временной стойко- сти. Число осмысленных открытых текстов длины N для больших значе- ний N обычно считается равным 2™, где Н - энтропия (в битах) на знак от- крытого текста (см. главу 4). Для русского литературного текста, как показы- вают экспериментальные расчеты, величина Н близка к единице. Для более формализованных текстов (организационно-распорядительных писем, доку- ментов и т. п.) величина Н заключена в пределах от 0.5 до 0.8. Возвращаясь к анализу шифра простой замены, отметим, что степень неоднозначности восстановления открытого текста для этого шифра согласно /Про/ имеет вид r(N)=n!2HN/nN, где Н - энтропия на букву открытого текста. Шифр простой замены является теоретически стойким при шифрова- нии литературного русского текста (п=32) длины в одно-два слова и обеспе- чивает только временную стойкость при большом объеме материала. Эксперименты показывают, что практическое дешифрование шифра простой замены для русского литературного текста возможно в случае, если длина шифртекста в 2-3 раза превышает размер алфавита открытого текста, т. е. равна 60-100 буквам. Дешифрование шифра гаммирования при некачественной гамме. Пусть I некоторый алфавит, буквы которого упорядочены в естествен- ном порядке. Запись i+i'=i” будем понимать как модульное сложение номе-
146 ров букв из {1,2,.. .,|1|-1,0}по модулю |1|. То есть, записывая уравнения, свя- занные с гаммированием, мы отождествляем буквы с их номерами в алфавите. Предположим, что в качестве знаков гаммы в шифре гаммирования могут быть лишь знаки i, Г el, то есть уравнения образования шифртекста bi,b2,..., Ьт имеют вид aj+yj^bj, je {1,2,...,N} (можно сказать, что в данном примере ис- пользуют всего 1 бит гаммы). В этом случае восстановление открытого текста ai,a2,...i aN по шифр- тексту bj не вызывает труда. Действительно, по известному шифртексту вы- пишем колонки букв (переведя их в положительные вычеты) bp i b2 —i ........................... bN -i b] -i' b2 —i' ......................... bN -i' Очевидно, что в каждой колонке содержится по одной букве открыто- го текста. Этот текст можно попытаться восстановить, используя его избы- точность. Делается это примерно так же, как и при дешифровании шифра простой замены. Не вдаваясь в подробности, приведем один пример на чте- ние в колонках. к ш и П Ш О л ш А Э И Ж в р А 3 т ж г р Ш Ф А Я Прочитали слово КРИПТОГРАФИЯ? Если бы для зашифрования использовалось 4 буквы, то глубина ко- лонки была бы равна 4. Если используется полная гамма - для русского языка все 32 знака, то глубина колонок равна 32, и Вы можете в ней прочитать лю- бой текст. Предположим, что гамма шифрования принимает все значения, но с разными вероятностями. .В этом случае для дешифрования также существуют определенные подходы. Один из них заключается в чтении в колонках, где порядок (сверху вниз) в колонке возможных открытых букв ael определен убыванием (точнее, не возрастанием) вероятностей PW=P(a.b)/p(b)^ р(а)*Ь~а\ 2Ха )q(b-a) a' при известной фиксированной букве b. Здесь (р(а),ае1) - вероятностное рас- пределение букв открытого текста, (q(c), cel) - вероятностное распределение на знаках гаммы.
147 Для дешифрования не требуется особых усилий, если открытая ин- формация имеет высокую избыточность. Это характерно для фототелеграф- ных изображений. Шифрование черно-белых картинок обычно осуществляет- ся следующим образом. Картинка разбивается на квадратики. Квадратик за- крашивается в черный цвет - 1, если большая его часть черная, и в белый цвет -в противном случае. Таким образом, каждому изображению ставится в соот- ветствие последовательность из 0 и 1. При шифровании на эту последователь- ность накладывается гамма, снимаемая с шифратора. Если посмотреть на изображение черного квадрата, зашифрованного последовательностью, полученной по равновероятнстной схеме Бернулли (полученной бросанием симметричной монеты), то мы увидим серый фон. Если же гамма неравновероятностна, то на изображении проявляются конту- ры фигур, и чем больше неравновероятность, тем контуры отчетливее. На приводимых ниже рисунках приведено изображение черного квадрата на бе- лом фоне, закрытое с помощью неравновероятнетной гаммы. Вероятность единицы в гамме указана в процентах (0%, 42%, 50%, 70%).
148 В связи с вышеизложенным, обязательная составная часть крипто- графии - это исследование вероятностно-статистических свойств выходных и промежуточных гамм. Для этих целей можно использовать стандартные ста- тистические критерии проверки качества псевдослучайных последовательно- стей (см. Кнут, «Искусство программирования». Т. 2.) либо специально разра- ботанные статистические процедуры. Достаточно частой является ситуация, когда гаммы или открытый , текст можно восстановить приближенно по побочным сигналам, сопрово- ждающим работу криптотехники и оборудования. Представьте, например, что открытый текст печатается на телетайпе. Каждый удар печатающего уст- ройства вызывает шум, все телетайпы стучат, и стук немного отличается для каждой буквы. Вопрос дЛя инженера - выявить эти отличия для разных букв. Задача криптографа - оценка, насколько это опасно. Для оценки используются методы теории информации. Самая грубая оценка степени неоднозначности восстановления открытого текста длины N для приведенного выше примера (шифрования гаммой, принимающей к зна- чений) имеет вид
149 где n - мощность алфавита открытого (шифрованного текста), Н - энтропия открытого текста на букву. Таким образом, дешифрование принципиально возможно для литера- турного открытого текста (Н=1), если шифрующая гамма принимает к< возможных значений, т.е. к< 16 (положим п=32, Н=1, решая уравнение nN получим к=16). Реальное дешифрование обычно удавалось провести при к < 8. Высо- коклассные специалисты добивались дешифрования где-то при к=12. Для шифрования не равновероятной гаммой оценки приобретают вид 2HyN2nh г где Ну - энтропия гаммы. Дешифрование шифра гаммирования при перекрытиях. Перекрытием шифра называется ситуация, при которой два открытых текста шифруются с использованием одной и той же гаммы, управляющей работой узла наложения шифра. Возникновение перекрытий - это опасная с точки зрения надежности защиты ситуация. Особенно неприятна она для шифраторов гаммирования. В этом случае в распоряжении противника оказы- ваются два шифрованных текста вида b1t=a1t+/t и b2t=a2t+/t, t=l,N. Обращаем внимание, что открытый текст и шифрованный текст здесь разные, а гамма одинакова. Злоумышленнику нетрудно из шифрованных текстов по- лучить разность двух открытых текстов. a' -a2 = bj -b2 = ct и попытаться восстановить оба открытых текста. Это просто сделать, если один из открытых текстов известен, в этом случае aj=ct+a^ где ct иа^ -известны, a aj - легко восстанавливается. Открытый текст а ] - может быть известен в случае, если аппаратура работала в линейном режиме (постоянная связь между передатчиком и приемником), при этом в течение некоторого времени содержательной информации не передавалось и шифро- вался известный всем текст «нет информации».
150 Если шифруются обычные тексты и ни один из них не известен, то для дешифрования используют стандарты. Опробуют елово открытого'текста и пытаются восстановить второй открытый текст Если вариант опробования-был выбран неправильно, то вто- рой открытый текст будет бессмысленным, если правильно - то осмыслен- ным, и так по частям мы восстановим оба открытых текста. Например, предположим, что в один из текстов начинался со слова «СЕКРЕТНО». В этом случае, подставив его на нужное место, мы восстано- вим фрагмент второго текста, например, СЕКРЕТНО В О Е Н Н О-М Угадав продолжение фрагмента второго текста, мы получаем продолжение первого текста СЕКРЕТНО СООБЩ В О Е Н Н О-М ОРСКОЙ Продолжая первый текст, получаем СЕКРЕТНО СООБЩАЮ В О Е Н Н О-М О Р С К О Й Ф Снова обращаемся ко второму тексту СЕКРЕТНО СООБЩАЮ ВАМ ВОЕННО-МОРСКОЙ ФЛОТ Таким образом, дешифровальщик восстанавливает оба текста. Обращаем внимание на то, что наличие перекрытий шифра опасно и для абсолютно стойкого шифра гаммирования. Перекрытия шифра - это одна из самых больших неприятностей, которая практически может иметь место для этих шифров. Для избежания перекрытий абсолютно стойких шифров гаммирования обычно применяют организационно-технические методы, сво- дящиеся к уничтожению гаммы наложения сразу же после первого использо- вания.
151 -Параграф 2.2 Дешифрование шифра Виженера Основное внимание в данной параграфе уделено вопросам определе- ния периода гаммы наложения в шифре гаммирования по известному шифро- ванному тексту. Основным инструментом решения этой задачи выступает ме- тод Фридмана, основанный на введенном им понятии «индекса совпадения». Введение. Проблеме определения периода гаммы в шифре гамммиро- вания по шифрованному тексту посвящено много работ в открытой литерату- ре, из которых мы отмечаем работы Уильяма Фрйдмана (W.F. Fridman). Це- лью данного параграфа является математическая проработка открытых науч- ных работ с единых методологических позиций. То есть доказательное изло- жение известного материала с математической проработкой гипотез и приве- денных там утверждений. Краткий исторический очерк. Под шифром Виженера ниже понима- ется шифр гаммирования с использованием периодической гаммы малого пе- риода. Обычно ключ такого шифра выбирается с помощью легко запоминае- мых приемов. Например, с помощью таблицы Виженера со стандартным рас- положением алфавита. A BCDEFGHI JKLMNOPQRSTUVWXYZ A ABCDEFGHIJKLMNOPQRSTUVWXYZ В BCDEFGHIJKLMNOPQRSTUVWXYZA С CDEFGHIJKLMNOPQRSTUVWXYZAB D DEFGHIJKLMNOPQRSTUVWXYZABC Е EFGHI JKLMNOPQRSTUVWX YZABCD F| FGHIJKLMNOPQRSTUVWXYZABCDE Z Z A BCDEFGHIJKLMNOPQRSTUVWXY Ключом шифра является последовательность букв у ь у 2,- • У j • При шифровании открытого текста ai,a2.a<j каждая буква aj открытого текста оп- ределяет номер столбца, а соответствующая буква ключа уj определяет но- мер строки, на пересечении которых будет находится шифрованная буква bj. Клюй (лозунг) - это, как правило, легко запоминаемая фраза. Последующий
152 отрезок длины d открытого текста шифруется на том же ключе. Отождествляя буквы этого алфавита с их номерами (от 0 до 25) при расположении букв в стандартном порядке «А BCDEFGHIJKLMNOPQRSTUVWXYZ», уравнение шифрования j-той буквы представимо в виде bj=aj + у j mod 26, je{l,2,...d}. Напомним, что шифром Бофора (Beaufort) нередко называют шифр гаммирования, использующий замену bj=aj-/j mod26, je{l,2,...d}, то есть шифр «расшифрования» Виженера. Очевидно, шифр Бофора предста- вим в виде шифра Виженера bj=aj - у j = aj +(26- у j) mod 26. Отметим, что по К. Шеннону (/Шен/ стр. 345-346) шифром Бофора называется шифр с уравнением шифрования у j - aj = bj mod 26 и уравнением расшифрования /j-bj=aj mod 26. Этот шифр также может быть представлен в виде шифра гаммирования для зашифрования букв 26 - aj, j g {1,2,...} Иногда используют усложненный шифр Виженера с перемешанным исходным алфавитом первой строки (остальные строки - сдвиги первой стро- ки, как и в исходном шифре Виженера). Перемешивание обычно производят с помощью ключа - лозунга. Например, при ключевой фразе «WORLD TRADE CENTER» образуют неповторяющуюся последовательность ее букв «WORLDTAECN» и дополняют ее оставшимися не использованными буква- ми по порядку «BFGH ... и т. д.». Затем выбирают число п, взаимно простое с 26 (числом букв алфавита), и образуют выборочную последовательность ша- га п. Например, при п=3. из последовательности «WORLDTAECNBFGH ...» получают выборочную последовательность «WLANG ...и т. д», которую и используют в качестве нулевой строки (строки с номером А) в таблице Виженера (остальные строки - сдвиги первой). В 1920 году У. Фридман опубликовал результаты своих научных ис- следований по дешифрованию шифров типа шифра Виженера. Затем появи- лось достаточно много работ, уточняющих результаты Фридмана, расширяю- щие границы их применимости (см. литературу к данной главе). Фридман ввел в рассмотрение так называемый «индекс совпадения», на основе которо- го он предложил алгоритм нахождения периода гаммы наложения по извест- ному шифрованному тексту, полученному с помощью шифра Виженера. В
153 1950-х годах появились публикации, в которых излагались другие алгоритмы определения периода гаммы по шифрованному тексту, так называемый метод Казиского, разработанный им в 1863 году. Последний метод был заново от- крыт и советским криптографом Михаилом Ивановичем Соколовым в районе 50-х годов. Для решения той же задачи позднее появился в печати и так назы- ваемый метод Регрессии-Ковариации (Кэрол и Робинс, 1986 г.). Понятие индекса совпадения. Пусть I - некоторый конечный алфавит. Определение 1. Индексом совпадения последовательности J . .,1n g I называется величина г N(N-V) ’ где Fj - частота встречаемости буквы i в последовательности 3 = ibi2,...,iN (число мест, на которых стоит буква i). Из данного определения следует, что индекс совпадения последова- тельности 3 =i 1 ,i2,... Лы равен вероятности Р 3 (ij=if) совпадения букв данной последовательности на случайно и равновероятно выбранных местах j, j'el,N,j * j'. Действительно, априори, буква ij=i может принимать любое значение из I, следовательно, число F, (Fi—1) есть число возможных благоприятных событий (ij=ij =i), aN(N-l) есть число всех возможных выборов пар упорядо- ченных мест (j,j') в последовательности ii,i2,...Дм-. Далее будем предполагать, что I - алфавит открытого текста некоторо- го языка. При необходимости, в дальнейшем, мы отождествляем буквы этого алфавита с их номерами (от 0 до |1|-1) при расположении букв в стандартном порядке. Через P0=(Pi,P2>-• -,P|i|) обозначим вероятностное распределение на I, где Pj- вероятность буквы ie I в содержательных открытых текстах; через A(N)=ai,a2„..,aN будем обозначать реализацию случайной выборки объема N из генеральной совокупности распределения Ро (далее будем говорить кратко - выборка из распределения) Покажем, что I1! р. fp. _П Щ lC(A(N))-yh'(h| 1 N(N-l) у при N—> оо (сходимость по вероятности, см. параграф 2.1)
154 Докажем этот факт, предварительно уточнив обозначения. Именно положим: Fj=Fj(N). Имеем E(N)-1 -----------> П.В. -> Р: . N 1 Второй сомножитель слагаемого в сумме может быть преобразован так FjfN) F^N-iy + EjN) N-l N-Ъ ’ . где e(N) g {0,1}. Поэтому E(N) --------> П.В. —> Р; при N —> оо N-1 откуда и вытекает указанное выше утверждение. Аналогично, для реализации G(N) выборки объема N из равномерного распределения на I IC(G(N)) —> п.в. —> jyj при N —> оо. Для фиксированного содержательного текста ai,a2j... aN мы полагаем, что E(N) --------> П.В. —> Р: при N —> 00 N-------. 111 в связи с чем 1С(а,,а2.aN) —> п.в. —> У, Р; . i=l При случайном выборе последовательности 3=i|,i2,...,iN индекс совпадения 1С( 5 ) является случайной величиной, и представляет интерес подсчет его математического ожидания. При различных предположениях о вероятностном распределении на множестве U возможных гамм ниже бу- дет подсчитано среднее значение индекса совпадения шифрованного тек- ста B(N)=B(A(N),G(N))=bi,b2j...bN, где bj=aj + /j (mod |I|), je \,N.
155 Среднее значение индекса совпадения для открытых текстов. Обозначим через Е(1С(А)) математическое ожидание случайной вели- чины IC(A(N)), вычисленной для случайной реализации A(N)=ai,a2.aN вы- борки из вероятностного распределения P0=(Pi,P2,...,P|i|). Через P0(ij=ij ) обо- значим вероятность совпадения букв в случайной выборке A(N)=ai,a2>... aN на случайно и равновероятно выбранных местах j, j' е 1, N, j * j'. Здесь мы счита- ем, что вероятностная мера задана на выборках A(N) и на парах j, j' е 1, N. ЛЕММА 1. Справедливы равенства Е(1С(А))=Р0(1Г1у)=2^Л / ДОКАЗАТЕЛЬСТВО. Вероятность совпадения двух букв в случайной реализации выборки A(N)=ai,a2.aN из распределения Рона фиксированных различных местах равна , и не зависит от выбора этих мест. Поэтому I Po(ij=ij )= • i С другой стороны, Е(1С(А))= £lC(A)P(A) = 2 PJ(i]=ij-)P(A) = a<=in а Po(ij=ij)=Z^ • i Обозначим через E(IC(G)) математическое ожидание случайной величины IC(G(N)), вычисленной для реализации G=G(N)=/1 ,у2 ,...,yN выборки из равномерного вероятностного распределения на I, а через PG(=) - вероятность совпадения букв в случайной выборке G(N)= у i, у 2,..., у N на случайно и равновероятнстно выбранных местах j, j' е 1, N, j j'. Аналогично доказательству леммы 1 легко доказывается равенство E(IC(G))= PG(=)
156 Рассмотрим подмножество Хсвсех реализаций A(N)=ai,a2,„. аы выборки из вероятностного распределения P0=(P|,P2,...,P|i|), состоящее из всех реализа- ций A(N)=a1,a2>... aN, для которых частота Fj igI приблизительно равна NP,. Таким образом, Хс состоит из наиболее вероятных реализаций. Здесь, как и ранее, Fi=Fi(N) - частота встречаемости символа i el. ЛЕММА 2. Для любой последовательности A(N)=ai,a2,,...,aN из Хс ве- роятность Рс(=) совпадения двух случайно и равновероятно выбранных букв последовательности A(N) (отметим, что индекс совпадения IC(A(N)) равен Рс(=)) приблизительно равна —X Pi2——• N-l£ N-l ДОКАЗАТЕЛЬСТВО. Имеем IC,A,N))- F1(F1 ° ’ PIN(P'N~1) ~~ = —-—У i—У (/>2#-f;.)= ——Y Pi1 ——. Отметим, что в формулировке леммы 2 множество Хс определено не- строго, в связи с чем и приближенное равенство некорректно. Устранить оп- ределенную некорректность можно, определив множество Хс как множество, состоящее из всех реализаций A(N)=ai,a2..аы, для которых частоты Fj, igI удовлетворяют неравенствам NPi - е < Fj < NPi +е. Утверждение леммы 2 в этом случае будет состоять в указании верхней и нижней оценок IC(A(N)). Так, например, несложно показывается, что IC(A(N))< Р> +2e/N-1 +|I|e2-|I|e. Пусть U - некоторое подмножество множества IN .Через P у обозна- чим равномерное вероятностное распределение на U. Элемент множества U будем обозначать через G(N)= у ।, у г,..., у N
157 Для G(N)= у i, у 2,..., у N из Uh A(N) из In образуем последователь- ность B(N>B(A(N),G(N))=bbb2....bN, где bj=aj+ у j (mod|I|), j е 1, N. Последовательность B(N) будем трактовать как шифрованный текст, полученный зашифрованием текста A(N) на клю- че-гамме G(N) в шифре гаммирования (X=IN,K= и,У= IN, f), f(a„a2,„ aN; у,, у 2,..у N)= bN. Среднее значение индекса совпадения для шифрованных текстов. Пусть (X=IN,K=U,y=IN,f) - шифр гаммирования. При заданных веро- ятностных распределениях Ро, на I и Ру на UcIN на X индуцируется вероят- ностное распределение и на У индуцируется вероятностное распределение Ру и, следовательно, имеется и вероятностное распределение случайной величи- ны 1С(В), где В - шифрованный текст, полученый в результате шифрования случайного текста A(N) при случайном и равновероятном выборе ключа G(N) из U. Обозначим через Еи(1С(В)) математическое ожидание случайной величины 1С(В)- для случайного шифртекста В, а через Py(bj=bj) - вероят- ность совпадения букв в шифртексте B(N)=f(A(N),G(N))=b|,b2,„. bN на случай- но и равновероятнстно выбранных местах], j' е 1, N, j Ф j'. ЛЕММА 3. Пусть U=IN. Тогда справедливы равенства Еи(1С(В))=Ру(ЬГЬг)=^. ДОКАЗАТЕЛЬСТВО. Справедливость утверждения леммы 3 вытекает из ин- дуцированного на множестве шифртекстов равновероятного вероятностного распределения и утверждения леммы 1. Обозначим через R=(N|,N2,...,Nk) - произвольное разбиение множест- ва {1,2,...,N}, а через П=(П (=),П(^)) разбиение множества пар {l,2,...,N}x{l,2,...,N}, индуцированное разбиением R. Именно, {j,j'} еП(=), тогда и только тогда, когда j и j' одновременно принадлежат одному классу (блоку) разбиения R; {j j'} е П(^), когда] и]' принадлежат разным классам разбиения R. Разбиению П поставим в соответствие подмножество и(П) мно- жества ключей K=IN. Это подмножество и(П) определим так: последова- тельность у 1, у 2,..., у n принадлежит и(П) тогда и только тогда, когда у j= у р для любой пары {j,j'} е П (=).
158 ЛЕММА 4. Пусть последовательность у i, / 2,..., у N случайно и равно- вероятно выбирается из множества и(П), Тогда: а) Р(у},= iг)=1/|1| для любо- го je{l,...,N} и iel; б) P(Yj=Yj )=l/|I| для {jj'}G ПО)- ДОКАЗАТЕЛЬСТВО. По определению, множество U(TI) состоит из тех и только тех последовательностей у= / ь у 2,. , у n , для которых значения элементов одинаковы на позициях, принадлежащих одному блоку разбиения R. Таким образом, каждой такой последовательности у соответствует после- довательность значений y(Nj) из I, то есть у - функция на множестве блоков {Ni,N2,...,Nk}. Очевидно, что |и(П)|=|1|к и существует взаимно-однозначное соответствие между последовательностями из и(П) и множеством всех слов 1к, откуда и вытекают утверждения леммы. В множестве П (=) выделим подмножество П(=) всех пар различ- ных элементов (j j'), j*j'. Величина Р(П(=))= равна вероятности случайного и равно- вероятного выбора пары индексов {jj'} из множества П(=), аналогично, ))= Равна вероятности случайного и равновероятного выбора пары индексов (j,j') из множества П(^). Теорема 1. Пусть шифртекст B=B(N) получается шифрованием слу- чайного текста A(N) (выборки из распределения Ро) с помощью равноверо- ятного выбора ключа G(N) из и(П). Тогда справедливы равенства Eu(IC(B))= Py(bj=bj-)= । । УР. + । । . J J N(N-Y) V 1 N(N-V) |Z| ДОКАЗАТЕЛЬСТВО. Пусть B(N)=B(A(N),G(N))=bi,b2,...,bN. Ранее отмечалось, что индекс совпадения IC(B(N)) последовательности Ь1,Ьг,...,Ьы совпадает с вероятностью PB(bj=bj) совпадения шифрованных букв на слу- чайно и равновероятно выбранных двух различных местах. Пользуясь опре- делением математического ожидания случайной величины, получаем E(IC(B(N))= P(A)P(G)PB(bj=bj). AeIN,GeU
159 Последняя величина совпадает c Py(bj=bj ). Определим события С(1), С(2). Событие С(1) состоит в выборе пары индексов (j, j') из П(=), а С(2) - в выборе (j, j') из П( Ф ). Тогда X Р(А)Р(О)РВ(Ь,=ЬГ)- AelN,GeU X P(A)P(G)[pB(bj =bj/C(l))P(C(l)) + P(bj = b у / С(2))Р(С(2))]= AeIN,GeU - X Р(А)Р(С)|рв(Ь; =by /С(1))Р(С(1))]+ AelN,GeU + X P(A)P(G)lpB(bj =ЬГ/С(2))Р(С(2))] = AeIN,GeU - Y P(A)P(G)|pB(aj+Yj = а,-+Yj-/C(l))P(C(l))]+ AeIN,GeU + £ P(A)P(G)[pB(aj+Yj =аг+уг/С(2))Р(С(2))]~ AeIN,GeU = P(C(1)) 2 P(A)P(G)|pB(aj =а^/С(1))]+ AelN,GeU + P(C(2)) Y P(A)P(G)|pB(aj+Yj = aj-+ Yj-/C(2))j. AeIN,GeU Первое слагаемое преобразуем следующим образом: Р(С(1)) X P(A)P{G)[pB(aj = aj-/С(1))]= AelN,GeU =Р(С(1» X X P(A)P(G)[pB(aj=aj-/C(l))]= AeIN GeU =P(C(1>) X Р(Л)[ра(а7 =flj-/C(l))]^/>(G) = AeIN G^U
160 =Р(С(1)) X Р(Л)[р,(О; =Я//С(1))]« AeIN =Р(С(1))2 Р(Л)[р/лу =ау.)]= AzIn =Р(С(1)) • iel При получении последнего равенства использована лемма 1. При случайном и равновероятном выборе G из U и выполнении усло- вия С(2) значения /., в G случайны и равновероятны (см. лемму 4). С учетом этого факта преобразуем теперь второе слагаемое. Р(С(2)) £ P(A)P(G)|pB(aj+Tj =aj+yj./C(2))]= AeIN,GeU = Р(С(2)) P(A)P(Yj>YjO[PB(aj +Yj =aj'+Yj')]= AGlN,Yj,yjGlxI = P(C(2)) 2 P(A)Z P(Yj,Yj')|PB(aj+Yj =aj +Yj)]= AeIN, Yj,Yj- = P(C(2)) P(A)[p(aj +Yj =ar + yf)J, AeIN, где P(ctj + уj- = aj- + у j) вероятность события (aj + уj- = ay. + 7..) при случайном и равновероятном выборе Yj>Yr- Следовательно, Р(С(2)) £ Р(Л)[р(ау + Yj =ar+yr}}= Ael\ = P(C(2))-J- 2 Р(Л)=Р(С(2))-4-. I 7 I Ael", Г7 I Объединяя результаты преобразований двух слагаемых, получаем
161 Eu(IC(B))=Py(bj=bj)= |Л( ^P,2 . J J N(N-T) T ' N(N-T) |Z| Укажем и второй способ доказательства теоремы 1. Представим ве- роятность Py(bj=bj ) в следующем виде: py(bj=bj)= Y,Py(bj =ЬГ/= 1—ру(а.+г.=аг+Гг)- =-------- У Pv (а, + у, = а+ у) + +-------- У Ру(а, +у, = аг +/,) = =-------- У Pv(aj=ar) +------------ У Pv(a,+/, =а,-+/,). w-i)y,/4=) J 7 w-i)AAo 7 7 7 7 Используя теперь технику доказательства леммы 1, предыдущее вы- ражение преобразуется к виду I П(=) | ур2 | |(77(*)Ь 1 ЛГ(ЛГ-1) У ' N(N-l) |Z|’ СЛЕДСТВИЕ ТЕОРЕМЫ 1. Если R - разбиение множества {1,2,.. .,N} на од- ноэлементные подмножества (k=N, |П(=)| = 0), то есть рассматривается мно- жество U(TI)=IN, то Eu(IC(B))=Py(bj=bj)=jyj. Если R - одноэлементное разбиение (к=1), то Еи(1С(В))=Ру(ЬГЬг)=2Л2- ‘ i Утверждения следствия вытекают из теоремы 1; они также могут быть доказаны исходя из утверждений лемм 3, 1. 6 6 Зак.5
162 Среднее значение индекса совпадения шифрованных текстов в шифре Виженера. Напомним, что шифром Виженера называют шифр гаммирования, множеством ключей которого являются коротко- периодические лозунги. Имея дело с гаммами конечной длины, понятие пе- риодичности конечной последовательности и ее периода требует математиче- ской формализации. Определение 2. Назовем конечную последовательность i 1,12,...,iwло- кально-периодической (или, кратко-периодической), если найдется натураль- ное число d, 2d <N, при котором для любого j, в случае j+d <N, выполняется равенство ij =ij+(j. Число d с указанным свойством назовем локальным перио- дом, или, короче, периодом данной последовательности. (Период конечной последовательности определен данным определением, вообще говоря, неод- нозначно). Говоря ниже о том, что некоторая последовательность имеет локаль- ный период мы, не оговаривая это, считаем, что рассматриваемая последова- тельность локально-периодическая. Обозначим через INd - множество всех локально-периодических последовательностей периода d, N=Kd+r и рассмотрим разбиение R<i=(Ni,N2,...,Nd) множества номеров {1,2,...,N}, где N,={1, 1+d, ... ,1+kd} N2={2, 2+d, ... ,2+kd} Nr={r, r+d, .... ,r+kd} N.+Hr+I.r+l+d, .... , r+l+(k-l)d} Nr+2={r+2, r+2+d, ..., r+2+(k-l)d} Nd={d, 2d, ... ,d+(k-l)d}. Любая последовательность из INd такава, что ее элементы, стоящие на местах с номерами из одного блока номеров, одинаковы. Разбиению Rj соот- ветствует рзбиение nd =( П d (=),nd (^ )) множества различных пар номеров. При этом ясно, что / ^=и(П), так как, очевидно, любую последовательность длины N с периодом d можно получить случайно и равновероятно, выбирая d-грамму в алфавите I и повторяя ее необходимое число раз до получения по- следовательности длины N. Следовательно, | INd |=|I|d, и для подмножества nd (=) пар различных элементов из П d(=) получаем
163 |nd(=)|= (k+l)kr + k(k-l)(d-r), где к и г определены равенством N=kd+r (г - остаток от деления N на d). Ис- пользуя последнее равенство, получаем |IIdO )|=N(N-1) - (k+l)kr - k(k-l)(d-r). Из полученных значений мощностей |nd (=)| и |nd ( Ф )| и утверждения теоремы 1 непосредственно вытекает СЛЕДСТВИЕ 2 ТЕОРЕМЫ 1. Пусть шифртекст B=B(N) получается шифрованием случайного текста A(N) (выборки из распределения Ро) с по- мощью равновероятного выбора ключа G(N) из множества 1 Nd всех периоди- ческих последовательностей периода d, bJ=kd+r. Тогда справедливы равенства ' Еи(1С(В))=Ру(ЬГЬг)= _ (k + l)kr + k(k-V)(d-г) ур2 (k + V)kr + k(k-V)(d-г) 1 N(N-1) V ' +( N(N-r) VI’ В частности, при г=0 Eu(IC(B))= Py(bj=bj-)= _ k(k-V)d ур2 k(k-V)d 1 _ N — d ур2 }N(d-\) 1 N(N—1) ‘ 1 ' N(N-1)J| 11 d(N-\)£t ‘ (N-V)d\I\' Среднее значение индекса совпадения шифрованных текстов, за- шифрованных почти периодическими гаммами. Определение 3. Назовем конечную последовательность ii,i2,.. -Jn К - приближенной к локально-периодической последовательности if, i2,..., i*N пе- риода d, если расстояние Хэмминга р (ii,i2,...4n; if, i2,• • •, i*N) между данными последовательностями равно К. Последовательность ii,i2,...,iN назовем после- довательностью с К-приближенным периодом d, если она является К- приближенной к некоторой локально-периодической последовательности пе- риода d. ЗАМЕЧАНИЕ 1. Пусть I=Z/|I| - кольцо вычетов по модулю |1|. Из оп- ределения следует, что каждую последовательность i*,i*2y->iN с 6*
164 К-приближенным периодом периодом d можно представить в виде суммы по модулю |1| некоторого вектора - последовательности i i Лг» - • -Jn периода d из компонент, принадлежащих Z/|I|, и некоторого вектора «помех» C(N,K)=Ci,C2,...,cn с числом К ненулевых компонент. Очевидно, верно и об- ратное утверждение: сумма такого вида будет последовательностью с К- приближенным периодом d. Следовательно, процесс шифрования открытого текста A(N)=ai,a2„.. аы гаммой G(N)= z'] ,i2 N с К-приближенным периодом d можно представить в виде последовательного выполнения двух процессов: наложения на открытый текст A(N) вектора помех C(N,K) и затем зашифрования результата гаммой ii,i2,...,In периода d. ЛЕММА 5. Пусть ai,a2.aN- выборка из распределения P0=(Pi,P2,...,P|i|), a C(N,K)=Ci,c2,. . .,cN - равновероятно выбранный вектор из множества всех векторов, имеющих ровно К ненулевых компонент. Тогда по- следовательность а'1,а'2,„. а'ы.где a'j =aj +Cj (mod(|I|) является выборкой из рас- пределения Р'0=(Р' |,Р'2,.. .,Р'|1|), где р,=р,(1_____“—ш-)+—!------------------“—. WGV-tf + l) (|Z|-1) |Z|-1 N(N-K + V) ДОКАЗАТЕЛЬСТВО. P(aj +Cj=i) = P(aj =i/Cj=O)P(Cj=O) + P(aj +Cj=i/Cj O)P(cj * 0)= Pi (1 - ^L) + P(aj +Cj=i/Cj * 0, aj * i )Р(с; * 0) P(aj * i) = =pi (1--^-)+ ----------)+----------------- (l.p): N(N-K + 1) |Z|-1 N(N-K + T)
165 =pi(l-—^)- -J— N(N-K + 1) |Z|-1 N(N-K + 1) 1 ‘ К | Z |-1 N(N-K + \) =pi(l___*-------1—*— N(AT-tf + l) |Z|-1 N(N-K + 1) ! 1 К |Z|-1 N(N-K + 1) =p,<i-------4---------l£L) + _!-----------«------ N(N — K + \) (|Z|-1) |Z|-1 N(N-K + 1) Пусть последовательность а'ьа'2.... а'ы, получена зашифрованием слу- чайной выборки из распределения Po=(Pi,P2,...,P|i|) наложением случайно и равновероятно выбранной гаммы из множества всех гамм с К-приближенным периодом d. Замечание 1 и утверждение данной леммы сводит задачу подсчета ве- роятности совпадения двух букв на случайно и равновероятно выбранных различных местах в случайной последовательности a'i,a'2 ,.a'N к аналогичной решенной задаче для гаммирования случайной последовательностью периода d. Среднее значение индекса совпадения для шифра Виженера с фиксированным ключом. Теорема 2. Пусть шифртекст B=B(N) получается шифрованием слу- чайного текста A(N) (выборки из распределения P0=(Pi,P2,...,Pn)) с помощью фиксированного ключа G(N)=/l,/2,...,/yv. Тогда среднее значение Е(1С(В)) индекса совпадения случайного шифртекста совпадает с вероятностью P(bj=bj ) совпадения букв на случайно выбранных различных местах в случай- ном шифртексте, и это значение равно 1 П(=) 1 у р; +—1— у у р,р,„_... N(N -1) где П(=) - множество всех различных позиций], j', для которых у. = у ~, а П( Ф) - множество всех остальных позиций (операции в индексах по модулю |1|).
166 ДОКАЗАТЕЛЬСТВО. P(bj=bj)=E(IC(B))= SP (bj =/,../;,/)Р(;,/)=_P(aJ +Yj=ar +Гг) = --------- У P (at +Yi =ar + /,•) + w-ib4(=> J J 11 +-------- У P(a, + y, =ar +r,.)= W-l) л/few ' ’ =-------- У P{a.=aj.')+.----------- У P (a.+/ =«,.+/ ). Вероятность P (dj + у} = а~ +уг) представляется в виде Р (ау. +у. =аг + /у.) = У PiPi+/7 "Г;-. /е/ властности, Р (dj = а,..) = У Р^.2 • Поэтому iel P(bj=bj)=E(IC(B)= У Р2 +---------- У У р,^+г_г.. Задача определения периода гаммы в шифре гаммирования по задан- ному шифртексту. Пусть (X=IN,K= и,У= IN, f), U С IN - шифр гаммирования f(ai,a2.aN; /i,/2,-.-,/n)= bi,b2„..bN. Здесь A(N)= ai,a2 aN - открытый текст, G(N)=/1 ,/2N - гамма из U, B= ЬьЬ2.bN - шифрованный текст. Задача состоит в определении периода гаммы по известному шиф- ртексту (либо установления факта ее непериодичности). Статистические методы. Определение статистическими методами периода гаммы в шифре гам- мирования по заданному.шифртексту основано на переборе возможных зна- чений периода и решения для каждого значения периода задачи «о перекры-
167 тии» - установления факта того, что два заданных шифртекста получены за- шифрованием двух открытых текстов одной гаммой. Пусть bi,b2,... ,bN - известный шифртекст, полученый зашифрованием неизвестного открытого текста ai,a2,.. .,ац на ключе - гамме yi,y2,.. .,Yn- Для проверяемого периода d образуется вспомогательная последовательность bi-b|+d, b2-b2+d,...,bj-bj+d,...,b(k-1 )d+r-bkd+r , N=kd+r. Напомним, что вычитание и сложение проводится по модулю |1| номе- ров букв, упорядоченных в естественном расположении. Так как bj=aj+yj, то, в случае истинного периода d гаммы, получаем bj-bj+d aj-aj+d для любого j g {1,... ,(k-1 )d+r}, то есть вспомогательная последовательность является, как говорят, «разностью двух открытых текстов». При случайном выборе этих “открытых текстов” вспомогательная последовательность тоже является случайной, вероятностное распределение букв (номеров), которой равно Р =(pi,p2,...,Р[![) (ГИПОТЕЗА Н(0)), где р,= УРСРС- > сумма берется по c-c'=j всем с,с': c-c'=j (mod |I|) . Если d не является истинным периодом гаммы, то bj-bj+d=aj+yj-aj+d-yj+d. Естественно предположить, что знаки Yj,Yj+d выбирались при шифро- вании независимо. Вспомогательная последовательность в этом случае не яв- ляется «разностью двух открытых текстов». При случайном выборе открытых текстов ai,a2,..., a(k.i)d+r; ai+d,a2+d,...,akd+r нередко предполагают, что вспомога- тельная последовательность является случайной независимой выборкой из равновероятного распределения на I (ГИПОТЕЗА Н(1)). Относительно вспомогательной последовательности решают стати- стическую задачу - принятия гипотезы Н(0) или Н(1). Принятому решению в статистической задаче соответствует решение криптографическое: истинным периодом является d или d - не истинный период. Основными характеристи- ками изложенного метода являются: N и ошибки критерия. Метод Фридриха Казиского. Метод Фридриха Казиского, представ- ленный в 1863 году, анализирует повторения в шифртексте. Этот же метод независимо от Казиского был разработан советским криптографом Соколо- вым. Метод основан на том, что если гамма локально периодическая, то две одинаковые m-граммы открытого текста, отстоящие друг от друга на рас- стояние, кратное периоду гаммы, будут одинаково зашифрованы в некоторые одинаковые m-граммы, находящиеся на том же расстоянии друг от друга. По- явление же одинаковых m-грамм в шифрованном тексте по другим причинам маловероятно (при некоторых разумных ограничениях на величину m и на
168 длину шифртекста N). Следовательно, большинство расстояний между одина- ковыми m-граммами шифртекста делится на минимальный период. Поэтому на практике в качестве предполагаемого периода гаммы рассматривают наи- больший общий делитель длин большинства расстояний между повторениями m-грамм. Эксперименты показали хорошую надежность этого метода, если в шифртексте имеются повторения триграмм и m-грамм при т, большим трех. Первый метод Уильяма Фридмана. Первый метод Уильяма Фрид- мана состоит в том, что для данного шифртекста В вычисляют индекс совпа- дения 1С(В) и сравнивают его с величинами N-d d(N При достаточной близости 1С(В) к одной из этих величин при некото- ром d, предполагают, что период равен этому d. Согласно открытым публика- циям (см., например, John С. King. 1994. An Algorithm for the Complete Auto- mated Criptanalysis of Periodic Polyalphabetic Substitution Ciphers. Cryptologia. 18 (4), 332-355) данный метод удовлетворительно работает при использова- нии для зашифрования локально-периодических последовательностей перио- да не более 5. С точки зрения обоснованности применения данного метода лучше сравнивать 1С(В) с более точным выражением Еи(1С(В))=Ру(ЬГЬг)= (k + l)kr + k(k-l)(d-r) ур2 (k + l)kr + k(k-l)(d-г) 1 N(N-V) / + _ N(N-l) VI’ полученным ранее для N=kd+r и представленным в начале формулировки следствии 2 теоремы 1. Слабая эффективность этого метода объясняется, тем обстоятельст- вом, что значение N-d ур2 ^(d-1) 1 d(N-l)% ‘ (N-T)d\l\ математического ожидания индекса совпадения шифрованного текста для класса U периодических гамм фиксированного периода d совпадает со значе- нием целого ряда различных классов гамм. Это следует из теоремы 1, где до- казано, что это среднее значение Eu(IC(B))= Py(bj=bj )= । । + । । — • J J N(N-1) V N(N-V) |Z|
169 определено разбиением R=(N!,N2,...,NC) множества 1,2V. В частности, из это- го факта следует, что значение Eu(IC(B))= Py(bj=bj) для класса гамм периода d остается инвариантным относительно одновременной перестановки знаков во всех периодических гаммах - ключах. Второй метод Уильяма Фридмана. Второй метод Уильяма Фридмана также основан на вычислении ин- декса совпадения. Он состоит в опробовании возможных периодов по сле- дующей схеме. Для предполагаемого периода d выписываются d подпоследо- вательностей b|,bi+d,bi+2d,-.. b2,b2+d,b2+2d>- • • bd,bd+d?l^d+2d? • • • Для каждой подпоследовательности подсчитывается ее индекс совпадения. Если все индексы совпадения в среднем близки к значению то есть к среднему значению индекса совпадения случайных шифртекстов, полученных с помощью гамм периода 1 (см. следствие 2 теоремы 1), то при- нимают величину d за истинный период, в противном случае опробуют сле- дующую величину периода. Приведенный способ нахождения периода гаммы по шифрованному тексту удовлетворительно работает для периодов, не пре- вышающих 30. Метод БШ. Предлагаемый метод определения периода гаммы в шифре гаммиро- вания по известному шифртексту В= b|,b2.bN состоит в следующем. Выписываются все пары номеров j, j', для которых bj = by. Пусть П(В,=) - множество таких пар. Очевидно, |П(В,=)|= Fj (Fj — 1), где Fj - час- isl тота встречаемости буквы i в шифртексте В. Каждой паре (j, j') из П(В,=) ставится в соответствие расстояние p(jj'), равное абсолютной величине разности между] и]'. Ищется максимальное по мощности подмножество П(В,б,=) пар в П(В,=) такое, что их расстояния p(j,j') имеют некоторый общий наибольший делитель d, отличный от 1. Подсчиты- вается величина
170 иБШ(в,а) = !П(в,а’ N(N-l) и сравнивается с величиной Еи(ИБШ(в.а))= + z где к, г определены равенством N=kd+r. Если эти величины близки, принима- ется гипотеза о том, что шифрование проводилось гаммой периода d. В про- тивном случае, эта гипотеза отвергается. Обоснование метода БШ. Для шифрованного текста В= Ь],Ь2,...Ьн величина иБШ(в,а) = |п(в,а,=)| N(N-l) равна вероятности PB(bj=by, d) того, что при случайном и равновероятном вы- боре различных позиций j и j' с расстоянием, кратным d элементы bj и by сов- падут. Действительно, по определению множества II(B,d,=), ему принадлежат те и только те пары (j, j'), при которых d|p(j,j') ц bj = by , a N(N-1) - число всех пар различных позиций в последовательности В= Ь1,Ь2„...Ьм. Обозначим через I% множество всех локально-периодических после- довательностей периода d. Теорема 3. Пусть шифртекст B=B(N)=bi,b2,...bN получается шифрова- нием случайного текста A(N) (выборки из распределения Ро) с помощью равновероятного выбора ключа G(N) из . Тогда вероятность Py(bj=bj,d) того, что при случайном и равновероятном выборе различных позиций j и j' с расстоянием, кратным d, элементы bj и bj- случайного шифртекста В совпадут (имеется в виду вероятность совместного события: равенство букв на местах], j' и кратность расстояния между ними величине d), равна величине (k + V)kr + k(k-V)(d-г) ур2 N(N-l) V ' ’ При указанной вероятностной модели получения шифртекста данная вероятность совпадает с математическим ожиданием Е(ИБШ(ВД)) случайной величины ИБШ(ВД). ДОКАЗАТЕЛЬСТВО. Множеству Z^=U соответствует разбиение R(d)=(Nb N2,...,Na) множества {1,2,...,N}, где Nj={jj+dj+2d,...}, je{l,2,..,.,d}.
171 Пусть II(d)=( П (d,=),II(d,( Ф)) - разбиение множества пар {l,2,...,N}x{l,2,...,N}, индуцированное разбиением R(d). Введем обозначе- ние: n(d,=)= |{(jj'}еП(d,=), >j'}|. Положим, P(n(d,=))= ~ вероятность случайного и равнове- роятного выбора пары индексов {j j'}h3 множества n(d,=). Ранее отмечалось, что величина HBIII(B(N)) последовательности bi,Ьг,...,Ьи совпадает с вероятностью PB(bj=bj-,d) совпадения шифрованных букв на случайно и равновероятно выбранных двух различных местах, рас- стояние между которыми кратно d. Поэтому E(HBm(B(N)) = Py(brbj,d)= P(A)P(G)PB(bj=br,d) = AeIN,GeU = X Р(А)Р(О)[рв(Ь; =bf/d|P(j,j'))P(d|p(j,j')J- AeIN,GeU - X P(A)P(G)[pB(aj+7j =aj +Yj./d|p(j,j'))P(d|p(j,j'))J- AeIN,GeU I = P(d|p(j,j)) L P(A)P(G)[pB(aj=aj/d|p(j,j-)]= AeIN,GeU = P(d(p(jj')) £ £ P(A)P(G)[pB(ai=aj /d|p(j,j')]- AelN GeU -P(d|pOJ-)) X P(A)lPB(aj=aj /d|p(ij')]S P(G)- AeIN GeU = P(d|p0J')) Р<Л)|А(а; = ar ld I Р(Л/)]= AeIn = P(d|p(jj')) Z р(Л)[Ря(а; = a,..)]= AeIN ' Z- . N(N-l) V ' Теорема доказана.
172 Обозначим через R'=(N'i,N'2,...,N\) - произвольное разбиение мно- жества {1,2,...,N}, а через П(И')=(П (R',=),II(R-,^)), разбиение множества пар (1.2...N}x(1.2....N). индуцированное разбиением R' (данное понятие определено выше). Разбиению II(R') поставим в соответствие подмножество U(II(R')) множества ключей K=IN. Последовательность /1, / 2, • • • > / n из IN принадлежит U(n(R')) тогда и только тогда, когда для любой пары {j j'} е П (R',=). Рассмотрим пересечение R' n R(d) разбиения R'=(N'i,N' 2,...,N\) и введенного при доказательстве теоремы 3 разбиения R(d)=(N। ,N2,... ,Nd) множества {1,2,... ,N}, где Nj= {j j+d j+2d,...}, j g {1,2,... ,d}. Разбиение R' ГУ R(d)=(ni,n2,...,nt) состоит из непустых блоков вида N'j- ГУ Nj, где j' g {1Д... ,k}, j g {1,2,... ,d}. Этому разбиению соответствует разбиение n(R' ГУ R(d))=(n((R' n R(d),=)),n((R' ГУ R(d),^)) множества пар {l,2,...,N}x{l,2,...,N}\{(j j):jG 1,N}. Напомним, что разбиению R(d) соответ- ствует n(d)=(n(d,=),n(d,( =£)) - разбиение множества пар {l,2,...,N}x{l,2,...,N}\{(j,j):jG 1, N}, индуцированное разбиением R(d). Положим Р(П(б,=))=^-^^—— = У |ЛГС| W-!) w(w-i) вероятность случайного и равновероятного выбора пары индексов {j j'}H3 множества n(d,=), a е 77(R'ryR(tZ) = У |пс 1(1”с 1-1) N(N-l) Пусть шифртекст B=B(N) получается шифрованием случайного текста A=A(N) (выборки из распределения Ро) с помощью равновероятного выбора ключа G=G(N) из U(n(R')). Подсчитаем вероятность Py(bj=bj,d) совместного события: при случайном и равновероятном выборе различных позиций) и)' с расстоянием, кратным d, элементы bj и bj- случайного шифртекста В совпадут. Имеем Е(ИБШ(В(М)) = Py(bj=bj,d) = У P(A)P(G)PB (bj = b f, d), AeIN,GeU- где PB(bj,bj-,d) - вероятность совпадения шифрованных букв bj,bj- в шифртек- сте В=Ь1,Ь2,...,Ьы, на случайно и равновероятно выбранных двух различных местах jj', расстояние между которыми кратно d. Шифртекст В получен из открытого текста А с помощью гаммы G. Последние равенства можно продолжить: X P(A)P(G)PB(bj=bj.,d) = AeIN,GeU
173 - Y Р(А)Р(О)РВ(Ь^Ъ; Д(И)еП(Д>)) + AeIN,GsU + Y P(A)P(G)PB(bj =bj',d,(j,j’)eII(R',#))s AeIN,GeU £ Р(А)Р(0)Рв(Ь3=Ь£<1|р(),Г),а]')еП(К-,=))Р(<1|р().Г),О.Г)еЦК-,=))+ AeIN,G6U + £ /тед =bf/d\ AslN,GdJ Напомним, что bj=aj+yj, bj—aj+yj- и при выполнении условия (jj')G n(R',=) все ключи - гаммы из U(II(R')) таковы, что Yj=7j-. Следователь- но, первую сумму предыдущего выражения можно преобразовать так: P(A)P(G)PB(aj =af /d|p(j,j'),Gj')en(R\=))P(d|p(j,j'),Gj')en(R',=))= AeIN,GeU =Л^| )еЛ(Л-,=))£ =«; /</|А/-,7"),а/)еМЯ',=))= AsIn ‘P(d I p(j.j-),(J,/)s Л(Я»)£ Р/. i<=! Для случайно и равновероятно выбранной гамме из U(II(R')) вероятность со- бытия (yj=i, Yj =i') равна P(yj=i)P(yj =i') для любых i,i', причем P(Yj=i)=j“ для любого i е I (см. лемму 4). Поэтому вторую сумму рассматриваемого выра- жения можно привести к виду ВД|рЩМы)еЦК,#)) £ RA)P(G)PB(aj+Yj=aj.+7J/d№j')fij')eIXR',#)). AdN,GeU .Get/ -P(d | p(j,D,(j,j') e Л(Л',#))-4-.
174 Получаем промежуточный результат: Е(ИБШ(В(Ы)) = Py(bj=bj,d)= P(d | p(j, J'),(J, J') e 77(7?',=))^ T^.2 + iel + Л*|р(ЛЛ.(ЛЛеЛ(Я>))ууу. Продолжим выкладки: P(d I PUJ'MJ.J") e Я(й-,=))-Р((л/е Я(Я'пЛ(</),=)))- _ KI(KI-I) it N(N-l) Для подсчета вероятности P(d | p(j, > J) e 77(7?',*)) переобо- значим разбиение R'nR(d)= (ni,n2,...,nt), состоящее из непустых блоков ви- да N\nNj, где)'е{1,2,...,к}, je{l,2,...,d}. Именно, пусть ,...,и/(7))- семейство непустых блоков nm> из системы (ni,n2,...,nt)входящие в блок N,, je {1,2,...,d}. Тогда . P(d | p(j,j'),U,J') e 77(7?',*))=P((j,j')en(R(d),=), (j j')en(R',*))= 1 d ( t(j> • 4 Окончательно получаем E(HBm(B(N))-py(bJ-bj,d)= P(d|p(j,j-),<j,j')en(R-,=){^ р^+ _1 11\ W-I) N(N-l) 1 ‘ f, ( )•
175 Таким образом доказана Теорема 4. Пусть шифртекст B=B(N) получается шифрованием слу- чайного текста A=A(N) (выборки из распределения Ро) с помощью равнове- роятного выбора ключа G=G(N) из U(n(R')). Тогда вероятность Py(bj=bj,d) того, что при случайном и равновероятном выборе различных позиций] и]' у них расстояние будет кратно d и элементы bj и bj- случайного шифртекста В совпадут, равна величине у1 I I (I I ~1) / у р2 V % W-1) - 1 1 d t(j) +----------У( (NAN,. -1) ). |Z| N(N-V)^ J 1 При указанной вероятностной модели получения шифртекста данная вероят- ность совпадает с математическим ожиданием Е(ИБШ(В,д)) случайной вели- чины ИБШ(В^). Из полученного выражения для вероятности Py(bj=bj,d) следует, чт;о она зависит не только от мощностей блоков разбиения R' (как это имело ме- сто для вероятности Py(bj=bj)), но и от мощностей блоков пересечения разбие- ний R' и R(d). Поэтому такая большая многозначность определения периода в шифре гаммирования по шифртексту, как в первом методе Вольфа Фридмана, в предлагаемом методе БШ отсутствует. WV-1) ' В случае R'=R(d) имеем k=d=t, N'j=Nj=nj, tj=l. Формула для Py(bj=bj,d) принимает вид Р<ъ-Ь<п- У I I« I -Ц (У Py(bj bj,a) 2^ v 2L zt w(w-i) “Г (k + \)kr + k(k-V)(d-r) у-.в2 --------₽------------- Z 1 • 9 AT(W-l) т где N=kd+r. Ранее эта формула была получена в теореме 3. Возможности использования m-грамм шифрованного текста. Основная идея одного из направлений повышения надежности пред- ставленных методов определения периода гаммы в шифре гаммирования со- стоит в представлении последовательностей алфавита I в виде последователь- ностей m-грамм алфавита I.
176 Через P0(m) обозначим вероятностное распределение на Im, опреде- ленное вероятностями P(iiДг,- • .,im) появления т-грамм i|,i2,.. .,im =М в со- держательных открытых текстах; через A(N,m)=Mi,M2....MN будем обозначать реализацию случайной выборки объема N из распределения Ро(т). Последо- вательность m-грамм М],М2...MN при необходимости мы будем рассматри- вать и как последовательность A(Nm)=MiM2„ MN=ai,a2,...,aNmсимволов алфа- вита I длины Nm (MjMj+i - конкатенация слов Mj и Mj+i). Пусть B(N)=B(A(N),G(N))=bi,b2>...bNm, rflebj=aj + /j (mod |I|), je{l,2,...,Nm}. Последовательность B(N) будем трактовать как шифрованный текст, полученный зашифрованием текста A(N) на ключе-гамме G(N) в шифре гам- мирования (X=INm,K= и,У= INm, f), f(aba2,... ,aNm; Y b Y 2v • •>/Мт)=Ь|,Ь2,... bblm. Представляя гамму G(Nm)= у ь у 2,. , Y Nm как последовательность ш- грамм Г1,Г2,...,ГК, а шифртекст bi,b2.. bNm как последовательность т-грамм Bi,B2,...,Bn, можно говорить теперь о том, что мы зашифровали выборку М„м2,... MN на ключе ГЬГ2,.. .,ГЫ, получив шифрованный текст - последова- тельность m-грамм Bi,B2,...,BN. Задача определения периода последователь- ности m-грамм Г=Гi,r2,...,rN может решаться теперь полностью аналогично рассмотренной ранее задаче определения периода гаммы при ш=1. При этом надо иметь в виду, что если период последовательности Г равен D, то период d последовательности G(Nm) является делителем числа mD. Очевидно, модель получения содержательных текстов в виде выборки m-гамм является значительным уточнением начальной модели получения со- держательных текстов. Но надо иметь в виду, что, имея текст длины N (вы- борку объема N) в алфавите I, при переходе к m-граммам нам приходится ра- ботать с длиной текста N/m (объем выборки уменьшается в m-раз) и, следова- тельно, уменьшается степень приближения значения индекса совпадения (ин- декса БШ) шифртекста к значениям теоретических расчетов (аналогично тому как уменьшается точность приближения относительной частоты встречаемо-
177 сти буквы в содержательном тексте к ее вероятности с умейыпением длины текста). Определенным выходом из этой ситуации является рассмотрение всех m-грамм ij,ij+i,...,ij+(m-i) последовательности ibi2,.• -Зы длины N в алфавите I (таких m-грамм всего N-(m-l). При этом нам ниже придется проводить расче- ты в предположении, что эти m-граммы получены независимо друг от друга, что не соответствует действительности (например, очевидно, что т=граммы ij,ij+i,...,ij+(m-i)и ij+i,...,ij+(m-i),ij+m зависимы). Тем не менее, такая неразумность объяснима тем, что при большом N и небольшом ш большинство пар т-грамм состоит из независимых m-грамм. И остается надежда, что такой слабой зави- симостью можно пренебречь. Проверка же применимости получаемых при этом предположении теоретических результатов осуществляется в таких слу- чаях экспериментальным путем. Обозначим через Ij множество всех локально периодических после- довательностей периода d. Теорема 3'. Пусть шифртекст B=B(m,N) получается шифрованием случайного текста A=A(N)=ai,a2,...,aN, m-граммы которого являлись выбор- кой из распределения Р0(ш), с помощью равновероятного выбора ключа G=G(N) из Ij . Причем, d>m. Тогда вероятность Py(bjbj+i,...,bj+m=bj bj +i,...,bj-+m;d) того, что при случайном и равновероятном выборе различных позиций) и)' с расстоянием кратным d m-граммы bjbj+i,...,bj+m; bj bj +i,...,bj +m случайного шифртекста В совпадут, равна вели- чине N(N-Y) (к+ V)kr + k(k-l)(d-г) v 2 Zj Р (al>a2>—>am) • (aba2,...,am)elm При указанной вероятностной модели получения шифртекста данная вероятность совпадает с математическим ожиданием Е(ИБШ(В(т,М)) слу- чайной величины ИБШ(В(т,Ы). ДОКАЗАТЕЛЬСТВО. Множеству Ij =U соответствует разбиение R(d)=(Nb N2,...,Nd) множества {1,2,...,N}, rfleNj={j,j+dj+2d,...}, je{l,2,...,d}. Пусть n(d)=(n(d,=),n(d,( Ф)) - разбиение множества пар {l,2,...,N}x{l,2,...,N}\ {(j,j), je 1, N}, индуцированное разбиением R(d).
178 Положим, Р(П(<1,=))=-^^—— - вероятность случайного и равнове- роятного выбора пары индексов {j,j'} из множества П(б,=). Ранее отмечалось, что индекс BIII(B(m,N)) последовательности bi,ba,...,bN совпадает с вероятностью PeCbjbj+i,...,bj+m=bj bj +i,...,bj+m;d) совпа- дения шифрованных букв на случайно и равновероятно выбранных двух раз- личных местах, расстояние между которыми кратно d. Поэтому E(HBIII(B(m,N)) = Py(bjbj+1,...,bj+(m.i)=bjbj+i,...,bj+(m.|);d) = - Y P(A)P(G)PB(bj,...,bj+(m-i)=bf,..,bj+(m-i),d), AeIN,GeU где PB(bjbj+i,... ,bj+m = bj bj +i,... ,bj +m >d) - вероятность совпадения шифрованных m-грамм в шифртексте B=bi,b2,.. .,Ьи на случайно и равновероятно выбран- ных двух различных местах j,j', расстояние между которыми кратно d. Шиф- ртекст В получен из открытого текста А на ключе - гамме GeU=Z^. Последние равенства можно продолжить: X Р(А)Р(О)Рв(Ь,,...,ЪМт-1) =br,...,bj+(m-i).<l)- AeIN,GeU X P(A)P(G)PB(bj,...,bWn^1) =bi,...,bjx^l),/<l|p(j,j'))₽(d|p(j,j')= AeIN,GeU p(d|p(j,j') S p(A)p(G)PA(aj,...,aj4<m_i)=aj,...,aj+(m_i),/d|p(j,j'))= AeIN,GeU Aef" G<=U Так как по условию d > m то при случайном выборе m-грамм X р(л)р/а;’-,ау+(т_1) = ay.,...,a/+(m_1),/J|p(j,/)) = AtlN, 22 Р(А)Ра (а j+(m-l) — а “ 22 P (a12>a2»->am) AgIn, (ai2,a2,.--,am)Glm Следовательно,
179 Py(bjbj+i,...,bj+(m-i) bjbj'+i9• • ,m <‘l2'‘2..... (ai2,a2,-,am)Gl (k + V)kr + k(k-l)(d-r) N(N-i) У\ P2(a>2,“2,• (a12>a2>—<am^m Доказательство теоремы 3' закончено. Возможности переноса изложенных результатов на шифры поточ- ной замены (ПЗ). В данном пункте, как и ранее, под открытым текстом мы будем пони- мать выборку из распределения P0=(Pi,P2,-..,P|i|), где Pj - вероятность буквы] (ее номера) в содержательном тексте. Пусть К - некоторое множество подстановок на I. Рассмотрим шифр ПЗ (X=IN, KN, У, f), где шифрованный текст B=(bbb2,...,bN)=f(A,CT) получается из открытого текста А=аьа2,.. .,аы с помощью ключа ct=ctj,CT2,. • .,ctngKn сле- дующим образом: bj=cj(aj),j6{l,...,N}. Пусть d - период последовательности ст=СТ1,СТ2,.. • Лы (см. определение 2), в случае ее локальной периодичности. Задача состоит в определении периода d последовательности о или же установления его отсутствия по известному шифрованному тексту В. Легко проверить, что значение индекса совпадения (IC) последовательности 3 = ibi2,...,1n е IN • N(N-Y) ’ (Fj - частота встречаемости буквы i в последовательности 3 == i|,i2,...,iN) совпадает с индексом совпадения последовательности ст(3 )=CT(i|),cr(i2),...,CT(iN) при любой подстановке ст на I. Предположим допол- нительно, что |К|=|1| и нижние строки множества К подстановок образуют ла- тинский квадрат, т. е. множества переходов любых двух различных подстано- вок не пересекаются (это условие обеспечивает несложное доказательство аналога леммы 4 для рассматриваемого здесь шифра). Тогда полученные ра- нее результаты по применению индекса совпадения для определения периода гаммы шифра гаммирования полностью переносятся и на рассматриваемый шифр поточной замены. Несложно проверяется и совпадение индекса БШ по- следовательности 3 =i 14г,... 4n с индексом БШ последовательности
180 o(3 )=o(ii),o(i2),...,CT(iN), откуда следует справедливость полученных ранее утверждений для индекса БШ и для шифра ПЗ. Трактуя уравнение а+у=Ь как уравнение TY(a)=b, где Т - подстановка вида T(j)=j+1 (mod(|I|), заключаем, что шифр гаммирования является частным случаем шифра ПЗ с множеством клю- чей KN, где К=(Т, Т2,...,Т1'1), Т1’1 - тождественная подстановка на I. Задача дешифрования шифра поточной замены при известном пе- риоде ключевой последовательности. Рассмотрим шифр ПЗ (X=IN,KN,y,f), где шифрованный текст B=(b|,b2,...,bN)=f(A,cr) получается из открытого текста А=Э1,а2,...,аы с помо- щью ключа - последовательности o=oi,G2>- • -><7n периода d. Мы будем пред- полагать, что нижние строки множества К подстановок образуют латинский квадрат |К|=|1|. Задача состоит в определении открытого текста А по извест- ному шифрованному тексту В и известному периоду d ключа о. Метод протяжки вероятного слова. Пусть bi,b2,...,bN - известный шифртекст, N=kd+r. Рассмотрим две его подпоследовательности. Ь|, Ь2... , bj,... ,b(k-i)d+r,. bi +d, b2+d,-. bj+d,... , bkd+r Выберем так называемое «множество вероятных слов» - слова, кото- рые по нашему мнению, могут быть началом искомого открытого текста. Для опробуемого такого слова а'|,а'2,.;.,а\, предполагая, что оно является нача- лом искомого открытого текста, находим первые O|,a2>---,crt подстановок ключа (пользуясь тем, что множество К известно и тем, что нижние строки этого множества образуют латинский квадрат. Действительно, уравнение ст(а)=Ь при известных а и b однозначно разрешимо относительно о из К. Пра- вильность угадывания вероятного слова a'i,a'2,...,a't проверяется теперь на «читаемости» расшифрованного текста oi_1(b|+d), crf’Cbz+d),..., *(bt+d). Если последовательность этих букв принимается как случайный (не- читаемый) текст, то опробуется следующее вероятное слово. В случае же «чи- таемости» этой последовательности полагают, что c»i(bi+d)9 c»2(b2+d)9-• nt(bt+d)= ai+d, a2+d?---9 at+d? - и стараются построить возможные продолжения at+d+i,...,at+d+cэтого отрезка открытого текста по смыслу первых его t букв ai+d, a2+d?-.-, at+d. Затем опробо- вать каждое такое продолжение at+d+b---A+d+c,т. е- найти с помощью bt+d+i,-•-,bt+d+cи этого продолжения последовательность подстановок ' Qt+b- • -jCFt+c, а затем для нее и расшифрованный отрезок текста
181 <^t+i *(bt+i), c?t+2 (bt+2),..., CTt+c '(bt+c)— a t+i, a a t+c. Если текст а' 1,а'г,.. .,a't, a't+i, a't+2,..a't+c «нечитаемый» (он может быть таким за счет его окончания a't+1, а\+2,..., а\+с.), то продолжение at+(|+|,.,.,al+d+c отбрасывается. Если же текст a'i,a'2,...,a\, a't+i, а\+2,..., a't+c «читаемый», то ищут его возможные продолжения и т. д. Очевидно, поиск продолжений заканчивается по прочтению первых d букв открытого текста. Так как в этом случае найден отрезок ключа на d первых знаков и, следова- тельно, определен весь ключ. Оставшаяся часть не найденного открытого тек- ста читается расшифрованием на найденном ключе. Мы привели последовательность действий в методе протяжки вероят- ного слова исходя из предположения, что выбранные нами наиболее вероят- ные слова являются началом открытого текста. Обычно подбирают наиболее вероятные слова и для других позиций открытого текста. В этом случае начи- нают опробовать эти вероятные слова, естественно, не сначала текста, а при- вязываясь к их возможному месторасположению. При этом, конечно, видоиз- меняется и приведенный алгоритм «протяжки вероятного слова». Метод чтения по колонкам. Пусть bi,b2,...,bN - известный шифр- текст,^ - период ключевой последовательности. Рассмотрим две его подпос- ледовательности. bi, b2... ,bj,... ,b(k.|)d+r, N=kd+r. Ьl+d, b2+d,..., bj+d ,... , bkd+r Для изложения «метода чтения по колонкам» введем предварительно необходимые обозначения. Будем предполагать, что открытыми текстами, подлежащими шифрованию, являются содержательные тексты с вероятностя- ми PbP2,...,P|i| букв алфавита I, Pj- вероятность буквы с номером] в содержа- тельных текстах. Пусть на множестве ключей KN задано равномерное распре- деление (ключом является реализация выборки объема N из равномерного распределения на К). Тогда вероятность P(aj=i, aj+d=i7cj(aj)=bj, <Tj(aj+d)=bj+d)) того, что j-тая и j+d-тая буквы открытого текста были равны, соответственно, i и Г при условии, что j-тая и j+d-тая буквы шифрованного текста равны bj и bj+d выражается формулой P(aj=i,aj+d=i7oj(aj)=bj,Oj(aj+d)=bj+d)= _ Р(а j = i, a j+d = Г; (а;) = Z+,.ау (a J+d) = bJ+d) Р(сгу {a j ) = bj, a j (ai+d ) = bj+d )
182 Напомним, что мы рассматриваем шифр, множество ключей которого задано латинским квадратом, следовательно, используемый ключ о однознач- но определен любым переходом в этой подстановке. Поэтому если числитель последнего выражения не равен нулю, то Р(а j = i, a j+d = Г; (ау ) = £,-, (a.+d ) = bJ+d ) _ Р(сту (aj ) = bj, a j (aj+d) = bj+d) ' _P(aj = i’aW = = = PjPr ^aJ(aJ) = bj,aj(aj+d) = bj+d) ' Для рассматриваемых букв шифрованного текста bj и bj+d упорядочим в соответствии с невозрастанием полученных значений условных вероятно- , z стеи и запишем в вертикальную колонку пары букв открытого текста —, при Г этом верхние пары будут иметь большую условную вероятность, чем нижние. Построив такие колонки для каждого je {1,...,N} и расположив их по порядку слева направо, можно утверждать, что пары а, а2 а3 а4 . a\+d a2+d a3+d a4+d a J+d букв искомого читаемого содержательного текста будут находиться, соответ- ственно, в первой, второй, и т. д. колонках, и наша задача состоит в подборе пар букв в каждой колонке так, чтобы получить читаемые тексты как по пер- вым позициям пар, так и по вторым. При этом большинство истинных пар бу- дет находиться ближе к верхнему краю колонок. Конечно, не исключен слу- чай и получения нескольких начальных читаемых пар текстов на небольшой длине. Метод дешифрования с использованием взаимного индекса сов- падения. Пусть 3=ii,i2,...,iN; 3'=i'i,i'2,...,i'N- - последовательности длины, соот- ветственно, N и N' букв алфавита I. ОПРЕДЕЛЕНИЕ. Взаимным индексом совпадения последовательно- стей 3, 3' называется величина
183 м«3’3'>-^г~- где F, (F\) - частота встречаемости буквы i в последовательности 3 (За- данная величина совпадает с вероятностью совпадения букв в последователь- ностях 3, 3' при случайном независимом и равновероятном выборе позиций этих букв последовательностях 3, 3'. Пусть 3 - случайная выборка объема N из некоторого распределения P=(Pi)iei, а 3' - случайная выборка объема N'=N из распределения P'=(P'j)iei. Тогда, очевидно, величина М1С(Р,Р')=£/>Р\. iel совпадает с вероятностью P(ij=i'j ) события (ij=i'j ) при случайном и равнове- роятном выборе выборе] и]' в случайных последовательностях 3, 3'. Очевидно, для реализаций выборок 3, 3' длины N=N' из распределе- ний Р, Р' справедлив предельный переход по вероятности Хг.Г', Mic(5,3)--^——>п.в.-»У р,р; = м1с(р,р-) NN % при N—> оо. Поэтому при достаточно большом N пользуются с некоторой на- дежностью приближением М1с(3,3')= " MWP')- (.) 1У1У Пусть, как и ранее, Р=(Р],Р2,.. -,Рщ) вероятностное распределение букв содер- жательных текстов, а Р'=(Р' i,P'2,...,Р'щ) - неизвестное распределение на I, принадлежащее множеству Р(Оек) распределений вида: P(Q4HPa1(1),Pa-,(2),-,Pa-,(|lW, где о принадлежит множеству К подстановок на I (Ро4ф - вероятность j-той буквы, для ее расчета исходя из набора (Р1,Р2,...,Рц|) необходимо найти - образ буквы j при подстановке а"1). Предположим, что множество К подстановок таково, что при любых различных ст,о',ст*еК величины MIc(P(o l),P(cf4))= 5Z-Ч.Л-«>» iel М1с(Р(о’1),Р(о*1))=^Рг_1(.)РстШ_|(.) достаточно сильно различаются, то есть iel
184 различаются так, что различаются и взаимные индексы совпадения М1с(3(ст), 3(ст')), М1с(3(ст),3(ст*)) для выборок 3(ст), 3(ст'),3(ст*) из распределений Р(ст'), Р(ст'-1), Р(о*-‘). Приведенное выше приближенное равенство (,) является основным средством решения следующей задачи. При известных значениях М1с(Р(ст’'), Р(ст'*)), М1с(Р(о |),Р(о*1)) и известной подстановке о найти ст' и ст* по реали- зациям выборок: 3(ст), З(ст'), 3(ст*) из распределений Р(ст '), Р(ст'-'), Р(ст*‘). Для решения этой задачи подсчитывают взаимные индексы совпаде- ния М1с(3(ст),3(ст')), М1с(3(ст),3(ст*)) выборок 3(ст), З(ст') и 3(ст), 3(ст*) и. определяют по ним приближенные значения величин М1с(Р(ст’|),Р(ст'1)) и М1с(Р(ст‘|),Р(ст*1)). Откуда узнают и неизвестные ст' и ст*. Метод Симпсона. Перейдем теперь к изложению метода дешифрования шифра последо- вательной замены при известном периоде ключевой последовательности. Пусть bi,b2,...,bN - известный шифртекст, d - период ключевой после- довательности. Для всех возможных пар (ст,ст') из КхК подсчитывается значение веро- ятности М1с(Р(ст’'), Р(ст'‘*)). Проводится разбиение множества К на классы kczK эквивалентности так, что пары из одного класса имеют одинаковое зна- чение вероятности, а из разных классов к, к' - разное значение вероятности. Выписывают шифртекст в следующем виде: 3(1) bi, bj+d, bi+2d,. • .,b]+j<j,... 3(2) b2, b2+d, b2+2d,... ;b2+jd,... 3(d) bd, bd+d, bd+2dj. • -,bd+jd- • • Пусть Ст1,ст2,...,CTd - начальный отрезок неизвестной ключевой после- довательности. Тогда первая строка букв - последовательность 3(1) результат шифрования букв открытого текста по простой замене сть вторая - 3(2) - по ст2, ...d-тая - по CTd. Далее предполагают, что каждая последовательность 3(j) является реализацией выборки из неизвестного вероятностного распределения Р(сгТ1). Подсчитываются значения взаимных индексов совпадения MIc(3(l),3(j)), je{l,...,d}. Опробуют в качестве неизвестной подстановки Ст] все подстановки ст из К. Для опробуемого варианта ст при каждом фиксиро- ванном je {l,...,d} проводят сравнение значения взаимного индекса совпаде- ния MIc(3(l),3(j)) с вероятностями: М1с(Р(ст ’),Р(ст'1)), ст'еК. Для каждого je {l,...,d} находят наиболее близкое значение М1.с(Р(ст’1),Р(ст'’1)). Этому зна-
185 чению отвечает некоторый класс эквивалентности k(j). Опробуемому вариан- ту о ставят в соответствие множество {ст,к(2),...,к(б)| значений вариантов на- чального отрезка Ст1,ст2,...,ста ключевой последовательности. Первый элемент любого такого варианта есть ст, второй - произвольный элемент из класса к(2), и т. д. Промежуточным этапом решения задачи является получение объеди- нения множеств вариантов по всем стеК. Далее поставленная задача дешиф- рования решается опробованием вариантов этого множества. Отметим, что опробование неизвестной подстановки Ст1 диктуется не- однозначностью решения уравнения = Р относительно пары zeZ подстановок (ст,ст*). Так, если (ст,ст*) - решение этого уравнения, то пара (остЛ,ст*стЛ) также будет решением рассматриваемого уравнения при любой подстановке стл. Если >ке ищутся решения (ст,ст*) с заданной первой компонен- той ст, то неоднозначность решения значительно уменьшается. Модернизированный метод Симпсона. Если известно, что первая подстановка cti начального отрезка 01 ,о2,...,CTd ключевой последовательности равна тождественной подстановке, то 3(l)=bi, bi+a, bi+2d,...,b|+jd является выборкой из неизвестного открытого текста и, по предположению, она трактуется как выборка из распределения Ро. В этом случае по значениям вероятностей М1с(Ро,Р(ст-1)), стеК с помощью вычисленных значений взаимных индексов совпадения MIC(3(1), 3(j)), jG{l,...,d } определяются остальные значения ключевой последовательности. При неизвестной же первой подстановке в качестве выборки из неиз- вестного открытого текста (выборки из распределения P0=(Pi,P2,...,P|i|)) может быть взят произвольный содержательный текст 3(0), т. е. можно ввести до- полнительную вспомогательную последовательность 3(0) и считать, что ее буквы шифровались по тождественной подстановке. Следовательно, в общем случае имеется возможность сведения данной задачи к задаче дешифрования при известной первой подстановке. Практически же предлагается провести вычисления модернизированного взаимного индекса MB3(P0,3(j)) по формуле B3(P0,3(j))=£/>^ /е/ ZV j где Nj - длина последовательности 3(j), F/ - частота буквы i в 3(j). В качестве искомой подстановки <jj предлагается брать подстановки ст, для которых B3(P0,3(j))= ^^«МЦРо^СТ^ ' zeZ j iel
186. ГЛАВА 3. ИНФОРМАЦИЯ, ЕЕ СВОЙСТВА Параграф 3.1 Общее понятие информации. Способы представле- ния информации, подлежащей шифрованию. Дискрети- зация непрерывных сигналов Объектом криптографии является информация (содержание сообще- ний) в процессе ее передачи по каналу связи. Поэтому, как правило, изучение криптографии как науки начинают с изучения свойств открытой информа- ции. Криптографы дают следующее определение открытой информации: «не- засекреченная (незашифрованная) информация, предназначенная для переда- чи по каналу связи». Открытая информация обязательно должна быть зафик- сирована на каком-либо материальном носителе (на бумаге, фотопленке, пер- фоленте и т. д.) Открытую информацию, зафиксированную на некотором ма- териальном носителе, принято называть открытым сообщением. Открытая информация обладает свойством инвариантности относи- тельно материального носителя и заранее оговоренной формы ее представле- ния (например, в естественной форме - в виде текста на каком-либо языке, либо в искусственной форме, например, в виде двоичной последовательности, последовательности физических сигналов и т .д.). Общеизвестно, что имеется возможность представления непрерывных сигналов ограниченного спектра в виде последовательности дискретных сиг- налов без потери информации. Теорема Котельникова В.А. Непрерывная функция S(t), спектральная плотность которой отлична от нуля только в интервале (-F,F), полностью определяется своими значения- 1 ми, отсчитанными в дискретных точках через интервал At=—, где F - мак- симальная частота спектра (равная ширине спектра в случае, если он начина- ется от нуля). Значения функции S(t) в любой точке t выражается формулой /ч v о/ » ч sin2nF(t - KAt) S(t)= X S(KAt) ' /, KZc 2nF(t-KAt) где S(icAt) - отсчеты непрерывной функции в дискретных точках t=KAt.
187 Обычно реальные непрерывные сообщения и сигналы приблизительно можно рассматривать как функции с ограниченным спектром. Поэтому в силу теоремы Котельникова вместо непрерывных сообщений можно рассматривать соответствующие им дискретные (без потери информации). Процедура пред- ставления непрерывного сообщения в дискретную форму называется кванто- ванием сигнала во времени (дискретизацией). В связи со сказанным выще особое значение приобретает изучение свойств дискретных сообщений. Далее основное внимание будет уделено именно им. При этом основное внимание будет сосредоточено на изучении свойств так называемых открытых текстов. Читателю, интересующемуся цифровой обработкой сигналов, реко- мендуем прочесть ПРИЛОЖЕНИЕ 1 и книги: А.В. Оппенгейм, Р.В. Шафер «Цифровая обработка сигналов», М., Связь, 1979,416 с.; Л.М. Гольденберг, Б.А. Матюшкин, М.Н. Поляк «Цифровая обработка сигналов», М., Связь, 1990. Параграф 3.2 Открытые сообщения и их характеристики (/Фом/) Понятие открытого сообщения в криптографической литературе понимается двояко: либо это содержательный текст, поддающийся смы- словому чтению, либо это текст, подлежащий зашифрованию,- в последнем случае, вообще говоря, это текст, возможно, и не читаемый, например, шифрованный текст в случае двойного перешифрования. В данном параграфе под открытым текстом, как правило, мы понима- ем содержательный читаемый текст на каком либо языке. Модели шифров, криптосхем, шифраторов, модели ключевых систем шифров строятся с использованием моделей открытого текста (или моделей источника открытых сообщений). Все модели, в том числе и модели открытых сообщений, обычно делятся на два класса: детерминированные и вероятно- стные. Детерминированный источник сообщений. В этой модели открытые тексты (как и шифрованные) дредставляют собой последовательности символов, взятых из конечного множества симво- лов, называемого алфавитом открытого текста. Например, алфавит русского языка, алфавит английского языка. Число символов в алфавите математики называют мощностью алфа- вита. Например, алфавит A(1)={A,B,C,D,.. .,X,Y,Z} - прописные буквы анг- i лийского языка. Мощность алфавита 26 (иногда вместо пробела используют
188 букву Z). Алфавит А(2)= {A,B,C,D,... ,Х,Y,Z, a,b,c,..., x,y,z, 0,1,2,... ,9, □ , . « » ? !}- мощность алфавита 70. Алфавит А(3)={0,1} - мощность 2. Часто используются алфавиты, представляющие собой двоичные наборы длины п (как правило 5<п<8) или двоичные коды, например, международный теле- графный код (МТК-2). Полный русский алфавит состоит из 33 букв: АБИГДЕЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ, пробела, точки,запятой. Отождествляют: в ряде случаев Е и Ё, иногда И и И, а иногда Е и Э, часто отождествляют Ь и Ъ. Добавляя пробел, говорят, что алфавит состоит из 34 букв, а с некоторыми отождествлениями букв алфавит содержит от 28 до 33 букв. Пусть I - некоторый алфавит, мощности |1|. Текст, записанный в алфа- вите I, имеет длину - число символов в соответствующей последовательно- сти. Последовательность к символов называют к-граммой в алфавите I. Мате- матики, как правило, под последовательностью обычно понимают бесконеч- ную последовательность символов алфавита I, конечную же последователь- ность называют словом в алфавите I. Двоякое использование терминов мы, по возможности, будем отмечать и далее во всей книге. Собственно источниками открытого текста является отдельный чело- век или группа людей, радиопередающие станции, пункты телеграфной и те- лефонной сети и т. д. Каждый источник открытого текста (сообщений) харак- теризуется своими особенностями: используемым алфавитом, например, рус- ским алфавитом; определенной структурой тематики сообщений, например, о погоде, о политике; математический текст, физический и т. д.; частотными характеристиками сообщений и другими особенностями, например, так назы- ваемыми вероятными словами: «Сообщаю Вам», «Докладываю», «На Ваш номер «...» сообщаю», «старший оперуполномоченный провинции Логар майор Тарасов», и т. д. Сообщения на английском язык,е передаваемые по телетайпу, скорее всего используют алфавит А(2). Частный корреспондент, намеревающийся шифровать свои сообщения, во многих случаях предпочтет использовать алфавит А(1). Данные, передаваемые при межмашинном обме- не, удобнее отображать с использованием алфавита А(3) (см. В.М. Фомичев, «Симметричные криптосхемы», М., 1995). Каждый источник сообщений порождает тексты в соответствии с пра- вилами грамматики, что находит отражение и в других характеристиках со- общений. Например, в содержательных текстах на английском языке за бук- вой «q» всегда следует буква «и», в русских текстах буквы «ь» и «ъ» никогда не располагаются рядом и не следуют за гласными буквами. Всякий источник сообщений можно моделировать списком допустимых (т.е. встречающихся в
189 каких-либо текстах) k-грамм при к= 1,2,3,... Если к-грамма не является допус- тимой, то ее называют запретной или запрещенной. Разделение множества к-грамм на допустимые и запретные опре- деляет детерминированную модель источника открытых сообщений. В такой модели открытый текст рассматривается как последовательность сим- волов некоторого алфавита, не содержащую запретных к-грамм. Построение детерминированной модели исследуемого источника от- крытых сообщений можно реализовать в результате статистической обработ- ки генерируемых им текстов. Для этого следует «просмотреть» достаточно большое количество текстов, сгенерированного данным источником, и все не встретившиеся k-граммы отнести к множеству запретных k-грамм источника. Естественно, чем большее количество материала отработано, тем эффектив- нее применение прстроенной модели сообщений на практике для решения х различных криптографических задач. В ряде криптографических задач данная модель источника сообщений используется для различения открытых текстов от случайных последователь- ностей с помощью вычислительной техники. Источник передачи данных. Появление систем телеобработки привело к появлению нового вида электрической связи, так называемого «передача данных». Целью передачи данных является передача информации для обработки ее вычислительным машинам или же выдача ее этими машинами. Принципиальная новизна вида связи - передачи данных - состоит в том, что эта связь осуществляет обмен информацией между ЭВМ, а так же между ЭВМ и человеком. Данные, пред- назначенные для машин, называют «формализованным языком», языком ма- шин. Этим подчеркивается, что они не предназначены непосредственно для восприятия человеком. Эти данные передаются в цифровом виде (часто в виде двоичной последовательности). Осмысливание их человеком может происхо- дить только после их представления в соответствующей форме. В криптогра- фических терминах понятия формализованного языка представляют собой словарные величины, а их условные формы - кодобозначения, последние изо- бражаются в виде буквенных, цифровых и смешанных групп различной дли- ны (разрядности). Формализованный документ оформляется в виде так назы- ваемого «формата», т. е. формы, в которой размещение данных осуществляет- ся по некоторым жестким правилам на местах, определяемых для данного формата шаблоном. Таким образом, для чтения таких документов необходи- мо знать формальный язык и форматы документов. Можно сказать, что фак- тически открытое сообщение в формализованном языке представляет собой кодограмму, а перевод открытого сообщения в формализованный язык есть позиционное кодирование смысловых сообщений нескольких языков, каждый
190 из которых кодируется своим кодом и располагается на определенном месте формата сообщения. Таким образом, для формализованных сообщений исче- зает понятие открытого текста в общепринятом его понимании «читаемого» текста. Признаками «открытого текста» текста формализованного являются не его читаемость, а различные его детерминированные и статистические при- знаки, связанные с применяемыми способами сжатия и кодирования в систе- мах дискретного фототелеграфа, телевидения, ЭВМ. Вероятностные источники сообщений. В этих моделях источник открытого текста рассматривается как ис- точник случайных последовательностей. Считается, что источник генерирует конечную или бесконечную последовательность случайных символов х(1),х(2),...,х(п) из алфавита!. Вероятность случайного сообщения «i(l),i(2),..., i(n)» определяется как вероятность совместного события P(i(l),i(2),...,i(n))=P(x(l)=i(l),x(2)=i(2),...,x(n)=i(n))). При этом, естественно, требуют выполнения условий: 1) для любого случайного сообщения «i( 1),i(2),..., i(n)» P(i(l),i(2),...,i(n))>0; 2) £P(i(l),i(2),...,i(n))=l; i(i),i(2),.:.,i(h) 3) для любого случайного сообщения «i( 1),i(2),..., i(n)» P(i(l),i(2),..„ i(n))= £P(i(l),i(2),...,i(s)), s>n+l. i(l),i(2),...,i(s) Смысл последнего условия состоит в том, что вероятность всякого случайного сообщения длины п есть сумма вероятностей всех «продолжений» этого сообщения до длины s>n (некоторый вариант аксиомы Колмогорова). Текст, порождаемый таким источником, является вероятностным ана- логом языка. Он обладает одинаковыми с языком частотными характеристи- ками k-грамм. Задавая конкретное вероятностное распределение на множестве открытых текстов, мы задаем соответствующую модель источника сообще- ний. Рассмотрим некоторые частные случаи этой общей модели. Стационарный источник независимых символов алфавита. ZB этой модели предполагается, что вероятности сообщений полностью определяются вероятностями отдельных символов алфавита: п P(i(l),i(2),..., i(n))=JJP(x(j) = i(j)) и P(x(j)=i)>0, ^P(x(j) - i) = 1. j=l iel
191 Под открытым текстом понимается реализация последовательно- сти независимых испытаний в полиномиальной вероятностной схеме с числом исходов |I|=m. Исходу взаимно однозначно соответствует символ ал- фавита I. Эта модель позволяет разделить буквы алфавита на классы высокой, средней и низкой частот использования. Ниже приводятся буквы высокой частоты использования для некоторых европейских языков (частота указана в процентах). __________________'_____________________________________ [язык Буквы алфавитов и частоты их использованйя в текстах 1 Английский Е 12,86 Т 9,72 А 7,96 I 7,77 N 7,51 R 7,03 [Испанский Е 14,15 А 12,9 О 8,84 S 7,64 I 7,01 R 6,95 | Итальянский I 12,04 Е 11,6 А П,1 о 8,92 N 7,68 т 7,07 I Немецкий Е 19,18 N 10,2 I 8,21 S 7,07 R 7,01 т 5,86 [Французский Е 17,76 S 8,23 А 7,68 N 7,61 Т 7,30 I 7,23 [Русский О 11,0 И 8,9 , Е 8,3 А 7,9 Н 6,9 т 6,0 Для сравнения частот редких букв и букв, приведенных в таблице, укажем, что, например, в английском языке редкими буквами являются буквы J,Q,Z, а их частоты в процентах оцениваются величинами 0,13, 0,12, 0,08, соответственно. Из этой таблицы видно, что не случайно итальянский и ис- панский языки считаются певучими: на долю гласных приходится около по- ловины всех букв. Самыми частыми биграммами в русском языке являются (в процен- тах) СТ (1,74), НО (1,29), ЕН (1,23), ТО (1,21), НА (1,20), ОВ (1,16), НИ (1,15), РА (1,14), ВО (1,08), КО (1,07). Наиболее частые триграммы: СТО, ЕНО, НОВ, ТОВ, ОВО, НАЛ, РАЛ, НИС. Рассматриваемая модель открытого текста весьма просто строится для любого источника открытых сообщений с использованием относительно не- большого количества материала и удобна для практического применения. В тоже время, некоторые свойства модели противоречат свойствам языков. В частности, согласно этой модели любая k-грамма, к>1, имеет ненулевую веро- ятность появления в сообщении. Стационарный источник независимых биграмм. Открытый текст такого источника является реализацией последовательности независимых испытаний в полиномиальной вероятностной схеме с числом исходов равным т2, где т - мощность алфавита I. Для простоты мы отожде- ствим алфавит с множеством чисел {0,1,...,ш-1} (обычно буква отождествля- ется с ее номером в естественно упорядоченном алфавите). Множество исхо-
192 дов взаимнооднозначно соответствует множеству всех биграмм алфавита. Эта модель характеризуется следующим равенством: п P(i(l),i(2),..., i(2n))=PJP(x2j_i =i2j-i,x2j =i2j), j=l где P(x2j.i=i,X2j=i')^0, для всех i,i'e {0,1,...,m-1}, a Xp(x2j-i =i,P(x2j =i') = l- i,i' В качестве оценок вероятностей биграмм используются относительные частоты их появления в открытом тексте, которые вычисляются эксперимен- тально на большом текстовом материале. Вероятности биграмм в алфавите {0,1,...,ш-1} могут быть сведены в матрицу размера mxm: Р11 Р12 ... Р1т Р21 Р22 Р2т ... ... ... Рт1 Рт2 Ртт где pjk - вероятность биграммы (jk). Из матрицы вероятностей биграмм де- шифровальщик может извлечь ряд полезных особенностей, свойственных ис- точнику сообщений и языку в целом. Например, в английском языке все би- граммы вида (q,...) имеют нулевую вероятность за исключением биграммы (q,u), вероятность которой равна приблизительно 0,0011. Биграммы вида (а,...) имеют ненулевую вероятность за исключением биграммы (a,q). Данная модель точнее по сравнению с предыдущей отражает особен- ности языков и источников сообщений. В частности, согласно этой модели всякое сообщение, у которого на нечетном месте x2j-i,X2j располагается за- претная биграмма (i,i'), имеет нулевую вероятность. В то же время, моделью игнорируется свойственные языкам зависимости между соседними биграм- мами. Например, вероятность слова «ququ» в данной модели английского языка оценивается величиной 1,21 10‘6, хотя в языке оно не встречается. В меньшей степени указанные недостатки присущи следующей модели. Стационарный источник марковски зависимых букв. Открытый текст такого источника является реализацией последова- тельности испытаний, связанных простой однородной цепью Маркова с m состояниями. Данная модель (как и соответствующая цепь Маркова) характе ризуется матрицей П переходных вероятностей: II=||p(s/t)||, s,t из алфавита {0,1,... ,m-1} и стационарным распределением вероятностей Р=(р( 1),..., р(т'
193 на алфавите (на состояниях цепи Маркова). Вероятность случайного сообще- ния выражается формулой п-1 , P((i( 1 ),i(2),..., i(n))=p(i( 1))• p(i(j +1) I i(j). j=l Переходные вероятности и стационарное распределение удовлетворяют усло- виям: p(s/t)>0, p(t) >0, t,sе {0,1,... ,m-1}; m-1 £p(s /1) = 1, s=0 m-1 P(s)= X P(l)p(s/t), S e {0,1,... ,m-1}. t=o В данной модели вероятность появления в тексте каждой последую- щей буквы зависит от значения предыдущей буквы. Согласно модели всякое сообщение, содержащее где-либо запретную биграмму, имеет нулевую веро- ятность. Стационарное распределение Р является решением следующей сис- темы линейных уравнений, записанных в матричной форме: РП=Р. Стационарный источник независимых k-гамм, к>2. К этому разделу относится класс моделей, в условиях которых всякое сообщение является реализацией последовательности испытаний в полиноми- альной вероятностной схеме с числом исходов равным mk. Эти модели адек- ватно отражают межсимвольные зависимости внутри каждой k-граммы, но игнорируют межсимвольные зависимости соседних к-грамм. Чем больше к, тем, с одной стороны, точнее рассматриваемые модели отражают свойства языков и источников сообщений и, с другой стороны, тем они более громозд- ки и неудобны для практического использования. Поэтому выбор подходящей модели для исследования источника сообщений носит, как правило, компро- миссный характер и осуществляется дешифровальщиком с учетом свойств конкретного шифра. Стационарный источник зависимых k-грамм к>2. Эти модели характеризуются не только размером к рассматриваемых мультиграмм (символов, генерируемого сообщения), но и глубиной межсим- вольной зависимости. Глубина зависимости определяется как размер h муль- тиграммы (составленной из k-грамм), от значения которой зависит вероят- ность появления в сообщении следующей за мультиграммой k-граммы. Во всех языках зависимость вероятности k-граммы от последнего символа h- 7 Зак.5
194 гаммы с ростом h заметно убывает, поэтому подобные модели используются на практике при небольших значениях h, тем более что с ростом h эти модели становятся весьма громоздкими. Нестационарные источники сообщений. Каждой модели из предыдущих классов можно поставить в соответст- вие семейство нестационарных моделей, которые отличаются от стационар- ной модели тем, что вероятности появления по крайней мере некоторых к- грамм зависит от их места в сообщении. Нестационарные модели можно рас- сматривать как уточнение стационарных моделей, в которых учтена, в той или иной мере, структура сообщения. Например, если источником сообщений яв- ляется премьер-министр, а получателем сообщений - король, то с большой вероятностью все сообщения будут начинаться со слов «Ваше Величество!..». Подобные стандарты играют важную роль в криптографическом анализе. Теоретико-информационная модель источников сообщений. В данном разделе мы кратко охарактеризуем теоретико- информационную модель открытых сообщений. Более подробно эта модель будет изложена в главе 4. Здесь будут использованы понятия «энтропия веро- ятностной схемы», «собственная информация сообщения» и другие понятия теории информации. В данной модели предполагается, что открытые сообщения реализу- ются некоторым стационарным эргодическим источником сообщений. Для такого источника определена предельная энтропия Н: HL—>Н, при L—> -яс, где HL - энтропия на один знак сообщения длины L. Таким образом, Н - энтропия открытого текста на один знак. Пусть P(Cl) - вероятность реализации источником сообщения Cl дли- ны L, I(CL)=loga —- собственная информация сообщения Cl. Тогда по теореме Макмиллана при L—>ос справедливо асимптотическое равенство I(Cl)«LH, . откуда получаем, что для всех вероятностей P(CL): P(CL)«aLH, где а - основание логарифма, по которому вычисляется Н. В частности, число открытых текстов длины L (при большом L) приблизительно равно aLH. Для литературных текстов на русском, английском языках Н=1 бит. Бели N - чис- ло букв алфавита, то D=l- H/logaN называют избыточностью языка, она дока- зывает часть букв открытого текста, которую можно пропустить без потери содержания текста. Для русского и английского языков D=O,5-O,8. , f .j .
195 Параграф 3.3 Критерии на осмысленные сообщения Важнейшей задачей криптографии является задача распознавания-от- крытых текстов. .Имеется некоторая последовательность знаков, записанная в алфавите!: . 3=ibi2,...iL, ijSl, je{l,2,...,L}. Требуется построить некоторый алгоритм, который Позволял бы вы- яснить, является 3 открытым текстом или нет. Формальное правило, которое позволяет ответить на данный вопрос, называется критерием на открытый текст. При построении таких критериев обычно ограничиваются использованием моделей открытых текстов (см. па- раграф 2.3.) При этом множество X открытых текстов заменяется на некото- рое другое множество, тексты которого формально считаются открытыми текстами в этой модели. В терминах математической статистики можно сказать, что ряд таких критериев позволяет различать две гипотезы: НО - последовательность 3 - открытый текст (в принятой модели); Н1 - последовательность 3 - случайная равновероятная последовательность знаков. Любой статистический критерий различения двух простых гипотез, в частности, ряд критериев на открытый текст может допускать ошибки двоякого рода: ошибка первого рода - имеет место гипотеза НО, а критерий принима- ет гипотезу Н1, то есть отбраковывается открытый текст; ошибка второго рода - имеет место гипотеза Н1, а критерий принима- ет гипотезу НО, то есть за открытый текст принимается случайный набор зна- ков. Вероятности этих ошибок а=Р(Н1/Н0), р=Р(Н0/Н1) являются основными параметрами критерия. Важным параметром является и значение среднего числа знаков, на котором критерий отбраковывает случай- ный текст. Существует много разнообразных статистических критериев различе- ния двух простых гипотез, каждый из которых может быть реализован при решении криптографической задачи: определения открытого текста по задан- ной последовательности знаков алфавита. Естественно, прежде всего следует назвать наиболее мощный критерий (критерий Неймана-Пирсона), а также последовательные критерии (критерии Вальда). Мы же ограничимся рассмот- 7»
196 рением возможностей применения критериев запретных знаков и запретных биграмм. Критерии запретных знаков и запретных биграмм. Один из простых в реализации критериев использует ту особенность открытого текста, что некоторые m-граммы алфавита появляются в нем очень редко. Итак, предполагают, что заданная последовательность знаков есть реализация некоторого случайного процесса. Примем следующую вероятно- стную модель. «Открытый текст» (далее ОТ) 3 получается в результате выборки т- грамм алфавита I из заданного вероятностного распределения на них: . {P(ai,a2,.,am), (ai,a2,.,am)6lm } - гипотеза НО. Причем данные значения вероят- ностей соответствуют вероятностям их появления в открытом тексте (они по- лучены путем маркировки достаточно длинного открытого текста). Гипотеза Н1 - текст 3 получен выборкой его m-грамм из вероятност- ного равномерного распределения на Im , вероятность появления любой т- граммы есть l/|I|m. Отберем h самых редких m-грамм и назовем их запретными. Поло- жим, р=р(з) - суммарная вероятность их появления в ОТ. Остальные ш- граммы назовем незапретными. Положим, р(н)=1-р(з) — суммарная вероят- ность незапретных m-грамм. Суммарная вероятность появления в случайном тексте запретной m-граммы равна Q=h/|I|m. Критерий запретных m-грамм состоит в поиске в последовательности 3=ii,i2,...iL запретной m-граммы. Для этого просматривается первая tri-грамма ii,i2,.. .im, вторая - i2,.. .im+i и т.д. Если запретная m-грамма отсутствует в 3, то принимается гипотеза НО - считается, что текст открытый. Если нашли за- претную m-грамму, то принимается гипотеза Н1 - текст считается случайным. Всех m-грамм в тексте 3 есть L-(m-l). В случае т>1 т-граммы оче- видно зависимы. Но далее, как мы увидим, расчеты ошибок критерия провЪ- дятся в предположении их независимости. Рассчитаем ошибку а критерия а=Р(Н1/Н0)=Р(н,н,.. .,з,.. ,н), где Р(н,н,...,з,...н) - вероятность появления запретной m-граммы (хотя бы один раз) в выборке длины L-(m-l) из распределения {P(ai,a2,.,am),(ai,a2,.,am)elm }. Имеем а=Р(Н1/Н0)=Р(н,н,. .'.,з,.. .H)=l-(l-p)Lm+1. Случай запретных знаков, ш=1. В этом случае a=l-(l-p)L, a p=P(HO/Hl)=(hQ)L=(l-h/|I|)L.
197 Случаи запретных биграмм, m=2. Пусть m=2. Тогда а=1-(1-р)ь*. Проведем расчет 0=Р(НО/Н1). Обозначим через \|/(L) число всех по- следовательностей в алфавите I длины L, не содержащих запретных биграмм. Тогда ₽=P(H0/H1)=\|/(L)/|I|l. Положим, I={ 1,2,.. .,п}. Для подсчета xj/(L) обозначим через \|/j(L) - число последовательностей в алфавите I длины L, не содержащих запретных биграмм и оканчивающихся буквой j . Тогда для j е {1,2,.. .,п} имеют место рекуррентные соотношения \|/j(L+l)=\|/i(L)bij+\|/2(L)b2j+.. .\|/n(L)bnj, где bg =0, если биграмма rj - запретная и brj =1 в противном случае. Рассмот- рим матрицу В=( brj) размера пхп и вектор ^(LHVi(L),X|/2(L),...,i|/n(L)). Предыдущие рекуррентные соотношения можно записать в виде V“>(L+1)=V‘*(L)B. Элементы L-ой степени BL матрицы В запишем в виде brj(L), BL=(brj(L)). Пре- дыдущее равенство может быть продолжено так \|/^(L+1)= \|T(L)B=v^(L+l)= v^(2)BL1 или Vj(L+l)=Vi(2)blj(L-l)+v2(2)b2j(L-l)+.. ,x|/n(2)bnj(L-l), где je{l,...,n}, v|/r(2) - число незапретных биграмм оканчивающихся на г, b^L-l) - число текстов длины L-1 в алфавите I, начинающихся с г, оканчи- вающиеся на j и не содержащих запретных биграмм. Расчет величин Vr(2) проводится непосредственно. Таким образом, расчет ошибки 0 сводится к расчету значений элементов матрицы BL'2. Для подсчета этих значений ис- пользуют асимптотические результаты. Один из подходов к их вычислению состоит в использовании теоремы Фробениуса и формулы Перрона. Часть теоремы Фробениуса (см. /41, стр. 323/). Если матрица В неотрицательная и неразложимая, то среди ее харак- теристических чисел есть простой корень X, причем все остальные корни по модулю строго меньше X. Неотрицательность матрицы В запретных биграмм очевидна. Напомним, что матрица называется неразложимой, если ее путем пе- рестановки строк и столбцов с одинаковыми номерами нельзя привести к ВИ- ДУ <Р 0> J R>
198 где Р и R - квадратные ненулевые матрицы, а элементы подматрицы Т могут быть произвольными. Неразложимость матрицы В следует из ее связи с от- крытым текстом. Степень разложимой матрицы имеет аналогичный вид. Если бы матрица В была разложима то нашлись бы bg(L), которые равнялись бы нулю при любом L, то есть переход от знака г к знаку] невозможен ни за ка- кое число шагов L. Это обстоятельство, очевидно, не соответствует природе открытого текста, и поэтому матрицу В можно считать неразложимой. Таким образом, матрица В удовлетворяет всем условиям теоремы Фробениуса и, следовательно, имеет простое максимальное по модулю харак- теристическое число X. Матрица называется ациклической, если ее путем перестановки строк и столбцов с одинаковыми номерами нельзя привести к виду ' О Т1,2 0 ' О . о О . . Тг-1,г ’ Jr,l 0.0/ где все диагональные элементы - нулевые квадратные подматрицы, а все мат- рицы Т1,2; Т2,3;..., Тг-1,г; Тг,1, стоящие над’главной диагональю, - ненуле- вые. В противном случае, матрица называется циклической. Цикличность матрицы В влечет наличие таких знаков г и], что переход из г в] в открытом тексте возможен лишь за число шагов, кратное г. Последнее не характерно для открытого текста, в связи с чем матрицу В считают ациклической. Из формулы Перрона (см., например, Романовский В.И., «Дискретные цепи Маркова») следует, что асимптотически при L—>ос имеет место соотно- шение bg(L)= с/, гj е {1,2,... ,п}, где Сд от L не зависят. Воспользуемся этим соотношением для получения при- ближенного значения v|/(L). Так как y(L)= Vi(L)+\|/2(L)+. .-Vn(L), то при L—>сс п п п п V(L)=££v,(2)cdXL-2=XL-2 ££ч>г(2)Сг;- j=l r=l j=l r=l Двойная сумма не зависит от L, поэтому, обозначив ее через С, получим \|/(L)«CA,l'2, откуда следует, что
199 .. V(L+1) lim ---------'—x. L->co V(L) Таким образом, вычисляя непосредственно числа \р(2), \р(3),... и рас- сматривая их последовательные отношения, можно вычислить X с любой сте- пенью точности. Пусть для достижения нужной степени точности пришлось подсчитать у(2), \р(3),..., 1|/(к). Тогда для L>k имеем приближенную формулу V(L)«v(k)XLk. Разделив полученное число на nL, получим приближенное значение вероятно- сти (3-ошибки 2-го рода. При произвольном значении m метод подсчета вероятности р полно- стью аналогичен предыдущему. С ростом m резко возрастает объем вычисли- тельной работы, связанной с определением числа X, так как порядок матрицы запретных m-грамм с ростом m возрастает по показательному закону. ПРИМЕР. Пусть для русского языка запретными буквами выбраны: Ф,Ц,Щ, Э. Тогда р®0,01. Q=h/N=4/30®0,133. При L=100 получим а»0,64, Р»0,63-10'6. При L=50 получаем а«0,40, р«0,79-10’3. Заметим, что в итальян- ском языке очень редко используются 5 знаков латинского алфавита: J,K,W,X,Y, суммарная вероятность которых р«0,003, в то время как Q=5/26«0,192. Для этого случая критерий работает намного лучше. Если для русского языка выбрать 376 самых редких биграмм то их суммарная вероят- ность составит р«0,0093, при этом Q=376/900«0,416. Непосредственный под- счет дает у(2)=524, \р(3)=10416,\|/(4)=203587 и т.д. Последовательные при- ближения, значения X имеют вид 19,8778, 19,5456, 19,6030. Положив Х= 19,60 получаем при L=100 а»0,61, р»4,45-10’17. Среднее число знаков, на котором срабатывает критерий. Рассмотрим критерий запретных знаков, ш=1. Пусть £, - случайная ве- личина, принимающая значения номера знака, на котором сработал критерий при проверке случайного текста, % g {1,2,... ,L}. Событие ^=к означает, что на первых к-1 местах в случайном тексте имеются незапретные знаки, а на к-ом месте впервые появился один из запретных знаков. Учитывая независимость знаков случайного текста, получим P(£=k)=(1-Q)k1Q, k<L.
200 Согласно правилу, определяющему действие критерия, его работа заканчива- ется на L-ом шаге принятием гипотезы НО или Н1, если на первых L-1 местах стояли незапретные знаки. Следовательно, P(^=L)=(1-Q)l1. Математическое ожидание Efi, случайной величины 4 подсчитывается непосредственно Е^= ]Tk(1-Q)k-1Q +L(1-Q)l1. K=1 Используя обозначение (1-Q)=x и формулы l-xL . .t 5 fl-xL>| -Lxl'1(1-x) + (1-xl) ------= l+x+...+x и -— ------- =--------i------------- 1-x 5x 1-x J (1-x)2 получаем ГЛАВА 4. ТЕОРЕТИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ. ТЕОРЕТИКО-ИНФОРМАЦИОННЫЕ МО- ДЕЛИ ШИФРОВ Возникновение современной математической теории информации связано с работами К. Шеннона (см. /Шен/). В основу этой теории положено количе- ственное определение информации через вероятностные характеристики про- цесса образования данного вида информации. Наиболее важные практические приложения теории информации заложены в определении пропускной спо- собности канала связи с шумом. Понимая под шифрованием передачу откры- того сообщения по некоторому каналу связи с шумом, можно использовать ряд общих результатов теории информации (относящихся к вычислению про- пускной способности канала связи) в оценке возможности восстановления этого сообщения по шифрованному тексту.
201 Параграф 4.1 Основные понятия и теоремы математической тео- рии информации Ограничимся случаем дискретной информации, где сообщение, по- длежащее передаче через канал связи, состоит из последовательности дискре- тных символов, каждый из которых выбран из некоторого конечного множес- тва (алфавита) букв сообщения. В случае непрерывной информации рекомен- дуем прочитать пособие Ю.С. Харина, В.И. Берника, Г.В. Матвеева «Матема- тические основы криптологии», Минск, БГУ, 1999, 319 стр. Энтропия конечной вероятностной схемы Пусть задана конечная вероятностная схема J 1 2 ... п Л 1р(1) Р(2) - Р(п)/ 1,2,.. ., а,..., п - исходы (буквы, сообщения) вероятностной схемы из множес- тва (алфавита) А= {1,2,..., а,..., п}, р(1), р(2),..., р(а),..., р(п) - вероятности п этих сообщений, 2>)=i. а=1 Основоположником теории численной оценки меры неопределенности вероятностных схем является американский инженер и математик Клод Шеннон. Ниже приводятся его основные идеи в решении данной задачи. . , Если имеется такая мера (обозначим ее через Н=Н(А)= =Н(р(1),р(2),...,р(а),...,р(п)), то разумно аксиоматически потребовать, чтобы она обладала следующими свойствами: 1) Н должна быть непрерывной относительно р(а), аеЛ; 2) Н должна быть симметрична относительно своих аргументов (т. е. Н(р(1),р(2),..., p(n))= H(p(ii),p(i2),..., p(in)) для любой перестановки индексов); 3) если выбор распадается на два последовательных выбора, то первона- чальная Н должна быть взвешенной суммой индивидуальных значений Н, т. е. при р(1)+р(2)>0 справедливо тождество: Н(р(1),р(2),..., р(п))= =Н(р(1)+р(2),р(3),...,р(п))+ (р(1)+р(2)) Н( Р(1) , - ) р(1) + р(2) р(1) + р(2) Смысл третьего свойства иллюстрируется на следующем рисунке:
202 1/3 2/3 Т Т . •-> 1/6 • -> 1/2 *->1/3 Ф ф 1/2 1/2 Слева имеются три возможности р( 1 )= 1/3, р(2)=1 /6, р(3)=1/2. Справа проводится выбор сначала между двумя возможностями, причем каждая име- ет вероятность 1/2, и в случае осуществления первой возможности производи- тся еще один выбор между двумя возможностями с вероятностями 2/3 и 1/3. Окончательные результаты имеют те же самые вероятности: р(1)=1/2х2/3=1/3, р(2)=1/2х1/3=1/6, р(3)=1/2, как и прежде. В этом конкретном случае по свойс- тву 3 требуют, чтобы Н(1/3,1/6,1/2)=Н(1/2,1/2) + у Н(2/3,1/3). Весовой множитель 1/2=(р(1)+р(2)) введен из-за того, что второй выбор осу- ществляется в половине случаев. Оказывается, что приведенные три условия с точностью до постоянно- го коэффициента «с» определяют функцию Н(р(1),р(2),..., р(п)): п Н(р(1),р(2),..., р(п))= -с ^р(а) logd р(а), а=1 где c=const>0. Выбор константы равносилен выбору основания d логарифма, а ее значение и значение основания можно трактовать как определение масшта- ба единицы количества неопределенности. Таким образом, окончательное вы- ражение для Н имеет вид Н(р(1),р(2),..., р(п))= - ^р(а) l°gp(a) > а=1 при оговоренном основании логарифма. Определение. Количеством информации (неопределенности) в со- общении а gA называется число h(a), определяемое соотношением h(a)= - log р(а). Определение. Среднее значение количества информации п ’ . Н(А)—£p(a)logp(a) (1) а=1 называется энтропией конечной вероятностной схемы. Термин количество информации Н применяют исходя из предположе- ния, что произошла реализация (некоторый исход) в вероятностной схеме, в
203 результате чего мы получаем информацию об исходе реализации вероятност- ной схемы, мера неопределенности Н употребляется в связи с измерением неопределенности возможных не реализованных исходов вероятностной схе- мы. Не придавая житейского смысла этой величине, а имея в виду математи- ческую формализацию Н, говорят об энтропии вероятностной схемы. Отметим, что при использовании десятичных логарифмов, что обеспе- чивает удобство расчетов с помощью таблиц, в качестве единицы количества информации (неопределенности) принимают энтропию равновероятной схе- мы с 10 исходамй (р(а)= 1/10, ае 1,10), так как 10 1 1 Н=-У—1g—=1. at! ю ю Чаще за единицу неопределенности принимают неопределенность, со- держащуюся в альтернативном ответе «да-нет», соответствующему вероятно- стной схеме (р(1)=1/2, р(2)= 1/2). В этом случае основание логарифма должно быть равно двум: H=-<ilog2|+i log2i)=1' Эту единицу называют «битом», она в 3,32=log210 раза меньше деся- тичной единицы измерения информации. Из определенйя энтропии конечной вероятностной схемы следует, что она всегда неотрицательна: Н(р(1),р(2),..., р(п))>0. Важное свойство энтропии конечной вероятностной схемы (р(1),р(2),..., р(п)) заключается в том, что она максимальна й равна logn при р(а)=1/п, ае 1,п. Минимального значения энтропия достигает на вероятностной схеме, где имеется сообщение с вероят- ностью, равной единице. Неравенство (k£H(A)£logn позволяет качественно толковать понятие ,энтропия как. меру неопределенности в эксперименте с возникновением того или иного случайного сообщения. Использование численной меры неопределенности Н(р(1),р(2),..., р(п)) вероятностной схемы оказалось очень удобным для весьма многих целей. От- метим, однако, что эта мера не претендует на полный учет всех факторов, оп- ределяющих «неопределенность опыта» в любом практическом смысле, так как приведенная мера неопределенности зависит лишь от значений вероятно- стей р(1),р(2),..., р(п) различных исходов, но вовсе не зависит от того, каковы сами эти исходы - являются ли они в некотором смысле «близкими» один к другому или очень «далекими», насколько различны или одинаковы послед- ствия этих исходов.
204 Ранее мы отмечали, что Основание, по которому берется логарифм в определении энтропии, влияет на единицу измерения количества информа- ции. Всюду ниже, если не оговорено противное, будут использоваться двоичные логарифмы. Объединенная энтропия двух конечных схем. Условная энтропия. Рассмотрим наряду со схемой fl 2 - п А 1р(1) Р(2) - p(n)J’ схему fl 2 ... m В= lq(i) q(2) ... q(m)J Схемы А и В могут быть зависимы между собой в том смысле, что для вероятности р(а,Ь) одновременного выполнения событий а, b выполняется не- равенство: p(a,b)^p(a)q(b). Рассмотрим объединенную схему С=АВ вида Г (11) (12)... (ab) tp(ll) р(12)... p(ab) (пт) Л Р(пт)> Р(а)= X Р(аЬ) ’ Ч(ь)= 2 Р<аЬ) • Ь=1 а=1 Определение. В соответствии с определением (1), энтропия Н(АВ)= - £ p(ab) log p(ab) а,Ь называется энтропией объединенной схемы АВ. Обозначая через p(b/a)=p(ab)/p(a), ЬеВ условные вероятности сообще- ний схемы В при условии сообщения а, можно рассмотреть ряд «условных» вероятностных схем ( 1 2 ... m В/а 1р(1/а) р(2/а) ... p(m/a)J‘ Для каждой из этих схем согласно (1) можно определить энтропию H(B/a)=-^p(b/a)log p(b/a). Ь=1 Определение. Среднее значение Н(В/А)=^р(а)Н(В/а) = -^р(а) ]£p(b/a)logp(b/a) (2) а=1 а=1 Ь=1 называется условной энтропией схемы В при условии схемы А.
Взаимная информация между вероятностными схемами. Исходя из установленного выше понятия энтропии как меры неопре- деленности случайного сообщения, введем меру количества информации о сообщении «а», содержащемся в сообщении «Ь», как разность между количе- ством неопределенности (априорной) в сообщении «а» и количеством не- определенности в сообщении «а» при известном сообщении «Ь». Определение. Количеством информации о сообщении «а», содер- жащемся в сообщении «Ь», называется величина i(ab)=h(a)-h(a/b)=log2p(a/b)/p(a). Определение. Среднее значение 1(АВ)= 22 p(ab)i(ab) = 22 P(ab) log2 (р(а / Ь) / р(а)). а>ь а,Ь называется взаимной информацией между А и В. Введем в рассмотрение вероятностную схему В с вероятностями исхо- дов q(b)=22p(a)p(b/a) а \ Тогда величину 1(АВ) можно выразить через энтропийные характеристики следующим образом: 1(АВ)=Н(А)-Н(А/В)=Н(В)-Н(В/А). Свойства энтропии. 1. Н(В/А)= Н(АВ) - Н(А). (3) Действительно, Н(В/А)= ~£р(а)р(ь/а) log2[p(b / а)р(а)р-1 (а)]=- 22 Р(Ь / а)р(а) log2 p(b / а)р(а) + а,Ь а,Ь + 22 P(ab) log 2 р(а) =Н(АВ) - Н(А). а,Ь 2. Н(В/А)<Н(В), (4) Нетрудно показать, что выполняется неравенство 1пх-х+1<0. Действи- тельно, для функции f(x)=lnx-x первая производная f '(х) = 1 / х -1 обращает- ся в 0 в точке х=1, причем f(l)=0, a f "(х) = —1 / х2 <0 для всех х>0. Следова-
206 тельно, f(x) имеет единственную! точку максимума при х=1. Для двоичного логарифма имеем: log2X=lnx/ln2=(x-1 )log2e. Тогда m H(B/A)-H(B)=-^pid log2 p(j/i) + £qj log2 qj = i.j j=l “ZPm 1о^2 P0Z + 1o§2 % = i,j i.j p^-1 ln2 e = 0 =Lpi,jlog2 ..... P(j/O 3. Пусть на алфавите А вероятностной схемы А задано отображение ф(.) в множество С. Это отображение определяет вероятностную схему С с алфавитом С, для которой р(с)= У*р(а). Тогда выполняется неравенство а:<р(а)=с Н(С)<Н(А), и знак равенства имеет место в том случае, когда отображение ср(.) обратимо. Легко видеть, что условное распределение р(с/а)=1, если ф(а)=с и р(с/а)=0 в противном случае. Следовательно, Н(С/А)=0. Далее, нетрудно про- верить, что Н(С)-Н(С/А)=Н(А)-Н(А/С) ... : и, следовательно, Н(С)+Н(А/С)=Н(А)+Н(С/А). Тогда, Н(С)< Н(С)+Н(А/С)=Н(А)+Н(С/А)= Н(А) и равенство имеет место в том случае, когда отображение ф(.) обратимо и Н(А/С)=0, Н(С)=Н(А). 4. Н(АВ)<Н(А)+Н(В), причем равенство достигается в том и только в том случае, когда А и В независимы. Это свойство непосредственно следует из свойств 2 и Если мы имеем A(L-AjA2...Al- m независимых объединений схемы А, то H(A(L))=- £p(a1a2...aL)log2 p(a1a2...aL) = ata2...aL =" Z P(ai)P(a2) -P(aL)Z log2 p(ak)=LH(A) &ia2...aL k и в этом случае
207 -H(A(L)) = H(A). L Смысл введенного понятия энтропии становится ясен из следующих двух теорем Шеннона, относящихся к созданию сообщений с помощью неза- висимых испытаний из конечной вероятностной схемы А. Теоремы Шеннона. Обозначим через Al последовательность aja2...aL, полученную с по- мощью независимых испытаний из конечной вероятностной схемы (12 •" п А 1р0) Р(2) - P(n)J’ P(Al)= р(а। )р(а2 )...p(aL) - вероятность последовательности AL. Оказывает- ся, что при больших L все последовательности (за исключением сколь угодно малой их доли) имеют приблизительно одинаковую вероятность, величина которой зависит от энтропии Н(А). Качественное объяснение этого факта дос- таточно простое. Так как символы в последовательности AL независимы, то п энтропия на символ текста равна Н(А)= -^р(а) log2 р(а). Предположим, а=1 что рассматривается длинное сообщение, то есть L велико. Тогда последова- тельность Al будет, так сказать, «с большой вероятностью содержать p(a)L раз» символ ае 1,п . Вероятность конкретной последовательности AL есть P(Al) = Пр(а)'' а=1 где va - частота буквы «а» в последовательности AL. Заменяя va на p(a)L, по- лучаем «приближенное равенство» п P(AL)£[[p(a)W, а=1 п a log2 P(Al) =L ^2 Р(а) l°g2 Р(а) =-LH(A), откуда а=1 1 Н(А>----- Это приближенное равенство остается верным и для любого стацио- нарного источника (стационарной последовательности). Распространение ука-
208 занного утверждения на цепь Маркова осуществил Хинчин А.Я., а на произ- вольный стационарный источник - Макмиллан. Пусть, как и прежде, А={1,2,...а,...п} - конечное множество исходов, соответсвующее вероятнос- тной схеме ( 1 2 ... п А 1р0) Р(2) - р(п)> Первая теорема Шеннона. Для любых £ > 0, д > 0 существует Ц такое, что при любом L > Lo множество Al всех последовательностей длины L алфавита А разбиваются на группы (Al)* и (Al)“ такие, что 1) для любой ALe(AL)* r10gj?(b'H(A)<,1; 2) £P(AL)<6. ALe(ALr ДОКАЗАТЕЛЬСТВО. Нетрудно видеть, что P(Al) = Пр(а)'-, а=1 где va - частота буквы «а» в последовательности AL. Отнесем к первой группе (Al)* те и только те последовательности AL, в которых |v,-Lp(a)|<L8 для некоторой 5>0. Ко второй группе отнесем все остальные последователь- ности. Покажем, что при достаточно большом Lo это разбиение удовлетворя- ет обоим условиям теоремы. Действительно, для AL е (AL)* P(Al) = flPW1'1*” +LS0‘. |®а| < 1. a = Ci. a=l Отсюда нетрудно показать, что Tlog2 - Н(А) = 0а log2 р(а). Ь а=1
209 Следовательно, Г|<>8=йЬ’Н<А,1<8?;'08’^)' Полагая 5 = n к получаем первое утверждение теоремы. Рассмотрим вторую группу (AL)**. Нетрудно видеть, что вероятность P((AL)") = P(Ujv. -Lp(a)| > LS}) < £p(|v„ -Lp(a)|> L8). a=l a=l По неравенству Чебышева оЛ т ( чК т sn LP<a)(l - Р(а)) P(|Vi - Ьр(а)| > L5) <--------, откуда следует, что P((Al)")<-^-. L62 Полагая L0=n/82£, получаем второе утверждение теоремы. Следствие. Если L>L0, то для любой Alg(Al)* выполняется неравенс- - L(H(A) + Л) < log, P(AJ < -L(H(A) - n). Таким образом, при достаточно больших L вероятность каждой по- следовательности из (AL)* (за исключением последовательностей весьма ма- ловероятного класса) заключена между 2'L(H+>1> и 2'цн'>1>. Важно бывает знать мощности обоих групп последовательностей (см. первую теорему Шеннона). В частности, возникает вопрос о числе «наиболее вероятных» последовательностей, вероятности которых приблизительно рав- ны 2“LH(A). Занумеруем все последовательности AL в порядке убывания их вероя- тностей: Р(А^) > Р(А[2)) >... > P(A[N)), N = nL. Выберем X, 0<Х<1. Пусть NL(X) - число последовательностей, опре- деляемых из неравенства Nl(X)-1 Nl(X) • Z Р(А“)<Х< 2>(А<»), к=1 к=1
210 В это число войдет некоторое число последовательностей Al второй группы, у которых P(Al)>2L(H(A)-t|), но в основном оно определяется после- довательностями первой группы. Вторая теорема Шеннона. Для любого фиксированного значения X, 0<Х<1 справедливо соотно- шение lim£log2NL(X) = H(A). ИМЕННО В ЭТОМ СМЫСЛЕ ПИШУТ, что NL(X)=2LH(A). Как следует из формулы, этот предел не зависит от X и поэтому можно полагать X сколь угодно близким к 1, Х=1-Д и тогда nL-NL(l-A) есть число последовательнос- тей, вероятность появления которых в результате реализации нашего случай- ного процесса получения последовательностей пренебрежимо мала, то есть практически невозможных последовательностей. Доказательства приведенных теорем обычно даются в курсе матема- тической теории информации. Таким образом в .первой и второй теоремах Шеннона устанавливаете! замечательное свойство «равнораспределенности» длинных сообщений, по- рождаемых независимыми испытаниями схемы А. Это свойство устанавливает, грубо говоря, тот факт, что всего та- ких сообщений Nl«2LH(A) и все они приблизительно равновероятны. Можно ли установить похожее свойство для осмысленных сообщений, которые, очевидно, не порождаются независимыми испытаниями? Для этого необходимо,, во-первых, ввести математическую модель ос- мысленных сообщений, а во-вторых, определить, в соответствии с (1), энтро- пию на одну букву осмысленного сообщения. В качестве математической мо- дели осмысленных сообщений обычно рассматривают последовательности, получаемые с помощью так называемых марковских процессов. Среди таких процессов имеется важная группа процессов называемая стационарными эр- годическими процессами. В таких процессах каждая создаваемая процессом последовательность имеет одни и те же статистические свойства. Поэтому относительные частоты различных комбинаций исходов (букв, биграмм и т. п.), полученные из частных последовательностей будут стремиться с увели- чением длин последовательностей к определенным пределам, не зависящим от этих частных последовательностей. Таким образом, для эргодического процесса возможно отождествление средних значений различных комбинаций исходов вдоль некоторой последовательности со средними значениями по ан-
211 самблю возможных последовательностей (причем вероятность расхождения равна нулю). Параграф 4.2 Стационарные эргодические, модели содержатель- ных сообщений В этой модели открытые (содержательные) сообщения AL= a t а 2... a L представляются отрезками реализаций стационарной эргодической случай- ной последовательности. Случайная последовательность называется стацио- нарной, если распределение вероятностей отрезка этой последовательности ai+iai+2---ai+k не зависит от i при любом конечном значении к. Если на отк- рытые сообщения не накладывается никаких регламентирующих ограниче- ний, то с большой уверенностью можно считать, что указанное свойство бу- дет для них выполняться. Эргодичность случайной последовательности, пред- ставляющей осмысленное сообщение, означает, что для любых двух отрезков текста осмысленного содержания в потоке осмысленных сообщений найдется сообщение, которое содержит в себе оба этих отрезка. Это свойство также не противоречит нашим представлениям о характере взаимосвязей в последова- тельности знаков осмысленных сообщений. Зададим распределение вероятностей P(Al) на последовательностях AL=a,a2 ...aL для всех L>0 с учетом заданных условных вероятностей Р(а/Аы)=Р(АЬ1а)/Р(Аы). В соответствии с формулами (1) и (2) (см. параграф 4.1) можно ввести в рассмотрение энтропию объединенной схемы А^ A j А 2... A L H(A(L>)=-£P(AL)log2P(AL), al которую называют энтропией отрезка последовательности длины L. Из рассмотренных ранее свойств энтропии имеем 0< Н( A(L) )<log2nL=Llog2n. Отношение Н( A(L) )/L называют средней энтропией, приходящейся на одну букву набора а ] а 2... a L. При этом всегда 0< Н( A(L) )/L<log2n ДОКАЖЕМ теперь, что существует предел ' r H(A) = lim~H(A(L)). L—>°о L
212 Рассмотрим условную энтропию Н(А/А|М )= - 2Р(А, )£р(а/ AL1)log2 Р(а/ At_,). AL-i а Аналогично доказательству неравенства (3) (параграф 4.1), можно по- казать, что для любого L H(A/A(L))<H(A/A(L-1)). Далее, легко убедиться, что Н( A(L+1) )=Н( A(L) )+Н(А/A(l) )<Н( A(L) )+Н(А/A(L-1)) И Н( A(L) )=Н( А1)+Н(А/А1)+Н(А/А1А2)+...+Н(А/ A(L-I) )> LH(A/A(L-1)). Отсюда следует, что и Таким образом, последовательность y H(A<L))npH L—>оо является невозрастающей последовательностью, ограниченной снизу нулем. Следова- тельно, существует предел Н(А) =? lim — Н( A(L)). L->°° L Определение. Предел Н(А) = 1шД H(A(L)). L—>ао L называется энтропией эргодического источника сообщений на одну букву или энтропией, приходящейся на одну букву в бесконечных наборах (с уче- том стационарной эргодичности их получения). Свойство «равнораспределенности» для эргодических источников. Это свойство формулируется следующим образом. Для любого 8>0 Р 7 log 2 P(Al)-H(A) JL/ > е I —> 0 при L —> оо.
213 Иными словами, утверждается, что при больших L все множество по- следовательностей AL, также, как и в независимом случае, можно разбить на два непересекающихся подмножества (AL)* и (AL)“, которые обладают сле- дующими свойствами: . _ - для любой Alg(Al)* вероятность P(Al)«2‘l Н(А), - суммарная вероятность P((AL)*‘)—> 0 при L —> оо. Таким образом, распределение P(AL) оказывается фактически сосредо- точенным лишь на множестве (AL)*, причем входящие b_(Al)* последователь- ности почти равновероятны, а их число почти равно 2L ^(А) Отдельно стоит вопрос об оценке величины Н(А) . В некоторых уче- бных курсах теории информации доказывается, что для стационарных слу- чайных последовательностей предел Н(А) совпадает с условной энтропией знака последовательности, при условии, что известна вся предыдущая после- довательность, то есть с «неопределенностью» очередной буквы последова- тельности. Формально, последняя неопределенность записывается как lim H(aL/ai,a2,...,aL-i) при L->oc. Все вышеизложенное (в частности, формулы) для абстрактной ста- ционарной последовательности ИСПОЛЬЗУЕТСЯ для последовательности букв открытых (содержательных) текстов. При этом не учитываются неста- ционарности в их началах и концах. Из вероятностных свойств открытых тек- стов следует, что непосредственный расчет значений Н( A(L)) и H(aL/ai,a2,...,aL.i) возможен для небольших значений L. Для больших значений L известны лишь косвенные методы их оценок. Например, К. Шеннон предла- гал метод оценки H(at/ai,a2,...,ац) основанный на задании случайно выбран- ных L-значных отрезков открытого текста и отгадывании L+1 буквы. При этом замечено, что с увеличением L до 20-30 величина H(aL/ai,a2,...,aL-i) за- метно убывает. Другой метод оценки предельной энтропии связан с некото- рой характеристикой языка, называемой его избыточностью. Этот термин возник в связи с тем, что каждая буква сообщения, при условии что буквы по- являются в нем случайно, равновероятно, независимо могла бы нести инфор- мацию, равную Hmax=log2n, где п - число букв в алфавите. В это же время сре- дняя энтропия Н буквы в обычном открытом тексте, как показывают экспери- ментальные расчеты, значительно меньше, и, следовательно, величина Нтах - Н характеризует неиспользованные возможности в «сжатии» информации, содержащейся в открытом тексте. Величину Нтах-Н , Н КЧ_ Шал______ __ 1_______ ТТ TJ Г1тах птах
214 называют избыточностью языка, а величину Н/Нщах - коэффициентом сжа- тия. Избыточность языка показывает, какую часть букв открытого текста можно вычеркнуть до наступления нечитаемости сообщения. На основе таких экспериментов и оценивают избыточность D открытых текстов, откуда полу- чают оценку Н H=(l-D)Hmax=(l-D)log2n, п - мощность алфавита открытых текстов. Представление о величине энтропии и избыточности различной инфо- рмации на русском (Hmax=log232=5) и французском (Hmax=log226=4,7) языках дает следующая таблица. Н бит/буква Русский язык Н бит/буква Французский язык D в процен- тах Русский язык D в процен- тах Французский язык Язык в целом 1,37 1,40 72,6 70,6 Разговорная речь 1,40 1,50 72,0 68,4 Литературные тексты 1,19 1,38 76,2 71,0 Деловые тексты 0,83 1,22 83,4 74,4 Принято считать, что для литературного текста Н=1 дв.ед, для деловой переписки Н=0.5-0.7 дв.ед. В заключение отметим, что основное свойство равнораспределенно- сти осмысленных сообщений будет ниже использовано для решения ряда задач. Параграф 4.3 Энтропии шифртекста и ключей. Расстояния един- ственности для открытого текста и ключа. Теоретическая стойкость шифров Ненадежности открытого текста и ключа. Шифр шифрования (M,K,E,f) включает в себя два вероятностных вы- бора: выбор открытого сообщения хеМсХ и выбор ключа х^К. Тем самым
215 определена вероятностная модель шифра шифрования. Количество информа- ции, создаваемой при выборе открытого сообщения, измеряется величиной Н(М)=- ^p(m)log2p(m). meM Аналогично, неопределенность, связанная с выбором ключа, дается выраже- нием H(K)=-2}p(x)log2p(x). ХеК Неопределенность сообщения, так же как и неопределенность ключа могут изменяться, когда имеется возможность наблюдать криптограмму - шифрованный текст ееЕ=£(МхК)сУ (Е - образ МхК при отображении f) . Эту условную неопределенность естественно измерять условной энтропией. Н(М/Е)= - p(m, е) log2 р(т / е), (т,е)еМхЕ Н(К/Е)=- Xp(e,x)l°g2P(x/e)- (е,х)еЕхК Введенные условные энтропии Шеннон назвал ненадежностью от- крытого сообщения и ключа. Эти ненадежности используются в качестве теоретической меры секретности. В качестве обоснования такого использо- вания можно привести следующие рассуждения. Если ненадежность сообще- ния (ключа) равна нулю, то отсюда следует, что лишь одно сообщение (один ключ) имеет единичную апостериорную вероятность, а все другие - нулевую. Этот случай соответствует полной осведомленности дешифровальщика о со- общении (ключе). Действительно, пусть Н(М/Е)=- ^p(m,e)log2p(m/e) =0. (ш,е)еМхЕ Тогда при любых (т,е) е МхЕ p(m,e)log2p(m/e)=0. Выберем такие (т,е) для которых существует ключ Х(т,е)=Х6К такой, что хт=е. Для таких пар имеем р(т,е)>0, следовательно, из предыдущего ра- венства получаем log2p(m/e)=0, то есть р(ш/е)=1. Таким образом, по шифртек- сту ш открытый текст е восстанавливается однозначно. Приведем некоторые формулы для ненадежности ключа и открытых сообщений. Рассмотрим вероятностные схемы, определенные на М, К, Е и совместную энтропию Н(М,К,Е). По правилам сложения энтропий имеем Н(М,К,Е)=Н(М,К)+Н(Е/М,К)=Н(Е,К)+Н(М/Е,К).
216 Но Н(Е/М,К)=0, так как условия полностью определяют событие Е. Кроме того, Н(М/Е,К)=0, так как в шифре выполняется свойство однозначного рас- шифрования. В связи с чем Н(М,К,Е)=Н(М,К)=Н(Е,К). Так как ключ и открытое сообщение в вероятностной модели шифра выбира- ются независимо, получаем Н(М,К)=Н(М)+Н(К). Кроме того, Н(Е,К)= Н(Е)+Н(К/Е). Отсюда получаем формулу для ненадежности ключа Н(К/Е)=Н(М)+Н(К)-Н(Е). Из этой формулы следует: если Н(М)=Н(Е), то Н(К/Е)=Н(К) и наобо- рот. Формула для ненадежности сообщения получается аналогичным образом. Именно, имеем Н(М,Е)= Н(Е)+Н(М/Е)=Н(М)+Н(Е/М), откуда Н(М/Е)=Н(М)+Н(Е/М)-Н(Е). Используя тот факт, что уменьшение объема известных сведений мо- жет лишь увеличить неопределенность, получаем соотношения Н(М/Е)<Н(М,К/Е)=Н(К/Е)+Н(М/Е,К)==Н(К/Е)<Н(К). В последнем равенстве Н(М/Е,К)=0. Ниже мы покажем, что для совершенных шифров, то есть шифров, для которых p(m/e)=p(m) при любых (т,е) (см. параграф 1.3) выполняется равен- ство Н(М/Е)=Н(М), и полученное выше неравенство говорит о том, что для них неопределенность секретного ключа всегда не меньше неопределенности шифруемого текста. Учитывая связь Н(К) с возможностью кодировки множества клюйей," заключаем, что для совершенных шифров средний «размер» секретного клю- ча не может быть меньше «размера» открытого текста. Следовательно, для таких шифров число ключей растет вместе с ростом длины передаваемых со- общений. Напомним, что примером совершенного шифра является шифр гам- мирования. При шифровании двоичного сообщения m=mi,m2,...,mLnpH слу- чайном и равновероятном выборе ключа - двоичной гаммы длины L имеем p(m/e)=2'L при всех т,е. Теорема. Шифр (M,K,E,f), где E=f(MxK) является совершенным тогда и только тогда, когда Н(М/Е)=Н(М). ДОКАЗАТЕЛЬСТВО. Имеем Н(М/Е)-Н(М)= - p(m, e)log2p(m / е) + £ p(m)log2p(m) = т,е т
217 = -SP(m’e)log2P(m/e) + X Ep(m’e> log2p(m) = m,e m L e = - S P(m’ e)log2P(m / e) + 2 E P<m’ e)loS2P(m) = m,e m e = - S E P(m’ e)(log2 p(m / e) - lo§2 p(m)) = m e =E E p(m’ e)( log2 p(m» - lo§2 p(m / e))= m e =SEp(m>e)log2(-777)= E p(m,e)log2^^-. . p(m/e) (m>e):J^>e)*0 p(m/e) Если шифр совершенный, то p(m/e)=p(m) при всех парах (ш,е). В част- ности, для пар (т,е), при которых р(т,е)*0, выполняется равенство log2_E<5L = o. p(m/e) Следовательно, Н(М/Е)=Н(М). . Предположим теперь, что Н(М/Е)=Н(М), то есть 2 P(m,e)log2 ^\=0- (m,e):p(m,e)*0 р(ш/е) Тогда p(m)=p(m/e) для пар (m,e): р(т,е)^0. Для доказательства совершенности шифра достаточно показать, что р(ш,е)?Ю при любой паре (ш,е)еМхЕ. Докажем это. Для любого теМ найдется е=е(т) с условием р(т,е)*0. Имеем р(т) = j} р(т, е) = р(е)р(т / е) = Р(е)р(т/е) = е е е:р(т,е)*0 e:p(m,e)*O так как p(m)=p(m/e) для пар (m,e): p(m,e)#O. Откуда получаем: EP(e)=i . Это равенство возможно лишь при суммировании по всем е:р(т,е)*0 ееЕ, так как, по условию теоремы: E=f(MxK), и поэтому р(е)*О при любом ееЕ.
218 Следовательно, р(ш,е)*0 при всех ееЕ, а так как m выбиралось про- извольным, то р(т,е)*0 при любой паре (т,е)еМхЕ, что и оставалось нам показать для завершения доказательства необходимости условий теоремы. Расстояния единственности для открытого текста и ключа. Ниже в данном разделе будут рассматриваться лишь поточные шифры (M,K,E,f) с заданными вероятностными распределениями на М и К. Напомним, что поточный шифр определен опорным шифром и соот- ветствием между ключами и ключевыми последовательностями. Будем пред- полагать. что M=IN, где I - алфавит открытого текста, a f; МхК->Е - сюрьек- тивное отображение EcOL. где О - алфавит шифрованного текста. Наряду с текстом теМ длины N и шифрованным текстом ееЕ длины N мы будем рассматривать их начальные отрезки тг_ и eL длины L<N. Будем считать, что вероятностное распределение на множестве М индуцирует веро- ятностное распределения на начальных отрезках mLeML сообщений m из М. Последнее распределение и вероятностное распределение на ключах К инду- цируют вероятностные распределения на начальных отрезках eLeEi крипто- грамм е из Е и другие совместные и условные распределения. При изучении свойств рассматриваемого шифра будем считать, что N всегда больше рас- сматриваемых нами значений L. В связи со сказанным выше корректно введение и соответствующих энтропий: H(Ml/El)=- £p(mL,eL)log2p(mL/eL), mL’eL H(K/El)= - £ p(eL, X) log2 P(X / eL). eL>X Эти энтропии также трактуются как ненадежности части сообщения и ключа. Отметим, что в поточном шифре множество ключей не зависит от длины L сообщения. Теорема Шеннона. 1. Ненадежность ключа H(K/EL) есть невозрастающая функция от L, то есть при любом L'>L H(K/El)> H(K/El). 2. Ненадежность первых к букв сообщения является невозрастающей функцией от L, то есть при L'>L H(Mk/EL)>H(Mk/EL). 3. При любом L H(K/El)>H(Ml/El).
219 Справедливость утверждений теоремы вытекает из свойств условных энтропий. Напомним, что во второй части параграфа 3.1 мы обсуждали проблему многозначности дешифрования поточных шифров. В данном пункте речь пойдет об условиях однозначного дешифрования шифров. На качественном уровне, под расстоянием единственности шифра по открытому тексту понимают минимальное натуральное число L, при котором по известному шифртексту eL длины L однозначно восстанавливается соот- ветствующее ему открытое сообщение mL. Аналогично, под расстоянием единственности шифра по ключу понимают минимальное L, при котором по известному шифртексту длины L однозначно восстанавливается использован- ный ключ. Такие качественные понятия не вполне точны. Действительно, видимо минимальное L, о котором идет речь (если оно существует), зависит от кон- кретного шифртекста е,' L=L(e). Следовательно, видимо речь должна идти о среднем значении таких минимальных L(e). С другой стороны, для каждого eL можно определить все множество сообщений шь, которые могут быть зашиф- рованы шифром в криптограмму eL. Расстояние единственности шифра по открытому тексту можно определить теперь как минимальное L, при котором среднее значение мощностей этих множеств равно единице. Первое определение Шеннона расстояний единственности шифра. Ранее было показано, что энтропия характеризует некоторый источник информации, в частности, вероятностные модели получения открытых (со- держательных) текстов. Число открытых текстов и их вероятности оценива- ются по фундаментальным теоремам теории информации, теоремам Шеннона, Хинчина, Макмиллана. Аналогичную роль играет и условная энтропия H(ML/EL) - ненадеж- ность части сообщения в вероятностной модели шифра. Она характеризует среднее число текстов длины L, которые могут соответствовать известному отрезку eL шифрованного текста. Именно, Шеннон полагал, что среднее число текстов Шь, которые могут быть зашифрованы в заданный шифртекст, равно R(L)=2 Н(МЛ>, где 2 - основание логарифма в выражении энтропии. Аналогично среднее число (по всем eL) ключей, при которых получается отрезок шифрованного текста (при подходящих выборах mL из М). Согласно, пункту 1 теоремы Шеннона второе из этих значений с рос- том L не возрастает и, в случае существования минимального L, при котором ; это значение становится равным единице, такое L называют расстоянием . единственности шифра по ключу. Аналогично определяют расстояние един-
220 ственности шифра по открытому тексту, именно, как минимальный корень уравнения R(L)=2 Таким образом, расстояния единственности шиф- ра это минимальные корни уравнений R(L)=2 “'“ДЧ, 2h(k/ej=1 относительно L (если такие корни существуют). Некоторые шифры устроены так, что их количество ключей растет с ростом длины L сообщений, например, шифр гаммирования. В этом случае возможна ситуация, когда R(L)—>ос с ростом L. Такие шифры называют асим- птотически стойкими. Для таких шифров при достаточно большом L вели- чина R(L) становится большой и среди R(L) возможных текстов выбрать текст, который был действительно зашифрован в заданную криптограмму, становится невозможным. Второе определение Шеннона расстояний единственности шифра (модель случайного шифра). , Прямой подсчет расстояний единственности шифра (по открытому, тексту и ключу), как правило, затруднителен. В связи с чем для их подсчета используют модель «случайного шифра». Пусть (E,K,X,F) - шифр расшифро- вания для шифра зашифрования, МсХ, где М - все множество содержатель- ных открытых текстов длины N в алфавите I (|1|>2). Предполагается (в этом и заключается случайность модели шифра), что при случайном и равновероятном выборе ключа %еК и расшифровании на нем криптограммы et (L<N) вероятность получить содержательный текст рав- на 2hl |I|L’ где Н - энтропия на букву содержательного текста в алфавите I, 2 - основание логарифма в выражении энтропии. Это число «почти» совпадает с вероятно- стью выбора открытого текста длины L при случайном и равновероятном вы- боре последовательности длины L букв алфавита (2HL - приближенное значе- ние количества открытых текстов). Тогда при расшифровании шифртекста длины L на всех ключах из К мы получим в среднем 2hl |К|—r-=r(L) IHL открытых текстов. Так как H<logi|I|, то отсюда следует, что г(Е)->0 с ростом L. Решая теперь уравнение '
221 2HL относительно L, получаем решение L log2|K| log2|K| ° log, |I|-H Dlog2 |I| ’ „ , H где --------— - избыточность открытого текста. ЗАМЕЧАНИЕ. Величина 9hl |К|77^ t(L) может стремится к бесконеч- ности с ростом L лишь в случае, когда число ключей |К| растет вместе с L, на- пример, для случайного шифра гаммирования (K=IL). Аналогично вычисляется расстояние единственности для ключа. Множество ключей, при которых может быть получен Шифртекст eL, при ус- ловии что мы шифровали лишь открытые сообщения (М - множество откры- тых текстов), совпадает с множеством ключей, расшифровывающих eL в от- крытый текст, вероятность такого расшифрования и, следовательно, вероят- ность получения нужного ключа при опробовании, как было замечено ранее, 2hl равна ;——. Следовательно, величина IIIL 2hl одновременно является и средним числом ключей, соответствующих крипто- грамме длины L. Решение этого уравнения с правой частью r(L)=l относи- тельно L называется расстоянием единственности шифра по ключу. Так как введенные расстояния единственности шифра по открытому т log2|K| log2|K| тексту и по ключу совпадают, то величину Lo=----— = ——- на- log2|I|-H Dlog2|I| зывают расстоянием единственности шифра. Отметим определенную некорректность во введении понятия рас- стояния единственности во втором определении Шеннона. Число содержа- тельных открытых текстов приблизительно равно 2HL, это число получено в предположении, что рассматривается достаточно больше число L. В связи с этим предыдущие равенства следует рассматривать как приближенные. Не-
222 коректность же заключается в том, что одновременно при нахождении рас- стояния единственности (корня уравнения) ищется по существу минимальное L (оно, возможно, будет и небольшим), и тогда нельзя пользоваться прибли- женной формулой 2hl для числа открытых текстов. Второе сомнение в корректности такой формализации понятия рас- стояния единственности шифра может возникнуть из следующих соображе- ний. По логике рассматриваемого подхода «случайного шифра» расшифрова- нию подлежит криптограмма, полученная при некотором открытом тексте и некотором истинном ключе %0. Следовательно, предположение о случайном расшифровании можно относить к ключам из множества К\{%о}» й тогда, имея в виду, что уже имеется один истинный ключ, заведомо дающий откры- тый текст, для среднего значения числа открытых текстов получаем выраже- ние 2hl rXL^l+IK-ll-j-. Следовательно, r'(L) si при 2 HL |К-1|—г=о. HIL Если |К|>2, то это приближенное равенство справедливо лишь для достаточно больших L (чем лучше приближение, тем больше Lo). Тем не менее, расчеты показывают, что значения корней уравнений r(L)=l, r'(L) si приблизительно равны. Приведем пример. Пусть |К|=2100, |1|=32, Н=1 бит. Тогда r(L)=l при LO=25. Если |К|=2104, то r(L)=l при LO=261 Откуда следует, что для 2100<|К|<21<м величина Lo будет находится в пределах 25<LO<26. В частности, в этих грани- цах будет находится и Lo для |К|=2100+1. Рассчитаем теперь для этого |К| вели- чину L'0(t), при которой r'(L)=-^-, то есть решим уравнение 9HL |К-1|—г- IIIL 1 2‘ * Имеем 21оо 2'4L— 1 100 + t откуда t=4L-100. Окончательно получаем L'o(t)=>,—-—. При t=4 получаем
223 L'O(4)=26. Следовательно, для |К|=2100+1 имеем L'O(4)<26. При t=20 получаем L'o(20)=30. Уже есть повод задуматься и предложить другие подходы к под- счету расстояний единственности шифра. Третий подход к формализации понятий расстояний единственно- сти шифра. Рассмотрим уравнение шифрования поточного шифра (M,K,E,f), МсХ, E=f(MxK) f(mL,x)=eL. Пусть I - алфавит открытого Текста, О - алфавит шифрованного текста, mL, eL -начальные отрезки Шифруемого текста m и шифрованного текста е, соответ- ственно. Множество всех возможных отрезков mL обозначим через ML, а множество всех возможных отрезков eL обозначим через EL. В случае |Ol|<|Ml||K| всегда найдется eL, при котором число решений уравнения шиф- рования относительно неизвестной пары (mL,x) больше единицы. За расстоя- ние единственности шифра примем минимальное L, если оно существует, при котором |OL|==|ML||K| (имеется в виду приближенное равенство). Рассмотрим пример. Пусть М - множество содержательных откры- тых текстов, |К|=2100, |1|=|О|=32, Н=1, тогда |ML|=2HL и решение уравнения |0L|=|ML||K| относительно L дает: 25Ls2L2100, 5LSL+100, то есть L=25. Сравните с приведенным выше примером. Одна трактовка второго определения Шеннона расстояний един- ственности шифра. Попытаемся уточнить использованное Шенноном предположение о случайности расшифрования криптограммы. Предположим, что шифр (M,K,E,f), E=f(MxK), ЕсУ выбирается случайно и равновероятно из множест- ва всех шифров такого вида. То есть при фиксированных множествах М - сообщений, У- шифробозначений, из множества всех биекций М в У случай- но и равновероятно выбираются (с возвращением) |К| инъекций {fx :М->У, 1еК). Тем самым случайно выбран шифр A=(M,K,E,f). Для произвольного шифробозначения уеУ и шифра А обозначим че- рез F(A,у) множество всех сообщений теМ, для которых существует х, при котором, Дт,х)=у. При фиксированном уеУ заданное вероятностное распре- деление на шифрах индуцирует вероятностную меру на множестве мощно- стей |F(A,y)|. Утверждение. Среднее значение случайное величины |F(A,y)| равно |кцм| |У|
224 ДОКАЗАТЕЛЬСТВО. Докажем сначала очевидное на интуитивном уровне вспомогательное утверждение: при случайном и равновероятном вы- боре инъективного отображения fx:M—>У вероятность того, что элемент у бу дет принадлежать образу отображения fx, равна • Действительно, число возможных различных образов (Об) инъектив- ного отображения: М-»У равно Cjу|, каждый из таких образов равновероя- тен. Число образов Об(у), содержащих элементу, равно С|у(Ц .Следовательно, P(yefx(M))=£P(y е fx(M)/fx(M) = O6)P(fx(M = Об) = Об е = Об) У'-,', С|У| Об С|У| так как вероятность P(yefx(M)/ fx(M)=O6) равна либо единице либо нулю. Раскроем последнее выражение 1 CIM!-I |М|!(|¥|-|М|)! (|У|—1)! =|М| (ЭД |УН |У|! (| М |-1)!(| Y |-1-| М |+1)! |У| Среднее значение случайной величины |F(A,y)| определяется числом испытаний |К| и вероятностью «успеха» P(yefx(M))= . Среднее значение |F(A,y)| равно |К||М| |У| Беря в качестве М - множество содержательных открытых текстов и полагая |М|=2Н\, а в качестве У беря OL, получаем, что среднее значение слу- чайной величины |F(A,y)| - числа прообразов шифртекста у равно 2hl Из уравнения ?HL |К|-----=1 |O|L
225 находим «новое» расстояние единственности шифра по открытому тексту. Напомним, ито по второму определению Шеннона расстояния единст- венности шифра по открытому тексту для числа открытых текстов мы имели выражение 2hl |K|RTr(L)' Четвертый подход к оценке расстояний единственности шифра. Вернемся к началу раздела, посвященному расстояниям единственно- сти шифра по открытому тексту и ключу. Там отмечалось, что расстояния единственности шифра - это, соответственно, целочисленные минимальные корни уравнений 2^^=!, 2H(K/EL)=1; то есть корни уравнений H(Ml/El)=0 и H(K/El)=0, если они существуют. В разделе «Второе определение Шеннона ...» говорилось о том , что прямой подсчет расстояний единственности шифра, как правило, затруднителен, в связи с чем выше были рассмотрены и другие формализации понятий рас- стояний единственности по открытому тексту и ключу. Ниже, на основе результатов Ю.С. Харина (Ю.С. Харин, В.И. Берник, Г.В. Матвеев «Математические основы криптологии», Минск, БГУ, 1999) даются верхние приближенные оценки указанных корней. Пусть Lo - минимальное натуральное число, при котором H(Ml/El)=0. Имеем H(El,Ml,K)=H(El)+H( Ml/ El)+H(K/Ml,El), H(El,K,Ml)=H(El)+H(K/ EL)+H(Mt/K,EL). Так как при известном шифрованном тексте и известном ключе от- крытый текст восстанавливается расшифрованием однозначно, то H(Ml/K,El)=0. С учетом этого из данных уравнений находим Н( Ml/El)=H(K/El)-H(K/Ml,El) и заключаем, что H(Ml/El)<H(K/El). Следовательно, любая верхняя оценка минимального корня уравнения H(K/El)=0 (расстояния единственности по ключу) будет верхней оценкой и 8 Зак. 5
226 для Lo - расстояния единственности по открытому тексту. Для получения та- кой оценки используем формулу для ненадежности ключа: H(K/EL)=H(ML)+H(K)-H(EL). Найдем одно из натуральных чисел L, при котором H(K/El)=H(Ml)+H(K)-H(El)=O. Имеем H(Mt)^log2|ML| (энтропию измеряем в битах) и H(K)=log2|K| при равновероятном распределении на множестве ключей К. При рассматри- ваемых условиях справедливо неравенство H(Ml)+H(K)-H(El)< log2|ML|+log2|K|-H(EL). Искомую верхнюю оценку величины Lo теперь можно получить, если решить уравнение log2|ML|+log2|K|-H(EL)=0 относительно L. Введем дополнительные предположения относительно рассматри- ваемого шифра. Предположим, что 1) Значение L достаточно велико, именно - оно таково, что мощность . |ML| множества открытых текстов приблизительно равна 2HL и они все равновероятны (см. теоремы Шеннона., Н - энтропия на букву). 2) Вероятностные распределения на Ml и К индуцируют равномер- ное распределение на множестве ElcOl (О - алфавит шифрован- ных текстов. Из предположения 1) вытекает, что log2|ML|=LH, а из 2) получаем H(EL)=log2|EL|. Уравнение log2|ML|+log2|K|-H(EL)=0 теперь можно переписать в виде LH+log2|K|-log2|EL|sO. Представим |EL| в виде |El|=Vl, где V зависит от L, V=V(L). Тогда уравнение принимает вид LH+log2|K|-Llog2VsO. Откуда получаем искомую верхнюю приблизительную оценку расстояний единственности шифра _Н2_|К|_ log2V-H В случае H(Ml)=LH, H(K)=log2|K|, H(El)=L log2|V| имеем L0=L'.
227 При отказе от предположения 2) для вычисления L' используют в ряде публикаций неравенство LH+log2|K|-H(EL)>LH+log2|K|-Llog2V с последующим определением L' как корня уравнения LH+log2|K|-Llog2V=0, который, вообще говоря, не обязан быть в случае строгого неравенства оцен- кой искомого корня Lo уравнения LH+log2|K|-H(EL)=0. В заключение отметим, что мы рассматриваем поточные шифры, для которых существуют расстояния единственности. Очевидно, например, для шифров с эквивалентными ключами расстояние единственности по ключу отсутствует. Теоретическая стойкость шифров. Понятие теоретической стойкости шифров обычно ассоциируется с понятием совершенного шифра по К. Шеннону. Определение. Шифр (X,K,y,f), Y=f(XxK) с заданными вероятностны- ми распределениями Р(х), хеX на X и Р(%), уеК называют теоретически стойким, если он совершенный по Шеннону, то есть при любом уеУ Р(х/у)=Р(х) при любом хеX. Таким образом, теоретическая стойкость шифра (его совершенность) состоит в том, что знание шифрованного текста, не влечет перераспределения вероятностей на множестве шифруемых текстов X. При изучении энтропий открытых и шифрованных текстов ранее было показано, что условие совершенства шифра (Х,К,У,1) равносильно условию: Н(Х/У)=Н(Х). В ряде случаев понятие теоретической стойкости шифра трактуют и по другому. Теоретически стойкими шифрами относительно криптографических методов определения открытых текстов считаются те шифры, для которых эти методы приводят к неоднозначному определению открытых (содержатель- ных) текстов. Например, теоретически стойкими шифрами относительно ме- тодов, приводящих к чтению текстов в колонках, считаются шифры, для ко- торых доказана неоднозначность такого чтения. Теоретически стойкими шифрами относительно теоретико- информационного представления шифра в виде канала связи без памяти счи- таются шифры, для которых средняя вероятность правильного декодирования открытого сообщения с заданной многозначностью по шифрованному тексту стремится к нулю с ростом длины сообщений. 8*
228 ГЛАВА 5. ПРАКТИЧЕСКАЯ СТОЙКОСТЬ ШИФРОВ «Надежна ли шифрсистема, если криптоаналитик располагает ограниченным временем и ограни- ченными вычислительными воз- можностями для анализа перехва- ченных криптограмм?» К. Шеннон Параграф 5.1 Понятие практической стойкости шифров (/Про/,/Фом/) Правила криптоаналйза были сформулированы еще в конце XIX века преподавателем немецкого языка в Париже голландцем Керкхофом в книге «La Cryptographic militare». Согласно одному из этих правил разработчик шифра должен оценивать криптографические свойства шифра в предположении, что не только шифртекст известен противнику (криптоаналитику цротивника), но известен и алгоритм шифрования, а секретным для него является лишь ключ. Основными количественными мерами стойкости шифра служат так на- зываемые «трудоемкость метода криптографического анализа» и «надежность его». Обозначим через А - класс применимых к шифру алгоритмов дешифро- вания и через Т(<р) - трудоемкость реализации алгоритма ф на некотором вы- числительном’устройстве. Трудоемкость дешифрования. Данная трудоемкость обычно измеряется усредненным по ключам шифра и открытым текстам количеством времени или условных вычислительных операций, необходимых для реализации алгоритма. За трудоемкость дешифрования принимают величину пмпЕТ(ф). (реА Последняя величина (по определению) совпадает со средней трудоемкостью ЕТ(ф) лучшего из известных и применимых к шифру алгоритмов. При попытке практического использования этой формулы выявляются некоторые проблемы.
229 Поясним более подробно введенное понятие. Алгоритмы дешифрова- ния применяются обычно к входным данным. В нашем случае это шифрован- ный текст «у» и шифр. Следовательно, результатом применения алгоритма до- лжен быть открытый текст. Наша же цель состоит в определении трудоемкости - времени Т(ср), требуемого на реализацию алгоритма. Возможно, что Т(ср) бу- дет зависеть от ряда дополнительных параметров, например, от шифртекста «у» и от порядка опробования ключей в алгоритме. Криптоанализ проводится, как правило, без наличия конкретного шифртекста и без прямой реализации алгоритма. Сам алгоритм в ряде случаев становится вероятностным алгорит- мом, в его фрагментах используются вероятностные правила принятия реше- ния о выполнении последующих действий, например, опробование ключей. Таким образом, умозрительное построение процесса нахождения открытого текста шифра скорее всего следует назвать методом (криптографическим ме- тодом) решения задачи. В предположении о вероятностных распределениях случайных действий алгоритма и неизвестных нам входных данных алгоритма, а также вероятностных характеристик выбора ключа в шифре при зашифрова- нии случайного открытого текста подсчитывается среднее число операций (действий) алгоритма, которое и называется трудоемкостью метода криптоа- нализа. При фиксации в предположениях вычислительных способностей про- тивника (производительность ЭВМ, объем возможных памятей и т. д.) это сре- днее число операций адекватно переводится в среднее время, необходимое для дешифрования шифра. Второй количественной мерой стойкости шифра относительно метода криптоанализа является надежность метода л(ф) - вероятность дешифрования. Раз метод несет в себе определенную случайность, например, не полное опро- бование ключей, то и положительный результат метода возможен с некоторой вероятностью. Блестящим примером является метод дешифрования, заключа- ющийся в случайном отгадывании открытого текста. В ряде случаев представ- ляет интерес и средняя доля информации, определяемая с помощью метода. В методах криптоанализа с предварительным определением ключа можно пола- гать, что средняя доля информации - это произведение вероятности его опре- деления на объем дешифрованной информации. Конечно, используют и другие характеристики эффективности методов криптоанализа, например, вероятность дешифрования за время, не превосхо- дящее Т. - Под количественной мерой криптографической стойкости шифра понима- ется наилучшая пара (Т(ф),л(ф)) из всех возможных методов криптографичес- кого анализа шифра. Смысл выбора наилучшей пары состоит в том, чтобы вы- брать метод с минимизацией трудоемкости и одновременно максимизацией его надежности.
230 Предположения о возможностях противника. Криптограф, оценивая стойкость шифра, как правило, имитирует атаку на шифр со стороны криптоаналитика противника. Для этого он строит модель действий и возможностей противника, в которой максимально учитываются интеллектуальные, вычислительные, технические, агентурные и другие возмо- жности противника. Примером такого подхода может служить случай в США в конце 70-х годов, Криптографы не нашли практически приемлемого алгоритма дешифрования «DES-алгоритма». Но небольшой размер ключа DES-алгоритма не позволил прогнозировать его практическую стойкость как достаточную на длительный срок, что привело к решению отказаться от использования DES- алгоритма в государственных учреждениях для защиты информации. Учет интеллектуальных возможностей противника нередко прояв- ляется в постановках задач криптоанализа шифра. В шифрах гаммирования не- редко оценивают трудоемкости и надежности методов определения открытого текста по параметрам эффективности методов определения ключа по известной гамме наложения (или, что то же самое, по известным открытому и шифрован- ному текстам). Аналогично иногда поступают и с другими поточными шифра- ми, например, при анализе шифров поточной замены переходят к решению за- дачи определения ключа по известной управляющей последовательности шиф- рующего блока. В задачах чтения открытого текста по шифрованному тексту иногда «добавляют» и другой известной информации, облегчающей нахожде- ние решения задачи. Таким образом, учет интеллектуальных возможностей противника проводится путем постановки и решения «облегченных» задач криптоанализа. При этом полагают, что криптографическая стойкость шифра, вычисленная по таким «облегченным» задачам, не превышает стойкости шиф- ра, анализируемого в реальных условиях эсплуатации. Нередко в качестве та- ких задач выделяют задачи, возникающие на промежуточных этапах анализи- руемого метода криптоанализа. Примерами таких задач являются разнообраз- ные математические задачи, к которым сводится метод криптоанализа, напри- мер, задача решения систем нелинейных уравнений в разнообразных алгебраи- ческих структурах, определение начального состояния автомата По его выход- ной и входной последовательностям, определение входной последовательнос- ти автомата по его начальному состоянию и выходной последовательности и др. Нахождение эффективных алгоритмов решения какой-либо из этих матема- тических задач может значительно понизить криптографическую стойкость многих шифров. Учет старения дешифруемой информации. Что лучше? Дешифровать за 5 лет 5 телеграмм или за один год одну телеграмму? Ответ на этот вопрос неоднозначен. Конечно, чем больше дешифрованной информации, тем лучше,
231 но хороша ложка к обеду! В ряде случаев не полученная вовремя информация теряет свою ценность. Так, сведения о погоде, о временных дорогах и перепра- вах и т. д. теряют свою ценность по истечении определенного времени. Учет «старения информации» может быть проведен аналогично учету порчи про- дуктов питания на овощных и продовольственных складах, аналогично учету старения словарей, т. е. учету не используемых слов из старых словарей. Такой учет может проводится по так называемому правилу «постоянного процента», U(t)=U(0)e‘Xt, здесь U(0) - начальное количество «продукта», U(t) - количество «продукта» через t единиц времени. Эту же формулу иногда записывают в виде U(t)=U(0)(l- а)‘, а - коэффициент старения 0<а<1. Параграф 5.2 Принципы построения методов определения ключей шифрсистем . Пусть (Х,У,К,1) - модель шифра по К. Шеннону. Рассмотрим задачу определения ключа %еК по известным открытому х и соответствующего ему шифрованному у текстам, то есть задачу нахождения решения % уравнения f(x,X)=y Частным случаем этой задачи является задача определения ключа % по известной выходной последовательности у автономного шифрующего автомата А, которая сводится к нахождению решения уравнения А(х)=у. К решению уравнения вида Ф(х)=У> (где Ф: К—>У), сводится и первая поставленная задача. Действительно, так как f: ХхК—>Y, то при фиксированном хеХ индуцируется отображение O=fx: K->Y, Ф(х)=^х,х). Итак, задача определения ключа по открытому и шифрованному текс- там и задача определения ключа по выходной последовательности шифрующе- го автомата сводятся к решению уравнений вида Ф(Х)=У- В ряде случаев такие уравнения записываются в «координатной фор- ме»: Ф1(ХьХ2,..-,Хп)=У., tG{l,...,T}. Здесь: Ф,, te {1,...,Т} - координатные функции функции Ф, Х=(ХьХ2,--->Хп), У=(УьУ2,..-,Ут).
232 Общая концепция решения указанной задачи состоит в сведении ее к более простым задачам, решаемым известными («базовими») алгорит- мами. Ниже дается краткое описание базовых алгоритмов и методов сведения к ним. Базовые алгоритмы: алгоритмы поиска, алгоритмы решения систем линейных и нелинейных уравнений над различными алгебраическими структу- рами (поля, кольца и т. д.), итерационные методы. Каждый базовый алгоритм, как и метод сведения к нему, содержит ши- рокий круг разнообразных методов, связанных собственной «иерархией». Ниже приводится их краткая характеристика. Алгоритмы поиска. Любой алгоритм нахождения решения %' уравнения Ф(х)=У представляет собой последовательность действий на основе системы тестов и может быть описан как алгоритм поиска элемента %' в массиве К. В криптогра- фической литературе под алгоритмами поиска нередко понимают узкий класс алгоритмов поиска - метод последовательного перебора (метод тотального опробования), в соответствии с которым опробуются поочередно в некотором порядке элементы % множества К. Для каждого опробуемого варианта % вычи- сляется ух=Ф(%) и сравнивается с у по критерию на совпадение. При принятии решения о несовпадении ух с у опробуемый вариант % отбраковывается. При известной структуре (частичной структуре) множества К применяют «упорядо- ченный», «направленный» перебор элементов из К. Так, например, при струк- туре множества «больше - менше»: У1<У2<...<У|К| для нахождения номера заданного элемента у сравнивают у со «средней точ- кой» y[|Q|/2] массива и выбирают ту половину его, в которой лежит у, затем • сравнивают у со «средней точкой» выбранного «половинного массива» и так далее до идентификации элемента у. Число операций такого способа оценива- ется величиной log2K. Иногда удается сгруппировать элементы массива в «лег- ко различимые» между собой группы и вначале определять номер группы, в . которой лежит у, а затем определять номеру, ведя поиску в этой выделенной группе. Сократить число операций при структуре ключей «больше - меньше» возможно, если использовать предварительную кодировку у-ов и «удобно» расположить у-ки в соответствии с их адресами (см. Зубков А.М., Клыкова Н.В. Построение баз данных с ограниченным временем поиска. Симпозиум по прикладной и промышленной математике. Тезисы доклада. 2001 г., стр. 185- 186).
233 Характерной особенностью алгоритмов поиска является то, что струк- тура отображения Ф фактически не учитывается (возможно учитывается лишь для предварительного группирования элементов массива Y). Алгоритмы решения систем линейных и нелинейных уравнений над раз- личными алгебраическими структурами (поля, кольца и т.д.). Для решения си- стем линейных уравнений в этих структурах существует широкий круг извест- ных «стандартних» алгоритмов, таких как - алгоритмы Гаусса, Штрассена, Ко- новальцева для решения общих систем линейных уравнений над конечными полями и кольцами; алгоритмы решения некоторых специальных систем ли- нейных уравнений - например, ганкелевых систем или систем с разреженной матрицей. Из алгоритмов решения систем нелинейных уравнений отметим ал- горитм Лазера. Итерационные методы. Эти методы значимы при решении уравнений в области действительных чисел и в функциональном анализе. Они же стали раз- виваться, модернизироваться и для решения дискретных задач криптографии. Методы частичного опробования. В методах этого класса пытаются «разбить» ключ % на две части хьХг и представить его в виде х=(ХьХг) таким образом, чтобы при каждом варианте Xi уравнение Ф(ХьХг)=У относительно Хг решалось достаточно «просто», например, с трудоемкостью меньщрй, чем по- лный перебор возможных значений хг- При выполнении этих условий решают уравнение Ф(ХьХ2)=У перебором возможных вариантов x'i с последующим ре- шением уравнения Ф(х'ьХг)=У для каждого опробуемого варианта х'ь Приме- ром такого метода служит метод решейия нелинейных булевых уравнений пу- тем линеаризации за счет опробования части переменных. Методы последовательного опробования. Этот метод является развити- ем метода частичного опробования. В этом методе также пытаются «разбить» ключ х на две части хьХг и представить его в виде х=(ХьХ2) таким образом, чтобы при каждом варианте Xi для уравнения Ф(хьХ2)=У относительно Хг до- статочно «просто» устанавливалось, разрешимо оно или нет. Если при варианте X i оно неразрешимо относительно Хг> то вариант х' i отбраковывается и опро- буется следующий вариант. В случае же положительногр ответа уравнение Ф(Х ьХг)=У пытаются решить всеми возможными средствами, например, пы- таются применить метод частичного опробования для части Хг> всего ключа х- В последнем случае и говорят о применении метода последовательного опро- бования.
234 Методы сведения к базовым алгоритмам основаны: — на преобразовании как уравнений, так и множества неизвестных; на исполь- зовании различных моделей алгебраических структур (гомоморфные образы автоматов, алгебр, их приближенные модели и т. д.); — на использовании частичного и последовательного опробования. Неизвестные параметры ХьХ2,--->Хп - части ключа %, относительно ко- торых решается уравнение, могут быть заданы в различной форме, влияющей как на выбор способов решения уравнения, так и на их сложность. Так, напри- мер, подстановка может быть задана в обычной двухстрочной форме, или в ма- тричной форме; двоичная функция может быть задана таблично, в виде много- члена Жегалкина, в виде вектора ее коэффициентов Фурье по любому базису п- мерного векторного пространства над полем вещественных чисел или над ко- нечным полем и т. д. Собственно сам метод сведения к базовым алгоритмам и состоит в выборе способа представления, «кодирования» частей ключа. Преобразования уравнений шифрования. Многие методы преобразова- ния системы уравнений шифрования нацелены на получение уравнений - след- ствий, которые могут быть решены известными способами. Например, подби- рают множество У' совместно с отображением ср: Y-»Y' так, чтобы новое уравнение-следствие ф( ф(х))=ф(у) решалось достаточно просто. Найдя все множество М решений этого уравне- ния, решают, относительно х^М, начальное уравнение Ф(х)=У, например, оп- робуя элементы множества М. К таким методам относятся так называемые «методы сведения»: выделение из системы уравнений <I>t(XbX2,...,Xn)=yt, tG{l,...,T} «хороших уравнений», например линейных, или выделение уравнений, из ко- торых можно составить систему уравнений «треугольного типа» и т. д. Преобразование неизвестных. Один из способов преобразования неиз- вестных состоит в поиске нового множества К' и отображений ср: К->К', у: К'—>Y так, чтобы Ф(х)=ф(ф(х))- В этом случае задача поиска решения уравне- ния Ф(х)=У сводится к решению двух уравнений ф(х')=у> ф(х)=х'- При таком сведении задачи поступают следующим образом. Находят все реше- ния %' первого уравнения, а затем решают второе уравнение для каждой правой части %', найденной ранее. Типичным примером преобразования неизвестных при решении системы нелинейных уравнений является введение новых пере- менных, приводящих систему уравнений относительно этих новых переменных к системе линейных уравнений.
235 Методы использования гомоморфизмов. Итак, мы изучаем возможно- сти определения прообраза % отображения Ф: К—>У по известному образу У=Ф(Х)- Ищутся такие подходящие множества К' и У’ и отображения <р: К-»К', у:У->Y', f:K'—>Y', чтобы была коммутативна следующая диаграмма: Ф К -> У ф Ф ф К' -> Y' f Сначала решается уравнение f(x )=У > относительно еК' при у'=у(у). Это уравнение называют гомоморфным образом уравнения Ф(%)=у. Затем для каждого найденного решения х' решается уравнение ф(х)=Х • Обоз- начим через М все найденные таким образом решения (объединение всех ре- шений уравнения ф(х)=х' по всем решениям х' уравнения f(x')=y')- Далее решают начальное уравнение Ф(х)=У относительно х^М. Метод гомоморфизмов представляет собой комбинацию методов пре- образования уравнений и преобразования множества ключей и включает их как частные случаи. Наряду с использование базисных алгоритмов и методов сведения к ним при решении задачи определения ключа нередко используют и дополните- льные предположения, облегчающие расчет параметров эффективности испо- льзуемого метода решения. Например, предполагают, что решение уравнения Ф(х)=У единственно, в частности, используемый шифр не имеет эквивалентных ключей, объем Т материала больше расстояния единственности шифра. Параграф 5.3 Методы опробования Тотальный метод Пусть А - шифр с алгеброй шифрования (Х,КШ,У,£), алгеброй расшиф- рования (y,Kp,X,F) и уеУ - известный шифрованный текст, полуденный при зашифровании некоторого содержательного открытого текста х0 при неизвес-
236 тном ключе %оеКш. Задача состоит в нахождении открытого текста х0, т.е. в решении уравнения £(хо,Хо)=У относительно х0 при известном у и известном шифре А. Одним из методов решения этого уравнения для известного симмет- ричного шифра является опробование пар элементов (х',х) из ХхКш. Для каж- дой пары (х',х) вычисляется значение f(x',xи сравнивается усу'. Для несимметричного шифра (шифра с открытым ключом) проводится опробова- ние х' еХ. В этом случае проводится сравнение значения f(x',x0)=y' с у. Откры- тый текст х, при котором у=у', считается решением задачи. Как правило, при надежном шифре А такой способ дешифрования неэффективен из-за большого числа опробований, необходимых для определения открытого текста. Сокра- тить число опробований можно путем опробования ключей х*^Кр ПРИ исполь- зовании алгебры расшифрования шифра с последующим применением крите- рия на открытый текст к получаемому расшифрованному тексту F(y,x*). Имен- но этот метод дешифрования и получил название «тотальный метод». Таким образом, тотальный метод заключается в случайном опробова- нии ключей х* из Кр. При каждом опробуемом ключе х* проводится расшиф- рование шифрованного текста и проверка полученного текста F(y,x*) на при- надлежность к множеству содержательных текстов. Предполагается, что проверка на принадлежность расшифрованного те- кста множеству содержательных текстов проводится с помощью некоторого «гипотетиченского статистического критерия на содержательные тексты», имеющего ошибки первого и второго рода: а - вероятность отбраковки содер- жательного текста (в т^р^инах статистического критерия - отбраковки гипоте- зы Н(0), отвечающей вероятностному распределению Р(0)); р - вероятность принять несодержательный текст за содержательный текст (принять гипотезу Н(0), когда верна гипотеза Н(1) - выборка из распределения Р(1), отвечающего нечитаемым текстам). Далее везде Р5* 1. Предполагается также, что опробование ключей заключается в после- довательном случайном и равновероятном опробовании без повторений г клю- чей из Кр. Процесс опробования заканчивается при опробовании S, ключей; £=j - номер первого ключа (1<)<г), при котором соответствующий расшифрован- ный текст будет признан критерием за содержательный текст, или £=г, если такое событие не произойдет при любом j<r. Основными характеристиками криптографической стойкости шифра относительно тотального метода решения задачи являются: трудоемкость Е“,₽(г) метода - среднее число опробуемых ключей (математиче- ское ожидание случайной величины %). Надежность ла₽(г) метода - вероятность определить истиный содержа- тельный текст.
237 Расчет этих характеристик тотального метода будем проводить при следующих предположениях: при расшифровании шифртекста^ на всех клю- чах %* из Кр среди расшифрованных текстов {F(y,x*):x*eKp} содержится един- ственный содержательный текст - истинный текст х0; в множестве Кр сущест- вует единственный ключ х*о, при котором F(y,x*0)=x0. Эти предположения по- зволяют трактовать использование гипотетического статистического критерия на содержательный текст, как критерий проверки опробуемого ключа х* на его совпадение с неизвестным истинным ключом х*0- С вероятностью а истинный ключ будет признан ложным (при выполнении гипотезы Н(0) критерием будет принята Н(1)), а с вероятностью Р ложный ключ будет признан истинным (при выполнении гипотезы Н(1) будет принята Н(0)). Процесс опробования ключей закончится при опробовании % ключей; £=j - номер первого ключа (l<j<r), ко- торый будет признан статистическим критерием за истинный ключ, или £,=т, если такое событие не, произойдет при любом j<r. Проведем сначала расчет трудоемкости Е^г) тотального метода. Да- лее для краткости положим КР=К Пусть Bt — событие, состоящее в том, что в схеме последовательного опробования ключей без возвращения t-ый ключ является истинным, te{l,...,|K|}; - E“’p(r,t) - среднее значение £, при условии Bt; - Eap(t<r) - среднее значение S, при условии, что истинный ключ находится сре- ди первых г опробуемых ключей; E ap(t>r+1) - среднее значение £, при условии, что истинный ключ не содержится среди первых г опробуемых ключей. По формуле условного математического ожидания получаем Ea’p(r)= щ Ea₽(t<r) + । Ea,p(t>r+1). Для подсчета величины Ea,p(t<r) предварительно подсчитаем Ea ₽(r,t) при t<r. . Г Ea’p(r,t)=^m(l - Д)1"’1 р + tCl-P/'Cl-a) + ^m«(l - Р)т'2 ft + ra(l-₽)rl. m=l m=t+l Первое слагаемое отвечает окончанию опробований на каком то к-ом ключе, где K<t-1 (напомним, что истиный ключ опробуется при t-ом опробова- нии). Второе слагаемое отвечает определению истинного ключа при t-ом опро- бовании. Третье слагаемое отвечает ситуации аналогичной первой для K>t+1. Четвертое слагаемое отвечает ситуации, когда при каждом из первых г опробо- ваний критерий принимал гипотезу Н(1).
238 Если истинный ключ находится среди первых г опробуемых ключей, то он может с вероятностью - появиться при любом t-ом опробовании, г te{l,...,r}. Поэтому E“’₽(t<r)==^Ea’P(r,t)p(Bt) , t=l Е"’(кг)«-Х(Ет(1-₽)п>1₽+ t(l-3)''(l-«) + Y,moiy-pr2p + ra(l-₽y')= Г t=l m=l m='+1 +—Ё‘(1-лы Гни г 77 г(1-/?)м,7и Нам предстоит теперь изменить порядок суммирования в двойных суммах. С этой целью выпишем отдельно слагаемые первой и второй двойных сумм: Слагаемые первой суммы: t=l t=2 1 t=3 1 +2(1-р) t=4 1 +2(1-р) +3(1-р)2 t=r-1 ................................ t=r 1+2(1-р)+3(1-р)2 +...+(r-l)(l-p)r’2 Слагаемые второй суммы: 2(1-Р)+3(1-Р)2+...+г(1-Р)г‘1 3(1-Р)2+...+г(1-Р)г-’ г(1-р)г-' Меняя порядок суммирования в двойных суммах, получим, что Ea,|3(t<r)= +ra(l-/7)rJ Г 77 г Дополняя первую сумму слагаемым при j=r, а вторую слагаемым при i=l (равными нулю) и меняя везде индекс суммирования на «к», объединяя первые три слагаемые в одно слагаемое, получим E“ ’(t<r). -£к( I - РГ' Р(т - к) + (к -1) + (1 - а) 1-Д + га(1-Р)г1.
239 В том случае, когда истинный ключ не находится среди первых г опро- буемых ключей, среднее число опробуемых ключей равно E“’₽(t>r+l)=^K(l-P)K"1p + г(1-р)г. к=1 Последнее слагаемое отвечает ситуации, когда при всех опробуемых ключах критерий принял гипотезу Н(1). Для получения окончательной формулы трудо- емкости Еа,₽(г) тотального метода подставим полученные выражения Ea,|J(t<r), E^ferH) в начальную формулу: Ea>₽(r)= — Ea’₽(t<r)+ ffl^Ea’₽(t>r+l). |^| |К| Е“’₽(г)= 7777 Аг-к)+-^(к-1) + (1-а) + rad-Pf1 + I I *=i L *" Р J I I (2>о-Д)"'Д +r(i-₽)r). 1*4 №1 Приведем формулы для расчета среднего числа Е“’₽(г) опробуемых ключей в некоторых частных случаях. Если положить г=|К|, то мы получим формулу для среднего числа опро- бований в тотальном методе при условии, что опробуются все ключи. В"'(|К|)= -±- f>(l - /?Г' Д| КI -к)+(к -1) + (1 - а) I I k=i L 1 “ р + |К|а(1-рГ1. Положим, г=|К| и а=р=0, то есть рассмотрим случай, когда в тотальном методе опробуются все ключи и критерий отбраковки текстов работает без ошибок.' В случае r=|K|, а^О, Р=0, то есть при использовании процедуры, не допускаю- щей принятия ложного ключа за истинный, но допускающей невыявление ис- тинного ключа, имеем 1 Ж г Е“’°(|К|)=—-+|К|сс = I I К=1 Jl-tt)(|7<|+l)|j<l+|K|^W±l(1 _ a)+| ,q а 21К | 2 Если положить г=|К|, а=0, Р^О, то есть рассматривать процедуры принятия ре- шения, при которых невозможна потеря истинного ключа, то
240 E4(|K|)= -i- § к(1 - /?)’-' </?(| К | -к) + 1) - I I №1 '7^ fzO - (Al * I-*) +1)= II K=0 1*4 £ 1Л5 Для вычисления входящих в последнее выражение сумм рассмотрим функцию |К| 1 _ vx+l ф(х)=2>к.=——. R-=0 1 — Л \К\ 2>'” R-0 = Ф'(Х) -(|А’|+1)х|*|(1-х)4-1-х|АГ|+| (1-х)2 |К| |К| |К| Х^2хк-' =^к(к-1)хк-1 ч-^кх^-1 = хФ"(х) + Ф'(х). к=0 к=0 /с—0 В то жеъремя ф.. (х) = -flKMW/” + 2Ф'(х) 1-х 1-х Отсюда |К| У к2хк~х = + 121±Ф'(Х). 1-х 1-х Используя полученные соотношения при х=1-р для ЕО,Р(|К|) будем иметь Е°’р(|К|)=^|7<|+1ФЧ1 - р) + (IКI +1)(1 - - ^-^Ф'(1 - /?), где ф.(1 _ д = -(|У|4-1)(1-/?Г'/? + 1-(1-А№1 Подставляя последней выражение в формулу для Е°’Р(|К|) и проводя элементарные преобразования получаем Е„,,К|> [1 - (I - /?)№1 - (IКI +1X1 - /?)|У| /?]- Lg(i /с I +1) -1] м • IКI р1 Несложный анализ показывает, что при |К|—> оо
241 Е°’₽(|К|)->-^-. Н Следовательно, при больших значениях |К| можно пользоваться приближенным равенством E0,p(|K|)s—. Перейдем теперь к расчету надежности метода тотального опробования ключей, то есть вероятности Р(г,а,Р) определить истинный ключ этим методом. Пусть С - событие, состоящее в определении истинного ключа при оп- робовании г ключей. Используем введенные ранее события Bt, te{l,...,|K|}. Со- бытия Bt несовместны, в связи с чем событие С представимо в виде C=[J (С П Bt). Отсюда к Р(г,а,|3)»Р(С)-£ Р(С п В,) = £ Р(В, )Р(С/В,) = Р(С/В,), /=1 /-1 1^1 /=1 так как P(Bt) = ——. В то же время Р(С / Bt) = (1 — (1 - а) . Следова- |К| тельно, Последнее равенство выписано в предположении: РХ). Методы использования эквивалентных ключей Пусть А=(Х,К,У,1) - алгебра зашифрования шифра. Напомним следую- щее Определение. Ключи %,%' называются эквивалентными, если f(x,x)=f(x,x') при любом хеХ. Ключи х»Х называются эквивалентными относительно подмноже- ства Х'сХ, если f(x,X)=f(x,X') при любом хеХ'. Введенное бинарное отношение о(Х') на множестве ключей К является бинарным отношением эквивалентности (выполнены свойства реф- лексивности, симметричности и транзитивности). Поэтому все множество клю- чей К разбивается на классы эквивалентности бинарного отношения а(Х').
242 £(%•) Обозначим это разбиение через R(o(X'))= [J/C* • Очевидно, что из эквива- ;=1 лентности ключей %,%' еК относительно X' следует их эквивалентность и отно- сительно любого подмножества X" множества X'. Откуда вытекает, что любой класс К* содержится целиком в некотором классе К*. эквивалентности от- / носительно подмножества X" множества X'. Каждый класс К* состоит из объединения некоторых классов К* . В частности, L(X")<L(X'), а классы Kj «мельче» классов К* . Рассмотрим задачу определения ключа % по заданным открытому х и шифрованному / текстам, т. е. задачу решения уравнения f(x,x)=y относи- тельно К. Под решением задачи будем понимать нахождение произвольного решения х данного уравнения. В принятой выше терминалогии данная задача состоит в нахождении ключа (решения уравнения) с точностью до эквивалент- ности относительно множества, состоящего из одного элемента х. Обозначим через Ki,K2,...,KL классы эквивалентности относительно элемента хеХ. В дальнейшем, для краткости, эти классы мы будем называть просто классами эквивалентности ключей, хотя более содержательное их на- звание, на наш взгляд, состояло бы в названии их «классами слабой эквива- лентности ключей». Будем решать поставленную задачу при различных возможных допол- нительных данных. 1. Известны представители ХьХг,- • ->Хь классов Ki,K2,..,,KL эквивалентных ключей. В этом случае проводится опробование без возвращения предста- вителей до первого успеха (до получения представителя класса эквивалент- ности, в котором лежит искомый ключ). То есть для каждого опробуемого ключа х вычисляется f(x,x)=yx и сравнивается ух с заданным у. Процесс оп- робования заканчивается при получении равенства ух=у. Трудоемкость Т в опробованиях такого метода совпадает с трудоемкостью тотального метода при r=|K|=L и нулевых ошибках статистичечкого критерия: 2 Надежность метода л=1. 2. Известны мощности классов эквивалентных ключей и представители этих классов. Упорядочим Xi(i),Xi(2)> - • - ,Xi(L) известные нам представители в соответст- вии с мощностями классов эквивалентных ключей:
243 |Ki(1)|>|Ki(2)| >...>|Ki(L)| и опробуем их в соответствии с этим порядком Xi(i),Xi(2),-.--,Xi(L), L . Алго- ритм прекращает свою работу, если найден искомый ключ (с точностью до эк- вивалентности), либо проведено г опробований. Если ключ шифра выбирался случайно и равновероятно из К, то веро- |Я, I ятность выбора ключа из класса Kj равна------------------. Поэтому среднее число Тг оп- .1^1 робуемых при реализации алгоритма ключей равно а надежность метода При r=L имеем 3. Известны Только мощности |К]|, |К2|,...,|Kl| классов эквивалентных ключей. Проведем опробование без возвращения ключей х^К до получения ис- тинного ключа с точностью до эквивалентности. Если ключ шифра выбирался случайно и равновероятно из К, то веро- | /С • | ятность выбора ключа х из класса Kj равна -------. Обозначим через T(j) 1-^1 среднее число опробований алгоритма, при условиии что искомый ключ ХеКг Тогда 1^1+1 1^1+1 и общее среднее число опробований алгоритма % iki ^|/су|+1 Надежность метода тс=1. Отметим, что если в данном методе опробование проводить с возвра- щением, то среднее число опробований алгоритма будет равно
244 У |К| 1 1 = £. STIKjlW Следовательно, в условиях третьей задачи всегда T<L. Очевидно, 2 при этом нижняя оценка достигается при L=l, |Kj|=|K|, а верхняя при L=|K|, |Kj|=l. Если известны оценки мощностей классов эквивалентных ключей Cj^Kj|<Cj, jel,L, ТО I к I +1 у» cj <т< I К I 4-1 у Cj |К| £cj+r.’ |К| ^Cj+1' 4. Известно число L классов эквивалентных ключей. Проводя метод пункта 3, для трудоемкости метода получаем оценку T<L. Обратим Ваше внимание на то обстоятельство, что изложенные методы • базировались на эквивалентности ключей относительно заданного хеХ («сла- бой эквивалентности ключей»). Обычно точный расчет мощностей классов та- ких эквивалентностей затруднителен, в связи с чем пользуются эквивалентно- стью ключей относительно всего множества X. В этом случае несложно полу- чаются нижние оценки мощностей классов использованных нами слабых экви- валентностей. Прямое использование мощностей классов эквивалентных клю- чей относительно всего множества X в методах 1-4 дает верхние оценки тру- доемкостей изложенных выше методов «слабых эквивалентностей». Метод опробования с использованием памяти Пусть известны: A=(I, S, О, (5i)iei, (Pi)iei) - конечный автомат и его N вход-выходных последовательностей 3J=ij(l),ij(2),..., t*(L); W=yi(l),yi(2),..., y'(L), где ij(k)el, у’(к)еС), je 1,N .Требуется найти произвольное состояние seS, при котором A(s,3j)=91j при некотором je 1,N. Напомним, что A(s,3j) — выходная последовательность автомата А с начальным состоянием seS при входном сло- ве ,3\ Метод состоит из двух этапов.
245 На первом этапе проводится заполнение памяти (таблицы), содержащей |0|‘ ячеек (строк), где t - параметр метода, t<L. Фиксируется некоторое слово ii,i2,...,it из I*. Для заполнения памяти опробуются все последовательности (5j,9?j), j е 1, N. Для j-той пары проверяется условие (f(l),P(2),.„, ij(t))=(ii,i2,...,it). Если равенство выполнено, то пара (3J,W) записывается в ячейку (строку) с адресом у’(1),у’(2),..., y*(t). На втором этапе проводится опробование состояний sgS (опробование поурновой схеме без возвращения^. Пусть A(s,ii,i2,...,it)= ys(l),ys(2),..., ys(t)- выходное слово автомата А, определяемое начальным состоянием sgS и вход- ным словом ii,i2,...,it. Тогда проводится обращение к ячейке (строке таблицы) с адресом ys(l),ys(2),..., ys(t). Если ячейка оказалась пустой, опробуется следую- щее состояние автомата. В противном случае, проверяется, удовлетворяет ли состояние s улоЬиям задачи относительно одной из пар (3J,5RJ), записанных в этой ячейке, то есть перерабатывает ли автомат А с начальным состоянием s входное слово 3J в выходное слово пара W. Если состояние s таково, что A(s, 3J)= 9lJ, реализация алгоритма заканчивается. В противном случае (после опро- бования всех пар из ячейки на состоянии s) опробуется следующее состояние из S. Очевидно, надежность метода равна единице. Рассчитаем его трудоем- кость. Пусть Ni - число пар из всех (3\9Р), je 1,N, для которых (^ОЗЧг),...,^))^!^,...,^). , Трудоемкость первого этапа метода имеет вид: T|=N+Nb где N - число опробований на предмет поиска пар с началом (цЗг,...,it), a Ni - число обраще- ний к памяти для записи в память пар с этим началом. Здесь и далее мы «сум- мируем различные операции», молчаливо предполагая, их приблизитель- ную равноценность по скорости выполнения. В качестве трудоемкости второго этапа метода берут величину rr_|S|+l , |S|+1 Ni 1 2---------1 , Nj+1 Ni+1 |О|‘
246 где ---------среднее число опробуемых состояний на втором этапе метода, Nj +1 |S|+1 Ni --------------среднее число опробовании второго этапа метода, совершаемых Nj+1 | О |‘ N после обращения к памяти (—-— среднее число пар в ячейке памяти). |ор При получении этой формулы использовано следующее предположе- ние: для каждой пары (3J,9?) существует единственное состояние, при котором A(s,3j)= Первое слагаемое в формуле для Т2 - это среднее число операций вы- числения выходного слова A(s,ii,i2,...,it)= ys(l),ys(2),..., ys(t) с последующим об- ращением в память по адресу ys(l),ys(2),..., ys(t). Второе слагаемое - это среднее число операций вычисления выходного слова A(s,3j) с последующим сравне- нием его с 9V. При необходимости проводят усреднение общей трудоемкости Ti+T2 по возможным значениям N! и оптимизацию метода по параметру t, а также его модернизацию, ограничивая себя в возможном числе опробований. В послед- нем случае рассчитывают и надежность метода. Остановимся на одной модификации приведенного метода упорядо- ченного опробования. На первом этапе наряду с фиксацией начала ii,i2,...,it входных слов ав- томата фиксируют и некоторое начало уьу2,.. .,yt его выходных слов и отбира- ют пары вход-выходных последовательностей 3]=Г(1)Д\2),..., P(L); W=yi(l),yi(2),..., y’(L) автомата удовлетворяющие условию iJ(l),iJ(2),..„ iJ(t)= ibi2,..:,it, ^(l),^),..., y*(t)= yi,y2,...,yt Обозначим через M - множество отобранных пар. На втором этапе метода проводится опробование состояний sgS и от- бор таких s, при которых A(s, it,i2,..,,it)= yi,y2,...,yt. На третьем этапе проверяют, удовлетворяет ли s, отобранное на втором этапе, хотя бы одной паре (3j,W) из множества М, то есть выполняется ли ра- венство A(s,3j)=W. В процессе реализации метода второй и третий этапы че- редуются: как только на втором этапе найдено состояние s автомата, при кото- ром A(s, i|,i2,...,it)= yi,y2,...,yt, - так оно опробуется на третьем этапе. Перебор проводится до появления искомого состояния. Число операций первого этапа равно N (операции нахождения пар, при- надлежащих множеству М). Для подсчета трудоемкостей второго и третьего этапов метода примем предположения, указанные выше.
247 Пусть £ - число опробуемых состояний на втором этапе метода, £ - чи- сло опробуемых состояний на третьем этапе метода. За операцию примем по- лучение выходного слова автомата при заданных начальном состоянии и вход- ном слове. Тогда общее число операщй, выполненых на втором и третьем ета- пах, составит %+£, |М|, при этом и - случайные величины. Среднее значение Т2,з величины %+S, |М| имеет вид Т2,з = Е(^'|М|)= Е(^)+Е(^)|М|. По предположению распределение £, есть распределение числа испыта- ний по урновой схеме без возвращения с |8|-исходами до появления одного из |М|-исходов. Поэтому Е(^)= . Далее, | М | +1 |5|ЧМ|+1 Е(^)= £E(^ = y)p(£ = v). У=1 Предположим дополнительно, что вероятность события A(s, it, i2,...,it)= yi,y2,.--,yt при случайном и равновероятном выборе sgS равна |О|'‘. То- гда Е(£, 4=v)=v|Or* и |S|-|M|+i X v|or‘ pft = v)=|or' Е©. V=1 Таким образом, Tz _ |S|+1 t |M|(|Sj+l) 2,3 IM I +1 (I MI +1) IО |‘ ’ В ряде случаев, при необходимости, проводят усреднение трудоемкости метода по |М| и ее оптимизацию. Метод расшифровки черного ящика Пусть для начального состояния seS и каждого входного слова 3 g IL известно выходное слово A(s,3)= 9?=у(1),у(2),..., y(L). автомата А. Требуется найти частичные функции переходов и выходов автомата А. Обозначим через A(s) - подавтомат автомата A=(I, S, О, (5i)jei, (₽i)iei), порожденный состоянием s. Состояниями этого подавтомата являются: само s и все состояния, достижимые в автомате А из s. Уточненная задача, решаемая ниже, состоит в построении графа переходов автомата A(s), что равносильно нахождению его функций переходов и выходов. При этом мы будем предпола- гать, что автомат A(s) является приведенным и L>R+D+1, где R - степень раз-
248 личимости автомата, D - его диаметр (здесь использована терминология теории автоматов. Метод состоит в последовательном проведении двух этапов (использу- ется терминология теории графов). На первом этапе по набору входных и выходных слов строится дерево высоты L, из каждой вершины которого' исходит |1| ребер. Каждое ребро, исхо- дящее из каждой вершины дерева, помечается одним из символов входного ал- фавита I, точнее говоря, устанавливается взаимно-однозначное соответствие между элементами из I и ребрами, исходящими из каждой вершины. Для 1={0,1}, L=2 полученное таким образом дерево изображается на приводимом ниже рисунке (левая стрелка - 0, правая - 1) Далее проводится «разметка» дерева выходными символами уеО авто- мата A(s) по следующему правилу. Пусть ребро v является концом пути, кото- рый начинается в корне и ребрам которого соответствует входное слово ii,i2,...,it, t<L; если A(s) преобразует его в выходное слово У1,У2,--.,Уь то ребро v помечается выходной буквой yt. В результате получается дерево V, каждому ребру которого поставлено в соответствие входной и выходной символы. На втором этапе осуществляется операция «свертывания» дерева V, то есть получение из дерева V графа переходов автомата A(s). Занумеруем все ве- ршины дерева V следующим образом: припишем номер 1 корневой вершине, затем нумеруем слева направо все вершины первого яруса, второго и так далее до D+1 яруса включительно. Назовем вершину с номером) базисной, если по- ддерево V(j) дерева V высотой R с корнем в вершине с номером) отлично от любого поддерева V(f) дерева V той же высоты с корнем в вершине с номером j' - такой, что j'<j. Свертывание дерева V проводится следующим образом. На первом ша- ге поддерево V(2) сравнивается с поддеревом V(l). Если V(2) отлично от V(l), то вторая вершина базисная и на следующем шаге сравнивается V(3) с подде- ревьями V(l) и V(2). Если же V(2) совпало с V(l), то из дерева V удаляется все его поддерево (высоты L-1) с корнем во второй вершине; ребро, входившее во вторую вершину, присоединяется к первой вершине, то есть проводится пере- ориентация ребра (с его пометками), и на следующем шаге сравнивается V(3) с V(l). Вообще на k-ом шаге последовательно сравнивается некоторое поддерево
249 V(jk) с поддеревьями V(j), где j<jk и j - номер базисной вершины. Если V(jk) совпало с некоторым V(j');TO все поддерево дерева V с корнем в вершине с номером jk удаляется из V (удаленные таким образом вершины в дальнейшем не рассматриваются), ребро, входившее в вершину jk, присоединяется к верши- не]', то есть переориентируют ребро. На (к+1)-ом шаге проводят сранение по- ддерева V(jk+i), где jk+i минимальный номер вершины такой, что jk+i> jk и вер- шина с этим номером осталась в дереве после проведения k-го шага. Алгоритм заканчивает свою работу после того, как проведено сравнение последней не удаленной вершины (D+l)-ro яруса дерева V. ' Расчет параметров метода расшифровки «черного ящика». Надежность метода очевидно равна единице, а общая трудоемкость Т метода есть сумма трудоемкостей Tt и Т2 первого и второго этапов. Подсчитаем величину Ть Чис- 11 |L ло дуг дерева V равно ——-111, поэтому для реализации первого этапа требу- II |L |I|L стоя память объема ——j-111 ячеек и для ее «разметки» ——-111 обращений к памяти, то есть трудоемкость первого этапа можно положить равной |I|L Т|=——j-111 обращений к памяти. Точный расчет трудоемкости второго этапа метода достаточно сложен, в связи с чем мы его не приводим. Метод упорядоченного опробования в задаче оп- ределения входного слова автомата Пусть A=(I,S,O,5,P) - автомат, для которого 1=АхХ, О=А, функция пе- реходов 8(a,x,s), (а,х)е АхХ при каждом seS зависит лишь от хеХ, то есть 6(a,x,s)= 8(x,s), а функция р при каждом seS зависит лишь от аеА, то есть P(a,x,s)=P(a,s), и при каждом seS эта функция.осуществляет биективное отоб- зажение А в О= А. Рассматриваемая задача состоит в определении входной последователь- ности Xq,xi,...,xk при известных данных: автомат А, выходная последователь- ность уо,У1,...,Ук> отвечающая выходной последовательности ao,xo),(ai,xi),...,(aK,xk) и начальному состоянию So автомата А. Обозначим через WK+i множество входных последовательностей xo,X],...,xkgXk+1, являющихся решениями задачи, а через SK+k множество заклю- чительных состояний автомата А, отвечающих его входным последовательнос- тям вида (ao,Xo),(a],Xi),...,(alc,xlc), х0,Х1,...,хкеХк+1. Множество WK+i искомых по-
250 следовательностей может быть разбито на непересекающиеся подмножества WK+i>s, seSK+i, где WK+i,s - множество последовательностей xo,xi,...,xK, являю- щихся решениями задачи, и при которых автомат А с начальным состоянием So переходит в заключительное состояние s. Таким образом, задача сводится к нахождению множества Sk+i и соответствующих его элементам sgSk+i мно- жеств Wk+i,s. Для нахождения этих параметров предлагается следующий алго- ритм, состоящий в последовательном построении множеств Sj, WjiS, seSj по на- чалам ao,ai,...,aj-i, уо,У1,...,ун известных последовательностей xo,Xi,...,xK, Уо,У1,-..,Ук- Положим, So={so,}, Wo s =х. В качестве множества Si выберем все со- стояния s вида s=8(x,s0), xgX, для которых P(ai,s)=yi, а в качестве множества Wi>s, sgSi выберем все элементы xqgX, для которых 8(xo,so)=sgSi. Пусть для j- го шага построены: множество состояний Sj и множества Wj S, seSj входных слов длины] в алфавите X. Тогда множество Sj+i строится исходя из следующе- го правила: Sj+i gSj+i тогда и только тогда, если для некоторых SjGSj и XjGX 8(xj,Sj)=Sj+I и P(aj+i,Sj+i)=yj+i. Если Sj+tGSj+i, то множество W]+j s. состоит из всех слов вида x0,xi,...,Xj.i,Xj, где x0,X|,...,Xj.iG Wj s и 8(xj,Sj)=Sj+i. Алгоритм за- канчивает свою работу при j=k, и множество WK S представляет собой множество решений рассматриваемой задачи, так как k+1-e элементы хк в ре- шениях произвольны (это следует из законов функционирования автомата А). Трудоемкость алгоритма совпадает с трудоемкостью предложенного метода построения множеств So, Si,;.., SK. Она определяется величиной к T=|X|=|Sj|. j=0 Здесь за операцию принято вычисление 8(x,s) при заданных (x,s)gXxSh проверка равенства P(a,s)=y для заданных (a,s,y)G AxSxO. Предположим, что автомат А выбирается случайно и равновероятно из класса всех автоматов рассматриваемого типа с заданными алфавитами S, X, А. Это означает, что 5 является случайным равновероятным отображением мно- жества XxS во множество S, а Р выбирается случайным равновероятным обра- зом из класса всех отображений множества AxS во множество О=А, индуци- рующих при любом фиксированном sgS подстановку множества А. В приве- денных предположениях |Sj| являются случайными величинами, в связи с чем представляет интерес
251 к ET=|X|£E|Sj|, j=0 связанных с проведением алгоритма. Для этого достаточно оценить средние значения E|Sj|. Для произвольного целого числа t>0 выделим в графе переходов авто- мата А все пути длины t, исходящие из вершины so (отождествляя все дуги вида (х,а), абА). Таким образом мы получим некоторый мультиграф T(t). Обозначим через B(t) событие, заключающееся в том, что мультиграф Г(1) будет деревом, а через w(t)= | X |t+1 -1 |Х|-1 число вершин дерева высоты t. Тогда (|S|-l)(|S|-2)...(|Sbw(t)4-l) Isr^-CISf-W'2 1 | S|w(t)-1 | s |w(t)-i и при |S|—><ю и фиксированных значениях остальных пааметров получаем P(B(t)=l-O(-^-). Откуда E(|St|)=P(B(t))E(||St|/B(t))+P( B(t) )E(|St|/ B(t) )= =(l-O(-^-))E(||St|/B(t))+O(-|-)E(|St|/B(t)). I Ь I I O I Здесь через B(t) обозначено событие, состоящее в том, что мультиграф Г, не будет деревом. Заметим теперь, что при фиксированном t с ростом |S| величины E(||St|/B(t)), E(|St|/B(t) ) ограничены (например, числом вершин на уровне t де- рева). Поэтому из предыдущей формулы вытекает E(|St|)= E(|St|/B(t))+О(-^—). ' |S| По формуле условных математических ожиданий при любом t>l, t<k имеем E(|[S,|/B(t))=£P(| S,_, 1= j/B(t))E(| S, I /B(t),I S,_1 h j) • j
252 Расчет E(|St|/B(t),|St-i|=j) проводится из следующих соображений. Каж- дое состояние stGSt является приемником некоторого состояния st.i из St.i. Чис- ло приемников состояний из St.i равйо j|X|, при этом один из таких приемников по условию задачи заведомо принадлежит St, t<K. На каждом из остальных j|X|- 1 приемниках имеется нужное нам значение «у» с вероятностью | А|'*, то есть с вероятностью |А|'* каждый из j|X|-l приемников принадлежит множеству St. Следовательно, E(|St|/B(t),|St.,|=j)=l+(j|X|-l) I Ар1 и E(||St|/B(t))= £Р (ISmH/BO)) (1+61X1-1) I А|-*)= j ' 1+|Х| I Аг1 £р (|St.i|=j/B(t))j -1 Аг’= j 1+1ХЦ Аг1 £p(|s,i|=j/B(t-i))j -I Аг1. j Таким образом, E(||St|/B(t))= (I A|-iI) |А|-‘ +|Х|| А|-‘ E(||st.i|/B(t-i)). . Это равенство справедливо и при t=l, если положить E(||So|/B(O))= E(||SO|)=1. Умножим обе части равенства на (|Х|’’|А|)‘ (|х||АГ)‘ E(||st|/B(t))= (I A|-i I) |Аг1(|хг1|А|)‘+ (|хг,|А|)‘'1 echs^/bc-i)). Суммируем последнее соотношение по t от 1 до j и учитывая, что E(||So|/B(O))=l, имеем Я . ... £| А|‘|Х|-‘ E(||St|/B(t))+ IA|J|X|-J E(||Sj|/B(j))= t=l < z j , H =(l A|-11) |Ar £l X |A|)‘+ E(||So|/B(O))+ £| x p‘ |A|)‘ E(||st|/B(t)). t=l t=l Откуда вд|/в(П)=|хН|АГ[(| A|-i I) | Ar12l x r‘ |A|‘+r]= t=l =|xn Arj+(l A|-i|) |Ar* £| x rt+j |A|‘-j= ‘ t=l
253 =|хиА|-ч (I А|-1|) |А|-1[|хиА|<1] lAr'dxnAr1-!)-1. Таким образом, EdSjDHXHAr^ (| A|-i|) |Аг'[|хпАр-1] |Аг*(|Х|| Ar’-iy'+odsr1). Окончательный результат получается подстановкой этого значения в полученную ранее формулу к ' ET=|X|^E|Sj |. . j=0 Опробование в методе использования гомомор- физмов Напомним сначала основйые понятия, связанные с определением гомо- морфизма автоматов. Пусть A=(Ia,Sa,Oa, (5iA)iel,(PiA)id) и B=(Ib,Sb,Ob, (3iB)ieI>(PiB)iel) Два автомата. Тройку сюръективных отображений (\р,ф,т|) ip: 1А—>1в> Ф-’Sa->Sb; t|:Oa->Ob называют гомоморфизмом автомата А на автомат В, если для любых ieIA, seSA выполняются следующие равенства: <p5iAs=5ViB<ps, T]PiAs=PviB<ps. Автомат В в этом случае называют гомоморфным образом автомата А. Если отображения (ф,ф,г|) биективны, то гомоморфизм называют изоморфизмом ав- томата А на автомат В. Следующее, легко проверяемое исходя из определения гомоморфизма, утверждение является основой для построения методов определения начально- го состояния автомата А по его входной й выходной последовательностям. УТВЕРЖДЕНИЕ. Пусть 3=i(l),i(2),...,i(L) - произвольная входная по- следовательность автомата A, s - произвольное его начальное состояние, A(s,5)=y=y(l),y(2),...,y(L) - выходное слово автомата А, отвечающее его на- чальному состоянию seSA и входному слову 3, а (ф,ф,т|) - гомоморфизм А на В. Тогда выходное слово B(cps,4|/3) автомата В, соответствующее его начально- му состоянию <pseSB и входному слову \p3=i|/i(l),vpi(2),...,\|/i(L) есть B((ps,\|/3)= т)у(1), т]У(2),--->.ПУ(Ь) Рассмотрим задачу определения начального состояния s автомата А по известным входному слову 3eIL и выходному слову A(s,3)=y, то есть задачу нахождения решений seSA уравнения A(s,i(l),i(2),...,i(L))=y(l),y(2),...,y(L).
х£54 При этом предполагаются известными автоматы А, В и гомоморфизм (\|/,<р,т|) А на В. На основании сформулированного выше утверждения исходную задачу для автомата А можно редуцировать в аналогичную задачу для автомата В, именно будем искать все решения cpseSe уравнения B(<ps, V|/i(l),V|/i(2),...,i|/i(L)= цу(1), т|у(2)>..., т|У(Ь). Цель такой редукции заключается в том, что автомат В может иметь более простое строение, чем автомат А (например, иметь меньшее число со- стояний, или быть линейным). Поэтому для него задача определения начально- го состояния может решаться проще (с меньшей трудоемкостью), нежели ис- ходная задача. Однако при такой редукции теряется часть первоначальной ин- формации, так как произошла замена последовательностей 3, У на последова- тельности \уЗ, т]У. В этой связи в результате редукции йсходная задача реша- ется с дополнительной многозначностью, то есть получаются лишние решения. Для того чтобы их отбросить, надо снова использовать первоначальную ин- формацию. Поэтому, найдя все решения 8(\|/3,г]У) уравнения B(cps,\|/i(l),i|/i(2),...,V|/i(L)=T]y(l), т|у(2),..., r|y(L), а затем все состояния sgSa, для которых <р5е8(\|/3,г]У), следует проверить, какие из этих состояний являются решениями первоначального уравнения A(s,i(l),i(2),.. .,i(L))=y(l),y(2)„. ,,y(L). При расчете трудоемкости данного метода будем использовать сле- дующие предположения: каждое из рассматриваемых уравнений A(s,i(l),i(2)„. .,i(L))=y(l),y(2)„. ,,y(L), B(<ps, i|/i(l),\|/i(2),...,\|/i(L)= цу(1), цу(2),..., цу(Ь) имеет единственное решение; нахождение решения второго уравнения прово- дится тотальным методом; не учитывается трудоемкость определения всех ре- шений <p’’sB уравнения <ps=sB, а последующий отсев этих решений проводится тотальным методом в автомате А. Трудоемкость метода гомоморфизма слагается из трудоемкости опре- деления решения sB уравнения B(q>s, \|/i(l),\|/i(2),...,\|/i(L)= ПУ(1), ПУ(2),---, ПУ(Ь), |SB|+1 которая равна —-----------(среднее число опробований) и среднего числа опробо 2'1 ваний состояний sgcp ’sb в уравнении A(s,i(l),i(2),.. .,i(L))=y(l),y(2)„. ,',y(L), которое равно —(19 ’88+ 1|).
255 При необходимости общую трудоемкость метода усредняют по воз- можным значениям Icp ’sel, а также рассчитывают ее в менее жестких предпо- ложениях. . Опробование в методе встречных атак для опре- деления начального состояния последовательного соединения автоматов Рассмотрим задачу определения состояний Si,S2 последовательного сое- динения двух автоматов Ai=(I(l),S(l),O(l),81,|31) и A2=(I(2),S(2),O(2),82,p2), 0(1)=1(2) по известному входному слову 3gI(1)l и выходному слову YgOl, 0(2)=О. Будем предполагать, что автомат А(2) обратим, то есть по его началь- ному состоянию и выходному слову можно однозначно определить его входное слово. Разобьем слова 3=ii,i2,...,ib У=УьУ2,--.,Уе на отрезки длины t, v, L-t-v. 3=3(1 )3(2)3(3); 3(1)gI(1)‘, 3(2)gI(1)v, 3(3)gI(1)l-, v; У=У(1),У(2),У(3); У(1)еО‘, У(2)еО\ y(3)6OL’,’v. Алгоритм решения задачи состоит из трех этапов, которые проводятся для каждого слова W(l)=zi,z2,.. .,zt из 0(1)'. На первом этапе для слова Z( 1 )=Zi ,z2,... ,zt и каждого j g 1, t последовате- льно строят множества Si(ii,i2,...,ij;zbz2,...,Zj)={s(l): s(1)gS(1), Ai(s(1), il,i2,...,ij)=ZbZ2,...,Zj}. Для чего при слове zbZ2,...,zt проводят последовательное опробование s(1)gS(1). Опробуя все состояния s(1)gS(1), находят множество Si(ii;zi), опро- буя состояния из Si(ii;zi), находят S|(ij,i2;zbZ2) и так далее до определения множества Si(3(1 ),Z(1)), для чего требуется провести Ti(A])= |S(l)|+|S1(i1;z1)|+...+ |S1(il,..„it.1;z1,...,zt.l)| опробований (на один такт работы автомата). Далее для каждого seSi(3(l),Z(l)) при данном Z(l) вычисляют Z(2)gO(1)v, именно AI(s,3(l),3(2))=Z(l),Z(2) и по адресу Z(2) записывают s в память П. Трудоемкость этой части алгоритма есть T2(Ai)=|Si(3(l),Z(l))|(t+v)+|Si(3(l),Z(l))|, где первое слагаемое является трудоемкостью вычисления адресов, а второе - число обращений к памяти П. Поэтому для фиксированного z(l) общая трудое- мкость первого этапа алгоритма есть величина Тi= Tj(Ai)+ T2(Ai).
256 Второй этап аналогичен первому. Для данного слова Z(l)=zi,z2,...,zt по- следовательно находят множества S2(Z|;yi), S2{zbz2,y\,y2),..., S2(Z(1);Y(1)), где S2(zi,...,zj;y1,...,yj)={s(2):s(2)GS(2),A2(s(2),zi,...,Zj)=y1,...,yj}. Для нахожде- ния этих множеств потребуется провести T,(A2)=|S(2)|+| S2(zi;y,)|+...+|S2(zi,...,zt.i;yi,...,yt.i)| опробований на один такт работы автомата А2. Для каждого s(2)gS2(Z(1);Y(1)) вычисляют Z(2) A2(s(2),Z(l),Z(2))=y(l),Y(2), что можно сделать в силу обратимости автомата А2. По адресу Z(2) записывают s(2) в память П. Точнее говоря, по адресу Z(2) находят все s(1)gS(1), содержа- щиеся в ячейке с адресом Z(2) и образуют пары (s(l),s(2)). Трудоемкость этой части алгоритма (при фиксированном Z(l)) есть T2(A2)=|S2(Z(l);y(l)|(t+v)+|S2(Z(l);y(l))|, и суммарная трудоемкость второго этапа есть Т2= Т|(А2)+ Т2(А2). На третьем этапе совокупность пар (s(l),s(2)), содержащихся в каждой адресной ячейке «согласуют» на оставшемся материале. Именно, для каждой пары (s(l),s(2)) опробованием проверяют выполнение равенства A(s(l),s(2), 3(1),5(2),3(3))=У(1),У(2),У(3), которое по определению пар (s(l),s(2)) может не выполняться лишь на послед- них L-t-v тактах работы последовательного соединения A=Ai->A2 автоматов Ai, А2. Трудоемкость такой проверки в числе опробований (на один такт) равна T3=|S(3(l),3(2);y(l),y(2))|(t+v+l)+|S(ii,...,it+v+i;y1,...,yt+v+i)|+... .. .+|S(i„. ..,iL.,;y„.. .,уы)|+|5(3(1), 3(2);У(1),У(2))|, где S(ii,...,ij;yi,...,yj) - множество пар (s(1),s(2))gS(1)xS(2), для которых A(s(l), s(2),i,,..., ij)=y... Последнее слагаемое в формуле для Т3 учитывает обращения в память П. Общая трудоемкость трех этапов при фиксированном Z(1)gO(1)‘ есть T(Z(l))=Ti+T2+T3. Все три этапа алгоритма проводятся для каждого Z(l)6 0(1)'. Поэтому общая трудоемкость метода есть T=|O(1)|‘T(Z(1)). При необходимости оценивают среднее значение Т, исходя из возмож- ных значений параметров Si(ibi2,...,ij;zbz2,...,Zj), S2(zl5...,Zj;yi,...,yj), S(ib...,ij;yi,...,yj).
257 Параграф 5.4 Принципы построения статистических методов криптоанализа. Принципы построения статистических методов криптоанализа весьма многообразны. В данном параграфе мы сформулируем ряд таких принципов, которые используются в известных статистических методах определения клю- чей шифрсистем. Ниже под моделью А* автомата А мы понимаем некоторый новый ав- томат, позволяющий с помощью А* решать поставленную для А задачу. Обыч- но эти автоматы зависимы и А* имеет некоторые количественные характерис- тики «похожести» на А. 1. Рассмотрим задачу восстановления ключа х=(ХьХ2) по известной выходной последовательности А(х)=уьУ2>---Уь--- шифрующего автомата А с помощью построения его модели А*. Пусть модель А* шифрующего автомата А такова, что ее выходная по- следовательность при произвольном ключе Х=(Х1 »Хг) зависит только от первой части Xi ключа и при случайно и равновероятно выбранном ключе Х=(ХьХ2) между последовательностями А(Х1,Х2)=У1,У2,.--,Ут, А*(Х1) =У*ьУ*2,-.-,У*т имеется кореляционная связь, а при ключах вида X=(Xi5X2) и X i*Xi такой связи в последовательностях А(хьХ2)=УьУ2,...,Ут, А*(Х1) =УьУ'2,...,У'т не проявляется. а) . Один из способов нахождения истиной части Xi ключа х по выходной по- следовательности А(Х1,Хг) состоит в опробовании вариантов х' i в А*, т. е. вы- числении последовательности А*(х'1)=у'|,у'г,...,у'т для каждого варианта x'i и в выявлении статистическим методом корреляционой зависимости между А(хьХг) и А*(х0 при истинном варианте Хь б) . Пусть при истиной части Xi ключа х=(ХьХг) последовательности А(Х1,Хг), A*(Xi) близки по Хэммингу. Предполагаем, что такой близости нет при ложной части Xi ключа х=(ХьХг)- В этом случае задачу определения истиной части Xi ключа можно свести к решению уравнения A*(xi) =у*1,у*2>--,у*т с искажен- ной правой частью, а записав это уравнение в координатной форме, - к реше- нию системы уравнений 9 Зак. 5
258 ®*t(Xi)=y*t, te{l,...,T} с искаженной правой частью уьу2,...,ут(см.параграф 5.5). 2. Рассмотрим задачу определения части %| ключа х=(у1,х2)еК|хК2 из уравне- ния Ф(Х1,%2)=у, где Ф: KjxK2—>У, уеУ. Предположим, что она решается мето- дом частичного опробования. Именно, опробуются все варианты %'i еК( и для каждого варианта проверяется разрешимость уравнения Ф(х ьХ2)=У относите- льно хг- Положим: У'(Х1)={У=Ф(ХьХ2)-’ (ХьХг)е {Xi}хКг) и введем индикаторную функцию: ... ч (1, если, уеУ'(Т1) Ь(ХьуН Л1 , О, если уёУ'(Х1) определенную на К]хУ'. В этих обозначениях критерий разрешимости уравнения Ф(х ьХг)=У относительно %2 описывается логическим правилом А'(хьУ)=0 => Xi “ ложный вариант, Х'(ХьУ)=1 Xi _ истиный вариант. Поиск эффективного критерия разрешимости уравнения Ф(х ьХг)=У в веденных терминах сводится к поиску «легко» реализуемых алгоритмов вы- числения индикаторной функции или, что то же самое, к конструктивному описанию множеств У'(Xi)> Х1еКь Нередко, ввиду сложности отображения Ф, найти индикаторную функ- цию не удается, т.е. не удается конструктивно описать множества У'(х>), Xi еКь Чтобы обойти эту трудность, обычно пытаются аппроксимировать мно- жества У'(Х1)> Xi некоторыми «хорошими» множествами У(хд, Xi еК» Если такие множества найдены, то опробование вариантов %] еК] проводят на основе вычисления значения новой индикаторной функции МХ..У>-{ ’’ eCM’ysV(Zi). О, если уёУ(Х1) Естественно, при использовании аппроксимаций в принятии решения по пра- вилу X(Xi,y)=O => Xi _ ложный вариант, X(xi,y)=l => Xi _ истиный вариант, - могут возникать ошибки. Далее процедуры такого вида будут называться X- процедурами (Х-критериями). Характеристики Х-процедур. Пусть значение у(0)=Ф(%(1),%(2)) полу- чено при неизвестном ключе (х(1)>х(2))- Будем определять часть ключа %(1) с помощью Х-процедуры. Оценим эффективность метода определения части
259 ключа Хь В качестве меры эффективности можно рассматривать следующие параметры. 1. Трудоемкость вычисления функции X (аппроксимирующей функции индика- торной функции). 2. Средняя мощность множества {хь X(xi,y(O))=l} ПРИ случайном и равноверо- ятном выборе ключа (x(l),x(2))eKixK2=K. Эта величина характеризует число вариантов первой части ключа, оставшихся для дальнейшей обработки с целью определения использованного полного ключа (х( 1 ),х(2))- 3. Вероятность не потерять истиный вариант части ключа Р(х(1)е{хь Х(хь у(0))=1}). Описание последних двух параметров на языке математической статистики. Введем в рассмотрение множество пар Т={т=(Хь X): XieKh Х=(х(П,Х(2))еК} и зададим на этом множестве меру Рт(т)=р(Х1)Р(х)> геТ, где р - равномерная мера на множестве Ki, а Р - некоторая вероятностная мера на множестве клю- чей К. Рассмотрим следующие подмножества множества Т. Т(0) = {т=(Хь Х): Х>еКь Х=(х(1),Х(2))еК, Х1=х(1)}, Т(1)= {т=(Хь X): XieKb Х=(х(1),Х(2))еК, Xi*X(l)}- Введенная основная мера Рт индуцирует на этих подмножествах соот- ветствующие условные распределения Рт(0)= Рт{т4еТ(0)} и Рт(1)= Рт{УтеТ(1)}. Если исходная мера Р равномерна, то эти условные распределения представля- ют собой равномерные распределения на соответствующих множествах Т(0), Т(1). На первом этапе решения задачи определения части ключа Xi из урав- нения у(0)=Ф(х(1),х(2)) нас интересует только один вопрос: в каком из мно- жеств Т(0), Т(1) лежит соответствующее t=(Xi>(x(D>X(2)))- Отождествим эту задачу с задачей разделения с введенных на Т(0), Т(1) распределений РТ(0), Рт<1) и посмотрим на Х-процедуру как на статистический критерий разделения этих двух распределений (двух гипотез Т(0), Т(1)). Этот критерий, обозначим его символом (Т(0),Т(1),Х), в общем случае допускает ошибки с соответствующими вероятностями - ошибками критерия: а= РТ(О){Х(Х1, у(0))=0}- вероятность события Xi=xG )> ПРИ условии X(xi, у(0))==0 и Р= Рт(1){Х(хь у(0))=1}- вероятность события Xi*X(l)> ПРИ условии X(xi,y(0))=l, где у(0)=Ф(х(1),х(2))- 9*
260 Теорема. При любой Х-процедуре и любой мере Р на К параметры л=Р{(%(1)б {Хь МХь у(0))=1} - надежность Х-процедуры и ЕХ- средняя мощ- ность множества {%ii Х(хь у(0))=1} при случайном и равновероятном выборе части ключа х(1)еК] выражаются через ошибки аир критерия (Т(0),Т(1),Х)в виде л=1-а, Е(Х)=|К1|[(1-а)|К1Г1+р(1-|К1Г1)]. ДОКАЗАТЕЛЬСТВО. Функция ч ( 1, если,уеУ(Х1) ^(Х1,У)=| у 1 0, если уёУ(Х1) представляет собой индикатор события Х1£{Х ь Х(х'ь у(0))=1} и поэтому л=1-а. Далее заметим, что |{Хь X(X1, У(О))=1}|=|{Х1: Х(х„ Ф(х(1),х(2)))=1}|=£ Х(Хь Ф(х(1),х(2)))= Х1 =|Ki| E(xi)( X(xi, Ф(Х(1),Х(2)))), I I где Е(Х1)(Х(Х1,Ф(хО),Х(2)))) - среднее значение случайной величины Х(хьФ(х(1),Х(2)) по возможным значениям Xi gKj при равномерной мере на К! (вероятность события: Х(Х1,Ф(х( 1)»Х(2)))=1 при случайном равновероятном вы- боре Xi ?Kj при фиксированном (х(1),х(2))еК). Усредним теперь значения |Ki|E(xi)( X(xi, Ф(х(1),х(2))) по всем (х(1),х(2))еК. Получим (будет использована теорема Фубини): Ц(Х)=Е (|{х,: Х(хь у(0)У=1}|)=|К,| Е(хьХ(1),Х(2))(Х(х.,Ф(х(1),Х(2)))), где E(xi,x(l)»X(2))(X(xi,Ф(х( 1),Х(2)))) - среднее значение случайной величины (Х(Х1,Ф(хО)>Х(2))) при равновероятном выборе XigKi и случайном выборе (х(1),х(2))еК с распределением Р(х), хеК1хКг. Другими словами, величина Е(Х1,%(1),х(2))(Х(хьФ(х(1),Х(2)))) есть вероятность Р события: Х(хьФ(х(1)>х(2)))=1 • Из определений ошибок а, 0 по формуле полной вероятности непосредственно получаем PKl-aW1 + р(1-|К1Г'). Таким образом, Х-процедуры можно описывать на языке математиче- ской статистики. Построение таких статистических процедур нахождения части ключа Х(1) из уравнения у(0)=Ф(х(1), х(2)) нередко проводят по следующей общей схеме.
261 Во множестве ключей К выбирают «часть» Ki ключей, то есть предста- вляют К в виде K=KixK2,a для основного отображения Ф: К|хК2—>У подбирают некоторое вспомогательное отображение Ф*: К1->У*. На множестве У*хУ за- дают некоторый функционал Ф:У*хУ->К| и строится статистика ф(Хь(х(1)»Х(2)))- Эта статистика и меры Рт(о)=Рт{т/теТ(О)}, Рт(1)=Рт{т/теТ(1)} индуцируют на борелевских множествах В числовой прямой два распределе- ния Рт(0)( ф(Хь (х(1),х(2)))еВ) и Рт(1)( Ф(х., (Х(1),х(2)))еВ). • Цель построения общей схемы состоит в подборе четверки Кь У*, Ф* и (р так, чтобы приведенные выше распределения «хорошо различались», то есть чтобы эти распределения были в основном сосредоточены на некоторых непересекающихся множествах В(0), В(1). Если такую четверку подобрать уда- ется, то в качестве решающей функции X берется индикаторная функция k(Xi, У(0))=1, если <p(xi, (Х(1),х(2)))еВ(0), *(Хь У(0))=0, если ф(хь (х(1),х(2)))£ В(0). Ошибки а, Р получаются из соотношений 1-а=РТ(0)( Ф(хь (х(1)>Х(2)))еВ(0)), Р=Рт(1)(ф(Хь,(х(1),Х(2)))еВ(0)). Принцип «удобного» разбиения множества ключей. Пусть I, Q, О — конечные множества, IxQ—>0. Задача состоит в на- хождении решения со(0) системы уравнений \|/(11,<»)=У1 V(i2,o))=y2 ф(1ы,со)=уы относительно неизвестного параметра <oeQ. Пусть ф*:1х£1—>0* - некоторое вспомогательное отображение, где О* - некоторый новый алфавит. Рассмотрим последовательность у*ь у*2,..., y*N, где v|/*(ii,co*)=y*i ф*(12,СО*)=У*2 V*(iN,(0*)=y*N для<о*еП. Предположим, что на I задано вероятностное распределение. Обозна- чим через Рш,а>»(к|/,к|/*) - совместное распределение пары (y(i,<o),y*(i,«>*)), ин- дуцированное распределением на I. Для заданной функции у* проведем разби- ение множества параметров Q на классы: Q1,Q2,...,QL так, что при любых
262 j,ke 1,Ьбыло верно утверждение: если со,со' принадлежат Qj, а со*,со** принад- лежат Qk, то _то есть распределение пары постоян- но на введенных классах: Pnj,nk= P«mo*(4',4'*)=f Pe»‘‘(Y,4'*). Если это условие выполняется, то будем говорить, что функция \|/* согласована относительно разбиения множества Q на классы: Q1,Q2,...,QL. Отметим, что можно действовать, исходя из разбиения множества Q. Именно, искать согласованную функцию для заданного разбиения. Задача определения решения со(О) приведенной выше системы уравнений может быть решена путем предварительного определения класса Qj, которому принадле- жит искомое решение. Задача же определения класса Qj может быть решена следующим образом. Опробуя представителей a>l,<o2,...,a>L классов Q1,02,.. ,,QL и вычисляя для всех j е 1, N значения \|/*(ij,(cok), ke 1, L, опреде- ляем значения выборок из распределений Pnk.o>(0)('K,V*)> ke 1,L (при этом по- следовательность ii,i2,.. .,iN рассматриваем как выборку из заданного распреде- ления на I). Если при любых m^n, m,ne 1,L последовательности распределений P<o(0)ni(V,v4P<o(0)a2(w*X- • .,Р<В(0)П1.(Ч',Ч'*), co(0)eQn, Pox0)qi(V,V*),PoX0)Q2('F,'I/*),---,Po>(0)ql('V,4/*), (o(O)eQm не совпадают, то пб значениям выборок из распределений Р<о(0)01('|/,'И*),Ро>(0)02('|/,'1/*), --,Рсо(0)пе('И,'1/*) можно статистическими критериями определить с некоторой надежностью класс Qj, которому принадлежит иско- мое решение со(О). Частный случай «удобного» разбиения. Для вышеизложенной идеи «удобного» разбиения возможен частный случай, когда Ряк,ок('|/,'И*)==Р('И,'|/*) при любом ke 1, L, и РаьЯк('|Л'И*)*Р('|ЛУ*) при любых j^k. Тогда, опробуя представителей классов Qj, je 1,L, пользуясь статистическими критериями, можно с некоторой надежностью определить искомый класс. 2). Другой подход к решению поставленной задачи поиска решения <о(0) сис- темы уравнений i|/(ii,<o)=y, Х|/(12,СО)=У2 V(iN,®)=yN
263 состоит в поиске функции для которой существует разбиение множес- тва Q на классы Q1,Q2,...,QL, такое, что элементы со, со' принадлежат одному классу тогда и только тогда, когда совпадают распределения Р<о(ф,0 пары (\|/(i,co),t(i)) и Рю (\|/Д) - пары (v|/(i,co'),t(i)), индуцированные заданным распреде- лением на I. В этом случае наблюдаемость пар (\|/(ij,co(0)),t(ij)), j е 1,N позволя- ет по выборке из распределения Ри(о)(y,t) статистически определить класс, в котором содержится искомое решение со(0). Примеры статистических методов анализа Пример 1. Метод статистических аналогов. Пусть, как и ранее, ф: IxQ—>0. Рассмотрим поставленную выше задачу нахождения решенйя со(0) системы уравнений \|/01,Ю)=У! v|/(i2,co)=y2 \|/(iN,<o)=yN относительно неизвестного параметра coefl. Эту систему уравнений можно за- писать в виде X,(i,)=yi X(i2)=y2 ^•бм)=Уы и решать ее относительно неизвестного отображения 1:1—>0, Хе{фю, coeQ}, Y<»(i)=\|/(i,a>). Пусть существует функция <р:1—>О, характеризуемая тем, что для всех функций Л. из некоторого подмножества М всех возможных функций {фи:сое£2} и только для них вероятность совпадения их значений со значе- ниями функции ф (при случайном и равновероятном выборе iel) имеет нену- левое преобладание Аф Р(ф(О= X(i))> j-^j+Дф, дляХеМ и Р(ф(О= X(i))=—для Л.£М.
264 Функцию ср, обладающую таким свойством, называют статистическим анало- гом подмножества М функций или просто статистическим аналогом. Зная последовательности 3=цд2,...йы и У1,Уг,...,Уы и вычисляя значения функции ф на элементах известной последовательности 3 ф(й)=у' ь ф(12)=у'2,• • .,фбм)=у'ы, сравнивают на совпадение последовательно первые, вторые и т. д. элементы последовательностей У1,у2,---,Уы и у'1,у'г,...,у'ы- Наличие ненулевого преобла- дания Дф в предположении, что ibi2,...,iN является выборкой из равновероятно- го распределения на I, дает возможность строить статистический критерий, по- зволяющий для достаточно длинных последовательностей с заданными ошиб- ками первого и второго рода принять или опровергнуть гипотезу: искомое ото- бражение X принадлежит множеству М. В общем случае множество возможных функций X, как правило, разбивают на непересекающиеся подмножества, объе- динение которых дает все множество функций. Для каждого подмножества строят свой статистический аналог, вычисляют значения у'ьУ 2,---,У n и ис- пользуют свой статистический критерий (со своим преобладанием) для провер- ки принадлежности искомой функции X своему подмножеству. Затем оцени- вают трудоемкость и надежность метода. Для более углубленного изучения способов построения статаналогов функций рекомендуем статью Сидельникова В.М. «Быстрые алгоритмы построения набора маркировок дискретных масси- вов информации». Труды по дискретной математике, Т.1, ТВП, М., 1977, стр.251-264. Пример 2. Статистический метод определения пары: входного сло- ва и начального состояния конечного автомата. Пусть A=(I,S,O,8,P) - автомат и A(s,3)=yl,y2,... ,yL - его выходная по- следовательность, отвечающая начальному состоянию seS и входной последо- вательности 3=il,i2,...,iL. Задача состоит в нахождении входной последова- тельности 3 и начального состояния seS при известных A(s,3) и множестве McIL, содержащем 3. Пусть h - некоторое натуральное число и L=kh. Обозначим через р(У/3) - вероятность получения выходной последовательности У бОь с автомата А при входном слове 3elh и случайно и равновероятно выбранном начальном состо- янии sgS, а через р(У) - безусловную вероятность получения У, при случайно и равновероятно выбранном начальном состоянии sgS и случайном и равнове- роятном выборе входного слова 3e!h. Для автомата А определим два случай- ных процесса и соответствующие им две гипотезы Н(0) и Н(1) получения пары: входное слово 3'=31,32,...,3к (в алфавите I) длины L=kh, 3jelh и выходное слово У автомата А.
265 Н(0) - последовательность слов длины h: 31,32,.. .,3к есть реализация выбор- ки из равновероятного распределения на 3h; последовательность (у1,у2,...уЬ)=(У1,У2,...,Ук), yj=y(j-l)h+l,...,yjh, je{l,...,k} получена последо- вательной переработкой (A(Sj,3j)=yj) автоматом А входных слов 31,32,...,3к при случайном и равновероятном выборе (для каждого слова 3j) начального СОСТОЯНИЯ (Sj) из S. Н(1) - последовательность слов длины h: 31,32,.. .,3к есть реализация выбор- ок ки из равновероятного распределения на 3 ; последовательность (у1,у2,...уЬ)=(У1,У2,...,Ук), есть реализация выборки из распределения (р(У),УеОь). Решение поставленной задачи проводится путем перебора возможных последовательностей (i 1 ,i2,... ,iL)=(31,32,.. .,3к) из множества М и использо- ванием статистической процедуры принятия одной из гипотез Н(0) или Н(1) для каждой пары слов (31,32,...,3k; У1,У2,...,Ук). Все не отбракованные вхо- дные последовательности 3', то есть 3', для которых принимается гипотеза Н(0), совместно с каждым состоянием sgS опробуются на предмет выполнения равенства A(s,3')=yhy2,... yL. Пример 3. Метод разностного анализа определения входного слова конечного автомата. Пусть A=(I,S,O,(8j)iei,(Pi)iei) - автомат, 3=il,i2,.. .,iL - его входное слово, s=S| - его начальное состояние, a s(3)=SL+i=8ii.8iL+i--.5i28iiS - его заключитель- ное состояние, полученное после воздействия входного слова 3 на автомат А с начальным состоянием sgS. Задача состоит в определении входного слова 3 автомата А по некоторому множеству МП пар (начальное состояние s; заклю- чительной состояние s(3)), полученном при входном слове 3. Обозначим через Am(s!,3)=Si,S2,...,Sl+i - последовательность состояний автомата А, отвечающую его входному слову 3 и начальному состоянию s=s i. Обозначим аналогично Am(s'i,3)=s'i,s'2,...,s'l+i- На множестве SxS определим некоторую функцию Ф со значениями в некотором множестве D. Для началь- ных состояний S] и s'i автомата А определим последовательность <D(S,,S'i),O(S2,S'2),..., O(SL+1,S'L+|). Примем следующую вероятностную модель. Задано равномерное веро- ятностное распределение на I. Оно индуцирует равномерные вероятностные распределения на IJ, j g {1,... ,L}. Задано также вероятностное рапределение на SxS. Вероятностные распределения индуцируют вероятностные распределения на значениях O(si,s'1),O(s2,s'2),..., O(sl+i,s'l+i), в связи с чем корректно опреде- ляются условные вероятности P(j,Y /А) =p(O(Sj,s'j)= y/O(s,,s' i)= A), jg {1,.. ,,L+1}.
266 Поставленную задачу определения входного слова 3 автомата А реша- ют в два этапа. На первом этапе находят возможные значения последнего символа it в 3. Выбирают пару (А,у), для которой величина P(L,y/A) принимает максималь- ное значение. Выбирают из первых компонент множества МП (из множества известных начальных состояний автомата) состояния, точнее, пары состояний вида: (sj,s'i), O(si,s' |)= А и из уравнений SilSiL-1 •.. 3i2Sj 1S1 =Sl+1 5il5iL-l---8i28ilS 1=S'l+1 Ф(8н.-1-.-8i25iiSi, 5iL-i...8i28jis'i)= у определяют множество I(si,s'i) возможных значений первой переменной iL. Для достижения эффективности метода функцию Ф обычно выбирают (если это возможно) таким образом, чтобы предыдущая система уравнений, запи- санная в форме 8jLSL=SL+l 8iLS'L=S'L+i Ф(8Ь S'L)=y, при известных значениях правых частей решалась относительно iL с достаточ- но малой трудоемкостью. В литературе это предположение формулируется как предположение о слабом криптографическом преобразовании 8^. Для сокращения мощности найденных возможных вариантов перемен- ной iL, эту процедуру проводят для нескольких пар начальных состояний со значением А функции Ф и выбирают общие решения относительно iL. Второй этап решения задачи зависит, к&к правило от конкретных осо- бенностей исследуемого автомата. Входные знаки il,i2,...,iL-l, теперь находят либо с предварительным определением состояний вида (sl,s'l) и использова- нием алгоритма первого этапа, либо перебором всех вариантов укороченной последовательности il,i2,...,iL-l, либо другими способами. ЗАМЕЧАНИЕ. При решении задачи неизвестная последовательность 3 фиксирована, а вероятности P(j,0/A) рассчитываются при случайном выборе входных последовательностей автомата. Для корректности вычислений пара- метров метода обычно используют предположение о том, что эти вероятности близки к вероятностям, полученным при фиксации последовательности 3 и случайном выборе начальных состояний seS. Для более детального ознаком- ления с примерами применения разностного метода криптоанализа рекоменду- ем книги: Грушо А.А., Тимониной Е.Е., Применко Э.А. «Анализ и синтез крип-
267 тоалгоритмов», 2000, 108 стр; А.Л. Чмора «Современная прикладная крипто- графия», М., Гелиус АРВ, 2001, 244 стр. Пример 4. Метод линейного криптоанализа определения входного слова автомата. Рассмотрим идейную сторону метода линейного криптоана- лиза на примере конечного автомата A=(I,S,O,(8i)iei,(Pi)iei) вида I=F2, S=F2 , моделирующего функционирование блочного шифра (например, шифра Фейс- теля), 3=il,i2,...,iL - его входное слово, s=si - его начальное состояние, а s(3)=SL+i=8iL8iL+i...8,28,18 его заключительное состояние, полученное после воз- действия входного слова 3 на автомат А с начальным состоянием seS. Задача состоит в определении входного слова 3 автомата А по некоторому множеству МП пар (начальное состояние s; заключительное состояние s(3)), полученном при входном слове 3. Рассмотрим выражение вида: (p(s)©\|/(sL+i) ®х(3)=е, где - фиксированные произвольные двоичные линейные функции на соответствующих пространствах F” и F^, 8GF2, © - сложение по mod 2. Пусть PL - вероятность выполнения этого равенства при случайном и равновероятном выборе s и 3. Преобладание Pl-1/2 характеризует эффективность выбранного соотношения. Чем больше преобладание, тем успешнее работает метод линей- ного криптоанализа, точнее говоря, лучше работает критерий на отсев ложных вариантов. Данное выше линейное уравнение позволяет определить (с некоторой надежностью) значение одной координаты входного бинарного вектора 3 ав- томата А. В ряде методов, эксплуатирующих такие выражения (линейные статис- тические аналоги), поступают следующим образом. Выписывают аналогичное равенство для промежуточного состояния Sj+ь <p(s)©\|/(Sj+i) ©%(il,i2,...,ij)=E, (*) выполняющееся с вероятностью Pj. Затем стараются выразить v|/(sj+i) через sL+i, и вектор (ij+l,ij+2,...,iL) в виде \|/(Sj+i)=4>'(sL+i) ®x'(F(sL+i,(ij+l,ij+2,...,iL)), где у', %’ - линейные функ- ции, a F - некоторая функция, принимающая значения на векторном простран- стве над полем F2. Подстановка выражения для v|/(sj+i) в уравнение (*) дает ли- нейное соотношение <p(s)® \|/'(sl+i) ®X'(F(sL+i,(ij+l,ij+2,..,,iL))) ®x(il,i2,...,ij)=e, (**) выполняющееся с той же вероятностью Pj при случайном и равновероятном выборе s и 3. Предполагают, что это равенство будет выполняться приблизи- тельно с вероятностью Pj и при фиксированной последовательности 3. В связи
268 с чем, при имеющихся парах (s,Sl+i), полученных при одной и той же последо- вательности 3, статистическими методами отсеивают ложные кандидаты в часть ключа (ij+l,ij+2,...,iL). При переборе варианов части ключа учитывают несущественную зависимость некоторых переменных, входящих в функции использованные в равенстве (**). Пример 5. Вариация статистического метода с методом координат- ного спуска (/Про/). В качестве примера применения статистического метода рассмотрим задачу дешифрования алгоритма криптографической защиты Gamma-З. Про- грамма шифрования запускается командной строкой DOS. При запуске про- , граммы проверяется санкционированность доступа, а именно наличие в диско- воде защищенной дискеты и определенных записей на ней. Дискета имеет не- стандартный формат. (В процессе экспертизы защита от копирования была до- статочно быстро снята, и здесь идет речь о немодернизированном варианте программы.) При удачной проверке программа запрашивает ключ для обработки файлов. Этот ключ дважды вводится с клавиатуры пользователем и представ- ляет собой последовательность из L (от 1 до 32) символов из латинских букв, русских заглавных букв и 22 служебных символов (пробел, равенство, звездоч- ка, знаки препинания и др.). Далее программа автоматически дополняет введе- ние L символов пароля до длины пароля в 32 байта и на основе этого дополне- ния пароля строит бинарный (рабочий) ключ х = (хь ...., хп) Длиной n=31 бит и формирует начальное заполнение регистра w = wt, w2,...., wL, L = 39. Открытый текст Ot и шифрованный текст IHt представляются в виде после- довательности бит. Уравнения шифрования имеют вид Zt+i = Ot+i Ф H(xj + wt+b х2 + wt+i,., х31 + wt+i) Wt+40 = Шж, где суммирование осуществляется по модулю 2, а пороговая функция, опре- деляющая гамму наложения, H(v(,..., v3|)=h(vi+ ...+v3|) равна 0, если Vi+... +V3i<16, и равна 1, если vi+... +V3i>l5. Общее число паролей, допустимых для использования в системе защиты, равно К = т32 +. т31 + ....+ т, где т=116 - число допустимых для ввода с клавиатуры символов. Таким образом, общее число паролей k> 1064 достаточно велико. Блок-схема алгоритма шифрования имеет вид:
269 ------------------------► Открытый текст Криптосхема имеет достаточно большое число ключей, в ней использо- ваны нелинейные схемы преобразований. С другой стороны, в алгоритме при- сутствуют и криптографические слабости. Прежде всего отметим, что в процессе зашифрования используется то- лько рабочий ключ длиной 31 бит и начальное заполнение регистра длины 39 бит (общее число вариантов ключевых установок равно 270«2-1021), а в процессе расшифрования при известном шифрованном тексте для расшифрования всех знаков, кроме первых 4 байт используется только рабочий ключ в 31 бит (об- щее число вариантов равно 231«2-109). Для системы защиты данных Gamma-З , если ориентироваться на рас- шифрование текста, начиная с 5-го байта, число неэквивалентных рабочих ключей, т. е. число ключей, дающих разные алгоритмы дешифрования, таким образом, равно 2-109. Это число, по меркам криптографии, невелико. На совре- менной cyrtep-ЭВМ ключ может быть найден методом тотального опробования всех вариантов ключей, путем проведения пробного расшифрования и отсева ложных вариантов открытого текста по его статистическим свойствам. Используемая в процедуре шифрования пороговая функция Н обладает существенными криптографическими слабостями. Главная слабость заключае- тся в том, что для многих пар близких (в смысле расстояния Хэмминга) аргу- ментов значения функции совпадают. Это приводит к повышенной вероятности совпадения гамм наложения шифра, полученных с помощью системы Gamma-3 на близких рабочих ключах.
270 Действительно, рассмотрим два рабочих ключа x=(xi,X2,...,X3i) и у=(уьУ2,...,Уз 1), отличающихся одним битом, т. е. находящихся на расстоянии Хемминга друг от друга, равном 1. Для определенности будем считать, что Х1=У1,... .,хзо=Узо, Хз1=уз1+1 (mod 2). Сумма знаков гамм наложения, получен- ных на этих ключах в один и тот же такт работы криптосхемы, имеет вид H(w( ф X1,...,W3O® X30.W31 Ф Х31)ф H(W1 Ф У1,...,3¥зоФ y3O,W31 ф Уз1)= =H(W] ф X1,...,W3O© X3O,W3I Ф Х31)ф H(W1 Ф Х1,...,\УзОф X3O,W31 ф Хз1 Ф 1)= =h(v+(w3i Ф Х31)) Ф h(v+(w3i Ф Хз! Ф 1)). Здесь через Ф обозначено суммирование по модулю 2 и V=(W1 ф Xi)+...+(w3o Ф Хзо). Обращаем внимание, что, если v<15 или v>15, то знаки гамм при обоих ключах совпадают. При естественном предположении, что последовательность wj, W2,.... по своим вероятностным свойствам близка к равновероятной схеме Бернулли (ма- тематическому аналогу последовательности независимых бросаний симметри- чной монеты), можно считать что, величина v распределена по равновероятной биномиальной схеме с 30 испытаниями. Отсюда получаем, что вероятность совпадения знаков гамм для рабочих ключей, отличающихся одним битом, равна 1- ( 30 15 ) 2’30. Расчеты показывают, что для рабочих ключей, находящихся на рассто- янии Хэмминга, равным единице, совпадают в среднем 85 % знаков гаммы, для ключей на расстоянии 5-75%, на расстоянии 10-62%, на расстоянии 15-50%. Для ключей, находящихся на большем расстоянии, знаки гамм будут в боль- шинстве случаев отличаться инверсией, единице в одной гамме чаще будет со- ответствовать ноль в другой гамме. Это'также является недостатком (для наде- жных криптосхем гаммы, снимаемые при любых двух несовпадающих ключах, должны отличаться друг от друга в среднем в половине случаев). С учетом отмеченных выше слабостей криптосхемы Gamma-З был раз- работан алгоритм нахождения рабочего ключа, основанный на идее координат- ного спуска. Метод координатного спуска относится к методам направленного перебора ключей и может рассматриваться как дискретный аналог известного метода градиентного спуска. Метод координатного спуска. В применении к решению системы булевых уравнений f(x)=a от п неизвестных метод заключается в следующем.
271 На первом этапе случайно выбирается начальный вектор у0 и вычисляе- тся значение p(f(y°) Ф а), равное числу несовпадений значений вектора f(y°) с правой частью системы уравнений и называемое уровнем вершины. Далее рас- сматриваются все вектора у°( 1), у°(2),...,у°(п), отличающиеся от у0 одной коор- динатой, вычисляются их уровни и в качестве у1 выбирается вершина минима- льного уровня. Далее повторяется первый этап с заменой у0 на у1. Процедура продолжается до возникновения ситуации, когда y-yt+1. В этом случае, как говорят, мы пришли в локальный минимум поверхности уров- ней вершин. При попадании в локальный минимум производится анализ полученно- го значения у\ Если по принятым критериям найденный вариант признается решением, то на этом процедура поиска заканчивается. В противном случае случайно выбирается новая начальная точка у0 и алгоритм повторяется. Таким образом, метод координатного спуска заключается в выборе на- чального значения переменных, переборе всех соседних с ним элементов и движении по направлению снижения уровня. Отсюда следует и название «ме- тод координатного спуска». Метод координатного спуска может быть применен и в случае, когда гамма наложения известна с отдельными искажениями, в частности, в задаче дешифрования по известному шифртексту. При этом гамма рассматривается как некоторый шум, наложенный на открытый текст. Наличие шума, конечно, снижает эффективность метода. Слабая чувствительность алгоритмов дешиф- рования к искажениям в имеющемся в распоряжении аналитика материале яв- ляется важной характерной особенностью и других статистических методов нахождения ключей. Удачно подобранные примеры применения статистических методов криптоанализа и расчета их трудоемкости содержатся в книге Грушо А.А., Ти- мониной Е.Е., Применко Э.А. «Анализ и синтез криптоалгоритмов», 2000, 108 стр. Для изучения методов криптоанализа, созданных на основе теории ста- тистических решений, рекомендуем книгу /25/. Параграф 5.5 Введение в теорию случайных систем уравнений Материалы данного параграфа базируются на статье Г.В. Балакина «Введение в теорию случайных систем уравнений» Труды по дискретной математике. Том 1, стр. 1-18 (Под ред. В. Н. Сачкова и др.) Научное издательство «ТВП», 1997 г. 1. Примеры случайных систем уравнений. В параграфе рассматриваются системы уравнений fi(xl,...,xn) = ai, i = (1)
272 в которых ' х,. е N-, |#| = q, а, еЛ/, i = N,M - некоторые множества, например, N = {0,1,...,<? - 1},М = (0,1,...,т- 1). Каждая функция, задает отображение N” в М. Если система (1) рассматривается над конечным полем GF(g), то т = q и элементы поля для удобства будем отождествлять с наименьшими неотрицательными вычетами по модулю q. При т = q = 2 система (1) называется булевой. Особое промежуточное положение занимают так называемые псевдобулевы системы, для которых неизвестные х, ,...,х„ булевы, т. е. принимают только два значения 0 и 1, а функции fx задают отображения булевых векторов в поле вещественных чисел R. В криптографии неизвестные - элементы ключа, а система уравнений (1) называется системой уравнений гаммообразования. Одним из подходов к анализу свойств систем уравнений вида (1) является задание вероятностной меры на множестве таких систем и изучение получающихся при этом случайных характеристик систем, например, среднего числа решений, структуры решений, распределения числа решений, числа уравнений, необходимого для однозначного определения решения системы либо для ее несовместности (отсутствия решений). Характеристики, усредненные по всему рассматриваемому классу систем уравнений, дают предварительные ориентиры при анализе любой конкретной системы из данного класса систем. Заметим, что в некоторых случаях случайность системы уравнений естественно порождается физической природой рассматриваемой задачи. Приведем примеры возникновения систем уравнений с целочисленными неизвестными. Конечные автоматы, «черный ящик». В этом случае системой (1) задается функционирование автомата. Входом являются неизвестные хх,...,хп, выходом - правая часть а1,...,а1 (Как правило, все функции fx,...,ft одинаковы и отличаются друг от друга только выбором аргументов. Например, если функция f = fj, (i = l,...,t) принадлежит некоторому множеству многочленов от целочисленных переменных, то, зная вход и выход автомата, приходим к необходимости решения системы линейных уравнений относительно коэффициентов этого многочлена. При неизвестном входе
273 возникает сложная задача определения закона функционирования автомата (проблема «черного ящика») Передача сигналов по каналу связи. Пусть сигнал хх,...,хп кодируется системой функций fx и на принимающее устройство поступают значения <?, = /^(х, ,...,хя ), i = , причем некоторые из них случайным образом искажаются. Функции fx,...,ft могут выбираться случайно из некоторого . множества функций (случайный блоковый код). Например, передаем г -набор из значений неизвестных хх ,...,хп, а на приемном конце принимаем, помимо переданного истинного т -набора, еще несколько ложных т-наборов (шум). Здесь необходимо определить, сколько и каких т-наборов надо передать для правильного однозначного декодирования, т. е. для восстановления истинных значений х1 ,...,хп. Классификация и распознавание образов. Очевидно, что задача решения системы уравнений (1) сводится к задаче классификации (распознавания) неизвестных х, ,...,хп, т. е. к определению множеств неизвестных, принимающих заданное значение seN,s = 0,...,q- 1. Если решение исходной системы единственное, то и решение задачи классификации тоже единственное. На систему уравнений (1) можно посмотреть и с другой стороны. Каждая функция из fx,...,ft характеризует некоторые свойства наблюдаемых объектов (аргументов), и по значениям функций (правым частям системы ах ) и набору свойств следует провести классификацию объектов (неизвестных х1 ,...,х„). Для простейшего случая, когда fk ( х ) = f{xik,xjk ), системе (1) • ставится в соответствие ориентированный граф по следующему правилу: вершина xik соединяется с вершиной х^ дугой ик веса v(uk ) = ак = J\xit ,Xjk ). Функция /(х,-,ху ) может характеризовать близость по какому-то свойству между объектами х7 и ху., например, расстояние между ними. Здесь возникает много интересных задач по изучению различных характеристик графов. Линейный случайный код. Рассмотрим случайный код, реализации которого представляют собой линейный код над GF(<?). В этом случае кодирующая матрица А кода есть случайная матрица, х = (х, ,...,хя ) есть
274 входное слово, a =(ai,...,al ) есть кодовое слово, х^а^ gGF(<?), i = > n. Входное слово преобразуется в кодовое слово с помощью матрицы А: хА = а Эта система является (в силу случайности матрицы А) случайной системой линейных уравнений над GF(g). 2. Классификация систем уравнений. Вначале выделим важный класс случайных систем уравнений. В общем случае случайная система уравнений ^,.(х1,...,х„ ) = с,. i = (2) по некоторому вероятностному закону выбирается из некоторой совокупности систем уравнений Q. Здесь под элементарным событием а> = {f <ogQ мы подразумеваем конкретную реализацию системы уравнений (2) ) = f = ), с = (с, ) = а = (ах )}. Каждому элементарному событию а приписывается вероятность p(<y)>0, 2X®)=1- При построении случайной системы независимых уравнений выбор уравнений в системе осуществляется по некоторым вероятностным законам последовательно и независимо из соответствующих совокупностей уравнений. Как правило, совокупность уравнений и вероятностный закон одни и те же для всех уравнений. В случайной системе независимых уравнений возможны повторы уравнений и появление двух уравнений с одинаковой левой частью, но с разными правыми частями. Во втором случае, система не имеет решений, и мы будем говорить, что эта система несовместна. Случайная система независимых уравнений, как легко видеть, является частным случаем рассмотренной выше случайной системы, которая выбирается вся целиком. Очевидно, что для случайной системы независимых уравнений при любом со е Q pW=Пл (<*>. )> = (Z Л )> ® = (®1 ), 7 = 1
где р{ — вероятностная мера на множестве возможных реализации z-ro уравнения системы. Классификацию систем уравнений можно проводить по трем параметрам: 1) характер зависимости правых и левых частей в системе; 2) алгебраический вид левых частей; 3) способ задания правых частей. По характеру зависимости правых и левых частей системы уравнений могут быть полуслучайными, случайными и заведомо совместными случайными. Приведем соответствующие определения. Определение 2.1. Система уравнений называется полуслучайной, если либо ее левая часть случайна, т. е. выбирается по некоторому вероятностному закону, а правая часть фиксированна, либо ее правая часть случайна, а левая часть фиксированна. Определение 2.2. Система (2) называется случайной системой уравнений с независимыми частями, если ее левая часть ip = (^ ,...,$>,) не зависит от правой части с = (c‘j ) По сути дела, введенные в определениях 2.1 и 2.2 понятия относятся не столько к вероятностной структуре случайной системы, сколько к форме ее записи. Например, в любой системе можно перенести правые части в левые,к сделав ее полуслучайной. Для случайной системы уравнений с независимыми частями выполняется равенство /?(«) = «о = (/,а)еО где и 'р - вероятностные меры на множествах значений левой и правой частей случайной системы уравнений, соответственно. Заметим, что случайная система может оказаться полуслучайной, если /»(су) = /(/) или р(й>) = р(я)- Таким образом, случайные системы уравнений включают в себя как частные случаи полуслучайные системы уравнений, случайные системы независимых уравнений, случайные системы уравнений с независимыми частями. В дальнейшем изложении мы будем говорить о случайных системах
276 уравнений, лишь иногда оговаривая особенности рассматриваемых систем. Обозначим число решений случайной системы из t уравнений. Выделим еще один важный для практики класс случайных систем уравнений. В рассмотренных в пункте 1 примерах мы имели дело с системами уравнений следующего вида: /(*)=«<> at = /(х0), z = l,...,/, (3) где х° = (х° ,...,х° ) есть некоторый вектор, называемый обычно истинным решением. Эта система отличается от системы (2) тем, что правые части системы (3) всегда (при любом числе уравнений) удовлетворяют условиям ai = ft (*° )»z - 1 • Вероятность того, что случайная система с независимыми частями (2) несовместна, как правило, стремится к 1 при t->оо. Определение 2.3. Система уравнений (2) называется заведомо совместной случайной системой уравнений, если РК eUM*)}f = 1 (4) Таким образом, истинное решение х° удовлетворяет системе (3) при любом ее расширении (добавление уравнений). Ложное решение может не удовлетворить некоторому уравнению при расширении системы. Как правило, будем считать, что система допускает только одно истинное решение, другие случаи будут особо оговариваться. Обозначим через T]t число решений заведомо совместной случайной системы из / уравнений. Очевидно, что > 1. В заведомо совместную систему случайность может быть введена разными способами. Первый способ, как и для случайных систем, связан со случайным выбором функций fx . В этом случае левая часть системы (3) случайная, а правая часть однозначно задается левой частью и вектором х°. При другом способе левая часть системы (3) фиксирована, а правая часть становится известной только после случайного выбора истинного решения х°. В обоих случаях правая часть случайная, так как зависит от выбора либо левой части, либо х°. В последнем случае мы имеем дело с полуслучайными заведомо совместными системами уравнений.
277 При случайном выборе функций и истинного решения х° заведомо совместная система становится как бы полностью случайной. Действительно, в этом случае случайны левая часть (в силу условия) и правая часть (из-за случайного выбора х° ), однако связь между левыми и правыми частями сохраняется: Заметим, что так определенная заведомо совместная система в отличие от случайной системы уравнений не может быть заведомо совместной системой случайных уравнений с последовательным и независимым выбором уравнений системы, так как правые части зависимы между собой из-за наличия такого о вектора х , для которого Системы уравнений различаются также по алгебраическому виду левых частей. Системы уравнений могут рассматриваться над конечным полем GF(<?), кольцом, группой или над полем вещественных чисел. Системы уравнений над R обычно называются целочисленными. В частности, системы могут быть булевыми или псевдобулевыми. Возможны и смешанные системы уравнений, когда часть уравнений, к примеру, булевы (т. е. над GF(2)), а часть уравнений псевдобулевы (т. е. над R). Кроме того, системы уравнений могут быть линейными и нелинейными, с фиксированным или со случайным числом неизвестных в каждом уравнении, и т.д. В заключение кратко скажем о наиболее типичных способах задания правых частей в системах уравнений. Системы могут иметь точно известную правую часть, правую часть, известную в вариантах, и искаженную правую часть. Заметим, что для заведомо совместной системы уравнений ее истинная правая часть обязательно содержится среди возможных вариантов правых частей, а при наличии искажений система может оказаться несовместной. В последнем случае иногда в правую часть вводят так называемые мешающие параметры (см. Балакин Г. В. Системы уравнений с мешающими параметрами. -В сб.: Всероссийская школа-коллоквиум по стохастическим методам геометрии и анализа. Тезисы докладов. М.: ТВП, 1994, с. 11-12), характеризующие искажения, и система уравнений остается заведомо совместной, т. е. имеет истинное решение х° при некоторых истинных значениях мешающих параметров (искажений).
278 Для краткости в дальнейшем изложении случайные системы уравнений с независимыми частями будем называть случайными системами, а заведомо совместные случайные системы уравнений — заведомо совместными системами. Напомним еще раз, что для заведомо совместных систем, в отличие от случайных систем, выполняется равенство (4), которое указывает на существование зависимости между левыми и правыми частями системы. 3. Задачи анализа систем уравнений. Основная задача для случайных систем - определить или оценить величину Р{<^, > О} - вероятность совместности системы. Представляют интерес также среднее число решений и структура множества решений. Более сложная задача - найти распределение числа решений . Ясно, что последняя задача содержит в себе нахождение вероятности совместности и среднего числа решений. Зная функциональную зависимость среднего числа решений случайной системы от числа уравнений, нетрудно оценить так называемый «порог единственности» - минимальное число уравнений /0, при котором среднее число решений случайной системы не превосходит 1: • Е^,о<1, Е£о_,>1. Очень важно для случайной системы оценить момент t* - «порог несовместности», когда система становится несовместной: ^,.=0. Найти распределение этого момента /*, как правило, очень трудно. Для линейных систем над полем GF(^) он связан с появлением линейных зависимостей между строками матрицы системы. При изучении заведомо совместных систем основная задача - найти распределение числа решений и структуру множества решений. Более простыми задачами могут оказаться оценка среднего числа решений и вероятностных характеристик числа уравнений, при котором заведомо совместная система с заданной вероятностью имеет только одно решение. Для линейных заведомо совместных систем над полем GF(<y) с матрицей At распределение числа решений определяется рангом r(At) случайной матрицы 4 Р{'7,=‘7""и1}=1. Р{>7,=1)=РИИ,)=П}
279 По аналогии со случайными системами определим «порог единственности» для заведомо совместной системы равенством = min{r: Efe -1) < 1, E(ql_l -1) > 1}, т. е. /0 - минимальное число уравнений, при котором среднее число ложных решений заведомо совместной системы не превосходит 1; ' =min{z:77,_1 >2,7/, =1}, т.е. t* - минимальное число уравнений, при котором заведомо совместная система имеет единственное решение. Ложные решения при t > t* отсутствуют. Предположим, что во всех t уравнениях заведомо совместной системы левые части не зависят от V, неизвестных. Тогда очевидно, что в заведомо совместной системе rjt >qv'. Здесь возникает, как правило, комбинаторная задача нахождения распределения случайной величины v,. Например, оценка такого момента t, что v,_] > 0, a v, = 0. Очень существенным моментом для заведомо совместной системы является изучение структуры множества возможных решений, связи ложных решений с истинным решением. Например, если с вероятностью, стремящейся к 1 при t, п —> оо, ложные решения отличаются от истинного решения х не более чем к(п) координатами, к(п) = о(п), то первое же найденное решение системы будет либо истинным, либо даст существенную информацию об истинном решении, которая может быть использована при поиске остальных решений системы. Заметим, что при анализе числа решений, их структуры, связи с истинным решением обычно удается выделить такие события, которые в основном и определяют поведение отмеченных параметров и наличие свойств. При разработке эффективных методов решения такие результаты могут оказаться полезными и подсказать исследователю способ решения задачи. 4. Сравнение случайных систем с независимыми частями и заведомо совместных случайных систем уравнений. По определению в случайных системах с независимыми частями совокупность левых частей не зависит от совокупности правых, а в заведомо совместных случайных системах уравнений правая часть есть результат
280 подстановки в левую часть некоторого вектора. Поэтому случайная система может оказаться несовместной. Если случайная система имеет решения, то различия между случайной системой и заведомо совместной системой следует искать в числе решений и в их структуре. Для заведомо совместной случайной системы уравнений решения могут оказаться в каком-то смысле близкими к истинному, отражать его структуру. У случайной же системы все решения как бы равноправны, так как любое решение может, в принципе, отсеяться при добавлении уравнений к системе. Рассмотрим связь между распределениями числа решений £ случайной системы уравнений с независимыми частями и числа решений 7 заведомо совместной случайной системы. Согласованные системы уравнений. Пусть в системе уравнений = i = (5) функции <px,...,<pt задающие отображение в М, по каким-то вероятностным законам выбираются из некоторых множеств функций Фр...,Ф,, соответственно, неизвестный вектор х может принимать qn возможных значений х(1),...,х(д"), а значения с,,...,с, правой части в одном случае по некоторому вероятностному закону независимо от левой чарги выбираются из множества М‘, а в другом случае есть результат подстановки в левую часть системы некоторого фиксированного значения х = х(у). Распределения левых частей в обоих случаях одинаковы. Обозначим множество возможных реализаций случайных систем уравнений с независимыми частями символом Q, подразумевая под элементарным событием со = cog О конкретную систему уравнений (5) с = f = (Z>-,/г ),с = а=(ах Пусть, далее, - множество реализаций случайной системы (5), которым удовлетворяет значение х = x(i\ i = \,...,q"; - множество несовместных систем уравнений; р(<®) = У>(/)р(а) есть вероятность
281 конкретной реализации co = \f,a) случайной системы (4.1); Q(j) - множество реализаций заведомо совместной системы (4.1) с истинным решением х = х(у }, - число решений заведомо совместной системы с истинным решением х(у). Очевидно, что ч' ?* O=(jn„ U(n«nn.)=0- Un>=lJnW 1=0 1=1 i=l ;=1 Определение 4.1. Назовем случайную систему уравнений с независимыми частями и заведомо совместную случайную систему уравнений вида (5) согласованными, если для любого i = l,...,q 1)Q,. =Q(zj; 2) p(f)= ), co = (/,/(x(z)))e Q,; 3) распределение tj(i) не зависит от номера z. Лемма 4.1. Если правая часть случайной системы уравнений с независимыми частями (5) имеет равномерное распределение на множестве допустимых правых частей, то первое и второе условия согласованности выполняются. ДОКАЗАТЕЛЬСТВО. В элементарное событие со включаются конкретная левая часть системы f = (/],...,/,) и конкретная правая часть системы а = (a15...,az). Поэтому для случайной системы с независимыми частями pW=p(/)p(«) а для заведомо совместной системы с истинным решением х(у) и а = /(х(у)) вероятность этого события* равна вероятности появления левой части так как правая часть однозначно определяется левой частью. Первое условие согласованности выполняется, поскольку в случайной системе правые части могут принимать все возможные значения. Для второго
282 условия находим, учитывая, что Q, содержит ровно одно элементарное событие а> = (/,а) при каждой левой части f: p(Q/)=LX/W(M0))= f p(<y)/p(Q,.) = p(f )p(a )/ q" = p(f} Лемма доказана. Замечание. Лемма 4.1 верна и при более слабом ограничении на распределение правых частей. Действительно, для выполнения первого условия согласованности Q- =Q(z) достаточно потребовать выполнения неравенства р(7(*(0)) > ° при р(7) > ° > а второе условие согласованности указывает на одинаковые значения вероятности появления правых частей для систем уравнений из . Приведем несколько простейших примеров согласованности случайной системы и заведомо совместной системы. а) Линейная система уравнений над полем GF(<y) с независимыми и равномерно распределенными в GF(^) коэффициентами и правыми частями: + + = Z>z, i = 1,...,Z (6) Покажем, что случайная система (6) согласована с заведомо совместной системой ЗД +--- + ainxn =bt = ад1°+--- + ад„°, i = (7) коэффициенты которой имеют такое же распределение, как и в случайной системе (6). Действительно, в силу равновероятности правых частей линейных уравнений системы (6) по лемме 4.1 выполнены первое и второе условия согласованности. Далее, число решений заведомо совместной системы (7) равно числу решений соответствующей однородной системы уравнений
283 ЗД+Л +ainyn =0, i = у i = Xj + x,°, i = или, что то же самое, числу решений заведомо совместной системы (7) с истинным решением х° = (0,0,...,0} Следовательно, распределение числа решений системы (7) не зависит от вида истинного решения, и системы (6) и (7) согласованны. б) Рассмотрим систему уравнений (5) с целочисленными неизвестными xit...,x„ еЛГ,|У| = ?: ^,.(х1,...,хя) = с,., г = 1,../. (8) Пусть функции (px,...,(pt - независимые случайные величины, имеющие равномерное распределение на множестве всех возможных.функций, отображающих множество N" в множество М , |Л/| = т . Всего таких функций тч . Правая часть с не зависит от левой части . Соответствующая заведомо совместная система имеет вид (pi(xl,...,x„) = <pi(xf,...,x°„), i = ’ (9) Так как случайные функции имеют равномерное распределение, то число решений одного уравнения из системы (9) не зависит от истинного решения х°. В силу независимости выбора уравнений этот факт имеет место и для всей системы уравнений. Следовательно, если в случайной системе (8) с1,...,с1 - независимые случайные величины, имеющие равномерное распределение на множестве М, то системы уравнений (8) и (9) согласованны. в) Псевдобулева система уравнений /.(х) = а,., i = l,...L с линейным псевдобулевым ограничением на неизвестные х. + х, +Л +х„ =п. 1 z п 1
284 Пусть в указанной системе уравнений /.(x)=/.(xS(i,...,x,J, где Sj = (sn,...,sir) при любом i = есть выборка без возвращения объема г из совокупности {1,2,...,и}, все выборки независимы и равновероятны. Для заведомо совместных систем этого вида с истинным решением х°, удовлетворяющим условию х, + х2 +Л + х„ = щ , распределение числа решений не зависит от х°, что следует из симметрии и равновероятности выборок неизвестных. Поэтому случайная система и заведомо совместная система согласованны при выполнении условий леммы 4.1. Связь между распределениями чисел решений согласованных случайных и заведомо совместных случайных систем уравнений. Теорема 4.1> Если случайная система уравнений с независимыми частями и заведомо совместная случайная система уравнений согласованны, то между распределениями их чисел решений % и Т] существует следующая связь: ) (10) Pfe = £} = E£Pi7~^, k>\. ДОКАЗАТЕЛЬСТВО. Представим случайную величину £ в виде суммы индикаторов £ = £+Л+^, полагая = 1, если вектор х(у) удовлетворяет случайной системе, j = K..,qn. Рассмотрим моменты сдучайной величины £: В силу согласованности систем уравнений
285 е(Г'/£, =!)=£//-'. Отсюда следует основное соотношение для моментов случайных величин g и rj Е^к =Е^Ет|к-1, к>1. Очевидно, ' tk Ее‘< Т, £>0 к>0 К- Но в силу формулы Е£,к = Е£,Ет]к -1, к > 1 находим к 2X^=i+Efj *>о к- о v>o к\ J Следовательно, к>0 о \teO В это равенство введем новые переменные х = ег, y = ez. Получим соотношение между производящими функциями A Yk —1 = к}х‘ = 1 + Е£J Xrfo = i}/-' U = 1 + EfУ Pfc = 1 k>0 1 \ k>\ J &>1 Сравнивая коэффициенты при одинаковых степенях х, приходим к формулам (10). Теорема доказана. Следствие 4.1. Для вероятности совместности случайной системы уравнений с независимыми частями имеет место оценка Pfe>O) = E^l-e(E^-l)l где 0 < 0 < 1. ДОКАЗАТЕЛЬСТВО. Из формул (10) следует: Р{£ > 0} = Е^У-fe—< Eg ш к
286 Очевидно, что P{r] > 1}< Erj-1. Отсюда получаем неравенство Pfe>0}>E^P{77 = l}>E^2-E7) из которого следует требуемое равенство. Лемма 4.2. Пусть случайная система уравнений и заведомо совместная система уравнений согласованны. Тогда Р{£ > 1} (вероятность совместности случайной системы) и Р{^ = 1} (вероятность единственности решения заведомо совместной системы) связаны следующими неравенствами и соотношениями: pfeal}=E41-«(i-p{7 = i})J |<0<1 ДОКАЗАТЕЛЬСТВО. Из формул (10) находим Pfcil} = El£5fc^< к>1 К = црй—О=i-l(i-p{n=i)) Нижняя оценка для Р{£ > 1} очевидна: Pfe > 1} > Pfe = 1} = Е£Р{7 = 1} = Е£[1 - (1 - Pfe = 1})J Докажем верхнюю оценку для Р{£ > 1}. Легко проверить, что у P{rf < р{ = 1)|Р{7 = 2}|1-Р{7 = 1}-Р{7 = 2} = 2+4Pfa=l}+PM Ь к W J 2 3 6 Ет7>Р{7 = 1}+2Р{7 = 2}, Pfa = 2}<
287 Отсюда и следует верхняя оценка для Р{£ > 1}, приведенная в утверждениии леммы 4.2. Лемма 4.3. Для согласованных случайной системы уравнений и заведомо совместной системы уравнений выполняется неравенство Р{£>1}>^- Ет; ДОКАЗАТЕЛЬСТВО. Рассмотрим выражение Е£ tai к (>] , . Ef Неравенство Р{£ > 1} >- следует из соотношения так как z + z 1 > 2 при z > 0. Найдем условное распределение £ при условии % > 1. Очевидно, что Р^=Л/^>1}=-РХ=-^р k>i; ( /Ъ J 1-Р{£ = 0} Е(£/£>1) =---—г. V ’ 1-Р{£ = 0} Поэтому из (10) следует, что к При к < > 1) Л>Р{т7 = £}, апри А:>Е(^/^>1) Рк <?{ri = k}.
288 Следовательно, по числу решений можно статистически различать заве- домо совместную систему и случайную систему, имеющую решения. В заключение отметим, что связь (10) имеет место и в том тривиальном случае, когда все индикаторы независимы и одинаково распределены: pfc = i}=p, Pfe =0}=1-Л и случайная величина г] имеет такое же распределение, как и б+А+^.,+1. Действительно, для к > 1 в этом случае pfe=*}=с;. рЧ1 К К, 5. Системы уравнений с искаженной правой частью. Рассмотрим систему булевых уравнений (1) 7(х)=&, ап в которой Ъ = а®с,а= /(х0), £ =(е1,...,£1>) есть вектор ошибок, не зависящий от левой и правой частей исходной системы уравнений. Такие системы уравнений (5.1) называются системами уравнений с искаженной правой частью. Обычно координаты вектора ошибок £1,...,£1 - независимые случайные величины и I Р^.=1} = Л<|, i = (12)1 Система (11) при pi = 1,.•.Аявляется случайной системой | уравнений с независимыми частями, а при = 0 (z = - заведомо I совместной системой. I ~ —о I Ставится задача статистической оценки вектора х по реализации I системы (11). " I Каждому вектору х соответствует вектор ошибок I
289 f(x) = f(x)®b , который определяется подстановкой вектора х в левую часть системы (11). Вероятность появления такого вектора ошибок при условии (12) есть Р{г, = s,(x),=^(х)} = Пр?И(1-Р,ГИ. /=1 Если вектор х°, по которому строится правая часть (11), случаен, не зависит от/ и ё и имеет равномерное распределение на множестве возможных решений X, то вектор х*, удовлетворяющий условию max₽{f = ё (х)} = р{г = <f(x*)} естественно считать максимально правдоподобным. Такой способ построения оценки вектора х° называется методом максимума правдоподобия (ММП). В теории кодирования аналогичная процедура, применяемая при pt = p,i = , для декодирования блоковых кодов, задаваемых преобразованием (х,,..., хп) —> (/ (х,,..., х„),..., ft (xj,..., х„)), называется методом декодирования в ближайшее кодовое слово. Основной задачей анализа систем уравнений с искаженной правой частью является оценка величины р|х‘ = х0}, которая характеризует надежность метода максимума правдоподобия. Приведем оценки р{х‘ = х° } для случаев фиксированной и случайной левых частей системы. Если = p,i = , то каждому вектору х соответствует «невязка» ?(*)= i=i т. е. число уравнений в системе (11) которым не удовлетворяет вектор х . При этом для истинного решения s(x°)= +Л + st, 10 Зак.5
290 где £x,...,£l - биномиально распределенные случайные величины с P{f, = 1} — р = 1 - P{<s; = О}, i = 1,...,/, а для ложного решения х Ф х° 5(*) = S ei (*) = SI/ (*) ® Z (*° )® £< 1 i=i /=1 Таким образом, если левая часть системы (11) фиксированна, то p{^)=i}={/ при (1-р при fXx^fXx ) Во втором случае при случайном выборе функций в системе уравнений Т{г,(х) = 1} = р{/(х)® с, = 1}= 1 + (1 - 2р'р>’/; (х) = /,(х“)}-| В силу того, что 5(х*)=тт5(х), вероятность ошибки при решении задачи ММП можно оценить следующим образом: -I, m Теорема 5.1. Пусть pt = р <A/2,i = , и выполняются следующие условия: 1) функции независимо выбираются из некоторого множества функций Ф; 2) р{^.(х)^ Дх°)}> р для любого х *х°,0 <р <1; 3) если Т] —> оо, |х| —> оо, и t = In pYf i-p
291 rolim^^ >0. Тогда построенная методом максимума правдоподобия оценка решения х° состоятельна: р{г=х0}->1, П—>00. ДОКАЗАТЕЛЬСТВО. Положим в правой части (13) c = pt + ux_a^tp^-p\ где их_а - квантиль нормального распределения с уровнем значимости 1-а. Тогда при достаточно больших t c = pt + их_афр(1 -р)< t(p + Д(1 - 2/?)). Используя нормальное приближение для распределения случайной величины s(x°), находим, что при п —> оо и а = const Для х Ф х° Д(х) = P{S(x) = е,(х)+А + et(х) < с} < £ С‘(р*)'(1 - р', i<c так как pk(*)=z(*°)®Z(*)®3=1}=р+(1-2р)р{/;(х0)*/;(х)}>р+(1-2р)д=/ Согласно известной оценке Чернова (см. /Месси Дж.. Пороговое декодирование. М.: Мир, 1962/) для Р° ~ “ Р Е С< G7*) 0 “ Р* У' ~ ехр{“ (Ро )~Н(Ро )Ц i<c=pQt где Н(р) = - 1п[р"(1 - р}'-" J г. (р) = -ф7(1 -р )’' ]. 10*
292 Поэтому 'хеАЛ т,.Ы-нМ Т.(р^Н(р) Заметим, что р0 —> р при п —> оо,р* > р, и, значит, lim |г.(р,)- н(р,)]= т. (р)-я(р) * о. По условию теоремы limzi^x вп > 0,]х| —> со при и —> оо, следовательно, Q = 6(l); р{х* 5* х°}< а + о(1) В силу произвольности а отсюда вытекает утверждение теоремы. Следствие 5.1. Если в условиях теоремы р = l/2,|Aj = 2" ,то при t = 0 + еп)«/ 1оё2 (2Р Р 0 - рГР )> lim^oo £п >0 оценка х* истинного решения —о х состоятельна. ДОКАЗАТЕЛЬСТВО непосредственно следует из того, что р* = 1/2. Пусть J\ (х),...,У;(х) - известные фиксированные функции и pt = р, i = 1,...,/. Разобьем множество И” всех n-мерных двоичных векторов на классы В связи с тем, что fi(x) - фиксированная функция, Таким образом, для любого к е {О,...,?} распределение случайной величины S(x) = £{ (x)+t->+et (х) \
293 - одно и то же при всех х е Хк и совпадает с распределением случайной величины (f, Ф1)+н^+(^ ®l)+fi+1 +i->+£, = к-ех -\-+-£к +£к+х +н»+£, Положим Sk = S(x),x е Хк . Набор чисел (|Х0|,...,|Л'/|) естественно назвать спектром расстояний системы (11) относительно решения х0 (по аналогии со спектром расстояний кода, задаваемого соответствующим преобразованием f). Теорема 5.2Л Пусть левая часть системы (11) фиксированное спектр расстояний системы (11) относительно истинного решения х0; тогда вероятность того, что метод максимума правдоподобия дает правильное решение системы (11), удовлетворяет неравенству р{х ’ = х° } > 1 - = | |р(&), где tei р(к) = = с‘кр‘0 - рТ‘ уМ^-р) i-zk/2 ДОКАЗАТЕЛЬСТВО. Нетрудно проверить, что k=lxeXk >l-=|Xk|p{Sk <s„). k=l Разность Sk - SQ имеет такое же распределение, как и случайная величина = к - 2(f, +1-»+ £к ), поэтому при 0 < р < 1/2
294 к 2 = Z с‘кР‘0 - pt~l = i>kl2 =М1-р)ГТяЛ ^‘М-рГ- M/2 U-Pj Следствие 5.2. Если — р)У = о(1) при n,t —>00 вероятность правильного решения системы (11) методом максимума правдоподобия стремится к 1: р{х*=х°}->1, п—>оо. Дополнительные сведения о тематике случайных систем уравнений читатель может найти в работах: Балакин Г. В. О распределении числа решений систем случайных булевых уравнений. - Теория вероятн. и ее примен., 1973, т XVIII, в. 3, с. 627- 632. Коваленко И. Н., Левитская А. А., Савчук М. Н. Избранные задачи вероятностной комбинаторики. Киев: Наукова думка, 1986, 224 с. Balakin G. V. On the number of solutions of systems of pseudo-boolean random equations. - В сб.: Вероятностные методы дискретной математики. Труды третьей Петроза-водской конференции / Под ред. В. Ф. Колчина и др. Москва/Утрехт: ТВП/VSP, 1993, с. 71-98. Параграф 5.6 Аналитические методы криптоанализа Имеется достаточно обширная литература по алгоритмам решения сис- тем уравнений в разнообразных алгебраических структурах. В учебных целях мы сосредоточимся на алгоритмах решения систем линейных и нелинейных уравнений над полем F2, состоящим из двух элементов. Линейные системы. Пусть система линейных уравнений над полем F2 имеет вид anXi+ai2X2+....+alnXn=bi a2ixI+a22X2+.. ..+a2nXn=b2 amixi+am2x2+....+amnxn bm
295 а^еР2, bjG F2, je l,m, ie l,n. Положим, Тогда рассматриваемая система принимает вид А х=Ь. Метод Гаусса. Как известно из курса линейной алгебры, данный метод основан на по- следовательном исключении неизвестных в уравнениях системы. В терминах матриц исключение неизвестных равносильно выполнению операций сложения в поле F2 строк матрицы А. Например, пусть первые два уравнения системы имеют вид Xi+ai2x2+....+alnxn=bi х,+а22х2+... .+a2nxn=b2 Выражая Xi из первого ура