Кодовая криптография с открытым ключом д.т.н., проф. Крук Е.А. СПбГУАП Защита информации в открытых сетях Традиционная задача защиты Нелегальный пользователь 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 Системы публичных ключей Абоненты Публичные ключи A1 f1(.) f1-1(.,k1) AN fN(.) fN-1(.,kN) Публичный ключ Система Мак-Элиса Шифрование: y=xK+e, K=MGP сообщение Секретные ключи Случайный вектор веса t (G) Дешифрование: y' yP -1 (xM)G eP -1 z xM x zM -1 (G') x Задача нелегального пользователя: y' Система публичных ключей на основе полного декодирования E {e | e e' M , wt (e) t} Публичные ключи G' , M 2 M1M G ' GM , E Секретные ключи M ,G M ,G Способ шифрования x y xG'e, e E y xG'e' ' M 2 , wt(e' ' ) t Способ дешифрования y' yM 1 xG e' (G ) y' x y xG e' ' M1 Задача нелегального пользователя: декодирование в G’ вектора из E x y xG'e, e E Задание множества E y xG'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 ЭльГамаля Хинмея АлбадиВиккера Сложность подделки совпадает Совпадает Превосходит Превосходит Скорость шифрования Превосходит Совпадает Совпадает Совпадает Скорость дешифрования Превосходит Превосходит Совпадает Совпадает Длина секретных Длиннее ключей Длиннее Совпадает Совпадает Длина публичных ключей Длиннее Совпадает Совпадает Длиннее