Криптография с открытым ключом Защита информации в открытых сетях Традиционная задача защиты Нелегальный пользователь B f,f-1 A f,f-1 y f ( x) x f 1 ( y) Простые задачи Защита информации в открытых сетях Защита в открытых сетях Ai Функция с закрытыми дверями: y f ( x), x f 1 ( y, K ) x f 1 ( y,) Простая задача Сложная задача Aj Большие числа Время до следующего ледникового периода 239 секунд Время до появления нового солнца 255 255 259 170 2 2190 2223 2265 секунд Возраст планет Возраст Вселенной Число атомов Земли Число атомов Солнца Число атомов в Галактике Число атомов во Вселенной секунд секунд (включая черную материю) Объем Вселенной (Брюс Шнайер, Прикладная криптография) 2280 cm3 Системы публичных ключей Абоненты Публичные ключи Секретные ключи B1 f1(.) f1-1(.,k1) BN fN(.) fN-1(.,kN) Система Мак-Элиса Выбирается (n,k) – код, исправляющий t ошибок Пусть G – порождающая матрица кода Система Мак-Элиса Установки: m – сообщение с – криптограмма Выбираются невырожденные квадратные матрицы М и Р(секрет), маскирующие структуру G Строится новая порождающая матрица G’=MGP (то есть строится новый код) Система Мак-Элиса Шифрование: Выбирается е – случайное слово веса t с=mG’+e (то есть кодирование и добавление «ошибочного слова») Система Мак-Элиса Секретные ключи: матрицы М и Р Открытые ключи: К Система Мак-Элиса Расшифрование: (G') c' m (G) c' cP -1 (mM)G eP -1 z mM M zM -1 Система публичных ключей на основе полного декодирования E {e | e e' M , wt (e) t} Публичные ключи G' , M 2 M1M G ' GM , E Секретные ключи M ,G M ,G Способ шифрования m c mG'e, e E c mG'e' ' M 2 , wt (e' ' ) t Способ расшифрования c' cM 1 mG e' (G ) с' m с mG e' ' M1 Задача нелегального пользователя: декодирование в G’ вектора из E m c mG'e, e E Задание множества E с mG'e' ' M 2 , wt (e' ' ) t M 2 M1M ; M1 : e' ' M1 e' ; wt(e' ' ) t, wt(e' ) t Параметры кодовых криптосистем Система публичных ключей на базе полного декодирования Код (256,128), t=8 M, M2 – (256×256) - двоичные матрицы длина публичных ключей - 2-4 КБ рабочий фактор - 262 длина секретных ключей - 2-4 КБ Система Макэлиса Код (1024,524), t=50 длина публичного ключа - 66 КБ рабочий фактор - 261 длина секретных ключей - 2-4 КБ Сравнение с известными криптосистмами Параметр RSA Мак-Элиса Сложность вскрытия Скорость шифрования Скорость расшифрования Длина секретных ключей Длина публичных ключей Совпадает Совпадает Превосходит Совпадает Превосходит Совпадает совпадает Совпадает Длиннее Короче Электронная подпись сообщение u F1(u) Множество сообщений u подпись z ? = F2(z) F(u) Множество допустимых синдромов S Параметры подписи: код (1024,424), t=50 F(u) на основе DES Сложность подделки -261 Длина публичного ключа – 66кБ Длина секретного ключа – 2-4кБ Публичные ключи: H – проверочная матрица (n,k) кода A t – расстояние кода A F() – нелинейная необратимая функция Секретные ключи – процедура декодирования кода A Процедура подписывания u F (u) s e (u,z=e) – подписанное сообщение Процедура проверки ? F (u ) s Сравнение с иными алгоритмами подписи Параметр RSA ЭльГамаля Хинмея АлбадиВиккера Сложность подделки совпадает Совпадает Превосходит Превосходит Скорость шифрования Превосходит Совпадает Совпадает Совпадает Скорость дешифрования Превосходит Превосходит Совпадает Совпадает Длина секретных Длиннее ключей Длиннее Совпадает Совпадает Длина публичных ключей Длиннее Совпадает Совпадает Длиннее