stringtranslate.com

Polinomio primitivo (teoría de campos)

En la teoría de cuerpos finitos , una rama de las matemáticas , un polinomio primitivo es el polinomio mínimo de un elemento primitivo del cuerpo finito GF( p m ) . 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 es el cuerpo entero GF( p m ) . 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 a 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 otra parte, es primitivo. Denotemos una de sus raíces por α . Entonces, como los números naturales menores que y primos entre sí con 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 son algebraicamente conjugadas 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 a 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, al representar 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 una longitud de ciclo máxima (que es 2 n − 1 , donde n es la longitud del registro de desplazamiento de retroalimentación lineal) se puede construir 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 comprobación de redundancia cíclica (CRC) es un código de detección de errores que funciona 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); consulte Matemáticas de CRC . Los polinomios primitivos, o múltiplos de ellos, son a veces una buena opción para los polinomios generadores porque pueden detectar de manera confiable dos errores de bit 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 permite obtener registros de desplazamiento con retroalimentación lineal particularmente pequeños y rápidos . [3] Una serie de resultados proporcionan técnicas para localizar y probar la primitividad de los 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 solo si es irreducible. (Dado un polinomio irreducible, no es primitivo solo 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, sí aprovecha 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 enorme período 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) se dan mediante las secuencias A011260, A027385, A027741, A027743 y A319166 en la Enciclopedia en línea de secuencias de enteros .
  2. ^ C. Paar, J. Pelzl - Comprensión de la criptografía: un libro de texto para estudiantes y profesionales
  3. ^ Gentle, James E. (2003). Generación de números aleatorios y métodos de Monte Carlo (2.ª edición). Nueva York: Springer. pág. 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 [math.NT].

Enlaces externos