Скачать презентацию Теоретические основы современной криптографии I Элементы теории Скачать презентацию Теоретические основы современной криптографии I Элементы теории

RSA 1 2010.ppt

  • Количество слайдов: 47

Теоретические основы современной криптографии Теоретические основы современной криптографии

I. Элементы теории чисел … … 1) Множества N и Z. 2) Делители и I. Элементы теории чисел … … 1) Множества N и Z. 2) Делители и кратные d|a, a d 3) a d=>|d|< |a| 4) Простые и составные числа. 5) Деление с остатком. Сравнения по модулю.

Теорема 1. (о делении с остатком). Для любого целого числа а и положительного целого Теорема 1. (о делении с остатком). Для любого целого числа а и положительного целого числа n существует единственная пара целых числа q и r, для которых 0 < r < n и a = qn + r

Число q=[a/n] называется частным или неполным частным; число r, обозначаемое a mod n, называется Число q=[a/n] называется частным или неполным частным; число r, обозначаемое a mod n, называется остатком. Если r = 0, то пишут a mod n = 0 Если r = 1, то пишут a mod n = 1 в общем случае a mod n = r, т. е. a =[a/n]n +(a mod n) => a mod n = a -[a/n]n

Класс эквивалентности (класс вычетов): Ca = cl(a)={nk+a|k Z} Множество классов вычетов по модулю n: Класс эквивалентности (класс вычетов): Ca = cl(a)={nk+a|k Z} Множество классов вычетов по модулю n: Zn = {C 0 , C 1 , … , Cn-1 } Выбирая в каждом классе по представителю, можно считать, что: Zn = {0 , 1 , … , n-1}

6) Общие делители. Наибольший общий делитель. Среди всех общих делителей данных чисел а и 6) Общие делители. Наибольший общий делитель. Среди всех общих делителей данных чисел а и b можно выбрать наибольший общий делитель, который обозначают НОД(а, b). Он определён, если хотя бы одно из чисел а и b отлично от 0. Положим для удобства НОД(0, 0) = 0.

Важные свойства общих делителей и наибольшего общего делителя: если d | а и d Важные свойства общих делителей и наибольшего общего делителя: если d | а и d | b, то d (а + b) и d | (а - b) (1) если d| а и d | b, то d(ах + bу) при любых целых х и у. (2) Если а | b, то |а| ≤ |b| или b = 0, поэтому если а | b и b | a, то а = ± b. Кроме того, НОД (а, b) = НОД (b, а), НОД (а, b) = НОД(-а, b), НОД (а, b) = НОД (|а|, |b|), НОД (a, 0) = |а|, НОД (а, ka) = |а| при всяком k Z.

Теорема 2. Наибольший общий делитель целых чисел а и b, не равных 0 одновременно, Теорема 2. Наибольший общий делитель целых чисел а и b, не равных 0 одновременно, является наименьшим положительным элементом множества {ах + bу : x, у Z} целочисленных линейных комбинаций чисел а и b

Доказательство. Пусть наименьший положительный элемент этого множества равен s. Тогда s = ах + Доказательство. Пусть наименьший положительный элемент этого множества равен s. Тогда s = ах + bу для некоторых x, у Z. Положим q =[a/s]. Согласно (a mod n = a – [a/n]n) a mod s = a – q(ax + by) = a(1 – qx) + b(-qy) и потому остаток от деления а на s тоже является линейной комбинацией а и b. Но s был наименьшей положительной комбинацией такого вида, => |s|< a mod s. Итак, a mod s - линейная комбинация, а s – наименьшая линейная комбинация => a mod s>s (если a mod s положительно) или a mod s=0.

Но! Остаток строго меньше делителя => a mod s < s => a mod Но! Остаток строго меньше делителя => a mod s < s => a mod s не может быть положительным. Так что a mod s = 0 и s|a. По аналогичным причинам верно s|b. Таким образом, s =НОД (а, b) делит как а, так и b, а потому делит и s = ах + bу. Поскольку s > 0, отсюда следует, что НОД (а, b) ≤ s. Таким образом, НОД (а, b) ≥ s и НОД (а, b) ≤ s, так что НОД (а, b) = s , ч. т. д.

Следствие 2. 1 Наибольший общий делитель двух целых чисел кратен любому их общему делителю. Следствие 2. 1 Наибольший общий делитель двух целых чисел кратен любому их общему делителю.

Доказательство. По теореме 2 НОД (а, b) является линейной комбинацией а и b. Из Доказательство. По теореме 2 НОД (а, b) является линейной комбинацией а и b. Из свойства 2 вытекает, что d|(ax + by), но НОД = min(ax + by), следовательно, делитель а и b является делителем любой комбинации (ax + by), в том числе и наименьшей, ч. т. д.

Следствие 2. 2 Для любых целых чисел а и b и неотрицательного целого числа Следствие 2. 2 Для любых целых чисел а и b и неотрицательного целого числа n выполняется соотношение НОД (аn, bn) = n НОД (а, b).

Доказательство. Элементы вида (апх + bпу) получаются из элементов вида (ах + bу) умножением Доказательство. Элементы вида (апх + bпу) получаются из элементов вида (ах + bу) умножением на n, так что это относится и к наименьшему элементу такого вида, ч. т. д.

Следствие 2. 3 Для любых положительных целых чисел п, а и b из того, Следствие 2. 3 Для любых положительных целых чисел п, а и b из того, что п|аb и НОД(а, п) = 1 следует п|b.

Доказательство. НОД(а, п) = 1 => a не кратно n => b кратно n Доказательство. НОД(а, п) = 1 => a не кратно n => b кратно n => n|b ч. т. д.

7) Взаимно простые числа. Целые числа а и b взаимно просты, если НОД (а, 7) Взаимно простые числа. Целые числа а и b взаимно просты, если НОД (а, b) = 1.

Теорема 3. Если НОД (а, p) = 1 и НОД (b, p) = 1, Теорема 3. Если НОД (а, p) = 1 и НОД (b, p) = 1, то НОД (аb, p) = 1 (для любых целых чисел а, b, p).

Доказательство. По теореме 2 найдутся целые числа х, у, x´ и y´ для которых, Доказательство. По теореме 2 найдутся целые числа х, у, x´ и y´ для которых, ах + ру = 1, bx´ + py´= 1. Перемножая эти равенства, мы видим, что ab(xx´) + p(ybx´ + y´ax + pyy´ )= 1, так что 1 является целочисленной линейной комбинацией ab и p; осталось сослаться на теорему 2, ч. т. д.

8) Разложение на простые множители. 8) Разложение на простые множители.

Теорема 4. Если простое число p делит произведение двух целых чисел а и b, Теорема 4. Если простое число p делит произведение двух целых чисел а и b, то p | а или p | b.

Доказательство. Если это не так и p не делит ни а, ни b, то Доказательство. Если это не так и p не делит ни а, ни b, то p взаимно просто с этими числами (других делителей у p нет) и потому взаимно просто с их произведением (теорема 3) => ab не кратно p => противоречие, ч. т. д.

Теорема 5. (существование и единственность разложения), (основная теорема арифметики). Всякое составное число а единственным Теорема 5. (существование и единственность разложения), (основная теорема арифметики). Всякое составное число а единственным образом представляется в виде a = p 1 e p 2 e · …· prer, 1 2 где p 1

9) Наибольший общий делитель. Если a = p 1 e p 2 e · 9) Наибольший общий делитель. Если a = p 1 e p 2 e · …· prer 1 2 и b = p 1 f p 2 f · …· pr fr 1 2 то НОД(a, b) = p 1 min(e 1, f 1 ) · p 2 min(e 2, f 2 ) …· pr min(e r, fr )

Теорема 6. (рекуррентная формула для НОД). Пусть а – целое неотрицательное, а b – Теорема 6. (рекуррентная формула для НОД). Пусть а – целое неотрицательное, а b – целое положительное число. Тогда НОД (а, b) = НОД (b , а mod b).

Доказательство. Пара (а, b) имеет те же делители, что и пара (b, а mod Доказательство. Пара (а, b) имеет те же делители, что и пара (b, а mod b): а mod b = а – [а/ b] b = 1 а + (-q) b (a mod b является целочисленной линейной комбинацией а и b и наоборот). Поэтому и наибольший общий делитель у этих пар одинаковый, ч. т. д.

10) Алгоритм Евклида. Euclid (а, b) if b = 0 then return а else 10) Алгоритм Евклида. Euclid (а, b) if b = 0 then return а else return Euclid (b, а mod b) Число рекурсивных вызовов составляет O(logb).

11) Расширенный алгоритм Евклида. d = НОД (а, b) = ax + by НОД 11) Расширенный алгоритм Евклида. d = НОД (а, b) = ax + by НОД (а, b) = min (ax + by) при аb ≠ 0 Extended-Euclid(a, b) if b=0 then return (a, 1, 0) (d , x , y ): =Extended-Euclid(b, a mod b) (d, x, y): =(d , x , y -[a/b] y ) return (d, x, y)

II. Элементы общей алгебры. 1) Группа. Алгебраической операцией (на множестве S) называется отображение * II. Элементы общей алгебры. 1) Группа. Алгебраической операцией (на множестве S) называется отображение * : S S S, т. е. отображение, обладающее свойством замкнутости.

Множество S с определённой на нём алгебраической операцией * называется группой, если выполнены следующие Множество S с определённой на нём алгебраической операцией * называется группой, если выполнены следующие свойства: Ассоциативность: a * (b * c) = (a * b) * c для любых a, b, c из S. 2. Существование нейтрального элемента: существует элемент е из S, для которого е*a = а*е = а для любого a из S (такой элемент может быть только один, так как е = e*е’= e’ для любых двух элементов e и e’ с таким свойством). 3. Существование обратного элемента: для всякого a из S найдется единственный элемент b из S, для которого a * b = b * a = e 1.

Условия 1 -3 называются аксиомами группы. Группа с коммутативной операцией называется коммутативной или абелевой. Условия 1 -3 называются аксиомами группы. Группа с коммутативной операцией называется коммутативной или абелевой. а * b = b * а для любых а, b из S

Обычно групповую операцию * обозначают специальными символами, чаще всего символами • или +, называя Обычно групповую операцию * обозначают специальными символами, чаще всего символами • или +, называя a·b произведением, а (a + b ) – суммой элементов а, b из S. В первом случае нейтральный элемент называют единицей (обозначение: 1), симметричный элемент – обратным (обозначение: а-1), а саму группу S –мультипликативной. Во втором случае нейтральный элемент называют нулем (обозначение: 0), симметричный – противоположным (обозначение: -а), а саму группу S – аддитивной.

2) Кольцо. свойства. Определение, простейшие Непустое множество К, наделенное двумя алгебраическими операциями - сложением 2) Кольцо. свойства. Определение, простейшие Непустое множество К, наделенное двумя алгебраическими операциями - сложением и умножением, называется кольцом, если эти операции удовлетворяют следующим аксиомам:

для любых а, b, с из К 1) (a + b) + c = для любых а, b, с из К 1) (a + b) + c = a + (b + c); 2) Существует 0 из К : a + 0 = 0 + a; 3) Для любого a из К существует -a из К : a + (-a) = (-a) + a = 0; 4) a + b = b + a; 5) (ab)c = a(bc); 6) (a + b)c = ab + bc, a(b + c) = ab +ac.

Кольцо называется коммутативным, если умножение в нем коммутативно, кольцо называется кольцом с единицей, если Кольцо называется коммутативным, если умножение в нем коммутативно, кольцо называется кольцом с единицей, если операция умножения обладает нейтральным элементом. Из аксиом кольца следует, что кольцо является аддитивной абелевой группой.

Простейшие свойства кольца: 1. Кольцо обладает всеми свойствами аддитивной абелевой группы: а) существует, и Простейшие свойства кольца: 1. Кольцо обладает всеми свойствами аддитивной абелевой группы: а) существует, и притом единственный, нулевой элемент 0;

2. В кольце умножение дистрибутивно относительно вычитания: a(b – c) = ab – ac, 2. В кольце умножение дистрибутивно относительно вычитания: a(b – c) = ab – ac, (a – b)c = ac – bc, для любых a, b, c K. Это следует из того, что b = (b - с) + с и аb = а(b - с) + ас.

3. В кольце для любого элемента а: a 0 = 0 a = 0. 3. В кольце для любого элемента а: a 0 = 0 a = 0. Это следует из дистрибутивности умножения относительно вычитания: а 0 = а(b - b) = аb - аb = 0.

4. В кольце для любых элементов а, b: (-а)b = а(-b) = -аb. Это 4. В кольце для любых элементов а, b: (-а)b = а(-b) = -аb. Это следует из того, что аb + (-а)b = (а + (-а))b = 0. Следствие: (-а)(-b) = аb, а, b К.

5. В кольце с единицей для любого элемента а: (-1)а = а(-1)=-а. Это следует 5. В кольце с единицей для любого элемента а: (-1)а = а(-1)=-а. Это следует из того, что а + (-1)а = 1 а + (-1)а = (1 + (-1))а = 0.

6. В кольце с единицей, содержащем не менее двух элементов: 1≠ 0. Действительно, если 6. В кольце с единицей, содержащем не менее двух элементов: 1≠ 0. Действительно, если 0 = 1, то существует а К : а ≠ 0, а ≠ 1. Тогда из равенства 0=1 следует, что 0 а = 1 а, т. е. 0 = а, но а ≠ 0.

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

Делители нуля. Ненулевые элементы a и b кольца называются делителями нуля, если ab = Делители нуля. Ненулевые элементы a и b кольца называются делителями нуля, если ab = 0. При этом элемент a называется левым делителем нуля, а элемент b – правым. ( )( ) 1 0 0 0 1 1 = 0 0

3) Кольцо вычетов. 1. Замкнутость: Ca+b Zn 2. Ассоциативность: Ca+(Cb+Cd)=(Ca+Cb)+Cd 3. Существует нейтральный элемент 3) Кольцо вычетов. 1. Замкнутость: Ca+b Zn 2. Ассоциативность: Ca+(Cb+Cd)=(Ca+Cb)+Cd 3. Существует нейтральный элемент C 0: Ca+C 0=C 0+Ca=Ca 4. Существует противоположный элемент: -C a = { C 0 , если а=0 C n-a , если а>0

Определим на Zn операцию умножения. Положим Ca. Cb=Cr , где r ab(mod n). Эта Определим на Zn операцию умножения. Положим Ca. Cb=Cr , где r ab(mod n). Эта операция обладает следующими свойствами: 1. Ca. Cb=Cb. Ca , так как Ca. Cb-класс, в который входит ab, а ab=ba. 2. (Ca. Cb)Cd=Ca(Cb. Cd), так как оба произведения представляют собой один и тот же класс, в который входит число (ab)d=a(bd). 3. Существует единица C 1, так как Ca. C 1=C 1 Ca=Ca

4. (Ca +Cb)Cd=Ca. Cd +Cb. Cd, так как оба произведения представляют собой класс, в 4. (Ca +Cb)Cd=Ca. Cd +Cb. Cd, так как оба произведения представляют собой класс, в который входит число (a+b)d=ad+bd. 5. Если n – составное число, то в кольце Zn есть делители нуля, так как если n=ab, где 1

Таким образом, Zn- конечное коммутативное кольцо с единицей, которое имеет делители нуля, если n Таким образом, Zn- конечное коммутативное кольцо с единицей, которое имеет делители нуля, если n – составное число. Оно называется кольцом вычетов по модулю n. По умножению кольцо вычетов не является группой, так как не для каждого элемента есть обратный.