СВЯЗАННЫЕ С ОБОСНОВАНИЕМ КРИПТОГРАФИЧЕСКИХ СВОЙСТВ СИСТЕМЫ RSA



 

    7.1. В системе RSA простые числа p и q не следует выбирать близкими друг к другу. Нетрудно видеть, что

                                 (p+q)2/4 - n = (p-q)2/4.

    Таким образом, левая часть равенства образует полный квадрат.

    Проверяя далее целые числа x>(n)1/2, находим такое, что x2-n есть полный квадрат:  x2-n = y2. Отсюда получим разложение

                                 n= (x-y)(x+y).

    7.2. Выбор p и q важен также с точки зрения возможной атаки, основанной на последовательном шифровании. При этом процесс начинается с шифртекста c0=me (mod n) и заключается в последовательном вычислении чисел ci=(ci-1)e (mod n), i=1,2,... до нахождения открытого текста m.

    Нетрудно видеть, что данный метод может быть эффективным в случае “малости” мультипликативного порядка числа e по модулю j(n)=(p-1)(q-1). А так как порядок числа e является делителем j(n), то эффективность метода маловероятна, если (p-1) и (q-1) обладают большими простыми множителями.

 

    7.4. В некоторых случаях выбор “маленькой” экспоненты шифрования e может привести к слабости системы в целом.

    Пусть абоненты A,B,C имеют открытую экспоненту зашифрования e=3. При этом n1, n2, n3  - соответствующие попарно взаимно простые модули используемых ими систем RSA.

    Пусть каждому из абонентов направлено одно и то же сообщение  w< min{n1, n2, n3}. Тогда имеем систему уравнений   

                                 ci =w3 (mod ni), i =1,2,3.

    По известным ci с учетом китайской теоремы об остатках можно вычислить число w*ÎZn, n=n1×n2×n3, удовлетворяющее соотношениям

ci =w* (mod ni), i =1,2,3.

Следовательно,   w* = w3 (mod n) , n=n1n2n3.

    Так как w<ni при любом i =1,2,3, то будем иметь равенство w3=w*  в кольце Z целых чисел. Отсюда w = (w*)1/3 , и открытый текст восстановлен.

 

    7.5. Однако и выбор “большой” экспоненты e может оказаться неудачным. Нетрудно убедиться в том, что если e-1 является кратным обоих чисел p-1 и q-1, тогда для любого x

                                 xeº x (mod n).

В частности, таким свойством обладает экспонента вида e= j(n)/2 +1.

    7.6. Теорема. Алгоритм нахождения экспоненты расшифрования d можно преобразовать в вероятностный алгоритм факторизации n=pq.

    Доказательство. В доказательстве мы будем использовать числа w со свойством 1£w<n и (w,n)=1. Ясно, что если в результате случайного выбора w<n мы получим (w,n)>1, то это приведет к разложению числа n=pq.

    Это будет и в случае нахождения в кольце Zn нетривиального квадратного корня из 1, то есть в случае нахождения числа u такого, что      u¹±1 (mod n) и одновременно u2º1 (mod n).

    Действительно, в таком случае (u+1)(u-1)º0 (mod n),  Þ (u+1,n) - нетривиальный делитель для n.

    Итак, пусть экспонента d стала известной. Находим представление

                                 ed-1 = 2s r, s³1, r - нечетно.

    Так как ed-1º0 (mod j(n)), то получаем соотношение

                                 2s×r

                                 w   º 1 (mod n)

для произвольного w (напомним, что мы рассматриваем лишь такие w, что 1£w<n и (w,n)=1).

    Пусть s(1), где 0£s(1)£ s, является наименьшим числом, для которого выполнено сравнение

                                 2s(1)× r

                                 w   º 1 (mod n).

 

    Если при этом s(1)>0 и

 

                                 2s(1)-1×r

                                 w   ¹ -1 (mod n)                              (7.1)

 

то мы найдем нетривиальный квадратный корень из 1 по модулю n, что приводит к разложению числа n.

    Пусть теперь (7.1) не имеет места. Это равносильно тому, что

                                 wr º 1 (mod n)

или

                                 2t× r

                                 w   º -1 (mod n)                               (7.2)

для 0£t<s.

    Пусть p-1 = 2i×a, q-1 = 2j×b, где a,b - нечетны, i,j³1. Положим для определенности i£j. Так как 2s×r является кратным j(n), то r кратно ab. Отсюда если t³i,то 2t×r кратно p-1 и будем иметь

                                 2t×r

                                 w   º 1 (mod p).

    Далее имеем

                                  2t×r

                                 w   ¹ -1 (mod p), Þ

                                 2t×r

                                 w   ¹ -1 (mod n).

    Таким образом, условия (7.2) никогда не будут выполнены для t³i, Þ условия (7.2) можно записать в следующей эквивалентной форме:

                                 wr = 1 (mod n)

или

                                 2t×r

                                 w   º -1 (mod n)                          (7.3)

для 0£t<i.

    Пусть g - образующий элемент поля Zp и w=gu (mod p). Ясно, что число решений сравнения (относительно wÎZp) wr = 1 (mod p) совпадает с числом решений сравнения (относительно uÎFp) u×r º 0 (mod p-1) и равняется (r, p-1) = a.

    Аналогичным образом b есть число решений сравнения wr=1 (mod q), Þ ab есть число решений сравнения wr=1 (mod n).

    Рассуждая аналогичным образом и учитывая, что t+1£i, получим, что число решений сравнений

              2t+1×r                      2t×r

              w   º 1 (mod p) и w º 1 (mod p)

равно соответственно (2t+1×r, p-1) = 2t+1×a и (2t×r, p-1) = 2t×a.

    Отсюда число решений сравнения

                                 2t r

                                 w   º -1 (mod p)

равно 2t+1 a - 2t a = 2t a.

    Аналогичным образом число решений сравнения

                                 2t r

                                 w   º -1 (mod q)

равно 2t b, Þ число решений сравнения

                                 2t r

                                 w   º -1 (mod n)

равно 22t×a×b.

    Теперь мы можем дать верхнюю оценку количества чисел w, удовлетворяющих условию (7.3):

 ab + ab× 22t = ab×(1+ 4t) = ab×(1 + (4i-1)/3) =

= ab×(2/3 + 2/3×22i-1) £ ab×(2/3×2i+j-1 + 2/3) =

= ab×(2i+j-1 + 1/3×(2 - 2i+j-1)) £ ab×2i+j-1 = j(n)/2.

    Так как j(n) есть общее число всех опробуемых w, то после проверки k чисел вероятность разложения n будет не менее 1-2-k , то есть будет стремиться к 1 при k®¥.

 

    7.7. Если имеются два участника A, B с открытыми экспонентами e1, e2, общим модулем n=pq (p,q - для них неизвестны) и секретными экспонентами d1, d2, тогда любой из участников может найти секретную экспоненту другого без факторизации n.

    Покажем, как B может найти d1.

Случай 1.  Пусть числа e1 и a=e2×d2 -1 взаимно просты.

    С помощью расширенного алгоритма Евклида находим целые r,s, при которых в кольце целых чисел : re1+sa=1.

Отсюда (с учетом того, что e2×d2 -1=0 (mod j(n))) вытекает равенство

re1=1 (mod j(n)).

    Следовательно, r=d1, и задача решена.

Случай 2 (общий случай). Пусть g0 = e2d2 - 1, h0 = (g0, e1).

    Далее строим последовательность пар {gi, hi}:

                                 gi = gi-1/hi-1, hi = (gi, e1).

Данный процесс останавливается при hi=1. Так как для hi³2 имеет место неравенство: gi+1 £ gi/2, то число шагов алгоритма не более log2(e2d2 - 1).

    Для hi=1 обозначим  t= h0h1h2...hi и a=gi.

    Далее с помощью алгоритма Евклида вычисляем a,b такие, что

aa + be1 = 1.

Если теперь показать, что aº0 (mod j(n)), то получим

                                  be1 º 1 (mod j(n)),

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

    Для того, чтобы показать, что aº0 (mod j(n)), заметим, что из        условия (e1,j(n))=1 следует, что t является произведением чисел, не имеющих общих множителей с j(n), Þ (t,j(n))=1.

    Отсюда a = k×j(n)/t, причем k/t - целое, Þ aº0 (mod j(n)).

 

 

ЛИТЕРАТУРА                      

 

 

1. Р. Лидл, Г. Нидеррайтер. Конечные поля, т. 1-2, М.- Мир, 1988.

 

2. Введение в криптографию (под редакцией В.В. Ященко). М. - МЦНМО- ЧеРо, 1998.

 

3. Саломаа А. Криптография с открытым ключом. – М.: Мир, 1996.

 

4. А.П.Алферов, А.Ю.Зубов, А.С.Кузьмин, А.В.Черемушкин. Основы криптографии (учебное пособие). – М.: Гелиос АРВ, 2001. – 408 с.

 

5. Menezes A.J., van Oorschot P.C., Vanstone S.A. Handbook of applied cryptography. – CRC Press, Boca Raton, New York, London, Tokyo, 1997.

 

6. T. El Gamal. A Public Key Cryptosystem and a Signature Scheme. Proceedings of Crypto-84. Lectyre Notes in Computer Science, 1984, p.10-19.

 

7. W.Diffie, M.Hellman. New directions in cryptography. IEEE Trans. Inform. Theory, v. IT-22, no. 6, 1976.

 

8. A.Shamir. A polinomial time algorithm for breaking the basic Merkle-Hellman cryptosystem. IEEE Trans. Inform. Theory, v. IT-30, no. 5, 699-704, 1984.

 

9. Blom R. Nonpublic key distribution // Advances in Cryptology. – Proceedings of EUROCRYPT’82. Plenum. New York. – 1983. pp. 231 – 236.

 

10. Matsumoto T., Takashima Y., Imai H. On seeking smart public-key-distribution systems // Trans. of the IECE of Japan. – 1986. – E69. – p. 99-106. 

 


Дата добавления: 2019-02-12; просмотров: 153; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!