stringtranslate.com

Código binario de Goppa

En matemáticas y ciencias de la computación , el código binario Goppa es un código de corrección de errores que pertenece a la clase de códigos Goppa generales descritos originalmente por Valerii Denisovich Goppa , pero la estructura binaria le otorga varias ventajas matemáticas sobre las variantes no binarias, y también proporciona un mejor ajuste para el uso común en computadoras y telecomunicaciones. Los códigos binarios Goppa tienen propiedades interesantes adecuadas para la criptografía en criptosistemas tipo McEliece y configuraciones similares.

Construcción y propiedades

Un código Goppa binario irreducible se define mediante un polinomio de grado sobre un campo finito sin raíces repetidas y una secuencia de elementos distintos de que no son raíces de .

Las palabras clave pertenecen al núcleo de la función del síndrome y forman un subespacio de :

El código definido por una tupla tiene una dimensión de al menos y una distancia de al menos , por lo que puede codificar mensajes de longitud de al menos utilizando palabras de código de tamaño y corrigiendo al menos errores. Posee una conveniente matriz de verificación de paridad en forma

Tenga en cuenta que esta forma de la matriz de comprobación de paridad, al estar compuesta por una matriz de Vandermonde y una matriz diagonal , comparte la forma con las matrices de comprobación de códigos alternantes , por lo que se pueden utilizar decodificadores alternantes en esta forma. Dichos decodificadores suelen proporcionar solo una capacidad limitada de corrección de errores (en la mayoría de los casos ).

Para fines prácticos, la matriz de verificación de paridad de un código Goppa binario se convierte generalmente a una forma binaria más amigable para la computadora mediante una construcción de traza, que convierte la matriz -por- en una matriz binaria -por- escribiendo coeficientes polinómicos de elementos en filas sucesivas.

Descodificación

La decodificación de códigos binarios Goppa se realiza tradicionalmente mediante el algoritmo de Patterson, que proporciona una buena capacidad de corrección de errores (corrige todos los errores de diseño) y también es bastante simple de implementar.

El algoritmo de Patterson convierte un síndrome en un vector de errores. Se espera que el síndrome de una palabra binaria adopte la forma de

Se puede utilizar una forma alternativa de una matriz de verificación de paridad basada en la fórmula para para producir dicho síndrome con una simple multiplicación de matrices.

El algoritmo calcula entonces . Esto falla cuando , pero ese es el caso cuando la palabra de entrada es una palabra de código, por lo que no es necesaria ninguna corrección de errores.

se reduce a polinomios y utilizando el algoritmo euclidiano extendido , de modo que , mientras que y .

Finalmente, el polinomio localizador de errores se calcula como . Nótese que en el caso binario, localizar los errores es suficiente para corregirlos, ya que solo hay otro valor posible. En los casos no binarios, también se debe calcular un polinomio de corrección de errores por separado.

Si la palabra clave original era decodificable y el vector de error binario era el vector de error, entonces

Por lo tanto, factorizar o evaluar todas las raíces de proporciona suficiente información para recuperar el vector de error y corregir los errores.

Propiedades y uso

Los códigos Goppa binarios, considerados como un caso especial de códigos Goppa, tienen la interesante propiedad de que corrigen errores completos, mientras que solo corrigen errores en los casos ternarios y en todos los demás. Asintóticamente, esta capacidad de corrección de errores cumple con el famoso límite de Gilbert-Varshamov .

Debido a la alta capacidad de corrección de errores en comparación con la tasa de código y la forma de la matriz de verificación de paridad (que generalmente es difícilmente distinguible de una matriz binaria aleatoria de rango completo), los códigos binarios Goppa se utilizan en varios criptosistemas postcuánticos , en particular el criptosistema McEliece y el criptosistema Niederreiter .

Referencias

Véase también