Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практическая криптография алгоритмы и их программирование

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
Глава 5. Дешифрование современных шифров 171
Криптографические тесты AES
Linear cryptanalysis and differential cryptanalysis are the most important methods of attack against block ciphers. Their effici­ency have been demonstrated against several ciphers, inclu­ding the Data Encryption Standard.
S. Vaudenay.
An Experiment on DES Statistical Cryptanalysis
В 1997 году Национальный институт стандартизации и технологий США ини­циировал процесс рассмотрения кандидатов на роль нового национального стан­дарта шифрования — передового стандарта шифрования (Advanced Encryption Standard, или AES), предназначенного для обеспечения конфиденциальности све­дений, не содержащих государственную тайну. Годом позже к рассмотрению были приняты пятнадцать кандидатов — блочные симметричные шифры, разрабо­танные в соответствии с требованиями НИСТ, указанными в первом сообщении о предстоящем конкурсе. Минимальные требования института заключались в сле­дующем:
шифр должен быть опубликован в открытой печати;
шифр должен быть симметричным блочным шифром;
шифр должен быть разработан так, чтобы при необходимости длину ключа
можно было увеличить;
новый шифр должен допускать эффективную аппаратную и программную реализацию;
шифр должен быть бесплатным, то есть либо незапатентованным, либо с аннулированными патентными правами.
Первоначальный анализ кандидатов распределил все поданные на рассмотре­ние шифры на классы используемых архитектур:
сеть Файстеля использовали шесть шифров: DEAL, DFC, E2, LOKI97, MA­GENTA, 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 selecti­on), когда из всего множества родителей случайно выбираются две особи, оцени­ваются и в популяцию новых потомков помещается хромосома, имеющая лучшую оценку. Еще один часто используемый метод заключается в использовании «ру­летки» (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 Elect­rical 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 En­cryption 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 Tech­nical 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 — Proce­edings 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.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]