УСТРОЙСТВО ДЛЯ ГЕНЕРАЦИИ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ
DEVICE FOR GENERATING PSEUDORANDOM NUMBERS

Изобретение относится к вычислительной технике и электросвязи, предназначено для решения задач защиты компьютерной информации. Наиболее предпочтительной областью использования изобретения является реализация стохастических методов защиты информации.
В совокупности признаков заявленного изобретения используются следующие термины:
n
-1
-1
i
0
2
q-2
Конечное поле или поле Галуа GF(q) (GF - Galois Field, q=p - число элементов поля, р - простое, n - натуральное) - конечное множество элементов, обладающее следующими свойствами: 1) в поле определены две операции, одна условно называется сложением, другая - умножением; 2) для элементов поля α, β, γ справедливы соотношения α+β=β+α, αβ=βα, (α+β)γ=αγ+βγ; 3) в поле существуют нулевой и единичный элементы, обозначаемые соответственно как 0 и 1, для которых справедливо 0+α=α, 0α=0, 1α=α; 4) в поле для любого α≠0 существует обратный ему элемент по сложению, обозначаемый (-α), для которого справедливо α+(-α)=0; и обратный ему элемент по умножению, обозначаемый α, для которого справедливо αα=1; 5) любой ненулевой элемент поля можно представить в виде степени примитивного элемента ω: ∀α≠α=ω, таким образом, конечное поле можно представить в виде GF(q)={0, ω=1, ω, ω, …, ω}.
Стохастические алгоритмы преобразования данных (алгоритмы рандомизации) - алгоритмы, применяемые для решения задач защиты информации и обеспечивающие непредсказуемое поведение объектов и средств защиты. Используются для реализации нелинейных функций обратной связи или выхода генераторов псевдослучайных чисел (ГПСЧ) и функций хеширования. Отличительная особенность стохастических алгоритмов - интенсивное рассеивание и перемешивание информации.
ARX-алгоритмы - минималистские (Light-Weight) алгоритмы стохастического преобразования, основанные на использовании операций сложения (Add), циклического сдвига (Rotate) и исключающего ИЛИ (XOR), основные области применения которых - это RFID-системы и Интернет вещей.
n
n
n
N
N-1
2
n
i
N-1
2
1
0
Известен генератор псевдослучайных чисел, функционирующий в конечном поле GF(2), где n>1 - целое, состоящий из N регистров разрядности n, (N-1) блоков сложения в GF(2) и N блоков умножения в GF(2), причем величина, на которую происходит умножение в (i+1)-м блоке умножения, равна коэффициенту a характеристического многочлена ϕ(х)=x+ax+…+ах+ах+а над полем GF(2). Выходы N-го регистра соединены со входами всех блоков умножения, выходы (j+1)-х блоков умножения и выходы j-x регистров соединены соответственно с первыми и вторыми входами j-x блоков сложения, выходы которых соединены со входами (j+1)-х регистров, где j=1, 2, …, (N-1), выходы первого блока умножения соединены со входами первого регистра [Иванов М.А., Саликов Е.А. Генератор псевдослучайных чисел. Патент РФ №2740339].
Недостатком известного генератора является линейный характер формируемых последовательностей, а значит предсказуемое поведение.
n
n
n
n
n
n
n
n
n
Таким образом, наиболее близким по своей технической сущности к заявленному является устройство для генерации псевдослучайных чисел, специфицированное в алгоритме SPEC32, состоящее из двух регистров разрядности n, двух блоков сложения в GF(2), двух блоков циклического сдвига и блока сложения по модулю 2, причем выходы первого блока сложения в GF(2) соединены со входами первого регистра, выходы которого соединены со входами первого блока циклического сдвига, выходы второго блока сложения в GF(2) соединены со входами второго регистра, выходы которого соединены со входами второго блока циклического сдвига; группа информационных входов устройства соединена с первыми входами первого блока сложения в GF(2), вторые входы которого подключены к выходам блока сложения по модулю 2, первые входы которого подключены к выходам второго регистра; выходы первого блока сложения в GF(2) соединены с первыми входами второго блока сложения в GF(2), вторые входы которого подключены к выходам второго блока циклического сдвига, выходы первого блока циклического сдвига соединены со вторыми входами блока сложения по модулю 2. [Alex Biryukov, Vesselin Velichkov, and Yann Le Corre. Automatic Search for the Best Trails in ARX: Application to Block Cipher Speck. Cryptology ePrint Archive: Report 2016/409. https://eprint.iacr.org/2016/409.pdf].
1
2
n
n
На фиг. 1 показана схема устройства-прототипа, где 1 - группа ключевых входов; 2.1, 2.2 - n-разрядные регистры устройства Q, Q; 3 - блок сложения по модулю 2; 4.1, 4.2 - блоки сложения в GF(2); 5, 6 - соответственно первый и второй блоки циклического сдвига соответственно вправо и влево.
Техническим результатом изобретения является повышение эффективности устройства за счет повышения стойкости к линейному и дифференциальному анализу.
n
n
n
n
n
n
n
n
n
n
n
Поставленная цель достигается тем, что устройство для генерации псевдослучайных чисел, состоящее из двух регистров разрядности n, двух блоков сложения в GF(2), блока сложения по модулю 2, двух блоков циклического сдвига, причем выходы первого и второго блоков сложения в GF(2) соединены со входами соответственно первого и второго регистров, выходы блока сложения по модулю 2 подключены к первой группе входов первого блока сложения в GF(2), выходы первого и второго регистров соединены со входами соответственно первого и второго блоков циклического сдвига, дополнительно содержит третий блок циклического сдвига, входы и выходы которого соединены соответственно с выходами второго блока сложения в GF(2) и второй группой входов первого блока сложения в GF(2), выходы первого блока циклического сдвига соединены с первой группой входов второго блока сложения в GF(2), выходы второго блока циклического сдвига соединены с первой группой входов блока сложения по модулю 2, первая и вторая группы ключевых входов устройства соединены со вторыми группами входов соответственно блока сложения по модулю 2 и второго блока сложения в GF(2).
n
n
Заявленный эффект обеспечивается за счет того, что в заявленном устройстве подмешивания ключевой информации осуществляется через разные операции (сложение по модулю 2 и сложение в GF(2)), не образующие вместе с операцией циклического сдвига какой либо алгебраической структуры, это усложняет проведение статистического анализа с одной стороны, и обеспечивает более интенсивное перемешивание битов с другой.
n
В прототипе наоборот сложение с константой реализовано только в операции сложения в GF(2) (XOR), поэтому, например, дифференциальный анализ там потенциально возможен. Результаты исследования прототипа показывают, что атаки на основе дифференциального анализа проходят до 14 раундов преобразования из 22.
1
2
n
n
На фиг. 2 показана схема предлагаемого устройства, где 1.1, 1.2 - группы ключевых входов устройства; 2.1, 2.2 - n-разрядные регистры устройства Q, Q; 3 - блок сложения по модулю 2; 4.1, 4.2 - блоки сложения в GF(2); 5, 6 и 7 - соответственно первый, второй и третий блоки циклического сдвига. На фиг. 3 показана схема устройства при n=16.
n
n
n
n
n
n
Выходы первого и второго блоков 4.1, 4.2 сложения в GF(2) соединены со входами соответственно первого и второго регистров 4.1, 4.2. Первая группа 1.1 ключевых входов устройства подключена к первой группе входов блока 3 сложения по модулю 2, выходы которого подключены к первой группе входов первого блока 4.1 сложения в GF(2). Выходы второго регистра 2.2 соединены со входами первого блока 5 циклического сдвига. Входы и выходы третьего блока 7 циклического сдвига соединены соответственно с выходами первого регистра 2.1 и первой группой входов второго блока 4.2 сложения в GF(2), вторая группа входов и выходы которого соединены соответственно со второй группой 1.2 ключевых входов устройства и входами второго блока 6 циклического сдвига, выходы которого соединены со второй группой входов первого блока 3.1 сложения в GF(2). Выходы первого блока 5 циклического сдвига соединены со второй группой входов блока 3 сложения по модулю 2.
Устройство работает следующим образом. Перед началом работы в регистры 2.1 и 2.2 записывается 2n-разрядный преобразуемый блок данных. Цепи загрузки на фиг. 2 не показаны. В каждом раунде преобразования (такте работы устройства) на входы 1.1 и 1.2 поступают раундовые ключи, обеспечивающие непредсказуемость результатов последующих операций. Тактовые входы регистров 2 объединены и образуют тактовый вход устройства, который также не показан на фиг. 2.
При поступлении тактовых импульсов устройство переключается в соответствии со схемой, показанной на фиг. 2. Суть выполняемого ARX-алгоритма - многократное повторение одного и того же раундового преобразования с разными ключами за счет чего обеспечивается рассеивание и перемешивание информации.
При использовании предлагаемого технического решения для реализации блока стохастического преобразования (фиг. 3) при решении задач стохастического кодирования [Иванов М.А. Способ обеспечения универсальной защиты информации, пересылаемой по каналу связи // Вопросы кибербезопасности. 2019, №3 (31), с. 45-50] оптимальное значение n равно 16, так как именно в этом случае обеспечивается 32-разрядное стохастическое преобразование, наиболее предпочтительное для большинства современных каналов связи [С.А. Осмоловский. Стохастические методы передачи данных. - М.: Радио и связь, 1991]. Блоки 5, 6 и 7 циклического сдвига в этом случае осуществляют сдвиг соответственно на 5 разрядов вправо, на 8 разрядов влево и на 9 разрядов вправо. Число раундов преобразования равно 20.
Таким образом, техническим результатом изобретения является повышение эффективности устройства за счет повышения стойкости к линейному и дифференциальному анализу.
n
n
С точки зрения аппаратных затрат формально число требуемых логических элементов не изменилось: один блок сложения по модулю 2 и два блока сложения в GF(2), так как циклические сдвиги реализуются перекоммутацией соответвующих выходов, иначе говоря они не влияют на сложность реализации.
n
n
Схемотехнически самый сложный элемент во всей схеме это сложение по модулю 2. В предлагаемом устройстве сложение по модулю 2 реализуется с константой. За счет этого можно уменьшить число тактов преобразования по сравнению с прототипом.
n
n
n
Кроме того сложение по модулю 2 с константой усложняет процедуру линейного анализа [А.А. Козлов, М.А. Иванов. Исследование возможности применения линейного анализа к ARX алгоритмам стохастического преобразования данных в зависимости от функции смешения с раундовым ключом // Безопасность информационных технологий, 2021 г., Том 28, №2, с. 62-69]. Использование подмешивания ключевой информации через разные операции (сложение по модулю 2 и сложения в GF(2)), не образующие вместе с операцией циклического сдвига какой либо алгебраической структуры, усложняет проведение статистического анализа с одной стороны, и обеспечивает более интенсивное перемешивание битов с другой.
n
В Speck32 наоборот сложение с константой реализовано только в операции сложения в GF(2), поэтому дифференциальный анализ там потенциально возможен. Исследования показывают, что атаки на основе дифференциального анализа для Speck32 проходят до 14-ти раундов (из 22-х).
Предлагаемое устройство ориентировано на использование в задачах стохастического кодирования информации. Стохастические коды С.А. Осмоловского - это единственный механизм, обеспечивающий решение всех задач защиты информации, пересылаемой по каналам связи, а именно задачи обнаружения и исправления случайных ошибок, вызванных помехами; задачи обеспечения секретности информации и задачи контроля целостности информации при ее умышленных искажениях. Кроме этого стохастические коды в отличие других существующих помехоустойчивых кодов, которые обеспечивающих обнаружение и исправление определенной доли ошибок, способны обеспечить наперед заданную вероятность правильного приема информации.