RU2598781C1 - Способ линейного преобразования (варианты) - Google Patents

Способ линейного преобразования (варианты) Download PDF

Info

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
Application number
RU2015131963/08A
Other languages
English (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 RU2015131963/08A priority Critical patent/RU2598781C1/ru
Priority to MX2017006999A priority patent/MX2017006999A/es
Priority to PCT/RU2016/050024 priority patent/WO2017023195A1/ru
Priority to US15/513,823 priority patent/US10601582B2/en
Priority to EP16833401.9A priority patent/EP3185462B1/en
Priority to BR112017010757-0A priority patent/BR112017010757B1/pt
Application granted granted Critical
Publication of RU2598781C1 publication Critical patent/RU2598781C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30101Special purpose registers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom 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/0668Pseudorandom 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/581Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details 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), причем выполняется соотношение
Figure 00000001
,
где N∈0, 1, 2, …,
• формируют РСЛОС по схеме Галуа со следующими параметрами:
внутренний примитивный полином
Figure 00000002
,
ai∈GF(2)
внешний полином
Figure 00000003
,
где
Figure 00000004
- количество ячеек РСЛОС,
причем hi∈GF(2n),
исходное состояние ячеек РСЛОС qi образует вектор данных
X=(qm-1, qm-2, …, q2, q1, q0),
причем qi∈GF(2n), 0≤i≤m-1
выходное состояние ячеек РСЛОС
Figure 00000005
за один такт работы образует вектор
Figure 00000006
,
причем
Figure 00000007
, 0≤i≤m-1,
где
Figure 00000008
, для 1≤i≤m-1,
Figure 00000009
• определяют все делители числа m в виде значений р0, р1, …, pd, причем p0<p1< … pd;
• выбирают максимально возможный делитель р из соотношения
Figure 00000010
;
• модифицируют РСЛОС, выполняя следующие действия:
○ вычисляют R матриц Hr, причем r=(R-1), …, 0. размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
▪ вычисляют
k=p,
▪ вычисляют
Figure 00000011
,
где 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),
Figure 00000012
, 0≤i≤m-1,
где qi∈GF(2n),
▪ вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
Figure 00000013
,
где
Figure 00000014
, 0≤i≤m-1,
▪ вычисляют t-e значения для всех матриц Hi, i=r-1…0 путем конкатенации k значений ячеек q′
Figure 00000015
,
причем 0≤r≤R-1,
▪ вычисляют
l=l+1,
переходят к выполнению этапа А2;
• (A3) записывают в ячейки модифицированного РСЛОС блоки s исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
X′=(QR-1, …, Q1, Q0),
где Qr - это содержимое ячеек
Figure 00000016
,
причем 0≤r≤R-1
• осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
▪ вычисляют выходное состояние ячеек модифицированного РСЛОС
Figure 00000017
за один такт работы, образующие вектор
Figure 00000018
,
каждое значение
Figure 00000019
которого вычисляется по формуле
Figure 00000020
для каждого i=R-1, …, 1,
причем
Figure 00000021
,
где
Figure 00000022
,
где 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), причем выполняется соотношение
Figure 00000023
,
где N∈0, 1, 2, …,
• формируют РСЛОС по схеме Фибоначчи со следующими параметрами:
внутренний примитивный полином
Figure 00000024
,
ai∈GF(2)
внешний полином
Figure 00000025
,
где
Figure 00000026
- количество ячеек РСЛОС,
причем hi∈GF(2n)
исходное состояние ячеек РСЛОС qi образует вектор
X=(qm-1, qm-2, …, q2, q1, q0),
причем qi∈GF(2n), 0≤i≤m-1
выходное состояние ячеек РСЛОС
Figure 00000027
за один такт работы образует вектор
Figure 00000028
,
причем
Figure 00000029
, 0≤i≤m-1,
где
Figure 00000030
,
для каждого i=0, …, m-2
Figure 00000031
• определяют все делители числа m в виде значений р0, р1, …, pd, причем р01< … pd;
• выбирают максимально возможный делитель р из соотношения
Figure 00000032
;
• модифицируют РСЛОС, выполняя следующие действия:
○ вычисляют R матриц Hr, причем r=(R-1), …, 0, размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
- вычисляют
k=р,
▪ вычисляют
Figure 00000033
,
где 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),
Figure 00000034
, 0≤i≤m-1
где qi∈GF(2n);
▪ вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
Figure 00000035
,
где
Figure 00000036
, 0≤i≤m-1;
▪ вычисляют (jk+l)-е значение для матрицы Hr путем конкатенации k значений ячеек
Figure 00000037
,
Figure 00000038
, …,
Figure 00000039
Figure 00000040
,
причем 0≤r≤R-1;
▪ вычисляют
l=l+1,
переходят к выполнению этапа А6;
• (А7) записывают в ячейки модифицированного РСЛОС блоки s исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
X′=(QR-1, …, Q1, Q0),
где
Figure 00000041
,
причем 0≤r≤R-1;
• осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
▪ вычисляют выходное состояние ячеек модифицированного РСЛОС
Figure 00000042
за один такт работы, образующие вектор
Figure 00000043
,
каждое значение
Figure 00000044
которого вычисляется по формуле
Figure 00000045
для каждого i=0, …, R-2,
и
Figure 00000046
,
а значение
Figure 00000047
вычисляется по соотношению
Figure 00000048
,
где
Figure 00000049
,
где zr,j - значение j-го бита вектора Qr,
причем r=R-1, …, 1, 0,
j=0, 1, …, W-1,
zr,j∈GF(2);
• получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
• считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S;
• объединяют блоки и получают линейно преобразованное сообщение S.
Для реализации предложенного способа с использованием РСЛОС типа Галуа модифицируют РСЛОС.
Основное отличие модифицированного РСЛОС Галуа - способ вычисления значения функции обратной связи. В модифицированных РСЛОС Галуа значения функции обратной связи регистра вычисляются по таблицам, в зависимости от значений бит старшей ячейки регистра.
Исходное линейное преобразование
Figure 00000050
. Преобразование L задается на основе РСЛОС Галуа над композиционным полем GF((2n)m), где s=m×n, с помощью внутреннего примитивного полинома
Figure 00000051
,
где ai∈GF(2),
и внешнего неприводимого полинома
Figure 00000052
,
где 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 тактов работы РСЛОС.
Выходное состояние ячеек РСЛОС Галуа
Figure 00000053
за один такт работы образует вектор
Figure 00000054
,
где
Figure 00000055
, 0≤i≤m-1,
и каждое значение
Figure 00000056
вычисляется по формуле
Figure 00000057
для каждого i=m-1, …, 1 и
Figure 00000058
.
Операции сложения и умножения двух n-разрядных чисел в РСЛОС Галуа осуществляются в поле GF(2n). Линейное преобразование исходного вектора данных осуществляется за m тактов работы РСЛОС типа Галуа.
Итогом преобразования является новое состояние регистра на m-ом такте. А обратное линейное преобразование L-l осуществляется за m тактов работы РСЛОС в обратном направлении.
Пусть р0, р1, …, pd, - все делители числа m, причем р0х< … pd. Обозначаются значения k=pi,
Figure 00000059
и W=nk, где W - разрядность процессора, на котором реализуется исходное линейное преобразование, pi выбирается исходя из размера доступной памяти М. При этом общая схема модифицированного РСЛОС Галуа имеет вид, показанный на фиг. 5.
Пусть исходное состояние ячеек модифицированного РСЛОС Галуа образует вектор
X′=(QR-1, …, Q1, Q0),
где Qr равно содержимому ячеек
Figure 00000060
,
причем 0≤r≤R-1.
Выходное состояние ячеек модифицированного РСЛОС Галуа
Figure 00000061
за один такт работы образует вектор
Figure 00000062
, и каждое значение
Figure 00000063
для каждого r=R-1, …, 1 вычисляется по формуле
Figure 00000064
причем
Figure 00000065
,
а функция определяется в виде
Figure 00000066
,
где r=R-1, …, 1, 0,
zR-1,j∈GF(2),
j=0, 1, …, W-1 - биты ячейки QR-1 модифицированного РСЛОС Галуа.
Если состояние на m-ом такте есть результат линейного преобразования L по схеме РСЛОС Галуа (фиг. 1), то такое же состояние будет получено на R-ом такте работы модифицированного РСЛОС Галуа (фиг. 5). Причем R тактов работы модифицированного РСЛОС требуют
Figure 00000067
операций проверки "true - false" для всех бит ячейки QR-1. Количество сложений по модулю два W-разрядных чисел для каждого вычисления значения
Figure 00000068
по каждой таблице равно W - 1. Следовательно, каждый такт работы модифицированного РСЛОС Галуа требует следующего количества сложений
Figure 00000069
В итоге необходимое количество сложений по модулю два W-разрядных чисел для R тактов работы модифицированного РСЛОС Галуа равно
Figure 00000070
Объем необходимой памяти равен
Figure 00000071
для сохранения 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).
Шаг 1 [Блок 2]: Присваивают значения k=р,
Figure 00000072
, j=m-k и t=0;
Шаг 2 [Пункт А - блок 3]: проверяют условие
j≤m-1
• если условие выполняется, то присваивают l=0 (блок 4) и переходят к шагу 3 [Пункту Б];
• если условие не выполняются, то завершают процесс;
Шаг 3 [Пункт Б - блок 5] проверяют условие
l<n
• если условие выполняется, то
○ определяют исходное состояние РСЛОС Галуа (блок 6):
Figure 00000073
, 0≤i≤m-1,
○ вычисляют новое состояние
Figure 00000074
РСЛОС Галуа после k тактов работы для каждого исходного состояния X=(qm-1, …, q1, q0), где
Figure 00000075
, 0≤i≤m-1 (блок 7),
○ вычисляют t-е значения для всех таблиц Н путем конкатенации k значений ячеек q′ (блок 8):
Figure 00000076
, 0≤r≤R-1,
○ увеличивают значение l=l+1 (блок 9), и переходят к шагу 3 [Пункту Б];
• если условие не выполняются, то увеличивают значения j=j+1, t=t+1 (блок 10), и переходят к шагу 2 [Пункту А].
Порядок вычисления необходимых таблиц для обратного линейного преобразования L-1 выполняется аналогичным образом. Но при этом полученный модифицированный РСЛОС типа Галуа будет работать в противоположном направлении с проверкой на "true - false" для всех бит ячейки Q0 вместо QR-1.
Если линейное преобразование
Figure 00000077
задается на основе РСЛОС Фибоначчи над композиционным полем GF((2n)m), где s=m×n, с помощью внутреннего примитивного полинома
Figure 00000078
,
где ai∈GF(2),
и внешнего неприводимого полинома
Figure 00000079
,
где hi∈GF(2n) и h0=1,
то можно его реализовать по схеме модифицированного РСЛОС Фибоначчи.
Исходное состояние ячеек РСЛОС Фибоначчи qi образует вектор данных
X=(qm-1, qm-2, …, q2, q1, q0),
где qi∈GF(2n), 0≤i≤m-1
Выходное состояние ячеек РСЛОС Фибоначчи
Figure 00000080
за один такт работы образует вектор
Figure 00000081
,
где
Figure 00000082
, 0≤i≤m-1
и каждое значение
Figure 00000083
вычисляется по формуле
Figure 00000084
для каждого i=0, …, m-2 и
Figure 00000085
.
Операции сложения и умножения двух n-разрядных чисел в РСЛОС Фибоначчи осуществляются в поле GF(2n). Линейное преобразование исходного вектора данных - m тактов работы РСЛОС Фибоначчи (фиг. 3). Итогом преобразования является новое состояние регистра на m-ом такте. А обратное линейное преобразование L-1 достигается через m тактов работы РСЛОС Фибоначчи в обратном направлении (фиг. 4).
В этом случае общая схема модифицированного РСЛОС Фибоначчи имеет вид, представленный на фиг. 7.
Пусть исходное состояние ячеек модифицированного РСЛОС Фибоначчи образует вектор
X′=(QR-1, …, Q1, Q0),
где
Figure 00000086
, 0≤r≤R-1.
Выходное состояние ячеек
Figure 00000087
за один такт работы образует вектор
Figure 00000088
,
и каждое значение
Figure 00000089
вычисляется по формуле
Figure 00000090
для каждого r=0, …, R-2 и
Figure 00000091
,
где
Figure 00000092
,
r=R-1, …, 1, 0
zr,j∈GF(2),
j=0, 1, …, W-1 - биты ячейки модифицированного РСЛОС Фибоначчи.
Если состояние на m-ом такте есть результат линейного отображения L по схеме РСЛОС Фибоначчи на фиг. 3, то состояние на R-ом такте соответствует его результату по схеме модифицированного РСЛОС Фибоначчи на фиг. 7. Причем R тактов его работы требуют
Figure 00000093
операций проверки "true - false". Количество сложений по модулю два поразрядных чисел для вычисления каждого значения
Figure 00000068
по каждой таблице равно W-1. Следовательно, каждый такт работы модифицированного РСЛОС Фибоначчи требует
Figure 00000094
операций сложения по модулю два W-разрядных чисел. В итоге необходимое количество сложений по модулю два W-разрядных чисел для R тактов работы регистра равно
Figure 00000095
Объем необходимой памяти равен
Figure 00000096
для сохранения 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.
Рассмотрим каждый шаг алгоритма.
Шаг 1 [Блок 2]: Присваивают значения k=р,
Figure 00000097
и r=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):
Figure 00000098
, 0≤i≤m-1,
○ вычисляют новое состояние
Figure 00000099
РСЛОС Фибоначчи после k тактов работы для каждого исходного состояния X=(qm-1, …, q1, q0), где
Figure 00000100
, 0≤i≤m-1 (блок 9),
○ вычисляют (jk+l)-е значение для таблицы Hr путем конкатенации k значений ячеек
Figure 00000101
,
Figure 00000102
, …,
Figure 00000103
(блок 10)
Figure 00000104
○ увеличивают значение 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 с конкретными параметрами, типичными для большого класса криптографических алгоритмов:
• исходное линейное преобразование
Figure 00000105
;
• композиционное поле GF((28)16) (m=16, n=8);
• внутренний примитивный полином
Figure 00000106
для построения поля GF(28);
• внешний неприводимый полином h(y) для построения композиционного поля GF((28)16)
Figure 00000107
,
где
Figure 00000108
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 в самой старшей ячейке участвует в выработке значения функции обратной связи;
○ выходное состояние - вектор
Figure 00000109
, где
Figure 00000110
, 0≤i≤15. Значения
Figure 00000111
для каждого i=15, …, 1 вычисляются
Figure 00000112
,
при этом q0=h0·ql5
Под линейным преобразованием L исходного вектора данных
X=(q15, q14, …, q2, q1, q0)
будем понимать 16 тактов работы РСЛОС.
Итогом преобразования является новое состояние регистра на m-ом такте, которое можно записать следующим образом
Figure 00000113
,
где
Figure 00000114
, 0≤i≤15 - значения ячеек РСЛОС.
Обратное преобразование 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
Figure 00000115
• вычисляют 16 таблиц Hj, j=15, …, 0, каждая из них имеет nk=8·1=8 элементов, а элементы представляют собой 8-разрядные числа (элементы поля GF(28)), выполняя следующие действия:
○ вычисляют соответствующее состояние РСЛОС (фиг. 1) после k=1 тактов по каждому исходному состоянию
Figure 00000116
для всех 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 равны каждому столбцу массива А в соответствии с индексами.
Figure 00000117
• строят расширенную схему РСЛОС (фиг. 5), который имеет r=16 ячеек, значение каждой из которых представляет собой 8-разрядное число;
• обозначают через (Ql5, Q14, …, Q2, Q1, Q0) состояние расширенного РСЛОС, где Qi∈GF(28), i=15, 14, …, 0;
• определяют значение f (Hj) функции обратной связи для каждой Hj по формуле
Figure 00000118
,
где j=15, …, 1, 0,
w15,u∈GF(2)
u=0, 1, …, 7 - биты ячейки Q15 расширенного РСЛОС.
Это значит, что если u-й бит ячейки Q15 равен единице, то соответствующая строка Hj,u участвует в процессе выработки значения функций обратной связи.
• прямое линейное преобразование L есть r=16 тактов работы расширенного РСЛОС;
• 16 тактов работы расширенного РСЛОС требуют
Figure 00000119
операций проверки "true - false" для всех битов ячейки Q15 и
Figure 00000120
операций сложения по модулю два двух n×k-разрядных чисел Ql и Hl,j, где l=0, 1, …, r-1 и j=0, 1, …, nk.
Объем необходимой памяти равен
Figure 00000121
для сохранения 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
Figure 00000122
• вычисляют r=8 таблиц Hj, j=7, …, 0, каждая из них имеет nk=8·2=16 элементов, а элементы представляют собой 16-разрядные числа, выполняя следующие действия:
○ вычисляют соответствующее состояние РСЛОС (фиг. 1) после k=2 тактов по каждому исходному состоянию
Figure 00000123
для всех
qj=2l, j=14, 15 и l=0, …, 7,
начиная с ячейки на позиции j=m-k=16-2=14, т.е. рассматривают влияние каждого бита числа
Figure 00000124
на состояние РСЛОС (фиг. 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).
Figure 00000125
• строят расширенную схему РСЛОС, причем расширенный РСЛОС имеет r=8 ячеек, значение каждой представляет собой 16-разрядное число;
• состояние расширенного РСЛОС можно представить как
(Q7, Q6, …, Q2, Q1, Q0)
• определяют значение
Figure 00000126
функции обратной связи для каждой Hj по формуле
Figure 00000127
,
где j=7, …, 1, 0,
w7,u∈GF(2)
u=0, 1, …, 15 - биты ячейки Q7 расширенного РСЛОС.
Это значит, что если u-й бит ячейки Q15 равен единице, то соответствующая строка Hj,u участвует в процессе выработки значения функций обратной связи.
Прямое линейное преобразование L есть r=8 тактов работы расширенного РСЛОС, при этом 8 тактов работы расширенного РСЛОС требуют
Figure 00000128
операций проверки "true - false"
и
Figure 00000129
операций сложения по модулю 2 двух 16-разрядных чисел.
Объем необходимой памяти равен
Figure 00000130
для сохранения 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.
Figure 00000131
Сравнительный анализ значений, приведенных в табл. 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 регистра сдвига с линейной обратной связью (РСЛОС) по схеме Галуа, причем выполняется соотношение
Figure 00000132
,
где
Figure 00000133
;
- формируют РСЛОС по схеме Галуа со следующими параметрами:
внутренний примитивный полином
Figure 00000134

внешний полином
Figure 00000135
,
где
Figure 00000136
- количество ячеек РСЛОС,
причем
Figure 00000137
,
исходное состояние ячеек РСЛОС qi образует вектор
Figure 00000138
,
причем
Figure 00000139
,
Figure 00000140

выходное состояние ячеек РСЛОС
Figure 00000141
за один такт работы образует вектор
Figure 00000142
,
причем
Figure 00000143
,
Figure 00000144
,
где
Figure 00000145
,
Figure 00000146
;
- определяют все делители числа m в виде значений p0, р1, …, pd, причем p0<p1<…pd;
- выбирают максимально возможный делитель р из соотношения
Figure 00000147
;
- модифицируют РСЛОС, выполняя следующие действия:
- вычисляют R матриц Нr, причем r=(R-1), …, 0, размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
- вычисляют
k=р;
- вычисляют
Figure 00000148
;
где 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),
Figure 00000149
,
Figure 00000144
,
где
Figure 00000139
;
- вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
Figure 00000150
,
где q׳i ϵ GF (2 n ), 0 ≤ i m-1;
- вычисляют t-e значения для всех матриц Hi, i=r-1…0 путем конкатенации k значений ячеек q′
Figure 00000151
,
причем
Figure 00000152
;
- вычисляют
l=l+1,
переходят к выполнению этапа А2;
- (A3) записывают в ячейки модифицированного РСЛОС блоки исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
Figure 00000153
,
где Q r = q kr+k-1‖…‖q kr,
причем
Figure 00000154
,
- осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
- вычисляют выходное состояние ячеек модифицированного РСЛОС
Figure 00000155
за один такт работы, образующие вектор
Figure 00000156
,
каждое значение
Figure 00000155
которого вычисляется по формуле
Figure 00000157

для каждого
Figure 00000158
,
причем
Figure 00000159
,
где
Figure 00000160
,
где
Figure 00000161
- значение j-го бита вектора
Figure 00000162
,
причем
Figure 00000163
,
Figure 00000164
,
Figure 00000165
;
- получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
- считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S;
- объединяют блоки и получают линейно преобразованное сообщение S.
2. Способ линейного преобразования сообщения S, представленного в двоичном виде, заключающийся в том, что
- задают разрядность W процессора вычислительной системы (размер машинного слова), равную целочисленной степени числа 2;
- задают доступный объем памяти вычислительной системы М бит;
- задают размер s сообщения S, причем s кратно W;
- задают значение разрядности n регистра сдвига с линейной обратной связью (РСЛОС) по схеме Фибоначчи, причем выполняется соотношение
Figure 00000166
,
где
Figure 00000133
;
- формируют РСЛОС по схеме Фибоначчи со следующими параметрами:
внутренний примитивный полином
Figure 00000167
,
Figure 00000168

внешний полином
Figure 00000169
,
где
Figure 00000170
- количество ячеек РСЛОС,
причем
Figure 00000171
,
исходное состояние ячеек РСЛОС qi образует вектор
Figure 00000172
,
причем
Figure 00000173
,
Figure 00000174
,
выходное состояние ячеек РСЛОС
Figure 00000141
за один такт работы образует вектор
Figure 00000175
,
причем
Figure 00000176
,
Figure 00000177
,
где
Figure 00000178
,
для каждого
Figure 00000179

Figure 00000180
,
определяют все делители числа m в виде значений р0, р1, …, pd, причем р01<…pd,
выбирают максимально возможный делитель р из соотношения
Figure 00000181
;
- модифицируют РСЛОС, выполняя следующие действия:
- вычисляют R матриц Нr, причем r = (R-1), …, 0, размерностью n×k строк, каждая из которых имеет длину n×k бит, выполняя следующие действия:
- вычисляют
k=р;
- вычисляют
Figure 00000182
,
где 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;
- устанавливают исходное состояние РСЛОС
Figure 00000183
,
где
Figure 00000184
,
Figure 00000185
,
Figure 00000186
,
Figure 00000187
;
- вычисляют после k тактов работы для каждого исходного состояния новое состояние РСЛОС
Figure 00000188
;
- вычисляют (jk+l)-е значение для матрицы Нr путем конкатенации k значений ячеек
Figure 00000189

Figure 00000190
;
- вычисляют
l=l+1,
переходят к выполнению этапа А6;
- (А7) записывают в ячейки модифицированного РСЛОС блоки s исходного сообщения S, причем исходное состояние ячеек модифицированного РСЛОС qi образует вектор
Figure 00000191
,
где
Figure 00000192
,
причем
Figure 00000193
;
- осуществляют R тактов работы модифицированного РСЛОС, выполняя на каждом такте следующие действия:
- вычисляют выходное состояние ячеек модифицированного РСЛОС
Figure 00000194
за один такт работы, образующие вектор
Figure 00000195
,
каждое значение
Figure 00000196
которого вычисляется по формуле
Figure 00000197

для каждого
Figure 00000198
,
а значение
Figure 00000199
вычисляется по соотношению
Figure 00000200
,
где
Figure 00000201
,
где zr,j - значение j-го бита ячейки Qr,
причем
Figure 00000202
,
Figure 00000203
,
Figure 00000204
;
- получают после R тактов работы РСЛОС линейное преобразование блоков s сообщения S;
- считывают из ячеек модифицированного РСЛОС блоки s линейно преобразованного сообщения S;
- объединяют блоки и получают линейно преобразованное сообщение S.
RU2015131963/08A 2015-07-31 2015-07-31 Способ линейного преобразования (варианты) RU2598781C1 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 多项式模乘运算器、运算方法及相关装置