5. Stehle D., Steinfeld R. Faster fully homomorphic encryption, Advances in Cryptology-ASIACRYPT 2010. Springer Berlin Heidelberg, 2010, pp. 377-394.
6. Gentry C., Halevi S. Implementing gentry's fully-homomorphic encryption scheme, Advances in Cryptology-EUROCRYPT 2011. Springer Berlin Heidelberg, 2011, pp. 129-148.
7. Zhirov A.O., Zhirova O.V., Krendelev S.F. Bezopasnye oblachnye vychisleniya s pomoshch'yu gomomorfnoy kriptografii, Bezopasnost' informatsionnykh tekhnologiy. 2013, Vol. 1, pp. 6-12.
8. Rostovtsev A., Bogdanov A., Mikhaylov M. Secure evaluation of polynomial using privacy ring homomorphisms, IACR Cryptology ePrint Archive, 2011, Vol. 2011, pp. 24.
9. Lidl R., Niderreiter H. Finite Fields (Vol. 20, Encyclopedia of Math. and its Appl.), Englewood Cliffs, NJ: Addison~ lVesley. 1983, pp. 74-85.
10. Klivans A. Factoring polynomials modulo composites. CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE, 1997, No. CMU-CS-97-136.
11. Benjamin A.T., Bennett C.D. The probability of relatively prime polynomials, Mathematics Magazine, 2007, pp. 196-202.
12. Shoup V. NTL: A library for doing number theory, 2001.
Статью рекомендовал к опубликованию д.т.н., профессор Н.И. Витиска.
Трепачева Алина Викторовна - Южный федеральный университет; e-mail: alina1989malina@ya.ru; 347928, г. Таганрог, ул. Чехова, 2; тел.: 89085196604; кафедра БИТ; аспирантка.
Trepacheva Alina Viktorovna - South Federal University; e-mail: alina1989malina@ya.ru; 2, Chehova street, Taganrog, 347928, Russia; phone: +79085196604; postgraduate student.
УДК 004.056.55: 003.26
Ф.Б. Буртыка
СИММЕТРИЧНОЕ ПОЛНОСТЬЮ ГОМОМОРФНОЕ ШИФРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ НЕПРИВОДИМЫХ МАТРИЧНЫХ ПОЛИНОМОВ
Представлена новая симметричная компактная полностью гомоморфная криптос-хема, основанная на использовании матричных полиномов и производящая шифрование в два раунда: сначала открытые тексты, являющиеся элементами кольца вычетов, кодируются в матрицы с помощью секретного вектора к, а затем эти матрицы отображаются в матричные полиномы с использованием секретного неприводимого матричного полинома К(Х) • Расшифрование также происходит в два раунда: сначала осуществляется приведение по модулю К(X), а затем умножение полученной в результате матрицы
на к . Отображение расшифрования является гомоморфизмом колец. Время работы всех алгоритмов криптосхемы зависит полиномиально от параметра защищенности Я • Временные издержки при её использовании для вычисления над зашифрованными данными также полиномиальны от Я • Введение специального ключа перешифрования, зависящего от секретного ключа, позволило добиться того, что при вычислениях над шифровками их размеры всегда остаются ограниченными фиксированным полиномом от Я • При практической реализации возможно эффективное распараллеливание• Проводится анализ крипто-стойкости предложенной криптосхемы относительно атак на основе только шифротек-стов, по известным открытым текстам и на ключ перешифрования• Продемонстрировано то, что все эти атаки могут быть сведены к решению системы полиномиальных уравнений от многих переменных над кольцом вычетов• Рассматривается вопрос о сложности решения этих систем существующими методами•
Полностью гомоморфная криптосхема; матричные полиномы; системы полиномиальных уравнений; атака по известным открытым текстам; защищенные облачные вы-числения•
Ph.B. Burtyka
SYMMETRIC FULLY HOMOMORPHIC ENCRYPTION USING IRREDUCIBLE MATRIX POLYNOMIALS
This paper presents a new symmetric compact fully homomorphic encryption scheme, based on usage of matrix polynomials. Its encryption algorithm proceeds in two steps: at the first step plaintexts
being elements of residue class ring are encoded into matrices using a secret vector к , then these matrices are mapped into matrix polynomials using secret irreducible matrix polynomial K(X) • Decryption also proceeds in two steps: first reduction modulo K(JSf), and then obtained matrix is multiplied
by к • Decryption function is a ring homomorphism• All algorithms of encryption scheme are polynomial in security parameter Я• Time overhead of homomorphic computations using this encryption scheme is also polynomial in Я • Special refresh key that depends on secret key allows keeping sizes of ciphertexts during computations over them within a fixed polynomial in Я bound.• In real life implementation the cryptosystem enables effective parallelization• The paper analyzes the security of the proposed scheme against ciphertext only attack, known plaintext attack and refresh key attack We demonstrate that all this attacks may be reduced to a problem of solving a system of polynomial equations over residue class ring• We discuss whether it is complex to solve it by existing methods•
Fully homomorphic encryption scheme; matrix polynomials; system of polynomial equations; known plaintext attack; secure cloud computings
Введение. В связи с распространением парадигмы облачных вычислений актуальной задачей становится организация гарантированно защищённых конфиденциальных вычислений. Еще Ривест, Эдлман и Дертузо описали [1] несколько основных вариантов решения этой задачи. Один из них, в оригинале называемый гомоморфизмы конфиденциальности (англ. Privacy homomorphisms), предполагал вычисление недоверенным исполнителем (сервером) некоторой функции над шифротекстами без их расшифрования. Однако, авторы концепции не надеялись увидеть работающее решение.
Среди криптосхем, построенных в рамках концепции гомоморфизмов конфиденциальности, можно выделить аддитивно-гомоморфные и мультипликативно гомоморфные. Аддитивно гомоморфные криптосхемы обладают следующим свойством: операция, проводимая над шифротекстами, соответствует сложению открытых текстов. Таковыми являются, например, криптосистема Пэйе [2]. У мультипликативно гомоморфных криптосхем операция, проводимая над шифро-текстами, соответствует умножению открытых текстов. Пример мультипликативно-гомоморфной криптосистемы - RSA [3].
В 2009 г. исследователь из IBM, Крейг Джентри, предложил метод [4], который он назвал полностью гомоморфным шифрованием (англ. Fully homomorphic encryption) или сокращенно ПГШ (англ. вариант - FHE). Криптосхемы ПГШ являются одновременно аддитивно и мультипликативно гомоморфным. Если открытые тексты представляют собой биты, то логические операции AND (логическое умножение) и XOR (логическое сложение) составляют полный по Тьюрингу логический базис, т.е. через эти две операции может быть выражена любая функция1. Также криптосхемы ПГШ по Джентри обязаны обладать свойством компактности, т.е. не должно происходить неограниченного увеличения размеров шифртек-стов в процессе гомоморфных вычислений.
1 Любая булева функция может быть представлена так называемой схемой из функциональных элементов (СФЭ), т.е. в виде некоторого ориентированного графа, вершины которого помечены логическими операциями из базиса, а дуги представляют собой передачу результатов выполненной операции к следующей, при этом вершины, полустепень захода которых равна нулю (т.е. они не являются результатом какой-либо операции в рамках данной схемы), называются входами СФЭ, а вершины, полустепень исхода которых равна нулю, называются выходами СФЭ.
Построение криптосхем ПГШ открывает широкие возможности для безопасного делегирования вычислений. Однако к такому шифрованию предъявляются повышенные требования по криптостойкости. В своей работе Джентри предлагает строить ПГШ в три шага: построение гомоморфной криптосхемы для ограниченных вычислений, оптимизация алгоритма расшифрования, и наконец, применение оригинальной методики самокоррекции шифротекстов (англ. bootstrapping).
Хороший обзор достижений в области гомоморфного шифрования можно найти в работе [5].
Несмотря на большой успех новаторской работы Джентри и непрекращающиеся оптимизации [6-13], на текущий момент нет практически применимых криптосхем ПГШ. В данной статье делается попытка восполнить этот пробел.
Искусство построения криптосхем ПГШ состоит в том, что шифрование должно быть одновременно криптостойким, вычислительно эффективным и компактным. Все известные компактные криптосхемы ПГШ являются криптосхемами с открытым ключом и их криптостойкость основывается на каком-либо сложност-ном предположении. Однако последние исследования [14] показывают ограничения на производительность, присущие криптосхемам ПГШ с открытым ключом.
Некоторые работы, такие как [15], предлагают гомоморфизмы конфиденциальности, являющиеся симметричными криптосистемами. Однако они не могут обеспечить неограниченные гомоморфные вычисления из-за разрастания размеров шифротекстов. В работе [16] предлагается интересное решение этой проблемы: так называемый ключ умножения, который применяется после каждого умножения шифртекстов, чтобы ограничить их размер. Однако, хотя размер шифротек-стов в общем и ограничен, но это ограничение не слишком существенно: оно допускает размеры шифротекста такими, что он может заполнить целиком всю оперативную память обычного настольного компьютера (!) при криптостойкости, позволяющей взломать шифр с помощью этого же компьютера.
Основные результаты. В данной работе предлагается компактная симметричная полностью гомоморфная криптосхема с малыми вычислительными издержками при проведении вычислений над шифротекстами, которая дает возможность простого и эффективного распараллеливания.
Шифротекстами являются полиномы, коэффициентами которых являются матрицы (т.н. матричные полиномы). Секретный ключ состоит из матричного
полинома К(Х) и вектора к . Идея построения криптосхемы достаточно проста: пусть есть m и Ш2 - открытые тексты, тогда шифротекстами будут матричные полиномы C1(X) = R1(X)-K(X) + M1 и С2(Х) = R2(X)-K(X) + M2, такие что Mj -к =щ -к и М2 - к =т2 - к . Для расшифрования нужно сначала взять остаток от деления шифротекста на К(Х), а затем извлечь открытый текст из полученной
матрицы с помощью к . Очевидно, что здесь выполняется аддитивный гомоморфизм. Немного сложнее обеспечить мультипликативный гомоморфизм. Хотя умножению матриц соответствует умножение их собственных значений, но при умножении матричных полиномов происходит рост их степени, поэтому необходимо её понижать. Один из способов сделать это - взятие остатка по модулю фиксированного матричного полинома.
Отметим, что поскольку кольцо матричных полиномов содержит делители нуля, необходимо установить некоторые условия, чтобы обеспечить корректность взятия остатка по модулю матричного полинома. Матричные полиномы и опера-
ции над ними вводятся чисто формально, при этом не все свойства, справедливые для обычных скалярных полиномов, справедливы и для матричных (по причине некоммутативности последних), однако при соблюдении определённых ограничений можно обеспечить выполнение тех свойств, которые необходимы для построения криптосхемы. Например, деление на матричный полином выполняется корректно при условии, что старший коэффициент полинома-делителя является единичной матрицей.
В данной статье теоретические оценки сложности всех алгоритмов даются как функции от некоторого параметра Я , называемого параметром уровня крип-тостойкости. Параметр защищённости Я - это целое число, управляющее соотношением между производительностью и криптостойкостью. Для того чтобы получить более защищённую (стойкую) криптосхему (например, в случае защиты особо ценных медицинских или финансовых облачных хранилищ данных), необходимо увеличить Я . Чем больше Я , тем выше криптостойкость.
Но если необходимо сделать более производительную систему (к примеру, в случае защиты мобильных приложений и сетей), следует взять меньшее Я (однако, тем самым, снижая криптостойкость). Использование такого параметра - распространённая практика при построении криптосхем ПГШ [4].
Общая архитектура предлагаемой организации вычислений и определения. Предлагаемая организация системы защищённых облачных вычислений (рис. 1.) включает двух участников: клиент и сервер. Протокол взаимодействия клиента и сервера выглядит следующим образом: сначала клиент генерирует секретный ключ (с уровнем криптостойкости, учитываемым с помощью параметра Я ), позволяющий зашифровывать и расшифровывать сообщения. Также клиент генерирует некоторую дополнительную информацию (учитывая через параметр Я необходимый уровень криптостойкости), позволяющую ограничивать рост шиф-ртекстов в процессе гомоморфных вычислений, но не позволяющую зашифровывать или расшифровывать. Назовем эту информацию ключом перешифрования. После отправки ключа перешифрования серверу он подготовлен к выполнению основной части работы - проведению гомоморфных вычислений над шифротек-стами и взаимодействию с клиентом.
Формально, гомоморфная криптосхема S представляет собой четвёрку алгоритмов (KeyGens, Encrypte, Decrypt,,, Evaluate ). Вероятностный алгоритм
KeyGen , принимающий на вход параметр уровня криптостойкости Я , и выдает
в качестве результата пару ключей (sk, rk), где sk - секретный ключ, который хранится у клиента, а rk - ключ перешифрования, передаваемый серверу (он позволяет серверу сокращать размер шифртекстов в процессе вычислений, но не позволяет зашифровывать или расшифровывать). Алгоритмы Encrypt е и Decrypt принимают на вход, соответственно, шифртекст или открытый текст вместе с секретным ключом sk. Алгоритм Evaluates принимает на вход СФЭ F , набор шифро-
текстов {mx,...,m), ключ перешифрования rk, и выдает в качестве результата шифртекст с. Вычислительная сложность всех этих алгоритмов должна быть полиномиальна от параметра уровня криптостойкости Я и (в случае алгоритма Evaluate ) количества схемных элементов F , а также они должны удовлетворять приведенным ниже требованиям корректности.
Рис. 1. Предлагаемая организация системы защищенных облачных вычислений.
Определение 1. (Корректность расшифрования после гомоморфного вычисления). Криптосхема s = ( Key Gen, Encrypt, Decrypt, Evaluate) корректна для
СФЭ F , имеющей t входов, если для любой пары ключей (sk, rk), выданной алгоритмом KeyGen(A), любых t открытых текстов щ и соответствующих им шифртекстов с. ^ Encrypt(sk, щ) выполняется:
Decrypt (sk, Evaluate(rk, F, с)) = F(щ,..., щ). Определение 2. Криптосхема s = (KeyGen, Encrypt, Decrypt, Evaluate)
полностью гомоморфна для класса СФЭ, если она корректна для всех СФЭ из этого класса.
Определение 3. Гомоморфная криптосхема называется компактной, если размер шифротекстов, получающихся в результате гомоморфного вычисления произвольной функции f над шифртекстами, не зависит от размера схемы из функциональных элементов, представляющей f, и ограничен полиномом Р(^).
Матричные полиномы. Пусть 1jNp ' - кольцо NxN матриц с элементами из кольца Zp целых чисел по модулю числа р . Рассмотрим множество по-
rffN N
следовательностеи матриц из ¿L :
F = {A0,A1,A2,...},A,eZ^, таких, что все Аг, кроме конечного их числа, равны нулевой матрице. Пусть
[X] обозначает множество всех таких последовательностей. Если С = {В0,В1,В2,...},В;. еХмр м, то определим
F+о = {А + В, А+В, А + В,...},
F • G = {A0 • B0, A0B1 + A1B0, A0B2 + A1B1 + A2B0} = {Ck},
где C = У А. • B ,k = 0,1,2,....
k li+ j=k ' 555
Можно показать, что при таких определениях сложения и умножения множество [X] становится кольцом. Элементы этого кольца будем называть матричными полиномами.
Лемма 1. Матричные полиномы образуют кольцо.
Доказательство. Проверяется непосредственно выполнение свойств кольца. Приведенный матричный полином - это такой полином, у которого коэффициент при старшей степени равен единичной матрице.
Лемма 2. (Корректность деления на приведенный матричный полином). Пусть К(Х) е [X] - приведённый матричный полином. Тогда для каждого
матричного полинома С(Х) е Z"xjV[X] такого, что dcg (К(Х))< dcg ( С '(X)) представление в виде C(X) = Q(X) • K(X) + R(X), где deg(K(X)) > deg(R(X)),
существует и единственно.
Доказательство. Рассмотрим алгоритм деления полинома C(X) на полином
K(X ) «в столбик»:
1. Домножить К(Х) на xdeg(C(X)Heg(K(X)) и на такое AeZ,;v. чтобы
старшие коэффициенты полиномов C(X) и A • K(X) • Xdeg(C(X))-deg(K(X)) стали равными.
2. Вычесть C(X) := C(X) - A • K(X) • Xdeg(C(x))-deg(K(x)).
3. Если deg (K(X)) > deg (C(X)), то алгоритм возвращает в качестве результата текущее C(X ), иначе переход к шагу 1.
Очевидно, что если K(X ) является приведённым полиномом, то шаг 1 всегда может быть выполнен корректно. □
Каждому матричному полиному P(X ) можно естественным образом сопоставить матричное уравнение P(X) = 0. Интересно, что такое матричное уравнение может иметь корней больше, чем его степень [17], а может и не иметь корней совсем. В случае если такое уравнение не имеет корней, соответствующий матричный полином будем называть неприводимым.
Основное построение. Пусть Л е N ( N обозначает множество натуральных чисел) - параметр, обозначающий уровень криптостойкости, Zp - пространство
открытых текстов, Zj \Х\ - пространство шифротекстов, Zj х\Х \/ Zj -пространство секретных ключей, где N = O(Л), p - простое число. Также для нашей криптосхемы кроме секретного ключа нужен так называемый ключ перешифрования rk , который передается серверу для сокращения размеров шифротекстов в процессе вычислений. Он является элементом Z J \Х \.
Для удобства введем следующие обозначения: 1) s <—$— R означает, что s из R выбирается по равномерному распределению; 2) DR а- нормальное распределение над R с математическим ожиданием /и и дисперсией G . Теперь опишем алгоритмы нашей симметричной криптосхемы.
Генерация секретного ключа
1) Генерируется приведенный полином К(Х) е не имеющий корней, такой, что с^(К(Х)) = (МЛ) выбирается по распределению 1)ц и а, /л = О(Л), сг = (МЛ), а его коэффициенты к,. ,г = о,..„ аеЕ(К(Х)) -1.
2) Генерируется вектор к е , /г <—-— Ър такой, что хотя бы одна координата вектора должна быть обратимой в . Итого, на выходе алгоритма секретный ключ вк = {К(Х), к).
Генерация ключа перешифрования. Генерируется приведенный матричный полином И'(X) е ЪырИ[X] такой, что с^(К'(Х)) = О(Л)выбирается по распределению н* = о(Л), сг*=о(Л), я^^Л', / = о,...,с1с»(кчл-))-1. Тогда ключ перешифрования - это полином гк(Х) = К '(X) • К(Х).
Шифрование
1) Открытому тексту т е Ър сопоставляется случайная матрица М е Л , такая, что М■к = т-к и М-К(Х) = К(Х)-М, т.е. она имеет собственный вектор к при собственном значении т и коммутирует с матричным полиномом К(Х) (заметим, что такой выбор всегда возможен, например, в качестве матрицы М можно взять матрицу, кратную единичной).
2) Генерируется ЩХ) е ЪырИ [X], где ск^ Н(Х)=0(Л) выбирается по
/)|Г = ет** = 0(Л), так что с!её(ЩХ)) <с!её(К'(Х)),
К <-*_г£хЛГ,/ = 0.....с1сё(К(А-)).
3) Вычисляется шифртекст С(Х) = ЩХ) • К(Х) + М.
Расшифрование
1) Вычисляется М = С(Х)тос1К(Х).
2) Для обратимой координаты к{ вычисляется т = к/ 1 ^ 1У1 • /с ^.
Гомоморфное вычисление. Сопоставление полиному /(х1,...,х1) над
полинома / (XХ() над соответствующими шифротекетами осуществляется простой заменой операций над на сложение и умножение полиномов в Л| X |. Для предотвращения роста степени матричных полиномов после их умножения осуществляется приведение по модулю гк (X).
Рассмотрим теперь вопрос о корректности построенной криптосхемы, т.е. о соответствии представленных алгоритмов определениям, данным выше.
Лемма 3. Расшифрование вышеописанной криптосхемы корректно и является гомоморфизмом для всех арифметических схем, состоящих из сложений и умножений по модулю р .
Доказательство: 1) Корректность расшифрования. Рассмотрим выражение ((Ы(Х) • К(Х) + М) тос1(К(Х))) • к, соответствующее расшифрованию С(Х) = ЩХ) • К(Х) + М, где в М закодирован открытый текст т . Младший
коэффициент C(X) - это R0 • K0 + M и алгоритм деления многочленов «в столбик» оставляет M при соблюдении порядка деления (при умножении матриц всегда слева или всегда справа). Итак, для любой обратимой координаты ki справедливо (((R(X) • К(Х) + М)modК(Х)) • к) ■ к:1 = т ■
2) Аддитивный и мультипликативный гомоморфизмы. Пусть C (X) = R (X) • K(X) + M и C (X) = R (X) • K(X) + M - два шифротекста, шифрующих m и m соответственно. Их сумма C (X) + C2 (X) = = (R (X) + R (X)) • K(X) + M + M является корректным шифртекстом (шифртек-стом правильного вида) и после расшифрования даёт (Щ + mz) mod р, поскольку (Mj + M2)-k =Mj ■k + M2-k=ml-k + m2-k = {ml+m2)-k .
Произведение шифротекстов
Cj (X) • C2 (X) = Rj (X) • K(X) • R2 (X) • K(X) +
+R (X) • k^^) • M2 + M • R (X) • K(x )+M • M =
= (R (X) • K(X) • R (X) + R (X) • M2 + R (X) • M ) • K(X) + M • M также является корректным шифртекстом и после расшифрования даёт («ij • ) mod p, поскольку
(Mj • M2) • k = Mj • (M2 • k) = Mj • (m2 ■k) = m2 ■ (Mj • k) = щ ■ m2 ■ k .
И наконец осталось заметить, что остаток C(X) по модулю приведённого полинома rk является корректным шифртекстом, шифрующим тот же самый открытый текст m . Действительно, имеем:
C(X) mod rk = (R(X) • K(X) + M) mod(^'(X) • K(X)) =
= R( X) • K(X) + M - P( X) • R'( X) • K( X) = Rnew (X) • K(X) + M, где deg(R_(X) • K(X)+M) < deg(rk). □
Лемма 4. Вышеописанная криптосхема компактна.
Доказательство: Существует полином, который ограничивает степень полинома шифртекста, поскольку deg (R^ (X) • K(X) + M)< deg(rk) = О(Я). Таким
образом, полином шифротекста может быть записан с использованием числа битов, которое выражается полиномом от параметра защищённости Я .□
Вычислительные издержки. Вычисляемая над открытыми текстами арифметическая схема состоит из элементов сложения и умножения по модулю p . При замене каждой такой операции над открытыми текстами на операцию над шифро-текетами происходит увеличение количества операций в Zp. Наибольшее увеличение происходит в случае операции умножения. Поэтому для получения верхней оценки на вычислительные издержки рассмотрим более подробно этот случай.
Сложность умножения матричных полиномов зависит от сложности двух алгоритмов: алгоритма умножения матриц и алгоритма умножения полиномов - умножение двух полиномов состоит в проведении определенного количества операций над матрицами, в свою очередь каждая операция над матрицами требует необходимого количества операций с их элементами.
Алгоритм умножения полиномов, который не требует соблюдения специфических условий (таких как отсутствие делителей нуля), имеет асимптотическую сложность О( d1 5849-) операций над коэффициентами полиномов, где d - наи-
большая из степеней полиномов [18]. Для вычисления последующего приведения произведения по модулю потребуется приблизительно столько же операций. Алгоритм умножения двух N х N матриц имеет асимптотическую сложность O(N2 373 ) элементарных операций [19].
Следовательно, при условии, что N = О(Л) и степени полиномов шифртек-стов равны О(Л), асимптотическая оценка на общее число операций над элементами кольца открытых текстов, необходимых для гомоморфного сложения/умножения « О(Л3 76).
Замечание. Проведенный анализ последних достижений в области построения ПГШ показал, что на данный момент наилучшая оценка на вычислительные издержки при гомоморфном вычислении составляет g(/l) = 0(Л35) [12]. Лучшие
оценки ( g( Л) = ()(Л2) и =0(Л)) получены пока только для схем ПГШ для
ограниченных вычислений [13]. Хотя в вышеописанной криптосхеме вычислительные издержки приблизительно такие же, как в работе [12], она имеет существенное преимущество: для ускорения работы криптосистемы можно естественно использовать всевозможные методы распараллеливания операций над матрицами [20].
Анализ криптостойкости полученного шифрования. Для анализа крипто-стойкости сначала необходимо определить размер пространства ключей, поскольку если он будет небольшой, то такую криптосхему будет легко взломать полным перебором. В нашем случае секретными ключами являются примитивные матричные полиномы, имеющие нетривиальный коммутант. Несложно видеть, что общее количество примитивных матричных полиномов как функция имеет экспоненциальную зависимость от степени матричного полинома и от размерности используемых матриц, а компьютерные эксперименты показали, что и количество примитивных матричных полиномов с нетривиальным коммутантом также экспоненциально.
Атака на ключ перешифрования. Специфичной для нашей матричной крип-тосхемы является атака на ключ перешифрования. Этот ключ содержит в себе в неявном виде информацию о секретном ключе расшифрования, поэтому может стать слабым местом криптосхемы. Необходимо показать, чтоб раскрытие секретного ключа по ключу перешифрования эквивалентно решению некоторой известной сложной NP-полной задачи [21]. В данном случае, очевидно, что раскрытие sk по rk эквивалентно решению о факторизации матричных полиномов.
Определение 4. (Задача факторизации матричных полиномов).
Экземпляр (N, d, p, r ) -задачи факторизации матричных полиномов состоит
в том, чтобы по заданному матричному полиному 1>(Х) степени d с коэффициентами из Л, ответить на вопрос «возможно ли разложение F(X) = Ffe/( (X) • Fright (X), так°е что deg (F^, (X)) = г и если ответ п°ложи-тельный, то найти все такие Fri ы (X).
Для анализа сложности задачи факторизации матричных полиномов сведем её к задаче поиска решений некоторой системы полиномиальных уравнений над Хр ■
Лемма 5. Задача (N, d, p, r) поиска факторизации матричных полиномов
эквивалентна решению системы из r • N2 алгебраических уравнений от
(r +1) • N2 переменных.
Доказательство. Пусть С(Х) = К(Х) • К(Х), deg (С(Х)) = ё, и мы ищем такое К(Х), что deg(К(Х)) = г. Тогда СЛ • Xй + СЛ_х • Xй—1 +... + С • X + С0 =
= • +...+^ • X+К0) • (К г • X- + К — • X"-1 +...+К1 • X+К0).
Запишем формальные выражения для коэффициентов произведения в соответствии с формулами (1) формального определения операций. Получим систему матричных уравнений следующего вида:
Cd — R d-
• K„
Cd-1 - Rd-r • Kr-1 + Rd-r-1 • Kr
Cd-2 — Rd-r
K r-2 + R d-r-1 • K r-1 + Rd
•K
С1 = ^ • К1 + R1 • К0' Со = ^ •К0.
В ней можно перенести в правую часть первых ё — г +1 уравнений неизвестные коэффициенты ^:
'Сё • К—1 = Rё—^,
(Сё—1 — Rё—г •К"—1) •К -1 = ^—1'
" (Сё—2 — ^ — г • К"—2 — Rё — г—1 • Кг—1 ) • К — 1 = ^ — г —2 '
(Cr - R1 • Kr-1 -... - R
• К ) • К—1 = к
шах(г,ё — г) ""шах(0,2г—ё У г ""0'
а затем выразить в каждом уравнении Я. через ^ (более старшие, уже выраженные коэффициенты), т.е.
(Сё—1 — R ё—г • К"—1) • К—1 = R ё—г—1 ^ (Сё—1 — (Сё • К—1) • К г—1) • К—1 = Rё—г—1
(Сё—2 — Rё—г • К г—2 + Rё—г—1 • Кг—1) • К — 1 = Rё—г—2 ^
^ (Сё—2 — (Сё • К—1) • Кг—2 + (Сё—1 — (Сё • К—1) • Кг—1) • К—1 • Кг—1) • К—1 = Rё—г—2
и т.д. В результате все R будут выражены в виде полиномов от неизвестных К
1 ]
и известных матриц Са,...,С• Если затем подставить эти выражения для ^ в уравнения для г младших коэффициентов С^), то получится г матричных уравнений относительно г+1 матричных неизвестных К, К,..., Кг •
Полученную систему матричных уравнений можно преобразовать, пользуясь законом умножения матриц, в систему из Г • И2 скалярных алгебраических уравнений над Ъ р от (г +1) • Л^2 переменных. Согласно правилу умножения матриц
общее количество различных мономов в системе будет значительно превосходить
ё —2
величину, равную ^ N .□
1=0
Замечание. Лемма 5 применима не только для матричных, но и для любых полиномов, однако для полиномов над конечными полями существуют другие, эффективные алгоритмы факторизации, использующие отсутствие делителей нуля.
r
Лемма 5 означает, что атака на ключ перешифрования гк^) = R '(X) • К^) сводится к решению с1-2 системы полиномиальных уравнений (СПУ), соответствующих с!-2 гипотезам о степени ключа. Известно, что, в общем, решение СПУ над
является трудной задачей. Тем не менее, также известно, что существуют классы системы полиномиальных уравнений, которые можно легко решить. В данной работе мы пока что не даем строгого доказательства того, что полученные в результате криптоанализа системы уравнений являются гарантированно сложными для решения экземплярами. Однако ниже мы проводим анализ того, насколько эти системы могут быть сложны для решения некоторыми стандартными методами.
a) Базисы Грёбнера. Уже при небольшом N (приблизительно N > 6) количество переменных (г +1) • N2 становится значительным и решение каждой такой системы с помощью базисов Грёбнера [22] становится неэффективным.
b) Линеаризация. Проанализируем теперь возможность решения данной системы с помощью метода линеаризации [22]. В предположении, что
d = deg(C) = О(Л), N = 0(Л), количество уравнений (г +1) • N2 ограничено сверху величиной 0(ЛЛ). В свою очередь число различных мономов в системе
ё—2 Nd— — 1
ограничено снизу величиной 5 ^ =-« О(ЛЛ). Выбрав даже достаточно
" N—1 ' '
небольшое Л > 16, можно добиться того, что применение метода линеаризации не
будет эффективным, поскольку разрыв между количеством мономов и уравнений
будет значительным. Например, при Л= 16 уравнений будет < 212, а мономов
> 232. Тогда после решения линеаризованной системы нужно будет опробовать на
^ 020
роль решения исходной системы > 2 векторов, что уже значительно.
c) ХЬ метод. Применение XL метода в данном случае также не будет эффективным уже при Л > 16 . Действительно, при Л = 16 в исходной линеаризованной системе будет > 232 переменных. После преобразования системы XL методом переменных станет еще больше, а также число уравнений возрастет до
количества > 232. Решение получившейся СЛАУ в итоге займет больше, чем 296 арифметических операций.
Атака на основе шифртекстов. По данной в открытом виде матрице М е легко найти её собственные значения и собственные векторы. Однако
если дан шифротекст вида С^) = R(X) • К^) + М, то его свободный коэффициент не раскрывает информацию о спектре матрицы М, поскольку С = ^ • К + М, где Н0 - равномерно случайная матрица.
Предположим, что криптоаналитик перехватил последовательность шифро-текстов (С, (X)}=1. Сделав предположение о степени секретного ключа г = deg(K(X)), он может записать систему матричных уравнений вида
С (X) = R,. (X) • К( X) + М,.,
-К( X) • м,. = м • к^ ), (2)
гк (X) = R'(X) • К( X). относительно матричных неизвестных
(К,г (М,(да,)у), да'у^еТ0.
Поступая таким же образом, как было описано в лемме 5, для каждого С(Х) и можно выразить неизвестные {(К.К) через (К.}г=0, используя
старшие deg(CJ (Х)) - г коэффициентов Ci (Х). Затем, подставляя полученные выражения в уравнения для г младших коэффициентов,
(С)г-1 = )о • Кг-1 + ••• + (К1 )шах(г-и-г} • Ктп(о,2г^-1},
(С,. )1 = (К )о • К1 + (К. )1 • к о,
(С,. )о = (К, )о • к о + М, •
криптоаналитик получит г матричных уравнений относительно г + 2 неизвестных (К и М;. Аналогично для гк(Х) можно получить г уравнений от неизвестных (К .
Собрав все вместе, криптоаналитик получит систему из г • I + г + t матричных уравнений от г +1 +1 неизвестных (К - }.=0 и (М; К=1 . Воспользовавшись правилом умножения матриц, криптоаналитик получит соответствующую ей систему из N2 • (г • t + г +1) скалярных полиномиальных уравнений от N2 • (г +1) неизвестных.
Ясно, что так же, как и в случае атаки на ключ перешифрования, при небольшом N количество переменных становится значительным. Тогда решение системы с помощью базисов Грёбнера становится неэффективным.
Теперь рассмотрим применимость линеаризации. Предположим, как и ранее, что deg(CI) = О(Л), deg(rk) = О(Л), N = О(Л). А также будем считать, что
t = О(Л5), 5 «Л (это стандартное предположение при криптоанализе). В этом случае количество уравнений в системе ограничено сверху величиной О(Л(), (3 = 5 + 3, (3 << Л. Нижняя же оценка (недостижимая) на количество различных мономов будет следующей:
max{deg(C, ),гк}-2
t • N2 + ^ N « О(ЛЛ).
,=о
Ясно, что при таких условиях решение системы методом линеаризации будет неэффективным при Л > 16 (по тем же соображениям, что и выше).
Рассмотрим случай, когда (3 « Л. Количества уравнений и переменных в линеаризованной системе могут оказаться близкими, однако размеры системы окажутся слишком большими. В частности, при Л > 8 придется решать линеаризованную систему уравнений из 224 уравнений от более чем 224 неизвестных. Это уже является трудной задачей.
По аналогичным соображениям применение ХЬ метода также не будет эффективным.
Замечание. Криптоаналитик не знает степень ключа, поэтому он вынужден перебирать г и для каждого г е {2,min{deg(CI),deg(rk)} — 1} составлять и решать полиномиальную систему.
Атака по известным открытым текстам. Предположим криптоаналитик перехватил пары (шифртекст, открытый текст) - {С.(Х),тг}\=1 . Тогда к системе
(2) добавятся соотношения вида М; • к = /н •/(,/ = 1, /. В скалярном виде каждое из них может быть переписано как
' N
X (M )и • k = k • m'
i=1
N
X (M-)2,i • k = k • m,
' l=1
N
X (M-)n,i • ki = kN • m.
. i=1
Полученные N • t уравнений необходимо добавить к N2 • (г • t + г +1) уравнениям, которые были получены при анализе по шифртекстам. Количество неизвестных теперь будет равным N2 • (г +1) + N. А количество мономов будет огра-
max{deg(C- ),rk}—2
ничено снизу величиной 2 • t • N2 + X, N- . Рассуждая так же,
i=0
как и раньше, можно прийти к выводу, что методы линеаризации, XL и вычисления базисов Грёбнера окажутся неэффективными при решении полиномиальной системы, составленной относительно коэффициентов ключа.
Экспериментальная программная реализация криптосхемы. С целью экспериментальной оценки производительности описанной криптосхемы были реализованы программные блоки операций с матричными полиномами, а также некоторый «тестовый» вариант самой криптосхемы.
В таблице представлены замеры времени работы алгоритмов на компьютере с процессором Quad Core Celeron 1.7 ГГц и 4 Гб оперативной памяти.
Таблица 1
Производительность алгоритмов криптосхемы
Значение Л KeyGen Encrypt Умножение с приведением по модулю Decrypt
8 19 мс 2 мс 6 мс 22 мс
12 830 мс 100 мс 25 мс 51 мс
16 50 с 4 с 96 мс 64 мс
24 2 мин 12 сек 619 мс 160 мс
32 6 мин 14 сек 2 сек 352 мс
48 16 мин 2 мин 8 сек 1.5 сек
64 56 мин 5 мин 1 мин 4 сек
Заключение. Была предложена компактная симметричная схема шифрования, основанная на матричных полиномах. Временные издержки данной схемы
при гомоморфном вычислении составляют «0(Л,3'76), что немного превышает
полученную в работе [12] оценку » 0(Л3 5). Однако, в отличие от криптосхемы из работы [12], действия с представленной матричной криптосистемой могут быть очень легко и эффективно распараллелены, поскольку основными действиями в ней являются сложение и умножение матриц. В частности, при наличии достаточного количества процессоров гомоморфное сложение шифртекстов может быть осуществлено за то же время, что и сложение открытых текстов.
Также были проанализированы возможные атаки на матричную криптосистему. Было показано, что криптоанализ по ключу перешифрования, по шифртек-стам и по известным открытым текстам описанной матричной криптосистемы может быть сведен к решению систем полиномиальных уравнений. Надлежащий вы-
бор параметра Л может сделать эти системы сложными для решения классическим XL методом, а также методами линеаризации, вычисления базисов Грёбнера. В дальнейшем планируется более подробно исследовать получаемые при криптоанализе системы уравнений, в частности, возможность решения методом треугольной декомпозиции [23].
Также планируется разработать полноценную оптимизированную реализацию матричной криптосхемы (в том числе и параллельную версию). Ожидается, что предложенная криптосхема ПГШ значительно превзойдёт по производительности известные на сегодняшний день полностью гомоморфные криптосхемы.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Rivest R.L., Adleman L., Dertouzos M. L. On data banks and privacy homomorphisms // Foundations of secure computation. - 1978. - Vol. 4, № 11. - P. 169-180.
2. Paillier P. Public-key cryptosystems based on composite degree residuosity classes // Advances in cryptology-EUROCRYPT'99. - Springer Berlin Heidelberg, 1999. - P. 223-238.
3. Rivest R. L., Shamir A., Adleman L. A method for obtaining digital signatures and public-key cryptosystems // Communications of the ACM. - 1983. - Vol. 26, No. 1. - P. 96-99.
4. Gentry C. Fully homomorphic encryption using ideal lattices // STOC. - 2009. - Vol. 9.
- P. 169-178.
5. Vaikuntanathan V. Computing blindfolded: New developments in fully homomorphic encryption // Foundations of Computer Science (FOCS), 2011 IEEE 52nd Annual Symposium on IEEE.
- 2011. - P. 5-16.
6. Gentry C., Halevi S. Fully homomorphic encryption without squashing using depth-3 arithmetic circuits // Foundations of Computer Science (FOCS), 2011 IEEE 52nd Annual Symposium on IEEE, 2011. - P. 107-109.
7. Jing-Li H., Ming Y., Zhao-Li W. Fully homomorphic encryption scheme extended to large message space // Instrumentation, Measurement, Computer, Communication and Control, International Conference on IEEE, 2011. - P. 533-536.
8. Alperin-Sheriff J., Peikert C. Practical bootstrapping in quasilinear time // Advances in Cryptol-ogy-CRYPTO 2013. - Springer Berlin Heidelberg, 2013. - P. 1-20.
9. Alperin-Sheriff J., Peikert C. Faster Bootstrapping with Polynomial Error // IACR Cryptology ePrint Archive. - 2014. - Vol. 2014. - P. 94.
10. Orsini E., van de Pol J., Smart N.P. Bootstrapping BGV Ciphertexts With A Wider Choice of p and q.
11. Smart N.P., Vercauteren F. Fully homomorphic SIMD operations // Designs, codes and cryptography. - 2014. - Vol. 71, No. 1. - P. 57-81.
12. Stehle D., Steinfeld R. Faster fully homomorphic encryption // Advances in Cryptology-ASIACRYPT 2010. - Springer Berlin Heidelberg, 2010. - P. 377-394.
13. Brakerski Z., Gentry C., Vaikuntanathan V. (Leveled) fully homomorphic encryption without bootstrapping // Proceedings of the 3rd Innovations in Theoretical Computer Science Conference. - ACM, 2012. - P. 309-325.
14. Bogdanov A., Lee C. H. Limits of provable security for homomorphic encryption // Advances in Cryptology-CRYPTO 2013. - Springer Berlin Heidelberg, 2013. - P. 111-128.
15. Domingo-Ferrer J. A Provably Secure Additive and Multiplicative Privacy Homomorphism // Information Security. - Springer Berlin Heidelberg, 2002. - P. 471-483.
16. Hojsik M., PUlpanova V. A fully homomorphic cryptosystem with approximate perfect secrecy // Topics in Cryptology-CT-RSA 2013. - Springer Berlin Heidelberg, 2013. - P. 375-388.
17. Гельфанд С.И. О числе решений квадратного уравнения // Издание осуществлено при поддержке РФФИ (издательский проект № 01-01-14022). - 2004. - С. 124.
18. Кнут Д. Искусство программирования. Т. 2. Получисленные алгоритмы. - СПб.: Вильямс, 2007. - 788 с.
19. Williams V.V. Multiplying matrices faster than Coppersmith-Winograd // Proceedings of the forty-fourth annual ACM symposium on Theory of computing. - ACM, 2012. - P. 887-898.
20. Olsson R.A., Keen A.W. Parallel Matrix Multiplication // The JR Programming Language: Concurrent Programming in an Extended Java. - 2004. - P. 211-225.
21. Schaefer T.J. The complexity of satisfiability problems // Proceedings of the tenth annual ACM symposium on Theory of computing. - ACM, 1978. - P. 216-226.
22. Bard G. Algebraic cryptanalysis. - Springer, 2009.
23. Gao X. S., Huang Z. Characteristic set algorithms for equation solving in finite fields // Journal of Symbolic Computation. - 2012. - Vol. 47, No. 6. - P. 655-679.
REFERENCES
1. Rivest R.L., Adleman L., Dertouzos M. L. On data banks and privacy homomorphisms, Foundations of secure computation, 1978, Vol. 4, № 11, pp. 169-180.
2. PaillierP. Public-key cryptosystems based on composite degree residuosity classes, Advances in cryptology-EUROCRYPT'99. Springer Berlin Heidelberg, 1999, pp. 223-238.
3. Rivest R. L., Shamir A., Adleman L. A method for obtaining digital signatures and public-key cryptosystems, Communications of the ACM, 1983, Vol. 26, No. 1, pp. 96-99.
4. Gentry C. Fully homomorphic encryption using ideal lattices, STOC, 2009, Vol. 9, pp. 169-178.
5. Vaikuntanathan V. Computing blindfolded: New developments in fully homomorphic encryption, Foundations of Computer Science (FOCS), 2011 IEEE 52nd Annual Symposium on IEEE, 2011, pp. 5-16.
6. Gentry C., Halevi S. Fully homomorphic encryption without squashing using depth-3 arithmetic circuits, Foundations of Computer Science (FOCS), 2011 IEEE 52nd Annual Symposium on IEEE, 2011, pp. 107-109.
7. Jing-Li H., Ming Y., Zhao-Li W. Fully homomorphic encryption scheme extended to large message space, Instrumentation, Measurement, Computer, Communication and Control, International Conference on IEEE, 2011. pp. 533-536.
8. Alperin-Sheriff J., Peikert C. Practical bootstrapping in quasilinear time, Advances in Cryptolo-gy-CRYPTO 2013. Springer Berlin Heidelberg, 2013, pp. 1-20.
9. Alperin-Sheriff J., Peikert C. Faster Bootstrapping with Polynomial Error, IACR Cryptology ePrint Archive, 2014, Vol. 2014, pp. 94.
10. Orsini E., van de Pol J., Smart N.P. Bootstrapping BGV Ciphertexts With A Wider Choice of p and q.
11. Smart N.P., Vercauteren F. Fully homomorphic SIMD operations, Designs, codes and cryptography, 2014, Vol. 71, No. 1, pp. 57-81.
12. Stehlé D., Steinfeld R. Faster fully homomorphic encryption, Advances in Cryptology-ASIACRYPT 2010. Springer Berlin Heidelberg, 2010, pp. 377-394.
13. Brakerski Z., Gentry C., Vaikuntanathan V. (Leveled) fully homomorphic encryption without bootstrapping, Proceedings of the 3rd Innovations in Theoretical Computer Science Conference. ACM, 2012, pp. 309-325.
14. Bogdanov A., Lee C. H. Limits of provable security for homomorphic encryption, Advances in Cryptology-CRYPTO 2013. Springer Berlin Heidelberg, 2013, pp. 111-128.
15. Domingo-Ferrer J. A Provably Secure Additive and Multiplicative Privacy Homomorphism, Information Security. Springer Berlin Heidelberg, 2002, pp. 471-483.
16. HojsikM., Pûlpànovà V. A fully homomorphic cryptosystem with approximate perfect secrecy, Topics in Cryptology-CT-RSA 2013. Springer Berlin Heidelberg, 2013, pp. 375-388.
17. Gel'fand S.I. O chisle resheniy kvadratnogo uravneniya [The number of solutions of a quadratic equation], Izdanie osushchestvleno pri podderzhke RFFI (izdatel'skiy proekt № 01-01-14022). 2004, pp. 124.
18. KnutD. Iskusstvo programmirovaniya [The art of computer programming]. T. 2. Poluchislennye algoritmy [Poluchyennyye algorithms]. St. Petersburg: Vil'yams, 2007, 788 p.
19. Williams V.V. Multiplying matrices faster than Coppersmith-Winograd, Proceedings of the forty-fourth annual ACM symposium on Theory of computing. ACM, 2012, pp. 887-898.
20. Olsson R.A., Keen A.W. Parallel Matrix Multiplication, The JR Programming Language: Concurrent Programming in an Extended Java. 2004, pp. 211-225.
21. Schaefer T.J. The complexity of satisfiability problems, Proceedings of the tenth annual ACM symposium on Theory of computing. ACM, 1978, pp. 216-226.
22. Bard G. Algebraic cryptanalysis. Springer, 2009.
23. Gao X.S., Huang Z. Characteristic set algorithms for equation solving in finite fields, Journal of Symbolic Computation, 2012, Vol. 47, No. 6, pp. 655-679.
Статью рекомендовал к опубликованию д.т.н., профессор Я.Е. Ромм.
Буртыка Филипп Борисович - Южный федеральный университет; e-mail: bbfilipp@ya.ru; 347928, г. Таганрог, ул. Чехова, 2, корпус "И"; тел.: +79081948371; кафедра безопасности информационных технологий; аспирант.
Burtyka Philipp Borisovich - Southern Federal University; e-mail: bbfilipp@ya.ru; Block "I", 2, Chekhov street, Taganrog, 347928, Russia; phone: +79081948371; the department of information technologies security; postgraduate student.