Криптоанализ шифров, основанных на гомоморфизмах полиномиальных колец

10. Plenkin A.P., Rumyantsev K.E. Stend dlya nauchnykh issledovaniy kvantovo-kriptograficheskoy sistemy [Stand for scientific research of quantum-cryptographic systems], Sovremennye tendentsii v obrazovanii i nauke: Sb. nauch. tr. po materialam Mezhdunarodnoy nauch.-prakt. konferentsii 31 oktyabrya 2013 g.: V 26 ch. Ch. 2 [Sat. scientific papers on materials of the International scientific-practical conference on October 31, 2013: In 26 parts. Part 2. Tambov: Izd-vo TROO «Biznes-Nauka-Obshchestvo», 2013, pp. 108-111.

11. Gorbunov A.V., Mamaev A.V., Rumyantsev K.E., Panyushkin S.A. Razrabotka kvantovo-kriptograficheskoy sistemy na baze apparatnoy platformy inostrannogo proizvodstva [The development of a quantum-cryptographic system based on the hardware platform of foreign production], Materialy chetvertoy Vserossiyskoy konferentsii po volokonnoy optike «VKVO-2013» (g. Perm', 16-19 oktyabrya 2013 goda) [The materials of the fourth all-Russian conference on fiber optics "wcwo-2013" (, Perm, 16-19 October 2013)]. Perm': Foton-ekspress, 2013, No. 6 (110), pp. 84-85.

Статью рекомендовал к опубликованию д.т.н., профессор Д.А. Безуглов.

Румянцев Константин Евгеньевич - Южный федеральный университет; e-mail: rke2004@mail.ru; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: 89281827209; кафедра информационной безопасности телекоммуникационных систем; зав. кафедрой; д.т.н.; профессор.

Плёнкин Антон Павлович - e-mail: pljonkin@mail.ru; тел.: 89054592158; кафедра информационной безопасности телекоммуникационных систем; аспирант.

Rumyatsev Konstantin Evgen'evich - Southern Federal University; e-mail: rke2004@mail.ru; 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +79281827209; the department of information security of telecommunication systems; head of department; dr. of eng. sc.; professor.

Pljonkin Anton Pavlovich - e-mail: pljonkin@mail.ru; phone: +79054592158; the department of information security of telecommunication systems; postgraduate student.

УДК 003.26.09

А.В. Трепачева

КРИПТОАНАЛИЗ ШИФРОВ, ОСНОВАННЫХ НА ГОМОМОРФИЗМАХ ПОЛИНОМИАЛЬНЫХ КОЛЕЦ

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

открытый текст) в случае, когда пространство открытых текстов - конечное поле Ц7 .

ч

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

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

Атака по известным открытым текстам; гомоморфное шифрование; облачные вычисления; полиномы.

A.V. Trepacheva

CRYPYOANALYSIS OF CRYPTOSYTEMS BASED ON POLYNOMIAL RING

HOMOMORHISMS

In this paper we analyze security issues of some symmetric homomorphic cryptosystems that are based on polynomial ring homomorphisms. We propose a method to recover a secret key of cryptosystem for plaintext space being a finite field ]F if several pairs (ciphertext, plaintext) were

intercepted. For small values of q this method allows to find a correct key with probability «1, if the number ofpairs is at least five. For large q two pairs are enough. We discuss how this method can be adapted for plaintext space being a set of integers modulo n, where n is a composite number. Also a method to correct the value of secret key computed using pairs (ciphertext, plaintexts) is discussed. It's important for the case when the number ofpairs is less than five. This method requires knowledge of probabilistic distribution over plaintext space and the presence of additional ciphertexts sequence encrypted on the same key. The method is successful with probability close to 1 , if the distribution over plaintext space is not too close to uniform (for example, normal distribution with moderate dispersion).

Known plaintext attack; homomorphic encryption; cloud computations; polynomials.

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

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

В связи с этим в работах [7] и [8] были предложены симметричные ПГСШ, являющиеся концептуально простыми и более практичными. Криптосхемы из [7] и [8] объединяет то, что они используют гомоморфизм колец R[х] ^ R, осуществляемый подстановкой некоторого секретного значения t G R в f{x) е /^[л] (гомоморфизм вычисления). Здесь R = Z (кольцо целых чисел) или R = (кольцо целых чисел по модулю m), R[х] - кольцо многочленов от переменной X с коэффициентами из R.

Стандартным требованием к защищенности гомоморфной криптосхемы является стойкость к атаке по выбранным открытым текстам. Криптостойкость криптосхем из [7], [8] относительно этой атаки не была оценена в полной мере. Поэтому целью данной работы является проанализировать вопрос о том, насколько в действительности они защищены против неё. Отметим, что здесь пока что будет рассмотрен только случай, когда R = Z

1. Описание криптосистем. Кратко напомним устройство криптосхемы из [7]. Пространство открытых текстов M - это кольцо R, пространство шифротек-стов C и пространство ключей K вложены в R[х]. Для зашифрования m е M

кодируется в случайный полином г(х) = m + f\  x +... + гп  х", где Г ——$— R, i = 1,...,n (эта запись означает, что r. сгенерированы по равномерному распределению над R ). Шифртекст c(x) вычисляется как композиция полиномов c(x) = r(k(x)), где k(x) - секретный ключ. Поскольку справедливо c(x) = m + r • k(x) +... + r " (k(x))n, то расшифрование может быть вычислено как c(x0 ), где x - некоторый корень k(x). Также расшифровать можно, вычислив c(x)modk(x), так как c(x) = m + r(x) • k(x), r(x) = r + r2 • k(x)... + rn • (k(x))n~l.

Ясно, что если есть шифротексты c(x) = п (k(x)) и c(x) = r (k(x)), шифрующие m и m, то выполняется c (x) = c (x) + c2 (x) = (r + r2 )(k(x)) и

c (x) = c (x) • c2 (x) = (r • r )(k(x)) . Тогда расшифрование c+ (x) даст щ + m2, а расшифрование c„ (x) - щ • щ.

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

Данное ограничение было устранено в [8] за счет того, что в качестве пространства шифртекстов C было выбрано факторкольцо R[x] / ( f (x)), где f (x) -

многочлен, кратный k (x). Шифрование в [8] вычисляется как c(x) = m + r(x) • k (x) (т.е. шифрование [7] является частным случаем шифрования [8]). После умножения шифртексты приводятся по модулю f (x), что очевидно не нарушает корректность последующего расшифрования, поскольку /(х) = к(х)  г'(х)  Для R = Z и R = Zp (где р - простое число) опубликование

f (x) является недопустимым, поскольку f (x) можно легко факторизовать на неприводимые сомножители [9] и, следовательно, найти ключ. Поэтому в [8] предлагается использовать R = Wa , где П - трудное для факторизации число (RSA

модуль), поскольку факторизация многочленов в Z [х] требует знания разложения п [10].

2. Атаки по известным и выбранным открытым текстам на криптосистемы из [7] и [8]. Для криптосистем из [7, 8] справедлив следующий формальный результат.

Лемма 1. Атака по выбранным открытым текстам на криптосистемы из [7, 8] эквивалентна атаке по известным открытым текстам.

Доказательство. Очевидно, что атака по известным открытым текстам всегда формально может быть трансформирована в атаку по выбранным открытым текстам. Это справедливо для любой криптосистемы. Утверждение же в обратную сторону справедливо не всегда. Покажем, что для криптосистемы из [7] оно выполняется.

Предположим, есть атака А по выбранным открытым текстам на криптосистему из [7]. Покажем, что с её помощью можно построить атаку А' по известным открытым текстам. Предположим, криптоаналитик A перехватил пары

(щ е M, c (x) е С), i = 1, n, П > 1' где c (x) = r (k(x)) = Щ + Г (x)' к(x), M = Z • Если /72 - простое число, то м = Z - поле. В этом случае ясно, что

т т

поскольку криптосистема гомоморфна, то, складывая, умножая между собой и домножая с'( (х) на некоторые множители из Zm в разном порядке, криптоанали-тик сможет получить шифртекст, шифрующий любой наперед заданный щ е M. Для щ = pk '...' pk может случиться так, что арифметические операции над С (x) в разных комбинациях не смогут дать в итоге шифртекста, шифрующего любой наперед заданный щ е M. Например, это случится, если в перехваченных парах все Щ кратны одному и тому же p .

Однако необходимо отметить, что шифровку для Vm е M можно получить из c (x), просто прибавив к c (x) константу m' е M, такую что Щ = щ — щ . Здесь, по сути, используется то, что Vm' е M в случае данной криптосистемы является тривиальной шифровкой самого себя, т.е. сгенерированной с г(х) = т'. Этот способ получения шифровок годится и для М = Zn, и для М = Ър •

Таким образом, гомоморфные свойства криптосистемы из [7] позволяют из перехваченных пар (открытый текст, шифртекст) сгенерировать пары для выбранных криптоаналитиком открытых текстов. Тогда для того, чтобы получить из атаки А по выбранным открытым текстам атаку А ' по известным открытым текстам, криптоаналитик сначала трансформирует известные пары в выбранные, а затем запускает атаку А.

Рассуждения, приведенные выше, очевидно справедливы и для криптосистемы из [8].^

Теперь покажем, что криптосистема из [7] не защищена против атаки по известным открытым текстам. Рассмотрим сначала случай М = , где р - простое число. Криптоаналитик A имеет пары (щ е M,c1(x) еС), i = 1,n, П > 1,

где c1 (x) = r] (к(x)) = щ + r] (x)' к(x). Тогда A можно вычислить с помощью алгоритма Евклида

g(x) = НОД(c1(x) -mi,...,аП(x) - ) = НОД(r/(x) - k(x),...,r\(x) 'k(x)), где НОД - это наибольший общий делитель полиномов. Очевидно, справедливо g(x) = r(x)' к(x), где r(x) = НОД(r1 (x),..., (x)) .

Оценим вероятность Pr того, что deg(r (x)) = 0 и тогда g (x) = к (x) с точностью до константного множителя. Ясно, что Pr равна вероятности того, что deg(НОД(r1(x),. ., rl (x))) = 0. Для оценки последней напомним теорему, доказанную в [11].

Теорема 1. Пусть есть полиномы Pl(x),...,pm(x) е Z;,|x|, Vi: dcg(р,(х)) <п-чьи коэффициенты сгенерированы по равномерному распределению над , где p - простое число. Вероятность того, что deg(H^(p(x),...,(x))) = 0, равна

1 — 1/pm—1 + (p — 1)/pm' .

Если предположить, что полиномы rx) сгенерированы по равномерному распределению, то на основании данной теоремы имеем Pr = 1 -1/ р"-1 + (p -1)/ р^^Яъ+Ууi. Однако поскольку в [7] для шифрования используется композиция полиномов, то коэффициенты x) можно разбить на несколько групп, в пределах каждой из которых они коррелируют друг с другом. И таким образом пi(x) имеют не совсем равномерное распределение (хотя и достаточно близкое к нему). Однако, несмотря на это, компьютерные эксперименты показали, что вероятность, вычисленная согласно формуле Pr = i — 1/ р"1-1 + (р — 1) / р^^^п^У"i, достаточно хорошо аппроксимирует вероятность того, что <\е§,(НОД (f1( x),.., f1 ( x))) = 0 • В табл. 1, приведены значения Рг, подсчитанные по формуле, и значения Рг, оцененные посредством компьютерного эксперимента. Здесь были выбраны M = Z2, deg(к(х)) = 4 и

max{deg(r( Х))} = 5 . Для реализации всех алгоритмов криптосистемы из [7] и

г

предложенного метода раскрытия ключа использовалась библиотека NTL [12]. Чтобы практически оценить Pr, проводились 1000 итераций, на каждой из которых генерировалась последовательность (m , c1 (x)), i = 1, " , а затем вычислялось g (x).

Таблица 1

Вероятность того, что g(x) = k(x) для Z; при разных ц]

n Точное значение Pr Практическое значение Pr

2 0.5 0.489

3 0.75 0.76

4 0.875 0.86

5 0.9375 0.95

6 0.96875 0.967

7 0.984375 0.991

8 0.992188 0.99

9 0.996094 0.997

10 0.998047 0.999

Можно видеть, что при пх > 5 справедливо Рг «1, т.е. данный метод почти гарантированно раскрывает секретный ключ для •

Таблица 2

Вероятность того, что g(x) = k(x) для Ж103 при разных п}

П1 Точное значение Pr Практическое значение Pr

2 0.99 0.9902

3 1 0.999906

4 1 0.999999

>5 1 1

Из табл. 2 видно, что при больших значениях р (р > 100) уже при ^ = 2 будет выполняться Рг «1.

Перейдем теперь к случаю М = ZK, где п = р  q, р Ф q, р q - простые числа. Для кольца Z [х], в общем, корректно говорить о наибольшем общем множителе (НОМ) многочленов, а не о НОДе. Действительно, поскольку в ZJJ[x] разложение на неприводимые однозначно [10], то для \ff,g 3HOM(f,g), но HOM(f,g) не обязательно делит /'. g. так как в ZH есть делители нуля. Если же НОМ(f, g) делит f, g, то это и есть НОД(f, g). В итоге, A, получив (m,c1(х)), i = 1,n1 , должен найти g(х) = НОМ(c1(х)-m,...,c\(х)-m), поскольку также очевидно будет выполняться g(х) = г(х) • к(х). Ниже приведены леммы, которые предлагают два разных способа вычисления g (х).

Лемма 2. Для вычисления g (х) = НОМ (С (х) - m,..., c^ (х) - m ) можно использовать алгоритм Евклида. Если он завершится успешно, то g (х) будет найдено.

Доказательство. По сути, повторяет доказательство корректности алгоритма Евклида для полиномов с коэффициентами из полял

Лемма 3. Если известна факторизация п= p-q, p^q, то

g(x) = НОМ (с\ (х) - /7?,,..с' (х) - /7?. ) е ZJ х | можно вычислить по коэффициентным применением Китайской теоремы об остатках (КТО) к многочленам ёР(х) = НОД((с\(х)-щ) mod р,...,(х)-тщ) mod р)еЪр[х\,

ёч(х) = НОД((с\(х)-т1) mod q,...,(c\(x)-т^) mod q)<=Z?[x] •

Доказательство. Пусть есть полином /(х) = /0 + fx  х +... + ft  х' е Z„[x], Согласно КТО, ему однозначным образом соответствует пара (/,(x),/9(x))eZ Дх]хЖДх], где

fP (х) = (fp )о + (fp )i • х +... + (fp ) • х ,(fP )i = f mod p,

fq(х) = (f )о + (f )i • х +... + (f ) • х', (fq)i = f modq . Справедливо равенство f = КТО((f ),.,fX). Введем обозначение

f(x) = KTO(fp(x),fq(x))-

В кольце Zp[x]xZq[x] операции +, над парами определены поточечно

(более подробно см. [10]).

Пусть теперь есть два полинома f (х), g(x) е Z п| х | • По КТО для них определены пары f' = (fp(x),fq(x)Xg' = (gp(x),gq(x))- Можно вычислить с!р(х)=НОД(/р(х),§р(х))е% Дх] и dq(x) =ЯОД(/Дх),§/х)) eZq[x] • Введём следующие обозначения: ap (х) = f (х) / dp (х), 6 (х) = g (х)/ d (х), aq(x) = fq(x)/dq{x), bq(x) = gq(x)/dq(x)- В силу того, что операции в Zp[x]xZq[x] поточечные, имеем f = (dp(x),dq(x))-(ap(x\aq(x)) и g< = (dp(x),dq(x))-(bp(x),bq(x)). Поскольку НОД(ар(х),Ър(х)) и НОД(aq (x),b (х)) являются константами, то d' = НОМ(f, g') = (dp (х), dq (х)). Вследствие однозначного соответствия между f' и f, g' и g по КТО получаем, что НОМf,g) = КТО(^р(х), dq(х)) .

В случае, когда факторизация " может быть легко вычислена, алгоритм, содержащийся в Лемме 3, можно сразу применить для вычисления g (x). Если же

n трудно факторизовать, то для вычисления g (x) можно сначала попытаться применить алгоритм Евклида. Однако на одной из его итераций могут появиться /1(x),/2(x)eZn[x], такие, что /'(Х) не делит /2(х). Тогда ясно, что

H()j[(njc(f\(x))) >1 или H()Jl(nJc(f2(x))) >Ь где /с(/,Чх)) и /с(/2(х» - коэффициенты при старшей степени полиномовf (x) и f (x) соответственно. Таким образом, факторизация n на данном этапе будет раскрыта. Далее для поиска g (x) можно применить лемму 3.

Вероятность того, что g(x) = r(x) • к(x), deg(r(x)) = 0 в соответствии с КТО

и правилом вычисления вероятности появления двух событий, может быть оценена по формуле

Pr = (1--L. +-Р1-^^^ -J-1/ q"-1 +-i—-).

n1 — ^^^^^^^^^^^ mod р^^^^^-"i n"1 ~ (max{deg(r- mod ^^^^^^^"

р р q q

В табл. 3 представлена практическая оценка Рг при

М = Z9ll3503,p = 3551,q =2519, max{deg(c1(x))} = 20, deg(A:(x)) = 4 • Для того

i

чтобы оценить Pr, также проводились 1000 итераций.

Таблица 3

Вероятность того, что g(x) = к(х) для Z9173503

n Практическое значение Pr

2 0.999

>3 1

Замечание. Поскольку в криптосистеме из [8] всегда предполагается использовать большие модули п, то для неё достаточно двух пар (открытый текст, шиф-ртекст) для того, чтобы с вероятностью «1 раскрыть секретный ключ. Более того, достаточно и одной пары (т, с(х) = т + г(х) • к(х)), так как конструкция из [8]

предполагает наличие у криптоаналитика полинома f (х) = Го (х) • к(х). Тогда ясно, что НОД(/(х), с(х) - т) = k(х) с вероятностью «1.

Рассуждения, приведенные выше, можно по аналогии корректно обобщить на случай м = Ъп, где /1 = р]  ... р(, р; Ф р/ • pi - простые числа. Случай же

п = рк •... • рк, р ф р , где 3к > 1, требует отдельного рассмотрения. Известно, что для таких п факторизация многочленов в Zи[x] на неприводимые сомножители является неоднозначной [10]. Поэтому вопрос о поиске g(x) нуждается в дальнейшем изучении. Для М = Ъ можно действовать по аналогии с М = 2 •

3. Метод коррекции ключа с использованием дополнительной последовательности шифртекстов. Будем рассматривать М = Ж , где р - простое число, п < 5. В этом случае при небольших р есть вероятность (небольшая, но ею нельзя пренебречь), что ^(х) = г(х) • к(х), ёе§(г(х)) > 0. Поэтому g(х) необходимо верифицировать и при необходимости скорректировать.

Предположим, что A имеет дополнительно последовательность шифртекстов

{cf( x)}, cf( x) = r2 (к ( x)) = mf + r 2( x)  к (x), i = \, n2, а также ему известно вероятностное распределение Ю над 7Л . Тогда для верификации g(x) и его корректировки A может проделать следующую последовательность действий.

1) A должен вычислить remt ( x) = cf( x)mod g( x). Если 3remi (x): deg(rem (x)) > 0, то g(x) ф к(x), поскольку приведение шифровок по модулю к(x) обязательно дает остаток нулевой степени. В этом случае необходимо продолжить работу с многочленом g(x). Иначе A останавливается и полагает, что

g (x) - ключ.

Прежде чем перейти ко второму шагу, сделаем важное замечание. Для того чтобы A смог расшифровать любой шифртекст, зашифрованный на к(x), ему не

нужно раскрывать к(x) целиком. Достаточно найти хотя бы один его сомножитель к '( x ), поскольку c( x) = m + r°0 x)  к (x) = m + r °(x)  к[ ( x) ..  к'а ( x), где к'(x) - неприводимый сомножитель к ( x). Ясно, что так как degßKx)) > deg(m) = 0, то Vi : c (x) mod к'(x) = m.

2) Если приведение по модулю g (x) дало хотя бы один остаток ненулевой

степени, то для A надо найти все различные неприводимые сомножители G = {g (x),..., gs (x)} полинома g (x). Ясно, что все к'(x) содержатся в G .A нужно найти хотя бы один из них.

3) A может попытаться сузить множество G, вычислив ViVj : cf(x) mod g (x). Сомножитель ключа не может дать остаток степени > 0,

поэтому у достанется множество G' = {gj'(x),...,g^(x)}cG, такое что для

Vg'. (х)3mesj = (т{,..., т^ ) е Ъ^, т> = cf (х) mod g', (x) •

4) Для того чтобы выбрать g' (x) из G', криптоаналитик может применить статистический критерий. А именно, выбирается тот g ' ( x), для которого соответствующая последовательность mes  имеет вероятностное распределение, наиболее близкое к Ш) (близость меряется по статистическому расстоянию). Ясно, что успешность данного критерия зависит от Ш). Если © близко к равномерному, то возрастает количество неверных результатов. Теоретически это можно объяснить тем, что для g'.(x x ), не связанные с ключом, по сути являются полиномами с коэффициентами, имеющими распределение, близкое к случайному. Тогда приведение cf(x) по модулю таких g'^(x) дает равномерно случайные остатки. И тогда в

соответствующих последовательностях mes все mj равновероятны. Также дли-

j 1

на последовательности {cf(x)}, i = \, n не должна быть слишком маленькой,

поскольку при маленьких значениях п, частоты появления элементов Z могут

р

достаточно сильно отклониться от вероятностей появления. Табл. 4-6 демонстрируют для deg(k(x)) = 4,deg,(ri (x)) <5 практически оцененные вероятности Pr того, что при обращении к статистическому критерию он выбирает такое g' ( x), которое действительно является сомножителем ключа к(x).

Таблица 4

Вероятность успеха Рг статистического критерия для равномерного

распределения В

M = z2 M = z 1Ш

n2 Pr n2 Pr

100 0,54 100 0,44

200 0,5 200 0,5

300 0,44 300 0,47

400 0,46 400 0,51

Таблица 5

J - нормаль-

Вероятность успеха Рг статистического критерия для м = Ж, ное распределение с математическим ожиданием / = 0 и дисперсией а = 2

П2 Pr

15 0.94

16 0.96

17 0.98

18 1

Таблица 6

М = Z,

9973'

нормальное распределение с / = 100 и а = 500

П2 Pr

>15 1

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

Таблица 7

М = Ъ2, ©-равномерноераспределение, п2= 10

ni Pr

1 0,76

2 0,83

3 0,95

4 1

М = \

Таблица 8

нормальное распределение, / = 0 и а = 2, щ = 10

ni Pr

1 0,97

2 0,98

3 0,99

4 1

3

Замечание. В случае, когда A имеет только одну пару (m, c(x)), он сразу полагает g(x) = с(х) - т.

Для ZH • п = рх ... • /->,, /->, Ф Pt Til к же можно применить описанный подход. Однако для того чтобы факторизовать полином g (x), необходимо знать факторизацию n . В случае, если разложение n неизвестно и не было раскрыто в процессе вычисления g (x), факторизовать g (x) криптоаналитик не сможет. Поэтому после

первого этапа (т.е. после вычисления rem (x) = c2(x)mod g(x), i = 1, n2) A в

любом случае будет вынужден остановиться.

Рассмотрим вопрос о том, в каких случаях в процессе вычисления g (x) обязательно будет раскрыта факторизация n (при условии, что n трудно факторизо-

вать). Отметим, что если при шифровании выбираются полиномы k(x) и r(x) с необратимыми старшими коэффициентами, то g (x) в итоге обязательно будет иметь необратимый старший коэффициент, что позволит факторизовать n. Теперь рассмотрим случай, когда шифртексты с(х) имеют только обратимые старшие коэффициенты. В табл. 9 демонстрирует вероятность Рг того, что для М = Z , п = р  q — 1042-битный RSA-модуль, алгоритм Евклида, применяемый

последовательно для вычисления g(x), раскроет p, q.

Таблица 9

Вероятность раскрытия рз q алгоритмом Евклида для М = Z » где n = p • q - 1042-битный RSA-модуль

n1 Рг

2 0,006

5 0,005

10 0,008

Можно сделать вывод, что для улучшения защищенности при М = 7Ьп, где

П - составное и сложное для факторизации, необходимо составлять шифртексты так, чтоб их старшие коэффициенты были только обратимыми элементами.

Замечание. Все рассуждения для криптосистемы из [7] в случае составного П , очевидно, справедливы также и для криптосистемы из [8].

В свете вышесказанного может показаться, что в [7] с точки зрения защищенности предпочтительнее использовать в качестве П Я^А-модуль. Однако на самом деле это справедливо, только если п = 1. В случае п ^ 2 при большом П

вероятность того, что два случайных многочлена имеют нетривиальный НОД очень близка к нулю (см. табл. 2), т.е. с вероятностью «1 при п ^ 2 будет выполняться g = k (x) с точностью до множителя. Тогда, по сути, необходимость вычисления факторизации g(x) практически равна нулю.

Заключение. Проведенный анализ показал, что криптосистемы, предложенные в [7], [8] являются очень уязвимыми относительно атаки по известным открытым текстам, а как следствие и по выбранным. Для криптосистемы из [7] при М = Ът{т- простое число или рх-.... р^ р.Ф р ), где /77 - небольшое

(m > 2), достаточно пяти пар (открытый текст, шифртекст), чтобы раскрыть правильный секретный ключ с вероятностью « 1. При условии, что пар меньше пяти, предложенный статистический подход позволяет также с вероятностью « 1 раскрыть ключ, если вероятностное распределение на множестве открытых текстов достаточно отличается от равномерного (например, нормальное распределение с небольшой дисперсией).

При больших значениях m (больше 100) ключ раскрывается на первом этапе метода уже при " = 2 с вероятностью « 1 для [7]. Что касается криптосистемы из

[8], то она защищена даже, если криптоаналитиком перехвачена только одна пара.

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

Случай, когда т = р^1 ... /;.'"', р. ф р.. требует дальнейшего анализа в

силу неоднозначности факторизации многочленов в кольце Z [х] •

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Gentry C. A fully homomorphic encryption scheme: diss. - Stanford University, 2009.

2. Van Dijk M. et al. Fully homomorphic encryption over the integers // Advances in Cryptology-EUROCRYPT 2010. - Springer Berlin Heidelberg, 2010. - P. 24-43.

3. Brakerski Z., Vaikuntanathan V. Efficient fully homomorphic encryption from (standard) LWE // Foundations of Computer Science (FOCS), 2011 IEEE 52nd Annual Symposium on. - IEEE, 2011. - P. 97-106.

4. Gentry C., Sahai A., Waters B. Homomorphic encryption from learning with errors: Conceptually-simpler, asymptotically-faster, attribute-based // Advances in Cryptology-CRYPTO 2013.

- Springer Berlin Heidelberg, 2013. - P. 75-92.

5. Stehle D., Steinfeld R. Faster fully homomorphic encryption //Advances in Cryptology-ASIACRYPT 2010. - Springer Berlin Heidelberg, 2010. - P. 377-394.

6. Gentry C., Halevi S. Implementing gentry's fully-homomorphic encryption scheme // Advances in Cryptology-EUROCRYPT 2011. - Springer Berlin Heidelberg, 2011. - P. 129-148.

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

- С. 6-12.

8. Rostovtsev A., Bogdanov A., Mikhaylov M. Secure evaluation of polynomial using privacy ring homomorphisms // IACR Cryptology ePrint Archive. - 2011. - Vol. 2011. - P. 24.

9. LidlR., NiderreiterH. Finite Fields (Vol. 20, Encyclopedia of Math. and its Appl.) // Englewood Cliffs, NJ: Addison- lVesley. - 1983. - P. 74-85.

10. Klivans A. Factoring polynomials modulo composites. - CARNEGIE-MELLON UNIV PITTSBURGH PA DEPT OF COMPUTER SCIENCE, 1997. - №. CMU-CS-97-136.

11. Benjamin A.T., Bennett C.D. The probability of relatively prime polynomials // Mathematics Magazine. - 2007. - P. 196-202.

12. Shoup V. NTL: A library for doing number theory. - 2001.

REFERENCES

1. Gentry C. A fully homomorphic encryption scheme: diss, Stanford University, 2009.

2. Van Dijk M. et al. Fully homomorphic encryption over the integers, Advances in Cryptology-EUROCRYPT 2010. Springer Berlin Heidelberg, 2010, pp. 24-43.

3. Brakerski Z., Vaikuntanathan V. Efficient fully homomorphic encryption from (standard) LWE, Foundations of Computer Science (FOCS), 2011 IEEE 52nd Annual Symposium on, IEEE, 2011, pp. 97-106.

4. Gentry C., Sahai A., Waters B. Homomorphic encryption from learning with errors: Conceptually-simpler, asymptotically-faster, attribute-based, Advances in Cryptology-CRYPTO 2013. Springer Berlin Heidelberg, 2013, pp. 75-92.

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), а затем умножение полученной в результате матрицы

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

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