Rank Error Correcting Code
   HOME

TheInfoList



OR:

In
coding theory Coding theory is the study of the properties of codes and their respective fitness for specific applications. Codes are used for data compression, cryptography, error detection and correction, data transmission and data storage. Codes are stud ...
, rank codes (also called Gabidulin codes) are non-binaryCodes for which each input symbol is from a set of size greater than 2.
linear Linearity is the property of a mathematical relationship (''function'') that can be graphically represented as a straight line. Linearity is closely related to '' proportionality''. Examples in physics include rectilinear motion, the linear r ...
error-correcting code In computing, telecommunication, information theory, and coding theory, an error correction code, sometimes error correcting code, (ECC) is used for controlling errors in data over unreliable or noisy communication channels. The central idea is ...
s over not
Hamming Hamming may refer to: * Richard Hamming (1915–1998), American mathematician * Hamming(7,4), in coding theory, a linear error-correcting code * Overacting, or acting in an exaggerated way See also

* Hamming code, error correction in telecom ...
but ''rank'' metric. They described a systematic way of building codes that could detect and correct multiple
random In common usage, randomness is the apparent or actual lack of pattern or predictability in events. A random sequence of events, symbols or steps often has no :wikt:order, order and does not follow an intelligible pattern or combination. Ind ...
''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 In coding theory, an erasure code is a forward error correction (FEC) code under the assumption of bit erasures (rather than bit errors), which transforms a message of ''k'' symbols into a longer message (code word) with ''n'' symbols such that the ...
, it can correct up to ''d'' − 1 known erasures. A rank code is an algebraic linear code over the finite field GF(q^N) similar to Reed–Solomon code. The rank of the vector over GF(q^N) is the maximum number of linearly independent components over GF(q). The rank distance between two vectors over GF(q^N) 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 X^n be an ''n''-dimensional vector space over the
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field that contains a finite number of elements. As with any field, a finite field is a set on which the operations of multiplication, addition, subtr ...
GF\left( \right), where q is a power of a prime and N is a positive integer. Let \left(u_1, u_2, \dots, u_N\right), with u_i \in GF(q^N), be a base of GF\left( \right) as a vector space over the field GF\left( \right). Every element x_i \in GF\left( \right) can be represented as x_i = a_u_1 + a_u_2 + \dots + a_u_N. Hence, every vector \vec x = \left( \right) over GF\left( \right) can be written as matrix: : \vec x = \left\, \right\, ''Rank of the vector'' \vec x over the field GF\left( \right) is a rank of the corresponding matrix A\left( \right) over the field GF\left( \right) denoted by r\left( \right). The set of all vectors \vec x is a space X^n = A_N^n. The map \vec x \to r\left( \vec x; q \right)) defines a norm over X^n and a ''rank metric'': : d\left( \right) = r\left( \right)


Rank code

A set \ of vectors from X^n is called a code with code distance d = \min d\left( x_i ,x_j \right). If the set also forms a ''k''-dimensional subspace of X^n, then it is called a linear (''n'', ''k'')-code with distance d. Such a linear rank metric code always satisfies the Singleton bound d \leq n - k + 1 with equality.


Generating matrix

There are several known constructions of rank codes, which are ''maximum rank distance'' (or MRD) codes with ''d'' = ''n'' − ''k'' + 1. The easiest one to construct is known as the (generalized) Gabidulin code, it was discovered first by Delsarte (who called it a '' Singleton system'') and later by Gabidulin (and Kshevetskiy ). Let's define a Frobenius power /math> of the element x \in GF(q^N) as : x^ = x^. \, Then, every vector \vec g = (g_1, g_2, \dots, g_n), ~ g_i \in GF(q^N), ~ n \leq N, linearly independent over GF(q), defines a generating matrix of the MRD (''n'', ''k'', ''d'' = ''n'' − ''k'' + 1)-code. : G = \left\, \right\, , where \gcd(m,N) = 1.


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). Rank codes are also useful for error and erasure correction in
network coding In computer networking, linear network coding is a program in which intermediate nodes transmit data from source nodes to sink nodes by means of linear combinations. Linear network coding may be used to improve a network's throughput, efficiency, ...
.


See also

*
Linear code In coding theory, a linear code is an error-correcting code for which any linear combination of codewords is also a codeword. Linear codes are traditionally partitioned into block codes and convolutional codes, although turbo codes can be seen as ...
*
Reed–Solomon error correction Reed–Solomon codes are a group of error-correcting codes that were introduced by Irving S. Reed and Gustave Solomon in 1960. They have many applications, the most prominent of which include consumer technologies such as MiniDiscs, CDs, DVDs, B ...
*
Berlekamp–Massey algorithm The Berlekamp–Massey algorithm is an algorithm that will find the shortest linear-feedback shift register (LFSR) for a given binary output sequence. The algorithm will also find the minimal polynomial of a linearly recurrent sequence in an arbi ...
*
Network coding In computer networking, linear network coding is a program in which intermediate nodes transmit data from source nodes to sink nodes by means of linear combinations. Linear network coding may be used to improve a network's throughput, efficiency, ...


Notes


References

* * *{{Cite book, first1= Ernst M. , last1= Gabidulin , first2= Nina I. , last2= Pilipchuk , title= IEEE International Symposium on Information Theory, 2003. Proceedings. , chapter= A new method of erasure correction by rank codes , date=June 29 – July 4, 2003 , pages=423 , isbn = 978-0-7803-7728-8 , doi= 10.1109/ISIT.2003.1228440 , s2cid= 122552232


External links


MATLAB implementation of a Rank–metric codec
Error detection and correction Coding theory