×
12.01.2017
217.015.5cca

Результат интеллектуальной деятельности: СПОСОБ НЕЛИНЕЙНОГО ТРЕХМЕРНОГО МНОГОРАУНДОВОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ RDOZEN

Вид РИД

Изобретение

Аннотация: Изобретение относится к защите компьютерной информации. Технический результат - повышение криптостойкости и быстродействия нелинейного преобразования. Способ нелинейного трехмерного многораундового преобразования данных, в котором второй и третий раунды преобразования выполняются аналогично первому: при выполнении преобразований второго и третьего раунда осуществляется деление блока 1 данных S на четыре слоя 4, 4, 4, 4 (соответственно L, L, L, L) вдоль оси x; каждый слой L, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего происходит двумерное стохастическое преобразование 5 T_Layer каждого слоя L и объединение слоев L в преобразованный блок S; между первым и вторым раундами, а также между вторым и третьим раундами выполняется преобразование 6 перестановки байтов PermBytes; при выполнении преобразования 5 T_Layer L последовательно выполняются операции замены 9 байтов SubBytes, перемешивания 10 байтов состояния MixState и сложения 11 с раундовым подключом AddRoundSubKey; операция перемешивания 10 байтов состояния MixState выполняется следующим образом: - слой L разбивается на 16 байтов; - суть операции перемешивания байтов состояния - умножение строки байтов состояния на квадратную матрицу 16×16, при этом все операции умножения и сложения элементов строки и матрицы осуществляются в поле GF(2); перемешанные байты объединяются в преобразованный слой L. 5 ил.

Изобретение относится к вычислительной технике и электросвязи, предназначено для решения задач защиты компьютерной информации. Наиболее предпочтительной областью использования изобретения является построение генераторов псевдослучайных чисел (ГПСЧ), а также криптографических примитивов хеширования, блочного и поточного шифрования.

В совокупности признаков заявленного изобретения используются следующие термины:

Стохастическое преобразование - непредсказуемое преобразование данных; примером стохастического преобразования может являться криптографическое преобразование;

Генератор псевдослучайных чисел - генератор последовательности чисел, статистически неотличимой от последовательности случайных чисел с равномерным законом распределения; наиболее жесткие требования предъявляются к ГПСЧ, ориентированным на решение задач криптографической защиты информации;

Ключ - секретный параметр стохастического преобразования, представляет собой двоичную информацию, известную только законному пользователю;

Подключ - часть ключа;

Раунд - последовательность шагов, образующих одну итерацию итеративного (многораундового) преобразования;

Раундовый ключ (RoundKey) - ключевая информация, использующаяся при выполнении одного раунда преобразования, существует два способа формирования раундовых ключей: раундовый ключ может являться частью секретного ключа (пример - Российский стандарт криптозащиты ГОСТ 28147-89), последовательность раундовых ключей может получаться в результате работы процедуры разворачивания исходного ключа (пример - американский стандарт криптозащиты AES);

Раундовый подключ - часть раундового ключа;

Двоичный вектор - некоторая последовательность нулевых и единичных бит, например (01101010), двоичный вектор разрядности n может быть интерпретирован как элемент конечного поля GF(2n);

Замена (Substitution) - операция, выполняемая над двоичным вектором i ∈ GF(2n), при этом результат операции равен содержимому ячейки с индексом i таблицы замен размерности n×2n;

Перемешивание (Mix) - операция, выполняемая над двоичным вектором разрядности n, результат разрядности n которой зависит от всех входных бит и от их взаимного расположения.

Важнейшим элементом любой системы защиты информации (СЗИ) являются ГПСЧ. Функциями ГПСЧ СЗИ являются:

- генерация ключевой информации и паролей пользователей;

- формирование гаммы при поточном шифровании данных;

- формирование случайных запросов при аутентификации субъектов информационного взаимодействия;

- внесение неопределенности в работу средств и объектов защиты и др.

Непредсказуемые ГПСЧ являются основой стохастических методов, с использованием которых решаются такие задачи, как обеспечение секретности и конфиденциальности информации, подтверждение подлинности субъектов информационного взаимодействия, контроль хода выполнения программ, обеспечение целостности объектов (сообщений, массивов данных) информационного взаимодействия. Стохастическими являются все протоколы защищенного взаимодействия удаленных абонентов. К ГПСЧ, ориентированным на решение задач защиты информации, предъявляются наиболее жесткие требования по непредсказуемости, статистической безопасности и периоду формируемых последовательностей.

Основной проблемой при проектировании ГПСЧ является трудно разрешимое противоречие между качеством формируемых псевдослучайных последовательностей, с одной стороны, и эффективностью программной и аппаратной реализации, определяющей быстродействие генераторов, с другой стороны. Наиболее рациональным решением с точки зрения этих критериев следует признать ГПСЧ, нелинейные функции обратной связи или выхода которых суть функции шифрования итерационных блочных шифров.

Одним из путей решения проблемы построения качественного генератора является использование гибридных вычислительных технологий при программной реализации ГПСЧ. Наиболее подходящей для реализации на GPU являются архитектуры Квадрат и Куб.

Известен способ нелинейного многораундового 3D-преобразования данных [Иванов М.А., Ковалев А.В., Чугунков И.В. и др. Стохастические методы защиты информации в компьютерных системах и сетях. М.: Кудиц-Пресс, 2009, с. 243-246], который включает:

формирование ключа, в качестве которого выступает содержимое таблицы стохастического преобразования H размерностью 8×256;

представление входного, выходного блоков данных, всех промежуточных результатов преобразования в виде кубического массива байтов 4×4×4;

выполнение над входным блоком М разрядностью 512 бит трех раундов трехмерного преобразования соответственно вдоль осей x, у, z;

введение понятие слоя (Layer) - квадратного массива байтов 4×4.

При выполнении преобразований первого раунда блок данных S делится на 4 слоя Lx0, Lx1, Lx2, Lx3 вдоль оси x, каждый слой Lxk, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего подвергается двумерному преобразованию T_Layer, зависящему от содержимого секретной таблицы Н; преобразованные слои объединяются в преобразованный блок S.

При выполнении преобразований второго раунда блок данных S делится на 4 слоя Ly0, Ly1, Ly2, Ly3 вдоль оси x, каждый слой Lyk, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего подвергается двумерному преобразованию T_Layer, зависящему от содержимого секретной таблицы Н; преобразованные слои объединяются в преобразованный блок S.

При выполнении преобразований третьего раунда блок данных S делится на 4 слоя Lz0, Lz1, Lz2, Lz3 вдоль оси x, каждый слой Lzk, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего подвергается двумерному преобразованию T_Layer, зависящему от содержимого секретной таблицы Н; преобразованные слои объединяются в преобразованный блок S.

В состав операции двумерного преобразования T_Layer слоя L включаются два шага: перемешивание строк (MixRows) и перемешивание столбцов (MixColumns).

Операция перемешивания строк MixRows выполняется следующим образом:

- слой L разбивается на 4 строки;

- каждая k-ая строка (k=0, 1, 2, 3) перешивается с использованием стохастического сумматора, логика работы которого определяется содержимым ключевой таблицы H;

- перемешанные строки объединяются в преобразованный слой L.

Операция перемешивания столбцов MixColumns выполняется следующим образом:

- слой L разбивается на 4 столбца;

- каждый k-й столбец (k=0, 1, 2, 3) перешивается с использованием стохастического сумматора, логика работы которого определяется содержимым ключевой таблицы Н;

- перемешанные столбцы объединяются в преобразованный слой L.

Недостатком известного решения является низкая криптостойкость и недостаточно высокое быстродействие. Наличие таких недостатков объясняется независимостью результата преобразований от ключа (имеется только зависимость выполняемых преобразований от заполнения ключевой таблицы Н) и недостаточная эффективность программной и аппаратной реализации операций MixRows и MixColumns, входящих в состав операции преобразования слоя T_Layer.

Наиболее близким по своей технической сущности к заявленному способу нелинейного многораундового преобразования данных является принятый за прототип способ трехмерного преобразования данных DOZEN (Патент РФ на изобретение №2503994). Это преобразование включает:

представление входного, выходного блоков данных, всех промежуточных результатов преобразования в виде кубического массива байтов 4×4×4;

введение понятие слоя (Layer) - квадратного массива байтов 4×4;

формирование из исходного ключа последовательности раундовых ключей K0, K1, K2, K3 разрядностью 512 бит каждый и секретной таблицы замен размерностью 8×256;

формирование по входному блоку М разрядностью 512 бит блока данных S той же разрядности в соответствии с выражением S:=М, после чего выполняется начальное поразрядное сложение по модулю двух (XOR) блоков S и раундового ключа (AddRoundKey) K0 в соответствии с выражением S:=S⊕K0, после чего выполняются 3 раунда преобразования вдоль осей x, y, z;

каждый i-й раундовый ключ Ki (i=1, 2, 3) делится на четыре раундовых подключа Ki0, Ki1, Ki2, Ki3 разрядностью 128 бит каждый;

раундовые подключи Ki0, Ki1, Ki2, Ki3 представляются в виде квадратного массива байтов 4×4;

при выполнении преобразований первого раунда блок данных S делится на 4 слоя Lx0, Lx1, Lx2, Lx3 вдоль оси x; каждый слой Lxk, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего подвергается двумерному преобразованию T_Layer, после чего преобразованные слои объединяются в преобразованный блок S;

при выполнении преобразований второго раунда блок данных S делится на 4 слоя Ly0, Ly1, Ly2, Ly3 вдоль оси x; каждый слой Lyk, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего подвергается двумерному преобразованию T_Layer, после чего преобразованные слои объединяются в преобразованный блок S;

при выполнении преобразований третьего раунда блок данных S делится на 4 слоя Lz0, Lz1, Lz2, Lz3 вдоль оси x, каждый слой Lzk, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего подвергается двумерному преобразованию T_Layer, после чего преобразованные слои объединяются в преобразованный блок S.

В состав операции двумерного преобразования T_Layer слоя L включаются четыре последовательно выполняемых шага - замены байтов (SubBytes), перемешивания строк (MixRows), перемешивания столбцов (MixColumns) и сложения (XOR) с соответствующим раундовым подключом (AddRoundSubKey) Kik.

Операция замены байтов SubBytes выполняется следующим образом:

- слой L разбивается на 16 байтов, каждый байт заменяется байтом из фиксированной таблицы замен размерностью 8×256;

- выбранные из таблицы замен 16 байтов объединяются в преобразованный слой L.

Операция перемешивания строк MixRows выполняется следующим образом:

- слой L разбивается на 4 строки;

- байты каждой k-й строки (k=0, 1, 2, 3) при выполнении преобразования рассматриваются как коэффициенты многочлена А(х) степени 3 над полем GF(28), суть операции перемешивания строки - умножение по модулю х4+1 многочлена А(х) на многочлен 03х32+х+02;

- перемешанные строки объединяются в преобразованный слой L.

Операция перемешивания столбцов MixColumns выполняется следующим образом:

- слой L разбивается на 4 столбца;

- байты каждого k-го столбца (k=0, 1, 2, 3) при выполнении преобразования рассматриваются как коэффициенты многочлена А(х) степени 3 над полем GF(28), суть операции перемешивания столбца - умножение по модулю х4+1 многочлена А(х) на многочлен 03х32+х+02;

- перемешанные столбцы объединяются в преобразованный слой L.

Недостатком известного решения является низкая криптостойкость и недостаточно высокое быстродействие при программной реализации.

К причинам, препятствующим достижению указанного ниже результата, относится сложность перехода при программной реализации от преобразований T_Layers, выполняемых вдоль оси x, к преобразованиям T_Layers, выполняемых вдоль оси y, а затем к преобразованиям T_Layers, выполняемых вдоль оси z. При аппаратной реализации преобразования DOZEN эти переходы осуществляются обычными перемычками, т.е. не требуют дополнительных затрат времени на их реализацию. При программной же реализации преобразования DOZEN ситуация прямо противоположная - требуются недопустимо большие временные затраты на реализацию таких переходов.

В основе изобретения лежит задача построения нелинейного многораундового преобразования, допускающего максимальную степень параллелизма, обладающего повышенной криптостойкостью и эффективной программной реализацией.

Поставленная цель достигается тем, что в многораундовом трехмерном преобразовании, включающем:

представление входного, выходного блоков данных, всех промежуточных результатов преобразования в виде кубического массива байтов 4×4×4;

формирование последовательности раундовых ключей K0, K1, K2, K3 разрядностью 512 бит каждый;

введение понятие слоя (Layer) - квадратного массива байтов 4×4;

формирование по входному блоку М разрядностью 512 бит блока данных S той же разрядности в соответствии с выражением S:=М, после чего выполнение начального поразрядного сложения по модулю двух (XOR) блоков S и раундового ключа (AddRoundKey) K0 в соответствии с выражением S:=S⊕K0, после чего выполняются 3 раунда преобразования;

деление каждого i-го раундового ключа Ki (i=1, 2, 3) на четыре раундовых подключа Ki0, Ki1, Ki2, Ki3 разрядностью 128 бит каждый;

представление раундовых подключей Ki0, Ki1, Ki2, Ki3 в виде квадратного массива байтов 4×4;

при выполнении преобразований первого раунда деление блока данных S на 4 слоя Lx0, Lx1, Lx2, Lx3 вдоль оси x; представление каждого слоя Lxk, k=0, 1, 2, 3, в виде квадратного массива байтов 4×4, двумерное стохастическое преобразование T_Layer каждого слоя Lxk, объединение слоев Lxk в преобразованный блок S;

включение в состав операции преобразования слоя (T_Layer) операций замены байтов (SubBytes) и сложения (XOR) с соответствующим раундовым подключом (AddRoundSubKey) Kxk;

выполнение операции замены байтов SubBytes следующим образом:

- слой L разбивается на 16 байтов, каждый байт заменяется байтом из таблицы замен размерностью 8×256;

- выбранные из таблицы замен 16 байтов объединяются в преобразованный слой L;

дополнительно

второй и третий раунды выполняются аналогично первому: при выполнении преобразований второго и третьего раунда осуществляется деление блока данных S на 4 слоя Lx0, Lx1, Lx2, Lx3 вдоль оси x; каждый слой Lxk, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего происходит двумерное стохастическое преобразование T_Layer каждого слоя Lxk, объединение слоев Lxk в преобразованный блок S;

между первым и вторым раундами, а также между вторым и третьим раундами выполняется преобразование перестановки байтов PermBytes;

при выполнении преобразования T_Layer последовательно выполняются операции замены байтов SubBytes, перемешивания байтов состояния MixState и сложения с раундовым подключом AddRoundSubKey;

операция перемешивания байтов состояния MixState выполняется следующим образом:

- слой L разбивается на 16 байтов;

- суть операции перемешивания байтов состояния - умножение строки байтов состояния на квадратную матрицу 16×16, при этом все операции умножения и сложения элементов строки и матрицы осуществляются в поле GF(28);

- перемешанные байты объединяются в преобразованный слой L.

Суть предлагаемого способа иллюстрируют фиг. 1-5. На фиг. 1 показаны блок данных (по сути, формат состояния) и отдельный байт блока данных. На фиг. 2 показан принцип разделения блока данных на слои вдоль оси x и отдельные слои Lxk. На фиг. 3 показана последовательность выполнения преобразования RDOZEN. На фиг. 4 показан пример реализации операции PermState. На фиг. 5 показана схема алгоритма возможного варианта реализации операции PermBytes.

На фиг. 1-3 показаны входной 1 и выходной 2 блоки данных; раундовые ключи K0, K1, K2, K3 (соответственно 30, 31, 32, 33); раундовые подключи Ki0, Ki1, Ki2, Ki3 (соответственно 3i0, 3i1, 3i2, 3i3), i=1, 2, 3; слои Lx0, Lx1, Lx2, Lx3 (соответственно 4x0, 4x1, 4x2, 4х3) вдоль оси x, операции 5x0, 5x1, 5x2, 5x3 преобразования слоев (T_Layers) вдоль оси x; операции 61 и 62 перемешивания байтов состояния (PermBytes), зависящие соответственно от ключей 71 и 72 перемешивания. В состав операции преобразования слоя (T_Layer) входят последовательно выполняемые операции замены 9 байтов слоя (SubBytes), перемешивания 10 состояния (MixState) слоя, сложения 11 (XOR) с раундовым подключом (AddRoundSubKey). На фиг. 4 показаны 8-разрядный счетчик 11, сумматор 12 по модулю 256, 8-разрядный регистр 13, байты 140, 141, …, 1463 состояния слоя. Показаны также байты 70, 71, …, 763 ключа 71 или 72.

Рассмотрим предлагаемое трехмерное многораундовое преобразование с архитектурой Куб, получившее название RDOZEN, которое может использоваться в качестве нелинейной функции ГПСЧ (функции выхода в случае использования режима CTR или функции обратной связи в случае использования режима OFB).

Основные идеи, лежащие в основе проекта:

- представление входных 1 и выходных 2 блоков данных, всех промежуточных результатов S преобразований и раундовых ключей (RoundKeys) K0, K1, K2, K3 (30, 31, 32, 33) в виде кубического массива байтов 4×4×4 (фиг. 1);

- определение понятия слоя 4 (Layer) - квадратного массива байтов 4×4 (фиг. 2);

- представление i-го раундового ключа в виде четырех подключей (RoundSubKeys) Ki0, Ki1, Ki2, Ki3 (3i0, 3i1, 3i2, 3i3), i=1, 2, 3, каждый из которых суть квадратный массив байтов 4×4;

- представление каждого из ключей 71 и 72 перемешивания в виде последовательности байтов, соответственно 71.0, 71.1, …, 71.63 и 72.0, 72.1, …, 72.63 (фиг. 4);

- трехкратное преобразование блока данных по слоям вдоль оси x, между которыми выполняется операция перемешивания байтов 6 состояния (PermBytes) (фиг. 3);

- включение в состав операции двухмерного преобразования слоя (T_Layer) 5 трех шагов - замены 9 байтов (SubBytes), перемешивания 10 состояния слоя (MixState), сложения (XOR) 11 с раундовым подключом (AddRoundSubKey) (фиг. 3).

Операция перестановки 6 байт состояния (PermBytes) может быть фиксированной, а может зависеть от ключевой информации. Именно второй вариант изображен на рис. 3 и 4.

Операция перемешивания 10 состояния слоя (MixState) может быть полностью аналогичной, например, линейному преобразованию L блочного шифра Кузнечик, специфицированному в ГОСТ Р 34.12-2015 «Информационная технология. Криптографическая защита информации. Блочные шифры» (далее просто новый ГОСТ), который утвержден в 2015 году и вступает в действие с 1 января 2016 года. Суть преобразования - 16 тактов работы последовательного ГПСЧ, функционирующего в конечном поле GF(28), примитивный элемент а которого является корнем многочлена . Пусть a - 128-разрядное состояние слоя, а 15, …, а 0 - байты слоя, тогда линейное преобразование L определяется следующими выражениями:

,

где - базовое линейное преобразование:

Если реализовать параллельный ГПСЧ (при индексе децимации, равном 16), то в результате преобразование L выполняется за один такт. В этом случае суть операции перемешивания байтов состояния заключается в умножении строки байтов состояния на квадратную матрицу 16×16, элементы которой определяются коэффициентами базового линейного преобразования , при этом все операции умножения и сложения элементов строки и матрицы осуществляются в поле GF(28).

Последовательность преобразования (фиг. 3) блока 1 данных М размером 512 бит (4×4×4×8), имеющего структуру, показанную на фиг. 1, где a x,y,z, x=0, 1, 2, 3, y=0, 1, 2, 3, z=0, 1, 2, 3, - байты:

1) сложение 8 (XOR) блока 1 данных с раундовым 30 ключом K0;

2) первый раунд: разбиение получившегося блока данных на слои (Layers) Lx0, Lx1, Lx2, Lx3 (соответственно 4x0, 4x1, 4x2, 4х3) вдоль оси x (фиг. 2); двухмерное стохастическое преобразование слоев (T_Layer) Lx0, Lx1, Lx2, Lx3 (соответственно операции 5x0, 5x1, 5x2, 5x3) путем выполнения для каждого слоя Lxk 4хк шестнадцати (по числу байтов) операций 9 SubByte, операции 10 MixState и операции 11 AddRoundSubKey;

3) подготовка к выполнению второго раунда - формирование нового «псевдокуба», т.е. нового блока данных размером 512 бит (4×4×4×8), имеющего структуру, показанную на фиг. 1, с иным разбиением на столбцы, строки и слои;

4) второй раунд (полностью аналогичный первому): разбиение получившегося блока данных вновь на слои (Layers) Lx0, Lx1, Lx2, Lx3 (соответственно 4x0, 4x1, 4x2, 4x3) вдоль оси x (фиг. 2); двухмерное стохастическое преобразование слоев (T_Layer) Lx0, Lx1, Lx2, Lx3 (соответственно операции 5x0, 5х1, 5х2, 5х3) (фиг. 3);

5) подготовка к выполнению третьего раунда - формирование нового «псевдокуба», т.е. нового блока данных размером 512 бит (4×4×4×8), имеющего структуру, показанную на фиг. 1, с иным разбиением на столбцы, строки и слои;

6) третий раунд (полностью аналогичный первому и второму): разбиение получившегося блока данных вновь на слои (Layers) Lx0, Lx1, Lx2, Lx3 (соответственно 4x0, 4x1, 4x2, 4x3) вдоль оси x (фиг. 2); двухмерное стохастическое преобразование слоев (T_Layer) Lx0, Lx1, Lx2, Lx3 (соответственно операции 5x0, 5x1, 5x2, 5x3) (фиг. 3).

Раундовые ключи 30, 31, 32, 33 и ключи 71 и 72 перемешивания являются либо элементами исходного ключа, как это происходит в преобразовании, задаваемом шифром Магма, специфицированному в ГОСТ Р 34.12-2015, либо формируются с помощью процедуры разворачивания исходного ключа, подобно тому, как это происходит в преобразовании, задаваемом шифром Кузнечик, специфицированному там же.

Таким образом, последовательность трехмерного нелинейного многораундового преобразования RDOZEN имеет следующий вид (фиг. 3):

- Сложение 8 с раундовым ключом 30 (AddRoundKey K0);

- Преобразование 5х0 слоя 4х0 (T_Layer Lx0);

- Преобразование 5x1 слоя 4x1 (T_Layer Lx1);

- Преобразование 5х2 слоя 4х2 (T_Layer Lx2);

- Преобразование 5x3 слоя 4x3 (T_Layer Lx3);

- Перестановка байт состояния (PermBytes);

- Преобразование 5x0 слоя 4x0 (T_Layer Lx0);

- Преобразование 5x1 слоя 4x1 (T_Layer Lx1);

- Преобразование 5х2 слоя 4x2 (T_Layer Lx2);

- Преобразование 5x3 слоя 4x3 (T_Layer Lx3);

- Перестановка байт состояния (PermBytes);

- Преобразование 5x0 слоя 4х0 (T_Layer Lx0);

- Преобразование 5x1 слоя 4x1 (T_Layer Lx1);

- Преобразование 5x2 слоя 4x2 (T_Layer Lx2);

- Преобразование 5х3 слоя 4х3 (T_Layer Lx3).

Особенностью предлагаемого решения является высокая степень параллелизма на уровне элементарных преобразований за счет возможности параллельного выполнения операций T_Layer. При этом операция преобразования слоя T_Layer по сравнению с прототипом является более криптостойкой и допускает более эффективную программную реализацию. За счет исключения переходов от преобразований T_Layers, выполняемых вдоль оси x, к преобразованиям T_Layers, выполняемых вдоль оси y, а затем к преобразованиям T_Layers, выполняемых вдоль оси z, также повышается быстродействие алгоритма при его программной реализации, так как вместо преобразований перешивания слоев последовательно вдоль осей x, y, z трижды выполняется однотипное преобразование слоев вдоль оси x, между которыми осуществляется операция формирования нового состояния путем перестановки его байтов.

На фиг. 4 показан пример быстродействующей реализации операции перестановки байт, аналогичной применяемой в поточном шифре RC4. Пусть PKey[i] - i-й байт 7i ключа 7 перестановки, S[i] - i-й байт 14 г состояния 14 (промежуточному результату вычислений перед выполнением операции PermBytes), тогда последовательность перемешивания может быть описана следующим образом:

Инициализация переменной j:j=0;

Для ∀i=0, 1, …, 63

вычисление: j=(j+S[i]+PKey[i]) mod 64;

перестановка байт состояния: S[i]↔S[j].

На фиг. 5 показана схема алгоритма выполнения операции PermBytes.

Очевидно, что в пределах каждого раунда работы RDOZEN все слои могут быть обработаны параллельно, а применение технологии CUDA позволит существенно упростить процесс разработки ПО на основе алгоритма RDOZEN. Алгоритм допускает эффективную программную реализацию за счет (1) исключения обработки слоев последовательно вдоль трех осей x, y, z и (2) использования быстродействующих операций MixState и PermBytes.

Способ нелинейного трехмерного многораундового преобразования данных RDOZEN, включающийпредставление входного, выходного блоков данных, всех промежуточных результатов преобразования в виде кубического массива байтов 4×4×4;формирование последовательности раундовых ключей K, K, K, K разрядностью 512 бит каждый;введение понятия слоя (Layer) - квадратного массива байтов 4×4;формирование по входному блоку M разрядностью 512 бит блока данных S той же разрядности в соответствии с выражением S:=М, после чего выполнение начального поразрядного сложения по модулю двух (XOR) блоков S и раундового ключа (AddRoundKey) K в соответствии с выражением S:=S⊕K, после чего выполняются 3 раунда преобразования;деление каждого i-го раундового ключа K (i=1, 2, 3) на четыре раундовых подключа K, K, K, K разрядностью 128 бит каждый;представление раундовых подключей K, K, K, K в виде квадратного массива байтов 4×4;при выполнении преобразований первого раунда деление блока данных S на 4 слоя L, L, L, L вдоль оси x; представление каждого слоя L, k=0, 1, 2, 3, в виде квадратного массива байтов 4×4, двумерное стохастическое преобразование T_Layer каждого слоя L, объединение слоев L в преобразованный блок S;включение в состав операции преобразования слоя (T_Layer) операций замены байтов (SubBytes) и сложения (XOR) с соответствующим раундовым подключом (AddRoundSubKey) K;выполнение операции замены байтов SubBytes следующим образом:- слой L разбивается на 16 байтов, каждый байт заменяется байтом из таблицы замен размерностью 8×256;- выбранные из таблицы замен 16 байтов объединяются в преобразованный слой L;отличающийся тем, чтовторой и третий раунды выполняются аналогично первому: при выполнении преобразований второго и третьего раунда осуществляется деление блока данных S на 4 слоя L, L, L, L вдоль оси x; каждый слой L, k=0, 1, 2, 3, представляется в виде квадратного массива байтов 4×4, после чего происходит двумерное стохастическое преобразование T_Layer каждого слоя L, объединение слоев L в преобразованный блок S;между первым и вторым раундами, а также между вторым и третьим раундами выполняется преобразование перестановки байтов PermBytes;при выполнении преобразования T_Layer последовательно выполняются операции замены байтов SubBytes, перемешивания байтов состояния MixState и сложения с раундовым подключом AddRoundSubKey;операция перемешивания байтов состояния MixState выполняется следующим образом:- слой L разбивается на 16 байтов;- суть операции перемешивания байтов состояния - умножение строки байтов состояния на квадратную матрицу 16×16, при этом все операции умножения и сложения элементов строки и матрицы осуществляются в поле GF(2);- перемешанные байты объединяются в преобразованный слой L.
СПОСОБ НЕЛИНЕЙНОГО ТРЕХМЕРНОГО МНОГОРАУНДОВОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ RDOZEN
СПОСОБ НЕЛИНЕЙНОГО ТРЕХМЕРНОГО МНОГОРАУНДОВОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ RDOZEN
СПОСОБ НЕЛИНЕЙНОГО ТРЕХМЕРНОГО МНОГОРАУНДОВОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ RDOZEN
СПОСОБ НЕЛИНЕЙНОГО ТРЕХМЕРНОГО МНОГОРАУНДОВОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ RDOZEN
СПОСОБ НЕЛИНЕЙНОГО ТРЕХМЕРНОГО МНОГОРАУНДОВОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ RDOZEN
СПОСОБ НЕЛИНЕЙНОГО ТРЕХМЕРНОГО МНОГОРАУНДОВОГО ПРЕОБРАЗОВАНИЯ ДАННЫХ RDOZEN
Источник поступления информации: Роспатент

Showing 21-30 of 37 items.
20.04.2015
№216.013.4114

Способ получения и детектирования ионов изотопов торий-229 и торий-232 с различной кратностью заряда

Изобретение относится к области метрологии и может быть использовано для определения частоты и времени, в частности при создании атомных стандартов частоты и атомных часов. В заявленном способе получения и детектирования ионов изотопов торий-229 и торий-232 с различной кратностью заряда...
Тип: Изобретение
Номер охранного документа: 0002548158
Дата охранного документа: 20.04.2015
10.05.2015
№216.013.49b7

Способ высокочувствительного контроля долгоживущего глобального радионуклида с в газовой фазе технологического процесса переработки отработавшего ядерного топлива в режиме реального времени

Изобретение относится к измерительной технике и может найти применение в атомной энергетике, охране окружающей среды для высокочувствительного контроля долгоживущего глобального радионуклида C в газовой фазе технологического процесса переработки отработавшего ядерного топлива в режиме реального...
Тип: Изобретение
Номер охранного документа: 0002550378
Дата охранного документа: 10.05.2015
27.05.2015
№216.013.4ebd

Электролюминесцентное устройство

Изобретение относится к электролюминесцентному устройству. Устройство включает дырочный инжектирующий слой, дырочный транспортный слой, электронный блокирующий слой, активный люминесцентный слой на основе люминесцентного вещества, дырочно-блокирующий слой, электронный транспортный слой,...
Тип: Изобретение
Номер охранного документа: 0002551675
Дата охранного документа: 27.05.2015
27.05.2015
№216.013.4f08

Способ изготовления трубных заготовок из металлических порошков

Изобретение относится к порошковой металлургии. Металлический порошок засыпают в матрицу. Засыпку порошка уплотняют и формируют центральное отверстие в уплотненной засыпке путем высоковольтного разряда под вакуумом с остаточным давлением 6-10 Па. Затем проводят очистку поверхности полученной...
Тип: Изобретение
Номер охранного документа: 0002551750
Дата охранного документа: 27.05.2015
10.07.2015
№216.013.5faf

Ядерный реактор на быстрых нейтронах

Изобретение относится к ядерной технике, а именно к конструкции отражателей нейтронов быстрых ядерных реакторов. В ядерном реакторе активная зона окружена свинцовым отражателем нейтронов. В прилегающей части к активной зоне отражателя находится свинец, в котором более 90% изотопа Pb, а в...
Тип: Изобретение
Номер охранного документа: 0002556036
Дата охранного документа: 10.07.2015
27.08.2015
№216.013.751e

Прибыль в литейной форме с экзотермическим обогревом и теплоизоляцией металла

Изобретение относится к области литейного производства. Прибыль выполнена в виде полости в литейной форме. В полости прибыли установлена теплоизоляционная оболочка, в которой выполнены вертикальные карманы. Карманы размещены в пределах внешнего контура прибыли и заполнены экзотермической...
Тип: Изобретение
Номер охранного документа: 0002561557
Дата охранного документа: 27.08.2015
20.06.2016
№217.015.0477

Интерферометр для измерения линейных перемещений сканера зондового микроскопа

Изобретение относится к контрольно-измерительной технике и предназначено для измерения линейных перемещений по трем взаимоортогональным осям. Интерферометр содержит одночастотный лазер, коллиматор для ввода излучения в транспортное волокно, коллиматор, вводящий излучение в оптическую схему,...
Тип: Изобретение
Номер охранного документа: 0002587686
Дата охранного документа: 20.06.2016
20.04.2016
№216.015.3383

Полупроводниковый лазер на основе эпитаксиальной гетероструктуры

Использование: для полупроводниковых лазеров, возбуждаемых током, светом, электронным пучком. Сущность изобретения заключается в том, что конструкция полупроводникового лазера на основе гетероструктуры, содержащая лазерный кристалл, теплоотвод со стороны эпитаксиальных слоев гетероструктуры,...
Тип: Изобретение
Номер охранного документа: 0002582302
Дата охранного документа: 20.04.2016
20.04.2016
№216.015.369d

Мощный сверхвысокочастотный транзистор на основе нитрида галлия

Изобретение относится к приборам твердотельной электроники и, в частности, к конструкции мощных транзисторов для СВЧ применений. Предлагается мощный сверхвысокочастотный транзистор на основе нитрида галлия, состоящий из подложки, гетероэпитаксиальной структуры на основе соединений нитрида...
Тип: Изобретение
Номер охранного документа: 0002581726
Дата охранного документа: 20.04.2016
12.01.2017
№217.015.5d17

Многовыходной указатель старшей единицы

Изобретение относится к области вычислительной техники и используется, в частности, для арбитража в системах обработки информации при организации передачи данных между устройствами. Технический результат - расширение функциональных возможностей в части формирования K указателей старших единиц в...
Тип: Изобретение
Номер охранного документа: 0002591017
Дата охранного документа: 10.07.2016
Showing 21-30 of 45 items.
20.04.2015
№216.013.4114

Способ получения и детектирования ионов изотопов торий-229 и торий-232 с различной кратностью заряда

Изобретение относится к области метрологии и может быть использовано для определения частоты и времени, в частности при создании атомных стандартов частоты и атомных часов. В заявленном способе получения и детектирования ионов изотопов торий-229 и торий-232 с различной кратностью заряда...
Тип: Изобретение
Номер охранного документа: 0002548158
Дата охранного документа: 20.04.2015
10.05.2015
№216.013.49b7

Способ высокочувствительного контроля долгоживущего глобального радионуклида с в газовой фазе технологического процесса переработки отработавшего ядерного топлива в режиме реального времени

Изобретение относится к измерительной технике и может найти применение в атомной энергетике, охране окружающей среды для высокочувствительного контроля долгоживущего глобального радионуклида C в газовой фазе технологического процесса переработки отработавшего ядерного топлива в режиме реального...
Тип: Изобретение
Номер охранного документа: 0002550378
Дата охранного документа: 10.05.2015
27.05.2015
№216.013.4ebd

Электролюминесцентное устройство

Изобретение относится к электролюминесцентному устройству. Устройство включает дырочный инжектирующий слой, дырочный транспортный слой, электронный блокирующий слой, активный люминесцентный слой на основе люминесцентного вещества, дырочно-блокирующий слой, электронный транспортный слой,...
Тип: Изобретение
Номер охранного документа: 0002551675
Дата охранного документа: 27.05.2015
27.05.2015
№216.013.4f08

Способ изготовления трубных заготовок из металлических порошков

Изобретение относится к порошковой металлургии. Металлический порошок засыпают в матрицу. Засыпку порошка уплотняют и формируют центральное отверстие в уплотненной засыпке путем высоковольтного разряда под вакуумом с остаточным давлением 6-10 Па. Затем проводят очистку поверхности полученной...
Тип: Изобретение
Номер охранного документа: 0002551750
Дата охранного документа: 27.05.2015
10.07.2015
№216.013.5faf

Ядерный реактор на быстрых нейтронах

Изобретение относится к ядерной технике, а именно к конструкции отражателей нейтронов быстрых ядерных реакторов. В ядерном реакторе активная зона окружена свинцовым отражателем нейтронов. В прилегающей части к активной зоне отражателя находится свинец, в котором более 90% изотопа Pb, а в...
Тип: Изобретение
Номер охранного документа: 0002556036
Дата охранного документа: 10.07.2015
27.08.2015
№216.013.751e

Прибыль в литейной форме с экзотермическим обогревом и теплоизоляцией металла

Изобретение относится к области литейного производства. Прибыль выполнена в виде полости в литейной форме. В полости прибыли установлена теплоизоляционная оболочка, в которой выполнены вертикальные карманы. Карманы размещены в пределах внешнего контура прибыли и заполнены экзотермической...
Тип: Изобретение
Номер охранного документа: 0002561557
Дата охранного документа: 27.08.2015
20.06.2016
№217.015.0477

Интерферометр для измерения линейных перемещений сканера зондового микроскопа

Изобретение относится к контрольно-измерительной технике и предназначено для измерения линейных перемещений по трем взаимоортогональным осям. Интерферометр содержит одночастотный лазер, коллиматор для ввода излучения в транспортное волокно, коллиматор, вводящий излучение в оптическую схему,...
Тип: Изобретение
Номер охранного документа: 0002587686
Дата охранного документа: 20.06.2016
20.04.2016
№216.015.3383

Полупроводниковый лазер на основе эпитаксиальной гетероструктуры

Использование: для полупроводниковых лазеров, возбуждаемых током, светом, электронным пучком. Сущность изобретения заключается в том, что конструкция полупроводникового лазера на основе гетероструктуры, содержащая лазерный кристалл, теплоотвод со стороны эпитаксиальных слоев гетероструктуры,...
Тип: Изобретение
Номер охранного документа: 0002582302
Дата охранного документа: 20.04.2016
20.04.2016
№216.015.369d

Мощный сверхвысокочастотный транзистор на основе нитрида галлия

Изобретение относится к приборам твердотельной электроники и, в частности, к конструкции мощных транзисторов для СВЧ применений. Предлагается мощный сверхвысокочастотный транзистор на основе нитрида галлия, состоящий из подложки, гетероэпитаксиальной структуры на основе соединений нитрида...
Тип: Изобретение
Номер охранного документа: 0002581726
Дата охранного документа: 20.04.2016
12.01.2017
№217.015.5d17

Многовыходной указатель старшей единицы

Изобретение относится к области вычислительной техники и используется, в частности, для арбитража в системах обработки информации при организации передачи данных между устройствами. Технический результат - расширение функциональных возможностей в части формирования K указателей старших единиц в...
Тип: Изобретение
Номер охранного документа: 0002591017
Дата охранного документа: 10.07.2016
+ добавить свой РИД