Rank error-correcting code
Rank codes | |
---|---|
Classification | |
Hierarchy |
Linear block code Rank code |
Block length | n |
Message length | k |
Distance | n − k + 1 |
Alphabet size | Q = qN (q prime) |
Notation | [n, k, d]-code |
Algorithms | |
Decoding |
Berlekamp–Massey Euclidean with Frobenius poynomials |
In coding theory, rank codes (also called Gabidulin codes) are non-binary[1] linear error-correcting codes over not Hamming but rank metric. They described a systematic way of building codes that could detect and correct multiple random rank errors. By adding redundancy with coding k-symbol word to a n-symbol word, a rank code can correct any errors of rank up to t = ⌊ (d − 1) / 2 ⌋, where d is a code distance. As an erasure code, it can correct up to d − 1 known erasures.
A rank code is an algebraic linear code over the finite field similar to Reed–Solomon code.
The rank of the vector over is the maximum number of linearly independent components over . The rank distance between two vectors over is the rank of the difference of these vectors.
The rank code corrects all errors with rank of the error vector not greater than t.
Rank metric
Let — n-dimensional vector space over the finite field , where is a power of a prime, is an integer and with is a base of the vector space over the field .
Every element can be represented as . Hence, every vector over can be written as matrix:
Rank of the vector over the field is a rank of the corresponding matrix over the field denoted by .
The set of all vectors is a space . The map ) defines a norm over and a rank metric:
Rank code
A set of vectors from is called a code with code distance and a k-dimensional subspace of – a linear (n, k)-code with distance .
Generating matrix
There is known the only construction of rank code, which is a maximum rank distance MRD-code with d = n − k + 1.
Let's define a Frobenius power of the element as
Then, every vector , linearly independent over , defines a generating matrix of the MRD (n, k, d = n − k + 1)-code.
where .
Applications
There are several proposals for public-key cryptosystems based on rank codes. However, most of them have been proven insecure (see e.g. Journal of Cryptology, April 2008[2]).
Rank codes are also useful for error and erasure correction in network coding.
See also
Notes
- ↑ Codes for which each input symbol is from a set of size greater than 2.
- ↑ "Structural Attacks for Public Key Cryptosystems based on Gabidulin Codes". Journal of Cryptology. 21: 280–301. doi:10.1007/s00145-007-9003-9.
References
- Gabidulin, Ernst M. (1985), "Theory of codes with maximum rank distance", Problems of Information Transmission, 21 (1): 1–12
- Kshevetskiy, Alexander; Gabidulin, Ernst M. (4–9 Sept. 2005), "The new construction of rank codes", Proceedings of IEEE International Symposium on Information Theory (ISIT) 2005: 2105–2108, ISBN 0-7803-9151-9 Check date values in:
|date=
(help) - Gabidulin, Ernst M.; Pilipchuk, Nina I. (June 29 – July 4, 2003), "A new method of erasure correction by rank codes", Proceedings of the 2003 IEEE International Symposium on Information Theory: 423, ISBN 0-7803-7728-1