- •Анализ и синтез криптографических алгоритмов Рюкзачная система
- •Алгоритм шифрования
- •Элементы теории чисел
- •Поиск секретной лазейки
- •Элементы теории сравнений
- •Выработка секретного ключа по Диффи и Хеллману
- •Системы rsa
- •Алгоритмы факторизации
- •Алгоритм факторизации, основанный на сравнимости квадратов
- •Шифр с открытым ключом (заключение)
- •Шифр Эль Гомаля (1985)
- •Открытое распределение ключей
- •Цифровая подпись
Элементы теории сравнений
Утверждение 1. Если аcравнима сbпо модулюpи еслиасравнима сbпо модулюqиpиq- взаимно просты, тоасравнимаbпо модулюpq, т.е.ab mod p иab mod q ab mod pq. F.e. a=343, b=223, тогдаab mod 6 p=2 q=3 и ab mod 20 и ab mod 120. Утверждение 2. Еслиab mod m и cd mod m, тоacbd mod m. Cледствие.ab mod m asbs mod m. F.e. a=343, b=223, m=6, c=17, d=11, m=6, тогдаacbd mod 6 (5) и58312453 mod 6 (5). Утверждение 3. Еслиab mod m иcd mod m, тоa+cb+d mod m. F.e. a=343, b=223, c=17, d=11, m=6 a+cb+d mod 6. Из утверждений 2 и 3 следует, что в любом арифметическом выражении из переменных или постоянных, связанных операциями «+» или «», можно ставить другую величину с ней сравнимую. Утверждение 4. Обе части сравнения можно делить на числоrесли: 1) в обеих частях сравнения после деления останутся целые числа; 2)mиrвзаимно простые. Док-во:crdr mod m m cr-dr m r(c-d). В силу 2):m c-d, cd mod. Конец док-ва. Малая теорема Ферма: Еслиm- простое число иа- произвольное целое число, не делящееся наm, то можно записатьam-11 mod m. F.e. a=17, m=13, то 17121 mod 13. Док-во: Рассмотрим числаа, 2а, 3а,...,ma. Никакие 2 из этих чисел не дают при делении наmодинаковых остатков, поэтому при делении наmчислаа, 2а, 3а,...,maдают остатки 0, 1, 2,...,m-1 в каком-то порядке, где 0 получается при деленииma на m. Опускаем 0, имеемam-1(m-1)!(m-1)! mod m. Вычитаем правую часть из левой, получаемam-1(m-1)! - (m-1)!0 mod m, откуда (am-1-1)(m-1)!делится наm. Т.к.mне делит(m-1)!, тоmделит (am-1-1). Конец док-ва.
Выработка секретного ключа по Диффи и Хеллману
Из математических операций нас интересуют две: 1) легкая операция - перемножить два больших числа N=pq; трудная операция - разложитьmна множители (факторизация). 2) легкая операция - возвести основаниеав степень р и взять остаток по модулюm: Lap mod m; трудная операция - найти р, знаяL, a и m. Обе трудные задачи решаются перебором по р и след-но практически не решаются, если р - очень большое число. Пусть известныаи модульmи они могут быть переданы по сети открытым текстом. Рассмотрим схему выработки секретного ключа по Диффи-Хеллману:
Этапы |
Отправитель |
Враг |
Получатель |
Этап 1
Этап 2 |
Вырабатывает случайное число х, причем 1<x<m. ВычисляетLiax mod m и передаетLiполучателю. ПолучаетLj.
Вычисляет Kiayx mod m= Ljx. |
|
Li, вырабатывает случайное числоy,1<y<m. ВычисляетLjay mod m и передаетLj отправителю.
Вычисляет Kj= Ljyaxy mod m. |
Системы rsa
Rivest, Shamir, Aldeman. Основаны на трудности разложения очень больших целых чисел на простые сомножители.
Отправитель выбирает 2 очень больших числа p иqи вычисляетn=pqиk=(p‑1)(q-1);
Затем он выбирает случ. целое число d, взаимно простое сkи выбирает случ. целое числоeтакое, чтоde≡1 mod k;
После этого он публикует d иn как свой открытый ключ шифрования, сохраняяe как закрытый ключ;
Если S – сообщение, то его можно представить кодом, то 1≤S<n. ЕслиS>n, то разбиваемS на куски. Сообщ-еS превращается в шифровку возведением в степеньd по модулюn и отправл-ся получателю: S'=Sd mod n;
Получатель сообщ-я расшифровывает его, возводя в степень eпо модулюn: S=S'e mod n=Sde mod n.
Теорема. Если n=pq иed≡1 mod (p-1)(q-1), то 1<m<n, гдеm иn – взаимно простые, то (me)d=med≡m mod n. □ По малой т-ме Фермаmp-1≡1 mod p. Возводим обе части в степень(q-1):
m(p-1)(q-1)k≡1 mod (pq=n). m≡m mod n m(p-1)(q-1)k+1m mod n. С другой стороныed1 mod (p-1)(q-1) (p-1)(q-1)|ed-1 ed-1=k(p-1)(q-1) ed=(p-1)(q-1)k+1 med=m mod n ■
Пример:p=211, q=223, n=47053, m=46620 d=16813, e=19837 RSA: R-18, S-19, A-1. На представление каждой буквы отведём по 5 бит:S=((1∙32)+19)∙32+18=1650. 1’10011’10010. Получаем шифровку:S’=Sd mod n=165016813 mod 47053=3071. S=S’e mod n=307119837 mod 47053=1650.