Вариант семантически стойкого шифрования на базе RSA

МАТЕМАТИКА

Вестн. Ом. ун-та. 2016. № 3. С. 7-9.

УДК 512.4 В.А. Романьков

ВАРИАНТ СЕМАНТИЧЕСКИ СТОЙКОГО ШИФРОВАНИЯ НА БАЗЕ RSA*

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

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

1. Введение

Целью данной работы является представление новых элементов для версии схемы шифрования на базе RSA, введенной автором в [1]. А именно: предлагается другой способ задания фигурирующих в этой схеме подгрупп. Этот способ приводит к замене лежащей в основе схемы вычислительно сложной проблемы определения порядков элементов мультипликативных групп модулярных колец на вычислительно сложную проблему вхождения в заданные степени этих групп. Частным случаем последней проблемы является классическая задача определения квадратичности вычета элемента мультипликативной группы модулярного кольца.

Система шифрования с открытым ключом RSA введена в обращение Ривестом, Шамиром и Адлеманом в 1977 г. [2]. Она широко используется во всем мире и входит практически во все учебники криптографии. Относительно этой системы и ее криптографической стойкости см., например [3-5].

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

2. Схема шифрования

В [1] автором предложен семантически стойкий вариант шифрования на базеRSA. Дальнейшее развитие вариант получил в [6]. Приведем основную схему шифрования из этого варианта.

Установка: платформа шифрования

Пусть n - произведение двух больших различных простых чисел p и q. В качестве платформы для системы шифрования выбирается кольцо вычетов Zn. Модуль n и платформа Zn являются открытыми элементами системы, числа p и q - секретными.

* Исследование поддержано Российским фондом фундаментальных исследований (проект 15-41-04312).

© Романьков В.А., 2016

8

Романьков В.А.

Через ф :N ^ N обозначается функция Эйлера, в данном случае принимающая значение ф(п)= (p-1)(q-1). Таким образом, порядок мультипликативной группы Z*n кольца Zn равен (p-1)(q-1). Относительно этих понятий см., например [7].

Далее выбираются две подгруппы M и H группы Z*n взаимно простых периодов г и t, соответственно. Эти подгруппы предлагается задавать через их порождающие элементы M = гр( g1 ,...,gk), H = гр(й1, ..,hl). Напомним, что периодом t(G) группы G называется наименьшее число t, такое, что дг = 1 для любого элемента geG. Периодом группы Z*n служит число t (n), равное наименьшему общему кратному чисел p-1 и q-1. Подгруппы M и H могут быть циклическими и задаваться одним порождающим элементом. Порождающие элементы подгрупп M и H считаются открытыми, в то время, как периоды подгрупп г и t - секретными.

В [1] и [6] объяснено, как эффективно осуществить указанный выбор подгрупп M и H, зная секретные параметры p и q. Более того, можно вначале задать г и t , а затем выбрать p и q, а уже потом осуществить дальнейшие действия. Отметим, что построение элементов заданных порядков в конечных полях выполняется стандартной эффективной процедурой, описанной, например [8]. Переход к построению элементов заданных порядков в мультипликативных группах Z*n модулярных колец Znосуществляется очевидным способом с использованием Китайской теоремы об остатках [1] или [6]. Установка: выбор ключей Ключ шифрования e - любое натуральное число, взаимно простое с г. Ключ расшифрования d = ^вычисляется из равенства

Ключ d существует, так как параметр d1 вычисляется вследствие взаимной простоты te и г. Ключ e открытый, ключ d и параметр d1 - секретные.

Алгоритм шифрования Для передачи по открытой сети сообщения - m элемента подгруппы M, Алиса выбирает случайный элемент h подгруппы H и вычисляет элемент hm. Передача имеет вид

c =

Алгоритм расшифрования

Боб расшифровывает полученное сообщение c следующим образом:

cd=m

Объяснение правильности расшифрования

Так как ed=1 (modr), найдется целое число k, такое, что ed = 1 + rk. Тогда

cd = (hm)ed = (ht)edi m (mr)k = m (mod n). (4) Итак, элемент h записывается как элемент подгруппы H в виде значения группового слова u(x1,.,xl) от порождающих элементов h1t... ,hl подгруппы H. Фактически мы

выбираем слово u(x1,.,xl), а затем вычисляем его значение h = u(h1t..., hl). В частности это означает, что порождающие элементы h1t... ,hl являются открытыми.

Криптостойкость схемы

Криптографическая стойкость схемы основывается на трудности определения по заданным порождающим элементам подгруппы H группы Z*n периода или порядка этой подгруппы. Если бы порядок элемента можно было вычислить эффективным алгоритмом, то подсчитав порядки o rd(h1), ..., ord(hl) порождающих элементов подгруппы H, мы могли бы найти ее период t = t(H), равный их наименьшему общему кратному. Это позволило бы убрать из данного варианта шифрования затеняющий множитель h преобразованием с1 = met(modri), сведя процедуру расшифрования к классической системе RSA с открытым ключом шифрования et.

3. Другой способ задания подгруппы H

В данной работе предлагается другой вариант задания подгруппы H в рассматриваемой схеме шифрования. Вначале рассмотрим его частный случай, связанный с признанной трудноразрешимой задачей определения квадратичности вычета группы Z*n. Напомним, что вычет aeZ^ называется квад-ратичнъм,, если существует такой элемент xeZ*n, что х2= a (modn). Все квадратичные вычеты образуют подгруппу QZ*n группы Z*n. Проблема определения квадратичности произвольного вычета группы считается вычислительно трудноразрешимой. На этом свойстве базируется известная семантически стойкая система шифрования Гольдвассер-Микали [9]. Ее семантическая стойкость полностью определяется трудноразрешимостью проблемы определения квадратичности вычета.

Допустим, параметры p и q выбираются с условием p, q = 3 (mod 4), т. е. p = 4k +3, q = 41 +3. В схемах, связанных с квадратич-ностью вычетов это предположение выглядит естественным и встречается достаточно часто. Если оно выполнено, отображение р :QZ*n ^ QZ*n, p :x^x2, является биекцией.

Подгруппа квадратичных вычетов QZ*n группы имеет в Z*n индекс 4 см., например [8]. Ее порядок о^^2^)равен ф(п)/4 = (4k + 2)(41 + 2)/4= 4kl + 2k + 21 + 1, т. е. является нечетным числом.

Полагаем в приведенной выше схеме шифрования H = QZ*n. Любой элемент подгруппы H имеет нечетный порядок, так как период t(Z*n), равный наименьшему общему кратному чисел p - 1 = 4k +2 и q - 1 = 41 +2, делится на 2, но не делится на 4. Максимально возможный выбор для M - подгруппа порядка 4, элементы которой имеют четные порядки 2 или 4. Если существует эффективный способ вычисления порядка (или хотя бы его четности) произвольного элемента

Вариант семантически стойкого шифрования на базе RSA

9

группы 2*п, то эффективно решается и проблема определения квадратичности вычета. Недостатком схемы при таком выборе является маломощность пространства текстов -подгруппы М. Фактически схема дублирует уже упоминавшуюся известную схему Голь-двассер-Микали.

Большие возможности мы получаем при следующем выборе. Пусть s - простое число, которое можно считать достаточно большим. Пусть р и q - простые числа такие, что хотя бы одно из чисел р - 1 или q - 1 делится на s. В [1] и [6] объяснено, что можно выбрать s, а затем эффективно найти р или q с данным свойством. Скажем, число р ищется в виде 2sx +1. Изменяется х и проводится проверка на простоту полученного р до тех пор, пока оно не окажется простым.

Определим подгруппу Н = , состоящую из s-степеней элементов группы 2*п (при s = 2 это подгруппа QZ*n). Если р = 52к + su + 1 и q = 521 + sv +1 (или q = sl + V +1), где числа и и V не делятся на s, то порядок о^ (Н) подгруппы Н имеющей в группе 2*п индекс б2 (или индекс s, если q = sl + V +1), равен Б2к1 + Бку + б1п + ш>. Этот порядок взаимно прост с s. В частности это означает, что элементы подгруппы Н имеют порядки не делящиеся на s. Если элемент находится вне подгруппы Н, то его порядок делится на s, так как s делит порядок группы. Если проблема вычисления порядка элемента группы 2*п (или определения его делимости на s) эффективно разрешима в группе 2*п, то в ней также эффективно решается проблема вхождения в подгруппу

При выборе указанным способом подгруппы Н у нас появляется возможность выбора в качестве М циклической подгруппы порядка г =52 (или порядка s). Такая подгруппа существует, так как порядок группы 2*п, равный (р-1)^-1) = (52к + ви)^21 + sv) (или (52к + ви)^1 + V)), делится на 52 (на s). Для задания Н достаточно указать s. При этом для любого выбора подгруппы М имеем М*2 =1. Если при расшифровке сообщения т удастся получить элемент вида теЛ, где ed взаимно просто с s, то найдя целые числа у и z такие, что edy + s2z = 1, можно вычислить теЛу = т.

Однако порождающие элементы подгруппы Н при задании вида не указываются, поэтому, если существует алгоритм вычисления порядков элементов группы 2*п, это не позволяет вычислить период подгруппы

H, что было бы возможно в первоначальной версии из [1].

Криптографическая стойкость версии схемы из [1] основана на трудности задачи определения порядка элемента группы 2*п. В предлагаемой версии она основана на трудности определения периода подгруппы Z*s. Семантическая стойкость Пусть известно, что c = (hm')e (modn) - зашифрованное сообщение вида (2), где heH, т' = т1 или т'=т2. Шифрование считается семантически стойким, если нельзя эффективно определить, чему же все-таки соответствует с. Правильный ответ mt (i = 1 или 2)по-лучается тогда и только тогда, когда cmje принадлежит H. Значит, шифрование семантически стойкое, если и только если проблема вхождения в H эффективно неразрешима. В рассматриваемом данной статьей случае -это проблема вхождения в подгруппу s-выче-тов Z*s. В частном случае s = 2 получаем известную считающуюся трудноразрешимой проблему вхождения в Q2*n, на которой основана семантическая стойкость системы шифрования Гольдвассер-Микали и ряда других систем шифрования.

ЛИТЕРАТУРА

[1] Романьков В. А. Новая семантически стойкая система шифрования с открытым ключом на базе RSA // Прикладная дискретная математика. 2015. № 3 (29). С. 32-40.

[2] Rivest R., Shamir A., Adleman L. A method for obtaining digital signatures and public-key cryptosystems // Comm. ACM. 1978. Vol. 21, № 2. P. 120126.

[3] Hinek M. Cryptanalysis of RSA and its variants. Boca Raton: Chapman & Hall / CRC, 2010.

[4] Song Y. Y. Cryptanalitic attacks on RSA. Berlin : Springer, 2008.

[5] Stamp M., Low R.M. Applied cryptanalysis. Breaking ciphers in the real world. Hoboken : JohnWiley&Sons, 2007.

[6] Roman'kov V.A. New probabilistic public-key encryption based on the RAS cryptosystem // Croups, Complexity, Cryptology. 2015. Vol. 7, № 2. P. 153156.

[7] Романьков В.А. Введение в криптографию. М. : Форум, 2012.

[8] Menezes A., Ojrschot P.C., Vanstone S.A. Handbook of Applied Cryptography. Boca Raton : CRC Press, 1996.

[9] Goldwasser S., Micali S. Probabilistic encryption and how to play mental poker keeping secret all partial information // Proc. 14th Symposium on Theory of Computing, 1982. P. 365-377.