асимметричные_криптоалгоритмы.ppt
- Количество слайдов: 7
Ассиметричные алгоритмы 1. для шифрования сообщения используется один ключ, а при дешифровании – другой 2. процедура шифрования выбрана так, что она необратима даже по известному ключу шифрования 3. алгоритмы шифрования и дешифрования создаются так, чтобы зная открытый ключ, невозможно вычислить закрытый ключ
Алгоритм RSA Рональд Ривест (R. Rivest) , Ади Шамир (A. Shamir) и Леонард Адльман (L. Adleman). 1977 -78 гг. 1. Выбираются два простых (!) числа p и q 2. Вычисляется их произведение (n=p*q) 3. Выбирается произвольное число e (e<n), такое, что НОД(e, (p-1)(q-1))=1, то есть e должно быть взаимно простым с числом (p-1)(q-1). 4. Методом Евклида решается в целых числах (!) уравнение e*d+(p-1)(q-1)*y=1 относительно d и y 5. Два числа (e, n) – публикуются как открытый ключ. 6. Число d –закрытый ключ, который позволит читать все послания, зашифрованные с помощью пары чисел (e, n).
Процесс шифрования 1. Отправитель разбивает свое сообщение на блоки, равные k=[log 2(n)] бит, где квадратные скобки обозначают взятие целой части от дробного числа. 2. Подобный блок интерпретируем как число из диапазона (0; 2 k-1). Для каждого такого числа (назовем его mi) вычисляется выражение ci=((mi)e)mod n. Блоки ci и есть зашифрованное сообщение задача носит название "логарифмирование в конечном поле"
Дешифрование RSA Основа: теорема Эйлера. Если n = p*q, то (x(p-1)(q-1))mod n = 1. (x(-y)(p-1)(q-1)+1)mod n = 1*x = x. d такое, что e*d+(p-1)(q-1)*y=1, то есть e*d=(-y)(p-1)(q-1)+1 mi. : ((ci)d)mod n
Длина P(в битах) Сложность определения ключа x Память используемая алгоритмом (в битах) Время решения задачи на суперкомпьюре типа CRAY (109 оп/c) 128 2*1012 7*106 Несколько минут 200 1016 108 Несколько месяцев 256 9*1017 109 Несколько десятков лет 512 4*1024 3*1012 1024 1034 1017 Более 100 лет непрерывной работы 1500 1041 8*1020 2000 7*1047 1024 2200 1050 1025
Кpиптосистема Эль-Гамаля Основу системы составляют паpаметpы p и g - числа, пеpвое из котоpых пpостое, а втоpое - целое. генеpиpуется секpетный ключ а и вычисляет откpытый ключ y = gа mod p выбиpаем случайное число k, меньшее p и вычисляем y 1 = gk mod p y 2 = m yk, (y 1, y 2) – шифрованное сообщение Дешифровка m = (y 1 a mod p) y 2
Общая схема асимметричной криптосистемы
асимметричные_криптоалгоритмы.ppt