# Cuerpo finito

En matemáticas y, más precisamente, en álgebra abstracta, un cuerpo finito, campo finito o campo de Galois (llamado así por Évariste Galois) es un cuerpo con un número finito de elementos. Salvo isomorfismo, un cuerpo finito está unívocamente determinado por su cardinal, que siempre es una potencia de un número primo. De hecho, este mismo número primo es su característica. Para todo número primo $p$ y todo entero positivo no nulo $n$ existe un cuerpo de cardinal $p^{n}$, que se presenta como la única extensión de grado $n$ del cuerpo $\mathbb {Z} /p\mathbb {Z}$.
Los cuerpos finitos son importantes en teoría de números, geometría algebraica, teoría de Galois, y criptografía.
En teoría de números algebraicos aparecen como una estructura esencial en la geometría aritmética. Esta rama ha permitido, entre otras cosas, demostrar el último teorema de Fermat.
Los cuerpos finitos han encontrado nuevas aplicaciones con el desarrollo de la informática. En teoría de códigos, permiten, por ejemplo, determinar códigos correctores eficaces. Aparecen también en criptografía, dentro de la creación de cifrados de clave secreta como el estándar AES, así como en la de cifrados de clave pública, a través de, entre otros, el problema del logaritmo discreto.
Los cuerpos finitos se llaman también en ocasiones cuerpos de Galois o más raramente campos de Galois. Esto se debe a que fueron estudiados por Évariste Galois en un artículo publicado en 1830, que es cuando se originó la teoría. De hecho, Carl Friedrich Gauss ya había descubierto los resultados de Galois a finales del siglo XVIII, pero no los publicó; sus trabajos no fueron conocidos hasta después de su muerte y tuvieron la influencia de los de Galois.
El cuerpo finito de cardinal $q$ (necesariamente una potencia de un número primo) se denota como $\mathbb {F} _{q}$ (del inglés field, que significa cuerpo conmutativo) o $\operatorname {GF} (q)$ (del inglés Galois field).

## Construcción cuerpos finitos

La herramienta que permite la construcción de cuerpos finitos es la relación de congruencia, congruencia de números enteros en el caso de cuerpos finitos de cardinal primo, o congruencia de polinomios con coeficientes sobre un cuerpo finito primo en el caso general (potencias de números primos).

### El cuerpo más pequeño

El cuerpo finito más pequeño se denota por $\mathbb {F} _{2}$. Consta de dos elementos distintos: $0$, que es el elemento neutro de la adición, y $1$, que es el elemento neutro de la multiplicación. Esto determina las tablas de las dos operaciones excepto $1+1$, que tiene que ser $0$, pues $1$ debe tener un elemento opuesto (en este caso será el mismo $1$). Verificamos que definen bien un cuerpo que es, de hecho, conmutativo.
| + | 0 | 1 |
| 0 | 0 | 1 |
| 1 | 1 | 0 |
| · | 0 | 1 |
| 0 | 0 | 0 |
| 1 | 0 | 1 |
El cuerpo $\mathbb {F} _{2}$ se puede interpretar de diversas maneras. Es el anillo $\mathbb {Z} /2\mathbb {Z}$, los enteros tomados módulo 2; es decir, que 0 representa los enteros pares, 1 los enteros impares y las operaciones se deducen de las de $\mathbb {Z}$.
Es también el conjunto de valores de verdad clásicos: 0 para falso y 1 para verdadero. La adición es el "o exclusivo" y la multiplicación, el "y".
Las apliaciones de $\left(\mathbb {F} _{2}\right)^{n}$ en $\mathbb {F} _{2}$ se llaman funciones booleanas en honor a George Boole. La disjunción (inclusiva) y la negación se definen respectivamente como:
$\lor \colon \left(\mathbb {F} _{2}\right)^{2}\longrightarrow \mathbb {F} _{2}\,;\quad (x,y)\longmapsto x\lor y:=x+y+xy$
$\neg \colon \mathbb {F} _{2}\longrightarrow \mathbb {F} _{2}\,;\quad x\longmapsto \neg x:=1+x$
Más generalmente se deduce del teorema de interpolación de Lagrange que todas las funciones booleanas son polinómicas (es de hecho una propiedad que se hereda a cualquier cuerpo finito).

### Cuerpos finitos primos

Una generalización natural de $\mathbb {F} _{2}=\mathbb {Z} /2\mathbb {Z}$ es, para $p$ primo, el cuerpo $\mathbb {Z} /p\mathbb {Z}$, que se denota igualmente $\mathbb {F} _{p}$.
Proposición: El anillo $\mathbb {Z} /p\mathbb {Z}$ es un cuerpo si y sólo si $p$ es un número primo.
En efecto, que $p$ sea primo equivale a que 0 no sea producto de dos enteros no nulos módulo $p$, por el lema de Euclides. Es necesario pues que $p$ sea primo para que $\mathbb {Z} /p\mathbb {Z}$ sea un cuerpo, porque si no habría divisores de cero. Además, si $p$ es primo, $\mathbb {Z} /p\mathbb {Z}$ es un anillo íntegro y por tanto, como es finito, es un cuerpo. La identidad de Bézout asegura directamente la existencia de un inverso $s$ para todos los elementos, y un cálculo eficaz del mismo mediante el algoritmo de Euclides extendido: $\operatorname {mcd} (a,p){\overset {p{\text{ primo}}}{=}}1{\overset {\text{Bézout}}{\Rightarrow }}\exists s,t\in \mathbb {Z} :as+pt=1\Rightarrow as=1\mod p\Rightarrow s=a^{-1}{\text{ en }}\mathbb {Z} /p\mathbb {Z}$
Por tanto, también es suficiente. $\quad \square$
Así podemos construir cuerpos finitos con cardinalidad cualquier número primo.
El grupo multiplicativo de $\mathbb {Z} /p\mathbb {Z}$ (con $p$ primo) es de orden $p-1$, lo que conduce al pequeño teorema de Fermat mediante el teorema de Lagrange. Además, este grupo es cíclico, como se demuestra más adelante en un caso más general.

### Cociente por un polinomio irreducible

Para construir nuevos cuerpos finitos, utilizamos la estructura de anillo euclideo de $\mathbb {F} _{p}[x]$ (por ser $\mathbb {F} _{p}$ un cuerpo, como hemos visto en el párrafo anterior) de la misma forma que hemos utilizado la de $\mathbb {Z}$ para construir los cuerpos finitos primos. Los polinomios irreducibles juegan aquí el papel de los números primos allí. Dos polinomios son equivalentes módulo un polinomio $P$ si se obtiene el mismo resto para al hacer la división por $P$. El cociente por esta relación de equivalencia se denota $\mathbb {F} _{p}[x]/(P)$ y la estructura inducida por el cociente es también la de anillo.
De manera totalmente análoga al caso anterior tenemos que:
Proposición: El anillo $\mathbb {F} _{p}[x]/(P)$ es un cuerpo si y sólo si $P$ es un polinomio irreducible.$\quad \square$
Sea $n$ el grado de $P$. Tomando un polinomio cualquiera de $\mathbb {F} _{p}[x]$, al dividirlo por $P$, obtenemos un único resto de grado $<n$. Por tanto, para cada clase de equivalencia por la relación antes descrita se puede tomar un único representante de grado $<n$ y, así, cada elemento de $\mathbb {F} _{p}[x]/(P)$ puede ser representado por un único polinomio de grado $<n$. El cardinal de $\mathbb {F} _{p}[x]/(P)$ es por tanto el número de polinomios de $\mathbb {F} _{p}[x]$ de grado $<n$. Como hay $n$ coeficientes que determinar, cada uno en $\mathbb {F} _{p}$, y $\mathbb {F} _{p}$ tiene $p$ elementos, el cardinal de $\mathbb {F} _{p}[x]/(P)$ es $p^{n}$.
Para construir un cuerpo finito de cardinal $p^{n}$ es suficiente, por tanto, encontrar un polinomio irreducible de grado $n$ en $\mathbb {F} _{p}[x]$.

### Ejemplo: los cuerpos con $p^{2}$ elementos

Podemos, por el párrafo anterior, construir cuerpos con $p^{2}$ elementos demostrando que existe un polinomio irreducible $P$ de grado $2$ en $\mathbb {F} _{p}[x]$. El cuerpo $\mathbb {F} _{p}[x]/(P)$ tiene entonces $p^{2}$ y es una extensión cuadrática de $\mathbb {F} _{p}$. Se verá más adelante que el cuerpo con $p^{2}$ elementos es único salvo isomorfismo y se denotará $\mathbb {F} _{p^{2}}$. En particular, el cuerpo que vamos a construir es independiente de la elección del polinomio irreducible $P$ de grado $2$ para el cociente. Esta extensión cuadrática de $\mathbb {F} _{p}$ es la análoga de la (única) extensión cuadrática del cuerpo de los números reales, que da lugar a los números complejos.
* Para $p=2$, el polinomio $1+x+x^{2}$ es irreducible en $\mathbb {F} _{2}[x]$. La extensión correspondiente es un cuerpo $\mathbb {F} _{4}:=\mathbb {F} _{2}[x]/(1+x+x^{2})$ con cuatro elementos: 0, 1 y las dos raíces $\varphi$ y $\varphi ^{2}=\varphi +1$ de $1+x+x^{2}$. Sus tablas son, por tanto:
| + | 0 | 1 | φ | φ² |
| 0 | 0 | 1 | φ | φ² |
| 1 | 1 | 0 | φ² | φ |
| φ | φ | φ² | 0 | 1 |
| φ² | φ² | φ | 1 | 0 |
| • | 0 | 1 | φ | φ² |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | φ | φ² |
| φ | 0 | φ | φ² | 1 |
| φ² | 0 | φ² | 1 | φ |
* Cuando $p$ es impar, un polinomio de la forma $x^{2}-a$ es irreducible si y sólo si $a$ no es un cuadrado. Además, para $p$ diferente de 2, existen en $\mathbb {F} _{p}$ elementos no cuadrados. En efecto, los cuadrados de los $p-1$ elementos no nulos de $\mathbb {F} _{p}$ son exactamente ${\frac {p-1}{2}}$, pues cada cuadrado no nulos es el cuadrado de exactamente dos elementos, uno el opuesto del otro. Por tanto, quedan otros ${\frac {p-1}{2}}$ no cuadrados, entre los cuales se puede tomar $a$. Así, siempre se podrá tomar el polinomio irreducible deseado y construir el cuerpo de $p^{2}$ elementos.

## Clasificación

Dado que todo cuerpo de característica 0 contiene a los racionales y es por lo tanto infinito, todos los cuerpos finitos tienen característica p prima. Por lo tanto, su tamaño (o cardinalidad) es de la forma p$^n$, para algún entero positivo n > 0 (pues el cuerpo es un espacio vectorial sobre el subcuerpo de cardinalidad p generado por el elemento 1). Sin embargo, no es cierto en general que todo cuerpo de característica prima sea finito.
Para todo primo p, los enteros módulo p forman un cuerpo de p elementos, denotado por Z/pZ (pues su grupo aditivo es isomorfo al grupo cíclico de p elementos), F$_p$, o GF(p); en algunos casos se usa Z$_p$, aunque esta notación es evitada por teoristas de los números, pues puede crear confusión con el anillo de los números p-ádicos. Todo cuerpo con p elementos es isomorfo a este.
Si q = p$^n$ es una potencia de un primo, existe (salvo isomorfismo) exactamente un cuerpo con q elementos, en concreto, el cuerpo de descomposición de $x^{p^{n}}-x$ sobre $\mathbf {Z} /p\mathbf {Z}$. Dicho cuerpo se denota por F$_q$, F[p$^n$] o GF(p$^n$) y se puede construir de la siguiente manera:
* se toma un polinomio irreducible f(X) de grado n con coeficientes en F$_p$,
* se define F$_q$ = F$_p$[X] / <f(X)>, donde
** F$_p$[X] denota el anillo de todos los polinomios con coeficientes en F$_p$,
** <f(X)> denota el ideal generado por f(X),
** la barra diagonal indica que se toma el anillo cociente (definido de forma similar al grupo cociente).
El polinomio f(X) se puede hallar factorizando X$^q$-X sobre F$_p$. El cuerpo F$_q$ contiene una copia de F$_p$ como subcuerpo.
No hay otros cuerpo finitos.

## Ejemplos
### Cuerpo F[7]

Sea F[7] el conjunto de los enteros módulo 7 bajo la adición y multiplicación módulo 7. Es decir, los elementos de F[7] son las clases de equivalencia representadas por los elementos [0], [1], [2], [3], [4], [5] y [6] donde:
* [a] + [b] = [j], siendo [j] el resto de la división de (a + b)/7 ( por ejemplo [5] + [6] = [4], puesto que 5+6=11, que dividido por 7, da resto 4).
* [a] x [b] = [k] donde [k] es el resto de la división de (a x b)/7 (Por ejemplo, [5] x [6] = [2], puesto que 5 x 6 = 30 y 30 entre 7, da como resto 2).
Se verifica que F[7] es un anillo conmutativo con elemento unitario [1]. Además se cumple:
* [1] x [1] = [1] = [6] x [6].
* [2] x [4] = [1] = [4] x [2].
* [3] x [5] = [1] = [5] x [3].
Los elementos de F[7] distintos de cero forman un grupo abeliano bajo la multiplicación. F[7] es, pues, un campo. Puesto que tiene un número finito de elementos es un campo finito.

### Aritmética en F[7]
#### Cociente

Sean a y b ≠ 0, elementos de F'[7], diremos que a÷b = c s.s.s. a = b×c
    Como ejemplo 5÷3= 5×3$^{-1}$ =4, pues 3×4= 5.

#### Potencia

* Para todo a≠0; a$^0$ =1
* a$^{h+1}$ = a$^h$a ; h está en ℤ
    Ejemplo 2$^2$= 2$^1$×2 = 2×2 = 4

#### Raíz cuadrada

    sea a elemento de F'[7], diremos que b, si existe, es la raíz cuadrada de a si a = b$^2$
    Ejemplo ${\sqrt {2}}=3\lor 4$, pues 3$^2$ = 2 o 4$^2$ = 2; sólo tienen sendas raíces 1, 2 y 4

### Cuerpo F[2$^2$]

El cuerpo F[2$^2$] se construye como el anillo cociente entre el anillo de polinomios con coeficientes en F[2] sobre el ideal generado por un polinomio irreducible, por ejemplo, f(x) = x$^2$ + x + 1.
    $F[4]=F_{2}[X]/\langle x^{2}+x+1\rangle$
El cuerpo F$_4$ puede representarse como el conjunto $\{0,1,\alpha ,\alpha +1\}$ donde la suma y la multiplicación quedan definidas considerando que $\alpha ^{2}+\alpha +1=0$. Por ejemplo, para hallar
    $(\alpha )(\alpha +1)=(\alpha ^{2}+\alpha )=(\alpha ^{2}+\alpha +1)+1=1\$ (ya que 1 + 1 = 0 en F$_2$)
Para encontrar un inverso multiplicativo de $\alpha$ en este campo, se debe encontrar un polinomio $g(\alpha )$ tal que $\alpha \times g(\alpha )=1\ mod\ (\alpha ^{2}+\alpha +1)$; el polinomio $g(\alpha )=\alpha +1$ cumple esta propiedad, de modo que es el inverso de $\alpha$.
Obsérvese que el campo F$_4$ no tiene relación con el anillo Z$_4$ de enteros módulo 4.

### Otros ejemplos

Para construir el campo F[3$^3$], se comienza con el polinomio irreducible (en F$_3$) x$^3$ + x$^2$ + x - 1. Se tiene entonces
    $F[3^{3}]=F_{3}[X]/\langle x^{3}+x^{2}+x-1\rangle$
De modo equivalente, F[3$^3$] = {ax$^2$ + bx + c | a, b, c ∈ F$_3$}, donde la multiplicación se define considerando que x$^3$ + x$^2$ + x - 1 = 0.
Las matrices $A={\begin{pmatrix}a_{0}&b_{0}\\-b_{0}&a_{0}\end{pmatrix}}$ con a$_0$ y b$_0$ elementos de Z$_3$ forman un campo de 9 elementos, y el grupo multiplicativo de este campo, es cíclico, de orden 8. Es por tanto isomorfo a F[3$^2$].

## Propiedades

* Todos los elementos de $F_{q}$ satisfacen la ecuación polinómica $\quad x^{q}-x=0$.
* Demostración
* Dado un campo finito $F_{q}$ de orden q = p$^n$ (con p primo), el grupo multiplicativo $F_{q}^{\times }$ es de orden q-1, por lo que para todo $x\in F_{q}^{\times }:\quad x^{q-1}=1$, y por tanto $\quad x^{q}=x$

### Grupo multiplicativo

Dado un cuerpo $F_{q}$, su grupo multiplicativo $F_{q}^{\times }$ es un grupo cíclico de orden q-1.
* Demostración
* La demostración se obtiene probando que todo subgrupo de $F_{q}^{\times }$ es cíclico.
* Sea G uno de tales subgrupos, de orden $p_{1}^{e_{1}}p_{2}^{e_{2}}...p_{k}^{e_{k}}$.
* Por el teorema fundamental de grupos finitos abelianos, $G\cong Z_{p_{1}^{e_{1}}}\otimes Z_{p_{2}^{e_{2}}}\otimes ...\otimes Z_{p_{k}^{e_{k}}}$
* Sea m el mínimo común múltiplo de $p_{1}^{e_{1}}p_{2}^{e_{2}}...p_{k}^{e_{k}}$
* Dado que todo $x\in G$ satisface $x^{r}-1=0$ para algún r que divide a m, entonces satisface $x^{m}-1=0$
* Puesto que $x^{m}-1=0$ tiene como máximo m raíces en F, entonces $n\leqslant m$.
* Por otro lado $m\leqslant |G|$, por lo que $m=n$
* Por tanto G contiene un elemento de orden n por lo que es cíclico.
Esto significa que si F es un campo finito de q elementos, siempre hay al menos un elemento x ∈ F tal que F = { 0, 1, x, x$^2$,..., x$^{q-2}$ }. Los elementos x que cumplen esta condición reciben el nombre de elementos primitivos y el número de ellos viene dado por $\varphi (q-1)$, donde $\varphi$ es la función indicatriz de Euler.
Dado un elemento primitivo x, entonces para todo a ≠ 0 en F hay un único n ∈ {0,..., q - 2} tal que a = x$^n$. El valor de n para un dado a se llama logaritmo discreto de a en base x. En la práctica, aunque calcular x$^n$ es relativamente trivial dado n, encontrar n para un a dado es un problema difícil, por lo que resulta de interés en criptografía.

### Subcuerpos

El cuerpo $F_{q}$ (donde q=p$^m$) contiene una copia de $F_{q'}$ (donde q'=p$^n$) si y solo si n divide a m. En esta situación, $F_{q'}$ es un subcuerpo de $F_{q}$, y $F_{q}$ es una extensión de $F_{q'}$. La razón para la dirección "si" es que hay polinomios irreducibles de cualquier grado en F$_{pm}$.
* Demostración
* Es inmediato que $\qquad [F_{q}:F_{p}]=m\qquad$, y que $\qquad [F_{q'}:F_{p}]=n$
* No es posible que $\qquad F_{P}\subset F_{q'}\subset F_{q}\qquad$ a no ser que n divida a m.
* Suponiendo entonces que m = n k y substituyendo $\qquad y=p^{n}\qquad$ en la ecuación
* $y^{m}-1=(y-1)\cdot (y^{m-1}+...+y+1)\qquad$ se obtiene que q'-1 divide a q-1.
* Puesto que el grupo multiplicativo $F_{q}^{\times }$ es cíclico de orden q-1, y q'-1 divide a q-1
* Existe $\beta \in F_{q}^{\times }:\beta ^{q'-1}=1\qquad$, cuyas potencias q'-1 satisfacen $x^{q'-1}-1=0$
* Por tanto, $\qquad x^{q'}-x\qquad$ descompone completamente a $F_{q}$, y sus raíces forman un cuerpo de orden q'.
Si se construyen los campos finitos de forma tal que F$_{pn}$ esté efectivamente contenido en F$_{pm}$ siempre que n divida a m, se puede tomar la unión de todos esos campos; ésta es también un campo de característica p, aunque infinito. Es la clausura algebraica de cada uno de los campos F$_{pn}$. Aun si no se construyen de esta manera los campos, se puede hablar de su clausura algebraica, aunque su construcción es ahora más delicada.

### Teorema de Wedderburn

El teorema de Wedderburn, en ocasiones llamado pequeño teorema de Wedderburn para distinguirlo del teorema de Artin-Wedderburn, establece que todo dominio finito es un cuerpo. Por tanto, en lo que se refiere a los anillos finitos, no hay distinción entre dominios, anillos de división y cuerpos. Este teorema es equivalente a afirmar que el grupo de Brauer de todo cuerpo finito es trivial.
El teorema fue demostrado por Joseph Wedderburn en 1905, lo que supuso un avance en el ámbito de los anillos conmutativos.

### Endomorfismo de Frobenius

La función
    $f:F_{q}\to F_{q}\quad$
definida por
    $\quad f(x):=x^{p}\quad$, donde $\quad q=p^{n}$
es biyectiva y un endomorfismo, con lo cual es un automorfismo de F. Es un caso particular de un tipo de homomorfismo llamado endomorfismo de Frobenius, en honor a Ferdinand Georg Frobenius. El hecho de que el mapa f sea sobreyectivo implica que todo campo finito es perfecto.
El automorfismo de Frobenius tiene orden n, y por lo tanto el grupo cíclico generado por este es el grupo completo de automorfismos del cuerpo.

## Los primeros cuerpos finitos

F$_2$:
| + | 0 | 1 |
| 0 | 0 | 1 |
| 1 | 1 | 0 |
| × | 0 | 1 |
| 0 | 0 | 0 |
| 1 | 0 | 1 |
F$_3$:
| + | 0 | 1 | 2 |
| 0 | 0 | 1 | 2 |
| 1 | 1 | 2 | 0 |
| 2 | 2 | 0 | 1 |
| × | 0 | 1 | 2 |
| 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 2 |
| 2 | 0 | 2 | 1 |
F$_4$:
| + | 0 | 1 | α | α+1 |
| 0 | 0 | 1 | α | α+1 |
| 1 | 1 | 0 | α+1 | α |
| α | α | α+1 | 0 | 1 |
| α+1 | α+1 | α | 1 | 0 |
| × | 0 | 1 | α | α+1 |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | α | α+1 |
| α | 0 | α | α+1 | 1 |
| α+1 | 0 | α+1 | 1 | α |
Nota: $F[4]=F_{2}[\alpha ]/\langle \alpha ^{2}+\alpha +1\rangle$