RU2564243C1 - Cryptographic transformation method - Google Patents

Cryptographic transformation method Download PDF

Info

Publication number
RU2564243C1
RU2564243C1 RU2014107554/08A RU2014107554A RU2564243C1 RU 2564243 C1 RU2564243 C1 RU 2564243C1 RU 2014107554/08 A RU2014107554/08 A RU 2014107554/08A RU 2014107554 A RU2014107554 A RU 2014107554A RU 2564243 C1 RU2564243 C1 RU 2564243C1
Authority
RU
Russia
Prior art keywords
transformation
keys
binary
length
calculating
Prior art date
Application number
RU2014107554/08A
Other languages
Russian (ru)
Other versions
RU2014107554A (en
Inventor
Михаил Алексеевич Бородин
Андрей Сергеевич Рыбкин
Original Assignee
Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" filed Critical Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы"
Priority to RU2014107554/08A priority Critical patent/RU2564243C1/en
Publication of RU2014107554A publication Critical patent/RU2014107554A/en
Application granted granted Critical
Publication of RU2564243C1 publication Critical patent/RU2564243C1/en

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to cryptography and information security means. A method for cryptographic transformation of a message presented in binary form, which includes calculating, based on an available set of iteration keys K0, …, Kn, a new set of iteration keys KZ0, …, KZn, wherein the zero key in the new set is determined by the formula KZ0=K0 and the remaining keys are determined by the formula KZj=L-1(Kj); calculating binary vectors u[i][j] with length w using the formula u[i][j]=π-1(τ(j))·Gi; calculating a binary vector m with length w, using the new iteration keys KZ0, …, KZn, performing the following: calculating mn=S(c), wherein S:Vw→Vw, a=at-1|…||a0, where ai∈Vb; S(a)=S(at-1||…||a0)=π(at-1)||…||π(a0); calculating q j = i = 0 t 1 u [ i ] [ τ 1 ( m j [ i ] ) ] ;
Figure 00000015
mj-1=X[KZj](qj), where mj=mj[t-1]||mj[t-2]||…||mj[0]; j=n, …, 1; X[KZ] is linear transformation which depends on the iteration key KZ, wherein X[KZ]:Vw→Vw, X[KZ](a)=KZ⊕a, where KZ, a∈Vw; calculating m=X[KZ0](S-1(m0)).
EFFECT: faster information processing and fewer operations when performing iterative cryptographic transformation.

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Предлагаемое изобретение относится к криптографии и средствам защиты информации и может быть использовано для реализации блочного шифрования, хэш-функций, генераторов псевдослучайных последовательностей и т.д.The present invention relates to cryptography and information security and can be used to implement block encryption, hash functions, pseudo-random sequence generators, etc.

Уровень техникиState of the art

Известны способы итерационного криптографического преобразования сообщений фиксированной длины, представленных в цифровом виде, а именно в виде двоичных данных, выполняемые с использованием секретного ключа, например способ, реализованный в виде алгоритма блочного шифрования AES (Advanced Encryption Standard) [1].Known methods for iterative cryptographic conversion of messages of a fixed length, presented in digital form, namely in the form of binary data, performed using a secret key, for example, a method implemented in the form of an AES (Advanced Encryption Standard) block encryption algorithm [1].

Алгоритм блочного шифрования AES включает два этапа использования: зашифрование и расшифрование. На обоих этапах формируются раундовые ключи шифрования, вычисляемые при помощи секретного ключа. Сообщения фиксированной длины преобразуются путем последовательного выполнения над ними обратимых линейных и нелинейных операций и побитового суммирования сообщения с раундовыми ключами. В качестве линейных операций используются перестановка байтов сообщения и умножение сообщения на фиксированную матрицу. В качестве нелинейных операций используются операции побайтовой подстановки. На этапе зашифрования после каждого нелинейного преобразования применяется линейное преобразование. На этапе расшифрования используются обратные преобразования, и они применяются в обратном порядке: после каждого линейного преобразования следует нелинейное преобразование.The AES block cipher algorithm includes two phases of use: encryption and decryption. At both stages, round encryption keys are computed using the private key. Messages of a fixed length are converted by sequentially performing reversible linear and nonlinear operations on them and bitwise summing the messages with round keys. As linear operations, permutation of message bytes and multiplication of the message by a fixed matrix are used. Byte operations are used as nonlinear operations. At the encryption stage, after each non-linear transformation, a linear transformation is applied. At the decryption stage, the inverse transforms are used, and they are applied in the reverse order: after each linear transformation, a nonlinear transformation follows.

Введем обозначения:We introduce the following notation:

- Vh - множество всех двоичных векторов длины h;- V h is the set of all binary vectors of length h;

- m - сообщение (двоичный вектор) длины w;- m - message (binary vector) of length w;

- n - количество итерационных ключей, причем n>2;- n is the number of iterative keys, with n> 2;

- w - размер сообщения в битах, причем w=b·t,- w is the message size in bits, with w = b · t,

где t, b∈N (множество натуральных чисел);where t, b∈N (the set of natural numbers);

- с - сообщение (двоичный вектор) длины w;- c - message (binary vector) of length w;

- τ : Z 2 h V b

Figure 00000001
- взаимно-однозначное преобразование, которое ставит в соответствие целому числу из промежутка 0, …, 2b-1 вектор его двоичного представления, младшие биты числа находятся справа.- τ : Z 2 h V b
Figure 00000001
- a one-to-one transformation, which associates an integer from the interval 0, ..., 2 b -1 the vector of its binary representation, the least significant bits of the number are on the right.

- А||В - операции конкатенации двух векторов А и В, результатом является вектор, в котором левая часть совпадает с вектором А, а правая часть совпадает с вектором В;- A || B - the concatenation operation of two vectors A and B, the result is a vector in which the left part coincides with the vector A, and the right part coincides with the vector B;

- X[K] - линейное преобразование, зависящее от итерационного ключа K, причем- X [K] is a linear transformation depending on the iterative key K, and

X[K]:Vw→Vw,X [K]: V w → V w ,

X[K](a)=K⊕a,X [K] ( a ) = K⊕ a ,

где а - это сообщение (двоичный вектор) длины w,where a is a message (binary vector) of length w,

K∈Vw;K∈V w ;

- S - нелинейное взаимно-однозначное преобразование, причем- S is a nonlinear one-to-one transformation, and

S:Vw→Vw,S: V w → V w ,

S(a)=S(a t-1||…||a 0)=π(a t-1)||…||π(a 0),S ( a ) = S ( a t-1 || ... || a 0 ) = π ( a t-1 ) || ... || π ( a 0 ),

где а∈Vw,where a ∈V w ,

a=a t-1||…||a 0, a = a t-1 || ... || a 0 ,

ai∈Vb,a i ∈V b ,

π - любое взаимно-однозначное преобразование, причемπ is any one-to-one transformation, and

π:Vb→Vb π: V b → V b

- L1 - линейное взаимно-однозначное преобразование, причем- L 1 - linear one-to-one transformation, and

L1:Vw→Vw;L 1 : V w → V w ;

- L2 - линейное взаимно-однозначное преобразование, причем- L 2 - linear one-to-one transformation, and

L2:Vw→Vw;L 2 : V w → V w ;

- L - линейное взаимно-однозначное преобразование, причем- L is a linear one-to-one transformation, and

L:Vw→Vw;L: V w → V w ;

L(a)=a·D,L ( a ) = a

где D - невырожденная матрица размером w×w;where D is a non-degenerate matrix of size w × w;

G=D-1 - обратная матрица по отношению к D;G = D -1 is the inverse matrix with respect to D;

Gi - матрица размера b×w, состоящая из подряд расположенных строк матрицы G с номерамиG i - matrix of size b × w, consisting of consecutive rows of matrix G with numbers

(t-1-i)·b+1, (t-1-i)·b+2, …, (t-i)·b,(t-1-i) b + 1, (t-1-i) b + 2, ..., (t-i) b

где i=0, …, t-1, a∈Vw;where i = 0, ..., t-1, a ∈V w ;

L является композицией линейных преобразований L1 и L2:L is a composition of linear transformations L 1 and L 2 :

L(a)=L1(L2(a)).L ( a ) = L 1 (L 2 ( a )).

В указанных обозначениях алгоритм зашифрования AES запишется в видеIn the indicated notation, the AES encryption algorithm is written as

c=X[Kn]L2S…X[K1]LSX[K0](m),c = X [K n ] L 2 S ... X [K 1 ] LSX [K 0 ] (m),

а алгоритм расшифрования:and decryption algorithm:

m=X[K0]S-1L-1…S-1L-1X[Kn-1]S-1L2-1X[Kn](c),m = X [K 0 ] S -1 L -1 ... S -1 L -1 X [K n-1 ] S -1 L 2 -1 X [K n ] (c),

где Ki - раундовые ключи Ki∈Vw, i=0, …, n.where K i are round keys K i ∈V w , i = 0, ..., n.

Известен способ реализации алгоритма зашифрования, использующего композицию преобразований LS (сначала выполняется S, потом - L), на универсальных вычислительных платформах с достаточным количеством памяти. Основная идея способа заключается в объединении данных преобразований в одно и его табличная реализация. Этот способ описан, например, в работах [2, 3].There is a method of implementing an encryption algorithm that uses a composition of LS transforms (first S is executed, then L), on universal computing platforms with sufficient memory. The main idea of the method is to combine these transformations into one and its tabular implementation. This method is described, for example, in [2, 3].

Алгоритм расшифрования требует выполнения композиции преобразований S-1L-1 (сначала L-1, потом - S-1). Такой способ объединения этих преобразований и его табличная реализация в общем случае практически неприменимы из-за чрезвычайного большого объема таблиц, что является его недостатком.The decryption algorithm requires a composition of transformations S -1 L -1 (first L -1 , then S -1 ). This method of combining these transformations and its tabular implementation in the general case is practically not applicable due to the extremely large volume of tables, which is its drawback.

Раскрытие изобретенияDisclosure of invention

Техническим результатом является увеличение скорости обработки информации и снижение количества операций при реализации итерационного криптографического преобразования.The technical result is to increase the speed of information processing and reduce the number of operations when implementing iterative cryptographic conversion.

Заявленный результат достигается за счет замены исходной композиции преобразований эквивалентными преобразованиями с последующей их эффективной реализацией.The claimed result is achieved by replacing the original composition of the transformations with equivalent transformations with their subsequent effective implementation.

Отметим, что для одной итерации в силу линейности преобразования L-1 для любого сообщения а, справедливо соотношениеNote that for one iteration, due to the linearity of the transformation L -1 for any message a , the relation

L-1X[Ki]S-1(a)=L-1X[Ki](S-1(a))=L-1(S-1(a)⊕Ki)=L-1(S-1(a))⊕L-1(Ki)=L-1S-1(a)⊕L-1(Ki)=X[L-1(Ki)]L-1S-1(a)L -1 X [K i ] S -1 ( a ) = L -1 X [K i ] (S -1 ( a )) = L -1 (S -1 ( a ) ⊕K i ) = L -1 (S -1 ( a )) ⊕L -1 (K i ) = L -1 S -1 ( a ) ⊕L -1 (K i ) = X [L -1 (K i )] L -1 S - 1 ( a )

Тогда исходное итерационное криптографическое преобразованиеThen the original iterative cryptographic transformation

m=X[K0]S-1L-1…S-1L-1X[Kn-1]S-1L-1X[Kn](c)m = X [K 0 ] S -1 L -1 ... S -1 L -1 X [K n-1 ] S -1 L -1 X [K n ] (c)

заменяется эквивалентным, в котором S-1 предшествует L-1:is replaced by an equivalent in which S -1 precedes L -1 :

m=X[KZ0]S-1X[KZ1]L-1S-1…X[KZn-1]L-1S-1X[KZn]L-1S-1S(c),m = X [KZ 0 ] S -1 X [KZ 1 ] L -1 S -1 ... X [KZ n-1 ] L -1 S -1 X [KZ n ] L -1 S -1 S (c) ,

где KZ0=K0,where KZ 0 = K 0 ,

а остальные вычисляются по формулеand the rest are calculated by the formula

KZj=L-1(Kj),KZ j = L -1 (K j ),

где j=1, …, nwhere j = 1, ..., n

Такое представление потребует вычислить новые итерационные ключи, как показано выше.Such a representation will require computing new iterative keys, as shown above.

Таким образом, применение композиции S-1L-1 сводится к применению композиции L-1S-1, реализация которой требует такого же количества вычислительных ресурсов, что и реализация LS, а значит, эффективно реализуется указанным в работах [2, 3] способом и по сложности эквивалентна преобразованию L.Thus, the use of composition S -1 L -1 is reduced to the use of composition L -1 S -1 , the implementation of which requires the same amount of computing resources as the implementation of LS, which means that it is effectively implemented by the method specified in [2, 3] and in complexity is equivalent to the transformation L.

Рассмотрим композицию Y преобразований L-1 и S-1 Consider the composition Y of the transformations L -1 and S -1

Y(a)=L-1(S-1(a))Y ( a ) = L -1 (S -1 ( a ))

Сначала к сообщению а применяется преобразованиеFirst to post a transform is applied

S-1(a)=S-1(a t-1||…||a 0)=π-1(a t-1)||…||π-1(a 0),S -1 ( a ) = S -1 ( a t-1 || ... || a 0 ) = π -1 ( a t-1 ) || ... || π -1 ( a 0 ),

в результате получается новое сообщение (двоичный вектор)the result is a new message (binary vector)

d=S-1(a)d = S -1 ( a )

Затем над вектором d выполняется линейное преобразование, которое эквивалентно умножению вектора d на заданную матрицу G, которая соответствует линейному преобразованию L-1 Then, a linear transformation is performed on the vector d, which is equivalent to multiplying the vector d by a given matrix G, which corresponds to the linear transformation L -1

L-1S-1(a)=d·GL -1 S -1 (a) = dG

Вектор d разбивается на частиVector d is divided into parts

d=dt-1||…||d0 d = d t-1 || ... || d 0

и для каждого значения части вычисляется промежуточный векторand for each value of the part, an intermediate vector is calculated

u = i j τ ( j ) G i ,

Figure 00000002
u = i j τ ( j ) G i ,
Figure 00000002

где i=0, …, t-1;where i = 0, ..., t-1;

j=0, …, 2b-1j = 0, ..., 2 b -1

Для вычисления результата умножения вектора d на матрицу G необходимо сложить соответствующие промежуточные векторыTo calculate the result of multiplying the vector d by the matrix G, it is necessary to add the corresponding intermediate vectors

Figure 00000003
Figure 00000003
L 1 ( d ) = d G = ( d t 1 d 0 ) ( G t 1 G t 2 G 0 ) = i = 0 t 1 u i τ 1 ( d i )    (1)
Figure 00000004
L - one ( d ) = d G = ( d t - one ... d 0 ) ( G t - one G t - 2 ... G 0 ) = i = 0 ... t - one u i τ - one ( d i ) (one)
Figure 00000004

Учитывая, чтоGiven that

d=(dt-1||…||d0)=(π-1(a t-1)||…||π-1(a0)),d = (d t-1 || ... || d 0 ) = (π -1 ( a t-1 ) || ... || π -1 (a 0 )),

из (1) получаемfrom (1) we obtain

Y ( a ) = L - 1 ( S 1 ( a ) ) = L - 1 ( d ) = d G = = ( d t 1 d 0 ) ( G t 1 G t 2 G 0 ) = i = 0 t 1 u i τ 1 ( d i ) = i = 0 t 1 u i τ 1 ( π 1 ( a i ) )    (2)

Figure 00000005
Y ( a ) = L - one ( S - one ( a ) ) = L - one ( d ) = d G = = ( d t - one ... d 0 ) ( G t - one G t - 2 ... G 0 ) = i = 0 ... t - one u i τ - one ( d i ) = i = 0 ... t - one u i τ - one ( π - one ( a i ) ) (2)
Figure 00000005

Для того чтобы исключить преобразования π-1, нужно вычислить соответствующие промежуточные значенияIn order to exclude π -1 transformations, we need to calculate the corresponding intermediate values

u ƒ i j = π 1 ( τ ( i ) ) G i

Figure 00000006
u ƒ i j = π - one ( τ ( i ) ) G i
Figure 00000006

Отметим связь значенийNote the relation of values

u ƒ i j = u i τ 1 ( π 1 ( τ ( j ) ) )

Figure 00000007
u ƒ i j = u i τ - one ( π - one ( τ ( j ) ) )
Figure 00000007

Тогда из (2) получаемThen from (2) we obtain

Y ( a ) = i = 0 t 1 u i τ 1 ( π 1 ( a t ) ) = i = 0 t 1 u ƒ i τ 1 ( a i )

Figure 00000008
Y ( a ) = i = 0 ... t - one u i τ - one ( π - one ( a t ) ) = i = 0 ... t - one u ƒ i τ - one ( a i )
Figure 00000008

Описанный способ позволяет объединить два преобразования L-1 и S-1 в одно, по сложности равное одному преобразованию L.The described method allows you to combine two transformations L -1 and S -1 into one, the complexity is equal to one transformation L.

Проведем сравнительную оценку известного и предложенного способов.Let us conduct a comparative assessment of the known and proposed methods.

Способ непосредственной реализации криптографического преобразования, согласно известному выражениюA method for directly implementing cryptographic conversion according to a known expression

m=X[K0]S-1L-1…X[Kn-1]S-1L-1X[Kn](c)m = X [K 0 ] S -1 L -1 ... X [K n-1 ] S -1 L -1 X [K n ] (c)

требует выполнения n раз преобразований, по сложности равных преобразованиям L, выполнения n раз преобразований типа S и выполнения n+1 раз преобразований типа X[Ki].requires performing n times transformations equal in complexity to L transformations, performing n times transformations of type S, and performing n + 1 times transformations of type X [K i ].

Реализация криптографического преобразования предложенным способом, согласно выражениюImplementation of cryptographic conversion by the proposed method, according to the expression

m=X[KZ0]S-1X[KZ1]L-1S-1…X[KZn-1]L-1S-1X[KZn]L-1S-1S(c),m = X [KZ 0 ] S -1 X [KZ 1 ] L -1 S -1 ... X [KZ n-1 ] L -1 S -1 X [KZ n ] L -1 S -1 S (c) ,

требует выполнения n раз преобразований, по сложности равных преобразованиям L, двух преобразований типа S и выполнения n+1 раз преобразований типа X[KZi], также необходимо однократно вычислить новые итерационные ключиrequires performing n times transformations, equal in complexity to L transformations, two transformations of type S and performing n + 1 times transformations of type X [KZ i ], it is also necessary to calculate new iterative keys once

KZ0=K0,KZ 0 = K 0 ,

KZi=L-1(Ki),KZ i = L -1 (K i ),

где i=1, …, n,where i = 1, ..., n,

что потребует выполнения n раз преобразований типа L.which will require performing n times transformations of type L.

Если для выполнения операции типа L требуется l тактов процессора, а для выполнения операции чипа S необходимо s тактов процессора, то получаем, что предложенный способ становится быстрее известного исходного преобразования, если происходит обработка количества сообщений длины w большего, чем целая часть от величиныIf an L-type operation requires l processor cycles, and an S chip operation requires s processor cycles, we find that the proposed method becomes faster than the known initial conversion if the number of messages of length w is processed more than the integer part of

r = l n ( n 2 ) s ,           (3)

Figure 00000009
r = l n ( n - 2 ) s , (3)
Figure 00000009

при условии, что итерационные ключи при этом остаются неизменными и вычисляются только один раз для всех сообщений длины w.provided that the iterative keys remain unchanged and are calculated only once for all messages of length w.

Отметим также, что в предлагаемом способе можно выполнить на одно преобразование типа S меньше, но это приведет к тому, что при вычислении будут использоваться два разных преобразования, по сложности равных преобразованиям L: первое преобразование L-1S-1, второе L-1. Тогда преобразование примет видWe also note that in the proposed method it is possible to perform one transformation of type S less, but this will lead to the fact that in the calculation two different transformations will be used, in complexity equal to the transformations L: the first transformation L -1 S -1 , the second L -1 . Then the transformation will take the form

m=X[KZ0]S-1X[KZ1]L-1S-1…X[KZn-1]L-1S-1X[KZn]L-1(c),m = X [KZ 0 ] S -1 X [KZ 1 ] L -1 S -1 ... X [KZ n-1 ] L -1 S -1 X [KZ n ] L -1 (c),

и оно потребует выполнения n раз преобразований по сложности равных преобразованиям L, одного преобразования типа S и n+1 раз преобразований типа X[Ki].and it will require performing n times transformations in complexity equal to L transformations, one transformation of type S and n + 1 times transformations of type X [K i ].

Рассматриваемый класс итерационных криптографических преобразований реализует так называемую подстановочно-перестановочную сеть, широко используемую при создании криптографических алгоритмов. В частности, на основе таких преобразований могут быть построены блочные шифры, криптографические хэш-функции, генераторы псевдослучайных последовательностей и другие криптографические примитивы.The class of iterative cryptographic transformations under consideration implements the so-called permutation-permutation network, which is widely used in the creation of cryptographic algorithms. In particular, based on such transformations, block ciphers, cryptographic hash functions, pseudo-random sequence generators, and other cryptographic primitives can be constructed.

Осуществление изобретенияThe implementation of the invention

Рассмотрим осуществление предложенного способа на примере блочного шифра, по своей структуре совпадающего с AES. Отличие заключается в том, что при шифровании последнее линейное преобразование L2 заменяется преобразованием L, то есть дополнительно добавляется преобразование L1 для сохранения единообразия линейного преобразования.Consider the implementation of the proposed method on the example of a block cipher, in its structure coinciding with AES. The difference is that during encryption the last linear transformation L 2 is replaced by the transformation L, that is, the transformation L 1 is additionally added to maintain the uniformity of the linear transformation.

Тогда алгоритм зашифрования сообщения (двоичного вектора) m длины 128 бит в двоичный вектор c также длины 128 бит будет иметь вид (известно, что при зашифровании по стандарту AES используется в совокупности 15 итерационных ключей при длине исходного секретного ключа 256 бит):Then the encryption algorithm of the message (binary vector) m of length 128 bits to binary vector c of length 128 bits will also look like (it is known that when encrypting according to the AES standard, a total of 15 iteration keys are used with the length of the original secret key of 256 bits):

c=X[K14]LS…X[K1]LSX[K0](m),c = X [K 14 ] LS ... X [K 1 ] LSX [K 0 ] (m),

а алгоритм расшифрования:and decryption algorithm:

m=[K0]S-1L-1…X[K13]S-1L-1X[K14](c)m = [K 0 ] S -1 L -1 ... X [K 13 ] S -1 L -1 X [K 14 ] (c)

Покажем, как осуществить алгоритм расшифрования предложенным способом. Считаем, что итерационные ключи заданы.We show how to implement the decryption algorithm of the proposed method. We consider that iterative keys are set.

Сначала выбирают преобразования из допустимых множеств:First, select transformations from the valid sets:

Vh - множество всех двоичных строк длины h,V h is the set of all binary strings of length h,

X[Ki]:V128→V128 задается следующим образом:X [K i ]: V 128 → V 128 is defined as follows:

X[Ki](a)=Kia,X [K i ] ( a ) = K ia ,

где Ki - итерационный ключ исходного криптографического преобразования, причем Ki, a∈V128, i=0, …, 14;where K i is the iterative key of the original cryptographic transformation, and K i , a ∈V 128 , i = 0, ..., 14;

L:V128→V128 - линейное взаимно-однозначное преобразование однозначно определяется заданием невырожденной двоичной матрицы D размера 128×128.L: V 128 → V 128 - a linear one-to-one transformation is uniquely determined by defining a 128 × 128 non-degenerate binary matrix D.

L(a)=a·D,L ( a ) = a

обратная матрицаinverse matrix

G=D-1;G = D -1 ;

S:V128→V128 - нелинейное взаимно-однозначное преобразование, причемS: V 128 → V 128 is a nonlinear one-to-one transformation, and

a=a 15||…||a 0, a = a 15 || ... || a 0 ,

где a i∈V8;where a i ∈V 8 ;

S(a)=S(a 15||…||a 0)=π(a 15)||…||π(a 0),S ( a ) = S ( a 15 || ... || a 0 ) = π ( a 15 ) || ... || π ( a 0 ),

где π:V8→V8 - любое взаимно-однозначное преобразование, оно однозначно определяет преобразование S(а),where π: V 8 → V 8 is any one-to-one transformation, it uniquely determines the transformation S ( a ),

τ:Z256→V8 - взаимно-однозначное преобразование, которое ставит в соответствие целому числу из промежутка 0…255 вектор его двоичного представления, младшие биты числа находятся справа.τ: Z 256 → V 8 is a one-to-one transformation that maps a whole number from the interval 0 ... 255 to the vector of its binary representation, the least significant bits of the number are on the right.

Затем вычисляют новые итерационные ключи KZ0, …, KZ14 на основе имеющегося набора итерационных ключей K0, …, K14, причем нулевой ключ в новом наборе определяют по формулеThen, iterative keys KZ 0 , ..., KZ 14 are calculated based on the existing set of iterative keys K 0 , ..., K 14 , and the zero key in the new set is determined by the formula

KZ0=K0,KZ 0 = K 0 ,

а остальные по формулеand the rest according to the formula

KZj=L-1(Kj),KZ j = L -1 (K j ),

где j=1, …, 14.where j = 1, ..., 14.

После этого вычисляют двоичные векторы u[i][j] длины 128 бит, по формулеAfter that, binary vectors u [i] [j] of length 128 bits are calculated by the formula

u[i][j]=π-1(τ(j))·Gi,u [i] [j] = π -1 (τ (j)) · G i ,

где Gi - матрица, состоящая из подряд расположенных строк матрицы G, которая соответствует линейному преобразованию L-1, с номерами (15-i)·8+1, (15-i)·8+2, …, (16-i)·8, где i=0, …, 15; j=0, …, 255.where G i is the matrix consisting of rows of rows of the matrix G, which corresponds to the linear transformation L -1 , with the numbers (15-i) · 8 + 1, (15-i) · 8 + 2, ..., (16-i ) · 8, where i = 0, ..., 15; j = 0, ..., 255.

В завершении вычисляют m:At the end, m is calculated:

m14=S(c); m 14 = S (c);

q j = i = 0 15 u [ i ] [ τ 1 ( m j [ i ] ) ]

Figure 00000010
, q j = i = 0 ... fifteen u [ i ] [ τ - one ( m j [ i ] ) ]
Figure 00000010
,

mj-1=X[KZj](qj),m j-1 = X [KZ j ] (q j ),

гдеWhere

mj=mj[15]||mj[14]||…||mj[0];m j = m j [15] || m j [14] || ... || m j [0];

j=14, …, 1,j = 14, ..., 1,

m=X[KZ0](S-1(m0)).m = X [KZ 0 ] (S -1 (m 0 )).

Для реализации всех вычислений и операций вполне может быть сформирована программа (комплекс программ) специалистом по программированию (программистом) на любом известном универсальном языке программирования (например, языке С) на основе приведенных выше соотношений. Затем эта программа может быть выполнена на компьютере.To implement all the calculations and operations, a program (program complex) may well be formed by a programming specialist (programmer) in any well-known universal programming language (for example, C language) based on the above relations. Then this program can be executed on the computer.

В приводимом примере n=14. Подставив это значение в формулу (3), получаем, что предложенный способ становится быстрее исходного преобразования, если происходит обработка количества сообщений длины 128 бит большего, чем целая частьIn the given example, n = 14. Substituting this value into formula (3), we find that the proposed method becomes faster than the original conversion if the processing of the number of messages of length 128 bits longer than the integer part

r = 7 l 6 s ,

Figure 00000011
r = 7 l 6 s ,
Figure 00000011

при условии, что итерационные ключи при этом остаются неизменными и вычисляются только один раз для всех сообщений длины 128 бит.provided that the iterative keys remain unchanged and are calculated only once for all messages of 128 bits in length.

Необходимо отметить, что возможны и другие варианты реализации предложенного способа, отличающиеся от описанного выше и зависящие от личных предпочтений при программировании отдельных действий и функций.It should be noted that other options for implementing the proposed method are possible, which differ from the one described above and depend on personal preferences when programming individual actions and functions.

Источники информацииInformation sources

1. National Institute of Standards and Technology, U.S. Department of Commerce. "Advanced Encryption Standard", Federal Information Processing Standards Publication 197, Washington, DC, November 2001.1. National Institute of Standards and Technology, U.S. Department of Commerce. "Advanced Encryption Standard", Federal Information Processing Standards Publication 197, Washington, DC, November 2001.

2. П.А. Лебедев. Сравнение старого и нового стандартов РФ на криптографическую хэш-функцию на ЦП и графических процессорах NVIDIA. Математические вопросы криптографии, том 4, вып. 2, 2013, с. 73-80.2. P.A. Lebedev. Comparison of the old and new RF standards for cryptographic hash function on CPU and NVIDIA GPUs. Mathematical Problems of Cryptography, Volume 4, no. 2, 2013, p. 73-80.

3. О. Kazymyrov, V. Kazymyrova, Algebraic Aspects of the Russian Hash Standard COST R 34.11-2012, 2nd Workshop on Current Trends in Cryptology (CTCrypt 2013) June 23-25. 2013. pp. 160-176.3. O. Kazymyrov, V. Kazymyrova, Algebraic Aspects of the Russian Hash Standard COST R 11/31/2012, 2nd Workshop on Current Trends in Cryptology (CTCrypt 2013) June 23-25. 2013. pp. 160-176.

Claims (1)

Способ криптографического преобразования сообщения с, представленного в двоичном виде, заключающийся в том, что вычисляют на основе имеющегося набора итерационных ключей K0, …, Kn новый набор итерационных ключей KZ0, …, KZn, причем нулевой ключ в новом наборе определяют по формуле KZ0=K0, а остальные по формуле
KZj=L-1(Kj), где j=1, …, n; L - линейное взаимно-однозначное преобразование, причем L:Vw→Vw; L(a)=a·D, где Vn - множество всех двоичных строк длины n,
w - размер сообщения в битах, причем w=b·t,
где t, b∈N (множество натуральных чисел);
D - невырожденная матрица размером w×w;
a - сообщение (двоичный вектор) длины w;
KZi, Ki∈Vw,
где i=0, …, n;
вычисляют двоичные векторы u[i][j] длины w по формуле
u[i][j]=π-1(τ(j))·Gi,
где j=0, …, 2b-1;
Gi - матрица размером b×w, состоящая из подряд расположенных строк матрицы G с номерами (t-1-i)·b+1, (t-1-i)·b+2, …, (t-i)·b;
i=0, …, t-1;
G=D-1 - обратная матрица по отношению к D:
τ : Z 2 b V b
Figure 00000012
- взаимно-однозначное преобразование, которое ставит в соответствие целому числу из промежутка 0, …, 2b-1 вектор его двоичного представления, младшие биты числа находятся справа;
π - любое взаимно-однозначное преобразование, причем
π:Vb→Vb;
вычисляют двоичный вектор m длины w, используя новые итерационные ключи KZ0, …, KZn, выполняя следующие действия:
вычисляют
mn=S(c),
где S - нелинейное взаимно-однозначное преобразование, причем
S:Vw→Vw,
a=a t-1||…||a 0,
где a i∈Vb;
S(a)=S(a t-1||…||a 0)=π(a t-1)||…||π(a 0);
вычисляют
Figure 00000013

mj-1=X[KZj](qj),
где mj=mj[t-1]||mj[t-2]||…||mj[0];
j=n, …, 1;
X[KZ] - линейное преобразование, зависящее от итерационного ключа KZ, причем
X[KZ]:Vw→Vw,
X[KZ](a)=KZ⊕a,
где KZ, а∈Vw;
вычисляют
m=X[KZ0](S-1(m0)).
The method of cryptographic conversion of message c, presented in binary form, which consists in calculating, based on the existing set of iterative keys K 0 , ..., K n, a new set of iterative keys KZ 0 , ..., KZ n , and the zero key in the new set is determined by formula KZ 0 = K 0 , and the rest according to the formula
KZ j = L -1 (K j ), where j = 1, ..., n; L is a linear one-to-one transformation, moreover, L: V w → V w ; L ( a ) = a · D, where V n is the set of all binary strings of length n,
w is the message size in bits, with w = b · t,
where t, b∈N (the set of natural numbers);
D is a non-degenerate matrix of size w × w;
a is a message (binary vector) of length w;
KZ i , K i ∈V w ,
where i = 0, ..., n;
binary vectors u [i] [j] of length w are calculated by the formula
u [i] [j] = π -1 (τ (j)) · G i ,
where j = 0, ..., 2 b -1;
G i is a b × w matrix consisting of rows of matrices G in a row arranged with numbers (t-1-i) · b + 1, (t-1-i) · b + 2, ..., (ti) · b;
i = 0, ..., t-1;
G = D -1 is the inverse matrix with respect to D:
τ : Z 2 b V b
Figure 00000012
- a one-to-one transformation, which associates an integer from the interval 0, ..., 2 b -1 the vector of its binary representation, the least significant bits of the number are on the right;
π is any one-to-one transformation, and
π: V b → V b ;
calculate the binary vector m of length w using the new iterative keys KZ 0 , ..., KZ n , by performing the following steps:
calculate
m n = S ( c ),
where S is a nonlinear one-to-one transformation, and
S: V w → V w ,
a = a t-1 || ... || a 0 ,
where a i ∈V b ;
S ( a ) = S ( a t-1 || ... || a 0 ) = π ( a t-1 ) || ... || π ( a 0 );
calculate
Figure 00000013

m j-1 = X [KZ j ] (q j ),
where m j = m j [t-1] || m j [t-2] || ... || m j [0];
j = n, ..., 1;
X [KZ] is a linear transformation depending on the iterative key KZ, and
X [KZ]: V w → V w ,
X [KZ] ( a ) = KZ⊕ a ,
where KZ, and ∈V w ;
calculate
m = X [KZ 0 ] (S -1 (m 0 )).
RU2014107554/08A 2014-02-28 2014-02-28 Cryptographic transformation method RU2564243C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014107554/08A RU2564243C1 (en) 2014-02-28 2014-02-28 Cryptographic transformation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014107554/08A RU2564243C1 (en) 2014-02-28 2014-02-28 Cryptographic transformation method

Publications (2)

Publication Number Publication Date
RU2014107554A RU2014107554A (en) 2015-09-10
RU2564243C1 true RU2564243C1 (en) 2015-09-27

Family

ID=54073154

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014107554/08A RU2564243C1 (en) 2014-02-28 2014-02-28 Cryptographic transformation method

Country Status (1)

Country Link
RU (1) RU2564243C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2630423C1 (en) * 2016-12-08 2017-09-07 Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" Method of cryptographic transformation of information
RU2648598C1 (en) * 2017-04-27 2018-03-26 Сергей Константинович Белов Information protection method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2206961C2 (en) * 2001-03-22 2003-06-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Method for iterative block encryption of binary data
US7831827B2 (en) * 2002-12-02 2010-11-09 Silverbrook Research Pty Ltd Authenticated communication between multiple entities
RU2439693C1 (en) * 2010-06-04 2012-01-10 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" Method to protect text information against unauthorised access
RU2459275C1 (en) * 2011-08-02 2012-08-20 Николай Андреевич Молдовян Method for unit coding of m message represented in binary form
RU2485600C2 (en) * 2011-08-12 2013-06-20 Николай Андреевич Молдовян Method of encrypting messages presented in form of multibit binary number

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2206961C2 (en) * 2001-03-22 2003-06-20 Государственное унитарное предприятие Специализированный центр программных систем "Спектр" Method for iterative block encryption of binary data
US7831827B2 (en) * 2002-12-02 2010-11-09 Silverbrook Research Pty Ltd Authenticated communication between multiple entities
RU2439693C1 (en) * 2010-06-04 2012-01-10 Федеральное государственное учреждение "Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю" Method to protect text information against unauthorised access
RU2459275C1 (en) * 2011-08-02 2012-08-20 Николай Андреевич Молдовян Method for unit coding of m message represented in binary form
RU2485600C2 (en) * 2011-08-12 2013-06-20 Николай Андреевич Молдовян Method of encrypting messages presented in form of multibit binary number

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2630423C1 (en) * 2016-12-08 2017-09-07 Общество с ограниченной ответственностью "ЛАН-ПРОЕКТ" Method of cryptographic transformation of information
RU2648598C1 (en) * 2017-04-27 2018-03-26 Сергей Константинович Белов Information protection method

Also Published As

Publication number Publication date
RU2014107554A (en) 2015-09-10

Similar Documents

Publication Publication Date Title
Yavuz et al. A chaos-based image encryption algorithm with simple logical functions
Wang et al. A novel chaotic system and its application in a color image cryptosystem
Akhshani et al. A novel scheme for image encryption based on 2D piecewise chaotic maps
Nematzadeh et al. Binary search tree image encryption with DNA
Seyedzadeh et al. A fast color image encryption algorithm based on coupled two-dimensional piecewise chaotic map
Zhang et al. An image encryption scheme using reverse 2-dimensional chaotic map and dependent diffusion
Zhang et al. A novel image encryption method based on total shuffling scheme
Wang et al. A new compound mode of confusion and diffusion for block encryption of image based on chaos
Rathod et al. Design and implementation of image encryption algorithm by using block based symmetric transformation algorithm (hyper image encryption algorithm)
US20090296928A1 (en) Pseudorandom number generating system, encryption system, and decryption system
KR20110008418A (en) The masking method for protecting power analysis attacks in seed
Hao et al. Application of coupled map lattice with parameter q in image encryption
Seyedzadeh et al. RGB color image encryption based on Choquet fuzzy integral
RU2564243C1 (en) Cryptographic transformation method
CN105117653B (en) A kind of near infrared spectrum data encryption method
CN114465728B (en) Method, device, equipment and storage medium for attacking elliptic curve signature algorithm
Zhang et al. The unified image cryptography algorithm based on finite group
CN112231740B (en) Data encryption method, data decryption method, data encryption device, computer device, and medium
CN109936437B (en) power consumption attack resisting method based on d +1 order mask
Srinivasu et al. A multilevel image encryption based on duffing map and modified DNA hybridization for transfer over an unsecured channel
CN111756518B (en) Color image encryption method based on memristor hyperchaotic system
Khalaf et al. Proposed triple hill cipher algorithm for increasing the security level of encrypted binary data and its implementation using FPGA
CN113434886B (en) Method and device for jointly generating data tuples for secure computation
CN106452726B (en) S-shaped box and construction method thereof
Naskar et al. A robust image encryption technique using dual chaotic map