Построение цикловой функции
Свойства раундовых функций должны затруднять определение ключа СБШ с помощью известных методов криптографического анализа. В работах по криптографическому анализу СБШ наиболее часто стойкость определяется сложностью метода дифференциального криптоанализа и метода линейного криптоанализа. Перемешивающие слои должны реализовать связи между входными и выходными битами 5-боксов, при которых выполнены… Читать ещё >
Построение цикловой функции (реферат, курсовая, диплом, контрольная)
Раундовые ключи СБШ — двоичные векторы, поэтому считаем: ()= Угп, функция ф (х, (]УУ2п+т ~> У2п и Функция усложнения |/(х2, <7): Уп+т —> Уп.
Исследования блочных шифров выявили ряд условий, которым удовлетворяет раундовая функция ф (х, q) (в случае шифра Фейстеля — функция усложнения |/(х2, д)) с хорошими криптографическими свойствами. Сочетание нескольких условий достигается за счет реализации функции ц/ в виде композиции нескольких «элементарных» отображений, называемых слоями функции ф (х, д). Каждый слой обеспечивает некоторые из необходимых свойств, а их композиция в целом обеспечивает совокупность необходимых свойств.
Конструктивные слои раундовой функции (функции усложнения) функционально предназначены для подмешивания раундового ключа, перемешивания элементов входного блока и реализации сложной нелинейной зависимости между знаками ключа, входа и выхода.
Раундовая функция должна удовлетворять ряду условий.
1. При любом д е 0 подфункция фг/ цикловой функции ф (х, д) должна быть подстановкой, это вытекает из требования обратимости шифрующих преобразований. Следовательно, функция ф (х, д) должна быть сбалансирована. Аналогичные свойства у всех слоев функции ф.
Функция усложнения |/(х2, д) шифра Фейстеля и ее слои могут в общем случае не быть сбалансированными, так как обратимость циклового преобразования достигается за счет использования операции ХОК Однако анализ шифров Фейстеля на основе аффинных приближений цикловой функции показал предпочтительность сбалансированных функций усложнения.
2. Из равенства (15.3) следует, что шифрующее отображение Ек(х) является аффинным относительно знаков входного блока и раундовых ключей, если аффинны функции 8(х, q), cp (x, q), п (х, q). В этом случае ключ можно определить по открытому и шифрованному тексту с помощью решения системы линейных уравнений. Во избежание такой слабости шифра раундовая функция должна быть нелинейной, при этом ее координатные функции не должны допускать хороших аффинных приближений.
Следовательно, координатные функции отображения ф (х, q) (или |/(х2, q)) должны иметь высокую нелинейность и корреляционный иммунитет. Эти свойства обеспечиваются в основном за счет конструкции нелинейного слоя замены, хотя нелинейность может быть усилена и за счет слоя подмешивания производных ключей (см., например, алгоритм IDEA) при использовании операций модульного сложения или умножения.
При больших п реализация нелинейной замены упрощается, если нелинейный слой (обозначим это преобразование 5(х<1 x<2w>), где (дН),.
х (2″)) е V2n) задать несколькими нелинейными преобразованиями, определенными на части входного набора. Если d2n, то.
где и = 2п / d, и sv …, — это s-боксы цикловой функции, т. е. нелинейные преобразования множества V2n/d, существенно усложняющие подстановку шифра. Число d используемых в нелинейном слое s-боксов выбирается как компромисс между сложностью реализации нелинейного слоя и криптографическими качествами 5-боксов.
Возможны варианты при построении 5-боксов. Например, в каждом раунде ТЖ^-алгоритма размер блока данных сначала расширяется с 32 до 48 битов, что позволяет подмешать 48-битовый раундовый ключ, а после 5-боксов — обратно сокращается до 32 битов.
- 3. Перемешивающие слои должны реализовать связи между входными и выходными битами 5-боксов, при которых выполнены условия:
- • каждый 5-бокс удовлетворяет критериям типа лавинного эффекта или критериям распространения, и значит, реализует совершенное преобразование входных наборов;
- • на следующем раунде совокупность входных битов каждого 5-бокса зависит от выходов нескольких 5-боксов предыдущего цикла.
При выполнении первого условия изменение одного бита входного набора любого 5-бокса приводит к изменению нескольких (в среднем не менее двух) битов его выхода.
Второе условие выполняется с помощью слоя, переставляющего координаты промежуточных блоков, в простейшем случае координаты циклически сдвигаются.
Выполнение обоих условий позволяет после нескольких раундов достичь ряда положительных криптографических свойств функции 5-циклового шифрования cp (s) = фг/ …ф^, в частности выполнения критериев типа лавинного эффекта или критериев распространения. Например, в 16-раундовом ДЕЗ'-алгоритме совершенным является преобразование после пяти циклов, в 32-цикловом алгоритме ГОСТ — после трех циклов.
4. Свойства раундовых функций должны затруднять определение ключа СБШ с помощью известных методов криптографического анализа. В работах по криптографическому анализу СБШ наиболее часто стойкость определяется сложностью метода дифференциального криптоанализа и метода линейного криптоанализа.