11 votos

Campo finito, no entiendo muy bien el concepto.

¿Cuál es el concepto detrás de la AES del campo finito? Comprendo que la mayoría de ustedes se ríen de mi falta de comprensión del concepto. Estoy tratando de aprender a una mayor cantidad de conceptos de matemática superior y yo soy la implementación de AES para hacerlo. Entiendo que en un término básico, polinomio es una ecuación de sólo entero positivo expodetials y variables, pero ¿qué significa tratado como un polinomio sobre GF(2^8) y es de 2^8, 2 a la potencia de 8 o 2 XOR 8?

Corregido: de Wikipedia AES

En un sentido más general, cada columna es tratado como un polinomio sobre $GF(2^8)$ y a continuación, se multiplica el modulo $x^4 + 1$ con un fijo polinomio $c(x) = 0x03*x^3 + x^2 + x + 0x02$. Los coeficientes se muestran en su equivalente hexadecimal de la representación binaria de bits polinomios de $GF(2)[x]$.

4voto

Andy Puntos 21

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.

0voto

Silver Gun Puntos 25

Finito campos son construidos por el texto siguiente : Un campo tiene una característica, que es el menor entero positivo para el cual $1 + 1 + .... + 1 = 0$. Si esta igualdad nunca encuentra el campo se dice que tiene carácter $0$ (por ejemplo, $\mathbb Q$ tiene características de las $0$). Desde los campos también son parte integrante de los dominios, no podemos tener una característica que es un número compuesto, por lo que la característica es siempre un número primo.

Dado cualquier número primo, existe un campo de característica $p$ : tomar los números de $0, 1, ..., p-1$, con la adición y la multiplicación $\mod p$. Esos campos son finitos, ya que contienen precisamente, $p$ elementos. También hay campos que contengan $p^n$ elementos para todos los $n \ge 1$ ; esos son llamados "la división de los campos" de los polinomios $x^{p^n}-x$ sobre el campo que he descrito antes. Se requiere un poco de teoría de campo para entender el concepto de la división de los campos, pero le sugiero que lea el capítulo 13 del libro "Álgebra Abstracta" por Dummit & Foote, una excelente referencia en el álgebra. Sección 13.5 ilustra la existencia y unicidad (hasta el isomorfismo) de campos finitos.

0voto

Lost Carrier Puntos 23

un campo, como el real o el de los números complejos, es una colección de números, donde puede agregar, restar, multiplicar y dividir (es decir, 0 y 1 y para cualquier elemento $x$$-x$$x^{-1}$). un campo finito es en campo, que se compone de un número finito de números. que necesariamente ha $p^n$ números para algunos prime $p$ y un entero positivo $n$ y dos con el mismo número de elementos son isomorfos (básicamente la misma cosa).

la forma más fácil de implementar en un campo finito es tomar la colección de polinomios con coeficientes de $\{0,1,..,p-1\}$ y hacer add/sub mult/div utilizando el resto de la división por un fijo polinomio irreducible de grado $n$.

por ejemplo, considere el $\{0,1\}$ con la multiplicación y la división de $0*0=0,0*1=1*0=0,1*1=1$ además $0+1=1+0=1, 0+0=0$ (el campo finito con dos elementos). ahora toma el polinomio $x^2+x+1$ que es irreducible (ya que es cuadrática y no tiene raíces). a continuación, la colección de polinomios con $0,1$ coeficientes es un campo finito con 4 elementos con la adición y la multiplicación modulo $x^2+x+1$, es decir, agregar/sub mult/div elementos como normal y, a continuación, el resto después de dividir por $x^2+x+1$. puede identificar este con el conjunto de los polinomios $\{0,1,x,x+1\}$, ya que si se había de grado dos o más grande, usted podría hacer la división de polinomios por $x^2+x+1$ a encontrar un equivalente polinomio en este conjunto.

por ejemplo:

$x*(x+1)=x^2+x=-1=1$ después de dividir por $x^2+x+1$, por lo que tenemos $1/x=x+1$ $1/(x+1)=x$ en este campo.

deshacerse de la $x$'s usted puede hacer esto en una simple colección de vectores $\{(0,0),(0,1),(1,0),(1,1)\}$ (el coeficiente de $x$ en el primer lugar, el coeficiente de $1$ en el segundo). luego de la adición es el punto sabio adición (mod 2) y nuestro ejemplo de la multiplicación anterior se convierte en $$ (1,0)*(1,1)=(0,1) $$ usted podría trabajar fuera de la tabla de multiplicación como un ejercicio y, a continuación, intente lo mismo con el polinomio $x^3+x+1$, lo que le dará un campo con 8 elementos.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X