Методы полностью гомоморфного шифрования на основе матричных полиномов

I МЕТОДЫ ПОЛНОСТЬЮ ГОМОМОРФНОГО ШИФРОВАНИЯ НА ОСНОВЕ МАТРИЧНЫХ ПОЛИНОМОВ

Бабенко Людмила Климентьевна, доктор технических наук, профессор, г. Таганрог Буртыка Филипп Борисович, г. Таганрог

Макаревич Олег Борисович, доктор технических наук, профессор, г. Таганрог Трепачева Алина Викторовна, г. Таганрог

Полностью гомоморфное шифрование позволяет по зашифрованным данным Enc(m),...,Enc(mt) и произвольной функции f вычислить шифртекст Enc(f (ml,...,mt)), не зная ключа расшифрования и исходных данных m1,...,mt. До опубликования новаторской работы Крейга Джентри в 2009 году были известны лишь частично гомоморфные схемы шифрования, позволяющие вычислять некоторые функции (но не все возможные) над зашифрованными данными. Однако на данный момент предложено уже достаточно большое количество полностью гомоморфных конструкций. В данной работе наиболее подробно освещается полностью гомоморфная криптосистема, основанная на матричных полиномах.

Ключевые слова: облачные вычисления, гомоморфное шифрование, криптографические вычисления, проверяемые вычисления, функциональное шифрование.

FULLY HOMOMORPHIC ENCRYPTION TECHNIQUES I

USING MATRIX POLYNOMIALS I

Ludmila Babenko, Doctor of Technical

Sciences, Professor, Taganrog Philipp Burtyka, Taganrog Oleg Makarevich, Doctor of Technical

Sciences, Professor, Taganrog Alina Trepacheva, Taganrog

A fully homomorphic encryption scheme enables computation Enc(f (ml,...,mt)) of arbitrary functions f on encrypted data Enc(ml),..., Enc(mt) without knowing decryption key and plaintext messages m,..., mt. Before publishing of groundbreaking Gentry's paper in 2009 where known only partial homomorphic encryption schemes, allowing to evaluate some (but not all possible) functions on encrypted data. However, at the moment a large number of fully homomorphic constructions is already known. In this paper, the most careful attention is given to fully homomorphic cryptosystem based on matrix polynomials.

Keywords: cloud computations, homomorphic encryption, functional encryption, secure computations, verifiable computations.

I. ВВЕДЕНИЕ

Данная работа, по замыслу авторов, должна способствовать появлению России на научной карте мира в области современной теоретической криптографии. Современная криптография - это нечто большее, чем просто наука о секретной передаче информации от одного корреспондента к другому. Это целый ряд вопросов относительно возможностей обработки секретной информации и разграничения её использования. Начало современной криптографии - шифрование с открытым ключом, предложенное в новаторской работе Диффи и Хел-

лмана [1] и впервые построенное Ривестом, Шами-ром и Эдлманом [2] - предоставляет возможность для отправителя шифровать сообщение с помощью открытого ключа получателя, а для получателя - расшифровать шифртекст, чтобы получить исходное сообщение, используя свой секретный ключ. Однако с этой точки зрения криптосхемы позволяют осуществить доступ к зашифрованным данным по принципу все или ничего - наличие секретного ключа расшифрования позволяет узнать сообщение целиком, а без ключа расшифрования шифртекст совершенно бесполезен.

Такое положение дел вызывает интригующий вопрос, впервые поставленный Ривестом, Адле-маном и Дертузо в 1978 году: Можно ли делать произвольные вычисления над данными, в то время как они остаются зашифрованными, никогда не расшифровывая их? Это требует, казалось бы, фантастической способности выполнять вычисления над зашифрованными данными, не будучи в состоянии «видеть» их.

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

Полностью гомоморфное шифрование - особый тип криптосистемы, который позволяет проводить произвольно сложные вычисления с зашифрованными данными. Длительное время полностью гомоморфное шифрование рассматривалось как «святой Грааль криптографии», и лишь в 2009 году в новаторской работе Джентри была впервые показана его возможность. Приглашаем читателя в путешествие по увлекательным математическим методам, лежащим в основе этих разработок, которые, в свою очередь, порождают множество новых интересных вопросов в криптографии.

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

II. КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ

И ВОПРОСЫ, СВЯЗАННЫЕ С НИМИ

Понятие схем шифрования, которые позволяют нетривиальные вычисления над зашифрованными данными, впервые было предложено Ривестом, Адлеманом и Дертузо [3] в 1978 году, в удивительно прозорливой (провидческой) статье под названием «О банках данных и гомоморфизмах, сохраняющих конфиденциальность».

Ривест и др. [3] предложили функцию возведения в степень и функцию RSA в качестве аддитивного и мультипликативного конфиденциальных гомоморфизмов, соответственно. Заметим, однако, что ни одна из этих функций сама по себе не обеспечивает криптостойкости даже против атаки по выбранному открытому тексту.

Первая семантически криптостойкая гомоморфная схема шифрования была предложена в работе Гольдвассер и Микали [4], в которой впервые введено удобное определение криптостойкости для шифрования. В GM схема шифрования поддерживает сложение зашифрованных битов по модулю 2 (то есть, функцию «исключающее или»). Ряд систем шифрования, которые либо аддитивно либо мультипликативно гомоморфны, последовали его примеру. Это включает в себя криптосистему Эль Гамаля [5], криптосистему Пэйе [6] и ее обобщение Дам-гаардом (Damgârd) и Юриком (Jurik) [7], множество криптосхем на основе теории решеток, начиная с работ Айтая и Дворк [8], [9], [10], и многие другие [11], [12], [13]. Все эти схемы поддерживают либо гомоморфное сложение, либо умножение открытых текстов, но не то и другое одновременно! Построение схемы шифрования, которая была бы одновременно аддитивно и мультипликативно гомоморфной, оставалось открытым каверзным вопросом. Очевидно, что поскольку сложение и умножение (скажем, над Z2 ) образуют полный набор операций, такая криптосхема позволит выполнять любые вычисления на зашифрованных данных за полиномиальное время!

Аддитивно гомоморфные схемы шифрования уже весьма полезны в ряде приложений. Не будем пытаться привести исчерпывающий список здесь, но упомянем три таких приложения. Коэн и Фишер [11] предложили аддитивно гомоморфную криптосистему на основе вычетов высокого порядка и показали, как использовать её для проведения безопасного электронного голосования. Это предложение и его продолжения прошли свой путь до современных веб-систем голосования, таких как Гелиос [14]. Совсем недавно, Пейкерт и Вотерс [15] построили с потерями, и все, кроме одного, односторонние функции с лазейками из аддитивно гомоморфных криптосхем (с некоторыми дополнительными свойствами), которые они, в свою очередь, использовали для создания шифрования с открытым ключом, крип-тостойкого против атаки по выбранному шифр-тексту (CCA-криптостойкой). Третье приложение

- это протоколы конфиденциального получения информации (КПИ), рассказ о которых отложим до конца этого раздела.

Потребовалось много времени, чтобы построить криптосхемы, которые выходят за рамки простого аддитивного (или мультипликативного) гомоморфизма. Боне, Го и Нисим [16] представили криптосхему на основе билинейных спариваний на эллиптических кривых, которые могли бы выполнять сколь угодно много сложений, а также одно умножение открытых текстов (Джентри, Га-леви и Вэйкунтанасан [17] позже показали, как добиться такой же функциональности, используя решетки).

В работе Сэндера, Янга и Юнга [18] была построена криптосистема, которая может вычислять КС1 схемы (шифртексты в их кнриптосистеме растут в геометрической прогрессии с нарастанием глубины схемы и влекут ограничение на КС1), а криптосистема Агилара-Мелькора, Гэйборита и Герранца [19] гомоморфно вычисляет (многомерные) полиномы (причем шифртекст растет экспоненциально от степени полинома). Кандидат на полностью гомоморфное шифрование, предложенный Фел-лоузом и Коблицем [20] на основе сложности проблемы принадлежности идеалу (ППИ) в кольце полиномов от нескольких переменных V [х1з..., хп ], был взломан при многих вариантах выбора параметров, хотя криптостойкость их схемы в общем еще кажется открытым вопросом.

Важное применение гомоморфного шифрования следует из работы Кашилевица и Островского [21], в которой показано, как построить (на одном сервере) протокол конфиденциального получения информации (КПИ) с сублинейной коммуникационной сложностью из любой аддитивно гомоморфной криптосистемы. Конфиденциальное получение информации, введённое Чором, Каши-левицем, Голдричем и Суданом [22], - это задача, в которой пользователь пытается получить I -й элемент в базе данных размером К не раскрывая никакой информации об индексе I владельцу базы данных (основной вариант задачи как таковой не касается дополнительной проблемы защиты конфиденциальности владельца базы данных). Конечно, так как это может быть тривиально достигнуто за счет отправки владельцем базы данных всей база данных пользователю, нетривиальный вопрос: можем ли мы поступить лучше с точки зрения коммуникационной сложности? Для базы данных размером N протокол Кашелевица-Остров-ского требует пересылки только Nе бит для сколь угодно малой постоянной е > 0.

Конфиденциальное получение информация тесно связано с полностью гомоморфным шифрованием. В самом деле, можно легко увидеть, как построить неэффективную полностью гомоморфную криптосхему из какой-либо схемы КПИ. Построение осуществляется с помощью простого выписывания таблиц истинности функций (например, п -битных входов и один выходной бит) в качестве базы данных. Шифртекст сообщения т е {0,1}п вычисляется как запуск пользователем протокола КПИ для извлечения т -го элемента (записи) из таблицы - а именно - / (т). Так как запрос пользователя КПИ скрывает т , шифрование семантически криптостойкое. Кроме того, длина шифртекста после гомоморфного вычисления в точности равна коммуникационной сложности протокола КПИ, которая сублинейна, или даже логарифмична [23], [24], [25], [26]. Загвоздка в том, что для функции с п аргументами, гомоморфное вычисление требует 2°(п) шагов. Более интересно, Ишай и Пэскин [27] показали, как использовать специфичные, очень эффективные аддитивно гомоморфные криптосистемы для построения криптосистемы, способной вычислять ветвящиеся программы гомоморфно. Мы считаем, что эти связи между КПИ и криптосхемами ПГШ далеко не случайны, и более углубленное исследование этой связи непременно обнаружит бесценные сокровища.

Подводя итог состоянию дел до 2009, были известны криптосистемы, которые могли бы выполнять сложения и одиночное умножение [16], [17], а также криптосистемы, которые могли бы вычислять ветвящиеся программы [27], полиномы [19] и КС1 схемы при увеличении размера шифртекста [18].

Большой прорыв пришел с работой Джентри [25] в 2009 году, который показал первое правдоподобное построение полностью гомоморфной криптосхемы, которая позволяет вычислять произвольные функции над зашифрованными данными, производя при этом компактные шифртексты.

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

Параллельно с этим другие криптографы пытались найти альтернативные принципы построения ПГШ. Одним из таких направлений является попытка построить симметричное гомоморфное шифрование как более эффективное, чем с открытым ключом [28].

В работе [29] сделана попытка построить симметричную гомоморфную криптосхему с использованием полиномов от многих переменных. Отечественные исследователи предлагали построить гомоморфное шифрование на основе полиномов от одной переменной [30-32] .

Другой цикл работ связан с матричными полиномами [33,34].

III. ОПРЕДЕЛЕНИЯ И СВОЙСТВА

ГОМОМОРФНОГО ШИФРОВАНИЯ

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

3.1. Гомоморфное шифрование - определения

В этом разделе (и в этой статье) мы используем X для обозначения параметра уровня крип-тостойкости. Кроме того, все криптосхемы в этой статье шифруют побитно, и следовательно, наши определения относятся только к этому случаю. Обобщение для произвольного пространства сообщений следует немедленно.

Гомоморфная (с открытым ключом) криптосистемам = (KeyGene,Ence,Dece,Evalff) - это четверка вероятностных полиномиальных по количеству шагов (ВПКШ) алгоритмов, выраженная следующим образом.

. Генерация ключа.

Алгоритм (evk,sk) ^ KeyGene(1X) принимает на вход параметр криптостойкости и выдает открытый ключ для вычисления evk и секретный ключ sk для зашифрования и расшифрования.

• Зашифрование.

Алгоритм с <— Erics(sk,m) принимает на вход секретный ключ sk и однобитное сообщение открытого текста m е{0,1} и выдает шифр-текст c.

. Расшифрование.

Алгоритм m* ^ Dec£(sk,с) принимает на вход секретный ключ sk и шифртекст с и выдает сообщение открытого текста m* е {0,1}.

. Гомоморфное вычисление.

Алгоритм cf ^ Evale(f,с1з...,с) получает на вход ключ для вычисления evk, функцию f :{0,1}г ^ {0,1} и набор из l шифртекстов с1з...,cl и выдает шифртекст cf.

Представление функции f - важный вопрос. Так как представление может варьироваться в за-

висимости от СФЭ, мы оставляем этот вопрос за пределами этого синтаксического определения. Заметим, однако, что в данном исследовании мы будем представлять f с помощью арифметической схемы из функциональных элементов над F2 (эквивалентно булевой схеме из функциональных элементов AND и XOR).

Отметим, что в то время как можно рассматривать ключ для вычисления как часть открытого ключа, как это было сделано в некоторых работах по полностью гомоморфному шифрованию, на наш взгляд, стоит рассматривать его как отдельный объект и различать открытые элементы, которые используются для шифрования (а именно, открытый ключ зашифрования) и те, которые используются только для гомоморфного вычисления (а именно, ключ вычисления evk).

Единственное понятие криптостойкости, которое мы рассмотрим в этой работе — это семантическая криптостойкость, а именно криптостой-кость в отношении (со ссылкой на) пассивных нарушителей. Мы используем его широко известную формулировку, как IND-CPA криптостойкость, определяемую следующим образом.

Определение 3.1 (CPA криптостойкость). Схема s обладает IND-CPA криптостойкостью, если для любого полиномиального по числу шагов алгоритма нарушителя А выполняется, что

AdvCPA[A ] = |Pr[A (evk, Encs( sk, 0)) = 1] -

- Pr[A (evk ,Encs(sk ,1)) = 1] = negl (X),

где (evk, sk) ^ KeyGens (1X ).

Другими словами вероятность того, что алгоритм криптоаналитика A правильно отличит шифртекст нуля от шифртекста единицы - функция, бесконечно малая от .

Мы переходим к определению корректности гомоморфного вычисления. Обратите внимание, что мы не определяем «корректность» расшифрования как такового1, а скорее, некоторая форма корректности будет следовать из корректности гомоморфного вычисления.

Начнем с определения криптосистемы, гомоморфной по отношению к какой-то конкретной функции. Это понятие также иногда называют «ограниченный гомоморфизм».

1 Классически [35] корректная криптосистема определяется через справедливость соотношения Dec(.sA: Дп^лА , т)) = т, т.е. после расшифрования шифртекста должен получиться исходный открытый текст.

Определение 3.2 (корректность расшифрования после гомоморфного вычисления). Крипто-схема s = (KeyGen, Enc, Dec, Eval) корректна для булевой СФЭ F, имеющей t входов, если для любой пары ключей (sk, evk), выданной алгоритмом KeyGen(A), любых t открытых текстов mt и соответствующих им шифртекстов ct ^ Enc(sk, mi) выполняется:

Dec (sk ,Eval(rk, F, c) ) = F (mx,..., mt) .

Обратите внимание, что вышеприведенное синтаксическое определению само по себе разрешает довольно неинтересные гомоморфные криптосхемы. В частности, рассмотрим алгоритм гомоморфного вычисления, который действует как тождественная функция и выдает шифртексты Cj,...,cl, а также описание функции f. Расшифрование восстанавливает сообщения mj,...,mt и выдает f (mj,...,mt) .

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

Определение 3.3 (компактность). Гомоморфная криптосхема s компактна если существует полином ^ = ^(Л) такой, что длина результата Evals(f,Cj,...,cl)не превышает s битов (независимо от f или количества входов).

Другими словами, требуется, чтобы компактность размеров шифртекста после гомоморфного вычисления не зависела бы ни от числа входов l, ни от сложности функции f, но только от размера выхода f. Обратите внимание, что гомоморфная криптосхема (из определения выше) не обязательно компактна.

Мы даем минимальное определение полностью гомоморфного шифрования, которого достаточно для большинства приложений.

Определение 3.4 (полностью гомоморфное шифрование). Криптосхема s полностью гомоморфна если она является как компактной, так и гомоморфной для всех булевых СФЭ.

3.2 Два полезных свойства

Опишем два полезных свойства гомоморфных криптосхем, а именно схемная конфиденциальность (circuit privacy) и многоразовый гомоморфизм (multyhop homomorphism).

В сценарии делегирования вычислений (описанного в разделе 1) использование гомоморфного шифрования защищает конфиденциальность клиента, но не конфиденциальность сервера.

Схемная конфиденциальность - это свойство гомоморфного шифрования, которое гарантирует, что входные данные сервера - а именно, функция / - остаются в секрете от клиента.

В частности, схемная конфиденциальность подразумевает, что результат работы алгоритма Еуа1е(/, с1,..., с1) не раскрывает какой-либо информации об / клиенту, кроме /(т1з...,т{) . Следует отметить, что клиент знает секретный ключ sk, а также вероятностное распределение, используемое для генерации шифртекстов с. Это формализовано в определении на основе моделирования, которое требует, чтобы результат работы алгоритма Еуа1е(/,с1з...,с1) можно было смоделировать используя только /(т1з...,т{) (но не какую-либо другую информацию об /). Был изучен ряд вариантов схемной конфиденциальности для борьбы с нарушителями или получестными клиентами и с ослаблением требования, что клиенту разрешается узнавать некоторую ограниченную информацию о /, например, размер вычислительной схемы /, но ничего больше. Для детального обсуждения схемной конфиденциальности мы отсылаем читателя к [27], [36].

В некоторых случаях полезно, потребовать, чтобы результаты работы алгоритма Еуа1е могли бы быть использованы в качестве входных данных для другого гомоморфного вычисления. Гомоморфная криптосхема с этим свойством называется «многоразово гомоморфная» схема шифрования - понятие, введенное в работе Джентри, Галеви и Вэйкунтанасана [36]. Для детального обсуждения многоразового (итерационный, повторяемый) гомоморфизма и его приложений мы отсылаем читателя к [36].

Криптосхемы, которые мы представляем в этой работе, являются схемно конфиденциальными (или могут быть легко преобразованы в таковые), а также «многоразово гомоморфны», но мы не освещаем подробно эти свойства далее в этой работе.

IV. КРИПТОСХЕМА НА ОСНОВЕ

МАТРИЧНЫХ ПОЛИНОМОВ

Шифры Кренделева предполагали простоту и производительность, однако на деле не оказались ни компактными, ни криптостойкими [37, 38]. Криптосистемы А.Г. Ростовцева показали компактность, но не криптостойкость против атаки на основе известного открытого текста [39].

Все эти криптосистемы построены на основе скалярных полиномов. Что такое полиномы?

Одно из современных формальных определений [40] состоит в том, чтобы определить полиномы как последовательности, состоящие из конечного числа ненулевых элементов. Полиномы можно складывать и умножать, и эти операции для полиномов определены естественно в случае, если их коэффициенты образуют такую алгебраическую структуру как кольцо [40] (причем коммутативность коэффициентов не имеет значения [41]).

Итак, пусть ЪNхМ - кольцо N х N матриц с элементами из кольца Ъ целых чисел по модулю числа р . Рассмотрим множество последовательностей матриц из Ъ р

Р = 0 , А1, А2'---}' Ai е Ъ р ,

таких, что все А г, кроме конечного их числа, равны нулевой матрице. Пусть Ъ Nх1р [ X ] обозначает множество всех таких последовательностей. Если

Р,а еГ1;1 [X], а = {Во,в^,В2,...},вг то определим

Р + а = {А0 + В0, А1 + В1; А2 + В2,...},

Р • а = {Ао • Во, А0В1+А1В0, А0В2-

^N хР

А1В1

А2В0,

} = {С,},

где С =1 г,^Аг •Ву.к = 0Д2,...

р - --г - р'

такой что хотя бы одна координата вектора должна быть обратимой в Ъ . Итого, на выходе алгоритма секретный ключ як ^ {К(X), к} .

• Генерация ключа вычисления.

1) Генерируется матричный полином И'(X) е Ъ р хР [ X ] такой, что deg(R '(X)) < б •Л, к, 2 рхр,i = о,...,deg(R'(X))-1. Тогда ключ вычисления - это вук = {И'(X) • К (X)}.

Можно показать, что при таких определениях

гр хР г

[X] становится кольцом. Элементы этого кольца будем называть матричными полиномами.

Для удобства дальнейшего изложения введем следующие обозначения: 1) я _— Я означает, что я из Я выбирается по равномерному распределению; 2) со, б,у- некоторые заранее установленные константы. Алгоритмы криптосхемы действуют следующим образом.

• Генерация секретного ключа.

1) Генерируется приведенный (т.е. его старший коэффициент - единичная матрица) полином К(X) е ЪNхР[X], такой что deg(K (X)) < со •Л, а его коэффициенты К г ъ N ^, г = 0,...^е§(К (X)) -1.

2) Генерируется вектор к е ЪN , кi

• Зашифрование.

1) Открытому тексту т е Ър сопоставляется

-ж/г тN х!

случ хйная матрица М е Ътакая, что М • к = т • к и М • К^) = К^) • М, т.е. она имеет собственный вектор к при собственном значении т и коммутирует с матричным полиномом К ( X ).

2) Генерируется X) е Ъ1 ^[X], где deg X) < у • X выбирается,

так что deg(R(X)) < deg(R'(X)) - deg(K(X)), И г Ъ N ^, г = 0,...,deg(R (X)).

3) Вычисляется шифртекст С^) = R(X)• К(X) + М .

• Расшифрование.

1) Вычисляется М = С(X)modК(X) .

2) Для обратим ой координаты кi вычисляется т = к:1 (М-к).

• Гомоморфное вычисление.

Сопоставление полиному / (х1з..., X) над т1,...,т{ е Ър полинома у1 (Х1з...,Хг) над соответствующими шифртекстами С1^ осуществляется простой заменой операций над на

ZN х№

_____________ .. ,_______________ _____________ р

[ X ].

Для предотвращения роста степени матричных полиномов после их умножения осуществляется приведение по модулю гк.

Для выданных алгоритмом Епсе шифртекстов с ^ R(X) • К(X) + М алгоритм расшифрования выдает т = к- ((С^ )mod K(X)) • к^ .При сложении с1 + с2 = ( (X) + R 2 (X) ) • К (X) + М1 + М 2 что является правильным шифртек-стом суммы (т1 + т2 )mod2, поскольку (М1 + М2) • к = (т1 + т2) • к. Гомоморфное умножение дает

с1 • с2 = ^ (X) • K(X) • R2 (X) • К^) +

+R1 (X) • K(X) • М2 + М1 • R2 (X) • К^) + М1 • М2 =

= (R1 (X) • К^) • R2 (X) + ^ (X) • М2 + R2 (X) • М1) • K(X) +

+М1 • М 2,

что также является корректным шифртекстом и после расшифрования даёт (т1 •m2)modp, поскольку (М1 •М2>к = М1 • (М2 •к) =

= М1 • (т2 •к) = т2 • (М1 •к) = т1 • т2 •к .

Рассмотрим теперь вопрос о криптостойкости описанной криптосхемы. В статьях [33] и [34] вводятся два новых сложностных предположения относительно матричных полиномов, а именно.

Определение 4.1. (задача нахождения корней матричных полиномов).

Экземпляр (Ы, ё, п) - задачи нахождения корней матричного полинома состоит в том, чтобы по заданному матричному полиному Г( X) степени ё с коэффициентами из матричного кольца ЪЫ*ы ответить на вопрос, есть ли корни у матричного полинома? (распознавательный вариант), и найти эти корни (вычислительный вариант).

Определение 4.2. (задача факторизации матричных полиномов).

Экземпляр (Ы,ё,п,г) -задачи факторизации матричных полиномов состоит в том, чтобы по заданному матричному полиному Г(X) степени ё с коэффициентами из матричного коль-

гы У.Ы

п ответить на вопрос, возможно ли разложение Е( X) = (X) • ?п8Ы (X) такое, что (X)] = г , и если ответ положительный, то найти все такие (X).

Гипотеза 1. Предполагая сложность задач факторизации матричных полиномов, а также нахождения корней матричных полиномов, вышеприведенная криптосхема является семантически крип-тостойкой (СРА-криптостойкой).

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

V. ПРИЛОЖЕНИЯ

Протокол КПИ позволяет клиенту получить интересующую его конфиденциальную информацию из БД, хранящейся на сервере. Предполагается, что клиенту известен индекс нужной ему записи, однако сервер не может распознать, какая именно часть информации стала известна клиенту.

Механизм получения записей из БД может быть представлен так [42]: пусть ё0,ёп, ё е{0,1} -управляющие сигналы, на которые подается номер записи, который нужно извлечь, а х0, х1,..., хп - информационные сигналы (т.е. в нашем случае все записи БД). Тогда для того, чтобы выбрать один из хг, подав 1 в битовом представлении на входы ё0,ё1,...,ёп, нужно вычислить следующую функцию:

У = /(ё0,•••, ёп , x0,•••, х2и ) =

= х0 • ((ё0 е 1)&( ё е 1)&^&( ёп е 1))+ +х1 • (ё0 &(ё е 1)&••• &(ёп е 1)) + +х2 • ((ё0 е 1)& ё &•••&(ds е 1))+•••

• •• + х2П • (ё0 &&•••&).

Отметим, что здесь х1 не обязательно являются битами. Они могут, например, являться элементами некоторого конечного поля ¥ . Поэтому операции {+,•} в формуле - это сложение и умножение по модулю Ч.

Если все х1 зашифрованы с помощью гомоморфной криптосистемы, то / (d0,..., ёп, х0,_, х2„) можно вычислить гомоморфно над шифртекстами. Для этого клиенту достаточно зашифровать индексы ё0,d1,...,ёп нужной ему записи и отправить эти шифровки на сервер. Результат гомоморфного вычисления / над шифровками будет шифровкой запрашиваемого клиентом хг. Ясно, что для того, чтоб все работало корректно, используемая криптосистема должна поддерживать как гомоморфное сложение, так и умножение.

В [42] также можно найти и другие прикладные протоколы запросов к БД, направленные не только на конфиденциальное получение элемента БД по индексу, но также и конфиденциальное получение самих индексов записей, удовлетворяющих некоторым условиям описываемым, например с помощью стандартных SQL-запросов.

Помимо множества сценариев, в которых выгодно хранить все данные в зашифрованном виде и выполнять вычисления на зашифрованных данных, полностью гомоморфное шифрование используется для решения ряда других проблем в области криптографии. Два таких примера - это проблема проверки делегированных вычислений [43], [44], [45], [46] и проблема построения короткого неинтерактивного доказательства с нулевым разглашением [47]. Некоторые приложения ПГШ не требуют его полную мощность - для КПИ достаточно иметь частично гомоморфные крип-тосхемы, способные вычислять простые функции индексации базы данных.

VI. ДАЛЬНЕЙШИЕ НАПРАВЛЕНИЯ

ИССЛЕДОВАНИЯ

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

следование, описывая ряд научных направлений, связанных с ПГШ, и в более общем плане, проблему вычислений на зашифрованных данных.

6.1. Открытые вопросы по производительности

В то время как оригинальная конструкция Джентри рассматривалась как непрактичная, последние конструкции и усилия по осуществлению резко улучшили эффективность полностью гомоморфного шифрования. Начальные попытки реализации оригинальной криптосхемы Джентри и её модификаций [48], [49], [50], [51], казалось бы, ясно показывали неотъемлемые «узкие места» эффективности. Однако последующие реализации использовали последние алгоритмические достижения [26], [52], что привело к асимптотически лучшим системам ПГШ, а также новым алгебраическим методам повышения фактической эффективности этих схем [53], [54], [50].

Распространенной практикой для повышения эффективности в последнее время стало так называемое пакетное шифрование [55].

6.2. Открытые вопросы о криптостойкости

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

Для гомоморфных криптосистем имеют большое значение и другие свойства, влияющие на криптостойкость, такие как т.н. нетолерантность (non-malleability). Гомоморфизм и нетолерантность - противоречащие друг другу свойства криптосхемы. Гомоморфные криптосхемы позволяют всем преобразовывать шифртексты сообщения m в шифртекст f (m) для нетривиальной функции f. Нетолерантное шифрование, с другой стороны, предотвращает именно такого рода вещи - оно требует, чтобы криптоаналитик не мог превратить шифртекст m в шифртекст любого «зависимого» сообщения.

На самом деле, то, что нам нужно, это комбинация обоих свойств, которые избирательно позволяют гомоморфные вычисления. А именно, вычислитель должен иметь возможность гомоморфно вычислить любую функцию из некоторого предопределенного класса FHOM, но она не должна быть в состоянии превратить шифртекст m в шифртекст f (m) для любого f £ FHOM. Таким образом, во-

прос: можем ли мы контролировать то, что в настоящее время (гомоморфно) вычисляется?

Формализация этого понятия оказывается сложнее. Боне, Сэджев и Вотерс [56] предлагают понятие целевой толерантности - кандидат формализация такого требования, - а также устройство такой криптосхемы. Их схема шифрования на основе сильного сложностного предположения «Знания типа показателя», и позволяет итерационно вычислять не более t функций, где t - предварительно задаваемая константа. Улучшение их построения, а также лежащие в основе сложност-ные предположения - важная открытая проблема.

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

А именно, если объявление является актуальным, он мог бы нажать нужную кнопку на нем, а в противном случае он будет игнорировать его. Теперь, если сервер электронной почты прича-стен к этой информации, речь идет о том, нажал пользователь на объявление или нет, появляется возможность использовать это в качестве ограниченного «оракула расшифрования», чтобы взломать криптосхему пользователя и, возможно, даже восстановить его секретный ключ. Такие атаки появляются всякий раз, когда мы вычисляем на зашифрованных данных, так что CCA криптостойкость кажется невозможной. Тем не менее, легко видеть, что криптостойкая против атаки по произвольному шифртексту (CCA2-криптостойкой) гомоморфная криптосхема не может существовать.

Таким образом, нам необходимо соответствующее определение криптостойкости и построения, которые удовлетворяют определению.

Другой важный открытый вопрос относится к криптографическим предположениям, лежащим в основе криптосхем ПГШ. Большинство известных криптосхем ПГШ строятся на основе сложност-ных предположений теории решеток. Насколько сложны криптографические предположения, связанные с матричными полиномами? Можем ли мы

построить ПГШ на других, возможно, теоретико-числовых предположениях - как насчет сложности факторизации или дискретных логарифмов?

6.3. Связь с функциональным шифрованием

Гомоморфные криптосхемы позволяют всем вычислять функции на зашифрованных данных, но вычисляющий не видит никакой информации о результате. Возможно ли построить схему шифрования, при которой пользователь может вычислить / (т) в открытом виде по шифртек-сту сообщения т , но не должен узнать никакой другой информации об т (в том числе промежуточные результаты при вычислении /)? Таким образом, вопрос состоит в следующем: «можно ли управлять тем, что вычисляющий может узнать?» Такая криптосхема под названием «функциональная схема шифрования» была впервые

введена Сахаем и Вотерсом [57] и изучена в ряде работ ([58], [59], [60], [2] и многих других). Хотя эти построения работают на нескольких интересных семействах функций (таких как монотонные формулы и скалярное произведение) построение универсальной криптосхемы функционального шифрования - открытый вопрос.

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

Научные результаты получены при поддержке Российским фондом фундаментальных исследований инициативного научного проекта 15-07-00597 А «Разработка и исследование алгоритмов полностью гомоморфного шифрования».

Литература

1. W. Diffie and M. Hellman, «New directions in cryptography,» IEEE Transactions on Information Theory, vol. IT-22, pp. 644-654, 1976.

2. R. L. Rivest, A. Shamir, and L. M. Adleman, «A method for obtaining digital signatures and public-key cryptosystems (reprint),» Commun. ACM, vol. 26, no. 1, pp. 96-99, 1983.

3. R. Rivest, L. Adleman, and M. Dertouzos, «On data banks and privacy homomorphisms,» in Foundations of Secure Computation. Academic Press, 1978, pp. 169-177.

4. S. Goldwasser and S. Micali, «Probabilistic encryption,» Journal of Computer and System Sciences, vol. 28, no. 2, pp. 270-299, 1984.

5. T. El-Gamal, «A public key cryptosystem and a signature scheme based on discrete logarithms,» in CRYPTO, 1984, pp. 10-18.

6. P. Paillier, «Public-key cryptosystems based on composite degree residuosity classes,» in EUROCRYPT, 1999, pp. 223-238.

7. I. Damgârd and M. Jurik, «A generalisation, a simplification and some applications of Paillier's probabilistic public-key system,» in Public Key Cryptography, 2001, pp. 119-136.

8. M. Ajtai and C. Dwork, «A public-key cryptosystem with worst-case/average-case equivalence,» in STOC, 1997, pp. 284-293.

9. O. Regev, «New lattice-based cryptographic constructions,» J. ACM, vol. 51, no. 6, pp. 899-942, 2004.

10. O. Regev, «On lattices, learning with errors, random linear codes, and cryptography,» in STOC, 2005, pp. 84-93.

11. J. D. Cohen and M. J. Fischer, «A robust and verifiable cryptographically secure election scheme (extended abstract),» in FOCS. IEEE, 1985, pp. 372-382.

12. D. Naccache and J. Stern, «A new public key cryptosystem based on higher residues,» in ACM Conference on Computer and Communications Security, 1998, pp. 59-66.

13. T. Okamoto and S. Uchiyama, «A new public-key cryptosystem as secure as factoring,» in EUROCRYPT, 1998, pp. 308-318.

14. B. Adida, «Helios: Web-based open-audit voting,» in USENIX Security Symposium, 2008, pp. 335-348.

15. C. Peikert and B. Waters, «Lossy trapdoor functions and their applications,» in STOC, 2008, pp. 187-196.

16. D. Boneh, E.-J. Goh, and K. Nissim, «Evaluating 2-DNF formulas on ciphertexts,» in Theory of Cryptography - TCC'05, ser. Lecture Notes in Computer Science, vol. 3378. Springer, 2005, pp. 325-341.

17. C. Gentry, S. Halevi, V. Vaikuntanathan, «A simple BGN-type cryptosystem from LWE,» in EUROCRYPT, 2010, pp. 506-522.

18. T. Sander, A. Young, and M. Yung, «Non-interactive cryptocomputing for NC1,» in FOCS, 1999, pp. 554-567.

19. C. A. Melchor, P. Gaborit, and J. Herranz, «Additively homomorphic encryption with d-operand multiplications,» in CRYPTO, 2010, pp. 138-154.

20. M. Fellows and N. Koblitz, «Combinatorial cryptosystems galore!» Finite Fields: Theory, Applications and Algorithms, pp. 51-61, 1993.

21. E. Kushilevitz and R. Ostrovsky, «Replication is not needed: Single database, computationally-private information retrieval,» in FOCS, 1997, pp. 364-373.

22. B. Chor, E. Kushilevitz, O. Goldreich, and M. Sudan,»Private information retrieval,» J. ACM, vol. 45, no. 6, pp. 965-981, 1998.

23. C. Cachin, S. Micali, and M. Stadler, «Computationally private information retrieval with polylogarithmic communication,» in EUROCRYPT, 1999, pp. 402-414.

24. C. Gentry and Z. Ramzan, «Single-database private information retrieval with constant communication rate,» in ICALP, ser. Lecture Notes in Computer Science, L. Caires, G. F. Italiano, L. Monteiro, C. Palamidessi, and M. Yung, Eds., vol. 3580. Springer, 2005, pp. 803-815.

25. Gentry, «Fully homomorphic encryption using ideal lattices,» in STOC, 2009, pp. 169-178.

26. Brakerski Vaikuntanathan, «Efficient fully homomorphic encryption from (standard) LWE,» in FOCS, 2011, appears in this proceedings. Also available at Cryptology ePrint Archive, Report 2011/344.

27. Y. Ishai and A. Paskin, «Evaluating branching programs on encrypted data,» in TCC, ser. Lecture Notes in Computer Science, S. P. Vadhan, Ed., vol. 4392. Springer, 2007, pp. 575-594.

28. Бабенко, Л. К., Буртыка, Ф. Б., Макаревич, О. Б., Трепачева, А. В. Защищенные вычисления и гомоморфное шифрование. // III Национальный суперкомпьютерный форум (25-27 ноября 2014, г.Переславль-Залесский). ИПС имени А.К. Айламазяна РАН, 2014. URL: http://2014.nscf.ru/TesisAll/4_Systemnoe_i_promezhytochnoe_P0/01_141_ByrtikaFB.pdf

29. Hojsik M., Pulpanova V. A fully homomorphic cryptosystem with approximate perfect secrecy // Topics in Cryptology-CT-RSA 2013. - Springer Berlin Heidelberg, 2013. - С. 375-388.

30. Жиров А. О., Жирова А. О., Кренделев С. Ф. Безопасные облачные вычисления с помощью гомоморфной криптографии // Безопасность информационных технологий. 2013. №. 1. С. 6-12

31. Zhirov A., Zhirova 0., Krendelev S. F. Practical fully homomorphic encryption over polynomial quotient rings //Internet Security (WorldCIS), 2013 World Congress on. - IEEE, 2013. - С. 70-75.

32. Ростовцев А., Богданов А., Михайлов М. Метод безопасного вычисления полинома в недоверенной среде с помощью гомоморфизмов колец // Проблемы информационной безопасности. Компьютерные системы. - 2011. - №. 2. - С. 76-85.

33. Burtyka P., Makarevich 0. Symmetric Fully Homomorphic Encryption Using Decidable Matrix Equations //Proceedings of the 7th International Conference on Security of Information and Networks. - ACM, 2014. - С. 186.

34. Буртыка Ф.Б. Симметричное полностью гомоморфное шифрование с использованием неприводимых матричных полиномов // Известия Южного федерального университета. Технические науки. - 2014. - Т. 158. - №. 9. - С. 107-122.

35. Пилиди В. С. Криптография. Вводные главы. Ростов-на-Дону: ЮФУ. - 2009.

36. C. Gentry, S. Halevi, and V. Vaikuntanathan, «i-hop homomorphic encryption and rerandomizable yao circuits,» in CRYPTO, ser. Lecture Notes in Computer Science, T. Rabin, Ed., vol. 6223. Springer, 2010, pp. 155-172.

37. Trepacheva A., Babenko L. Known plaintexts attack on polynomial based homomorphic encryption //Proceedings of the 7th International Conference on Security of Information and Networks. - ACM, 2014. - С. 157.

38. Trepacheva A. Cryptanalysis of Polynomial based Homomorphic Encryption // Proceedings of the 7th International Conference on Security of Information and Networks. - ACM, 2014. - С. 205.

39. Трепачева А.В. Криптоанализ гомоморфных криптосистем на основе полиномиальных гомоморфизмов // Известия Южного федерального университета. Технические науки. - 2014. - Т. 158. - №. 9. - С. 31-49.

40. Зарисский О., Самюэль П. Коммутативная алгебра. Т.1. /М.: ИИЛ. 1963. 379 с.

41. Вавилов Н. Конкретная теория колец. Основные понятия. URL: http://www.math.spbu.ru/user/valgebra/col121.html

42. Макаревич О. Б., Буртыка Ф. Б. Защищенная облачная база данных с применением гомоморфной криптографии. - Тез. докл. 6-й Росс. мультиконференции «Информационные технологии в управлении»(ИТУ-2014). СПб, 2014. - С. 567-572.

43. S. Goldwasser, Y. T. Kalai, and G. N. Rothblum, «Delegating computation: interactive proofs for muggles,» in STOC, 2008, pp. 113-122

44. R. Gennaro, C. Gentry, and B. Parno, «Non-interactiveverifiable computing: Outsourcing computation to untrusted workers,» in CRYPTO, 2010, pp. 465-482..

45. K.-M. Chung, Y. T. Kalai, and S. P. Vadhan, «Improved delegation of computation using fully homomorphic encryption,» in CRYPTO, 2010, pp. 483-501.

46. B. Applebaum, Y. Ishai, and E. Kushilevitz, «From secrecy to soundness: Efficient verification via secure computation,» in ICALP (1), 2010, pp. 152-163.

47. Gentry C. A fully homomorphic encryption scheme. PhD. - 2009.

48. N. P. Smart and F. Vercauteren, «Fully homomorphic encryption with relatively small key and ciphertext sizes,» in Public Key Cryptography, ser. Lecture Notes in Computer Science, P. Q. Nguyen and D. Pointcheval, Eds., vol. 6056. Springer, 2010, pp. 420-443.

49. C. Gentry and S. Halevi, «Implementing gentry's fully-homomorphic encryption scheme,» in EUROCRYPT, ser. Lecture Notes in Computer Science, K. G. Paterson, Ed., vol. 6632. Springer, 2011, pp. 129-148.

50. N. Smart and F. Vercauteren, «Fully homomorphic SIMD operations,» Cryptology ePrint Archive, Report 2011/133, 2011, http:// eprint.iacr.org/2011/133.

51. J.-S. Coron, A. Mandal, D. Naccache, and M. Tibouchi, «Fully homomorphic encryption over the integers with shorter public keys,» in CRYPTO, 2011, pp. 487-504.

52. Z. Brakerski and V. Vaikuntanathan, « Fully homomorphic encryption from ring-LWE and security for key dependent messages,» in CRYPTO, vol. 6841, 2011, p. 501.

53. K. Lauter, M. Naehrig, and V. Vaikuntanathan, «Can homomorphic encryption be practical?» pre-print available at http://eprint. iacr.org/2011/405.

54. C. Gentry, S. Halevi, and N. Smart, «Personal communication,» 2011.

55. Cheon J. H. et al. Batch Fully Homomorphic Encryption over the Integers //EUROCRYPT. - 2013. - Т. 7881. - С. 315-335.

56. D. Boneh, G. Segev, and B. Waters, «Targeted malleability: Homomorphic encryption for restricted computations,» Cryptology ePrint Archive, Report 2011/311, 2011, http://eprint.iacr.org/2011/311.

57. A. Sahai and B. Waters, «Fuzzy identity-based encryption,» in EUROCRYPT, 2005, pp. 457-473.

58. J. Katz, A. Sahai, and B. Waters, «Predicate encryption supporting disjunctions, polynomial equations, and inner products,» in EUROCRYPT, 2008, pp. 146-162.

59. A. B. Lewko, T. Okamoto, A. Sahai, K. Takashima, and B. Waters, «Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption,» in EUROCRYPT, ser. Lecture Notes in Computer Science, H. Gilbert, Ed., vol. 6110. Springer, 2010, pp. 62-91.

60. S. Agrawal, D. M. Freeman, and V. Vaikuntanathan, «Functional encryption for inner product predicates from learning with errors,» Cryptology ePrint Archive, Report 2011/410, 2011, URL: http://eprint.iacr.org/.

References

1. W. Diffie and M. Hellman, «New directions in cryptography,» IEEE Transactions on Information Theory, vol. IT-22, pp. 644-654, 1976.

2. R. L. Rivest, A. Shamir, and L. M. Adleman, «A method for obtaining digital signatures and public-key cryptosystems (reprint),» Commun. ACM, vol. 26, no. 1, pp. 96-99, 1983.

3. R. Rivest, L. Adleman, and M. Dertouzos, «On data banks and privacy homomorphisms,» in Foundations of Secure Computation. Academic Press, 1978, pp. 169-177.

4. S. Goldwasser and S. Micali, «Probabilistic encryption,» Journal of Computer and System Sciences, vol. 28, no. 2, pp. 270-299, 1984.

5. T. El-Gamal, «A public key cryptosystem and a signature scheme based on discrete logarithms,» in CRYPTO, 1984, pp. 10-18.

6. P. Paillier, «Public-key cryptosystems based on composite degree residuosity classes,» in EUROCRYPT, 1999, pp. 223-238.

7. I. Damgârd and M. Jurik, «A generalisation, a simplification and some applications of Paillier's probabilistic public-key system,» in Public Key Cryptography, 2001, pp. 119-136.

8. M. Ajtai and C. Dwork, «A public-key cryptosystem with worst-case/average-case equivalence,» in STOC, 1997, pp. 284-293.

9. O. Regev, «New lattice-based cryptographic constructions,» J. ACM, vol. 51, no. 6, pp. 899-942, 2004.

10. O. Regev, «On lattices, learning with errors, random linear codes, and cryptography,» in STOC, 2005, pp. 84-93.

11. J. D. Cohen and M. J. Fischer, «A robust and verifiable cryptographically secure election scheme (extended abstract),» in FOCS. IEEE, 1985, pp. 372-382.

12. D. Naccache and J. Stern, «A new public key cryptosystem based on higher residues,» in ACM Conference on Computer and Communications Security, 1998, pp. 59-66.

13. T. Okamoto and S. Uchiyama, «A new public-key cryptosystem as secure as factoring,» in EUROCRYPT, 1998, pp. 308-318.

14. B. Adida, «Helios: Web-based open-audit voting,» in USENIX Security Symposium, 2008, pp. 335-348.

15. C. Peikert and B. Waters, «Lossy trapdoor functions and their applications,» in STOC, 2008, pp. 187-196.

16. D. Boneh, E.-J. Goh, and K. Nissim, «Evaluating 2-DNF formulas on ciphertexts,» in Theory of Cryptography - TCC'05, ser. Lecture Notes in Computer Science, vol. 3378. Springer, 2005, pp. 325-341.

17. C. Gentry, S. Halevi, V. Vaikuntanathan, «A simple BGN-type cryptosystem from LWE,» in EUROCRYPT, 2010, pp. 506-522.

18. T. Sander, A. Young, and M. Yung, «Non-interactive cryptocomputing for NC1,» in FOCS, 1999, pp. 554-567.

19. C. A. Melchor, P. Gaborit, and J. Herranz, «Additively homomorphic encryption with d-operand multiplications,» in CRYPTO, 2010, pp. 138-154.

20. M. Fellows and N. Koblitz, «Combinatorial cryptosystems galore!» Finite Fields: Theory, Applications and Algorithms, pp. 51-61, 1993.

21. E. Kushilevitz and R. Ostrovsky, «Replication is not needed: Single database, computationally-private information retrieval,» in FOCS, 1997, pp. 364-373.

22. B. Chor, E. Kushilevitz, O. Goldreich, and M. Sudan, «Private information retrieval,» J. ACM, vol. 45, no. 6, pp. 965-981, 1998.

23. C. Cachin, S. Micali, and M. Stadler, «Computationally private information retrieval with polylogarithmic communication,» in EUROCRYPT, 1999, pp. 402-414.

24. C. Gentry and Z. Ramzan, «Single-database private information retrieval with constant communication rate,» in ICALP, ser. Lecture Notes in Computer Science, L. Caires, G. F. Italiano, L. Monteiro, C. Palamidessi, and M. Yung, Eds., vol. 3580. Springer, 2005, pp. 803-815.

25. Gentry, «Fully homomorphic encryption using ideal lattices,» in STOC, 2009, pp. 169-178.

26. Z. Brakerski, V. Vaikuntanathan, «Efficient fully homomorphic encryption from (standard) LWE», in FOCS, 2011, appears in this proceedings. Also available at Cryptology ePrint Archive, Report 2011/344.

27. Y. Ishai and A. Paskin, «Evaluating branching programs on encrypted data,» in TCC, ser. Lecture Notes in Computer Science, S. P. Vadhan, Ed., vol. 4392. Springer, 2007, pp. 575-594.

28. L. Babenko, Ph. Burtyka, O. Makarevich, A. Trepacheva. Zawiwennye vychislenija i gomomorfnoe shifrovanie [Secure computing and homomorphic encryption]. III National supercomputer forum. November, 25-27 of 2014. (in Russian).

29. Hojsik M., Pulpânovâ V. A fully homomorphic cryptosystem with approximate perfect secrecy. Proceedings of the 13th international conference on Topics in Cryptology. - Springer-Verlag, 2013. pp. 375-388.

30. O. Zhirov, O. V. Zhirova, and S. F. Krendelev. Bezopasnye oblachnye vychisleniya s pomoshhyu homomorfnoj cryptographii. [Secure cloud computing using homomorphic cryptography]. BIT (bezopasnost' informacionnyx technology) journal [Security of Information Technologies Magazine], 2013, Vol. 1, pp. 6-12. (in Russian).

31. Zhirov A., Zhirova O., Krendelev S. F. Practical fully homomorphic encryption over polynomial quotient rings. Internet Security (WorldCIS), 2013 World Congress on. - IEEE, 2013. pp. 70-75.

32. Rostovtsev A., Bogdanov A., Mikhaylov M. Metod bezopasnogo vychislenija polinoma v nedoverennoj srede s pomowqju gomomorfizmov kolec [Secure evaluation of polynomial using privacy ring homomorphisms]. Problemy informacionnoj bezopasnosti. Kompqjuternye sistemy [Information security issues. Computer systems], 2011. Vol. 2. - pp. 76-85. (in Russian).

33. Ph. Burtyka, O. Makarevich. Symmetric Fully Homomorphic Encryption Using Decidable Matrix Equations. Proceedings of the 7th International Conference on Security of Information and Networks. ACM, 2014, pp. 186-196.

34. F. B. Burtyka. Simmetrichnoe polnost'ju gomomorfnoe shifrovanie s ispol'zovaniem neprivodimyh matrichnyh polinomov [Symmetric fully homomorphic encryption using irreducible matrix polynomials]. Izvestija Juzhnogo federal'nogo universiteta. Tehnicheskie nauki [Proceedings of Southern Federal University. Engineering sciences], 2014, Vol. 158, №. 9, pp. 107-122. (in Russian).

35. V. S. Pilidi. Kriptografija. Vvodnye glavy [Cryptography. Introductory chapters.] Rostov-on-Don: Southern Federal Univesity, 2009. (in Russian).

36. C. Gentry, S. Halevi, and V. Vaikuntanathan, «i-hop homomorphic encryption and rerandomizable Yao circuits,» in CRYPTO, ser. Lecture Notes in Computer Science, T. Rabin, Ed., vol. 6223. Springer, 2010, pp. 155-172.

37. Trepacheva A., Babenko L. Known plaintexts attack on polynomial based homomorphic encryption. Proceedings of the 7th International Conference on Security of Information and Networks. - ACM, 2014. - p. 157.

38. Trepacheva A. Cryptanalysis of Polynomial based Homomorphic Encryption. Proceedings of the 7th International Conference on Security of Information and Networks. - ACM, 2014. - p. 205.

39. Trepacheva A. V. Kriptoanaliz gomomorfnyx kriptosistem na osnove polinomialqnyx gomomorfizmov [Cryptanalisis of

cryptosystems based on polynomial rings homomorphisms]. Izvestija Juzhnogo federal'nogo universiteta. Tehnicheskie nauki [Proceedings of Southern Federal University. Engineering sciences], 2014. - Vol. 158. - №. 9. - pp. 31-49. (in Russian).

40. Zariski O., Samuel P., Cohen I. S. Commutative algebra I. - Springer, 1960. - Vol. 1.

41. Vavilov N. Konkretnaja teorija kolec. Osnovnye ponjatija. [Concrete theory of rings. Basic concepts] Preprint [available online at http://www.math.spbu.ru/user/valgebra/col121.html] (in Russian).

42. O. Makarevich, Ph. Burtyka. Zawiwennaja oblachnaja baza dannyx s primeneniem gomomorfnoj kriptografii [Secure cloud database using homomorphic cryptography]. Proceedings of 6th Russian multiconference «Information Technologies in Control» (ITU-2014). SPb, 2014. - pp. 567-572. (in Russian).

43. S. Goldwasser, Y. T. Kalai, and G. N. Rothblum. «Delegating computation: interactive proofs for muggles,» in STOC, 2008, pp. 113-122

44. R. Gennaro, C. Gentry, and B. Parno, «Non-interactiveverifiable computing: Outsourcing computation to untrusted workers,» in CRYPTO, 2010, pp. 465-482.

45. K.-M. Chung, Y. T. Kalai, and S. P. Vadhan, «Improved delegation of computation using fully homomorphic encryption,» in CRYPTO, 2010, pp. 483-501.

46. B. Applebaum, Y. Ishai, and E. Kushilevitz, «From secrecy to soundness: Efficient verification via secure computation,» in ICALP (1), 2010, pp. 152-163.

47. Gentry C. A fully homomorphic encryption scheme. PhD thesis. - 2009.

48. N. P. Smart and F. Vercauteren, «Fully homomorphic encryption with relatively small key and ciphertext sizes,» in Public Key

Cryptography, ser. Lecture Notes in Computer Science, P. Q. Nguyen and D. Pointcheval, Eds., vol. 6056. Springer, 2010, pp. 420-443.

49. C. Gentry and S. Halevi, «Implementing gentry's fully-homomorphic encryption scheme,» in EUROCRYPT, ser. Lecture Notes in Computer Science, K. G. Paterson, Ed., vol. 6632. Springer, 2011, pp. 129-148.

50. N. Smart and F. Vercauteren, «Fully homomorphic SIMD operations,» Cryptology ePrint Archive, Report 2011/133, 2011, http:// eprint.iacr.org/2011/133.

51. J.-S. Coron, A. Mandal, D. Naccache, and M. Tibouchi, «Fully homomorphic encryption over the integers with shorter public keys,» in CRYPTO, 2011, pp. 487-504.

52. Z. Brakerski and V. Vaikuntanathan, « Fully homomorphic encryption from ring-LWE and security for key dependent messages,» in CRYPTO, vol. 6841, 2011, p. 501.

53. K. Lauter, M. Naehrig, and V. Vaikuntanathan, «Can homomorphic encryption be practical?» [pre-print available at http://eprint. iacr.org/2011/405].

54. C. Gentry, S. Halevi, and N. Smart, «Personal communication,» 2011.

55. Cheon J. H. et al. Batch Fully Homomorphic Encryption over the Integers //EUROCRYPT. - 2013. - T. 7881. - C. 315-335.

56. D. Boneh, G. Segev, and B. Waters, «Targeted malleability: Homomorphic encryption for restricted computations,» Cryptology ePrint Archive, Report 2011/311, 2011, http://eprint.iacr.org/2011/311.

57. A. Sahai and B. Waters, «Fuzzy identity-based encryption,» in EUROCRYPT, 2005, pp. 457-473.

58. J. Katz, A. Sahai, and B. Waters, «Predicate encryption supporting disjunctions, polynomial equations, and inner products,» in EUROCRYPT, 2008, pp. 146-162.

59. A. B. Lewko, T. Okamoto, A. Sahai, K. Takashima, and B. Waters, «Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption,» in EUROCRYPT, ser. Lecture Notes in Computer Science, H. Gilbert, Ed., vol. 6110. Springer, 2010, pp. 62-91.

60. S. Agrawal, D. M. Freeman, and V. Vaikuntanathan, «Functional encryption for inner product predicates from learning with errors,» Cryptology ePrint Archive, Report 2011/410, 2011, http://eprint.iacr.org/.