Ранговый код

Материал из testwiki
Перейти к навигации Перейти к поиску

Ранговый код — алгебраический линейный код над полем GF(qN), в общем случае — метод кодирования информации с целью защиты от помех. В настоящее время предложено использование данного кода для использования в случайном сетевом кодировании.

В отличие от других алгебраических кодов, использующих метрику Хемминга, используется новая ранговая метрика (ранговое расстояние), которое задаётся как ранг разности векторов над полем GF(q).

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

Определения

Пусть задано Xn — n-мерное векторное пространство над полем Галуа GF(qN), где q — простое число, N — степень простого числа, а u1,u2,…,uN — некоторый фиксированный базис этого поля, если его рассматривать как векторное пространство над полем GF(q).

Любой элемент xi∈GF(qN) можно однозначно представить как xi=a1iu1+a2iu2+…+aNiuN. Если обозначить совокупность всех (N×n) матриц с элементами из GF(q) как ANn, то для любого вектора x→=(x1,x2,…,xn) можно задать биекцию A:Xn→ANn с помощью следующего правила:

A(x→)=‖a11a12...a1na21a22...a2n............aN1aN2...aNn‖

Рангом вектора x→ над полем GF(q) будем называть ранг соответствующей матрицы A(x→) и обозначать как r(x→;q). Данный ранг (точнее, отображение x→→r(x→;q)) задаёт норму на Xn. Данная норма задаёт на Xn ранговую метрику:

d(x→;y→)=r(x→−y→;q)

Тогда произвольное множество {x1, x2, ..., xM} векторов из Xn назовём кодом (с кодовым расстоянием d=min⁡d(xi,xj), а подпространство Xn размерности k — линейным или (n, k)-кодом.

Использование

На основе ранговых кодов были предложены некоторые новые криптосистемы (ГПТ). Также было показано, что ранговые коды можно использовать при сетевом кодировании, которое использует возможность кода исправлять ошибки с рангом не выше заданного.

Литература

Ссылки