Задача декодирования линейных кодов и некоторые применения помехоустойчивого кодирования План доклада Коды, исправляющие ошибки Сложность декодирования линейных кодов Кодирование уменьшает задержку Декодирование линейных кодов как трудная задача Декодирование линейных кодов как простая задача Кодирование на транспортном уровне сети передачи данных Кодирование при передаче речи и изображений Кодовая криптография Система шифрования с открытым ключом Общая схема передачи j m a n k e b=a+e Y a’ n m’ n m – информационный вектор a=(a1,…, an) – кодовое слово e=(e1,…, en) – вектор ошибки b=(b1,…, bn) – принятое слово j - кодирование j(m)=mG G – порождающая матрица кода Y - декодирование Y(b)=a’ a’ – декодированный вариант принятого слова Коды, исправляющие ошибки Задача кодирования j m1 a1 k k (n,k) код A ………… mN k j Параметры кода: aN k Задача декодирования b aˆ aˆ : d (b, aˆ ) min d (b, a ) a A n –длина кода R=k /n – скорость кода d min d (ai , a j ) минимальное i j расстояние кода Параметры декодирования Вероятность ошибки P Pr{a aˆ} Сложность декодирования 1 n ( R) log{ сложность процедуры } Методы декодирования кодов, исправляющих ошибки По минимуму расстояния aˆ : d (aˆ , b) min d (a, b) a A В шаре радиуса n d ( a, b) d (aˆ , b) min a A aˆ : d (aˆ , b) n Сравнение методов декодирования Декодирование по максимуму правдоподобия aˆ : P(aˆ | b) max P(a | b); Pош P0 aA Декодирование по минимуму расстояния в симметричном канале без памяти Pош P0 Декодирование в сфере радиуса R покрытия в симметричном канале без памяти R Pош P0 (1 o(1)) a1 a2 a3 a4 Комбинаторное декодирование Декодирование по информационным совокупностям как задача построения (n, r, t)-покрытия 1 aˆ1 L 1 (b) ........................... a* : d (b, a* ) min d (b, aˆi ) ошибки i 1, s s aˆs L s (b) ................ {1, ..., n} \ { 1 , ..., s } { 1 , ..., s } Задача: Построение (n, r, t)-покрытия { 1 , ..., s }такого, что для любого t-множества ошибок I(t) существует j , у которого I (t ) j t Обобщение декодирования по информационным совокупностям (и.с.) I Декодирующие совокупности DC {, Q} { 1, ..., s } - множество и.с. ~ sl Q {q1, ..., ql } - множество покрывающи х векторов , q L (b q) aˆ ( , q) - декодированный вариант принятого слова ошибок ................................ t - ошибок ................ Задача: Построение ( n, r ,t , )-покрытия { 1 , ..., s } такого, что для любого t-множества ошибок I(t) существует j, у которого I (t ) j t - Обобщение декодирования по информационным совокупностям (и.с.) II Декодирование с использованием укорочений n1 m k G Задача: Построение (n, m,t , t1 )-покрытия Сложность декодирования: 2 (n, k ,t ) s (n1, k , t1 ) k (n1, k , d1 2t1 1) - код Обобщение декодирования по информационным совокупностям (и.с.) III Декодирование с использованием надкодов A'1 A'2 A x * r * - слово кода A x A' s - принятое слово - слово кода Список слов кода A'i , требу Результирующий список ющих проверки s S Si i 1 Сложность декодирования (n, k ,t ) max{ s ( A' ), | S |} A'i Сложность алгоритмов декодирования Декодирование Декодирование Декодирование Декодирование по минимуму расстояния на основе покрытий на основе укорочений в надкодах Параметры комбинаторных декодеров кодов (24,12) и (48,24) Алгоритм декодирования Код (24,12) Код (48,24) Память Число операций с векторами длины 24 Память Число операций с векторами длины 48 По информационным совокупностям 1К 400 10К 5000 Комбинированное по информационным совокупностям 0,1К 120 2К 4500 На основе укорочений 0,5К 50 8К 3000 Декодирование в надкодах 0,5К 50 2К 2000 Алгебраическое декодирование Дано: 1 ... n -1 2 2 ( n -1) 2t-вектор S над GF(q) 1 ... , GF (q) Проверочная матрица H ... ... ... ... 2t 2 t ( n -1) ... 1 eH S e: wt (e) t T Найти: Кодирование на транспортном уровне сети передачи данных 1 Сеть с коммутацией пакетов i c N 1 — Внешний трафик сети — Внутренний трафик сети 1 c 1 1 t c 1 - c — Пропускная способность сети — Среднее время обслуживания пакета — Средняя задержка сети — Загрузка сети Условия выгодности кодирования Без кодирования С кодированием Задержка пакетов t '1 ,..., t 'k t1 ,..., tk Задержка сообщения Tk :k max ti Tk:n - k - ая порядковая статистика i T Tk:k E max ti i Средняя задержка T ( k ) min Tk :n min E Tk :n R R Условие выгодности кодирования T T (k ) 2 1- Для экспоненциального распределения задержки пакетов 1 4 ln ln k c ln k c, c 0.577... - постоянная Эйлера 1- 1- Кодирование P1 P2 В сеть Pk кодирование 1 2 k k+1 k+2 N В сеть Элементы поля GF(q) P1 P2 Pk Pk+1 U1 Избыточные символы Загрузка V 1- Задержка пакета R Процедура сборки сообщения k пакетов из k отправленных UN , R - скорость кода V 1- / R k пакетов из n отправленных Применение в Интернеттелефонии Звуковые данные Восстановленные данные Систематическое кодирование Декодирование Избыточная информация Ненадежная сеть Пример приложения Драйвер DSP TrueSpeech сжатие данных Драйвер Декомпрессия аудиоданных Восстановление утерянных данных Приемный буфер Вычисление избыточной информации UDP Сеть или эмулятор UDP Достигнутые результаты Повышение качества звука Снижение задержки Адаптивное управление параметрами кодирования Бесприоритетная передача приоритетных сообщений Кодирование (R1) Высокоприоритетное сообщение Кодирование (R2) Низкоприоритетное сообщение R1< R2 Передача изображений Основные данные Сжатие r0 Избыточность R0 Малозначимые данные Сжатие r1 Избыточность R1 Фон Сжатие r2 Избыточность R2 сеть Сжатие на основе помехоустойчивого кодирования 11 21 ... 81 12 22 ... 82 ... 18 ... 28 8 ( ,..., ), GF ( 2 ) 11 88 ij ... ... ... 88 a1 Покрытие пространства a 2 в метрике d ( x, y ) n x - y i i i 1 ... Сжатие: 5-6 раз a N a1 Покрытие множества a 2 доменов ... Сжатие: ? a N Защита информации в открытых сетях Традиционная задача защиты Нелегальный пользователь 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 Y z xM x zM -1 (G') x Задача нелегального пользователя: y' 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' 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() – нелинейная необратимая функция Секретные ключи Y– процедура декодирования кода A Процедура подписывания Y u F (u) s e (u,z=e) – подписанное сообщение Процедура проверки ? F (u ) s Сравнение с иными алгоритмами подписи Параметр RSA ЭльГамаля Хинмея АлбадиВиккера Сложность подделки совпадает Совпадает Превосходит Превосходит Скорость шифрования Превосходит Совпадает Совпадает Совпадает Скорость дешифрования Превосходит Превосходит Совпадает Совпадает Длина секретных Длиннее ключей Длиннее Совпадает Совпадает Длина публичных ключей Длиннее Совпадает Совпадает Длиннее