ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
НАУКА. ИННОВАЦИИ ТЕХНОЛОГИИ, №3, 2016
УДК 004.9, Коляда А.А. [Kolyada А.А.],
004.94,004.56 Чернявский А.Ф. [Chernyavsky A.F.]
ГЕНЕРИРОВАНИЕ КЛЮЧА ДЕШИФРОВАНИЯ ДЛЯ КРИПТОСИСТЕМЫ RSA С ПРИМЕНЕНИЕМ МИНИМАЛЬНО ИЗБЫТОЧНОЙ МОДУЛЯРНОЙ СИСТЕМЫ СЧИСЛЕНИЯ*
Generation of decryption key for the RSA cryptosystem using the minimum redundant modular number system
Статья посвящена проблеме генерирования для криптосистемы RSA ключа дешифрования по известным открытым параметрам - системному модулю и ключу шифрования. Для получения мультипликативной инверсии открытого ключа по функции Эйлера системного модуля применена минимально избыточная модулярная система счисления, Ее основаниями служат элементы фактор-спектра базовой функции Эйлера, а также специально выбираемое дополнительное основание. Реализуемый подход позволяет минимизировать объем выполняемых вычислений. Это обеспечивается благодаря достигаемому в рамках минимально избыточного модулярного кодирования снижению к предельно низкому уровню сложности расчетных соотношений для используемых интегральных характеристик кода - интервально-индексных характеристик.
Ключевые слова: Схема RSA, умножение Монтгомери, возведение в степень по модулю, криптографическое RSA-преобразование, денор-мирующий коэффициент, модулярная система счисления, модулярный код, интервальный индекс.
The article is devoted to the problem of generating a cryptosystem RSA key decryption on the known open parameters - system module and the encryption key. Minimum excess modular numeral system is applied to receiving multiplicative inversion of an open key on Euler's function of the system module. Its bases are the elements of the factor-spectrum base of Euler's function, as well as specially selected additional base. The realized approach allows to minimize the volume of the carried-out calculations. This is ensured thanks to achieved within the minimum excess modular coding to reduce the extremely low level of complexity of accounting ratios used for the integral characteristics of the code - interval-index characteristics.
Keywords: RSA scheme, Montgomery multiplication, modular exponentiation, RSA-cryptographic transformation, denormalizing factor, modular number system, modular code, interval index.
* Работа подготовлена в рамках II Международной конференции «Параллельная компьютерная алгебра и ее приложения в новых инфоком-муникационных системах»
Введение. Криптосистемы RSA относятся к классу систем с открытым ключом [1,2]. Алгоритмы шифрования этих систем общедоступны, благодаря чему отпадает необходимость в секретных каналах связи для предварительного обмена ключами. Один из двух используемых ключей в RSA-криптосистеме - ключ шифрования является несекретным, а другой ключ дешифрования - секретным. При этом получение (генерирование) секретного ключа требует вычисления мультипликативной инверсии открытого ключа по функции Эйлера системного модуля, который относится к открытым параметрам и является большим числом. Так как элементы фактор-спектра (разложения на простые множители) модуля криптосистемы также большие числа, то указанная задача имеет большую вычислительную сложность. Отмеченное обстоятельство составляет главную отличительную особенность схемы RSA и представляется ключевым фактором, обусловившим широкое распространение криптосистем RSA на практике. Как известно, эффективную компьютерно-арифметическую базу для решения трудоемких задач современных криптографических приложений составляет арифметика модулярных систем счисления (МСС) [2-12]. Это обусловлено тем, что благодаря кодовому параллелизму, модулярные вычислительные структуры (МВС) при оперировании на диапазонах больших чисел позволяют достичь существенно большей производительности, чем позиционные структуры. По уровню простоты выполнения так называемых немодульных операций в классе МСС приоритетные позиции принадлежат так называемым минимально избыточным МСС (МИМСС) [13-15]. В представляемой разработке преимущество МИМСС демонстрируются на примере решения задачи генерирования ключа дешифрования для криптосистемы RSA модулярного типа. В рамках избыточного кодирования восстановление числа по его модулярному коду (МК) осуществляется значительно проще, чем в неизбыточной МСС, что обеспечивается тривиальностью операции вычисления базовых интегральных характеристик МК (ИХМК) - интервально-индекс-ных характеристик. Благодаря именно отмеченному обстоятельству для решения проблемы генерирования ключа дешифрования по открытому ключу с применением МИМСС открываются принципиально новые возможности.
1. БАЗОВЫЕ ПРЕДПОСЫЛКИ
МОДУЛЯРНОГО МЕТОДА ГЕНЕРИРОВАНИЯ
КЛЮЧА ДЕШИФРОВАНИЯ
ДЛЯ RSA-КРИПТОСИСТЕМЫ
Как известно [1], параметрами схемы RSA служат модуль р (большое число), а также открытый и секретный ключи - целые числа (ЦЧ) ей d, такие, что е е Z<p(p> = {0, 1, .., ф(р) - 1} (ф - функция Эйлера), е - взаимно просто с ср(р), d = с 1 (mod ф(/;)). Шифрование в криптосистеме RSA с модулемр и ключом с сообщения, отождествляемого с ЦЧ Хе = {0, 1,... р 1}. осуществляется по правилу Y = Е(Х) = \х\, (через |х|И1 обозначается элемент множества Ът = {0, 1, .., m - 1}, сравнимый с х (в общем случае рациональным числом) по натуральному модулю т. Процесс дешифрования сообщения по ЦЧ Y с ключом d выполняется согласно расчетному соотношению: /)( Y) = \ Yd\p. Корректность пары криптографических RSA-преобразований: (Е{Х), D(E(X)j) подтверждает равенство D(E(Xj) = Х.
V
Предположим, что рабочий модульр схемы RSA имеет вид: Р= YlP¡¡
ii=i
и пусть р 2q¡ • 1. где с/ так же как и ри - большие простые числа. В этом случае
9(P) = n(A,-l) = n^(^o=2v). (1)
11=1 о
Благодаря равенству (1), для решения задачи расчета ключа дешифрования:
d = e~l (mod0 (О = Ф(р) = П% ) (2)
о
по открытому ключу е можно использовать МСС с базисом {q(P qv qj и диапазоном Z ={0. 1, .., 0-1}. Это предполагает представление ЦЧ е в коде указанной МСС:
В случае, когда ключ е первоначально задан в позиционном коде, естественно он должен быть преобразован в МК (3), например, с помощью предложенного в [16] алгоритма на основе рекурсивной схемы Горнера. Получение в рамках модулярного кодирования (3) мультипликативной инверсии сводится к поразрядному выполнению данной операции в применяемой МСС, то есть к формированию МК
(80,515 ...,8у) = (
го'
%
41
-1
)(8Я=М (и = 0,У)). (4)
Чу Чи
Несмотря на то, что как и О, модули с/ ,д2,.. ..цу так же большие числа, вычисление цифр кода (4) является более простой задачей, чем соответствующая задача по модулю О (см. (2)).
Согласно китайской теореме об остатках значение с1=Уге иА0 ключа дешифрования и цифры МК (4) связаны между собой соотношением:
, ....
й =
-1
5-1 = £
Q г=1
Я.%
(5)
5-1
где 5 = V +1; С;„ ] = Оа_! / ч,; О3_х = П <Ц \
1=1
1ХЫ) интегральная характеристика МК (ИХМК)
(81? 82, ,..,8^!, 80) по базису -..,^-1, 90К на-
зываемая интервальным индексом (ИИ) числа с! [15, 17] и определяемая формулами:
(6)
т=
1Ло(5г)
1=0
(7)
%
% сЙ-1
41
(¿=¡1,5-1),
(8)
Яо
()(с/) - минимальная ИХМК, формируемая по известному общему алгоритму [15, 17], который имеет довольно высокий уровень вычислительной сложности, особенно при оперировании в диапазонах больших чисел.
Расчет ША18(сГ), используемого в (5), предельно упрощается в рамках минимально избыточного модулярного кодирования [15]. Его сущность раскрывает нижеследующее утверждение.
Теорема 1. Для того, чтобы в МСС с попарно простыми основаниями ..., дх Г с/ ИИ ¡,;(с/) каждого элемента
5-1
диапазона
Ъ0 = {0, 1,..., о-\}(0= Пч<-,%=2°~1)
'о
;=0
полностью определялся вычетом 13{с!) = 1/л. (с/) необХОДИМО И достаточно, чтобы С/л > (/(! + .V — 2 (б/д > .V — 2) При этом для / (¿/) верны расчетные соотношения:
если /,(</) <дг0,
А («О-?*.если Аоо^о;
(9)
1^(8,) 1=1
(Ю)
Ял
(п)
ь
я,
Из (9) видно, что в отличие от формулы (6) для вычисления ИИ /л (б/) ЦЧ с! в минимально избыточной МСС (МИМСС) с базисом {д}, д2, ..., сд с/}, удовлетворяющим теореме 1, и диапазоном Ъ() не требуется формирование 0 (и). Реализация как отмеченного, так и других преимуществ МИМСС является главным отличительным признаком представляемого метода генерирования ключа дешифрования И^А-крип-тосистемы.
2. ФОРМАЛИЗАЦИЯ МЕТОДА
ГЕНЕРИРОВАНИЯ КЛЮЧА ДЕШИФРОВАНИЯ НА ОСНОВЕ МИМСС
Прежде всего отметим, что для определения мультипли--1
5,■ =
(I = О, я — 1) можно воспользоваться обще-
известным обобщенным алгоритмом Эвклида [1]. При этом для выполнения операций деления с остатком применим предложенный в [18] алгоритм, который базируется на модулярной схеме деления спуска Ферма.
Введем семейство ЦЧ с!' определяемых модулярными кодами (50, ..., 6 .. 6' ) (5' =0,^ -1) по базису {д0, д.. ..., </ .. д). Ввиду (1) каждое из ЦЧ а" удовлетворяет сравнению с!' = ¿/(тос10. а следовательно и сравнению ыГ = ее! = 1(тос10 (см. (2)). Поэтому так же как и с! числа с!' могут выполнять роль секретного ключа Я Я А-кр иптос истс м ы. Сущность предлагаемого подхода к выбору искомого секретного ключа состоит в выделении из множества
Ко(с1-е) = {V= ¿(тосЮ) сГ = (50,51,...,5;)(б; е Ъ^)} (12)
элемента который принадлежит диапазону ((; = 11 ц ) МСС с модулями с/.. ц......цч , 3 д(+э-2 <=1
Запишем с1' е К,-> (с1\ё) в интервально - модулярной
форме вида (5):
5-1 7=1
О"1 5
1
-О-ЛО*')
(13)
Выражая интервально-индексную характеристику Д(б/') через эвклидовы составляющие относительно модуля щ:
через обозначается целая часть величины х. Представим ИМФ (13) в виде
5-1
<*' = 1й>1 О')! 5, + <2,-1 I{d') + OJ(d') (14)
7=1 ' 1г
Из (14) вытекает равенство
=
5-1
&-1 з0 -Е^ай-! б, ;=1
«о
которое с учетом обозначений (8) дает для 1^') расчетное соотношение вида (7):
КсГ) =
гЧоС^)
г=0
(15)
%
Соотношение (15) не зависит от величин связанных с q, и поэтому является общим для всех d' е R0 {d,e), включая d' d Следовательно ввиду I(d') = I(d) в соответствии с (13) при d' = d имеем
s-\
d=HQi,-
7=1
0~Х 5
~i,s-1 1
Qs_1i(d)-o®(d)
(16)
На основании (14) и (16) заключаем, что для d' = d характеристика J{d') принимает значение J{d') = J{d) = - Ввиду трудоемкости процедуры вычисления в качестве искомого элемента множества (12), который может выполнять роль секретного ключа ЯБА-криитосис-темы рассматриваемого класса примем число, получаемое из (16) при @(с/)= О, то есть ЦЧ
~ 5-1
d = m,s-i=i
О 1 8
~i,s-1 '
-Qs_xi{d)
(17)
Принадлежность d к множеству Мд^ е) вытекает из того, что согласно (16) и (17) с! = й - () ©(¿/): и поэтому 2 =d{moд^O) 3 = (50, §1,) Найдем для d верхний ограничительный порог. Из (17) имеем
Л=Ы1€Йи-18/ i(I?i )+е-6м<
/=1 1i /=1 /=1
г=1?тах
Í-1
(18)
ГДе #шах = max{gb q2,■■■■</, i¡: Qs = П Ч,
i=l
При получении оценки (17) на завершающем шаге принято во внимание условие £/л > д + я- 2, которое налагается
ми
на5-е основание МСС с базисом (} = {д1,д2,...,,д8} и диапазоном Z,Л (см. теорему 1).
Обозначим 5-ю цифру МК числа с! в МСС с основания-{¿¡I, д2, ■ ■■, дх } через 8Л. Из (17) вытекает равенство
Ss=\d\ =
1 4s
s-1
a-iŒ^rV-iô, +m
Í=1 q,
которое дает для ôs расчетное соотношение:
S,=
l-a-il
хълы-т /■=i
m
1s
(19)
Фигурирующая в (19) интервально-индексная характеристика í(d) = I(d') = / (с/). вычисляется по формуле (7) с использованием вычетов (8).
При выполнении криптографических RSA-преобразований обычно применяют метод умножения с квадрированием [14], который предполагает представление кода ключа дешифрования в двоичном коде. Цифрой позиционного кода (ПК) Qn_x dn_2 ... d0)r (г = q = 2V; п - длина кода) ключа d могут быть получены по МК (б|, 62, ...,5V .j,Sv) и остатку
5п =
d
- с помощью разработанных в [18] алгоритмов модуляр-но-позиционного кодового преобразования, основ}' которых составляет
метод деления на двоичную экспоненту.
3. АЛГОРИТМ ГЕНЕРИРОВАНИЯ КЛЮЧА ДЕШИФРОВАНИЯ
Базирующийся на изложенных методологических положениях алгоритм генерирования секретного ключа для криптосистемы RSA заключается в нижеследующем.
Параметры алгоритма:
— Рабочий модуль р криптосистемы, имеющий вид р = П Pu > гДе Р„ ~Ч,Г Чг~ большие простые числа; v>l.M=1
— Основания qv qy .... q р с/ > с/(}+ s - 2 МИМСС с диапазоном Ze, где s=v+1; q=2r: О = ф(р) = П Чи (ф"
1. г,» ч 11 = 0
функция Эйлера).
— Основание г = щ позиционной системы счисления для представления открытого и секретного ключей МИМА -криптосистемы RSA.
Входные данные алгоритма: Открытый ключ еШ0, представленный в г-ичном ПК (ет1 ет 2 ... е()г длины m < [log,. Q| цифр (через [х]
обозначается наименьшее ЦЧ, не меньшее х).
~ s
Выходные данные: секретный ключ d eZ^ (Os = Y\4j ), полученный в коде {dn_Y cl., 2 - 4 )r (n < R°Sr Qs 1) ПСС с основанием г.
Тело алгоритма расчета секретного ключа
РСК. 1. Найти множители (с/и. , с/г) функции Эйлера
0 = Ф(р).
РСК.2. С помощью алгоритма на основе схемы Горнера [16] вы-
полнить позиционно-модулярное кодовое преобразование:
(^-1 ••• еХ 81 >8ы) (8/ =Иу. ('
РСК. 3. Получить для цифр кода (в0, в|,... , £л_| ) мульти-
пликативные инверсии 5,- = L. по модуля q. (/ = 0,5 -1). формируя тем самым МК (50, Si,... ) ЦЧ d =
-1
О
. 1
Ф (Р)
в базисе {q0, qh ...., qs_x}
РСК. 4. Используя (7), (8), по цифрам МК (5Ь б2,... ,55_ь50 )
число с! в базисе , д2, ..., с/л. |, £/(|} вычислить ин-
л
тервально-индексную характеристику/(с/), общую для всех элементов множества (¿/: е) (см. (12)).
РСК. 5. В качестве искомого ключа дешифрования принять ЦЧ
d , определяемое равенством (17).
РСК. 6. Применяя (19) сформировать код (б), 52,... )
ключа d в МСС с базисом , £/л_|, с[&} и диапазоном Ъ .
РСК. 7. С помощью алгоритма деления на двоичную экспонен-
ту [ 18] в МИМСС с базисом {дх, д2, • • •, , }и диапазоном Ъ0, сформировать ПК с/., 2 ■■■ 'Щ ),■ ключа d и завершить работу алгоритма.
Отметим, что все вычисления, связанные с формированием ключей Я 8 А - кр и пто с истс м ы. выполняются предварительно. Жестких требований к временным затратам на решение данной задачи так же как и других задач параметризации криптосистем, не предъявляется.
ЗАКЛЮЧЕНИЕ
Основные результата представленной разработки по проблеме создания средств генерирования ключей криптосистемы RSA кратко можно охарактеризовать следующим образом.
1. Дана математическая формализация принципа модулярной декомпозиции процесса мультипликативного инвертирования ключа шифрования криптосистемы RSA по функции Эйлера системного модуля на субпроцессы меньшей разрядности, отвечающие элементам фактор-спектра базовой функции Эйлера. При этом для компьютерной реализации результирующих субпроцессов, обеспечивающей формирование искомого значения ключа дешифрования впервые применения МИМСС.
2. Разработан метод выделения из множества значений ключа дешифрования, определяемых МК по фактор-спектру функции Эйлера системного модуля, элемента минимизирующего объем необходимых вычислений. Реализуемая процедура фактически сводится к формированию интервально-модулярного кода искомого элемента по основаниям базовой МИМСС.
3. Созданный метод ориентирован на получение ключа дешифрования RSA криптосистемы в позиционном коде. В соответствии с этим диапазон применяемой МИМСС адаптирован к условиям, обеспечивающим корректную реализацию в МИМСС модулярно-позиционного кодового преобразования методом деления на двоичную экспоненту.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Харин Ю.С., Берник В.И., Матвеев ГВ. и др. Математические и компьютерные основы криптологии. Мн.: Новое знание, 2003.
2. Червяков Н.И. и др. Применение искусственных нейронных сетей и системы остаточных классов в криптографии. М.: Физмат-лит, 2012.
3. Kawamura S., Koike М., Sano F., ShimboA. Cox-Rower architecture for fast parallel Montgomery multiplication // Eurocrypt 2000, LNCS. Vol. 1807. Berlin, 2000. P. 523-538.
4. Nozaki H., Motoyama M., ShimboA., Kawamura S. Implementation of RSAAIgorithm Based on RNS Montgomery Multiplication // Proc. Cryptographic Hardware and Embedded Systems (CHES 2001). 2001. P. 364-376.
5. Lim Z., Phillips B.J. An RNS-Enhanced microprocessor implementation of public key cryptography//Signals, Systems and Computers: Rec. of the forte-first Asilomar Conf., 2007. Pp. 1430-1434.
6. Инютин С.А. Основы модулярной алгоритмики. Ханты-Мансийск: Полиграфист, 2009.
7. Bajard J.-С., Imbert L. A Full RNS Implementation of RSA// IEEE Trans. Сотр. 2004. Vol. 53. N 6. Pp. 769-774.
8. Wu Tao, Lee Shoguo, Leu Litian. Improved RNS Montgomery modular multiplication with residue recovery // Proc. Int. Conf. on soft computing techniques and engeneering aplication advances in intelligent systems and computing, 2014. Vol. 250. Pp. 233-245.
9. Schinianakis D., Stouraitis T. Multifunction recidue architectures for cryptography // IEEE Trans. Circuits and Syst. I. 2014. 61, 4. Pp. 1156-1169.
10. Bigou K., Tisserand A. RNS modular multiplication through reduced base extentions // 25 Int. Conf. «Application specific systems, architectures and processors (ASSAP 2014)". Zurich, Switzerland, 2014. Pp. 57-62.
11. Червяков Н.И., Дерябин M.A., Лавриненко И.Н. Реализация алгоритма Монтгомери в системе остаточных классов на базе эффективного алгоритма расширения системы оснований // Нейрокомпьютеры: разраб., применение. 2014. № 9. С. 37-45.
12. Оцоков Ш.А. Способ организации высокоточных вычислений в модулярной арифметике // Первая международная конференция «Параллельная компьютерная алгебра и ее приложения в
новых инфокоммуникационных системах». Сборник научных трудов. Ставрополь: Фабула, 2014. С. 270-277.
13. Чернявский А.Ф., Коляда A.A., Коляда H.A. и др. Умножение по большим модулям методом Монтгомери с применением минимально избыточной модулярной арифметики // Всерос. науч. конф. с элементами научной школы для молодежи «Параллельная компьютерная алгебра». Ставрополь, гос. у-т. Нейрокомпьютеры: разраб., применение. Москва, 2010. № 9. С. 3-8.
14. Каленик А.Н., Коляда A.A., Коляда H.A., Чернявский А.Ф., Ша-бинская Е.В. Умножение и возведение в степень по большим модулям с использованием минимально избыточной модулярной арифметики // Информационные технологии. 2012. № 4. С. 37-44.
15. Чернявский А.Ф., Коляда A.A. Вычисление интегральных характеристик минимально избыточного модулярного кода // Доклады HAH Беларуси, 2015. Т. 59. №6. С. 40-46.
16. Городецкий Д.А., Коляда A.A., Коляда Н. А., Шабинская Е.В. Применение таблично-сумматорной вычислительной технологии для позиционно-модулярного кодового преобразования по схеме Горнера // Первая международная конференция «Параллельная компьютерная алгебра и ее приложения в новых инфокоммуникационных системах». Сборник научных трудов. Ставрополь: Фабула, 2014. С. 247-252.
17. Коляда A.A., Чернявский А.Ф. Интегрально-характеристическая база модулярных систем счисления // Информатика. 2013. № 1. С. 106-119.
18. Коляда A.A., Кучинский П.В., Червяков Н.И., Чернявский А.Ф., Шабинская Е.В. Метод деления на двоичную экспоненту для преобразования минимально избыточного модулярного кода в позиционный код // Инфокоммуникационные технологии. 2014. Т. 12. №3. С. 4-10.