Download - Criptografía Simétrica

Transcript

Diapositiva 1

Instituto tecnolgico de Cd. VictoriaModelo Educacin A distancia

Ingeniera de SoftwareUnidad: Nvo. Laredo

Adn Joacim Ruiz Villezcas #C: 12380906Roberto Carlos Lujan Brizuela #C: 12380905 Asesor: Ing. Carlos HDZ. Aranda

Tema:PresentacinCriptografa Simtrica : AESIntroduccionLa Criptografa Simtrica por sus siglas en ingles (symmetric key cryptography), tambin llamada criptografa de clave secreta, es un mtodo criptogrfico en el cual se usa una misma clave para cifrar y descifrar mensajes.las dos partes que se comunican han de ponerse de acuerdo de antemano sobre la clave a usar. Una vez que ambas partes tienen acceso a esta clave, el remitente cifra un mensaje usando la clave, lo enva al destinatario, y este lo descifra con la misma clave.

SeguridadUn buen sistema de cifrado pone toda la seguridad en la clave y ninguna en el algoritmo.Dado que toda la seguridad esta en la clave, es importante que sea difcil adivinar el tipo de clave. Esto quiere decir que el abanico de claves posibles, o sea, el espacio de posibilidades de claves, debe ser amplio. Actualmente, los ordenadores pueden descifrar claves con extrema rapidez, y esta es la razn por la cual el tamao de la clave es importante en los criptosistemas modernos. Criptografa Simtrica : AES

El algoritmo de Cifrado simtrico AES, fue desarrollado por estudiantes de la universidad Katholieke Universiteit Leuven en Blgica, llamados Vicent Rijimen y Joan Daemen, se presento en 1997 al concurso organizado por el Instituto Nacional de Normas y Tecnologas(NIST), el cual elegira el mejor algoritmo de cifrado;El algoritmo gano transformndose en un estndar en el ao de 2002, despus fue nombrado AES(Advanced Encryption Standard) y se convirti en uno de los algoritmos mas utilizados en la actualidad.

En el 2003, el gobierno de los Estados Unidos anuncia que el algoritmo es lo suficientemente seguro para usarse en la proteccin nacional de informacin, y hasta el momento no se conocen ataques eficientes contra el cifrado.AES presenta dos caracteristicas importantes: Linealidad: el algoritmo debe probar que no existe linealidad o correlacin alguna entre las entradas y las salidas, dicho de otra manera, que las salidas no sean una funcin directa de la entradas, y no haya posibilidad de determinar alguna dependencia entre los datos de entrada y los que salen. Para ello el algoritmo debe considerar la alternancia de claves, de ah la importancia de utilizar una clave distinta en cada iteracin.

Propagacin: el algoritmo debe realizar una adecuada propagacin de las diferencias de los bits, de manera que haya una alta dispersin de los bits en el mensaje de cifrado y no sean identificados en un ataque criptoanalista. As, una buena propagacion ser capaz de bloquear un criptoanlisis diferencial ya que posibilitara derivar informacin de la clave a partir de conocer las probabilidades de las diferencias de la programacin, por lo tanto debe buscarse que estas probabilidades sean muy pequeas y para ello, entre otros aspectos resulta relevante la cantidad de iteraciones que se deben realizar.Caractersticas del cifrado AES AES opera sobre una matriz de 4x4 bytes, mediante un algoritmo se reordenan los distintos bytes de la matriz.

El cifrado se hace en clave simtrica, por lo cual se usa la misma clave tanto para el cifrado como para el descifrado.

Al contrario de su predecesor DES, Rijndael es una red de sustitucion-permutacin. AES es rpido tanto en software como en hardware.

Es relativamente fcil de implementar.

Requiere poca memoria.

Funcionamiento del Cifrado AESEl Algoritmo AES funciona mediante una serie de ciclos que se repiten. 10 ciclos para claves de 128bits, 12 ciclos para 192 y 14 ciclos para 256.

Supongamos que tenemos 2 matrices: matriz a y matriz k.

00 01 02 0310 11 12 1320 21 22 2330 31 32 33

00 01 02 0310 11 12 1320 21 22 2330 31 32 33En la matriz a tenemos nuestra informacin y en la matriz k tenemos una subclave generada a partir de la principal.El algoritmo de cifrado es el siguiente:

1. Expansin de la clave. Mediante una serie de operaciones se obtienen n+1subclaves a partir de la clave principal (n es el numero de ciclos).

2. Ciclo inicial. AddRoundKey. Se aplica una XOR byte byte entre la matriz a y la matriz k.

Ciclos intermedios.3.1. SubBytes. Tomando como referencia una tabla especificada cada byte es sustituido por otro en funcin de la tabla.

3.2. ShiftRows. Cada byte de cada fila es desplazada n-1 huecos a la izquierda (siendo n el numero de fila).

3.3. MixColumns. Los 4 bytes de una columna se combinan entre si para obtener 4 bytes diferentes. Este proceso se logra multiplicando la columna por una matriz dada.2 3 1 11 2 3 11 1 2 33 1 1 2

3.4. AddRoundKey.

Ciclo final.4.1. SubBytes.4.2. ShiftRows4.3. AddRoundKeyLa matriz es la entrada del algoritmo AES, y va cambiando en cada una de las rondas, la denotaremos como [ aij ], y la llamaremos matriz estado.

Ciclo Inicial AddRoundKeyEsta transformacin toma una matriz y simplemente hace un xor byte a byte con la correspondiente matriz de claves dependiendo de la ronda en que nos encontremos.

Toma la matriz [ aij ] y [ kij ] y da como resultado la matriz [ aij kij ] es decir xorea entrada por entrada, la matriz del bloque con la matriz de lasubclave correspondiente.

Ciclos IntermediosByteSubEn este caso a cada elemento de la matriz estado (byte) se le substituye por otro byte, que depende del primero.

Se substituye la matriz [ aij ] por [ sij ], donde Sij serian los inversos multiplicativos o tambin llamada S-box AES.S-box AES

Ciclos IntermediosShiftRowLa transformacin ShiftRow se aplica a la matriz estado, aplicandocorrimientos a sus columnas. Sea aplica a la matriz [ aij ], Shift(corrimientos izquierdos circulares de bytes) a las renglones, de la siguiente manera, recorre0 bytes a el primer rengln, 1 byte al segundo rengln,2 bytes al tercer rengln, y 3 bytes recorridos al cuarto rengln.

Ciclos IntermediosMixColumnLa transformacin MixColumn acta sobre los bytes de una misma columna de la matriz de estado que tiene a la entrada, es decir, el estado intermedio 3. en esencia esta funcin permite una mezcla de los bytes de las columnas.

Ciclos IntermediosAddRoundKeyEsta transformacin consiste en aplicar una operacin OR-Exclusiva entre la matriz de estado que proviene de la transformacin anterior (Funcin MixColumn) y una subclave que se genera a partir de la clave del sistema para esa vuelta (ronda).

El bloque resultante de esta transformacin, ser la nueva matriz de estado para la siguiente ronda. Siendo el bloque de salida, si la vuelta es la ultima.

Para aplicar esta transformacin se debera coger una subclave para la vuelta actual, y formar una matriz con el mismo nmero de filas y columnas que la matriz de estado con la que se est operando (implcitamente se puede observar como las subclaves dependen del tamao del bloque empleado) para poder aplicar la operacin OR-Exclusiva.La esencia de esta funcin recae en la subclaves. El algoritmo Rijndael basndose en el principio de la criptografa moderna, mediante el cual se establece que la seguridad de un algoritmo slo debe depender de la clave utilizada, utiliza diferentes subclaves Ki tanto en el cifrado como en el descifrado para que el resultado del algoritmo dependa completamente de una informacin externa al sistema: la clave del usuario.