Polinômio primitivo (teoria de corpos)

Fonte: testwiki
Revisão em 13h01min de 29 de agosto de 2024 por imported>Marsjo.santos (nova página: Na teoria de corpos finitos, um ramo da matemática, um '''polinômio primitivo''' é o polinômio mínimo de um elemento primitivo do corpo finito {{Math|GF(''p''<sup>''m''</sup>)}}. Isto que dizer que um polinômio {{Math|''F''(''X'')}} de grau {{Mvar|m}} com coeficientes em {{Math|1=GF(''p'') = '''Z'''/''p'''''Z'''}} é um ''polinômio primitivo'' se for mônico e possuir uma...)
(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Saltar para a navegação Saltar para a pesquisa

Na teoria de corpos finitos, um ramo da matemática, um polinômio primitivo é o polinômio mínimo de um elemento primitivo do corpo finito Predefinição:Math. Isto que dizer que um polinômio Predefinição:Math de grau Predefinição:Mvar com coeficientes em Predefinição:Math é um polinômio primitivo se for mônico e possuir uma raiz Predefinição:Math em Predefinição:Math tal que {0,1,α,α2,α3,αpm2} é todo o corpo Predefinição:Math. De onde decorre que Predefinição:Math é uma [[Raiz da unidade|raiz primitiva (Predefinição:Math) da unidade]] em Predefinição:Math.

Propriedades

Exemplos

Sobre Predefinição:Math o polinômio Predefinição:Math é irredutível, mas não primitivo porque divide Predefinição:Math: suas raízes geram um grupo cíclico de ordem 4, enquanto o grupo multiplicativo de Predefinição:Math é um grupo cíclico de ordem 8. O polinômio Predefinição:Math, por outro lado, é primitivo. Denote uma de suas raízes por Predefinição:Mvar . Então, como os números naturais menores e primos relativos a Predefinição:Math são 1, 3, 5 e 7, as quatro raízes primitivas em Predefinição:Math são Predefinição:Mvar, Predefinição:Math, Predefinição:Math e Predefinição:Math . As raízes primitivas Predefinição:Mvar e Predefinição:Math são algebricamente conjugadas. De fato Predefinição:Math . As restantes raízes primitivas Predefinição:Math e Predefinição:Math também são algebricamente conjugadas e produzem outro polinômio primitivo: Predefinição:Math .

Para o grau 3, Predefinição:Math tem Predefinição:Math elementos primitivos. Como cada polinômio primitivo de grau 3 tem três raízes, todas necessariamente primitivas, temos Predefinição:Math polinômios primitivos de grau 3. Um polinômio primitivo é Predefinição:Math . Denotando uma de suas raízes por Predefinição:Mvar, os elementos algebricamente conjugados são Predefinição:Math e Predefinição:Math . Os demais polinômios primitivos estão associados a conjuntos algebricamente conjugados montados sobre outros elementos primitivos Predefinição:Math com Predefinição:Mvar primo relativo a 26:

x3+2x+1=(xγ)(xγ3)(xγ9)x3+2x2+x+1=(xγ5)(xγ53)(xγ59)=(xγ5)(xγ15)(xγ19)x3+x2+2x+1=(xγ7)(xγ73)(xγ79)=(xγ7)(xγ21)(xγ11)x3+2x2+1=(xγ17)(xγ173)(xγ179)=(xγ17)(xγ25)(xγ23).

Aplicações

Representação de elementos de corpo

Polinômios primitivos podem ser usados para representar os elementos de um corpo finito. Se α em GF(pm) é uma raiz de um polinômio primitivo F(x), então os elementos diferentes de zero de GF(pm) são representados como potências sucessivas de α:

GF(pm)={0,1=α0,α,α2,,αpm2}.

Isso diminui a quantidade de armazenamento em um computador dos elementos diferentes de zero do corpo finito, com cada elemento representado pelo expoente correspondente de α. Esta representação facilita ainda a multiplicação, pois equivale à adição de expoentes módulo pm1.

Geração de bits pseudo-aleatórios

Polinômios primitivos sobre GF(2), o corpo com dois elementos, podem ser usados para geração de bits pseudoaleatórios. Na verdade, cada registrador de deslocamento de feedback linear com comprimento de ciclo máximo (que é Predefinição:Nowrap, onde n é o comprimento do registrador de deslocamento de feedback linear) pode ser construído a partir de um polinômio primitivo.[1]

Em geral, para um polinômio primitivo de grau m sobre GF(2), esse processo gerará Predefinição:Nowrap bits pseudoaleatórios antes de repetir a mesma sequência.

Códigos CRC

A verificação de redundância cíclica (CRC) é um código de detecção de erros que opera interpretando a sequência de bits da mensagem como os coeficientes de um polinômio sobre GF(2) e dividindo-a por um polinômio gerador fixo também sobre GF(2); veja Matemática do CRC. Polinômios primitivos, ou múltiplos deles, às vezes são uma boa escolha para polinômios geradores porque podem detectar de forma confiável erros de dois bits que ocorrem muito distantes na sequência de bits da mensagem, até uma distância de Predefinição:Nowrap para um polinômio primitivo de grau n .

Trinômios primitivos

Uma classe útil de polinômios primitivos são os trinômios primitivos, aqueles que têm apenas três termos diferentes de zero: Predefinição:Nowrap. Sua simplicidade permite que os registradores de deslocamento de feedback linear sejam particularmente pequenos e rápidos.[2] Vários resultados fornecem técnicas para localizar e testar a primitividade de trinômios.[3]

Para polinômios sobre GF(2), onde Predefinição:Nowrap é um primo de Mersenne, um polinômio de grau r é primitivo se e somente se for irredutível. (Dado um polinômio irredutível, ele não é primitivo somente se o período de x for um fator não trivial de Predefinição:Nowrap . Os primos não têm fatores não triviais.) Embora o gerador de números pseudoaleatórios Mersenne Twister não use um trinômio, ele se vale dessa propriedade.

Richard Brent tem tabulado trinômios primitivos desta forma, como Predefinição:Nowrap.[4] Isso pode ser usado para criar um gerador de números pseudoaleatórios do período enorme Predefinição:NowrapPredefinição:Val.

Referências

Predefinição:Reflist

Ligações externas

  1. C. Paar, J. Pelzl - Understanding Cryptography: A Textbook for Students and Practitioners
  2. Predefinição:Citar livro
  3. Predefinição:Citar periódico
  4. Predefinição:Citar web