Выводы
1) Последовательность выходных функций генератора гаммы, построенного на основе полноцикловой подстановки множества состояний Vn, имеет высокую линейную сложность Л, а именно 2n-1 + 1 ^ Л ^ 2n.
2) Для порядка множества мономов на периоде последовательности выходных функций генератора верны оценки: 2n-1 ^ |M(f(H))| ^ 2n — 1. При n ^ ж и при случайном равновероятном выборе функции переходов h из класса всех полноцикловых подстановок множества Vn математическое ожидание величины |M(f (H)) |/(2n — 1) стремится к 1.
3) Сложность Tn определения начального состояния методом формального кодирования оценивается как TL(2n-1) < Tn < TL(2n), где TL(m) — сложность решения над GF(2) системы линейных уравнений размера m х m.
ЛИТЕРАТУРА
1. Фомичёв В. М. Дискретная математика и криптология. М.: ДИАЛОГ-МИФИ, 2003.
2. Shamir A., Patarin J., Courtois N., and Klimov A. Efficient Algorithms for solving Overdefined
Systems of Multivariate Polynomial Equations // Eurocrypt’2000. Springer. LNCS. 2001.
V. 1807.
УДК 65.012.810(075.8)
АВТОМАТИЗИРОВАННЫЕ СРЕДСТВА АНАЛИЗА ПРОТОКОЛОВ1
А. В. Черемушкин
Приведем примеры средств автоматизированного анализа криптографических протоколов, которые в настоящее время можно отнести к наиболее эффективным, и рассмотрим математические аспекты работы этих систем. Подчеркнем, что данные средства позволяют не только проверять заданные свойства протоколов, но и находить конкретные атаки на протоколы в случае, когда эти свойства не выполнены. Поскольку информация о конкретных механизмах работы этих систем не всегда доступна, то при их оценке будем опираться только на те сведения, которые опубликованы в печати. AVISPA
Программный продукт AVISPA появился в начале осени 2005 года. Разработка данного средства проводилась в рамках единого европейского проекта, в котором участвовали LORIA-INRIA (Франция), ETH Цюрих (Швейцария), университет г. Генуя (Италия), Siemens AG (Германия).
Архитектура AVISPA допускает анализ протокола одним из четырех выходных модулей (TA4SP, SATMC, OFMC, CL-AtSe). Спецификация протокола, основанная на ролевом представлении, записывается на языке высокого уровня HLPSL, а затем транслируется во внутренний язык IF. Проверяемые свойства записываются в терминах темпоральной логики. Модуль TA4SP реализует технику, основанную на построении древовидных автоматов и развитую для систем автоматического доказательства. Строится верхняя аппроксимация древовидного автомата, реализующего систему переписывания термов, которая описывает максимальные знания нарушителя. Исследование свойства конфиденциальности теперь сводится к проверке наличия в этом множестве терма, содержащего секрет. Модули SATMC, OFMC, CL-AtSe осуществляют верификацию методом проверки на модели (model checking). Протокол представля-
хРабота выполнена при поддержке гранта Президента РФ НШ № 4.2008.10.
ется как бесконечная система переходов, а задача верификации сводится к проверке выполнимости формулы, решения которой соответствуют атакам на протокол. Для сведения к конечному случаю применяются разные подходы. В модуле SATMC используются методы, разработанные в рамках теории решения задач планирования, в модуле OFMC — символический метод, позволяющий группировать различные состояния в бесконечные классы, а в CL-AtSe — применяется техника, основанная на построении ограничений.
С помощью AVISPA проанализировано большинство протоколов, встречающихся в документах IETF. Полная информация о разработке и публикациях, лежащих в его основе, а также исполняемый программный код этого средства вместе с удобной графической оболочкой SPAN доступны на интернет-сайте http://www.avispa-project.org.
Scyther
Создан в ETH (Цюрих). Верифицирует ограниченное и неограниченное число сеансов протокола. Использует символический анализ в сочетании с обратным поиском, основанный на частично упорядоченных шаблонах. Scyther не требует задания сценария атаки. Он требует только задания параметров, ограничивающих либо максимальное число запусков, либо пространства перебираемых траекторий. В первом случае всегда дает результат и показывает найденные траектории атаки. Во втором случае завершение не гарантировано. В качестве ответа возможна одна из трех ситуаций: установлено, что проверяемое свойство выполнено; свойство не выполнено, так как найдена атака; свойство может быть корректно для заданного пространства траекторий.
HERMES
Разработан лабораторией VERIMAG из IMAG (Франция) в рамках объединенного проекта EVA и PROUVE. Использует язык LaEva верхнего уровня для задания спецификаций протоколов и их свойств, аналогичный языку HLPSL. Затем этот язык транслируется во внутреннее представление на языке cpl, которое является общим языком для нескольких продуктов, таких, как Securify, Cpv и HERMES.
Позволяет проверять свойства протокола при неограниченной длине сообщения и неограниченном числе участников. Дает на выходе условия на исходные знания противника, которые гарантируют, что он не сможет узнать секрета. HERMES не оценивает знания нарушителя, а исследует множество безопасных сообщений. Для аппроксимации бесконечного множества сообщений используется символическое представление, основанное на шаблонах. Если в результате найдена атака, то предоставляет траекторию атаки. В случае, когда в результате получается ответ, что свойство доказано, выдает также дерево полного доказательства, что бывает полезным при сертификации протокола. Доступен в интерактивном онлайновом режиме на сайте http://www.rverimag.imag.fr/~async/hermes/.
ProVerif
Разработан в рамках проекта, финасируемого INRIA (Франция). Анализирует неограниченное число сеансов протокола с использованием верхней аппроксимации и представления протокола с помощью хорновских выражений. ProVerif предлагает два типа входных файлов: хорновские выражения и подмножество Pi-исчисления. При использовании Pi-исчисления ProVerif основывается на описании множества процессов, каждый из которых может выполняться неограниченное число раз. На выходе возможны четыре ситуации: свойство не выполнено; доказано, что свойство выполнено; свойство не может быть доказано, так как есть пример атаки (могут быть найдены ложные атаки); работа не завершается. ProVerif корректно моделирует множество тра-
екторий, соответствующих определенному сценарию, и осуществляет полный перебор возможных траекторий. Исходный код доступен по адресу http://www.proverif.ens.fr/.
УДК 519.725
ОБОБЩЕННЫЕ АВТОМОРФИЗМЫ КОДА РИДА-МАЛЛЕРА И КРИПТОСИСТЕМА МАК-ЭЛИСА-СИДЕЛЬНИКОВА
И. В. Чижов
Криптосистема Мак-Элиса-Сидельникова относится к классу кодовых криптосистем с открытым ключом. Криптосистема была предложена В. М. Сидельниковым в работе [1].
Кратко опишем устройство криптосистемы Мак-Элиса-Сидельникова. Пусть Я — (к х п)-порождающая матрица кода Рида-Маллера ЯМ (г, т). Секретным ключом криптосистемы является кортеж (Н^ Н2,..., Ни, Г). Здесь Н1, Н2,... , Ни — невырожденные к х к-матрицы над полем Р2 = {0,1}, которые выбираются случайно и равновероятно из множества ОЬк (Р2) всех двоичных невырожденных к х к-матриц над полем Р2. Матрица Г — перестановочная (и • п х и • п)-матрица.
Открытым ключом криптосистемы Мак-Элиса-Сидельникова является матрица С = (Н1ЯЦН2ЯЦ ... ||НиЯ) • Г, где символом || обозначена конкатенация матриц по столбцам. Алгоритмы шифрования и расшифрования подробно описаны в [1].
Два секретных ключа (Н1, Н2,... , Ни, Г) и (Н1, Н2,... , Н'и, Г') назовем эквивалентными, если соответствующие им открытые ключи совпадают, то есть выполняется соотношение (Н1Я|Н2Я| ... ||НиЯ) • Г = (Н1 Я||Н2Я|| ... ||Н'Я) • Г'.
Рассмотрим множество $(Н1, Н2,... , Ни), состоящее из перестановок Г Е £ип, для которых существуют невырожденные двоичные матрицы Н1, Н2,..., Н', такие, что (Н1Я|Н2Я| ... ||НиЯ)Г = (Н1 Я|Н2Я|| ... ||Н'Я). В работе такие множества называются множествами обобщенных автоморфизмов кода Рида-Маллера. Отметим, что эти множества, в отличие от множества обычных автоморфизмов, не всегда являются группами.
Вопрос изучения эквивалентных секретных ключей, а значит, и вопрос изучения множества открытых ключей, сводится к изучению множеств $(Н1, . . . , Ни), то есть обобщенных автоморфизмов.
Обобщенные автоморфизмы и структура множества открытых ключей могут оказаться полезными для криптоанализа криптосистемы Мак-Элиса-Сидельникова. Так, знание некоторой структуры группы автоморфизмов обощенных кодов Рида-Соломона позволило В. М. Сидельникову и С. О. Шестакову [2] произвести взлом криптосистемы Мак-Элиса на основе этих кодов.
Перейдем к описанию множеств обобщенных автоморфизмов.
В случае произвольного и справедлива следующая теорема.
Теорема 1. Пусть для невырожденных матриц Д1, Е2,... , Еи существуют такие перестановки РД1 ^ г ^ п) из $п, что Д1Я = Я • Р1, Е2Я = Я • Р2,... , ЕиЯ = Я • Ри. Обозначим через Р1[1],Р2[2],.. .,Ри[и] перестановки из Аи(ЯМ(г,т)), соответствующие перестановкам Р1, Р2 . . . , Р . И пусть Н — любая невырожденная матрица.
Тогда $ (Е, ...,Е) = Р1[1] • Рг[2] ... Ри [и] • $ (НЯЬ... , НЕи).
Описание множества $(Е,... , Е) получено Г. А. Карпуниным [3].
Рассмотрим теперь случай и = 2.