В теории кодирования ранговые коды (также называемые кодами Габидулина ) являются недвоичными [1] линейными кодами с исправлением ошибок не по метрике Хэмминга, а по метрике ранга . Они описали систематический способ построения кодов, которые могли бы обнаруживать и исправлять множественные случайные ранговые ошибки. Добавляя избыточность с кодированием k -символьного слова к n -символьному слову, ранговый код может исправлять любые ошибки ранга до t = ⌊ ( d − 1) / 2 ⌋, где d — кодовое расстояние. Как код стирания , он может исправлять до d − 1 известных стираний.
Ранговый код — это алгебраический линейный код над конечным полем, аналогичный коду Рида–Соломона .
Ранг вектора над — это максимальное число линейно независимых компонент над . Ранговое расстояние между двумя векторами над — это ранг разности этих векторов.
Ранговый код исправляет все ошибки с рангом вектора ошибок не больше t .
Метрика ранга
Пусть будет n -мерным векторным пространством над конечным полем , где — степень простого числа, а — положительное целое число. Пусть , причем , будет базой как векторного пространства над полем .
Каждый элемент можно представить как . Следовательно, каждый вектор над можно записать в виде матрицы:
Ранг вектора над полем — это ранг соответствующей матрицы над полем, обозначаемый .
Множество всех векторов является пространством . Карта определяет норму над и метрику ранга :
Код ранга
Набор векторов из называется кодом с кодовым расстоянием . Если набор также образует k -мерное подпространство , то он называется линейным ( n , k )-кодом с расстоянием . Такой линейный ранговый метрический код всегда удовлетворяет границе Синглтона с равенством.
Генерирующая матрица
Существует несколько известных конструкций ранговых кодов, которые являются кодами максимального рангового расстояния (или MRD) с d = n − k + 1. Самый простой для построения код известен как (обобщенный) код Габидулина, он был впервые открыт Дельсартом (который назвал его системой Singleton ), а затем Габидулиным [2] (и Кшевецким [3] ).
Определим степень Фробениуса элемента как
Тогда каждый вектор , линейно независимый над , определяет порождающую матрицу MRD ( n , k , d = n − k + 1)-кода.
где .
Приложения
Существует несколько предложений по криптосистемам с открытым ключом, основанным на ранговых кодах. Однако большинство из них оказались небезопасными (см., например, Journal of Cryptology, апрель 2008 г. [4] ).
Ранговые коды также полезны для исправления ошибок и стираний при сетевом кодировании .
^ Коды, для которых каждый входной символ принадлежит набору размером больше 2.
^ Габидулин, Эрнст М. (1985). «Теория кодов с максимальным ранговым расстоянием». Проблемы передачи информации . 21 (1): 1– 12.
^ Кшевецкий, Александр; Габидулин, Эрнст М. (4–9 сентября 2005 г.). «Новая конструкция ранговых кодов». Труды. Международный симпозиум по теории информации, 2005. ISIT 2005. стр. 2105– 2108. doi :10.1109/ISIT.2005.1523717. ISBN978-0-7803-9151-2. S2CID 11679865.
^ Овербек, Р. (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. ISBN978-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. ISBN978-0-7803-7728-8. S2CID 122552232.