RU2625049C1 - Устройство поддержки защищенных логических вычислений - Google Patents

Устройство поддержки защищенных логических вычислений Download PDF

Info

Publication number
RU2625049C1
RU2625049C1 RU2016114381A RU2016114381A RU2625049C1 RU 2625049 C1 RU2625049 C1 RU 2625049C1 RU 2016114381 A RU2016114381 A RU 2016114381A RU 2016114381 A RU2016114381 A RU 2016114381A RU 2625049 C1 RU2625049 C1 RU 2625049C1
Authority
RU
Russia
Prior art keywords
values
channel
inputs
transmitting
bus
Prior art date
Application number
RU2016114381A
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 RU2016114381A priority Critical patent/RU2625049C1/ru
Application granted granted Critical
Publication of RU2625049C1 publication Critical patent/RU2625049C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/04Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system with sign carriers or indicators moved relative to one another to positions determined by a permutation code, or key, so as to indicate the appropriate corresponding clear or ciphered text
    • 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
    • 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

Landscapes

  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

Изобретение относится к области шифрования. Техническим результатом является повышение производительности устройства поддержки защищенных логических вычислений. Устройство содержит блок генерации случайных чисел, блок зашифрования исходных логических данных, блок расшифрования результата логических вычислений, 2n канальную шину передачи значений коэффициентов, n канальную шину передачи значений логических переменных, 5-ти канальную шину передачи значений модулей-ограничителей, k канальную шину передачи значений первой системы k модулей, q канальную шину передачи значений второй системы q модулей, 3-х канальную шину передачи случайных чисел, 2nkq канальную шину передачи значений зашифрованных коэффициентов, knq канальную шину передачи значений зашифрованных логических переменных, kq канальную шину передачи значений вычисления полиномов, s канальную шину передачи значений вычисления булевых функций. 8 ил.

Description

Изобретение относится к средствам шифрования и может быть использовано для масштабирования вычислительных ресурсов защищенной вычислительной среды путем реализации защищенных логических вычислений в открытой распределенной вычислительной среде.
Известно устройство полностью гомоморфного шифрования [1], обеспечивающее реализацию побитовых защищенных логических вычислений, основанных на свойствах гомоморфизма модулярных вычислений.
Недостатком данного устройства является низкая производительность логических вычислений, связанная с необходимостью последовательного многократного зашифрования бит исходных данных и расшифрования результатов их защищенных вычислений.
Наиболее близкое по сущности технического решения заявленному устройству является устройство полностью гомоморфного шифрования [2], которое так же обеспечивает реализацию побитовых защищенных вычислений, основанных на свойствах гомоморфизма модулярных вычислений.
Недостатком данного устройства также является низкая производительность логических вычислений, связанная с необходимостью последовательного многократного зашифрования бит исходных данных и расшифрования результатов их защищенных вычислений.
Цель изобретения - повышение производительности устройства (реализация, в отличие от прототипа, однократного зашифрования исходных логических данных и однократного расшифрования окончательного результата защищенных логических вычислений).
Поставленная цель достигается тем, что в устройство поддержки защищенных логических вычислений, включающее физический генератор случайных чисел, регистры памяти, устройства вычисления остатка по модулю, многоразрядные сумматоры, многоразрядный умножители, введены блок генерации случайных чисел, входы которого подключены к 5-ти канальной шине передачи значений модулей-ограничителей, являющейся входом устройства, первая группа выходов которого подключена к k канальной шине передачи значений первой системы k модулей, вторая группа выходов которого подключена к q канальной шине передачи значений второй системы q модулей, третья группа выходов которого подключена к 3-х канальной шине передачи значений случайных чисел; блок зашифрования исходных логических данных, включающий блок зашифрования коэффициентов полинома, первая группа входов которого подключена к 2n канальной шине передачи значений коэффициентов, являющейся входом устройства, вторая группа входов которого подключена к k канальной шине передачи значений первой системы k модулей, третья группа входов которого подключена к q канальной шине передачи значений второй системы q модулей и четвертая группа входов которого подключена к 3-х канальной шине передачи случайных чисел, а выходы подключены к 2n kq канальной шине передачи значений зашифрованных коэффициентов, являющейся выходом устройства, и блок зашифрования логических переменных, первая группа входов которого подключена к n канальной шине передачи значений логических переменных, являющейся входом устройства, вторая группа входов которого подключена к k канальной шине передачи значений первой системы k модулей, третья группа входов которого подключена к q канальной шине передачи значений второй системы q модулей и четвертая группа входов которого подключена к 3-х канальной шине передачи случайных чисел, а выходы подключены к knq канальной шине передачи значений зашифрованных логических переменных, являющейся выходом устройства; блок расшифрования результата логических вычислений, первая группа входов которого подключена к k канальной шине передачи значений первой системы k модулей, вторая группа входов которого подключена к q канальной шине передачи значений второй системы q модулей, третья группа входов которого подключена к 3-х канальной шине передачи случайных чисел и четвертая группа входов которого подключена к kq канальной шине передачи значений вычисления полиномов, являющейся входом устройства, а выходы подключены к s канальной шине передачи значений вычисления булевых функций, являющейся выходом устройства; при этом, блок генерации случайных чисел состоит из 5-ти устройств вычисления остатка по модулю, где второй вход i-го устройства вычисления остатка по модулю подключен к i-му каналу 5-ти канальной шины передачи значений модулей-ограничителей (i=1, 2, …, 5), а первый вход i-го устройства вычисления остатка по модулю подключен к i-му выходу физического генератора случайных чисел (i=1, 2, …, 5), выходы первого и второго устройств вычисления остатка по модулю подключены соответственно к адресным входам первого и второго блоков памяти хранения систем простых модулей, где k выходов первого блока памяти хранения систем простых модулей подключены к k канальной шине передачи значений первой системы k модулей, a q выходов второго блока памяти хранения систем простых модулей подключены к q канальной шине передачи значений второй системы q модулей, выходы третьего, четвертого и пятого устройств вычисления остатка по модулю подключены к 3-х канальной шине передачи случайных чисел; при этом блок зашифрования коэффициентов состоит из регистра памяти, входы которого подключены к 2n канальной шине передачи значений коэффициентов, а выходы с первого по 2n-ый соответственно подключены ко вторым входам 2n многоразрядных умножителей, первые входы которых подключены к первому каналу 3-х канальной шины передачи случайных чисел, а выходы многоразрядных умножителей подключены ко вторым входам устройств вычисления остатка по модулю, где выход первого многоразрядного умножителя подключен ко вторым входам устройств вычисления остатка по модулю с первого по k-ый, и так далее, и выход 2n-го многоразрядного умножителя подключен ко вторым входам устройств вычисления остатка по модулю с (k(2n-1)+1)-го по 2nk-ый, а первые входы устройств вычисления остатка по модулю с первого по k-ый подключены соответственно к каналам с первого по k-ый k канальной шины передачи значений первой системы k модулей, и так далее, и первые входы устройств вычисления остатка по модулю с (k(2n-1)+1)-го по 2n k-ый подключены соответственно к каналам с первого по k-ый k канальной шины передачи значений первой системы k модулей, выходы устройств вычисления остатка по модулю подключены ко вторым входам многоразрядных умножителей, где выход i-го устройства вычисления остатка по модулю подключен ко второму входу i-го многоразрядного умножителя (i=1, 2, …, 2nk), первый вход каждого многоразрядного умножителя подключен ко 2-му каналу 3-х канальной шины передачи случайных чисел, а выходы многоразрядных умножителей подключены ко вторым входам устройств вычисления остатка по модулю, где выход первого многоразрядного умножителя подключен ко вторым входам устройств вычисления остатка по модулю с первого по q-ый, и так далее, и выход 2nk-го многоразрядного умножителя подключен ко вторым входам устройств вычисления остатка по модулю с ((2nk-1)q+1)-го по 2nkq-ый, а первые входы устройств вычисления остатка по модулю подключены к q канальной шине передачи значений второй системы q модулей, где первый вход первого устройства вычисления остатка по модулю подключен к первому каналу q канальной шины передачи значений второй системы q модулей, и так далее, и первый вход q-го устройства вычисления остатка по модулю подключен к q-му каналу q канальной шины передачи значений второй системы q модулей, и так далее, и первый вход ((2nk-1)q+1)-го устройства вычисления остатка по модулю подключен к первому каналу q канальной шины передачи значений второй системы q модулей, и так далее, и первый вход 2nkq-го устройства вычисления остатка по модулю подключен к q-му каналу q канальной шины передачи значений второй системы q модулей, а выходы устройств вычисления остатка по модулю подключены ко входам регистра памяти хранения зашифрованных коэффициентов, где выход i-ого устройства вычисления остатка по модулю подключен к i-му входу регистра памяти хранения зашифрованных коэффициентов (i=1, 2, …, 2nkq), выходы которого с первого по 2nkq-ый подключены к 2nkq канальной шине передачи значений зашифрованных коэффициентов; при этом, блок зашифрования переменных состоит из регистра памяти хранения значений переменных, входы которого подключены к n канальной шине передачи значений логических переменных, k многоразрядных умножителей, вторые входы каждого из которых подключены к третьему каналу 3-х канальной шины передачи случайных чисел, а первые входы подключены к k канальной шине передачи значений первой системы k модулей, где первый вход i-го многоразрядного умножителя подключен к i-му каналу k канальной шины передачи значений первой системы k модулей (i=1, 2, …, k), kn многоразрядных сумматоров, первые входы которых подключены к выходам многоразрядных умножителей, где первый вход первого, (k+1)-го, и так далее, и ((k-1)n+1)-го многоразрядного сумматора подключен к выходу первого многоразрядного умножителя, и так далее, и первый вход k-го, 2k-го, и так далее, и kn-го многоразрядного сумматора подключен к выходу k-го многоразрядного умножителя, а вторые входы многоразрядных сумматоров подключены к выходам регистра памяти хранения значений переменных, где вторые входы многоразрядных сумматоров с первого по k-ый подключены к первому выходу регистра памяти хранения значений переменных, и так далее, и вторые входы многоразрядных сумматоров с ((k-1)n+1)-го по kn-ый подключены к n-му выходу регистра памяти хранения значений переменных, выходы многоразрядных сумматоров подключены ко вторым входам устройств вычисления остатка по модулю, где выход первого многоразрядного сумматора подключен ко вторым входам устройств вычисления остатка по модулю с первого по q-ый, и так далее, и выход kn-го многоразрядного сумматора подключен ко вторым входам устройств вычисления остатка по модулю с ((kn-1)q+1)-го по knq-ый, первые входы устройств вычисления остатка по модулю подключены к q канальной шине передачи значений второй системы q модулей, где первые входы первого, (q+1)-го и так далее, и ((kn-1)q+1)-го устройства вычисления остатка по модулю подключены к первому каналу q канальной шины передачи значений второй системы q модулей, и так далее, и первые входы q-го, 2q-го, и так далее, и knq-го устройства вычисления остатка по модулю подключены к q-му каналу q канальной шины передачи значений второй системы q модулей, выходы устройств вычисления остатка по модулю подключены ко входам регистра памяти хранения значений зашифрованных переменных, где выход i-го устройства вычисления остатка по модулю подключен к i-му входу регистра памяти хранения значений зашифрованных переменных (i=1, 2, ……, knq), выходы которого подключены к knq канальной шине передачи значений зашифрованных логических переменных; при этом, блок расшифрования результата логических вычислений состоит из регистра памяти, хранения значений вычисления полиномов, входы которого подключены к kq канальной шине передачи значений вычисления полиномов, k устройств восстановления по КТО, первые группы входов которых подключены к выходам регистра памяти хранения значений вычисления полиномов, где первая группа входов первого устройства восстановления по КТО подключена к первым q выходам регистра памяти, хранения значений вычисления полиномов и так далее, и первая группа входов k-го устройства восстановления по КТО подключена к k-ым q выходам регистра памяти, хранения значений вычисления полиномов, вторая группа q входов каждого устройства восстановления по КТО подключена к q канальной шине передачи значений второй системы q модулей, а выходы подключены к первым входам устройств целочисленного деления, где выход i-го устройства восстановления, по КТО подключен к первому входу i-го устройства целочисленного деления (i=1, …, k), вторые входы каждого из устройств целочисленного деления подключены ко второму каналу 3-х канальной шина передачи случайных чисел, а выходы подключены к первой группе входов устройства восстановления по КТО, вторая группа k входов которого подключена к k канальной шине передачи значений первой системы k модулей, а выход подключен к первому входу устройства целочисленного деления, второй вход которого подключен к первому каналу 3-х канальной шины передачи случайных чисел, а выход подключен ко входу регистра памяти хранения значений вычисления булевых функций, двоичные выходы которого подключены к s канальной шине передачи значений вычисления булевых функций.
Сущность изобретения поясняется чертежами, где на Фиг. 1 представлена схема организации защищенных вычислений с использованием математических преобразований китайской теоремы об остатках, на Фиг 2 представлена блок-схема алгоритма реализации защищенных логических вычислений, на Фиг. 3 представлена структурная схема устройства поддержки защищенных логических вычислений, на Фиг. 4 представлена структурная схема блока зашифрования исходных логических данных, на Фиг. 5 представлена структурная схема блока генерации случайных чисел, на Фиг. 6 представлена структурная схема блока зашифрования коэффициентов полинома, на Фиг. 7 представлена структурная схема блока зашифрования логических переменных и на Фиг. 8 представлена структурная схема блока расшифрования результата логических вычислений.
Структурная схема предлагаемого устройства и его узлов представлена на фиг. 3-8, общая структура устройства представлена на фиг. 3 и включает: блок генерации случайных чисел 1, блок зашифрования исходных логических данных 2, блок расшифрования результата логических вычислений 3, 2n канальную шину передачи значений коэффициентов 4, n канальную шину передачи значений логических переменных 5, 5-ти канальную шину передачи значений модулей-ограничителей 6, k канальную шину передачи значений первой системы k модулей 7, q канальную шину передачи значений второй системы q модулей 8, 3-х канальную шину передачи случайных чисел 9, 2nkq канальную шину передачи значений зашифрованных коэффициентов 10, knq канальную шину передачи значений зашифрованных логических переменных 11, kq канальную шину передачи значений вычисления полиномов 12, s канальную шину передачи значений вычисления булевых функций 13. Структурная схема блока генерации случайных чисел 1 представлена на Фиг. 5 и включает физический генератор случайных чисел 14, устройства вычисления остатка по модулю 15.1-15.5, блоки памяти хранения систем простых модулей 16.1, 16.2. Блок зашифрования исходных логических данных 2 (фиг. 4) состоит из двух блоков: блока зашифрования коэффициентов полинома 2.1 и блока зашифрования логических переменных 2.2. Структурная схема блока зашифрования коэффициентов полинома 2.1 представлена на Фиг. 6 и включает регистр памяти хранения значений коэффициентов 17, многоразрядные умножители 18.1-18.2n, устройства вычисления остатка по модулю 19.1-19.2nk, многоразрядные умножители 20.1-20.2nk, устройства вычисления остатка по модулю 21.1-21.2nkq, регистр памяти хранения зашифрованных коэффициентов 22. Структурная схема блока зашифрования логических переменных 2.2 представлена на Фиг. 7 и включает регистр памяти хранения значений переменных 23, многоразрядные умножители 24.1-24.k, многоразрядные сумматоры 25.1-25.kn, устройства вычисления остатка по модулю 26.1-26.knq, регистр памяти хранения значений зашифрованных переменных 27. Структурная схема блока расшифрования результата логических вычислений 3 представлена на Фиг. 8 и включает регистр памяти хранения значений вычисления полиномов 28, устройства восстановления по КТО 29.1-29.k, устройство целочисленного деления 30.1-30.k, устройство восстановления по КТО 31, устройство целочисленного деления 32, регистр памяти хранения значений вычисления булевых функций 33.
В статическом виде элементы предлагаемого устройства взаимосвязаны следующим образом (фиг. 3): 5-ти канальная шина передачи значений модулей-ограничителей 6, являющаяся входом устройства, подключена к группе входов блока генерации случайных чисел 1, первая группа выходов которого подключена к третьей группе входов блока зашифрования исходных логических данных 2 и первой группе входов блока расшифрования результата логических вычислений 3 посредством k канальной шины передачи значений первой системы k модулей 7, вторая группа выходов которого подключена к четвертой группе входов блока зашифрования исходных логических данных 2 и второй группе входов блока расшифрования результата логических вычислений 3 посредством q канальной шины передачи значений второй системы q модулей 8, третья группа выходов которого подключена к пятой группе входов блока зашифрования исходных логических данных 2 и третьей группе входов блока расшифрования результата логических вычислений 3 посредством 3-х канальной шины передачи случайных чисел 9; n канальная шина передачи значений логических переменных 5, являющаяся входом устройства, подключена к первой группе входов блока зашифрования исходных логических данных 2; 2n канальная шина передачи значений коэффициентов 4, являющаяся входом устройства, подключена ко второй группе входов блока зашифрования исходных логических данных 2, первая группа выходов блока зашифрования исходных логических данных 2 подключена к 2nkq канальной шине передачи значений зашифрованных коэффициентов 10, являющейся выходом устройства, а вторая группа выходов подключена к knq канальной шине передачи значений зашифрованных логических переменных 11, являющейся выходом устройства, четвертая группа входов блока расшифрования результата логических вычислений 3 подключена к kq канальной шине передачи значений вычисления полиномов 12, являющейся входом устройства, а группа выходов блока расшифрования результата логических вычислений 3 подключена к s канальной шине передачи значений вычисления булевых функций 13, являющейся выходом устройства; при этом, элементы блока генерации случайных чисел 1 (Фиг. 5) взаимосвязаны следующим образом: i-ый выход физического генератора случайных чисел 14 подключен к первому входу i-го устройства вычисления остатка по модулю 15.1-15.5 (i=1, 2, …, 5), второй вход i-го устройства вычисления остатка по модулю 15.1-15.5 подключен к i-му каналу 5-ти канальной шины передачи значений модулей ограничителей 6 (i=1, 2, …, 5), выходы первого и второго устройств вычисления остатка по модулю 15.1, 15.2 соответственно подключены ко входам первого и второго блоков памяти хранения систем простых модулей 16.1, 16.2, выходы первого блока памяти хранения систем простых модулей 16.1 подключены к k канальной шине передачи значений первой системы k модулей 7, выходы второго блока памяти хранения систем простых модулей 16.2 подключены к q канальной шине передачи значений второй системы q модулей 8, выходы третьего, четвертого и пятого устройств вычисления остатка по модулю 15.3-15.5 подключены соответственно к 3-х канальной шине передачи случайных чисел 9; при этом, элементы блока зашифрования коэффициентов полинома 2.1 (Фиг. 6) взаимосвязаны следующим образом: 2n канальная шина передачи значений коэффициентов 4 подключена к группе входов регистра памяти хранения значений коэффициентов 17, i-ый выход которого подключен ко второму входу i-го многоразрядного умножителя 18.1-18.2n (i=1, 2, …, 2n), первый вход каждого многоразрядного умножителя 18.1-18.2n подключен к первому каналу 3-х канальной шины передачи случайных чисел 9.1, выход первого многоразрядного умножителя 18.1 подключен ко вторым входам каждого устройства вычисления остатка по модулю с 19.1 по 19.k, и так далее, и выход 2n-го многоразрядного умножителя 18.2n подключен ко вторым входам каждого устройства вычисления остатка по модулю с 19.k(2n-1)+1 по 19.2nk, первые входы устройств вычисления остатка по модулю 19.1, 19.k+1, …, 19.k(2n-1)+1 подключены к первому каналу k канальной шины передачи значений первой системы k модулей 7, и так далее, и первые входы устройств вычисления остатка по модулю 19.k, 19.2k, …, 19.2nk подключены к k-му каналу k канальной шины передачи значений первой системы k модулей 7, а выход i-го устройства вычисления остатка по модулю 19.1 -19.2nk подключен ко второму входу i-го многоразрядного умножителя 20.1-20.2nk, первый вход каждого из которых подключен ко второму каналу 3-х канальной шины передачи случайных чисел 9.2, выход многоразрядного умножителя 20.1 подключен ко второму входу каждого устройства вычисления остатка по модулю с 21.1 по 21.q, и так далее, и выход многоразрядного умножителя 20.2nk подключен ко второму входу каждого устройства вычисления остатка по модулю с 21.(2nk-1)q+1 по 21.2nkq, первые входы устройств вычисления остатка по модулю 21.1, 21.q+1, …, 21.(2nk-1)q+1 подключены к первому каналу q канальной шины передачи значений второй системы q модулей 8, и так далее, и первые входы устройств вычисления остатка по модулю 21.q, 21.2q, …, 21.2nkq подключены к q-му каналу q канальной шины передачи значений второй системы q модулей 8, а выходы устройств вычисления остатка по модулю 21.1-21.2nkq подключены соответственно ко входам регистра памяти хранения зашифрованных коэффициентов 22, выходы которого подключены к 2nkq канальной шине передачи значений зашифрованных коэффициентов 22; при этом, элементы блока зашифрования логических переменных 2.1 (Фиг. 7) взаимосвязаны следующим образом: n канальная шина передачи значений логических переменных 5 подключена к группе входов регистра памяти хранения значений переменных 23, первый выход которого подключен ко вторым входам многоразрядных сумматоров с 25.1 по 25.k, и так далее, и n-ый выход подключен ко вторым входам многоразрядных умножителей с 25.(k-1)n+1 по 25.kn, первый вход i-го многоразрядного умножителя 24.1-24.k подключен к i-му каналу k канальной шины передачи значений первой системы k модулей 7 (i=1, 2, …, k), второй вход каждого многоразрядного умножителя 24.1-24.k подключен к третьему каналу 3-х канальной шины передачи случайных чисел 9, выход первого многоразрядного умножителя 24.1 подключен к первому входу многоразрядных сумматоров 25.1, 25.k+1, …, 25.(k-1)n+1, и так далее, и выход k-го многоразрядного умножителя 24.k подключен к первому входу многоразрядных сумматоров 25.k, 25.2k, …, 25.kn, выход многоразрядного сумматора 25.1 подключен ко вторым входам устройств вычисления остатка по модулю с 26.1 по 26.q, и так далее, и выход многоразрядного сумматора 25.kn подключен ко вторым входам устройств вычисления остатка по модулю с 26.(kn-1)q+1 по 26.knq, первые входы устройств вычисления остатка по модулю 26.1, 26.q+1, …, 26.(kn-1)q+1 подключены к первому каналу q канальной шины передачи значений второй системы q модулей 8, и так далее, и первые входы устройств вычисления остатка по модулю 26.q, 26.2q, …, 26.knq подключены к q-му каналу q канальной шины передачи значений второй системы q модулей 8, выходы устройств вычисления остатка по модулю 26.1-26.kng подключены соответственно ко входам регистра памяти хранения значений зашифрованных переменных 27, выходы которого подключены к knq канальной шине передачи значений зашифрованных логических переменных 11; при этом элементы блока расшифрования результата логических вычислений 3 (Фиг. 8) взаимосвязаны следующим образом: kq канальная шина передачи значений вычисления полиномов 12 подключена ко входам регистра памяти хранения значений вычисления полиномов 28, первые q выходов которого соответственно подключены к первой группе входов устройства восстановления по КТО 29.1, и так далее, и k-ые q выходов соответственно подключены к первой группе входов устройства по КТО 29.k, вторая группа входов каждого устройства восстановления по КТО 29.1-29.k подключена к q канальной шине передачи значений второй системы q модулей 8, выход i-го устройства восстановления по КТО 29.1-29.k подключен к первому входу i-го устройства целочисленного деления 30.1-30.k (i=1, 2, …, k), второй вход каждого из которых подключен к второму каналу 3-х канальной шины передачи случайных чисел 9.2, выход каждого из устройств целочисленного деления 30.1-30.k подключен соответственно к входам первой группы входов устройства восстановления по КТО 31, вторая группа входов которого подключена к k канальной шине передачи значений первой системы k модулей 7, а выход подключен к первому входу устройства целочисленного деления 32, второй вход которого подключен к первому каналу 3-х канальной шины передачи случайных чисел 9.1, а выход подключен ко входу регистра памяти хранения значений вычисления булевых функций 33, двоичные выходы которого подключены к s канальной шине передачи значений вычисления булевых функций 13.
Рассмотрим свойства математических преобразований КТО, обеспечивающие возможность реализации защищенных вычислений.
Формулировка КТО звучит следующим образом [3].
Пусть М=m1⋅m2⋅…⋅mk, m1, m2, …, mk - попарно взаимно простые числа. Поставим в соответствие произвольному целому числу а(0≤а<М) кортеж
Figure 00000001
, где a ia (mod mi) (i=1, 2, …, k), то есть
Figure 00000002
.
Тогда, это соответствие будет являться взаимно однозначным. И, более того, операции, выполняемые над числом а, можно эквивалентно выполнять над соответствующими элементами кортежа - путем независимого выполнения операций над каждым компонентом.
То есть, если
Figure 00000003
, то справедливо:
1.
Figure 00000004
2.
Figure 00000005
3.
Figure 00000006
.
Следствие 1.
Система сравнений 1-й степени с неизвестным x:
Figure 00000007
имеет единственное решение по модулю М.
Следствие 2.
Сравнение 1-й степени с неизвестным ω: ω≡a(mod М) эквивалентно системе (1).
Решение системы (1) представляет собой класс вычетов:
ω≡ω0 (mod М),
где
Figure 00000008
где
Figure 00000009
i=1, 2, k; ϕ(mi) - функция Эйлера.
Рассмотрим пример, представления целых чисел в виде остатков от деления на взаимно простые модули и выполнения математических преобразований над кортежами остатков.
Пример. Пусть а=52, b=32, М=m1⋅m2⋅m3=3⋅5⋅7=105, тогда справедливо
Figure 00000010
, тогда
Figure 00000011
.
Сумма:
Figure 00000012
.
Разность:
Figure 00000013
.
Выполним восстановление результатов вычисления суммы и разности: М=105,
Figure 00000014
,
Figure 00000015
,
Figure 00000016
, ϕ(3)=2, ϕ(5)=4, ϕ(7)=6.
Сумма: 35⋅2⋅3+21⋅1⋅4+15⋅1⋅7 (mod 105)=84 (mod 105).
Разность: 35⋅2⋅(-1)+21⋅1⋅0+15⋅1⋅(-1)(mod 105)=20 (mod 105).
Для выполнения операции умножения кортежей остатков необходимо выполнение условия М>а⋅b, тогда добавим еще два модуля m4=11, m5=13, М=15015>52⋅32, но можно вместо модулей 3, 5, 7, 11, 13, выбрать другие сочетания модулей: либо 5, 11, 23, 31, либо 13, 17, 23, либо 5, 17, 23, 29 и т.д.
Из примера видно, что числа а и b могут быть взаимно однозначно представлены кортежами остатков по разным сочетаниям модулей, тогда при организации схемы вычислений, показанной на Фиг. 1, сочетание модулей могут выступать в качестве ключа криптографического примитива, усложняющего задачу получения противником истинных значений а, b, с.
При этом сочетания модулей могут быть выбраны случайным образом, так как их значения должны быть известны только в защищенной вычислительной среде, то есть для выбора сочетания модулей может быть использован генератор случайных чисел.
Возможность применения математических преобразований КТО к логическим вычислениям может быть реализована путем представления булевых функций и систем числовым полиномом [4], вида:
Figure 00000017
где х=[х1х2…хn],
Figure 00000018
, ij∈{0, 1} - степень переменной, которая формируется по правилу (i1 i2…in)2=i, то есть
Figure 00000019
i=0, 1, …, 2n-1, i=0, 1, …, 2n-1, j=1, 2, …, n.
Рассмотрим алгоритм реализации защищенных логических вычислений, основанный на применении математических преобразований КТО к числовой полиномиальной форме булевых функций (3) с использованием генератора случайных чисел. Работа алгоритма представлена на Фиг. 2 и включает три этапа:
- зашифрование исходных данных в защищенной вычислительной среде (А);
- обработка зашифрованных данных в открытой распределенной вычислительной среде (В);
- расшифрование результатов вычисления в закрытой вычислительной среде (С).
Этап 1. Зашифрование исходных данных в защищенной вычислительной среде.
Входные данные. Значения коэффициентов и переменных числового полинома (3):
Figure 00000020
, х1, х2, …, хn.
Шаг 1.1. Генерация случайных чисел L1, L2, K1, K2, K3.
Шаг 1.2. Умножение коэффициентов числового полинома на случайное число K1:
Figure 00000021
Шаг 1.3. Выбор системы простых модулей m1, m2, …, mk в соответствии со значением числа L1.
Шаг 1.4. Представление значений (4) в системе остаточных классов по модулям m1, m2, …, mk:
Figure 00000022
расширение диапазона значений переменных x1, х2, …, хn:
Figure 00000023
где K3 - случайное целое неотрицательное число, K3mj+xi≡xj (mod mj),
Figure 00000024
,
Figure 00000025
Шаг 1.5. Умножение остатков (5) на случайное число K2:
Figure 00000026
Шаг 1.6. Выбор системы простых модулей
Figure 00000027
в соответствии со значением числа L2, где
Figure 00000028
.
Шаг 1.7. Представление значений (6) в системе остаточных классов по модулям
Figure 00000029
:
Figure 00000030
представление значений (7) в системе остаточных классов по модулям
Figure 00000031
:
Figure 00000032
Шаг 1.8. Передача значений остатков (8, 9) в канал связи для обработки в открытой распределенной вычислительной среде.
Этап 2. Обработка зашифрованных данных в открытой распределенной вычислительной среде.
Шаг 2.1. Получение вычислительными средствами открытой распределенной вычислительной среды значений остатков (8) и (9).
Шаг 2.2. Вычисление зашифрованных значений полиномов:
Figure 00000033
где (i1i2…in)2=i.
Шаг 2.3. Передача значений вычисления зашифрованных полиномов (10) в защищенную вычислительную среду.
Этап 3. Расшифрование результатов логических вычислений в защищенной вычислительной среде.
Шаг 3.1. Получение значений вычисления зашифрованных полиномов (10).
Шаг 3.2. Вычисление остатков от полученных значений (10) по модулям
Figure 00000034
:
Figure 00000035
Шаг 3.3. Первый цикл обратного восстановления результата логических преобразований по КТО:
Figure 00000036
где
Figure 00000037
Figure 00000038
Figure 00000039
,
Figure 00000040
- функция Эйлера.
Шаг 3.4. Деление значений (12) на значение случайного числа K2:
Figure 00000041
Шаг 3.5. Вычисление остатков от полученных значений (13) по модулям m1, m2, …, mk:
Figure 00000042
,
Figure 00000043
Шаг 3.6. Второй цикл обратного восстановления результата вычисления логических преобразований по КТО:
Figure 00000044
где
Figure 00000045
Figure 00000046
Figure 00000047
.
Шаг 3.7. Деление значения (15) на значение случайного числа K1:
Figure 00000048
Выходные данные. Значения вычисления логических функций:
Figure 00000049
Функционирование устройства осуществляется следующим образом: в момент времени соответствующий началу работы устройства, из защищенной вычислительной системы по 5-ти канальной шине передачи значений модулей-ограничителей 6 подаются значения модулей на входы устройств вычисления остатка по модулю 15.1-15.5, ограничивающие значения случайных чисел, генерируемых физическим генератором случайных чисел 14, путем вычисления остатков, при этом на выходах первого и второго устройств вычисления остатка по модулю 15.1 и 15.2 формируются значения адресов ячеек памяти хранения систем простых модулей соответственно L1 и L2 в блоках памяти хранения систем простых модулей 16.1 и 16.2, на выходах третьего, четвертого и пятого устройств вычисления остатка по модулю 15.3-15.5 формируются значения случайных чисел K1, K2, K3, передаваемых в блоки зашифрования исходных логических данных 2 и расшифрования результата логических вычислений 3 по 3-х канальной шине передачи случайных чисел 9. Из блока памяти хранения систем простых модулей 16.1 передаются значения k модулей по k канальной шине передачи значений первой системы k модулей 7 в блоки зашифрования исходных логических данных 2 и расшифрования результата логических вычислений 3. Из блока памяти хранения систем простых модулей 16.2 передаются значения q модулей по q канальной шине передачи значений второй системы q модулей 8 в блоки зашифрования исходных логических данных 2 и расшифрования результата логических вычислений 3. Далее в блоке зашифрования коэффициентов полиномов 2.1 выполняется зашифрование коэффициентов полинома
Figure 00000050
, поступающих из защищенной вычислительной среда по 2n канальной шине передачи значений коэффициентов 4, путем преобразований (4, 5, 7, 8), далее зашифрованные значения коэффициентов (8) передаются по 2nkq канальной шине передачи значений зашифрованных коэффициентов 10 в открытую распределенную вычислительную среду, параллельно с зашифрованием коэффициентов полинома, в блоке зашифрования логических переменных 2.2 выполняется зашифрование логических переменных х1, х2, …, хn, поступающих из защищенной вычислительной системы по n канальной шине передачи значений логических переменных 5, путем преобразований (6, 9), далее зашифрованные значения логических переменных (9) передаются по knq канальной шине передачи значений зашифрованных переменных 11 в открытую распределенную вычислительную среду. В открытой распределенной вычислительной среде вычисляются зашифрованные значения полиномов (10), которые подаются по kq канальной шине передачи значений вычисления полиномов 12 на входы блока расшифрования результата логических вычислений 3, в котором выполняются преобразования (11-16), далее расшифрованные значения вычисления булевых функций (17) поступают по s канальной шине передачи значений вычисления булевых функций 13 в защищенную вычислительную среду.
Таким образом, в отличие от известных технических решений защищенных вычислений, технический эффект предложенного устройства достигается путем введения дополнительного оборудования устройств восстановления по КТО, устройств вычисления остатка по модулю, многоразрядных умножителей и многоразрядных сумматоров, обеспечивающих представление коэффициентов и переменных числовой формы булевых функций остатками по модулям, выбор которых осуществляется случайным образом, что обеспечивает возможность защищенных вычислений систем логических функций и восстановления результата вычисления по Китайской теореме об остатках, при однократном зашифровании и расшифровании исходных данных.
Предложенное устройство может быть реализовано с использованием современной элементной базы программируемых логических интегральных схем фирм Altera и Xilinx, включающих достаточное количество блоков умножителей для реализации преобразований зашифрования исходных данных числового полинома и восстановления результата вычисления по Китайской теореме об остатках.
Литература
1. US №8630422 B2, 2009 г.
2. US №8565435 B2, 2010 г.
3. Бухштаб А.А. Теория чисел - М.: Просвещение, 1966. С. 121-125.
4. Финько О.А. Модулярная арифметика параллельных логических вычислений: Монография / Финько О.А.; под ред. В.Д. Малюгина; - М.: Ин-т проблем управления им. В.А. Трапезникова РАН; Краснодар: Краснодарский воен. ин-т, 2003. - 224 с. http://elibrary.ru/item.asp?id=23447304. С. 20.

Claims (1)

  1. Устройство поддержки защищенных логических вычислений, включающее физический генератор случайных чисел, регистры памяти, устройства вычисления остатка по модулю, многоразрядные сумматоры, многоразрядный умножители, отличающееся тем, что введены блок генерации случайных чисел, входы которого подключены к 5-ти канальной шине передачи значений модулей-ограничителей, ограничивающих значения случайных чисел, генерируемых физическим генератором случайных чисел, путем вычисления остатков, и являющейся входом устройства, первая группа выходов которого подключена к k канальной шине передачи значений первой системы k модулей, вторая группа выходов которого подключена к q канальной шине передачи значений второй системы q модулей, третья группа выходов которого подключена к 3-х канальной шине передачи значений случайных чисел; блок зашифрования исходных логических данных, включающий блок зашифрования коэффициентов полинома, первая группа входов которого подключена к 2n канальной шине передачи значений коэффициентов, являющейся входом устройства, вторая группа входов которого подключена к k канальной шине передачи значений первой системы k модулей, третья группа входов которого подключена к q канальной шине передачи значений второй системы q модулей и четвертая группа входов которого подключена к 3-х канальной шине передачи случайных чисел, а выходы подключены к 2nkq канальной шине передачи значений зашифрованных коэффициентов, являющейся выходом устройства, и блок зашифрования логических переменных, первая группа входов которого подключена к n канальной шине передачи значений логических переменных, являющейся входом устройства, вторая группа входов которого подключена к k канальной шине передачи значений первой системы k модулей, третья группа входов которого подключена к q канальной шине передачи значений второй системы q модулей и четвертая группа входов которого подключена к 3-х канальной шине передачи случайных чисел, а выходы подключены к knq канальной шине передачи значений зашифрованных логических переменных, являющейся выходом устройства; блок расшифрования результата логических вычислений, первая группа входов которого подключена к k канальной шине передачи значений первой системы k модулей, вторая группа входов которого подключена к q канальной шине передачи значений второй системы q модулей, третья группа входов которого подключена к 3-х канальной шине передачи случайных чисел и четвертая группа входов которого подключена к kq канальной шине передачи значений вычисления полиномов, являющейся входом устройства, а выходы подключены к s канальной шине передачи значений вычисления булевых функций, являющейся выходом устройства; при этом блок генерации случайных чисел состоит из 5-ти устройств вычисления остатка по модулю, где второй вход i-го устройства вычисления остатка по модулю подключен к i-му каналу 5-ти канальной шины передачи значений модулей-ограничителей, ограничивающих значения случайных чисел, генерируемых физическим генератором случайных чисел, путем вычисления остатков (i=1, 2, …, 5), а первый вход i-го устройства вычисления остатка по модулю подключен к i-му выходу физического генератора случайных чисел (i=1, 2, …, 5), выходы первого и второго устройств вычисления остатка по модулю подключены соответственно к адресным входам первого и второго блоков памяти хранения систем простых модулей, где k выходы первого блока памяти хранения систем простых модулей подключены к k канальной шине передачи значений первой системы k модулей, a q выходы второго блока памяти хранения систем простых модулей подключены к q канальной шине передачи значений второй системы q модулей, выходы третьего, четвертого и пятого устройств вычисления остатка по модулю подключены к 3-х канальной шине передачи случайных чисел; при этом блок зашифрования коэффициентов состоит из регистра памяти, входы которого подключены к 2n канальной шине передачи значений коэффициентов, а выходы с первого по 2n-ый соответственно подключены ко вторым входам 2n многоразрядных умножителей, первые входы которых подключены к первому каналу 3-х канальной шины передачи случайных чисел, а выходы многоразрядных умножителей подключены ко вторым входам устройств вычисления остатка по модулю, где выход первого многоразрядного умножителя подключен ко вторым входам устройств вычисления остатка по модулю с первого по k-ый, и так далее, и выход 2n-го многоразрядного умножителя подключен ко вторым входам устройств вычисления остатка по модулю с (k(2n-1)+1)-го по 2nk-ый, а первые входы устройств вычисления остатка по модулю с первого по k-ый подключены соответственно к каналам с первого по k-ый k канальной шины передачи значений первой системы k модулей, и так далее, и первые входы устройств вычисления остатка по модулю с (k(2n-1)+1)-го по 2nk-ый подключены соответственно к каналам с первого по k-ый k канальной шины передачи значений первой системы k модулей, выходы устройств вычисления остатка по модулю подключены ко вторым входам многоразрядных умножителей, где выход i-го устройства вычисления остатка по модулю подключен ко второму входу i-го многоразрядного умножителя (i=1, 2, … 2nk), первый вход каждого многоразрядного умножителя подключен ко 2-му каналу 3-х канальной шины передачи случайных чисел, а выходы многоразрядных умножителей подключены ко вторым входам устройств вычисления остатка по модулю, где выход первого многоразрядного умножителя подключен ко вторым входам устройств вычисления остатка по модулю с первого по q-ый, и так далее, и выход 2nk-го многоразрядного умножителя подключен ко вторым входам устройств вычисления остатка по модулю с ((2nk-1)q+1)-го по 2nkq-ый, а первые входы устройств вычисления остатка по модулю подключены к q канальной шине передачи значений второй системы q модулей, где первый вход первого устройства вычисления остатка по модулю подключен к первому каналу q канальной шины передачи значений второй системы q модулей, и так далее, и первый вход q-го устройства вычисления остатка по модулю подключен к q-му каналу q канальной шины передачи значений второй системы q модулей, и так далее, и первый вход ((2nk-1)q+1)-го устройства вычисления остатка по модулю подключен к первому каналу q канальной шины передачи значений второй системы q модулей, и так далее, и первый вход 2nkq-го устройства вычисления остатка по модулю подключен к q-му каналу q канальной шины передачи значений второй системы q модулей, а выходы устройств вычисления остатка по модулю подключены ко входам регистра памяти хранения зашифрованных коэффициентов, где выход i-ого устройства вычисления остатка по модулю подключен к i-му входу регистра памяти хранения зашифрованных коэффициентов (i=1, 2, …, 2nkq), выходы которого с первого по 2nkq-ый подключены к 2nkq канальной шине передачи значений зашифрованных коэффициентов; при этом блок зашифрования переменных состоит из регистра памяти хранения значений переменных, входы которого подключены к n канальной шине передачи значений логических переменных, k многоразрядных умножителей, вторые входы каждого из которых подключены к третьему каналу 3-х канальной шины передачи случайных чисел, а первые входы подключены к k канальной шине передачи значений первой системы k модулей, где первый вход i-го многоразрядного умножителя подключен к i-му каналу k канальной шины передачи значений первой системы k модулей (i=1, 2, …, k), kn многоразрядных сумматоров, первые входы которых подключены к выходам многоразрядных умножителей, где первый вход первого, (k+1)-го, и так далее, и ((k-1)n+1)-го многоразрядного сумматора подключен к выходу первого многоразрядного умножителя, и так далее, и первый вход k-го, 2k-го, и так далее, и kn-го многоразрядного сумматора подключен к выходу k-го многоразрядного умножителя, а вторые входы многоразрядных сумматоров подключены к выходам регистра памяти хранения значений переменных, где вторые входы многоразрядных сумматоров с первого по k-ый подключены к первому выходу регистра памяти хранения значений переменных, и так далее, и вторые входы многоразрядных сумматоров с ((k-1)n+1)-го по kn-ый подключены к n-му выходу регистра памяти хранения значений переменных, выходы многоразрядных сумматоров подключены ко вторым входам устройств вычисления остатка по модулю, где выход первого многоразрядного сумматора подключен ко вторым входам устройств вычисления остатка по модулю с первого по q-ый, и так далее, и выход kn-го многоразрядного сумматора подключен ко вторым входам устройств вычисления остатка по модулю с ((kn-1)q+1)-го по knq-ый, первые входы устройств вычисления остатка по модулю подключены к q канальной шине передачи значений второй системы q модулей, где первые входы первого, (q+1)-го и так далее, и ((kn-1)q+1)-го устройства вычисления остатка по модулю подключены к первому каналу q канальной шины передачи значений второй системы q модулей, и так далее, и первые входы q-го, 2q-го, и так далее, и knq-го устройства вычисления остатка по модулю подключены к q-му каналу q канальной шины передачи значений второй системы q модулей, выходы устройств вычисления остатка по модулю подключены ко входам регистра памяти хранения значений зашифрованных переменных, где выход i-го устройства вычисления остатка по модулю подключен к i-му входу регистра памяти хранения значений зашифрованных переменных (i=1, 2, …, knq), выходы которого подключены к knq канальной шине передачи значений зашифрованных логических переменных; при этом блок расшифрования результата логических вычислений состоит из регистра памяти, хранения значений вычисления полиномов, входы которого подключены к kq канальной шине передачи значений вычисления полиномов, k устройств восстановления по КТО, первые группы входов которых подключены к выходам регистра памяти хранения значений вычисления полиномов, где первая группа входов первого устройства восстановления по КТО подключена к первым q выходам регистра памяти, хранения значений вычисления полиномов и так далее, и первая группа входов k-го устройства восстановления по КТО подключена к k-ым q выходам регистра памяти, хранения значений вычисления полиномов, вторая группа q входов каждого устройства восстановления по КТО подключена к q канальной шине передачи значений второй системы q модулей, а выходы подключены к первым входам устройств целочисленного деления, где выход i-го устройства восстановления по КТО подключен к первому входу i-го устройства целочисленного деления (i=1, …, k), вторые входы каждого из устройств целочисленного деления подключены ко второму каналу 3-х канальной шины передачи случайных чисел, а выходы подключены к первой группе входов устройства восстановления по КТО, вторая группа k входов которого подключена к k канальной шине передачи значений первой системы k модулей, а выход подключен к первому входу устройства целочисленного деления, второй вход которого подключен к первому каналу 3-х канальной шины передачи случайных чисел, а выход подключен ко входу регистра памяти хранения значений вычисления булевых функций, двоичные выходы которого подключены к s канальной шине передачи значений вычисления булевых функций.
RU2016114381A 2016-04-14 2016-04-14 Устройство поддержки защищенных логических вычислений RU2625049C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2016114381A RU2625049C1 (ru) 2016-04-14 2016-04-14 Устройство поддержки защищенных логических вычислений

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2016114381A RU2625049C1 (ru) 2016-04-14 2016-04-14 Устройство поддержки защищенных логических вычислений

Publications (1)

Publication Number Publication Date
RU2625049C1 true RU2625049C1 (ru) 2017-07-11

Family

ID=59495221

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2016114381A RU2625049C1 (ru) 2016-04-14 2016-04-14 Устройство поддержки защищенных логических вычислений

Country Status (1)

Country Link
RU (1) RU2625049C1 (ru)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2279123C2 (ru) * 2002-01-16 2006-06-27 Инфинеон Текнолоджиз Аг Вычислительный модуль и способ выполнения арифметической операции с зашифрованными операндами
US7869592B2 (en) * 2003-09-25 2011-01-11 Kabushiki Kaisha Toshiba Calculation apparatus and encrypt and decrypt processing apparatus
US8335313B2 (en) * 2008-01-18 2012-12-18 Fujitsu Limited Encryption device, encryption method and storage medium storing its program
US8565435B2 (en) * 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption
US8630422B2 (en) * 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2279123C2 (ru) * 2002-01-16 2006-06-27 Инфинеон Текнолоджиз Аг Вычислительный модуль и способ выполнения арифметической операции с зашифрованными операндами
US7869592B2 (en) * 2003-09-25 2011-01-11 Kabushiki Kaisha Toshiba Calculation apparatus and encrypt and decrypt processing apparatus
US8335313B2 (en) * 2008-01-18 2012-12-18 Fujitsu Limited Encryption device, encryption method and storage medium storing its program
US8630422B2 (en) * 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8565435B2 (en) * 2010-08-16 2013-10-22 International Business Machines Corporation Efficient implementation of fully homomorphic encryption

Similar Documents

Publication Publication Date Title
CA2631924C (en) Extending a repetition period of a random sequence
CA2642116C (en) Cryptographic system configured for extending a repetition period of a random sequence
US8180055B2 (en) Cryptographic system incorporating a digitally generated chaotic numerical sequence
CA2723405C (en) Cryptographic system including a random number generator using finite field arithmetics
Xiao et al. 2-Adic complexity of two classes of generalized cyclotomic binary sequences
US20050207207A1 (en) Random number generator and method for generating random numbers
WO2010034326A1 (en) State machine and generator for generating a description of a state machine feedback function
Sheela et al. Application of chaos theory in data security-a survey
CN112260828A (zh) 基于混沌系统和fpga的轻量级密钥序列发生器
RU2625049C1 (ru) Устройство поддержки защищенных логических вычислений
Martin et al. Pseudo-random sequences generated by cellular automata
Bakiri et al. FPGA Implementation of $\mathbb {F} _2 $-Linear Pseudorandom Number Generators Based on Zynq MPSoC: a Chaotic Iterations Post Processing Case Study
El Den et al. An Enhanced Pseudorandom Number Generator Based Differential Lorenz system by using Runge-Kutta method
Pathirage et al. Multi-Prime RSA Verilog Implementation Using 4-Primes
KR20130014003A (ko) 인체 관심영역에 적합한 fcsr을 이용한 비선형 이진 난수 발생기
RU163440U1 (ru) Устройство гомоморфного шифрования данных с контролем ошибок вычислений
Shaji et al. Efficient random number generator using novel modulo 2 n-2 k-1 adder for RNS
Scaria et al. FPGA IMPLEMENTATION OF WELCH-GONG STREAM CIPHER USING VLM3 ALGORITHM
Abd-El-Barr Computer & Software Engineering
Stănică et al. Reversible cellular automata encryption algorithm implemented on FPGA
Puligunta et al. Squeezing Area of the Versatile GF (2 m) GNB Arithmetic Operators
Govere et al. Encryption Methodologies Based on Floating Point Algorithms
Kalimoldayev et al. Pipeline multiplier of polynomials modulo with analysis of high-order bits of the multiplier
Barakat et al. Chaos-Based Pseudo-Random Number Generation
Jessa et al. Producing secure pseudorandom sequences with combined multiplicative congruential generators

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20180415