Скачать презентацию Защита информации Тема 7 Криптосистемы с открытым ключом Скачать презентацию Защита информации Тема 7 Криптосистемы с открытым ключом

07 Криптосистемы с открытым ключом.pptx

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

Защита информации Тема 7. Криптосистемы с открытым ключом 11. 02. 2018 ИГЭУ. Кафедра ПОКС Защита информации Тема 7. Криптосистемы с открытым ключом 11. 02. 2018 ИГЭУ. Кафедра ПОКС

Симметричные криптосистемы Открытый текст, исходный текст (plaintext, cleartext) Зашифрование (encryption) Открытый ключ (public key) Симметричные криптосистемы Открытый текст, исходный текст (plaintext, cleartext) Зашифрование (encryption) Открытый ключ (public key) Открытый текст, Закрытый текст, исходный текст шифротекст (plaintext, (ciphertext) Расшифрование cleartext) (decryption) Генерация ключей (key generation) Закрытый ключ (private key) В асимметричных методах применяются два разных ключа. Один из них, несекретный, используется для шифрования и может публиковаться вместе с адресом пользователя, другой секретный, применяется для расшифрования и известен только получателю. Защита информации. Криптосистемы с открытым ключом 2

Алгоритм RSA Криптосистема RSA, была разработана в 1977 году и получила название в честь Алгоритм RSA Криптосистема RSA, была разработана в 1977 году и получила название в честь своих создателей: Рона Ривес та, Ади Шамира и Леонарда Адлемана. Они воспользовались тем фактом, что нахождение боль Рон Ривест, Ади Шамир, Леонард Адлеман ших простых чисел осуществля (Ronald Rivest, Adi Shamir, Leonard Adleman) ется легко, но разложение на множители произведения двух таких чисел практически невыполнимо. Доказано (теорема Рабина), что раскрытие шифра RSA эквивалентно такому разложению. Поэтому для любой длины ключа можно дать нижнюю оценку числа операций для раскрытия шифра, а с учетом производительности современных компьютеров оценить и необходимое на это время. Возможность гарантированно оценить защищенность алгоритма RSA стала одной из причин популярности этой криптосистемы на фоне десятков других. Поэтому алгоритм RSA используется в банковских компьютерных сетях, особенно для работы с удаленными клиентами (обслуживание кредитных карточек). В 1993 г. метод RSA был обнародован и принят в качестве стандарта (PKCS # 1: RSA Encryption Standard). Защита информации. Криптосистемы с открытым ключом 3

RSA. Генерация ключей 1. Выбираются два больших простых целых числа p и q приблизительно RSA. Генерация ключей 1. Выбираются два больших простых целых числа p и q приблизительно одинакового размера. 2. Вычисляется модуль системы n = pq и φ(n) = (p-1)(q-1) – функция Эйлера (число положительных целых,

Шифрование / расшифрование 1. Входное сообщение разбивается на блоки mi, их размер определяется целым Шифрование / расшифрование 1. Входное сообщение разбивается на блоки mi, их размер определяется целым k, соответствующим неравенствам: 2 k-1 < n < 2 k; mi < n. 2. Вычисляется значение ci = mie mod n. 3. Значение ci, которое является зашифрованным блоком сообще ния, посылается по открытым каналам передачи данных. 4. Расшифрование заключается в вычислении значения mi = cid mod n. Защита информации. Криптосистемы с открытым ключом 5

RSA Частный случай теоремы Эйлера утверждает, что если число n представимо в виде произведения RSA Частный случай теоремы Эйлера утверждает, что если число n представимо в виде произведения двух простых чисел p и q, то для любого x имеет место равенство: x(p-1)(q-1) mod n = 1. Для расшифрования RSA сообщений воспользуемся этой формулой. Возведем обе ее части в степень ( y): x(-y)(p-1)(q-1) mod n = 1(-y) = 1. Умножим обе ее части на x: x(-y)(p-1)(q-1)+1 mod n = 1 * x = x. Вспомним как мы создавали открытый и закрытый ключи. Мы подбирали с помощью алгоритма Евклида e такое, что e • d + (p-1)(q-1)*y = 1, то есть e • d = (-y)(p-1)(q-1) + 1. А следовательно в последнем выражении предыдущего абзаца мы можем заменить показатель степени на число (e*d). Получаем xe*d mod n = x. То есть для того чтобы прочесть сообщение ci = mie mod n достаточно возвести его в степень d по модулю n: cid mod n = mie*d mod n = mi. Защита информации. Криптосистемы с открытым ключом 6

RSA. Пример 1. Выберем p=3 и q=11. 2. Определим n=3*11=33. Найдем (p 1)(q 1)=20. RSA. Пример 1. Выберем p=3 и q=11. 2. Определим n=3*11=33. Найдем (p 1)(q 1)=20. 3. Выберем в качестве d, взаимно простое с 20, например, d=3. 4. Выберем число е. В качестве такого числа может быть взято любое число, для которого удовлетворяется соотношение (е*3) mod 20 = 1, например 7. 5. Представим шифруемое сообщение как последовательность целых чисел с помощью отображения: А→ 1, В→ 2, С→ 3. Тогда сообщение принимает вид (3, 1, 2). Зашифруем сообщение с помощью ключа {7, 33}. c 1 = (37) mod 33 = 2187 mod 33 = 9, c 2 = (17) mod 33 = 1, c 3 = (27) mod 33 = 128 mod 33 = 29. 6. Расшифруем полученное зашифрованное сообщение (9, 1, 29) на основе закрытого ключа {3, 33}: m 1 = (93) mod 33 = 729 (mod 33) = 3, m 2= (13) mod 33 = 1 (mod 33) = 1, m 3 = (293) mod 33 = 24389 (mod 33) = 2. Защита информации. Криптосистемы с открытым ключом 7

RSA. Практическая реализация. Генерация больших простых чисел Решение задачи «в лоб» генерация случайного большого RSA. Практическая реализация. Генерация больших простых чисел Решение задачи «в лоб» генерация случайного большого числа n (нечетного) и проверка его делимости на множители от 3 вплоть до n 0. 5. В случае неуспеха следует взять n+2 и так далее. В качестве p и q можно использовать «почти» простые числа, то есть числа для которых вероятность того, что они Марен Мерсенн простые, стремится к 1. Есть алгоритмы проверки числа на (Marin Mersenne) простоту. Например, число Мерсенна M(n) = 2 n - 1 (n-простое). GIMPS (Great Internet Mersenne Prime Search) проект добровольных вычислений по поиску простых чисел Мерсенна. В его рамках в 2008 году было найдено самое большое простое число на сегодня. Найденное число содержит 12 978 189 десятичных цифр. GIMPS выиграла денежный приз в 100 000 долларов США за нахождение простого числа из более чем 10 миллионов десятичных цифр и намеревается выиграть аналогичные призы в 150 000 и 250 000 долларов США, обещанные Electronic Frontier Foundation за нахождение простых чисел соответственно из более чем 100 и 1000 миллионов десятичных цифр. Защита информации. Криптосистемы с открытым ключом 8

RSA. Практическая реализация. Выбор длины ключей Числа p и q должны быть одинаковой длины RSA. Практическая реализация. Выбор длины ключей Числа p и q должны быть одинаковой длины Если n занимает 1024 бита, то длина p и q должна быть равна 512 битам. Различие между p и q должно быть большим. • p 1 должно иметь большой простой делитель (r); • p+1 должно иметь большой простой делитель; • r 1 должно иметь большой простой делитель. Сами авторы RSA рекомендуют использовать следующие размеры модуля n: • 768 бит для частных лиц (231 дес. зн. ); • 1024 бит для коммерческой информации; • 2048 бит для особо секретной информации. В 2010 году группе учёных из Швейцарии, Японии, Франции, Нидерландов, Германии и США удалось успешно вычислить данные, зашифрованные при помощи криптографического ключа стандарта RSA длиной 768 бит. Нахождение простых сомножителей осуществлялось общим методом решета числового поля. По словам исследователей, после их работы в качестве надежной системы шифрования можно рассматривать только RSA ключи длиной 1024 бита и более. Причём от шифрования ключом длиной в 1024 бит стоит отказаться в ближайшие три четыре года. С 31 декабря 2013 года браузеры Mozilla перестали поддерживать сертификаты удостоверяющих центров с ключами RSA меньше 2048 бит. Защита информации. Криптосистемы с открытым ключом 9

RSA. Практическая реализация. Вычислительные проблемы Приходится использовать аппарат длинной арифметики. Если используется ключ длиной RSA. Практическая реализация. Вычислительные проблемы Приходится использовать аппарат длинной арифметики. Если используется ключ длиной k бит, то для операций по открытому ключу, т. е. зашифрования, требуется k 2 операций, по закрытому ключу, т. е. расшифрования k 3 операций, а для генерации новых ключей требуется k 4 операций. По сравнению с тем же алгоритмом DES, RSA требует в тысячи и десятки тысяч раз большее время. Защита информации. Криптосистемы с открытым ключом 10

Криптосистема Эль-Гамаля Для группы абонентов выбираются большое про стое исло р и целое число Криптосистема Эль-Гамаля Для группы абонентов выбираются большое про стое исло р и целое число g. Каждый j й або ч нент выбирает свое секретное число сj, 1<сj<р-1, и вычисляет открытое число dj = g. Cj mod p. Пусть А передает абоненту В сообщение M, представленное в виде чисел mi < р. Тахер Эль-Гамаль 1. А формирует случайное число k , 1 < k < р-2 , (Taher Elgamal) вычисляет ri = gk mod p, еi = m i d. B k mod p и передает пару чисел (ri, еi) абоненту В. 2. В, получив (ri, еi), вычисляет тi = еi • ri р-1 -СB mod p. Алгоритм цифровой подписи DSA, разработанный NIST и являющийся частью стандарта DSS частично опирается на рассмотренный метод. Защита информации. Криптосистемы с открытым ключом 11

Пример Сообщение т = 15. Возьмем р = 23, g = 5. Пусть абонент Пример Сообщение т = 15. Возьмем р = 23, g = 5. Пусть абонент В выбрал для себя секретное число CB =13 и вычислил d. B = 513 mod 23 = 21. Абонент А выбирает случайно число k, например k = 7, и вы числяет: r = 57 mod 23 = 17, е = 15 • 217 mod 23 = 15 • 10 mod 23 = 12. Теперь А посылает к В зашифрованное сообщение в виде пары чисел (17, 12). В вычисляет т = 12 • 1723 -1 -13 mod 23 = 12 • 179 mod 23 = 12 • 7 mod 23 = 15. Объем шифра в два раза пре вышает объем сообщения. Есть и другой вариант зашифрования и расшифрования, где вместо умножения используется побитовое сложение по модулю 2 (Е): ei = mi Е dk, mi = (ri C j mod p) Е ei. Пример. е = 15 Е (217 mod 23) = 15 Е 10 = 5, т = (1713 mod 23) Е 5 = 10 Е 5 = 15. Защита информации. Криптосистемы с открытым ключом 12

Эффективное шифрование А (ea, da) M B (eb, db) EKs(M) Симметричное шифрование Ks Асимметричное Эффективное шифрование А (ea, da) M B (eb, db) EKs(M) Симметричное шифрование Ks Асимметричное шифрование Генерация ключа eb Защита информации. Криптосистемы с открытым ключом Eeb(Ks) Симметричное расшифрование M Ks Асимметричное расшифрование db 13