Articulo de referencia

Código de corrección de errores de clasificación

[[Rank error correcting code|Rank code]]"},"block_length":{"wt":"''n''"},"message_length":{"wt":"''k''"},"distance":{"wt":"''n'' − ''k'' + 1"},"alphabet_size":{"wt":"''Q''...

En teoría de la codificación , los códigos de rango (también llamados códigos de Gabidulin ) son códigos de corrección de errores lineales no binarios [ 1 ] que no se basan en la métrica de Hamming , sino en la métrica de rango . Describen una forma sistemática de construir códigos que pueden detectar y corregir múltiples errores de rango aleatorios . Al agregar redundancia codificando una palabra de k símbolos a una palabra de n símbolos, un código de rango puede corregir cualquier error de rango hasta t = ⌊ ( d 1) / 2 ⌋, donde d es una distancia de código. Como código de borrado , puede corregir hasta d 1 borrados conocidos.        

Un código de rango es un código lineal algebraico sobre el campo finito.GRAMOF(qnorte){\displaystyle GF(q^{N})}similar al código Reed-Solomon .

El rango del vector sobreGRAMOF(qnorte){\displaystyle GF(q^{N})}es el número máximo de componentes linealmente independientes sobreGRAMOF(q){\displaystyle GF(q)}. La distancia de rango entre dos vectores sobreGRAMOF(qnorte){\displaystyle GF(q^{N})}es el rango de la diferencia de estos vectores.

El código de rango corrige todos los errores cuyo rango del vector de error no sea mayor que t . 

Métrica de clasificación

Dejarincógnitanorte{\displaystyle X^{n}}sea ​​un espacio vectorial n -dimensional sobre el campo finitoGRAMOF(qnorte){\displaystyle GF\left({q^{N}}\right)}, dóndeq{\displaystyle q}es un poder de un primo ynorte{\displaystyle N}es un número entero positivo . Sea (1,2,,norte){\displaystyle \left(u_{1},u_{2},\dots ,u_{N}\right)}, coniGRAMOF(qnorte){\displaystyle u_{i}\in GF(q^{N})}, ser una base deGRAMOF(qnorte){\displaystyle GF\left({q^{N}}\right)}como un espacio vectorial sobre el campoGRAMOF(q){\displaystyle GF\left({q}\right)}.

Cada elementoincógnitaiGRAMOF(qnorte){\displaystyle x_{i}\in GF\left({q^{N}}\right)}puede representarse comoincógnitai=a1i1+a2i2++anorteinorte{\displaystyle x_{i}=a_{1i}u_{1}+a_{2i}u_{2}+\dots +a_{Ni}u_{N}}. Por lo tanto, cada vectorincógnita=(incógnita1,incógnita2,,incógnitanorte){\displaystyle {\vec {x}}=\left({x_{1},x_{2},\dots ,x_{n}}\right)}encimaGRAMOF(qnorte){\displaystyle GF\left({q^{N}}\right)}se puede escribir como una matriz:

incógnita=a1,1a1,2a1,nortea2,1a2,2a2,norteanorte,1anorte,2anorte,norte{\displaystyle {\vec {x}}=\left\|{\begin{array}{*{20}c}a_{1,1}&a_{1,2}&\ldots &a_{1,n}\\a_{2,1}&a_{2,2}&\ldots &a_{2,n}\\\ldots &\ldots &\ldots &\ldots \\a_{N,1}&a_{N,2}&\ldots &a_{N,n}\end{array}}\right\|}

Rango del vectorincógnita{\displaystyle {\vec {x}}}sobre el campoGRAMOF(qnorte){\displaystyle GF\left({q^{N}}\right)}es un rango de la matriz correspondiente A(incógnita){\displaystyle A\left({\vec {x}}\right)}sobre el campoGRAMOF(q){\displaystyle GF\left({q}\right)}denotado porr(incógnita;q){\displaystyle r\left({{\vec {x}};q}\right)}.

El conjunto de todos los vectoresincógnita{\displaystyle {\vec {x}}}es un espacioincógnitanorte=Anortenorte{\displaystyle X^{n}=A_{N}^{n}}El mapaincógnitar(incógnita;q){\displaystyle {\vec {x}}\to r\left({\vec {x}};q\right)}) define una norma sobreincógnitanorte{\displaystyle X^{n}}y una métrica de clasificación :

d(incógnita;y)=r(incógnitay;q){\displaystyle d\left({{\vec {x}};{\vec {y}}}\right)=r\left({{\vec {x}}-{\vec {y}};q}\right)}

Código de clasificación

Un conjunto{incógnita1,incógnita2,,incógnitanorte}{\displaystyle \{x_{1},x_{2},\dots ,x_{n}\}}de vectores deincógnitanorte{\displaystyle X^{n}}se denomina código con distancia de código d=mind(incógnitai,incógnitaj){\displaystyle d=\min d\left(x_{i},x_{j}\right)}. Si el conjunto también forma un subespacio k -dimensional deincógnitanorte{\displaystyle X^{n}}, entonces se le llama un código lineal ( n , k ) con distanciad{\displaystyle d}Dicho código métrico de rango lineal siempre satisface la cota Singleton.dnortek+1{\displaystyle d\leq n-k+1}con igualdad.

Matriz generadora

Existen varias construcciones conocidas de códigos de rango, que son códigos de distancia de rango máximo (o MRD) con d  = n k + 1. El más fácil de construir se conoce como el código de Gabidulin (generalizado), fue descubierto primero por Delsarte (quien lo llamó un sistema Singleton ) y más tarde por Gabidulin [ 2 ] (y Kshevetskiy [ 3 ] ).     

Definamos una potencia de Frobenius.[i]{\displaystyle [i]}del elementoincógnitaGRAMOF(qnorte){\displaystyle x\in GF(q^{N})}como

incógnita[i]=incógnitaqimodnorte.{\displaystyle x^{[i]}=x^{q^{i\mod N}}.\,}

Entonces, cada vectorgramo=(gramo1,gramo2,,gramonorte), gramoiGRAMOF(qnorte), nortenorte{\displaystyle {\vec {g}}=(g_{1},g_{2},\dots ,g_{n}),~g_{i}\in GF(q^{N}),~n\leq N}, linealmente independientes sobreGRAMOF(q){\displaystyle GF(q)}, define una matriz generadora del código MRD ( n , k , d  = n k + 1).     

GRAMO=gramo1gramo2gramonortegramo1[metro]gramo2[metro]gramonorte[metro]gramo1[2metro]gramo2[2metro]gramonorte[2metro]gramo1[(k1)metro]gramo2[(k1)metro]gramonorte[(k1)metro],{\displaystyle G=\left\|{\begin{array}{*{20}c}g_{1}&g_{2}&\dots &g_{n}\\g_{1}^{[m]}&g_{2}^{[m]}&\dots &g_{n}^{[m]}\\g_{1}^{[2m]}&g_{2}^{[2m]}&\dots &g_{n}^{[2m]}\\\dots &\dots &\dots &\dots \\g_{1}^{[(k-1)m]}&g_{2}^{[(k-1)m]}&\dots &g_{n}^{[(k-1)m]}\end{array}}\right\|,}

dóndemcd(metro,norte)=1{\displaystyle \gcd(m,N)=1}.

Aplicaciones

Existen varias propuestas de criptosistemas de clave pública basados ​​en códigos de rango. Sin embargo, la mayoría de ellos han demostrado ser inseguros (véase, por ejemplo, Journal of Cryptology, abril de 2008 [ 4 ] ).

Los códigos de rango también son útiles para la corrección de errores y borrados en la codificación de redes .

Véase también

Notas

  1. Códigos para los cuales cada símbolo de entrada pertenece a un conjunto de tamaño mayor que 2.
  2. Gabidulin, Ernst M. (1985). "Teoría de códigos con distancia de rango máximo" . Problemas de transmisión de información . 21 (1): 1– 12.
  3. Kshevetskiy, Alexander; Gabidulin, Ernst M. (4–9 de septiembre de 2005). «La nueva construcción de códigos de rango». Actas. Simposio Internacional sobre Teoría de la Información, 2005. ISIT 2005. págs. 2105–2108 . doi : 10.1109/ISIT.2005.1523717 . ISBN  978-0-7803-9151-2. S2CID 11679865 . 
  4. Overbeck, R. (2008). "Ataques estructurales para criptosistemas de clave pública basados ​​en códigos de Gabidulin" . Journal of Cryptology . 21 (2): 280– 301. doi : 10.1007/s00145-007-9003-9 . S2CID 2393853 . 

Referencias

  • Gabidulin, Ernst M. ( 1985), "Teoría de códigos con distancia de rango máxima" , Problemas de transmisión de información , 21 (1): 1–12
  • Kshevetskiy, Alexander; Gabidulin, Ernst M. (4–9 de septiembre de 2005). «La nueva construcción de códigos de rango». Actas del Simposio Internacional sobre Teoría de la Información, 2005. ISIT 2005. págs. 2105–2108 . doi : 10.1109/ISIT.2005.1523717 . ISBN  978-0-7803-9151-2. S2CID 11679865 . 
  • Gabidulin, Ernst M.; Pilipchuk, Nina I. (29 de junio - 4 de julio de 2003). «Un nuevo método de corrección de borrado mediante códigos de rango». Simposio Internacional IEEE sobre Teoría de la Información, 2003. Actas . pág.  423. doi : 10.1109/ISIT.2003.1228440 . ISBN 978-0-7803-7728-8. S2CID 122552232 . 
  • Implementación en MATLAB de un códec Rank-metric