Ранговый код

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

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

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

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

Определения

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

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

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

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

d(x;y)=r(xy;q)

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

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

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

Литература

Ссылки