КРИПТОГРАФИЧЕСКОЕ УСТРОЙСТВО С ОБНОВЛЯЕМОЙ ОБЩЕЙ МАТРИЦЕЙ

1. Первый узел (110) электронной сети, выполненный с возможностью осуществления криптографической операции и содержащий:
- интерфейс (120) связи, выполненный с возможностью осуществления цифровой связи со вторым сетевым узлом,
- схему процессора, выполненную с возможностью:
- получения общей матрицы (A), причем общая матрица совместно используется со вторым сетевым узлом посредством интерфейса связи, элементы общей матрицы A являются целыми числами и/или элементы в общей матрице (A) являются целочисленными многочленами, а получение общей матрицы (A) включает:
- получение одного или более параметров выбора, совместно используемых со вторым сетевым узлом,
- выбор целых чисел, многочленов и/или коэффициентов многочленов из общего пула, причем общий пул совместно используется со вторым сетевым узлом и содержит множество целых чисел и/или многочленов для использования в элементах общей матрицы, при этом выбор выполняют в соответствии с одной или более функциями выбора, функция выбора предназначена для назначения целого числа, многочлена и/или коэффициента многочлена из общего пула элементу в общей матрице, конкретные целое число, многочлен или коэффициент многочлена, назначаемые функцией выбора, зависят от параметра выбора,
I
- формирования матрицы (S) закрытого ключа, причем элементы матрицы закрытого ключа являются целыми числами и/или целочисленными многочленами,
I
- формирования матрицы (P) открытого ключа путем:
I
- вычисления матричного произведения между общей матрицей (A) и матрицей (S) закрытого ключа с получением произведения матриц, и добавления шума к произведению матриц, и
- отправки матрицы общего ключа первого сетевого узла второму сетевому узлу.
2. Первый узел (110) электронной сети по п. 1, в котором
элементы в общей матрице A являются целыми числами по первому модулю q, и/или элементы в общей матрице (A) являются целочисленными многочленами по первому модулю q и по модулю многочлена f приведения, и в котором
элементы в матрице закрытого ключа являются целыми числами по первому модулю (q), и/или целочисленными многочленами по первому модулю (q) и по модулю многочлена (f) приведения, и в котором
матрица закрытого ключа вычислена по первому модулю (q) и/или по первому модулю (q) и по модулю многочлена (f) приведения.
3. Первый сетевой узел по любому из предыдущих пунктов, выполненный с возможностью получения отличающейся общей матрицы (A) для каждого нового обмена ключами.
4. Первый сетевой узел по любому из предыдущих пунктов, в котором:
- общая матрица и общий пул содержат целые числа или многочлены, и многочлены выбора выбирают целые числа или многочлены из общего пула, причем общий пул содержит меньше элементов, чем общая матрица, или
- общая матрица содержит многочлены, а общий пул содержит целые числа, и многочлены выбора выбирают коэффициенты многочленов из общего пула, причем общий пул содержит меньше элементов, чем произведение количества элементов в общей матрице на степень многочлена приведения минус 1.
master
5. Первый сетевой узел по любому из предыдущих пунктов, выполненный с возможностью получения общего пула (A) путем формирования случайного начального числа и отправки случайного начального числа посредством канала связи другому узлу, причем первый и второй сетевые узлы используют случайное начальное число для начального заполнения детерминированного генератора псевдослучайных чисел, формирующего общий пул из выхода генератора псевдослучайных чисел.
6. Первый сетевой узел по любому из предыдущих пунктов, в котором:
- элементы в общей матрице и элементы в общем пуле являются целыми числами по первому модулю (q),
- элементы в общей матрице являются целочисленными многочленами по модулю многочлена (f) приведения, а элементы в общем пуле являются целыми числами по первому модулю (q),
- элементы в общей матрице являются целочисленными многочленами, а элементы в общем пуле являются многочленами по первому модулю (q) и модулю многочлена (f) приведения.
7. Первый сетевой узел по любому из предыдущих пунктов, в котором элементы в общей матрице A разбиты на наборы, для каждого набора функция выбора отображает по меньшей мере часть общего пула в набор в зависимости, по меньшей мере частично, от параметра выбора.
8. Первый сетевой узел по п. 7, в котором:
- наборы соответствуют строкам или столбцам общей матрицы, или
- наборы соответствуют блокам общей матрицы, и/или
- в котором наборы имеют одинаковый размер.
9. Первый сетевой узел по любому из предыдущих пунктов, в котором функция выбора принимает в качестве входа параметр выбора и индекс, указывающий элемент или коэффициент элемента общей матрицы, и создает в качестве выхода индекс в общем пуле.
10. Первый сетевой узел по любому из предыдущих пунктов, в котором функция выбора отображает последовательность подряд идущих элементов общего пула в последовательность подряд идущих элементов в строке или столбце общей матрицы.
11. Первый сетевой узел по любому из предыдущих пунктов, в котором:
- функция выбора в зависимости от параметра r выбора отображает элементы в общем пуле с индексом r не более (r + k - 1) по модулю размера общего пула в строку или столбец общей матрицы, где k является размером матрицы, или
- функция выбора в зависимости от параметров r и s выбора отображает элементы в общем пуле с индексом (r + Prf(s, j)) по модулю размера общего пула в элемент с индексом j строки или столбца общей матрицы, где Prf обозначает псевдослучайную функцию, принимающую s в качестве начального числа и индекс j в качестве входа.
12. Первый узел (110) электронной сети по любому из предыдущих пунктов, в котором криптографическая операция представляет собой протокол обмена ключами (KEX), причем схема процессора выполнена с возможностью:
R
- приема матрицы (P) открытого ключа второго сетевого узла,
- вычисления необработанного ключа как матричного произведения между принятым открытым ключом второго узла и матрицей закрытого ключа первого сетевого узла,
при этом первый сетевой узел также выполнен с возможностью:
- приема данных (h) согласования второго сетевого узла,
- вычисления общего ключа путем применения функции (rec) согласования к принятым данным согласования и необработанному ключу, или
при этом первый сетевой узел также выполнен с возможностью:
- получения общего ключа и данных согласования из необработанного ключа,
- отправки данных согласования второму сетевому узлу.
n
n
n
13. Первый сетевой узел по любому из предыдущих пунктов, в котором элементы общей матрицы (A) являются многочленами, и в котором многочлен приведения представляет собой x + 1, или x – 1, или (x – 1)/(x - 1).
14. Первый сетевой узел по любому из предыдущих пунктов, в котором схема процессора выполнена с возможностью вычисления расширенной общей матрицы (A) путем замены элементов-многочленов степени больше 0 циркулянтной матрицей, причем данная расширенная матрица в качестве элементов содержит целые числа по первому модулю (q), и количество столбцов и строк, равное произведению количества строк и столбцов общей матрицы (A) на степень многочлена приведения.
15. Первый сетевой узел по любому из предыдущих пунктов, в котором добавление шума к произведению матриц включает:
- уменьшение масштаба элементов произведения матриц до второго модуля (p), причем масштабированный элемент равен немасштабированному элементу, умноженному на второй модуль (p), деленному на первый модуль (q) и округленному до ближайшего целого числа, второй модуль (p) меньше первого модуля (q), при этом вычисление необработанного ключа в виде матричного произведения между принятым открытым ключом второго узла и матрицей закрытого ключа первого сетевого узла выполняют по второму модулю,
или
- выбор элементов шума для одного или более или всех элементов в произведении матриц из распределения шума и добавление элементов шума к одному или более или всем элементам в произведении матриц, например, когда элементы шума имеют коэффициенты, выбранные из гауссовского распределения с математическим ожиданием 0.
16. Первый сетевой узел по любому из предыдущих пунктов, в котором:
I
R
- матрицу закрытого ключа (S, S) выбирают равномерным случайным образом из потенциально возможных матриц закрытого ключа, и/или
- коэффициенты элементов в матрице закрытого ключа ограничивают по абсолютному значению посредством границы, например, когда упомянутая граница равна 2, или когда граница равна 1, причем последний случай соответствует двоичным числам со знаком, и/или
I
R
S
- столбцы и/или строки матрицы (S, S) закрытого ключа имеют фиксированный или ограниченный вес Хэмминга (h).
17. Первый сетевой узел по любому из предыдущих пунктов, в котором:
- матрица (A) имеет по меньшей мере один размер, равный k, а при необходимости является квадратной матрицей k на k,
- закрытый ключ первого узла имеет размеры n и ,
- закрытый ключ второго узла имеет размеры  и n, где  и  меньше чем n, например,  и n могут быть равны 1 или больше 1.
18. Первый сетевой узел по любому из предыдущих пунктов, в котором схема процессора выполнена с возможностью:
- выбора всех целых чисел, многочленов и/или коэффициентов многочленов общей матрицы из общего пула, или
- выбора части целых чисел, многочленов и/или коэффициентов многочленов общей матрицы из общего пула и формирования остальной части общей матрицы,
- выбора всех целых чисел, многочленов и/или коэффициентов многочленов общей матрицы из общего пула и замены части целых чисел, многочленов и/или коэффициентов многочленов в общей матрице в соответствии с функцией подстановки.
19. Способ (400) осуществления электронной криптографической операции для первого узла (110) электронной сети, включающий:
- организацию (410) цифрового обмена данными между первым сетевым узлом и вторым сетевым узлом,
- получение (420) общей матрицы (A), причем общую матрицу совместно используют со вторым сетевым узлом посредством интерфейса связи, элементы общей матрицы A являются целыми числами, и/или элементы в общей матрице (A) являются многочленами, а получение общей матрицы (A) включает:
- получение одного или более параметров выбора, совместно используемых со вторым сетевым узлом,
- выбор целых чисел, многочленов и/или коэффициентов многочленов из общего пула, причем общий пул совместно используют со вторым сетевым узлом и содержит множество целых чисел и/или многочленов для использования в элементах общей матрицы, при этом выбор выполняют в соответствии с одной или более функциями выбора, функция выбора назначает целое число, многочлен и/или коэффициент многочлена из общего пула элементу в общей матрице, конкретные целое число, многочлен или коэффициент многочлена, назначаемые функцией выбора, зависят от параметра выбора,
I
- формирование (430) матрицы (S) закрытого ключа, причем элементы матрицы закрытого ключа являются целыми числами и/или целочисленными многочленами,
I
- формирование (440) матрицы (P) открытого ключа путем:
I
- вычисления (442) матричного произведения между общей матрицей (A) и матрицей (S) закрытого ключа с получением произведения матриц, и добавления (444) шума к элементам в произведении матриц,
- отправку (452) матрицы общего ключа первого сетевого узла второму сетевому узлу.
20. Компьютерочитаемый носитель (1000) информации, содержащий кратковременные и некратковременные данные (1020), представляющие инструкции, выполнение которых процессорной системой приводит к осуществлению ею способа по п. 19.