RU2598781C1 - Способ линейного преобразования (варианты) - Google Patents
Способ линейного преобразования (варианты) Download PDFInfo
- Publication number
- RU2598781C1 RU2598781C1 RU2015131963/08A RU2015131963A RU2598781C1 RU 2598781 C1 RU2598781 C1 RU 2598781C1 RU 2015131963/08 A RU2015131963/08 A RU 2015131963/08A RU 2015131963 A RU2015131963 A RU 2015131963A RU 2598781 C1 RU2598781 C1 RU 2598781C1
- Authority
- RU
- Russia
- Prior art keywords
- rslos
- calculate
- cells
- modified
- message
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
- H04L9/0668—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator producing a non-linear pseudorandom sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/58—Indexing scheme relating to groups G06F7/58 - G06F7/588
- G06F2207/581—Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Nonlinear Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Storage Device Security (AREA)
Abstract
Группа изобретений относится к области вычислительной техники и может быть использована в устройствах защиты данных. Техническим результатом является уменьшение объема памяти при заданной разрядности процессоров. Способ содержит этапы, на которых задают разрядность W процессора вычислительной системы, равную целочисленной степени числа 2, задают доступный объем памяти вычислительной системы М бит, задают размер s сообщения S, причем s кратно W, задают значение разрядности n регистра сдвига с линейной обратной связью (РСЛОС) по схеме Галуа, формируют РСЛОС по схеме Галуа, модифицируют РСЛОС, осуществляют R тактов работы модифицированного РСЛОС, вычисляют выходное состояние ячеек модифицированного РСЛОС, получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S, считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S, объединяют блоки и получают линейно преобразованное сообщение S. 2 н.п. ф-лы, 14 ил., 3 табл.
Description
Область техники, к которой относится изобретение
Предлагаемое изобретение относится к области вычислительной техники и криптографии и, в частности, к использованию регистров сдвига для реализации линейного преобразования большой размерности и последующего применения в устройствах криптографической защиты данных.
Уровень техники
Для криптографической защиты данных используются различные способы реализации линейных преобразований.
Так, известен способ, улучающий и программную, и аппаратную реализацию фиксированного линейного преобразования шифра AES, основанный на использовании специфического вида матрицы линейного преобразования. Известный способ относится к криптографической области и также может быть использован для программной или аппаратной реализации в системах защиты информации [1].
Известны также и другие способы линейных преобразований [2-4].
Недостатками известных способов являются невозможность их применения для реализации произвольных линейных преобразований, в том числе больших размерностей, и неэффективное использование ресурсов для ряда вычислительных платформ.
Перспективным для реализации линейного преобразования является использование регистров сдвига с линейной обратной связью (РСЛОС) [5]. Такие регистры, выполняемые программно или аппаратно и способные работать как в прямом, так и в обратном направлении, могут быть реализованы на различных вычислительных платформах (фиг. 1-4).
Опубликовано большое количество научных работ, где предложено осуществление линейных преобразований на основе различных РСЛОС, включая РСЛОС типа Галуа и Фибоначчи.
Но такие линейные преобразования обычно имеют малую размерность. При построении рассеивающего слоя криптографического преобразования, например блочного шифра или хэш-функции, они не позволяют обработать целый блок большой размерности и требуют дополнительного линейного преобразования для повышения уровня защищенности, например, в стандарте AES - это функция ShiftRows(), в блочном шифре LED - функция ShiftCells(), в хэш-функции ГОСТ Р 34.11-2012 - функция перестановки байт. Обычно использование линейных преобразований малой размерности компенсируется увеличением числа раундов криптографического преобразования для достижения высокой стойкости, что ведет к снижению быстродействия.
Наиболее близким по своей технической сущности к заявляемому является способ [2], позволяющий эффективно реализовать РСЛОС, который выполняет линейную операцию и может быть применен для линейного преобразования. Способ основан на использовании разделимых таблиц и предложен для реализации РСЛОС только в двоичном поле.
Этот способ принимается за прототип.
Другой известный способ [3] позволяет реализовать РСЛОС большого размера, требует мало памяти, но работает медленно, а способ [4] работает быстро, но требует очень много памяти.
Недостатком прототипа и перечисленных известных способов является невозможность выбора параметров вычислительной системы для эффективного использования ее ресурсов, что не позволяет сократить количество необходимых тактов работы используемых в системе процессоров для вычисления результата преобразования.
Раскрытие изобретения
Техническим результатом является обеспечение возможности выбора взаимосвязанных характеристик (быстродействие и объем необходимой памяти) для конкретной вычислительной системы при реализации линейного преобразования большой размерности.
Для этого предлагается способ, позволяющий осуществить линейное преобразование исходного сообщения с использованием РСЛОС типа Галуа фиг. 1, 2 или типа Фибоначчи фиг. 3, 4.
При этом, зная разрядность процессора и объем выделенной для реализации способа памяти, можно заранее определить, сколько тактов работы РСЛОС необходимо для вычисления линейного преобразования исходного сообщения.
Вариант предлагаемого способа, предусматривающий построение РСЛОС типа Галуа и линейного преобразования сообщения S, представленного в двоичном виде, заключающийся в том, что
• задают разрядность W процессора вычислительной системы (размер машинного слова), равную целочисленной степени числа 2;
• задают доступный объем памяти вычислительной системы М бит;
• задают размер s сообщения S, причем s кратно W;
• задают значение разрядности n регистра сдвига с линейной обратной связью (РСЛОС) по схеме Галуа (фиг. 1, 2), причем выполняется соотношение
где N∈0, 1, 2, …,
• формируют РСЛОС по схеме Галуа со следующими параметрами:
внутренний примитивный полином
ai∈GF(2)
внешний полином
причем hi∈GF(2n),
исходное состояние ячеек РСЛОС qi образует вектор данных
X=(qm-1, qm-2, …, q2, q1, q0),
причем qi∈GF(2n), 0≤i≤m-1
• определяют все делители числа m в виде значений р0, р1, …, pd, причем p0<p1< … pd;
• выбирают максимально возможный делитель р из соотношения
• модифицируют РСЛОС, выполняя следующие действия:
○ вычисляют R матриц Hr, причем r=(R-1), …, 0. размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
▪ вычисляют
k=p,
▪ вычисляют
где R - количество матриц Н;
▪ вычисляют
j=m-k;
▪ вычисляют
t=0;
▪ (А1) если не выполняется соотношение
j≤m-1,
то переходят к выполнению этапа A3;
▪ вычисляют
l=0,
▪ (А2) если не выполняется соотношение
l<n,
то вычисляют
j=j+1,
t=t+1,
переходят к выполнению этапа А1;
▪ устанавливают исходное состояние РСЛОС
X=(qm-1, …, q1, q0),
где qi∈GF(2n),
▪ вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
▪ вычисляют t-e значения для всех матриц Hi, i=r-1…0 путем конкатенации k значений ячеек q′
причем 0≤r≤R-1,
▪ вычисляют
l=l+1,
переходят к выполнению этапа А2;
• (A3) записывают в ячейки модифицированного РСЛОС блоки s исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
X′=(QR-1, …, Q1, Q0),
причем 0≤r≤R-1
• осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
для каждого i=R-1, …, 1,
причем
где zR-1,j - значение j-го бита вектора QR-1,
причем r=R-1, …, 1, 0,
j=0, 1, …, W-1,
zR-1,j∈GF(2);
• получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
• считывают из ячеек модифицированного РСЛОС блоки линейно преобразованного сообщения s;
• объединяют блоки и получают линейно преобразованное сообщение S.
Вариант предлагаемого способа, предусматривающий построение РСЛОС типа Фибоначчи и линейного преобразования сообщения S, представленного в двоичном виде, заключающийся в том, что
• задают разрядность W процессора вычислительной системы (размер машинного слова), равную целочисленной степени числа 2;
• задают доступный объем памяти вычислительной системы М бит;
• задают размер s сообщения S, причем s кратно W;
• задают значение разрядности n регистра сдвига с линейной обратной связью (РСЛОС) по схеме Фибоначчи (фиг. 3, 4), причем выполняется соотношение
где N∈0, 1, 2, …,
• формируют РСЛОС по схеме Фибоначчи со следующими параметрами:
внутренний примитивный полином
ai∈GF(2)
внешний полином
причем hi∈GF(2n)
исходное состояние ячеек РСЛОС qi образует вектор
X=(qm-1, qm-2, …, q2, q1, q0),
причем qi∈GF(2n), 0≤i≤m-1
для каждого i=0, …, m-2
• определяют все делители числа m в виде значений р0, р1, …, pd, причем р0<р1< … pd;
• выбирают максимально возможный делитель р из соотношения
• модифицируют РСЛОС, выполняя следующие действия:
○ вычисляют R матриц Hr, причем r=(R-1), …, 0, размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
- вычисляют
k=р,
▪ вычисляют
где R - количество матриц Hr;
▪ вычисляют
r=0;
▪ (А5) если не выполняется соотношение
r<R,
то переходят к выполнению этапа А7;
▪ вычисляют
j=0,
▪ (А6) если не выполняется соотношение
j<k,
то вычисляют
r=r+1,
переходят к выполнению этапа А5;
▪ вычисляют
l=0,
▪ если не выполняется соотношение
l<n,
то вычисляют
j=j+1,
переходят к выполнению этапа А6;
▪ устанавливают исходное состояние РСЛОС
X=(qm-1, qm-2, …, q1, q0),
где qi∈GF(2n);
▪ вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
причем 0≤r≤R-1;
▪ вычисляют
l=l+1,
переходят к выполнению этапа А6;
• (А7) записывают в ячейки модифицированного РСЛОС блоки s исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
X′=(QR-1, …, Q1, Q0),
причем 0≤r≤R-1;
• осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
для каждого i=0, …, R-2,
и
где zr,j - значение j-го бита вектора Qr,
причем r=R-1, …, 1, 0,
j=0, 1, …, W-1,
zr,j∈GF(2);
• получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
• считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S;
• объединяют блоки и получают линейно преобразованное сообщение S.
Для реализации предложенного способа с использованием РСЛОС типа Галуа модифицируют РСЛОС.
Основное отличие модифицированного РСЛОС Галуа - способ вычисления значения функции обратной связи. В модифицированных РСЛОС Галуа значения функции обратной связи регистра вычисляются по таблицам, в зависимости от значений бит старшей ячейки регистра.
Исходное линейное преобразование . Преобразование L задается на основе РСЛОС Галуа над композиционным полем GF((2n)m), где s=m×n, с помощью внутреннего примитивного полинома
где ai∈GF(2),
и внешнего неприводимого полинома
где hi∈GF(2n) и h0=1.
Исходное состояние ячеек РСЛОС Галуа qi образует вектор данных
X=(qm-1, qm-2, …, q2, q1, q0),
где qi∈GF(2n), 0≤i≤m-1.
Элементы композиционного поля GF((2n)m) также вычисляются с помощью следующего регистра сдвига с линейной обратной связи типа Галуа (далее РСЛОС) на основе полиномов f(x) и h(y) [4].
Под линейным преобразованием L исходного вектора данных X=(qm-1, qm-2, …, q2, q1, q0) будем понимать результат m тактов работы РСЛОС.
Операции сложения и умножения двух n-разрядных чисел в РСЛОС Галуа осуществляются в поле GF(2n). Линейное преобразование исходного вектора данных осуществляется за m тактов работы РСЛОС типа Галуа.
Итогом преобразования является новое состояние регистра на m-ом такте. А обратное линейное преобразование L-l осуществляется за m тактов работы РСЛОС в обратном направлении.
Пусть р0, р1, …, pd, - все делители числа m, причем р0<рх< … pd. Обозначаются значения k=pi, и W=nk, где W - разрядность процессора, на котором реализуется исходное линейное преобразование, pi выбирается исходя из размера доступной памяти М. При этом общая схема модифицированного РСЛОС Галуа имеет вид, показанный на фиг. 5.
Пусть исходное состояние ячеек модифицированного РСЛОС Галуа образует вектор
X′=(QR-1, …, Q1, Q0),
причем 0≤r≤R-1.
Выходное состояние ячеек модифицированного РСЛОС Галуа за один такт работы образует вектор , и каждое значение для каждого r=R-1, …, 1 вычисляется по формуле
причем
а функция определяется в виде
где r=R-1, …, 1, 0,
zR-1,j∈GF(2),
j=0, 1, …, W-1 - биты ячейки QR-1 модифицированного РСЛОС Галуа.
Если состояние на m-ом такте есть результат линейного преобразования L по схеме РСЛОС Галуа (фиг. 1), то такое же состояние будет получено на R-ом такте работы модифицированного РСЛОС Галуа (фиг. 5). Причем R тактов работы модифицированного РСЛОС требуют
операций проверки "true - false" для всех бит ячейки QR-1. Количество сложений по модулю два W-разрядных чисел для каждого вычисления значения по каждой таблице равно W - 1. Следовательно, каждый такт работы модифицированного РСЛОС Галуа требует следующего количества сложений
В итоге необходимое количество сложений по модулю два W-разрядных чисел для R тактов работы модифицированного РСЛОС Галуа равно
Объем необходимой памяти равен
для сохранения R таблиц Hr, r=15, …, 0.
Для правильного функционирования схемы фиг. 5 по правилу схемы фиг. 1 (получения одинакового выхода при одинаковых входных данных) необходимо определить R таблиц Hr, r=(R-1), …, 0. Блок-схема процесса их вычисления представлена на фиг. 6.
Последовательность вычисления R таблиц Hr, r=(R-1), …, 0 базируется на принципе суперпозиции линейных преобразований. Входные данные алгоритма - линейное преобразование над заданным композиционным полем GF((2n)m), и р - любой из делителей числа m. А выходные - R необходимых таблиц Hr, r=(R-1), …, 0.
Рассмотрим каждый шаг алгоритма (фиг. 6).
Шаг 2 [Пункт А - блок 3]: проверяют условие
j≤m-1
• если условие выполняется, то присваивают l=0 (блок 4) и переходят к шагу 3 [Пункту Б];
• если условие не выполняются, то завершают процесс;
Шаг 3 [Пункт Б - блок 5] проверяют условие
l<n
• если условие выполняется, то
○ определяют исходное состояние РСЛОС Галуа (блок 6):
○ вычисляют новое состояние РСЛОС Галуа после k тактов работы для каждого исходного состояния X=(qm-1, …, q1, q0), где , 0≤i≤m-1 (блок 7),
○ вычисляют t-е значения для всех таблиц Н путем конкатенации k значений ячеек q′ (блок 8):
○ увеличивают значение l=l+1 (блок 9), и переходят к шагу 3 [Пункту Б];
• если условие не выполняются, то увеличивают значения j=j+1, t=t+1 (блок 10), и переходят к шагу 2 [Пункту А].
Порядок вычисления необходимых таблиц для обратного линейного преобразования L-1 выполняется аналогичным образом. Но при этом полученный модифицированный РСЛОС типа Галуа будет работать в противоположном направлении с проверкой на "true - false" для всех бит ячейки Q0 вместо QR-1.
Если линейное преобразование задается на основе РСЛОС Фибоначчи над композиционным полем GF((2n)m), где s=m×n, с помощью внутреннего примитивного полинома
где ai∈GF(2),
и внешнего неприводимого полинома
где hi∈GF(2n) и h0=1,
то можно его реализовать по схеме модифицированного РСЛОС Фибоначчи.
Исходное состояние ячеек РСЛОС Фибоначчи qi образует вектор данных
X=(qm-1, qm-2, …, q2, q1, q0),
где qi∈GF(2n), 0≤i≤m-1
для каждого i=0, …, m-2 и
Операции сложения и умножения двух n-разрядных чисел в РСЛОС Фибоначчи осуществляются в поле GF(2n). Линейное преобразование исходного вектора данных - m тактов работы РСЛОС Фибоначчи (фиг. 3). Итогом преобразования является новое состояние регистра на m-ом такте. А обратное линейное преобразование L-1 достигается через m тактов работы РСЛОС Фибоначчи в обратном направлении (фиг. 4).
В этом случае общая схема модифицированного РСЛОС Фибоначчи имеет вид, представленный на фиг. 7.
Пусть исходное состояние ячеек модифицированного РСЛОС Фибоначчи образует вектор
X′=(QR-1, …, Q1, Q0),
r=R-1, …, 1, 0
zr,j∈GF(2),
j=0, 1, …, W-1 - биты ячейки модифицированного РСЛОС Фибоначчи.
Если состояние на m-ом такте есть результат линейного отображения L по схеме РСЛОС Фибоначчи на фиг. 3, то состояние на R-ом такте соответствует его результату по схеме модифицированного РСЛОС Фибоначчи на фиг. 7. Причем R тактов его работы требуют
операций проверки "true - false". Количество сложений по модулю два поразрядных чисел для вычисления каждого значения по каждой таблице равно W-1. Следовательно, каждый такт работы модифицированного РСЛОС Фибоначчи требует
операций сложения по модулю два W-разрядных чисел. В итоге необходимое количество сложений по модулю два W-разрядных чисел для R тактов работы регистра равно
Объем необходимой памяти равен
для сохранения R таблиц Hr, r=15, …, 0.
Для корректной работы модифицированной схемы необходимо определить R таблиц Hr, r=(R-1), …, 0. Блок-схема процесса их вычисления представлена на фиг. 8.
Алгоритм вычисления R таблиц Hr, r=(R-1), …, 0 также базируется на принципе суперпозиции линейных преобразований. Входные данные алгоритма - линейное преобразование над заданным композиционным полем GF((2n)m), построенное по схеме РСЛОС Фибоначчи, и р - любой из делителей числа m. А выходные - R необходимых таблиц Hr, r=(R-1), …, 0.
Рассмотрим каждый шаг алгоритма.
Шаг 2 [Пункт А - блок 3]: проверяют условие
r<R
• если условие выполняется, то присваивают j=0 (блок 4) и переходят к шагу 3 [Пункту Б];
• если условие не выполняется, то завершают процесс; Шаг 3 [Пункт Б - блок 5] проверяют условие
j<k,
• если условие выполняется, то присваивают l=0 (блок 6) и переходят к шагу 4 [Пункту В];
• если условие не выполняется, то увеличивают значение r=r+1 (блок 12), и переходят к шагу 2 [Пункту А];
Шаг 4 [Пункт В - блок 7] проверяют условие
l<n,
• если условие выполняется, то
○ определяют исходное состояние РСЛОС Фибоначчи (блок 8):
○ вычисляют новое состояние РСЛОС Фибоначчи после k тактов работы для каждого исходного состояния X=(qm-1, …, q1, q0), где , 0≤i≤m-1 (блок 9),
○ увеличивают значение l=l+1 (блок 10) и переходят к шагу 4 [Пункту В];
○ если условие не выполняется, то увеличивают значение j=j+1 (блок 11), и переходят к шагу 3 [Пункту Б].
Порядок вычисления необходимых таблиц для обратного линейного отображения L-l выполняется аналогичным образом. Но при этом необходимо использовать схему РСЛОС Фибоначчи (фиг. 4) для вычисления его состояния (блок 9, фиг. 8). Полученный модифицированный РСЛОС сдвигается в противоположном направлении.
Краткое описание чертежей
На фиг. 1 показана схема работы линейного регистра сдвига с линейной обратной связью типа Галуа в прямом направлении.
На фиг. 2 показана схема работы линейного регистра сдвига с линейной обратной связью типа Галуа в обратном направлении.
На фиг. 3 показана схема работы линейного регистра сдвига с линейной обратной связью типа Фибоначчи в прямом направлении.
На фиг. 4 показана схема работы линейного регистра сдвига с линейной обратной связью типа Фибоначчи в обратном направлении.
На фиг. 5 показана схема работы модифицированного линейного регистра сдвига с линейной обратной связью типа Галуа.
На фиг. 6 показана блок-схема алгоритма вычисления таблиц функции обратной связи модифицированного линейного регистра сдвига с линейной обратной связью типа Галуа.
На фиг. 7 показана схема работы модифицированного линейного регистра сдвига с линейной обратной связью типа Фибоначчи.
На фиг. 8 показана блок-схема алгоритма вычисления таблиц функции обратной связи модифицированного линейного регистра сдвига с линейной обратной связью типа Фибоначчи.
На фиг. 9 показана схема линейного регистра сдвига с линейной обратной связью типа Галуа для прямого линейного преобразования для примера реализации способа.
На фиг. 10 показана схема линейного регистра сдвига с линейной обратной связью типа Галуа для обратного линейного преобразования для примера реализации способа.
На фиг. 11 показана схема работы модифицированного линейного регистра сдвига с линейной обратной связью типа Галуа для прямого линейного преобразования для примера реализации способа.
На фиг. 12 показана схема работы модифицированного 16-разрядного линейного регистра сдвига с линейной обратной связью типа Галуа для прямого линейного преобразования для примера реализации способа.
На фиг. 13 показана схема работы модифицированного 32-разрядного линейного регистра сдвига с линейной обратной связью типа Галуа для прямого линейного преобразования для примера реализации способа.
На фиг. 14 показана схема работы модифицированного 64-разрядного линейного регистра сдвига с линейной обратной связью типа Галуа для прямого линейного преобразования для примера реализации способа.
Осуществление изобретения
Рассмотрим пример реализации предложенного способа с использованием модифицированного РСЛОС типа Галуа.
Предложенный способ может быть реализован в прикладной программе для вычислительной системы, в качестве которой может быть использован компьютер с одним процессором с разрядностью 8 и выше, работающий под управлением операционной системы (например, Microsoft Windows 7).
Прикладная программа, реализующая работу РСЛОС типа Галуа (или типа Фибоначчи), может быть составлена специалистом по программированию (программистом) на основе знания известных принципов и структуры РСЛОС соответствующего типа и действий предложенного способа.
Для удобства при анализе и синтезе, в описании изобретения рассматривается линейное преобразование L с конкретными параметрами, типичными для большого класса криптографических алгоритмов:
• композиционное поле GF((28)16) (m=16, n=8);
• внутренний примитивный полином
для построения поля GF(28);
• внешний неприводимый полином h(y) для построения композиционного поля GF((28)16)
где
hi∈GF(28)
Схема РСЛОС для прямого преобразования L и РСЛОС для обратного преобразования L-1 изображены на фиг. 9 и 10 соответственно.
Ранее для линейного преобразования было выявлено полезное в области криптографии свойство: если в ячейки РСЛОС записать любую последовательность символов и «сдвинуть» регистр 16 раз влево в регистре останутся проверочные символы кода с максимальным расстоянием (МДР кода) С(32,16,17) [6]. Минимальное расстояние между любыми кодовыми словами данного кода равно 17. Если взять такой код в качестве линейного преобразования блочного шифра, то оно будет обладать максимальным свойством рассеивания (d=17).
Последовательность работы одного такта РСЛОС:
○ исходное состояние - вектор X=(q15, q14, …, q2, q1, q0), где qi∈GF(28), 0≤i≤15. Вектор X имеет 16 координат, расположенных слева направо в 16 ячеек РСЛОС, начиная с координаты индексом i=15;
○ в работе РСЛОС Галуа только значение q15 в самой старшей ячейке участвует в выработке значения функции обратной связи;
при этом q0=h0·ql5
Под линейным преобразованием L исходного вектора данных
X=(q15, q14, …, q2, q1, q0)
будем понимать 16 тактов работы РСЛОС.
Итогом преобразования является новое состояние регистра на m-ом такте, которое можно записать следующим образом
Обратное преобразование L-1 - 16 тактов работы РСЛОС в обратном направлении.
Обозначим через k какой-нибудь делитель числа m=16 (его выбор определяется имеющейся разрядностью процессора W и допустимым объемом памяти М).
Сущность предлагаемого способа реализации на соответствующей платформе зависит от значения k и основывается на применении принципа суперпозиции при рассмотрении влияния каждого бита текущего состояния РСЛОС на последующее. В соответствии с тем, что для каждого k имеется способ реализации преобразования L на (nk)-разрядном процессоре.
Рассмотрим следующие случаи.
Расчетный случай 1: k=1. В этом случае рассматривается способ реализации преобразования L на 8-разрядных процессорах (n·k=8·1=8). Для данного случая выполняются следующие действия:
• вычисляют количество r необходимых вычисляемых таблиц Hj, j=15, …, 0
• вычисляют 16 таблиц Hj, j=15, …, 0, каждая из них имеет nk=8·1=8 элементов, а элементы представляют собой 8-разрядные числа (элементы поля GF(28)), выполняя следующие действия:
○ вычисляют соответствующее состояние РСЛОС (фиг. 1) после k=1 тактов по каждому исходному состоянию
для всех q15=2l, l=0, …, 7, т.е. рассматривают влияние каждого бита числа q15 на состояние РСЛОС (фиг. 1) после k=1 тактов, в результате получают nk=8 состояний;
○ составляют массив А из nk=8 полученных состояний таким, что последняя его строка соответствует состоянию при j=m-k=16-1=15 и l=0, предпоследняя его строка соответствует состоянию при j=m-k=16-1=15 и l=1, и т.д. В результате чего массив А имеет nk=8 строк и m=16 столбцов. Первый столбец массива А соответствует значениям ячейки q15, второй - q14 и т.д. (табл. 1);
○ в случае k=1 таблицы Hj, j=15, …, 0 равны каждому столбцу массива А в соответствии с индексами.
• строят расширенную схему РСЛОС (фиг. 5), который имеет r=16 ячеек, значение каждой из которых представляет собой 8-разрядное число;
• обозначают через (Ql5, Q14, …, Q2, Q1, Q0) состояние расширенного РСЛОС, где Qi∈GF(28), i=15, 14, …, 0;
• определяют значение f (Hj) функции обратной связи для каждой Hj по формуле
где j=15, …, 1, 0,
w15,u∈GF(2)
u=0, 1, …, 7 - биты ячейки Q15 расширенного РСЛОС.
Это значит, что если u-й бит ячейки Q15 равен единице, то соответствующая строка Hj,u участвует в процессе выработки значения функций обратной связи.
• прямое линейное преобразование L есть r=16 тактов работы расширенного РСЛОС;
• 16 тактов работы расширенного РСЛОС требуют
операций сложения по модулю два двух n×k-разрядных чисел Ql и Hl,j, где l=0, 1, …, r-1 и j=0, 1, …, nk.
Объем необходимой памяти равен
для сохранения 16 таблиц Hj, j=15, …, 0.
Порядок реализации обратного линейного преобразования L-1 на 8-разрядных процессорах выполняется аналогичным образом с использованием РСЛОС (фиг. 2) для вычисления 16 таблиц Hj, j=15, …, 0. За счет симметричности внешнего неприводимого полинома h(y) для рассмотренного линейного преобразования можно использовать те же 16 таблиц Hj, j=15, …, 0 и для реализации прямого преобразования, и для обратного ему.
Расчетный случай 2: k=2. В этом случае рассматривается способ реализации преобразования L на 16-разрядных процессорах. Данный способ включает следующие действия:
• вычисляют количество r необходимых вычисляемых таблиц Hj, j=7, …, 0
• вычисляют r=8 таблиц Hj, j=7, …, 0, каждая из них имеет nk=8·2=16 элементов, а элементы представляют собой 16-разрядные числа, выполняя следующие действия:
○ вычисляют соответствующее состояние РСЛОС (фиг. 1) после k=2 тактов по каждому исходному состоянию
для всех
qj=2l, j=14, 15 и l=0, …, 7,
начиная с ячейки на позиции j=m-k=16-2=14, т.е. рассматривают влияние каждого бита числа на состояние РСЛОС (фиг. 1) после k=2 тактов. В результате получают nk=16 состояний;
○ составляют массив А из nk=16 полученных состояний таким, что последняя его строка соответствует состоянию при j=m-k=16-2=14 и l=0, предпоследняя его строка соответствует состоянию при j=m-k=16-2=14 и l=1, и т.д., и первая строка массива А соответствует состоянию при j=m-1=16-1=15 и l=n-1=8-1=7. В результате чего массив А имеет nk=16 строк и m=16 столбцов;
○ формируют r=8 таблиц Hj, j=7, …, 0, начиная со значения j=(r-1)=8-1=7, путем конкатенации k=2 значений в соседних столбцах массива А, начиная с первого его столбца, причем нумеруют таким образом, например, для таблицы H7, чтобы значение в первой строке первого столбца после конкатенации соответствует H7,15, а значение в последней строке того же столбца соответствует Н7,0 (табл. 2).
• строят расширенную схему РСЛОС, причем расширенный РСЛОС имеет r=8 ячеек, значение каждой представляет собой 16-разрядное число;
• состояние расширенного РСЛОС можно представить как
(Q7, Q6, …, Q2, Q1, Q0)
где j=7, …, 1, 0,
w7,u∈GF(2)
u=0, 1, …, 15 - биты ячейки Q7 расширенного РСЛОС.
Это значит, что если u-й бит ячейки Q15 равен единице, то соответствующая строка Hj,u участвует в процессе выработки значения функций обратной связи.
Прямое линейное преобразование L есть r=8 тактов работы расширенного РСЛОС, при этом 8 тактов работы расширенного РСЛОС требуют
и
Объем необходимой памяти равен
для сохранения 8 таблиц Hj, j=7, …, 0.
Полученная схема представлена на фиг. 12.
Порядок реализации обратного линейного преобразования L-l на 16-разрядных процессорах выполняется аналогичным образом с использованием РСЛОС (фиг. 2) для формирования 8 таблиц Hj, j=7, …, 0. За счет симметричности внешнего неприводимого полинома h(y) для рассмотренного линейного преобразования можно использовать те же 8 таблиц Hj, j=7, …, 0 и для реализации прямого преобразования, и для обратного ему.
Аналогично, при k=4 и k=8 имеется возможность реализации прямого линейного преобразования L и обратного ему на 32- и 64-разрядных процессорах (фиг. 13 и 14 соответственно).
Результаты расчетов численных значений, характерных для реализации предложенного способа с использованием РСЛОС типа Галуа, представлены в табл. 3.
Сравнительный анализ значений, приведенных в табл. 3, показывает, что предложенный способ позволяет осуществлять выбор взаимосвязанных характеристик вычислительной системы.
Так, если имеется 8-разрядный процессор, то для реализации заданного линейного преобразования потребуется минимальный объем памяти 128 байт и 16 операций сдвига шестнадцати байт.
Если же в распоряжении имеется более мощный 64-разрядный процессор, то для реализации заданного линейного преобразования потребуется 1024 байт памяти и всего 2 операции сдвига двух 64-разрядных слов.
В результате, использование предложенного способа позволяет также предоставить разработчику дополнительные возможности при проектировании прикладной программы или аппаратного узла вычислительной системы, реализующей линейное преобразование, и учитывать возникающие в практике требования.
Источники информации
1. Европейская заявка №1514174, приоритет от 04.06.2003 г.
2. Патент США №5946473, приоритет от 17.06.1997 г.
3. Nicolay Borisenko, Nguyen Van Long, Alexey Bulygin. Algorithm design software and hardware implementation of large size linear mapping. 2nd Workshop on Current Trends in Cryptology (CTCrypt 2013) June 23-25, 2013, Ekaterinburg, Russia. Pre-proceedings, pp. 192-205;
4. Mikhail Borodin, Andrey Rybkin, Alexey Urivskiy. High-Speed Software Implementation of the Prospective 128-bit Block Cipher and Streebog Hash-Function, 3rd Workshop on Current Trends in Cryptology (CTCrypt 2014) June 5-6, 2014, Moscow, Russia. Pre-proceedings, pp. 189-197;
5. Кузьмин А.С., Нечаев А.А., Линейные рекуррентные последовательности над кольцами Галуа, Алгебра и логика, 3:2 (1995), с. 169-189.
6. Коусело Е., Гонсалес С., Марков В.Т., Нечаев А.А. Рекурсивные МДР-коды и рекурсивно дифференцируемые квазигруппы. Дискретная математика, том 10, выпуск 2, 1998, с. 3-29.
Claims (2)
1. Способ линейного преобразования сообщения S, представленного в двоичном виде, заключающийся в том, что
- задают разрядность W процессора вычислительной системы (размер машинного слова), равную целочисленной степени числа 2;
- задают доступный объем памяти вычислительной системы М бит;
- задают размер s сообщения S, причем s кратно W;
- задают значение разрядности n регистра сдвига с линейной обратной связью (РСЛОС) по схеме Галуа, причем выполняется соотношение
,
где ;
- формируют РСЛОС по схеме Галуа со следующими параметрами:
внутренний примитивный полином
внешний полином
,
где - количество ячеек РСЛОС,
причем ,
исходное состояние ячеек РСЛОС qi образует вектор
,
причем ,
выходное состояние ячеек РСЛОС за один такт работы образует вектор
,
причем , ,
где ,
;
- определяют все делители числа m в виде значений p0, р1, …, pd, причем p0<p1<…pd;
- выбирают максимально возможный делитель р из соотношения
;
- модифицируют РСЛОС, выполняя следующие действия:
- вычисляют R матриц Нr, причем r=(R-1), …, 0, размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
- вычисляют
k=р;
- вычисляют
;
где R - количество матриц Н;
- вычисляют
j=m-k;
- вычисляют
t=0;
- (А1) если не выполняется соотношение
j≤m-1,
то переходят к выполнению этапа A3;
- вычисляют
l=0;
- (А2) если не выполняется соотношение
l<n,
то вычисляют
j=j+1,
t=t+1,
переходят к выполнению этапа А1;
- устанавливают исходное состояние РСЛОС
X=(qm-1, …, q1, q0),
, ,
где ;
- вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
,
где q׳i ϵ GF (2 n ), 0 ≤ i ≤ m-1;
- вычисляют t-e значения для всех матриц Hi, i=r-1…0 путем конкатенации k значений ячеек q′
,
причем ;
- вычисляют
l=l+1,
переходят к выполнению этапа А2;
- (A3) записывают в ячейки модифицированного РСЛОС блоки исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
,
где Q r = q kr+k-1‖…‖q kr,
причем ,
- осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
- вычисляют выходное состояние ячеек модифицированного РСЛОС
за один такт работы, образующие вектор
,
каждое значение которого вычисляется по формуле
для каждого ,
причем
,
где ,
где - значение j-го бита вектора ,
причем ,
,
;
- получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
- считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S;
- объединяют блоки и получают линейно преобразованное сообщение S.
- задают разрядность W процессора вычислительной системы (размер машинного слова), равную целочисленной степени числа 2;
- задают доступный объем памяти вычислительной системы М бит;
- задают размер s сообщения S, причем s кратно W;
- задают значение разрядности n регистра сдвига с линейной обратной связью (РСЛОС) по схеме Галуа, причем выполняется соотношение
,
где ;
- формируют РСЛОС по схеме Галуа со следующими параметрами:
внутренний примитивный полином
внешний полином
,
где - количество ячеек РСЛОС,
причем ,
исходное состояние ячеек РСЛОС qi образует вектор
,
причем ,
выходное состояние ячеек РСЛОС за один такт работы образует вектор
,
причем , ,
где ,
;
- определяют все делители числа m в виде значений p0, р1, …, pd, причем p0<p1<…pd;
- выбирают максимально возможный делитель р из соотношения
;
- модифицируют РСЛОС, выполняя следующие действия:
- вычисляют R матриц Нr, причем r=(R-1), …, 0, размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
- вычисляют
k=р;
- вычисляют
;
где R - количество матриц Н;
- вычисляют
j=m-k;
- вычисляют
t=0;
- (А1) если не выполняется соотношение
j≤m-1,
то переходят к выполнению этапа A3;
- вычисляют
l=0;
- (А2) если не выполняется соотношение
l<n,
то вычисляют
j=j+1,
t=t+1,
переходят к выполнению этапа А1;
- устанавливают исходное состояние РСЛОС
X=(qm-1, …, q1, q0),
, ,
где ;
- вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
,
где q׳i ϵ GF (2 n ), 0 ≤ i ≤ m-1;
- вычисляют t-e значения для всех матриц Hi, i=r-1…0 путем конкатенации k значений ячеек q′
,
причем ;
- вычисляют
l=l+1,
переходят к выполнению этапа А2;
- (A3) записывают в ячейки модифицированного РСЛОС блоки исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
,
где Q r = q kr+k-1‖…‖q kr,
причем ,
- осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
- вычисляют выходное состояние ячеек модифицированного РСЛОС
за один такт работы, образующие вектор
,
каждое значение которого вычисляется по формуле
для каждого ,
причем
,
где ,
где - значение j-го бита вектора ,
причем ,
,
;
- получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
- считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S;
- объединяют блоки и получают линейно преобразованное сообщение S.
2. Способ линейного преобразования сообщения S, представленного в двоичном виде, заключающийся в том, что
- задают разрядность W процессора вычислительной системы (размер машинного слова), равную целочисленной степени числа 2;
- задают доступный объем памяти вычислительной системы М бит;
- задают размер s сообщения S, причем s кратно W;
- задают значение разрядности n регистра сдвига с линейной обратной связью (РСЛОС) по схеме Фибоначчи, причем выполняется соотношение
,
где ;
- формируют РСЛОС по схеме Фибоначчи со следующими параметрами:
внутренний примитивный полином
,
внешний полином
,
где - количество ячеек РСЛОС,
причем ,
исходное состояние ячеек РСЛОС qi образует вектор
,
причем , ,
выходное состояние ячеек РСЛОС за один такт работы образует вектор
,
причем , ,
где ,
для каждого
,
определяют все делители числа m в виде значений р0, р1, …, pd, причем р0<р1<…pd,
выбирают максимально возможный делитель р из соотношения
;
- модифицируют РСЛОС, выполняя следующие действия:
- вычисляют R матриц Нr, причем r = (R-1), …, 0, размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
- вычисляют
k=р;
- вычисляют
,
где R - количество матриц Нr;
- вычисляют
r = 0;
- (А5) если не выполняется соотношение
r<R,
то переходят к выполнению этапа А7;
- вычисляют
j=0;
- (А6) если не выполняется соотношение
j<k,
то вычисляют
r = r+1,
переходят к выполнению этапа А5;
- вычисляют
l=0;
- если не выполняется соотношение
l<n,
то вычисляют
j=j+1,
переходят к выполнению этапа А6;
- устанавливают исходное состояние РСЛОС
,
где , ,
, ;
- вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
;
- вычисляют (jk+l)-е значение для матрицы Нr путем конкатенации k значений ячеек
;
- вычисляют
l=l+1,
переходят к выполнению этапа А6;
- (А7) записывают в ячейки модифицированного РСЛОС блоки s исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
,
где ,
причем ;
- осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
- вычисляют выходное состояние ячеек модифицированного РСЛОС
за один такт работы, образующие вектор
,
каждое значение которого вычисляется по формуле
для каждого ,
а значение вычисляется по соотношению
,
где ,
где zr,j - значение j-го бита ячейки Qr,
причем ,
,
;
- получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
- считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S;
- объединяют блоки и получают линейно преобразованное сообщение S.
- задают разрядность W процессора вычислительной системы (размер машинного слова), равную целочисленной степени числа 2;
- задают доступный объем памяти вычислительной системы М бит;
- задают размер s сообщения S, причем s кратно W;
- задают значение разрядности n регистра сдвига с линейной обратной связью (РСЛОС) по схеме Фибоначчи, причем выполняется соотношение
,
где ;
- формируют РСЛОС по схеме Фибоначчи со следующими параметрами:
внутренний примитивный полином
,
внешний полином
,
где - количество ячеек РСЛОС,
причем ,
исходное состояние ячеек РСЛОС qi образует вектор
,
причем , ,
выходное состояние ячеек РСЛОС за один такт работы образует вектор
,
причем , ,
где ,
для каждого
,
определяют все делители числа m в виде значений р0, р1, …, pd, причем р0<р1<…pd,
выбирают максимально возможный делитель р из соотношения
;
- модифицируют РСЛОС, выполняя следующие действия:
- вычисляют R матриц Нr, причем r = (R-1), …, 0, размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
- вычисляют
k=р;
- вычисляют
,
где R - количество матриц Нr;
- вычисляют
r = 0;
- (А5) если не выполняется соотношение
r<R,
то переходят к выполнению этапа А7;
- вычисляют
j=0;
- (А6) если не выполняется соотношение
j<k,
то вычисляют
r = r+1,
переходят к выполнению этапа А5;
- вычисляют
l=0;
- если не выполняется соотношение
l<n,
то вычисляют
j=j+1,
переходят к выполнению этапа А6;
- устанавливают исходное состояние РСЛОС
,
где , ,
, ;
- вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
;
- вычисляют (jk+l)-е значение для матрицы Нr путем конкатенации k значений ячеек
;
- вычисляют
l=l+1,
переходят к выполнению этапа А6;
- (А7) записывают в ячейки модифицированного РСЛОС блоки s исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
,
где ,
причем ;
- осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
- вычисляют выходное состояние ячеек модифицированного РСЛОС
за один такт работы, образующие вектор
,
каждое значение которого вычисляется по формуле
для каждого ,
а значение вычисляется по соотношению
,
где ,
где zr,j - значение j-го бита ячейки Qr,
причем ,
,
;
- получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
- считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S;
- объединяют блоки и получают линейно преобразованное сообщение S.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015131963/08A RU2598781C1 (ru) | 2015-07-31 | 2015-07-31 | Способ линейного преобразования (варианты) |
MX2017006999A MX2017006999A (es) | 2015-07-31 | 2016-07-26 | Metodo de transformacion lineal (variantes). |
PCT/RU2016/050024 WO2017023195A1 (ru) | 2015-07-31 | 2016-07-26 | Способ линейного преобразования (варианты) |
US15/513,823 US10601582B2 (en) | 2015-07-31 | 2016-07-26 | Method of linear transformation (variants) |
EP16833401.9A EP3185462B1 (en) | 2015-07-31 | 2016-07-26 | Linear transformation method (variants) |
BR112017010757-0A BR112017010757B1 (pt) | 2015-07-31 | 2016-07-26 | Método de transformação linear de uma mensagem s representada em uma forma binária |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015131963/08A RU2598781C1 (ru) | 2015-07-31 | 2015-07-31 | Способ линейного преобразования (варианты) |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2598781C1 true RU2598781C1 (ru) | 2016-09-27 |
Family
ID=57018499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015131963/08A RU2598781C1 (ru) | 2015-07-31 | 2015-07-31 | Способ линейного преобразования (варианты) |
Country Status (5)
Country | Link |
---|---|
US (1) | US10601582B2 (ru) |
EP (1) | EP3185462B1 (ru) |
MX (1) | MX2017006999A (ru) |
RU (1) | RU2598781C1 (ru) |
WO (1) | WO2017023195A1 (ru) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2666303C1 (ru) * | 2017-12-14 | 2018-09-06 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ и устройство для вычисления хэш-функции |
RU2726266C1 (ru) * | 2020-02-20 | 2020-07-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ работы регистра сдвига с линейной обратной связью |
RU2761766C1 (ru) * | 2020-12-29 | 2021-12-13 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Устройство для генерации псевдослучайных чисел |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10680810B2 (en) * | 2016-10-26 | 2020-06-09 | Nxp B.V. | Method of generating an elliptic curve cryptographic key pair |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946473A (en) * | 1997-06-17 | 1999-08-31 | International Business Machines Corporation | LFSR implementation using split-table lookup |
EP1514174A1 (en) * | 2002-06-07 | 2005-03-16 | Koninklijke Philips Electronics N.V. | Aes mixcolumn transform |
RU2296427C1 (ru) * | 2005-06-29 | 2007-03-27 | Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю | Способ поточного кодирования дискретной информации |
WO2010132895A1 (en) * | 2009-05-15 | 2010-11-18 | Eric Myron Smith | System for encrypting and decrypting a plaintext message with authentication |
US20140079215A1 (en) * | 2012-09-14 | 2014-03-20 | Qualcomm Incorporated | Efficient cryptographic key stream generation using optimized s-box configurations |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1307769A (zh) | 1998-03-05 | 2001-08-08 | 皇家菲利浦电子有限公司 | 伪随机噪声发生器的掩码生成多项式 |
US6925563B1 (en) * | 1999-09-22 | 2005-08-02 | Raytheon Company | Multiplication of modular numbers |
US7092525B2 (en) * | 2000-04-20 | 2006-08-15 | Matchett Noel D | Cryptographic system with enhanced encryption function and cipher key for data encryption standard |
US8538015B2 (en) * | 2007-03-28 | 2013-09-17 | Intel Corporation | Flexible architecture and instruction for advanced encryption standard (AES) |
US8185749B2 (en) * | 2008-09-02 | 2012-05-22 | Apple Inc. | System and method for revising boolean and arithmetic operations |
US20100278338A1 (en) * | 2009-05-04 | 2010-11-04 | Mediatek Singapore Pte. Ltd. | Coding device and method with reconfigurable and scalable encryption/decryption modules |
US20120236660A1 (en) * | 2011-03-16 | 2012-09-20 | Nanya Technology Corp. | Test system and test method for memory |
EP2796987A1 (en) * | 2013-04-26 | 2014-10-29 | EM Microelectronic-Marin SA | Random number generator |
-
2015
- 2015-07-31 RU RU2015131963/08A patent/RU2598781C1/ru active
-
2016
- 2016-07-26 EP EP16833401.9A patent/EP3185462B1/en active Active
- 2016-07-26 WO PCT/RU2016/050024 patent/WO2017023195A1/ru active Application Filing
- 2016-07-26 MX MX2017006999A patent/MX2017006999A/es unknown
- 2016-07-26 US US15/513,823 patent/US10601582B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5946473A (en) * | 1997-06-17 | 1999-08-31 | International Business Machines Corporation | LFSR implementation using split-table lookup |
EP1514174A1 (en) * | 2002-06-07 | 2005-03-16 | Koninklijke Philips Electronics N.V. | Aes mixcolumn transform |
RU2296427C1 (ru) * | 2005-06-29 | 2007-03-27 | Государственный научно-исследовательский испытательный институт проблем технической защиты информации Федеральной службы по техническому и экспортному контролю | Способ поточного кодирования дискретной информации |
WO2010132895A1 (en) * | 2009-05-15 | 2010-11-18 | Eric Myron Smith | System for encrypting and decrypting a plaintext message with authentication |
US20140079215A1 (en) * | 2012-09-14 | 2014-03-20 | Qualcomm Incorporated | Efficient cryptographic key stream generation using optimized s-box configurations |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2666303C1 (ru) * | 2017-12-14 | 2018-09-06 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ и устройство для вычисления хэш-функции |
US11522680B2 (en) | 2017-12-14 | 2022-12-06 | Joint Stock Company “InfoTeCS” | Method and apparatus for computing hash function |
RU2726266C1 (ru) * | 2020-02-20 | 2020-07-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ работы регистра сдвига с линейной обратной связью |
RU2761766C1 (ru) * | 2020-12-29 | 2021-12-13 | федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) | Устройство для генерации псевдослучайных чисел |
Also Published As
Publication number | Publication date |
---|---|
US20170295011A1 (en) | 2017-10-12 |
EP3185462A1 (en) | 2017-06-28 |
BR112017010757A2 (pt) | 2018-01-09 |
WO2017023195A1 (ru) | 2017-02-09 |
EP3185462B1 (en) | 2019-07-03 |
EP3185462A4 (en) | 2018-08-01 |
MX2017006999A (es) | 2017-08-14 |
US10601582B2 (en) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4559505B2 (ja) | ランダム系列の反復周期の拡張 | |
RU2598781C1 (ru) | Способ линейного преобразования (варианты) | |
EP3362887B1 (en) | Generating pseudorandom number sequences by nonlinear mixing of multiple subsidiary pseudorandom number generators | |
EP3291479A1 (en) | Hardware masked substitution box for the data encryption standard | |
Harase | On the F2-linear relations of Mersenne Twister pseudorandom number generators | |
CN116318660B (zh) | 一种消息扩展与压缩方法及相关装置 | |
Ye et al. | A further study of the linear complexity of new binary cyclotomic sequence of length p^ r pr | |
CN112152784A (zh) | 用于基于散列的签名算法的并行处理技术 | |
L’Ecuyer et al. | F2-linear random number generators | |
JP2006072891A (ja) | セルオートマトンに基づく、制御可能な周期を有する擬似乱数シーケンスの生成方法および装置 | |
Kuznetsov et al. | Stream Symmetric Cipher “Strumok” | |
US11379230B2 (en) | Modulus calculation that leverages computer architecture and/or operand clustering | |
KR100954843B1 (ko) | 센서 모트에서의 블록 인덱싱 기반의 타원 곡선 암호 연산 방법, 그 장치 및 이를 기록한 기록 매체 | |
RU2726266C1 (ru) | Способ работы регистра сдвига с линейной обратной связью | |
KR101833954B1 (ko) | 메모리 과부하 난수 발생 장치 및 방법 | |
CN110716709B (zh) | 支持进位借位正常传递的多精度大整数算术运算加速单元 | |
BR112017010757B1 (pt) | Método de transformação linear de uma mensagem s representada em uma forma binária | |
KR100438456B1 (ko) | 유한필드상의 디지트 시리얼 시스톨릭 곱셈기 | |
Júnior et al. | Application-Specific System Processor for the SHA-1 Hash Algorithm | |
Díaz Cardell et al. | Modelling Through Linear Cellular Automata | |
Wang | Accelerating cryptosystems on hardware platforms | |
Czyzewski | Chaos Machine: Different Approach to the Application and Significance of Numbers | |
WO2018094566A1 (zh) | 并行哈希函数的构造方法 | |
CN117891432A (zh) | 一种随机数生成方法、装置及电子设备 | |
CN117196052A (zh) | 多项式模乘运算器、运算方法及相关装置 |