Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практическая криптография алгоритмы и их программирование
.pdf
Глава 5. Дешифрование современных шифров 171
Криптографические тесты AES
Linear cryptanalysis and differential cryptanalysis are the most
important methods of attack against block ciphers. Their efficiency have been demonstrated against several ciphers, including the Data Encryption Standard.
S. Vaudenay.
An Experiment on DES Statistical Cryptanalysis
В 1997 году Национальный институт стандартизации и технологий США инициировал процесс рассмотрения кандидатов на роль нового национального стандарта шифрования — передового стандарта шифрования (Advanced Encryption
Standard, или AES), предназначенного для обеспечения конфиденциальности сведений, не содержащих государственную тайну. Годом позже к рассмотрению
были приняты пятнадцать кандидатов — блочные симметричные шифры, разработанные в соответствии с требованиями НИСТ, указанными в первом сообщении о
предстоящем конкурсе. Минимальные требования института заключались в следующем:
шифр должен быть опубликован в открытой печати;
•
шифр должен быть симметричным блочным шифром;
•
шифр должен быть разработан так, чтобы при необходимости длину ключа
•
можно было увеличить;
•
новый шифр должен допускать эффективную аппаратную и программную
реализацию;
•
шифр должен быть бесплатным, то есть либо незапатентованным, либо с
аннулированными патентными правами.
Первоначальный анализ кандидатов распределил все поданные на рассмотрение шифры на классы используемых архитектур:
•
сеть Файстеля использовали шесть шифров: DEAL, DFC, E2, LOKI97, MAGENTA, RC6, Twofish;
•
расширенную сеть Файстеля еще два: CAST-256, MARS;
•
на базе архитектуры SP-сети построены два шифра: SAFER+, Serpent;
•
архитектуру SQUARE использовали два шифра: CRYPTON, Rijndael;
и остальные два организовали как бы отдельную группу (поскольку в них
присутствовали достаточно экзотические преобразования).
Критерии, по которым оценивались претенденты на роль нового алгоритма защиты конфиденциальной информации, были разделены на три главные составляющие: безопасность, цену и эффективность реализации. Безопасность шифра, понятное дело, является наиважнейшим параметром. Тем не менее члены комитета
НИСТ умудрились принять в качестве стандарта самый слабый по отношению к
криптоанализу шифр из пятерки финалистов первого этапа. Но речь не об этом.
Для оценки стойкости шифра использовались несколько критериев — ведь,
по существу, очень сложно сказать, действительно ли шифр стойкий или просто
никто из оценивающих его экспертов не заметил очевидной ошибки в теоретиче
-

172 Глава 5. Дешифрование современных шифров
ских выкладках авторов. Для того чтобы избежать подобных ошибок, во-первых,
шифр обычно тестируется многими экспертами, что позволяет существенно снизить действие «человеческого фактора», а во-вторых, дополнительно применяются методы, результаты которых являются с этой точки зрения объективными, например, статистический анализ выхода шифра с целью определения, насколько
действие шифра на текст «похоже» на действие случайного процесса.
По этой причине, помимо оценки использованной математической базы и тестов на стойкость к уже известным способам криптоанализа, особое внимание уделялось именно статистическим тестам. Для этого использовался специальный набор (battery-pack) статистических тестов, реализованный группой разработчиков
из НИСТ. Соответственно проводимые исследования были призваны определить
уровень статистической безопасности каждого из шифров.
Собственно, комитет НИСТ требовал выбора шифра, стойкого к атакам, реализованным на основе:
аппроксимации дифференциальных характеристик и метода расширения
•
разностного криптоанализа;
атаки с использованием связанных ключей;
•
атаки с использованием неисправностей оборудования;
•
интерполяционных атак;
•
поиска так называемых «черных ходов» — функций с секретом (недеклари-
•
руемыми возможностями вычислений).
Их анализ возможно проводить с двух позиций — позиций статистического
анализа поведения функции шифрования и позиции теории сложности, базирующейся на анализе программных автоматов.
Тестирование шифров как генераторов псевдослучайных чисел (ГПСЧ) представляет собой в основном статистический подход. И именно он был использован
в НИСТ. В 1994 году был даже предпринят, наверное, первый в мире шаг к стандартизации набора статистических тестов путем принятия национального стандарта «Требования безопасности к криптографическим модулям». Правда, требования и методика, описанные в стандарте, носят больше общий, чем конкретный,
практичный характер.
В 1999 году разработчиками НИСТ в рамках опять же проекта AES был представлен статистический набор тестов НИСТ (NIST Statistical Test Suite) и предложена методика проведения статистического тестирования шифров и генераторов случайных чисел.
Для принятия решения, достаточно ли случайна последовательность значений, вырабатываемая шифром или генератором псевдослучайных чисел, используется несколько подходов:
•
первый и самый простой из них — это принятие положительного решения о
случайности выхода шифра в зависимости от заданного порогового уровня
случайности. Для этого вычисляют специальную статистическую характеристику S(a
... an) от последовательности выхода A = (a0... an) шифра и
0
сравнивают ее с заранее заготовленными эталонными значениями. При

Глава 5. Дешифрование современных шифров 173
этом считается, что двоичная последовательность A не проходит статистический тест всякий раз, когда статистика теста S принимает значение меньшее, чем пороговый уровень S
следующий критерий — принятие решения на основе задания доверитель-
•
range.
;
ного интервала. В этом случае двоичная последовательность A не проходит
статистический тест, если значение статистики теста S находится вне пределов доверительного интервала значений статистики, вычисленного для
заданного уровня значимости α. Уровень значимости определяет степень
недостоверности исхода эксперимента. Он обычно равен 0,05 (или %5).
Критерий на основе доверительного интервала несомненно намного более
надежен по сравнению с предыдущим;
еще один способ определения решения заключается в вычислении для не-
•
которой статистической функции S значения соответствующей ей и последовательности A вероятности Ð. В этом случае статистика теста рассматривается как реализация случайной величины, которая подчиняется определенному закону распределения. Обычно статистическую функцию строят
таким образом, чтобы всплески ее значений указывали на наличие неслучайных дефектов в представляемой на рассмотрение случайной последовательности чисел. Вероятность P означает вероятность того, что статистика
примет значения большие, чем это возможно для случайной последовательности. Обратно, малые значения этой вероятности говорят о прохождении
последовательностью A тестов на случайность.
Пакет НИСТ СНТ включает в себя 16 статистических тестов, которые разработаны для проверки гипотезы о случайности представляемой двоичной последовательности любой длины. Эта последовательность обычно получается либо зашифрованием произвольного открытого текста (или наборов открытых текстов),
либо в виде выхода гаммы шифра, без учета шифруемых данных, если это позволяет архитектура шифрующего алгоритма. Все тесты пакета направлены на выявление дефектов в псевдослучайных последовательностях, приводящих к возможному угадыванию или прогнозированию части последовательности по неполным
данным о ней, ключе шифра и открытом тексте.
Фактически после применения каждого из 16 тестов вычисляется около двухсот различных значений вероятности, каждое из которых рассматривается как отдельный параметр, указывающий на степень случайности изучаемой последовательности.
Список всех статистических тестов включает в себя тесты, производимые как
на битах, так и на группах битов:
•
частотный тест определяет отклонения количества встречаемых нулевых и единичных битов от сбалансированных значений (слишком много нулевых битов или слишком много единичных битов);
•
локализованный частотный тест использует частотный тест на фиксированного размера блоках, на которые разбивается изучаемая последовательность (подсчитываются локальные характеристики сбалансированно
-

174 Глава 5. Дешифрование современных шифров
сти последовательности внутри блоков, то есть отклонения вероятности по-
явления единицы или нуля от абсолютного значения
интегральные суммы определяют поведение последовательности в различ-
•
1
);
2
ных ее участках (больше нулевых битов или единичных в конце и начале
последовательности);
проверка длин серий подсчитывает серии битов по всей последовательно-
•
сти (таким образом обычно определяется смена знака при генерировании
последовательности);
максимальная длина серии в блоке аналогична локализованному частот-
•
ному тесту, поскольку осуществляет проверку длин серий в блоках фиксированного размера, на которые разбивается исследуемая двоичная последовательность;
вычисление ранга матрицы значений последовательности определяет
•
наличие линейных структур в последовательности. Для этого последовательности разбивают на блоки фиксированной длины и для каждого блока заполняют двоичную матрицу его элементами (вычисление ранга указывает
на линейную зависимость подстрок в последовательности);
спектральный тест по Дискретному Преобразованию Фурье позволяет
•
определить периодические составляющие в двоичной последовательности
(повторяющиеся элементы в последовательности и слишком часто появляющиеся шаблоны и элементы, в том числе подвергаются анализу с помощью этого теста);
•
поиск неперекрывающихся шаблонов позволяет с помощью поиска заранее заготовленных шаблонов определять последовательности со слишком
большим количеством апериодичных подпоследовательностей;
•
поиск перекрывающихся шаблонов отличается от предыдущего теста только тем, что после того, как обнаружено совпадение текущего значения в
m-битовом окне последовательности с заготовленным шаблоном, окно сдвигается не на m бит, а всего лишь на один, то есть поиск продолжается с перекрытием только что найденного шаблона;
•
универсальный тест Маурера позволяет определить возможную степень
сжатия последовательности с помощью вычисления логарифма расстояния
между блоками фиксированного размера по всей последовательности;
•
сжатие по принципу алгоритма LZW (сжатие с адресацией в перемещаемое окно) позволяет определить количество непересекающихся под-
последовательностей в изучаемой последовательности, при этом, чем
«хуже» случайность последовательности, тем большей степени сжатия удается добиться;
•
энтропийный тест позволяет определить различия между наблюдаемыми
значениями энтропии последовательности и теоретическими значениями
исследуемого источника;
•
линейная сложность позволяет определить отклонение эмпирического
распределения длин подпоследовательностей от теоретического распределения для совершенно случайной последовательности, что, вообще говоря,

Глава 5. Дешифрование современных шифров 175
указывает на сложность тестируемой последовательности (линейная сложность представляет собой меру согласования появления двоичных строк
фиксированной длины в эквивалентном генераторе для заданного блока с
теоретически ожидаемым);
последовательный тест представляет собой меру различия количества
•
встречаемости m-битовых подстрок в последовательности с теоретически
ожидаемым значением (данный тест выявляет неравномерность распределения m-битовых слов в исследуемой последовательности);
проверка случайных отклонений и ее дубль-вариант позволяет подсчи-
•
тывать количество одинаковых появлений подпоследовательностей при
случайном блуждании по последовательности интегральных сумм.
Все описанные тесты представляют собой независимые функциональные модули, занимающие каждый свое отдельное место в архитектуре набора тестов.
Каждый из кандидатов на место AES был протестирован также и с помощью данных тестов. Остается только добавить, что первый этап рассмотрения шифров
закончился выбором пяти финалистов и разговорами о том, что, возможно, не
будет единого шифра, являющегося национальным стандартом, а вместо него в
роли стандарта будут выступать сразу несколько шифров, что называется, на все
случаи жизни. Впрочем, все эти разговоры так слухами и остались — в конце
второго этапа остался только один финалист. Новым национальным стандартом
шифрования в США стал шифр Rijndael, авторы которого создали архитектуру
SQUARE.
Применение генетических алгоритмов
Идея, заложенная в основу алгоритма Якобсена (см. раздел «Быстрое раскрытие шифров простой замены»), позволяет использовать его метод не только для
раскрытия шифров замены, но и для дешифрования других простых шифров. Меняются лишь критерии и функция оценки корреляции рабочего ключа с настоящим. Это свойство позволяет распространить идею алгоритма, в том числе и на
композиционные шифры, и даже на еще более конструктивно сложные криптосистемы. Правда, чем сложнее шифр, тем меньше эффективность применения подобных методов, но все же иногда они дают неплохие результаты.
Ярким примером применения общей идеи подобных алгоритмов и современных технологий создания искусственного интеллекта является метод криптоанализа с помощью генетических алгоритмов.
Генетические алгоритмы представляют собой семейство эвристических алгоритмов, то есть алгоритмов, которые не гарантируют предоставление решения
поставленной задачи. Присутствие генетики в названии данного семейства обусловлено применением тех законов генетики и моделирования эволюционных
процессов.
В процессе решения задачи генетический алгоритм ведет себя так же, как
вели бы себя живые организмы в процессе эволюции. Потенциальное решение
представляется каким-либо образом в качестве некоторой структуры — особи.

176 Глава 5. Дешифрование современных шифров
Каждая особь однозначно характеризуется набором ее хромосом — уникальной
характеристикой, позволяющей учесть свойства конкретной особи в процессе
эволюции.
Множество хромосом объединяют в популяцию, с которым алгоритм осуществляет различные операции. В понятие операции входят рекомбинация, селек-
öèÿ è мутация особей. Суть рекомбинации заключается в составлении хромосом
новых особей из хромосом родительских особей в уже существующей популяции.
Наиболее популярным методом рекомбинации является кросс-овер (cross-over),
заключающийся в разбиении хромосом родителей (их число не обязательно равно
двум) на некоторое количество равных частей. Из них затем составляются хромосомы потомков.
Мутация особи представляет собой случайное изменение хромосом особей
популяции. Целью мутации является необходимость оградить алгоритм от развития в тупиковые ветви эволюции, постоянно вносить некоторый несущественный
элемент неопределенности. Вероятность мутации для этого должна быть достаточно малой, чтобы не допустить случайного изменения всего генофонда. Такая
организация приблизительно соответствует действию существующего в природе
уровня фоновой радиации, в результате действия которой появляются виды, более приспособленные к выживанию.
Приспособленность оценивается количественно с помощью некоторого числового показателя. Функцию, определяющую, насколько приспособляема та или
иная особь, называют целевой функцией (fitness function).
Селекция же описывает способ заполнения данных о популяции очередного
поколения из большого числа родителей. Селекция выполняется в соответствии с
некоторой оценкой и пороговым значением для нее для каждой хромосомы. Примером селекции является селекция «турнирным отбором» (tournament selection), когда из всего множества родителей случайно выбираются две особи, оцениваются и в популяцию новых потомков помещается хромосома, имеющая лучшую
оценку. Еще один часто используемый метод заключается в использовании «рулетки» (roulette-wheel selection). Метод рулетки отбирает особей с помощью запуска воображаемой рулетки. Колесо рулетки содержит по одному сектору для
каждого члена популяции. Размер каждого сектора пропорционален приспособленности особи к выживанию. При таком отборе члены популяции с более высокой приспособленностью с большей вероятностью будут чаще выбираться, чем
особи с низкой приспособленностью.
Надо отметить, что в генетических алгоритмах численность популяции обычно сохраняется равной определенной наперед заданной константе. Это позволяет
отбирать каждый раз лучшие особи и одновременно не приводит к отклонениям
эволюции и тупиковым ветвям развития.
Весь генетический алгоритм состоит из следующих компонент:
•
представление хромосом;
•
начальная популяция (стартовый набор хромосом);
•
набор операторов для генерации новых решений из предыдущей популяции;
•
целевая функция для оценки приспособленности (fitness) решений.

Глава 5. Дешифрование современных шифров 177
Исходя из этого списка, сразу становится видна аналогия с алгоритмом раскрытия классических шифров Якобсена: присутствуют целевая функция, применение различных операторов над данными (в алгоритме Якобсена — ключом), а
также свойство итеративности. Оба алгоритма осуществляют поиск решения итерация за итерацией, но без уверенности в том, что оно вообще будет найдено. Генетические алгоритмы можно считать обобщенным вариантом предложенных
Якобсеном методов нахождения ключа (пример работы классического генетического алгоритма см. в листинге 5.4).
Листинг 5.4
1. Создать начальную популяцию.
2. Оценить приспособленность каждой особи.
3. Выбрать две особи с высокой приспособленностью (селекция).
4 .Скрестить выбранные особи и получить двух потомков (рекомбинация).
5. Изменение хромосом потомков (мутация).
6. Оценить приспособленности потомков.
7. Поместить потомков в новое поколение.
8. Переходим к шагу 2.
Условие выхода?
Как видно из листинга 5.4, построение алгоритма начинается с заполнения
(возможно, случайного) некоторой популяции родителей. Затем в цикле с помощью различных операций над особями получается некоторое множество потомков, из которых в соответствии с целевой функцией оператор селекции составит
затем новую популяцию родителей, и т. д.
Смена поколений в цикле происходит до тех пор, пока характеристики особей
в текущем поколении не станут удовлетворять всем поставленным требованиям.
Несмотря на эвристический подход к поиску решения, с помощью генетических
алгоритмов оказалось вполне возможно достаточно успешно раскрывать классические шифры и существенно уменьшать пространство перебора ключей в некоторых современных блочных шифросистемах.
Посмотрим на генетические алгоритмы как на реализующие возможность
применения эволюционных алгоритмов к задаче нахождения секретного ключа.
Представим криптоанализ как задачу эволюционного развития, формирующего
искомый открытый текст или ключ по шифротексту. Теоретически, таким образом, мы сводим задачу криптоанализа к задаче многомерной оптимизации, где генетические алгоритмы зарекомендовали себя на сегодняшний день очень хорошо.
Основные трудности в описании задачи криптоанализа терминами методов
оптимизации и конкретно генетического подхода заключаются в проблеме выбора
способа кодирования особей популяции, определении целевой функции, построении основных операций изменения хромосом особей. Для каждого конкретного
алгоритма шифрования и задачи криптоанализа решение этих вопросов, возможно, будет уникальным.
Обратимся к вполне конкретному примеру — задаче раскрытия ключа
ГОСТ-подобного шифра с архитектурой сети Файстеля. Операцию шифрования
представим классически с помощью преобразования E(x). В качестве особи попу
-

178 Глава 5. Дешифрование современных шифров
ляции W в этом случае может выступать произвольное значение ключа k. В таком
случае, когда алгоритм предоставит наиболее приближенную к поставленным
требованиям особь, это даст нам решение криптосистемы в виде секретного (или
приближенного) ключа. Если особей претендентов будет несколько — их можно
будет последовательно перебрать.
Допустим, в руки к нам попало несколько пар (
тые, а
*
— соответствующие ему зашифрованные тексты, которые были получе-
C
i
*
,
), ãäå
C
P
i
i
*
— это откры-
P
i
*
ны при помощи неизвестного нам ключа K. Зашифровав теперь открытый текст
*
с произвольным ключом W, получим шифротекст
P
i
**
CEPk
iW i
(,)=
.
Очевидно, что для задания целевой функции нам не хватает совсем немного — количественной меры, которая позволила бы нам говорить о сходстве и различии особей-ключей. В классической и современной криптографии и теории кодирования роль такой меры обычно играет расстояние Хэмминга. Воспользуемся
его определением и создадим целевую функцию F(k
) как результат измерения
i
Хэммингова расстояния между двумя зашифрованными на разных ключах — рабочем k
ãäå C
и искомом k*:
i
Fk k HamC C
*
— шифротекст, который подвергается криптоанализу.
**
(, ) ( , )
=−256
ik
,
i
К сожалению, если задать целевую функцию именно так, то решение задачи
криптоанализа вряд ли будет достигнуто в допустимые сроки, даже для алгоритма
средней сложности. Дело в известном свойстве лавинного эффекта, когда один
*
измененный бит ключа изменит в равной степени весь блок C
. Локализовать в
данном случае особей, которые ближе всего находятся к настоящему ключу,
очень сложно.
Более эффективным вариантом может стать сравнение с участком открытого
текста либо сравнение таких характеристик текста, как, например, частоты символов, биграмм, триграмм и т. д. Именно так происходит в алгоритме Якобсена,
когда сравнивается расстояние между матрицами вычисленных диграмм.
После определения целевой функции необходимо выбрать основные операторы образования особей. Для начала из текущей популяции отбираются наиболее
близкие к искомым ключи. Сделать это можно самым простым пропорциональным методом — методом рулетки. После этого можно провести рекомбинацию
методом одноточечного или двухточечного кросс-овера. В одноточечном варианте
части ключа разбиваются на сегменты по выбранной наугад точке разрыва, а затем из них составляется новая особь. В двухточечном кросс-овере выбираются
две точки разрыва, в родительских ключи обмениваются сегментом, который находится между двумя этими точками. Но наиболее подходящим к рассматриваемой задаче является скорее так называемый равномерный èëè универсальный
кросс-овер. В нем каждый бит одной из особей наследуется первым потомком с
заданной заранее вероятностью, в противном случае этот бит передается второму
потомку. Его преимущество заключается в независимом подходе к каждому биту
ключа, что определяет эффективный поиск глобального оптимума с учетом заданной выше целевой функции.

Глава 5. Дешифрование современных шифров 179
Для предотвращения преждевременного вымирания популяции она обновляется особями, которые имеют оценку, значительно превышающую среднюю по популяции.
Дополнительно можно провести поиск с локальной оптимизацией и на выходе оператора рекомбинации провести осмотр небольшой окрестности возле полученной особи, выявляя лучшую особь. Локальная оптимизация обычно увеличивает скорость сходимости алгоритма к решению.
К сожалению, все алгоритмы, подобные генетическим, имеют существенные
недостатки, обусловленные их устройством. Во-первых, при их выполнении не существует гарантии, что решение вообще будет найдено. Во-вторых, если существует множество решений, то найдено будет всегда только одно. Причем о нем (в
самом простом случае, например, какое именно это будет решение) заранее сказать невозможно ничего — все зависит от случайного выбора начальных значений для переменных алгоритма. В-третьих, при не очень удачном выборе целевых
функций может появиться большое множество решений, близких по изучаемым
характеристикам к верным, но таковыми не являющимся. По сути говоря, алгоритм может ввести нас в заблуждение, отработав не одну сотню итераций, но так
и не предоставив никакого результата.
Список литературы
1. D. Bahler and J. King. An implementation of probabilistic relaxation in the crypta-
nalysis of simple substitution systems. Cryptologia, 16(2), 1992.
2. R. Spillman. Cryptanalysis of knapsack ciphers using genetic algorithms. Cryptolo-
gia, 17(1), 1993.
3. C. M. Adams, On immunity against Biham and Shamir's «differential crypta-
nalysis», In-formation Processing Letters, vol.41, Feb. 14, 1992, pp. 77—80.
4. C. M. Adams, A Formal and Practical Design Procedure for Substitution Per-
mutation Network Cryptosystems, Ph.D. Thesis, Department of Electrical Engineering,
Queen's University, 1990.
5. C. M. Adams and S. E. Tavares, Generating and Counting Binary Bent Sequen-
ces, IEEE Transactions on Information Theory, vol. IT-36, 1990, pp. 1170—1173..[4] C.
M. Adams and S. E. Tavares, The Use of Bent Sequences to Achieve Higher-Order
Strict Avalanche Criterion in S-Box Design, Technical Report TR 90-013, Dept. of Electrical Engineering, Queen's University, Kingston, Ontario, Jan., 1990.
6. E. Biham, Differential Cryptanalysis of Iterated Cryptosystems, Ph.D. Thesis,
Weizmann Institute of Science, Rehovot, Israel, 1992.
7. E. Biham and A. Shamir, Differential Cryptanalysis of DES-Like Cryptosystems,
Journal of Cryptology, vol.4, 1991, pp. 3—72.
8. M. Dawson and S. E. Tavares, An Expanded Set of S-Box Design Criteria Based
on In-formation Theory and its Relation to Differential-Like Attacks, in Advances in
Cryptol-ogy: Proc. of Eurocrypt'91, Springer-Verlag, 1991, pp. 352—367.
9. H. Feistel, Cryptography and Computer Privacy, Scientific American, vol.228,
1973, pp. 15—23.

180 Глава 5. Дешифрование современных шифров
10. E. Grossman and B. Tuckerman, Analysis of a Feistel-Like Cipher Weakened by
Having No Rotating Key, Technical Report RC 6375, IBM, 1977.
11. J. B. Kam and G. 1. Davida, Structured Design of Substitution-Permutation Encryption Networks, IEEE Transactions on Computers, vol. C-28, 1979, pp. 747—753.
12. K. Nyberg, Constructions of bent functions and difference sets, in Advances in
Cryptol-ogy: Proc. of Eurocrypt '90, Springer-Verlag, 1991, pp. 151—160.
13. K. Nyberg, Perfect nonlinear S-boxes, in Advances in Cryptology: Proc. of
Eurocrypt '91, Springer-Verlag, 1991, pp. 378—386.
14. K. Nyberg and L.R.Knudsen, Provable Security Against Differential Cryptana-
lysis, in Advances in Cryptology: Proc. of CRYPTO '92 (to appear).
15. L. O'Connor, An Analysis of Product Ciphers Based on the Properties of Boole-
an Func-tions, Ph.D. Thesis, Dept. of Computer Science, University of Waterloo, 1992.
16. B. Preneel, W. Van Leekwijck, L. Van Linden, R. Govaerts, and J. Vandewalle,
Propa-gation characteristics of boolean functions, in Advances in Cryptology: Proc. Of
Eurocrypt '90, Springer-Verlag, Berlin, 1991, pp. 161—173.
17. O. S. Rothaus, On «Bent» Functions, Journal of Combinatorial Theory, vol.
20(A), 1976, pp. 300—305.
18. C. E. Shannon, Communication Theory of Secrecy Systems, Bell Systems Technical Jour-nal, vol. 28, 1949, pp.656—715.
19. M. Sivabalan, S. E. Tavares, and L. E. Peppard, On the Design of SP Networks
from an Information Theoretic Point of View, in Advances in Cryptology: Proc. of
CRYPTO '92.
20. A. F. Webster, Plaintext/Ciphertext Bit Dependencies in Cryptographic Sys-
tems, M.Sc. hesis, Department of Electrical Engineering, Queen's University, 1985.
21. A. F. Webster and S. E. Tavares, On the Design of S-Boxes, in Advances in
Cryptology: roc. of CRYPTO'85, Springer-Verlag, New York, 1986, pp. 523—534.
22. R. Yarlagadda and J. E. Hershey, Analysis and Synthesis of Bent Sequences, IEE
Pro-ceedings (Part E), vol. 136, 1989, pp. 112—123.
23. C. M. Adams, Constructing Symmetric Ciphers Using the CAST Design Proce-
dure.
24. C. M. Adams, Designing DES-Like Ciphers with Guaranteed Resistance to
Differential and Linear Attacks, Workshop Record of the Workshop on Selected Areas in
Cryptography (SAC 95), May 18—19, 1995, pp. 133—144.
25. C. M. Adams and S. E. Tavares, Generating and Counting Binary Bent Sequen-
ces, IEEE Transactions on Information Theory, vol. IT-36, 1990, pp. 1170—1173.
26. C. M. Adams and S. E. Tavares, The Use of Bent Sequences to Achieve Hig-
her-Order Strict AvalancheCriterion in S-Box Design, Technical Report TR 90-013,
Dept. of Electrical Engineering, Queen's University, Kingston, Ontario, Jan., 1990.
27. E. Biham, On Matsui's Linear Cryptanalysis, Advances in Cryptology — Proceedings of EUROCRYPT'94, Springer-Verlag, Berlin, 1995, pp. 341—355.
28. E. Biham and A. Shamir, Differential Cryptanalysis of DES-like Cryptosys-
tems, Advances in Cryptology: Proceedings of CRYPTO '90, Springer-Verlag, Berlin,
1991, pp. 1—21.
29. J. F. Dillon, A Survey of Bent Functions, NSA Technical Journal, Special Issue,
1972, pp. 191—215.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
