stringtranslate.com

Polinomio primitivo (teoría de campos)

En la teoría de campos finitos , una rama de las matemáticas , un polinomio primitivo es el polinomio mínimo de un elemento primitivo del campo finito GF( pm ) . Esto significa que un polinomio F ( X ) de grado m con coeficientes en GF( p ) = Z / p Z es un polinomio primitivo si es mónico y tiene una raíz α en GF( p m ) tal que sea el cuerpo completo GF ( pm ) . Esto implica que α es una raíz primitiva ( p m − 1 ) de la unidad en GF( p m ) .

Propiedades

Ejemplos

Sobre GF(3) el polinomio x 2 + 1 es irreducible pero no primitivo porque divide x 4 − 1 : sus raíces generan un grupo cíclico de orden 4, mientras que el grupo multiplicativo de GF(3 2 ) es un grupo cíclico de orden 8. El polinomio x 2 + 2 x + 2 , por otro lado, es primitivo. Denota una de sus raíces por α . Entonces, debido a que los números naturales menores y primos relativos de 3 2 − 1 = 8 son 1, 3, 5 y 7, las cuatro raíces primitivas en GF(3 2 ) son α , α 3 = 2 α + 1 , α 5 = 2 α y α 7 = α + 2 . Las raíces primitivas α y α 3 son algebraicamente conjugadas. De hecho x 2 + 2 x + 2 = ( xα ) ( x − (2 α + 1)) . Las raíces primitivas restantes α 5 y α 7 = ( α 5 ) 3 también se conjugan algebraicamente y producen el segundo polinomio primitivo: x 2 + x + 2 = ( x − 2 α ) ( x − ( α + 2)) .

Para el grado 3, GF(3 3 ) tiene φ (3 3 − 1) = φ (26) = 12 elementos primitivos. Como cada polinomio primitivo de grado 3 tiene tres raíces, todas necesariamente primitivas, hay 12/3 = 4 polinomios primitivos de grado 3. Un polinomio primitivo es x 3 + 2 x + 1 . Denotando una de sus raíces por γ , los elementos algebraicamente conjugados son γ 3 y γ 9 . Los otros polinomios primitivos están asociados con conjuntos algebraicamente conjugados construidos sobre otros elementos primitivos γ r con r relativamente primo a 26:

Aplicaciones

Representación de elementos de campo

Los polinomios primitivos se pueden utilizar para representar los elementos de un cuerpo finito . Si α en GF( p m ) es una raíz de un polinomio primitivo F ( x ), entonces los elementos distintos de cero de GF( p m ) se representan como potencias sucesivas de α :

Esto permite una representación económica en una computadora de los elementos distintos de cero del campo finito, representando un elemento por el exponente correspondiente de Esta representación facilita la multiplicación, ya que corresponde a la suma de exponentes módulo

Generación de bits pseudoaleatorios

Los polinomios primitivos sobre GF(2), el campo con dos elementos, se pueden utilizar para la generación de bits pseudoaleatorios . De hecho, cada registro de desplazamiento de retroalimentación lineal con longitud de ciclo máxima (que es 2 n − 1 , donde n es la longitud del registro de desplazamiento de retroalimentación lineal) puede construirse a partir de un polinomio primitivo. [2]

En general, para un polinomio primitivo de grado m sobre GF(2), este proceso generará 2 m − 1 bits pseudoaleatorios antes de repetir la misma secuencia.

códigos CRC

La verificación de redundancia cíclica (CRC) es un código de detección de errores que opera interpretando la cadena de bits del mensaje como los coeficientes de un polinomio sobre GF(2) y dividiéndolo por un polinomio generador fijo también sobre GF(2); ver Matemáticas de CRC . Los polinomios primitivos, o múltiplos de ellos, a veces son una buena opción para los polinomios generadores porque pueden detectar de manera confiable dos errores de bits que ocurren muy separados en la cadena de bits del mensaje, hasta una distancia de 2 n − 1 para un polinomio primitivo de grado n .

Trinomios primitivos

Una clase útil de polinomios primitivos son los trinomios primitivos, aquellos que tienen sólo tres términos distintos de cero: x r + x k + 1 . Su simplicidad hace que los registros de desplazamiento de retroalimentación lineal sean particularmente pequeños y rápidos . [3] Varios resultados proporcionan técnicas para localizar y probar el carácter primitivo de trinomios. [4]

Para polinomios sobre GF(2), donde 2 r − 1 es un primo de Mersenne , un polinomio de grado r es primitivo si y sólo si es irreducible. (Dado un polinomio irreducible, no es primitivo sólo si el período de x es un factor no trivial de 2 r − 1. Los primos no tienen factores no triviales). Aunque el generador de números pseudoaleatorios Mersenne Twister no utiliza un trinomio, se aprovecha de esto.

Richard Brent ha estado tabulando trinomios primitivos de esta forma, como x 74207281 + x 30684570 + 1 . [5] [6] Esto se puede utilizar para crear un generador de números pseudoaleatorios del período enorme 2 74207281 − 13 × 10 22 338 617 .

Referencias

  1. ^ Las enumeraciones de polinomios primitivos por grado sobre GF (2) , GF (3) , GF (5) , GF (7) y GF (11) vienen dadas por las secuencias A011260, A027385, A027741, A027743 y A319166 en línea. Enciclopedia de secuencias enteras .
  2. ^ C. Paar, J. Pelzl - Comprensión de la criptografía: un libro de texto para estudiantes y profesionales
  3. ^ Gentil, James E. (2003). Generación de números aleatorios y métodos de Monte Carlo (2 ed.). Nueva York: Springer. pag. 39.ISBN​ 0-387-00178-6. OCLC  51534945.
  4. ^ Zierler, Neal; Brillhart, John (diciembre de 1968). "Sobre trinomios primitivos (Mod 2)". Información y Control . 13 (6): 541, 548, 553. doi :10.1016/S0019-9958(68)90973-X.
  5. ^ Brent, Richard P. (4 de abril de 2016). «Búsqueda de trinomios primitivos (mod 2)» . Consultado el 25 de mayo de 2024 .
  6. ^ Brent, Richard P .; Zimmermann, Paul (24 de mayo de 2016). "Doce nuevos trinomios binarios primitivos". arXiv : 1605.09213 [matemáticas.NT].

enlaces externos