Научная статья на тему 'О РАЗНОСТНЫХ ХАРАКТЕРИСТИКАХ КОМПОЗИЦИЙ ПОБИТОВЫХ XOR ПО МОДУЛЮ 2N'

О РАЗНОСТНЫХ ХАРАКТЕРИСТИКАХ КОМПОЗИЦИЙ ПОБИТОВЫХ XOR ПО МОДУЛЮ 2N Текст научной статьи по специальности «Математика»

CC BY
35
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РАЗНОСТНЫЙ КРИПТОАНАЛИЗ / ARX / XOR / СЛОЖЕНИЕ ПО МОДУЛЮ

Аннотация научной статьи по математике, автор научной работы — Сутормин Иван Александрович

Рассматривается разностная характеристика adp® композиции побитовых XOR относительно сложения по модулю 2n. Эта величина используется при анализе примитивов, имеющих конструкцию Addition-Rotation-XOR (ARX). Получены рекуррентные формулы, позволяющие найти значение adpk® от аргументов размерности n + 1 при помощи набора значений adpk® от аргументов размерности n. Изучены симметрии и нули характеристики. В случае чётного k найден максимум adpk® при одном фиксированном аргументе.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Сутормин Иван Александрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE ADDITIVE DIFFERENTIAL PROBABILITY OF K SUCCESSIVE EXCLUSIVE-OR

We study the additive di erential probability of a composition of bitwise XOR | adp k . For a set of vectors 1 : : : k+1 2 Zn2 , it is de ned as adp k ( 1; : : : ; k ! k+1) = 1 2kn fx1; : : : ; xk 2 Zn2 : Lk i=1 (xi i) = k+1 Lk i=1 xig : It is used when analyzing symmetric key primitives, such as Addition-Rotation-XOR constructions. It is proven that: 1) adp k is a symmetric function; 2) the value of adp k does not change if 2n􀀀1 is added to any two arguments; 3) the value of adp k does not change if any two arguments are replaced by the opposite element of Zn2 , and if k is even, then the value of adp k does not change if any argument is replaced. Recurrence formulas are obtained allowing to calculate the value adp k for arguments of dimension n+1 using the set of values adp k for arguments of dimension n. Using recurrent formulas we prove that adp k is equal to zero if and only if there exists a position i such that ( 1 i ; : : : ; k+1 i ) 6= (0; : : : ; 0); ( 1 j ; : : : ; k+1 j ) = (0; : : : ; 0) for any j, n > j > i, and either Hamming weight of the vector ( 1 i ; : : : ; k+1 i ) is odd, or k is odd, i > 1, vector ( 1 i ; : : : ; k+1 i ) is equal to the (1; : : : ; 1) and Hamming weight of the vector ( 1 i􀀀1; : : : ; k+1 i􀀀1 ) is odd. In the case of even k, it is proved that adp k (0; : : : ; 0; ! ) is maximal when the last argument is xed. In the case of odd k, it is conjectured that adp k ( ; : : : ; ! ) is maximum when the last argument is xed.

Текст научной работы на тему «О РАЗНОСТНЫХ ХАРАКТЕРИСТИКАХ КОМПОЗИЦИЙ ПОБИТОВЫХ XOR ПО МОДУЛЮ 2N»

УДК 519.7 Б01 10.17223/2226308X715/17

О РАЗНОСТНЫХ ХАРАКТЕРИСТИКАХ КОМПОЗИЦИЙ ПОБИТОВЫХ КСЯ ПО МОДУЛЮ 2П 1

И. А. Сутормин

Рассматривается разностная характеристика аёр® композиции побитовых XOR относительно сложения по модулю 2П. Эта величина используется при анализе примитивов, имеющих конструкцию Addition-Rotation-XOR (ARX). Получены рекуррентные формулы, позволяющие найти значение аёр® от аргументов размерности п + 1 при помощи набора значений аёр® от аргументов размерности п. Изучены симметрии и нули характеристики. В случае чётного к найден максимум аёр® при одном фиксированном аргументе.

Ключевые слова: разностный криптоанализ, ЛЯК, КСЯ, сложение по модулю.

Существуют различные подходы для разработки алгоритмов симметричной криптографии. Один из них — ARX. Во всех примитивах этой архитектуры используются только три операции: сложение по модулю 2n (Ш), циклический сдвиг битов и побитовое сложение по модулю 2 (ф, XOR). ARX-шифры могут быть различных назначений, например блочные шифры FEAL [1], Threefish [2], поточные шифры Salsa20 [3] и его модификация ChaCha [4], хэш-функции BLAKE [5] и Skein [2]. Разностный криптоанализ — один из современных методов криптоанализа, предложенный в [6]. Для проведения разностного криптоанализа ARX-шифров при выборе в качестве разности сложения по модулю 2n необходима разностная характеристика adp®:

adp® (а, в ^ Y) = -П | {х,У G ^П : (x Ш а) Ф (y Ш в) = (x Ф y) Ш Y} |.

Здесь и далее с вектором x G Zn ассоциируется целое число xn + xn-i21 + ... + xi2n-1.

Многие свойства adp® изучены в работах [7, 8]. Однако в некоторых ARX-шифрах присутствует применение композиции побитовых XOR. Так, например, в хэш-функции EDON-R [9] используется XOR трёх векторов. В этом случае использование характеристики adp® может привести к неверным оценкам. Более точные оценки можно получить при прямом использовании аналогичной характеристики для XOR нескольких векторов, которая определяется как

1 k k adp®(а1,..., ак ^ ак+1 ) = —|{x\ ... ,xk G Zn : 0(x* Ш а*) = ак+1 Ш ф x*}|.

2 i=1 i=1

Здесь и далее k ^ 2.

Многие свойства adp® и adp® схожи. Так, в частности, симметрии аргументов adp® аналогичны симметриям adp®, описанным в [8, разд. 4]. Однако случай замены аргументов на обратные относительно сложения по модулю 2n в случае нечётного k отличается от чётного k. В нечётном случае на обратный можно заменить только пару элементов одновременно.

Теорема 1. Для любого набора аргументов характеристика adp® обладает следующими свойствами:

1 Работа выполнена при поддержке Математического центра в Академгородке, соглашение с Министерством науки и высшего образования РФ № 075-15-2022-281.

1) adp® — симметрическая функция, то есть её значение не изменится при перестановке аргументов. Например, для любых а1,... , а4 Е Жп справедливо

adp® (а1, а2, а3 ^ а4) = adp® (а2, а1, а3 ^ а4).

п— 1

2) Значение adp® не изменится, если к любым двум аргументам прибавить 2 по модулю 2п. Например, для любых а1,... , а4 Е ЖП справедливо

adp®(a1, а2, а3 ^ а4) = adp®(a1 Ш 2п-1, а2 Ш 2п-1, а3 ^ а4).

3) Значение аdp® не изменится, если два аргумента одновременно заменить на обратные относительно сложения по модулю 2п. Например, для любых а1,..., а4 Е Жп справедливо

adp®(a1, а2, а3, ^ а4) = adp®(-a1, -а2, а3, ^ а4).

4) При чётном к значение аdp® не изменится, если любой из аргументов заменить на обратный относительно сложения по модулю 2п. Например, для любых а1,..., а5 Е Жп справедливо

adp®(a1, а2, а3, а4 ^ а5) = adp®(-a1, а2, а3, а4 ^ а5).

Для вектора а Е Жп обозначим через а|| 1 и а||0 векторы (а1,... ап, 1) и (а1,... ап, 0)

п

из Жп+1 соответственно; вес Хэмминга wt(a) = ^ а^. Запись Ь ^ а обозначает, что для

г=1

векторов а, Ь Е выполнено Ь ^ а^, % = 1,... , к +1. Тогда для аdp® можно доказать рекуррентные формулы, аналогичные [8, теорема 3] и позволяющие получить значение adp® от аргументов размерности п+1 при помощи набора значений adp® от аргументов размерности п.

Теорема 2. Для любого набора векторов а1,..., ак+1 Е Жп и вектора а Е Ж+1, составленного из младших бит аргументов, выполняются следующие равенства:

1) если wt(a) нечётный, то adp®(a1||a1,... ак||ак ^ ак+1||ак+1) = 0;

2) если к нечётное и а = (1,..., 1), то

adp®(а11| 1,... ак||1 ^ ак+1||1) = = 1 Е adp® (а1 Ш Ьь...,ак Ш Ьк ^ ак+1 Ш Ьк+1);

2 Ь^а,

четн.

3) во всех остальных случаях

adp®(а1||аl,...аk||ак ^ ак+1||ак+1) = 1 Е adp®(a1 Ш Ь1,..., ак Ш Ьк ^ ак+1 Ш Ьк+1).

Ь<а

Так, например, для любых а1,... , а4 Е Жп, согласно п. 1, справедливо

аdp®(a1||0,a2||0,a3||1 ^ а4||0) = 0. Согласно п. 3, справедливо

аdp®(a1||0,a2||0,a3||1^a4||1) = 1аdp®(a1,a2,a3^a4)+1аdp®(a1,a2,a3 Ш 1^а4 Ш 1) + +1adp®(a1, а2, а3 Ш 1 ^ а4) + 1adp®(a1, а2, а3 ^ а4 Ш 1).

Заметим, что ранее известные формулы для adp® описываются пп. 1 и 3.

Для вектора а G Z^ обозначим через а вектор (а ф 1,..., ап ф 1). Тогда симметрии из теоремы 1 позволяют в некоторых случаях записать рекуррентные формулы при помощи операции инверсии, анализировать которую проще, чем сложение по модулю. Например,

3 1

adp® (а|| 1, а|| 1, а|| 1 ^ а|| 1) = -¡-adp® (а, а, а ^ а) + -adp® (а, а, а ^ а) +

4 8

+ -adp®(а, а, а ^ а). 8

Рекуррентные формулы позволяют также найти максимум adp® при чётном k, аналогичный максимуму при k = 2, доказанному в [8, теорема 2].

Теорема 3. Для любого 7 G Z^ и любого чётного k выполняется

max adp® (а1,...,ак ^ 7) = adp®(0,..., 0,7 ^ 7).

Однако при нечётном k данное утверждение неверно и аналогичный максимум adp® выглядит иначе. Мы предполагаем, что он выглядит так:

Гипотеза 1. Для любого 7 G Z^ и любого нечётного k выполняется

max adp® (а1,..., ак ^ 7) = adp® (7,..., 7 ^ 7).

a1,...,akeZn

Гипотеза подтверждается вычислительными экспериментами и разбором некоторых частных случаев. В случае k = 3 для этого полезны следующие неравенства: Теорема 4. Для любого 7 G Z^ выполняется

adp®(7,7,7 ^ Y) ^ adp®(7,7,7 ^ Y) ^ 3adp®(7,7,7 ^ 7).

Отметим, что для разностного криптоанализа важно различать наборы аргументов, на которых adp® равно нулю.

Теорема 5. При любом k и любом наборе аргументов а1,..., ак+1 G Z^ значение adp®^1,... , ак ^ ак+1) = 0 тогда и только тогда, когда существует позиция i, такая, что вектор (а1,... , ак+1) = (0,... , 0), а для любой позиции j, n ^ j > i верно (а],..., ак+1) = (0,..., 0), и выполняется одно из следующих условий:

1) вектор (а1,... , ак+1) имеет нечётный вес;

2) k нечётное, i > 1, вектор (а1,..., ак+1) равен (1,..., 1) и вектор битов на разряд выше (а1_1,..., а^+11) имеет нечётный вес.

Заметим, что нули функции в случае чётного k выглядят аналогично нулям для adp®. Случай 2 появляется только при нечётном k и порождает дополнительное множество нулей характеристики.

ЛИТЕРАТУРА

1. Shimizu A. and Miyaguchi S. Fast data encipherment algorithm FEAL // LNCS. 1988. V. 304. P. 267-278.

2. Ferguson N., Lucks S., SchneierB., et al. The Skein Hash Function Family. http://www. skein-hash.info. 2009.

3. Bernstein D. J. Salsa20 Specification. https://cr.yp.to/snuffle/spec.pdf. 2005.

4. Bernstein D. J. ChaCha, a Variant of Salsa20. https://cr.yp.to/chacha/chacha-20080128. pdf. 2008.

5. Aumasson J.-P., Meier W., PhanR.C.-W., and Henzen L. The Hash Function BLAKE. https://www.researchgate.net/publication/316806226_The_Hash_Function_BLAKE. 2014.

6. Biham E. and Shamir A. Differential cryptanalysis of DES-like cryptosystems //J. Cryptology. 1991. No. 4. P. 3-72.

7. Lipmaa H., Wallen J., and Dumas P. On the additive differential probability of exclusive-or // LNCS. 2004. V. 3017. P. 317-331.

8. Mouha N., Kolomeec N., Akhtiamov D., et al. Maximums of the additive differential probability of Exclusive-Or // IACR Trans. Symmetric Cryptology. 2021. No. 2. P. 292-313.

9. Gligoroski D., Odegard R. S., Mihova M., et al. Cryptographic hash function Edon-R // Proc. IWSCN. 2009. P. 1-9.

UDC 519.17 DOI 10.17223/2226308X/15/18

KEY SCHEDULE BASED ON A MODIFIED ADDITIVE GENERATOR1

V. M. Fomichev, D. A. Bobrovskiy, R. R. Sotov

A method of round key generation for iterated block ciphers based on a modified additive generator (MAG), and, in addition, on MAG and a linear congruent generator in a series circuit is proposed. The bijectivity of the generating transformation is demonstrated. Using the matrix-graph approach the number of iterations necessary for achieving enhanced cryptographic properties is experimentally evaluated. This number depends on the generator characteristics.

Keywords: key scheduling algorithm, iterative block ciphers, matrix-graph approach, modified additive generator, mixing properties, nonlinearity.

1. Introduction

The key schedule is an important component of any iterated block cipher. The first versions of key schedules (DES, GOST 28147-89) involved bit sampling from the cipher key which gives the cryptanalyst grounds for attacks such as differential analysis. In AES, the generation of round keys is more complex and requires a non-stationary recurrence relation over a set of binary vectors. The Kuznechik algorithm provides a complex key dependency using the Feistel network. The goal of key schedule algorithms is to combine a complex functional relationship between the bits of the cipher key and the round keys with a relatively low computational complexity of key generation.

This paper proposes a round key generator (RKG) based on a modified additive generator and, in addition, on MAG and a linear congruent generator (LCG) in a series circuit.

2. Additive generator

The additive generator (AG) is a shift register of length n with feedback f (z0,..., zn-1) over the space of binary r-dimensional vectors, i.e., a register transformation ^ of the set Vnr = {(zo,... , zn_i) : zo,... , zn-i G Vr}:

^(z0 ,...,Zn-l) = (Zi,...,Zn_l,f (zo, . . . ,Zn-l)), (1)

where the function f: Vnr ^ VT is the shift register feedback function.

i Надоели баннеры? Вы всегда можете отключить рекламу.