34 Криптосистема с открытым ключом. Криптосистема rsa
В криптосистемах с открытым ключом Алиса и Боб имеют по 2 ключа – открытому и секретному(открытый ключи лежат в каталоге общего пользования)
Пусть PA и SA – открытый и секретный ключи Алисы, Пусть PB и SB – открытый и секретный ключи Боба, Пусть W – множество всех возможных сообщений ,Ключи PA и SA определяют отображения FPA, FSA: W®W.
Сообщение, зашифрованное с помощью PA, можно расшифровать с помощью SA и наоборот.
M = FPA(FSA(M)); M = FSA(FPA(M)). Т.е. FPA = FSA-1
Ключ PA знают все – все могут вычислить FPA
Идея: нужно задать такой ключ SA и функцию FSA,чтобы никто, кроме Алисы, не мог вычислить FSA за приемлемое время
Криптосистема RSA
f(n) – функция Эйлера. f(n) = |{m : m<n, (m,n)=1}|
Теорема f(n) = n
Zn – кольцо вычетов по модулю n
Китайская теорема об остатках
Пусть n1,…,nk – попарно взаимно простые числа, n=n1n2…nk
Т-ма чисел r1,…..,rk число xZn ,что x ri (mod ni)
Следствие Пусть p и q – простые числа n = pq , x ,y N Тогда xy(mod p) и x y (mod q), то xy(mod n)
Теорема Лагранжа. Пусть G – конечная мультипликативная группа с единицей e, |G|=n.Тогда an=e для любого aÎG.
Следствие (теорема Ферма). Пусть p – простое число. Тогда ap-1º1 (mod p) для любого а<p
Криптосистема RSA
1.Выбираем два больших числа p и q
2.Вычисляем n = pq f(n) = (p-1)(q-1)
3.Выбираем достаточно маленькое число e, взаимно простое с f(n)
4.Вычисляем число d такое, что de º 1 (mod f(n) ). Можно доказать, что такое d всегда существует и единственно.
5.Пара (e,n) будет открытым ключом PA, а Пара (d,n) – секретным ключом SA
В качестве множества W всех возможных сообщений будем использовать множество Zn (например, битовую запись сообщения будем понимать как двоичную запись какого-то числа)
FPA(M) := Me (mod n) FSA(M) := Md (mod n)
Теорема. FPA(M) и FSA(M) – взаимно обратные отображения множества Zn
Сертификаты
Боб – пользователь сайта, Алиса – сайт, Как Боб может быть уверен, что может доверять открытому ключу Алисы и что это вообще ключ Алисы? Пусть имеется авторитетный пользователь T,ключ которого широко известен, Ключ Алисы подтверждается сертификатом– цифровой подписью T
Чтобы взломать систему RSA, надо разложить число n на простые множители, получить таким образом p и q и c их помощью найти секретный ключ (d,n) Это невозможно сделать за адекватное время на любом существующем компьютере!
- 1.Трудоемкость алгоритмов
- 2.Алгоритмы сортировки
- 3.Сортировка слиянием
- 4.Бинарные поисковые деревья
- 5.2-3-4 Деревья
- 6.Хеширование
- 7. Поиск подстроки. Алгоритм Кнута-Морриса- Пратта.
- 8. Графы. Структуры данных для представления графов
- 9. Алгоритм нахождения Эйлерова цикла
- 10 .Поиск в ширину(волновой алгоритм)
- 11.Поиск в глубину
- 12.Жадные алгоритмы и матроиды
- 13.Задача об остовном дереве. Алгоритмы Прима и Краскала, их реализация
- 14. Алгоритм Дийкстры
- 15. Алгоритм Флойда
- 16. Паросочетания в двудольных графах
- 17. Потоки и разрезы в сетях. Алгоритм Форда-Фалкерсона
- 18. Задача о рюкзаке
- 21. Классы p и np. Полиномиальное сведение.
- 22. Np- полные задачи. Теорема Кука-Карпа-Левина. Np-полнота задачи о клике
- 23. Алгоритмы с гарантированной оценкой точности. Задача упаковки
- 24.Метод локального поиска и поиска с запретами. Задача о максимальном разрезе.
- 25.Метод ветвей и границ. Задача коммивояжера.
- 26. Задача коммивояжера с неравенством треугольника. Алгоритм Кристофидеса
- 27.Задача о независимом множестве, точные и эвристические алгоритмы ее решения
- 28.Задача о раскраске графа, точные и эвристические алгоритмы ее решения.
- 31.Задача о раскраске хордальных графов
- 32.Генетические алгоритмы
- 33. Page Rank
- 34 Криптосистема с открытым ключом. Криптосистема rsa
- 35.Задача разделения секрета.
- 36. Алгоритмы сжатия информации