RU2564243C1 - Cryptographic transformation method - Google Patents
Cryptographic transformation method Download PDFInfo
- 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
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
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;
-
- А||В - операции конкатенации двух векторов А и В, результатом является вектор, в котором левая часть совпадает с вектором А, а правая часть совпадает с вектором В;- 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
где 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
Учитывая, что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
Для того чтобы исключить преобразования π-1, нужно вычислить соответствующие промежуточные значенияIn order to exclude π -1 transformations, we need to calculate the corresponding intermediate values
Отметим связь значенийNote the relation of values
Тогда из (2) получаемThen from (2) we obtain
Описанный способ позволяет объединить два преобразования 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
при условии, что итерационные ключи при этом остаются неизменными и вычисляются только один раз для всех сообщений длины 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)=Ki⊕a,X [K i ] ( a ) = K i ⊕ a ,
где 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);
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
при условии, что итерационные ключи при этом остаются неизменными и вычисляются только один раз для всех сообщений длины 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)
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:
π - любое взаимно-однозначное преобразование, причем
π: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);
вычисляют
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:
π 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
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 )).
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)
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)
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 |
-
2014
- 2014-02-28 RU RU2014107554/08A patent/RU2564243C1/en active
Patent Citations (5)
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)
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 | |
Nematzadeh et al. | Binary search tree image encryption with DNA | |
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 | |
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 | |
Wang et al. | Cryptanalysis of an image cryptosystem based on logistic map | |
KR20110008418A (en) | The masking method for protecting power analysis attacks in seed | |
CN112231740B (en) | Data encryption method, data decryption method, data encryption device, computer device, and medium | |
Hao et al. | Application of coupled map lattice with parameter q in image encryption | |
CN113434886B (en) | Method and device for jointly generating data tuples for secure computation | |
CN111756518B (en) | Color image encryption method based on memristor hyperchaotic system | |
Seyedzadeh et al. | RGB color image encryption based on Choquet fuzzy integral | |
Feng et al. | Exploiting robust quadratic polynomial hyperchaotic map and pixel fusion strategy for efficient image encryption | |
RU2564243C1 (en) | Cryptographic transformation method | |
Zhang et al. | The unified image cryptography algorithm based on finite group | |
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 | |
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 | |
CN105530091A (en) | Decryption method for TTS signature |