Ранговый код исправления ошибок

Код исправления ошибок
Коды рангов
Классификация
ИерархияЛинейный блочный код
Ранговый код
Длина блокан
Длина сообщенияк
Расстояниенк + 1
Размер алфавитаQ = q N   ( q простое число)
Обозначение[ n , k , d ]-код
Алгоритмы

Евклидово уравнение Берлекэмпа–Месси
с полиномами Фробениуса

В теории кодирования ранговые коды (также называемые кодами Габидулина ) являются недвоичными [1] линейными кодами с исправлением ошибок не по метрике Хэмминга, а по метрике ранга . Они описали систематический способ построения кодов, которые могли бы обнаруживать и исправлять множественные случайные ранговые ошибки. Добавляя избыточность с кодированием k -символьного слова к n ​​-символьному слову, ранговый код может исправлять любые ошибки ранга до t  = ⌊ ( d  − 1) / 2 ⌋, где d — кодовое расстояние. Как код стирания , он может исправлять до d − 1 известных стираний.

Ранговый код — это алгебраический линейный код над конечным полем, аналогичный коду Рида–Соломона . Г Ф ( д Н ) {\displaystyle GF(q^{N})}

Ранг вектора над — это максимальное число линейно независимых компонент над . Ранговое расстояние между двумя векторами над — это ранг разности этих векторов. Г Ф ( д Н ) {\displaystyle GF(q^{N})} Г Ф ( д ) {\displaystyle GF(q)} Г Ф ( д Н ) {\displaystyle GF(q^{N})}

Ранговый код исправляет все ошибки с рангом вектора ошибок не больше  t .

Метрика ранга

Пусть будет n -мерным векторным пространством над конечным полем , где — степень простого числа, а — положительное целое число. Пусть , причем , будет базой как векторного пространства над полем . Х н {\displaystyle X^{n}} Г Ф ( д Н ) {\displaystyle GF\left({q^{N}}\right)} д {\displaystyle д} Н {\displaystyle N} ( ты 1 , ты 2 , , ты Н ) {\displaystyle \left(u_{1},u_{2},\точки ,u_{N}\right)} ты я Г Ф ( д Н ) {\displaystyle u_{i}\in GF(q^{N})} Г Ф ( д Н ) {\displaystyle GF\left({q^{N}}\right)} Г Ф ( д ) {\displaystyle GF\left({q}\right)}

Каждый элемент можно представить как . Следовательно, каждый вектор над можно записать в виде матрицы: х я Г Ф ( д Н ) {\displaystyle x_{i}\in GF\left({q^{N}}\right)} х я = а 1 я ты 1 + а 2 я ты 2 + + а Н я ты Н {\displaystyle x_{i}=a_{1i}u_{1}+a_{2i}u_{2}+\dots +a_{Ni}u_{N}} х = ( х 1 , х 2 , , х н ) {\displaystyle {\vec {x}}=\left({x_{1},x_{2},\dots ,x_{n}}\right)} Г Ф ( д Н ) {\displaystyle GF\left({q^{N}}\right)}

х = а 1 , 1 а 1 , 2 а 1 , н а 2 , 1 а 2 , 2 а 2 , н а Н , 1 а Н , 2 а Н , н {\displaystyle {\vec {x}}=\left\|{\begin{array}{*{20}c}a_{1,1}&a_{1,2}&\ldots &a_{1,n}\\a_{2,1}&a_{2,2}&\ldots &a_{2,n}\\\ldots &\ldots &\ldots &\ldots \\a_{N,1}&a_{N,2}&\ldots &a_{N,n}\end{array}}\right\|}

Ранг вектора над полем — это ранг соответствующей матрицы над полем, обозначаемый . х {\displaystyle {\vec {x}}} Г Ф ( д Н ) {\displaystyle GF\left({q^{N}}\right)} А ( х ) {\displaystyle A\left({\vec {x}}\right)} Г Ф ( д ) {\displaystyle GF\left({q}\right)} г ( х ; д ) {\displaystyle r\left({{\vec {x}};q}\right)}

Множество всех векторов является пространством . Карта определяет норму над и метрику ранга : х {\displaystyle {\vec {x}}} Х н = А Н н {\displaystyle X^{n}=A_{N}^{n}} х г ( х ; д ) {\displaystyle {\vec {x}}\to r\left({\vec {x}};q\right)} Х н {\displaystyle X^{n}}

г ( х ; у ) = г ( х у ; д ) {\displaystyle d\left({{\vec {x}};{\vec {y}}}\right)=r\left({{\vec {x}}-{\vec {y}};q}\right)}

Код ранга

Набор векторов из называется кодом с кодовым расстоянием . Если набор также образует k -мерное подпространство , то он называется линейным ( n , k )-кодом с расстоянием . Такой линейный ранговый метрический код всегда удовлетворяет границе Синглтона с равенством. { х 1 , х 2 , , х н } {\displaystyle \{x_{1},x_{2},\точки ,x_{n}\}} Х н {\displaystyle X^{n}} г = мин г ( х я , х дж ) {\displaystyle d=\min d\left(x_{i},x_{j}\right)} Х н {\displaystyle X^{n}} г {\displaystyle д} г н к + 1 {\displaystyle d\leq n-k+1}

Генерирующая матрица

Существует несколько известных конструкций ранговых кодов, которые являются кодами максимального рангового расстояния (или MRD) с d  =  n  −  k  + 1. Самый простой для построения код известен как (обобщенный) код Габидулина, он был впервые открыт Дельсартом (который назвал его системой Singleton ), а затем Габидулиным [2] (и Кшевецким [3] ).

Определим степень Фробениуса элемента как [ я ] {\displaystyle [я]} х Г Ф ( д Н ) {\displaystyle x\in GF(q^{N})}

х [ я ] = х д я мод Н . {\displaystyle x^{[i]}=x^{q^{i\mod N}}.\,}

Тогда каждый вектор , линейно независимый над , определяет порождающую матрицу MRD ( n , k , d  =  n  −  k  + 1)-кода. г = ( г 1 , г 2 , , г н ) ,   г я Г Ф ( д Н ) ,   н Н {\displaystyle {\vec {g}}=(g_{1},g_{2},\dots ,g_{n}),~g_{i}\in GF(q^{N}),~n\leq N} Г Ф ( д ) {\displaystyle GF(q)}

Г = г 1 г 2 г н г 1 [ м ] г 2 [ м ] г н [ м ] г 1 [ 2 м ] г 2 [ 2 м ] г н [ 2 м ] г 1 [ ( к 1 ) м ] г 2 [ ( к 1 ) м ] г н [ ( к 1 ) м ] , {\displaystyle G=\left\|{\begin{array}{*{20}c}g_{1}&g_{2}&\dots &g_{n}\\g_{1}^{[m]}&g_{2}^{[m]}&\dots &g_{n}^{[m]}\\g_{1}^{[2m]}&g_{2}^{[2m]}&\dots &g_{n}^{[2m]}\\\dots &\dots &\dots &\dots \\g_{1}^{[(k-1)m]}&g_{2}^{[(k-1)m]}&\dots &g_{n}^{[(k-1)m]}\end{array}}\right\|,}

где . gcd ( м , Н ) = 1 {\displaystyle \НОД(м,N)=1}

Приложения

Существует несколько предложений по криптосистемам с открытым ключом, основанным на ранговых кодах. Однако большинство из них оказались небезопасными (см., например, Journal of Cryptology, апрель 2008 г. [4] ).

Ранговые коды также полезны для исправления ошибок и стираний при сетевом кодировании .

Смотрите также

Примечания

  1. ^ Коды, для которых каждый входной символ принадлежит набору размером больше 2.
  2. ^ Габидулин, Эрнст М. (1985). «Теория кодов с максимальным ранговым расстоянием». Проблемы передачи информации . 21 (1): 1– 12.
  3. ^ Кшевецкий, Александр; Габидулин, Эрнст М. (4–9 сентября 2005 г.). «Новая конструкция ранговых кодов». Труды. Международный симпозиум по теории информации, 2005. ISIT 2005. стр.  2105– 2108. doi :10.1109/ISIT.2005.1523717. ISBN 978-0-7803-9151-2. S2CID  11679865.
  4. ^ Овербек, Р. (2008). «Структурные атаки на криптосистемы с открытым ключом на основе кодов Габидулина». Журнал криптологии . 21 (2): 280–301 . doi : 10.1007/s00145-007-9003-9 . S2CID  2393853.

Ссылки

  • Габидулин, Эрнст М. (1985), «Теория кодов с максимальным ранговым расстоянием», Проблемы передачи информации , 21 (1): 1– 12
  • Кшевецкий, Александр; Габидулин, Эрнст М. (4–9 сентября 2005 г.). «Новая конструкция ранговых кодов». Труды. Международный симпозиум по теории информации, 2005. ISIT 2005. С.  2105– 2108. doi :10.1109/ISIT.2005.1523717. ISBN 978-0-7803-9151-2. S2CID  11679865.
  • Габидулин, Эрнст М.; Пилипчук, Нина И. (29 июня – 4 июля 2003 г.). "Новый метод коррекции стирания ранговыми кодами". IEEE International Symposium on Information Theory, 2003. Proceedings . p. 423. doi :10.1109/ISIT.2003.1228440. ISBN 978-0-7803-7728-8. S2CID  122552232.
  • Реализация MATLAB ранг-метрического кодека
Получено с "https://en.wikipedia.org/w/index.php?title=Rank_error-correcting_code&oldid=1170019215"