СВЯЗАННЫЕ С ОБОСНОВАНИЕМ КРИПТОГРАФИЧЕСКИХ СВОЙСТВ СИСТЕМЫ 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!