Definiciones básicas
Antes de que pueda entender finito campos, usted necesita entender lo que es un campo . Los campos son estructuras algebraicas, la intención de generalizar las cosas, como el real o los números racionales, donde usted tiene dos operaciones, la suma y la multiplicación, de tal manera que la siguiente:se
- La adición y la multiplicación son tanto conmutativa y asociativa de las operaciones.
- La multiplicación distribuye sobre la suma, es decir,$a(b+c)=ab+ac$.
- No se distinguen los elementos de $0$ $1$ tal que $0+a=a$$1*a=a$.
- Para cada $a$ tenemos un elemento $-a$ tal que $a+(-a)=0$. Si $a\neq 0$, tenemos un elemento $(1/a)$ tal que $a(1/a)=1$.
Reescribirse de manera diferente, $(\mathbb{F},+)$ $(\mathbb{F}\setminus 0,\cdot)$ son abelian grupos, y nos las operaciones de distribución.
Dado un campo, podemos definir un espacio vectorial a ser un grupo abelian tal que podemos multiplicar los vectores por los elementos de campo (y de atender las diferentes asociatividad y distributividad condiciones).
Algunos ejemplos de campos son los números reales $\mathbb{R}$, el de los números complejos $\mathbb{C}$, los números racionales $\mathbb{Q}$, y el de los enteros modulo de un primer $\mathbb{F}_p=\mathbb{Z}/(p)$. Si $\mathbb{F}$ es un campo, entonces la colección de $n$-tuplas de $\mathbb{F}$, escrito $\mathbb{F}^n$, es un espacio vectorial. Cada finito dimensional espacio vectorial puede escribirse en esta forma.
La construcción de nuevos campos a partir de las viejas
Dado un campo $\mathbb{F}$, podemos construir un nuevo campo mediante la adición de nuevos elementos a la $\mathbb{F}$, creando lo que se llama un campo de extensión de $\mathbb{F}$. Por ejemplo, si nos tocan $\sqrt[3]{2}$$\mathbb{Q}$, obtenemos un nuevo campo de $\mathbb{Q}[\sqrt[3]{2}]$ que es el subconjunto de a $\mathbb{R}$ que consta de todos los elementos de la forma$a+b\sqrt[3]{2}+c\sqrt[3]{4}$$a,b,c\in \mathbb{Q}$. Más en general, si tenemos un polinomio irreducible, podemos formalmente adhieren a la raíz del polinomio para el campo. En el ejemplo anterior, el polinomio sería $x^3-2$.
Un campo de extensión de $\mathbb{F}$ es, naturalmente, un espacio vectorial sobre $\mathbb{F}$. Si es finito dimensional, se llama un campo finito de extensión. Si hemos obtenido la extensión contigua a una raíz de un polinomio, la dimensión será el grado del polinomio, y es llamado el grado de la extensión. Además, cada campo finito de extensión puede ser obtenida por elementos adyacentes, posiblemente varias veces (en etapas).
Un ejemplo de todo esto es $\mathbb{Q}[x]/(x^2+x+1)$, donde se han adherido a una raíz del polinomio $x^2+x+1$ a los racionales. Los elementos del campo son polinomios con coeficientes en $\mathbb{Q}$, el modulo de la relación de dos polinomios representar la misma cosa si su diferencia es un múltiplo de a $x^2+x+1$. Por ejemplo, $(x+1)(x-1)=x^2-1=(x^2-1)-(x^2+x+1)=-x-2$. El hecho de que tenemos los inversos multiplicativos viene de $x^2+x+1$ siendo irreductible, y el algoritmo de Euclides.
Finito campos
Supongamos que un campo de $\mathbb{F}_q$ tiene un número finito de elementos $q$. A continuación, teniendo en cuenta la secuencia de los elementos $1, 1+1, 1+1+1, \ldots$, eventualmente tendremos para obtener la repetición, así que tenemos un menor número $p$ tal que $1+1+\ldots +1$ ($p$ veces) es igual a $0$. Por lo tanto, el campo contiene el anillo de $\mathbb{Z}/(p)$, y debido a que estamos en un campo, debe ser el caso que $p$ es primo. Llamamos a $p$ la característica del campo, y llamamos a $\mathbb{F}_p$ el primer campo de $\mathbb{F}_q$. Ya que cada finito dimensional espacio vectorial puede escribirse como $\mathbb{F}^n$, debemos tener la $q=p^n$ para algunos p$.
$\mathbb{F}_q$ es un campo finito de extensión de $\mathbb{F}_p$, y así podemos obtener $\mathbb{F}_q$ colindando raíces de polinomios. Se puede demostrar que todo elemento de a $\mathbb{F}_q$ es una raíz del polinomio $x^q-x$. Si tomamos sólo un factor irreducible $f(x)\mid x^q-x$ de grado máximo, entonces tenemos $\mathbb F_q=\mathbb{F}_p[x]/(f(x))$ (no importa cuál es el factor que nos llevó a), y por lo tanto existe un único campo finito con $q=p^n$ elementos. Podemos obtener al tomar CUALQUIER polinomio irreducible de grado $n$$\mathbb{F}_p$, y al lado de la raíz.
El campo que se utiliza en AES
En AES, se han arreglado un determinado polinomio irreducible de grado 8 en el campo de $\mathbb{F}_2$. Mientras que hay muchas opciones diferentes, usted necesita tener un elegido para ser capaz de hacer los cálculos. Dividiendo por este polinomio y tomar el resto, cada elemento del campo está representado únicamente por un polinomio $a_7 x^7 + a_6 x^6 + \ldots +a_0$ con cada una de las $a_i= 0 \text{ or } 1$. y los coeficientes puede ser visto como un byte. Además se logra a través de XOR, y la multiplicación se trata de tomar una cierta convolución de dos bytes, entonces se sustrae bitshifts de la definición de polinomio.
Un punto sutil de hacer es la que hemos definido esencialmente nuestro campo para ser polinomios modulo de relaciones. Sin embargo, podemos definir los polinomios sobre este campo también por la escritura de $a_0 + a_1 x + a_2 x^2 + \ldots + a_n x^n$ donde cada una de las $a_0$ es un elemento de $\mathbb{F}_{256}$ = GF(2^8)$. Así que hemos polinomios cuyos coeficientes son polinomios. Pensar de esta manera NO es útil, y es mejor pensar en GF(2^8) de manera abstracta, como algo que tiene elementos que pueden ser sumados y multiplicados. Si no resumen la definición de GF(2^8), se confunden a sí mismo.