Научная статья на тему 'Новая семантически стойкая система шифрования с открытым ключом на базе RSA'

Новая семантически стойкая система шифрования с открытым ключом на базе RSA Текст научной статьи по специальности «Математика»

CC BY
564
62
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
СЕМАНТИЧЕСКАЯ СТОЙКОСТЬ / СИСТЕМА ШИФРОВАНИЯ С ОТКРЫТЫМ КЛЮЧОМ / RSA / ПЛАТФОРМА ШИФРОВАНИЯ / КЛЮЧИ ШИФРОВАНИЯ И РАСШИФРОВАНИЯ / МУЛЬТИПЛИКАТИВНАЯ ГРУППА КОЛЬЦА ВЫЧЕТОВ / ПОДГРУППА КВАДРАТИЧНЫХ ВЫЧЕТОВ / SEMANTIC SECURITY / PUBLIC-KEY CRYPTOSYSTEM / RSA CRYPTOSYSTEM / ENCRYPTION PLATFORM / ENCRYPTION AND DECRYPTION KEYS / THE MULTIPLICATIVE GROUP OF A RESIDUE RING / THE SUBGROUP OF QUADRATIC RESIDUES

Аннотация научной статьи по математике, автор научной работы — Романьков В. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

A semantically secure public-key cryptosystem based on RSA

We present a semantically secure public-key cryptosystem based on the RSA cryp-tosystem. We describe possible preferences of the proposed cryptosystem with respect to the basic RSA cryptosystem. These preferences include a semantic security property, as well as more various choice of an encryption key, and the possibility to select this key by an ordinary user. It is shown that the knowledge of the modulus factorization does not allow to break the cryptosystem as it happens in the basic RSA.

Текст научной работы на тему «Новая семантически стойкая система шифрования с открытым ключом на базе RSA»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2015

Математические методы криптографии

№ 3(29)

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

УДК 003.26; 512.5

НОВАЯ СЕМАНТИЧЕСКИ СТОЙКАЯ СИСТЕМА ШИФРОВАНИЯ С ОТКРЫТЫМ КЛЮЧОМ НА БАЗЕ RSA1

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

Омский государственный университет им. Ф. М. Достоевского, г. Омск, Россия

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

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

DOI 10.17223/20710410/29/3

A SEMANTICALLY SECURE PUBLIC-KEY CRYPTOSYSTEM

BASED ON RSA

V. A. Romankov

Omsk State University, Omsk, Russia E-mail: [email protected]

We present a semantically secure public-key cryptosystem based on the RSA cryptosystem. We describe possible preferences of the proposed cryptosystem with respect to the basic RSA cryptosystem. These preferences include a semantic security property, as well as more various choice of an encryption key, and the possibility to select this key by an ordinary user. It is shown that the knowledge of the modulus factorization does not allow to break the cryptosystem as it happens in the basic RSA.

Keywords: semantic security, public-key cryptosystem, RSA cryptosystem, encryption platformm, encryption and decryption keys, the multiplicative group of a residue ring, the subgroup of quadratic residues.

Введение

Система RSA, введённая в обращение Роном Ривестом, Ади Шамиром и Леном Адлеманом в 1977 г. [1], является наиболее популярной криптографической системой

хРабота выполнена при финансовой поддержке РФФИ, проект №15.41.04312.

Новая семантически стойкая система шифрования с открытым ключом на базе RSA 33

с открытым ключом. Она широко используется во всём мире как для шифрования, так и для цифровой подписи. В настоящее время RSA входит во все учебники по криптографии. Ей посвящено немало статей, она выдержала множество атак. Не раз объявлялось, что система исчерпала себя, но по-прежнему подобные утверждения остаются безосновательными. Относительно системы RSA и её криптографической стойкости см. [2-4].

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

В дальнейшем Zn обозначает кольцо вычетов по модулю п, который в данной работе является произведением двух (больших) различных простых чисел p и q. Через Z*n обозначается мультипликативная группа кольца Zn. Через Z(2) обозначаем множество всех чисел, представляющихся в виде произведения двух различных простых нечётных чисел. Таким образом, n G Z(2).

1. Классическая версия RSA

Установка системы RSA

Платформой для системы RSA служит кольцо вычетов Zn, где модуль п есть произведение двух различных достаточно больших простых чисел p и q. Числа p и q являются секретными, модуль п — открытым. Из соображений секретности числа p и q выбираются случайным образом. Считается, что p и q должны быть примерно одинаковой битовой длины.

После выбора p и q, однозначно определяющих модуль п и платформу Zn, вычисляется функция Эйлера р(п) = p(p)p(q) = (p — 1)(q — 1). Её значение сохраняется в секрете.

Напомним, что р(п) равно числу натуральных чисел, не больших п и взаимно простых с п. Записываемые этими числами вычеты, и только они, являются обратимыми по модулю п, то есть обратимыми в кольце Zn. Значит, р(п) = |Zn| является порядком группы Zn обратимых вычетов кольца Zn.

Далее выбирается ключ зашифрования e — целое число в пределах 2 ^ e ^ р(п) — 1, такое, что e и р(п) взаимно простые. В дальнейшем e используется как открытый ключ зашифрования (экспонента зашифрования).

Однозначно вычисляется число d, такое, что ed =1 (mod р(п)). Вычет d = = e-1 mod р(п) является обратным элементом к e в группе Z*(n).

Число d является секретным и используется в дальнейшем в качестве ключа расшифрования (экспоненты расшифрования). Оно эффективно вычисляется по e и р(п) расширенным алгоритмом Евклида.

Открытые данные: модуль п и ключ зашифрования e.

34

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

Секретные данные: параметры p и q, значение функции Эйлера <p(n), ключ расшифрования d.

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

Для передачи своего сообщения m, представленного как элемент кольца Zn, корреспондент Алиса должна знать открытый ключ (n,e) корреспондента Боба, которому предназначено данное сообщение. Сообщение т записывается своим стандартным значением, то есть 0 ^ m ^ n — 1. Зашифрованное сообщение с вычисляется по правилу

с = me mod n. (1)

При этом для вычета с, передаваемого по открытой сети, используется его стандартное значение, то есть 0 ^ с ^ n — 1.

Чтобы расшифровать сообщение, Боб использует свой секретный ключ расшифрования d, выполняя следующее действие:

cd = med = т (mod n). (2)

Справедливость равенства (2) в случае обратимого вычета m следует из формулы Эйлера m^(n) = 1 (mod n). Если m необратим, равенство (2) также имеет место (см., например, [5]).

Криптостойкость системы RSA основывается на трудности решения задачи о разложении на множители больших чисел вида n = pq. Эта задача решается уже сотни лет, но эффективный алгоритм разложения в общем случае так и не найден. Если потенциальный взломщик или нелигитимный пользователь сумеет найти числа p и q, он сможет вычислить ключ d и читать все сообщения, предназначенные в данной системе Бобу. Известно также (см., например, [6, с. 94-95]), что по ключу d можно, используя метод Монте-Карло, вычислить параметры p и q, что полностью разоблачает и делает непригодной к использованию установленную Бобом систему.

Из приведённых рассуждений, однако, не следует, что криптостойкость системы RSA равносильна трудноразрешимости проблемы разложения чисел вида n = pq на множители. Известны атаки, в которых использованы другие соображения (см., например, [7]). Возможно, что существует ещё не найденный универсальный способ прочтения сообщения m без вычисления секретных параметров p, q и ключа расшифрования d. Но это только предположение.

2. Индивидуальные и универсальные ключи

Пусть порядок |m| элемента m группы Zn равен t. Это означает, что наименьшая степень, в которой элемент m равен 1 в группе ZJj, равна t. Тогда зашифрованное сообщение с = me mod n может быть расшифровано индивидуальным ключом dt, определяемым равенством edt = 1 (mod t). Ключ dt может оказаться существенно меньше, чем универсальный ключ расшифрования d. Он подходит для расшифрования всех зашифрованных сообщений вида ge, таких, что gt =1 в группе Z*n (или, что то же самое, ф =1 (mod n)). Действительно, из равенства edt = 1 (mod t) следует, что edt = 1 + tl для некоторого целого l. Тогда (ge)dt = gedt = g1+tl = g (mod n). В част-

ности, вычисление универсального ключа d, с помощью которого расшифровывается любое зашифрованное сообщение, основано на том, что для любого g Е Z*n по формуле Эйлера g^(n) = 1 (mod n).

Пусть т(Zn) обозначает период группы Z*n, то есть наименьшее натуральное число t, такое, что gt =1 для любого элемента g группы Zn. Условие gt =1 (mod n)

Новая семантически стойкая система шифрования с открытым ключом на базе RSA 35

равносильно одновременному выполнению условий д* = 1 (mod p) и д* = 1 (mod q). Так как мультипликативные группы Zp и Zp полей Zp и Zq циклические порядков p — 1 и q — 1 соответственно, для любого элемента д группы Zp выполнено равенство д* = 1, где t = [p — 1, q — 1] ([a, b] означает «наименьшее общее кратное чисел a и 6»). Заметим, что такое t заведомо меньше, чем <p(n), так как при больших простых p и q числа p — 1 и q — 1 оба чётные. Число t позволяет определить универсальный ключ расшифрования dt, не всегда совпадающий с d.

Можно утверждать, что [p — 1, q — 1] совпадает с периодом т(Zp). Докажем это.

k k

Пусть p — 1 = П pi' и q — 1 = П pmi — разложения в произведения примарных мно-

i= 1 i= 1

k

жителей. Тогда [p — 1, q — 1] = П pр, где ri = max(^ ,т,), i = 1,...,k. Достаточно

i= 1

k

доказать, что в группе Zp найдётся элемент порядка t = ф[ p^. Пусть t = t1t2, где

i=1

t1 = П pri, t2 = П p? . Тогда t1 делит p — 1 и t2 делит q — 1.

iG(1,...,k}:ri=/i iG(1,...,k}:/i =mi,ri=mi

Заметим также, что (t1, t2) = 1.

Пусть f — порождающий элемент группы Zp, h — порождающий элемент группы Zq. Элемент д1 = f(p-1)/tl имеет порядок t1, элемент д2 = h(q-1)/*2 —порядок t2.

Так как эти порядки взаимно просты, элемент д = д1 д2 имеет порядок t. Отсюда получаем требуемое утверждение.

Итак, система допускает два способа вычисления ключа расшифрования по соотношениям ed = 1 (mod <p(n)) и edt = 1 (mod т(n)) соответственно, где т(n) = [p — 1, q — 1]. В некоторых случаях эти ключи совпадают, иногда отличаются достаточно сильно. Например, при p =19, q = 37, n = 703, p(n) = 648, т(n) = 36 для ключа шифрования e = 5 получаем d = 574, dt = 29.

Приведённые рассуждения наталкивают на мысль построения подсистемы данной системы RSA, позволяющей использовать ключи зашифрования, которые не могут быть таковыми для всей системы. В частности, оказалось возможным использовать в качестве e чётные числа, более того — степени двойки. Более подробно об этом говорится далее.

3. Новая семантически стойкая система шифрования с открытым ключом

на базе RSA

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

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

Пусть n = pq Е Z(2). В качестве платформы для системы шифрования выбираем кольцо вычетов Zp.

Пусть M — подгруппа мультипликативной группы Gp = Zp, r = |M| —её период (или порядок). Можно также использовать любое число г, делящееся на период подгруппы M. Считаем, что множество всех возможных сообщений m совпадает с M. Таким образом, M выступает в роли пространства сообщений.

Выберем другую подгруппу H ^ Gp периода (или порядка) t, взаимно простого с г. В качестве t также можно взять любое число, делящееся на период подгруппы H и взаимно простое с r.

Данные n, M, H открыты. Данные p, q, r, t секретны.

36

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

Установка: ключи

Ключ зашифрования e — любое натуральное число, взаимно простое с г. Ключ расшифрования d = td1 вычисляется из равенства

(te)di = 1 (mod г).

Это можно сделать, так как te и г — взаимно простые числа. Ключ e открытый, d — секретный.

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

Для того чтобы передать по незащищённой сети сообщение m Е M, Алиса выбирает случайный элемент h Е H и вычисляет элемент hm Е Gn. Передача имеет вид

A : c = (hm)e mod n ^ B.

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

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

B : cd = m mod n.

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

Так как ed =1 (mod г), найдётся целое число к, такое, что ed = 1 + гк. Тогда cd = (hm)ed = (h*)ed1 m1+rk = m (mod n).

Выбор и задание составляющих системы

Кроме обычных рекомендаций, касающихся системы шифрования RSA, нужно определить подгруппы H и M. Предлагается задавать эти подгруппы своими порождающими элементами. Например, они могут быть циклическими подгруппами H = гр(Л,) и M = гр(д), для задания которых достаточно определить элементы h и д взаимно простых порядков t и г соответственно.

Одним из эффективных способов выбора циклических подгрупп заданного порядка является следующая процедура, неоднократно описанная в разных источниках (см., например, [5]). Генерируется простое число р. Для этого выбирается простое число р1. Случайным образом выбирается чётное число s в интервале р1 ^ s ^ 4р1 + 2. Полагаем р2 = pis + 1. Далее случайным образом ищется число a в интервале 2 ^ a ^ р2 — 1, удовлетворяющее условиям

ap2-i = 1 (mod р2), (as — 1,р2) = 1.

Если это удалось сделать, то р2 простое. Мы либо останавливаемся, полагая р = р2, либо продолжаем процесс с р2 вместо р1. Известно, что при простом р2 вероятность выбора подходящего a не меньше 1 — 1/р1. Если после достаточного числа проверок число a с нужными свойствами подобрать не удаётся, меняем s. Практика показала, что найти указанным способом простое число удаётся с вероятностью близкой к 1 . Таким образом строятся сколь угодно большие простые числа.

Заметим, что в этом построении при достаточно большом р1 можно выбирать s с любым заранее заданным делителем г. Если при этом получается простое р, то г делит s = р — 1. В мультипликативной группе Z* есть элемент д1 нужного порядка г. Найти его можно известными способами, в том числе практическими. Для получения

Новая семантически стойкая система шифрования с открытым ключом на базе RSA 37

элемента д порядка r в группе Gn достаточно составить и решить по китайской теореме об остатках систему сравнений

I д = gi (mod p),

1 д = 1 (mod q),

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

где q — другой простой множитель модуля n.

Заметим, что построение простого числа p описанной процедурой можно осуществлять, получая в итоге не только простое число р, но и разложение на множители порядка р — 1 мультипликативной группы поля Zp. Это даёт возможность строить подгруппы в Zp заданных порядков.

Можно предложить и другой выбор простого числа, когда берутся числа вида 2s+ 1 нужного размера и проверяются на простоту известными вероятностными алгоритмами. Здесь также можно контролировать разложение p — 1 на множители. Заметим, что упомянутые два способа являются основными для построения простых параметров в криптографии.

Можно построить несколько элементов д1,... , gi соответствующих заданных порядков ri,... ,rl. Тогда порождённая ими подгруппа гр(д1,... , gl) имеет период г, делящий [ri,... , ri]. Этого достаточно для задания подгруппы M. Аналогичным способом можно задавать и подгруппу H.

Свойства построенной системы шифрования

— Система является семантически стойкой. Это обеспечивается тем, что одно и то же сообщение m Е M передается t различными случайно определяемыми способами. Поэтому, имея два сообщения mi и m2, а также зашифрованное сообщение (hm)e mod n, потенциальный взломщик не может определить, какое из двух сообщений зашифровано. Это одно из определений семантической стойкости.

— Ключом зашифрования e может быть любое число, взаимно простое с r. Если, например, r — простое число, то можно допустить выбор ключа e самим пользователем. Действительно, пользователь может выбирать из интервала с правой границей, заведомо меньшей r. Да и в общем случае при большом неизвестном простом r вероятность случайного выбора числа e, делящегося на r, пренебрежимо мала.

— Для компрометации предлагаемой системы шифрования недостаточно знания параметров p и q.

Объясним последнее из перечисленных свойств.

Заметим, что проблема определения порядка произвольного элемента группы Zn влечёт решение проблемы RSA, то есть определение зашифрованного сообщения m по c = me mod n. Значит, эту проблему можно считать трудноразрешимой. Знание параметров p и q также не позволяет вычислять порядки элементов группы Zn за полиномиальное время; это возможно только при знании разложений р — 1 и q — 1. Действительно, можно сделать так, что р — 1 = 2П, n' = рq1, где р и q1 — большие различные простые числа. Если уметь вычислять порядки случайных элементов мультипликативной группы Zn, то можно получить разложение n'.

При знании р и q можно вычислить hm mod n и попытаться определить множители h и m. Эту задачу также можно рассматривать как трудноразрешимую. Например, если взять в качестве M подгруппу квадратичных вычетов в группе Zn, проблема вхождения в которую традиционно рассматривается как трудноразрешимая, то при наличии способа определения множителей h и m можно определить по hm mod n

38

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

принадлежность этого элемента к подгруппе квадратичных вычетов. Это происходит только в случае, когда h = 1 (mod n).

Если всё же потенциальному взломщику системы удастся определить параметр t, то для нахождения m ему придётся решать обычную проблему RSA. Заметим, что предлагаемая схема шифрования сводится к RSA при выборе в качестве H единичной подгруппы, а в качестве M — всей мультипликативной группы Z*n.

4. Шифрование на подгруппе квадратичных вычетов

Представляется естественной следующая версия RSA, которую назовём квадратичной подсистемой RSA.

Установка квадратичной подсистемы RSA

При выборе параметров p и q на них накладывается дополнительное требование: они должны иметь вид p = 4k + 3 и q = 4/ + 3. В качестве платформы шифрования выбирается подгруппа Qn ^ Zn, состоящая из всех квадратичных вычетов группы Zn. Так как каждый элемент g Е Qn имеет в точности четыре различных корня второй степени, порядок подгруппы Qn равен нечётному числу t = <^(n)/4 = (2k + 1)(2/ + 1). Более того, при таком выборе простых чисел возведение в квадрат определяет биективное отображение группы Qn на себя. Следовательно, извлечение квадратных корней в группе Qn однозначно. При знании параметров p и q процесс извлечения квадратных корней в группе Zn и проверки их на принадлежность подгруппе Qn может быть организован эффективно. Если указанные параметры неизвестны, извлечение корней равносильно разложению модуля на множители. Проверка принадлежности вычета группе Qn в этом случае также представляется трудноразрешимой задачей.

В качестве ключа шифрования на группе Qn выбирается любое натуральное число е, взаимно простое с её порядком t. Например, можно взять e = 2s, где s — произвольное натуральное число. Ключ расшифрования d получается из соотношения ed =1 (mod t).

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

Шифрование осуществляется обычным способом. Зашифрованное сообщение c для m Е Qn вычисляется по формуле (1). В качестве ключа зашифрования е можно брать любое число, взаимно простое с порядком подгруппы Qn. Если выбирается нечётный ключ е, то условие на параметры p и q (остаток 3 при делении на 4) можно не накладывать. В особом случае получается

c = m2 mod n.

Если e = 2s, то расшифрование можно осуществить и другим способом, последовательно извлекая s квадратных корней, начиная с c, оставляя для дальнейших вычислений тот из корней, что принадлежит Qn. Знание параметров p и q позволяет проводить такой процесс эффективно. В основном мы рассматриваем такую возможность как чисто теоретическую. Указанный способ шифрования можно сравнить с известной системой шифрования Рабина [8]. Основное отличие состоит в том, что платформой шифрования в предлагаемой системе служит не вся группа Zn, а только её подгруппа квадратичных вычетов Qn. В системе Рабина используется возведение в квадрат, но для любого вычета m Е Zn. Расшифрование даёт четыре варианта для m, из которых только один является правильным. В предлагаемой системе можно использовать возведение в любую степень вида 2s/, где / взаимно просто с <^(n)/4, расшифрование однозначно. Для зашифровывания произвольного m Е Zn можно использовать следующие соображения.

Новая семантически стойкая система шифрования с открытым ключом на базе RSA 39

Замечание 1. Элементы подгруппы Qn — полные квадраты. Если мы хотим передавать любые сообщения m в пределах от 0 до n — 1, как это делается в RSA, можно использовать теорему Лагранжа о представлении любого натурального числа m в виде суммы четырёх квадратов m\ + m| + m| + m^. Известно, что нахождение такого представления для произвольного m эффективно. Остается передать слагаемые, по которым сообщение восстанавливается однозначно. Для упрощения можно даже передать любой квадрат u2 ^ m и открытым способом разницу m — u2.

Использование квадратичной подсистемы RSA имеет ряд отличий, которые можно в определённом смысле считать преимуществами:

— возможность использования чётных ключей шифрования;

— возможность использования ключей шифрования вида 2s, которые могут выбирать пользователи подсистемы RSA, а не только её владелец;

— ключи вида 2s могут меняться от раунда к раунду. Это, например, позволяет передавать одинаковые сообщения в разных видах, что даёт возможность обеспечить семантическую секретность;

— расшифрование при использовании ключей вида 2s можно осуществлять одной и той же программой вычисления квадратных корней в группе Qn. Отличие только в s — числе шагов работы программы. Процесс расшифрования может быть организован без знания этого параметра;

— шифрование в квадратичной подсистеме можно включить как часть системы, описанной в предыдущем пункте: подгруппу Qn можно выбрать в качестве фигурирующей там подгруппы M.

Последнее из приведённых свойств представляется наиболее важным для приложений.

5. Использование общего модуля n

В литературе неоднократно объяснялось, что знание ключа расшифрования d позволяет методом Монте-Карло эффективно раскрыть секретные параметры p и q и тем самым дискредитировать данную систему RSA (см., например, [6, с. 94-95]). Однако можно представить себе некоторую сеть, пользователи которой обладают системами RSA с общим модулем n. В сеть передаются шифрованные сообщения, общие для всех пользователей; например, пользователи — отделения одной и той же организации. Раскрывать секретные параметры легитимным пользователям нецелесообразно. В этом случае имеет смысл наделять пользователей разными парами (e, d) ключей шифрования и расшифрования. В противном случае, если будет достаточно много одинаковых ключей шифрования e, нелигитимный пользователь может прочитать зашифрованное сообщение, используя китайскую теорему об остатках. Этот способ также хорошо известен (см., например, [2, с. 51; 5, с. 105]).

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

Y eiki = 1, что позволяет по соответствующему набору зашифрованных вариантов

i= 1

Ci = mei mod n, i = 1,...,/, одного и того же сообщения m восстановить это сообще-

ние:

i=1

l

У; eiki

mi=1

m (mod n).

40

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

Такое восстановление невозможно при использовании ключей вида 2s в квадратичной подсистеме RSA.

ЛИТЕРАТУРА

1. Rivest R., Shamir A., and Adleman L. A method for obtaining digital signatures and public-key cryptosystems // Comm. ACM. 1978. V. 21(2). P. 120-126.

2. Hinek M. J. Cryptanalysis of RSA and its Variants. Boca Raton: Chapman & Hall/CRC, 2010.

3. Song Y. Y. Cryptanalytic Attacks on RSA. Springer, 2008.

4. Stamp M. and Low R. M. Applied Cryptanalysis. Breaking Ciphers in the Real World. Hoboken: John Wiley & Sons, 2007.

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

6. Koblitz N. A Course in Number Theory and Cryptography. N.Y.: Springer, 1994. 235 p.

7. Maurer U. M. Fast generation of prime numbers and secure public-key cryptographic parameters // Cryptology. 1995. V. 8. P.123-155.

8. Rabin M. O. Digitalized Signatures and Public Key Functions as Intractable as Factorization. Technical Report. Cambridge: MIT, 1979.

REFERENCES

1. Rivest R., Shamir A., and Adleman L. A method for obtaining digital signatures and public-key cryptosystems. Comm. ACM, 1978, vol. 21(2), pp. 120-126.

2. Hinek M. J. Cryptanalysis of RSA and its Variants. Boca Raton, Chapman & Hall/CRC Publ.,

2010.

3. Song Y. Y. Cryptanalytic Attacks on RSA. Springer, 2008.

4. Stamp M. and Low R. M. Applied Cryptanalysis. Breaking Ciphers in the Real World. Hoboken, John Wiley & Sons, 2007.

5. RomankovV.A. Vvedenie v kriptografiyu [Introduction to Cryptography]. Moscow, Forum Publ., 2012. 239 p. (in Russian)

6. Koblitz N. A Course in Number Theory and Cryptography. N.Y., Springer, 1994. 235 p.

7. Maurer U. M. Fast generation of prime numbers and secure public-key cryptographic parameters. Cryptology, 1995, vol. 8, pp. 123-155.

8. Rabin M. O. Digitalized Signatures and Public Key Functions as Intractable as Factorization. Technical Report. Cambridge, MIT, 1979.

i Надоели баннеры? Вы всегда можете отключить рекламу.