Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 [ 14 ] 15 16

Учитывая изоморфизм Zn = Zp + Zq, получаем

Bnn = BPo-Bqo = (r,p - 1)(r,q - 1)= ml,

так как порядок подгруппы

{a £ Zp: ar = 1 (mod p)}

группы аден {r,p - 1) = m.

Рассуждая аналогично, получаем

B:: = B;ЦВ = ((2sr,p - 1) - (2s-1 r,p - 1))((2sr,q - 1)- (2s-1r,q - 1)) = (2sm - 2s-1m)(2sl - 2s-1l) = 221s-1)ml.

Отсюда

Bn = ml Y 22kml = ml

= ml

4i - 1\

2i+j

< ml

Теорема доказана. □

В заключение заметим, что каждый пользователь должен неза-

ации простых чисел p ш q достаточно трудоемкий, нельзя делать число и = pq общим хотя бы для двух разных пользователей системы RSA.

Теорема. Если абонент те же числа и q, что и B

экспоненты друг друга с помощью детерминированного алгоритма.

dA Л eB

и таслить величину eBdB - 1 = k(u) k ш (и) -

неизвестные ему значения.

t eBdB - 1

(eBdB - 1)/t eA

Покажем что существует детерминированный алгоритм его вычисления.

Шаг 1. Полагаем qo = eB dB - 1, ho = (go,eA), t = ho. Шаг 2. Для всех nop, пока hi > 1, полагаем

gi = gi-i gi-i/hi-i, hi = (gi ,eA), t = thj.

будет искомым.

Легко видеть, что число t = hohi... hi, будет удовлетворять условию

eBdB - 1

-,еА

причем алгоритм выполнит не более 2 log № как если hi 2, то

i € log2(eBdB - 1) € 2log2 и.

Воспользуемся теперь расширенным алгоритм Евклида для нахождения чисел и Ъ из условия

ев(1в - 1

t

ЪeA = 1.

Далее, покажем, что Ъ = dA (mod и) - искомое число. Так как t = hoh1 X ... X вде hi (eA, (и)) = 1o (t, (и)) = 1. Отсюда

ев<1в - 1 t

В заключение сделаем еще одно замечание, относящееся к данному случаю. Предположим, что мы просмотрели список открытых ключей

(eA, eB) = 1

для чисел x, та, что xxeA + yeв = 1, будет верно простое соот-

зашифрованного на этих ключах. А именно, если s1 = teA (mod и), s2 = teB (mod u)o is2 = t (mod и).

14.2. Условия на выбор чисел рш q

воляет полностью дешифровать схему RSA и определить секретный

шифрования.

которых может приводить к снижению стойкости шифрования.

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



Во-вторых, они не должны быть близкими, так как иначе можно воспользоваться методом факторизации Ферма и решить уравнение

\ 2 )

В-третьих, огромную роль играют разложения на простые множители чисел p - 1ш q - стлу изоморфизма Zn = Zp + Zg для порядков элементов а = ai + а2 этого кольца выполняется соотношение

ordn(a) TOK(ordp(ai),ordg(а2))

нение

ed = 1 (mod (p - 1,q - 1))

вместо сравнения

ed = 1 (mod (n)) p- 1 q - 1

Н0К(р-1,,-1).

Следовательно, в схеме RSA всегда есть эквивалентные по рас-

d d + (p - 1, q - 1) При этом эквивалентных решений будет тем больше, чем больше HOД(p - 1,q - 1).

(p-1, q-1)=2 p=2t+1 q=2s+1 s t (s, t) = 1

(p- 1) (p+ 1)

p- 1 p+ 1 q - 1 q + 1 дение маленьких простых сомножителей и содержали бы в качестве сомножителя хотя бы одно большое простое число. Наиболее сильное требование, сформулированное Ривестом в 1978 г., заключается в том, чтобы числа

p1 =

р-1 2

p2 =

Р+1 2

q1 =

2

q2 =

p1 - 1 q1 - 1

гаться в произведение маленьких простых чисел, а должны содержать в качестве одного из делителей большое простое число.

выполняются условия:

p = 1 (mod r), p = s - 1 (mod s), r = 1 (mod t),

p r s t

p q r t

при некоторых j k 1 выполнены равенства:

p =2jr + 1, p =2ks - 1, r = 21t + 1

Дж. Гордон предложил в 1984 г. алгоритм генерации таких чисел.

каждого из них используем следующий метод. Фиксиру-

и с помощью пробных делений оставляем в интервале [x,x + log x] только те числа, которые не имеют маленьких делителей. Проверяем оставшиеся числа на простоту одним из тестов простоты.

Шаг 2. Строим простое число гад а 21t+ м ч исел 1 в интервале [1, log t], используя аналогично шагу 1 просеивание с помощью пробных делений на маленькие простые числа и применяя затем к оставшимся числам тесты простоты.

Шаг 3. Вычисляем число м(г, s) = (sr-1 - rs-1) mod rs и полагаем

po =

м(г, s), м(г, s)=2g + 1,

м(г, s) + rs, м(г, s) = 2g, g €

po + 2krs простоты.

в основе данного алгоритма лежит следующая

r s p

удовлетворяет условиям

p = 1 (mod r) , p = s - 1 (mod s)



p= po + 2krs

Г u(r,s), u(r,s)=2g + 1,

]u(r,s)+ rs, u(r,s)=2g,g £ Z,

u(r,s) = (sr-1 + rs-1) mod rs.

Доказательство. В силу малой теоремы Ферма имеем

sr-1 = 1 (mod r), rs-1 = 1 (mod s).

Отсюда, учитывая, что sr-1 = 0 (mod rs-1 = 0 (mod r), получаем

{u(r, s) = 1 (mod r), u(r, s) = -1 (mod s).

p = po + 2 krs

Покажем, что других чисел, удовлетворяющих данному условию нет. Если p - число, то p - p = 0 (mod r) ш p - p = 0 (mod s). Отсюда p = p (mod rs тачит p = u(r, s) (mod rs тасло p имеет po + 2krs □

может быть наличие большого числа элементов ш £ Z*n, представляющих открытые сообщения и имеющих малый порядок ordn(u)). В этом случае для нахождения неизвестного сообщения ш можно изменить метод итерации процесса зашифрования

до тех пор, пока не выполнится условие

eu = 1 (mod OIdn(ш)),

и, следовательно.

{seU) 1 = ш" = ш (mod и)

Минимальное число шагов до получения шио oidordni)(e). Значит для безопасности шифрования необходимо потребовать, чтобы для почти всех x £ Z*n п e £ Zin отчина ordordn(ш) (e) была достаточно большой.

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

Лемма. Пусть h=p p-1=2RpF q - 1 = 2RqFq, где каноническое разложение чисел и Fq имеет вид

Тогда доля сообщений x £ тторых ordn(xx)

0K(Fp,Fq), удовлетворяет неравенству

Fq pi qi

Доказательство. Воспользуемся оценкой, доказанной в лемме 3 из 12.4:

{x £ Z; : Fp ordp(x)} (p - 1)

(Fq )

{x £ Z; : Fq ordq(x)} (q - 1)

Fp ordn(x) Fq ordn(x) (Fp, Fq) ordn(x)

{x £ zn : [Fp,Fq] ordn(x)} (p - 1)(q - 1)

(Fp) (Fq)

что и доказывает лемму.

и = pq

pi - 1 = 2aiЪi, i = 1,...,r, qj - 1 = 2aj Ъз , j = 1,...,s, где каноническое разложение чисел Ъi и Ъ.! имеет вид

=1 =1



0 1 2 3 4 5 6 7 8 9 10 11 12 13 [ 14 ] 15 16