Приложения кодов, исправляющих ошибки, в открытых сетях

advertisement
Задача декодирования
линейных кодов
и некоторые применения
помехоустойчивого
кодирования
План доклада


Коды, исправляющие ошибки
Сложность декодирования линейных кодов



Кодирование уменьшает задержку



Декодирование линейных кодов как трудная задача
Декодирование линейных кодов как простая задача
Кодирование на транспортном уровне сети передачи
данных
Кодирование при передаче речи и изображений
Кодовая криптография

Система шифрования с открытым ключом
Общая схема передачи
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
aA

Декодирование по минимуму расстояния в
симметричном канале без памяти
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 } - множество и.с.
 ~ sl
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
ЭльГамаля
Хинмея
АлбадиВиккера
Сложность
подделки
совпадает
Совпадает
Превосходит
Превосходит
Скорость
шифрования
Превосходит
Совпадает
Совпадает
Совпадает
Скорость
дешифрования
Превосходит
Превосходит
Совпадает
Совпадает
Длина секретных Длиннее
ключей
Длиннее
Совпадает
Совпадает
Длина
публичных
ключей
Длиннее
Совпадает
Совпадает
Длиннее
Download