Скачать презентацию Шифрование с открытым ключом Вычислительная сложность алгоритмов и Скачать презентацию Шифрование с открытым ключом Вычислительная сложность алгоритмов и

Презентация 3 Открытое шифрование.ppt

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

Шифрование с открытым ключом Вычислительная сложность алгоритмов и задач Класс алгоритма Сложность Кол-во операций Шифрование с открытым ключом Вычислительная сложность алгоритмов и задач Класс алгоритма Сложность Кол-во операций для t =106 Время выполнения при 106 оп/с Пост О(1) 1 10 -6 Линейный О(t) 106 1 Квадр О(t 2) 1012 11. 6 Кубический О(t 3) 1018 32000 Экспонен О(2 t) 10301006*Т

Шифрование с открытым ключом • Схемой открытого шифрования (асимметричной схемой шифрования) AE=(K, E, D) Шифрование с открытым ключом • Схемой открытого шифрования (асимметричной схемой шифрования) AE=(K, E, D) называется совокупность трёх алгоритмов: • 1) алгоритма генерации пары ключей (открытый ключ KU, закрытый ключ KR); • 2) алгоритма зашифрования E; • 3) алгоритма расшифрования D.

Шифрование с открытым ключом . 1 Генерация пары ключей (KU, KR) 1. 1 Пользователь Шифрование с открытым ключом . 1 Генерация пары ключей (KU, KR) 1. 1 Пользователь В создает пару ключей (KUb и KRb) 1. 2 Пользователь В делает доступным открытый ключ KUb другим абонентам 1. 3 Закрытый ключ KRb держится пользователем В в секрете 1. 4 Все участники имеют доступ к открытым ключам друга, а закрытые ключи создаются локально каждым участником

Шифрование с открытым ключом 2. Зашифрование А шифрует сообщение для В, используя открытый ключ Шифрование с открытым ключом 2. Зашифрование А шифрует сообщение для В, используя открытый ключ В KUb 3. Расшифрование В расшифровывает сообщения, используя свой закрытый ключ KRb Никто другой не сможет дешифровать сообщение, так как этот закрытый ключ KRb знает только В. Если пользователь (конечная система) надежно хранит свой закрытый ключ KRb, никто не сможет восстановить передаваемые сообщения.

Шифрование с открытым ключом Модель Шифрование с открытым ключом Модель

Шифрование с открытым ключом Требования 1. Вычислительно легко создавать пару (открытый ключ KU , Шифрование с открытым ключом Требования 1. Вычислительно легко создавать пару (открытый ключ KU , закрытый ключ KR) 2. Вычислительно легко, имея открытый ключ KU и открытое сообщение М, создать соответствующий зашифрованное сообщение С = ЕKU(М) 3. Вычислительно легко расшифровать криптограмму С, владея закрытым ключом KR М = DKR(C) = DKR(EKU(M))

Шифрование с открытым ключом Требования 4. Вычислительно невозможно (сложно), зная открытый ключ KU, определить Шифрование с открытым ключом Требования 4. Вычислительно невозможно (сложно), зная открытый ключ KU, определить закрытый ключ KR 5. Вычислительно невозможно (сложно), зная открытый ключ KU и шифрограмму С, восстановить исходное сообщение М 6. Вычислительно невозможно (сложно), зная открытый ключ KU, открытое сообщение и шифрограмму С восстановить секретный ключ KR

Шифрование с открытым ключом Односторонняя функция – это эффективно вычислимая функция, для задачи инвертирования Шифрование с открытым ключом Односторонняя функция – это эффективно вычислимая функция, для задачи инвертирования которой не существует эффективных алгоритмов Y = f(X) – легко X = f -1(Y) - трудно

Шифрование с открытым ключом Односторонняя функция с лазейкой принадлежит параметрическому семейству односторонних функций fk Шифрование с открытым ключом Односторонняя функция с лазейкой принадлежит параметрическому семейству односторонних функций fk таких, что Y = fk(X) – легко для любого X, даже если k неизвестно X = fk-1(Y) – легко для любого Y, если k известно Х = fk-1(Y) - трудно, если Y известно, но k неизвестно

Шифрование с открытым ключом Пример. Реализация открытого шифрования 1 Генерация пары ключей KU = Шифрование с открытым ключом Пример. Реализация открытого шифрования 1 Генерация пары ключей KU = fk(X) с неизвестным k KR = k 2 Зашифрование С = fk(М) 3 Расшифрование М = fk-1(C)

Шифрование с открытым ключом Два главных фактора, определяющих стойкость асимметричных криптосистем: - выбор однонаправленной Шифрование с открытым ключом Два главных фактора, определяющих стойкость асимметричных криптосистем: - выбор однонаправленной функции с лазейкой; - выбор алгебраической структуры, на базе которой реализуется криптосистема

Шифрование с открытым ключом Наименование задачи Условия задачи Примеры криптосистем Факторизация целых чисел Дано: Шифрование с открытым ключом Наименование задачи Условия задачи Примеры криптосистем Факторизация целых чисел Дано: n Найти: p, q : , где p, q – простые числа RSA (открытое шифрование и цифровая подпись)

Шифрование с открытым ключом Наимено вание Условия задачи для аддитивных групп G Условия задачи Шифрование с открытым ключом Наимено вание Условия задачи для аддитивных групп G Условия задачи для мультипликативных групп G' Примеры криптосистем Дискрет. Дано: Р, a*Р ное Найти: a логарифми рование Дано: Р, Рa Схема El Gamal (открытое шифрование и цифровая подпись) задачи DLOG Найти: a

Шифрование с открытым ключом Наимено вание задачи Условия задачи для аддитивных групп G Вычислите Шифрование с открытым ключом Наимено вание задачи Условия задачи для аддитивных групп G Вычислите Дано: Р, a*Р, льная b*P ε G задача Найти: ab. P Диффи– Хеллмана CDHP Условия задачи для мультипликативных групп G' Примеры криптосисте м Дано: Протоколы открытого распределе ния ключей Диффи – Хеллмана Р, Рa, Рb ε G' Найти: Рab ε G'

Шифрование с открытым ключом Наимено вание задачи Билинейная задача Диффи– Хеллмана BDHP Условия задачи Шифрование с открытым ключом Наимено вание задачи Билинейная задача Диффи– Хеллмана BDHP Условия задачи для аддитивных групп G Условия задачи для мультипликативных групп G' Примеры криптосисте м Boneh– Franklin (открытое шифровани е)

Шифрование с открытым ключом Схема RSA 1. Генерация пары ключей (KU, KR) 1. 1 Шифрование с открытым ключом Схема RSA 1. Генерация пары ключей (KU, KR) 1. 1 Выбрать простые р и q Вычислить n = p · q Вычислить Ф(n) = (p -1) * (q -1) 1. 2 Выбрать е, 1<е<Ф(n) и НОД (е, Ф(n)) =1 1. 3 Вычислить d из условия d = e-1 mod Φ(n) 1. 4 KU = {e, n} KR = {d}

Шифрование с открытым ключом Схема RSA 2. Зашифрование Открытый текст: М < n Зашифрованный Шифрование с открытым ключом Схема RSA 2. Зашифрование Открытый текст: М < n Зашифрованный текст С = М е (mod n) 3. Расшифрование Зашифрованный текст: С Восстановленный открытый текст М = Сd (mod n)

Шифрование с открытым ключом Схема RSA • Док-во: • Сd (mod n) = (М Шифрование с открытым ключом Схема RSA • Док-во: • Сd (mod n) = (М е)d (mod n) = (М еd ) (mod n) = М (k Φ(n) +1) (mod n) = = ( М· (mod n) (М k Φ(n) ) (mod n)) (mod n = = (М· (М Φ(n) ) (mod n)) k(mod n)) = М Теорема Эйлера а Ф(n)Ξ 1 mod n НОД (а, n) =1

Шифрование с открытым ключом Схема RSA Пример 1. Генерация ключей 1. 1 Выбрать два Шифрование с открытым ключом Схема RSA Пример 1. Генерация ключей 1. 1 Выбрать два простых числа: р = 7, q = 17. Вычислить n = p · q = 7 · 17 = 119. Вычислить Φ(n) = (p - 1) · (q - 1) = 96

Шифрование с открытым ключом Схема RSA 1. 2 Выбрать е е < 96 НОД Шифрование с открытым ключом Схема RSA 1. 2 Выбрать е е < 96 НОД (е, 96) =1 е = 5. 1. 3 Вычислить d из условия (d · e) = 1 mod 96 и d < 96 d = 77, так как 77 · 5 = 385 = 4 · 96 + 1 1. 3 Открытый ключ KU = {5, 119} Закрытый ключ KR = 77

Шифрование с открытым ключом Схема RSA 2. Зашифрование Сообщение М = 19. С = Шифрование с открытым ключом Схема RSA 2. Зашифрование Сообщение М = 19. С = 195 = 66 (mod 119) 3. Расшифрование М= 6677 (mod 119) = 19

Шифрование с открытым ключом Схема RSA 1. Реализуемость 1. 1 Возведение целого числа в Шифрование с открытым ключом Схема RSA 1. Реализуемость 1. 1 Возведение целого числа в целую степень по модулю n (a·b) mod n = [(a mod n)·(b mod n)] mod n 1. 2 Возведение в целую степень Разложение показателя по степеням 2 х37 = х (х2)2)2)

Шифрование с открытым ключом Схема RSA 1. 3 Для вычисления d = e-1 mod Шифрование с открытым ключом Схема RSA 1. 3 Для вычисления d = e-1 mod Φ(n) используется расширенный алгоритм Евклида, который относится к классу эффективных (вычислительно простых) Т. о. алгоритмы генерации ключей зашифрования расшифрования являются эффективными

Шифрование с открытым ключом Схема RSA 2. Криптостойкость 2. 1 Проблема RSA Зная (n, Шифрование с открытым ключом Схема RSA 2. Криптостойкость 2. 1 Проблема RSA Зная (n, e, M, C = Ме (mod n)) найти d 2. 2 Криптостойкость RSA ≤ сложность проблемы RSA ≤ сложность задачи факторизации n = субэкспоненциальная сложность

Схема RSA 2. 3 Прогресс в области факторизации Размер n (бит) Размер n (дес) Схема RSA 2. 3 Прогресс в области факторизации Размер n (бит) Размер n (дес) Дата факторизаци и Трудоемкость 332 398 100 120 1991 1993 7 МIPSлет 830 МIPSлет 428 431 512 129 130 155 1994 1996 1999 5000 МIPSлет 1000 МIPSлет 8000 МIPSлет 576 663 768 174 200 232 2003 2005 2009 13. 2 Рent лет 121 Рent лет 2000 АМD лет

Шифрование с открытым ключом Схема RSA 2. 4 Рекомендуемое значение n ≥ 2048 2. Шифрование с открытым ключом Схема RSA 2. 4 Рекомендуемое значение n ≥ 2048 2. 5 Стойкость к атакам по выбранным открытым текстам 2. 6 Ограничения на значение открытого ключа е (е ≥ 65537 ) 2. 7 Криптоанализ по побочным каналам

Шифрование с открытым ключом 1. Криптография с открытым ключом базируется на односторонних функциях с Шифрование с открытым ключом 1. Криптография с открытым ключом базируется на односторонних функциях с лазейкой 2. Схема RSA базируется на экспоненциально сложной задаче факторизации

Шифрование с открытым ключом 3. Схема открытого шифрования 3. 1 Генерацию пары ключей (открытый Шифрование с открытым ключом 3. Схема открытого шифрования 3. 1 Генерацию пары ключей (открытый ключ, закрытый ключ) 3. 2 Зашифрование на открытом ключе 3. 3 Расшифрование на закрытом ключе

Шифрование с открытым ключом 4. Каждый пользователь обладает собственным закрытым ключом и открытыми ключами Шифрование с открытым ключом 4. Каждый пользователь обладает собственным закрытым ключом и открытыми ключами других абонентов 5. Основное достоинство – отсутствие необходимости передачи закрытого ключа другим абонентам

Шифрование с открытым ключом 6. Основные недостатки: - низкая пропускная способность - большие длины Шифрование с открытым ключом 6. Основные недостатки: - низкая пропускная способность - большие длины ключей - невозможность построения совершенно безопасной системы

Шифрование с открытым ключом Уровень криптостойкости 280 Симметричное шифрование Длина ключа 80 Асимметричное шифрование Шифрование с открытым ключом Уровень криптостойкости 280 Симметричное шифрование Длина ключа 80 Асимметричное шифрование Размер модуля 1024 2128 3072 2192 7680 2256 15360

Шифрование с открытым ключом 7. Область применения – шифрование небольших сообщений (ключи, пароли и Шифрование с открытым ключом 7. Область применения – шифрование небольших сообщений (ключи, пароли и т. п. )