УСТРОЙСТВО ГОМОМОРФНОГО ШИФРОВАНИЯ ДАННЫХ

Предлагаемое устройство относится к области вычислительной техники и может быть использовано в системах связи и обработки информации, функционирующих в системе остаточных классов.
Известно устройство для кодирования и декодирования данных в системе счисления вычетов [1].
Недостатком данного устройства является, открытая передача в канал связи значений вычетов, полученных по заранее известным, фиксированным модулям, что при обработке конфиденциальной информации требует задействования дополнительных криптографических средств.
Наиболее близкое по сущности технического решения заявленному устройству является устройство для преобразования чисел из системы остаточных классов в позиционную систему счисления [2].
Недостатком данного устройства является, открытая передача в канал связи значений вычетов, полученных по заранее известным, фиксированным модулям, что при обработке конфиденциальной информации требует задействования дополнительных криптографических средств.
Цель полезной модели - расширение функциональных возможностей устройства, за счет обеспечения возможности гомоморфного шифрования исходной информации для вычисления систем линейных алгебраических уравнений, степенных уравнений, интерполяционных форм, систем логических функций, представленных в арифметических базисах.
Поставленная цель достигается тем, что в устройство гомоморфного шифрования данных, включающее устройство для преобразования чисел из системы остаточных классов в позиционную систему счисления дополнительно введены линейный рекуррентный регистр сдвига, блок памяти хранения значений простых модулей, устройство для формирования остатка по заданному модулю.
Структурная схема предлагаемого устройства представлена на фиг. 1, которое содержит: 1 - линейный рекуррентный регистр сдвига [3], 2 - блок памяти хранения значений простых модулей, 3 - устройство для формирования остатка по заданному модулю [4], 4 - устройство для преобразования чисел из системы остаточных классов в позиционную систему счисления, 5 - шина подачи значений начального заполнения линейного рекуррентного регистра сдвига, 6 - шина подачи коэффициентов полиномов (уравнений), 7 - шина выдачи значений остатков, 8 - шина подачи предвычисленных значений полиномов (переменных), 9 - шина выдачи результатов вычисления полиномов (переменных).
Шина подачи значений начального заполнения линейного рекуррентного регистра сдвига 5, которая является входом устройства и подключена ко входу линейного рекуррентного регистра сдвига 1, выходы которого соединены шиной с адресными входами блока памяти хранения значений простых модулей 2, выходы которого соединены шиной с управляющими входами устройства для формирования остатка по заданному модулю 3, информационные входы которого подключены к шине подачи коэффициентов полиномов (уравнений) 6, являющейся входом устройства, а выходы подключены к шине выдачи значений остатков 7, которая является выходом устройства, устройство для преобразования чисел из системы остаточных классов в позиционную систему счисления 4, управляющие входы которого соединены шиной с выходами блока памяти хранения значений простых модулей 2, информационные входы которого подключены к шине подачи предвычисленных значений полиномов (переменных) 8, а выходы подключены к шине выдачи результатов вычисления полиномов (переменных) 9, являющейся выходом устройства.
1
2
s
i
s+1
s+2
s+t
s+1
s+2
s+t
1
2
n
1,
2
n
Предлагаемое устройство функционирует следующим образом: в момент времени соответствующий началу работы устройства по шине подачи значений начального заполнения линейного рекуррентного регистра сдвига 5 на входы линейного рекуррентного регистра сдвига 1 поступают значения бит начального заполнения k, k, …, k k∈{0,1}, i=1, 2, …, s, далее в линейном рекуррентном регистре сдвига 1 выполняется выработка бит ключа k, k, …, k, поступающих на адресные входы блока памяти хранения значений простых модулей 2, далее в блоке памяти хранения значений простых модулей 2 выполняется выборка системы простых модулей  в соответствии со значениями бит ключа k, k, …, k, которые поступают на управляющие входы устройства для формирования остатка по заданному модулю 3, на информационные входы которого по шине подачи коэффициентов полиномов (уравнений) 6 поступают значения коэффициентов полиномов (уравнений) α, α, …, α, в устройстве для формирования остатка по заданному модулю 3 выполняется вычисление остатков от α α, …, α по модулям :
значения которых поступают в открытую вычислительную среду по шине выдачи значений остатков 7, где выполняется предвычисление значений полиномов (уравнений) , далее по шине подачи предвычисленных значений полиномов (переменных) 8 на информационные входы устройства для преобразования чисел из системы остаточных классов в позиционную систему счисления 4, на управляющие входы которого поступают значения системы простых модулей , далее в устройстве для преобразования чисел из системы остаточных классов в позиционную систему счисления 4 выполняется восстановление значения вычисления полинома (значений вычисления переменных уравнений):
,
где, , ,  - функция Эйлера.
Далее значения вычисления полинома (значения вычисления переменных уравнений) поступают на шину выдачи результатов вычисления полиномов (переменных) 9.
Таким образом, технический эффект достигается за счет введения линейного рекуррентного регистра сдвига, блока памяти хранения значений простых модулей, устройства для формирования остатка по заданному модулю.
Предлагаемое устройство может быть реализовано на существующей элементной базе сложных программируемых логических устройств, выпускаемых фирмами Altera, Xilinx, либо на элементной базе микроконтроллеров фирмы Atmel.
Литература
1. US, №5008668, 1987 г.
2. RU, №2275741, 2006 г.
3. Алферов А.П., Основы криптографии. Учебное пособие, 2-е издание, испр. и доп. / Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. / - М.. Гелиос АРВ, 2002, С 251-261.
4. RU 2421781, 2009 г.