con 70.
000 computadoras conectados a
Internet, usando como técnica "Brute-
ADVANCED ENCRIPTION Force", aproximadamente en 96 días [1],
STANDARD (AES) el algoritmo ganador Rijndael, fue
desarrollado por los científicos Búlgaros,
Dr. Joan Daemen y Dr. Vincent Rijmen,
YOLIANA MARCELA BAYONA CAMARGO cuyo diseño se basó en la resistencia
yolimarce@[Link] contra todos los ataque conocidos,
TEL : 2 22 76 86 DIR : DG 43 # 38 - 53 INT 4 APT 403
BOGOTA velocidad, código simplificado en gran
variedad de plataformas y simplicidad en
OSCAR MAURICIO MORENO LOPEZ
ommoreno@[Link]
el diseño.
TEL : 6 60 76 46 DIR : CR 62 A # 63 A - 08 BOGOTA
Su diseño tiene en cuenta la estrategia
UNIVERSIDAD NACIONAL DE COLOMBIA publicada en el Wide Trail Strategy [2], la
SEDE BOGOTA
que tiene tres transformaciones invertibles
llamadas capas, las que dan resistencia al
criptoanálisis lineal y diferencial, estas
RESUMEN (ABSTRACT) son : La capa de mezcla lineal garantiza
alta difusión en varios ciclos, La capa no-
En este documento se explicará AES lineal que da propiedades de no linealidad
(Advanced Encription Standard), el al criptograma, y la capa de adición de
estándar aprobado por el Gobierno de los llave que actúa como un EXOR entre la
Estados Unidos para dar confidencialidad "RoundKey" y el estado intermedio, las
a información, y propuesto por la NIST cuales serán expuestas en el transcurso
(National Institute of Standards and del documento.
Tecnology) para ser adoptado como el
algoritmo de encripción utilizado por La información expuesta fue obtenida de
defecto en el ESP (Encapsulating Security los libros citados y artículos publicados
Payload) del IPsec. en Internet.
PALABRAS CLAVE 2. SISTEMAS DE ENCRIPCIÓN CON
LLAVES SIMÉTRICAS
AES, IPSec, Encripción.
Los block cipher son sistemas que
1. INTRODUCCION encriptan un texto en bloques de x bits y
como resultado tendremos bloques
En este artículo se explicará el algoritmo encriptados de x bits. Algunos cifradores
adoptado por la NIST como el nuevo utilizan tamaños de bloques variables,
standard avanzado de encripción AES otros utilizan tamaños de bloques fijos.
(Advanced Encription Standard), después Existen otos cifradores llamados stream
de una selección entre varios algoritmos, cipher, los cuales encriptan un caracter
utilizando criterios de evaluación del texto al tiempo, AES es block cipher
especificados en [0]. AES remplazó a con bloques variables.
DES (Data Encription Standard),
publicado en 1977 por la NIST, el cual 2.1. Elementos de un Block Cipher
fue roto por RSA Laboratorys en 1997,
2.1.1. Key Size
La llave, es una frase secreta, El tamaño bloque, es mas difícil aplicar
de la llave está dado en bits, juega un criptoanalisis a un bloque grande, ya que
papel importante en la seguridad del se tienen mas posibilidades de textos, sin
sistema, debido a la facilidad existente de embargo existe una desventaja al usar
realizar ataques de " Brute –Force " si el tamaños grandes de bloque, que es el
tamaño de la llave es muy pequeño, por tiempo de encripcion, por consiguiente es
ejemplo en 1998 DES (Data Encription importante encontrar un balance entre
Standard) utilizando una llave de 56 bits velocidad y seguridad, determinando el
fue roto en menos de tres días con una tamaño de bloque optimo, el
máquina que ejecutaba cerca de 2*10^11 recomendado es 128.
instrucciones por segundo.
2.1.3. Función Key Schedule
NIST estipuló que el candidato para el
nuevo Standard de encripción debía usar Esta función es usada para distribuir los
como mínimo un tamaño de 128 bits, bits de la llave al cifrador cuando las
teniendo en cuenta el siguiente análisis: necesite. En la mayoría de los cifradores
Asumiendo que fuera posible construir esta función expande la llave, y se
una computadora un millón de veces más denomina "RoundKey", de la cual de
rápido que el usado para romper DES en seleccionan subllaves, que son utilizadas
1998. Esta computadora debería ser en diferentes ciclos del sistema. Un mal
capaz de ejecutar aproximadamente diseño de esta función puede ayudar a
2*10^17 operaciones por segundo, romper la encripción con criptoanálisis;
¿ Cuánto tiempo le tomaría a un millón de por ejemplo cuando diferentes llaves
esos computadores completar una producen un texto encriptado igual.
búsqueda exhaustiva de la llave " Brute –
Force atack" de un Block Cipher con 2.1.4. Número de Ciclos
tamaño de llave de 128 bit?, Si este es
simétrico requerirá aproximadamente En un ciclo se aplican las
[2^128]/2 = 2^127 aproximadamente 1.7 transformaciones que permiten encriptar
* 10^38 operaciones. Un millón de estos el texto, cada ciclo adicional que el
super- computadores trabajando en cifrador use puede dar más seguridad, sin
paralelo podrían ejecutar cerca de embargo la velocidad para generar el
10^6*[2*10]^17 = 2 * 10^23 operaciones texto encriptado disminuye. El número
por segundo, entonces esto le tomaría apropiado de vueltas es determinado por
aproximadamente [1.7*10^38]/2 * 10^23 el diseñador del cifrador mediante
= 10^15 segundos aproximadamente 31' pruebas empíricas.
623.153 años.
2.1.5. Formas de Operación
2.1.2. Tamaño del bloque
Un Block Cipher puede operar de cuatro
Los bloques son tomados en orden del diferentes formas:
texto que se desea encriptar, se toman los
primeros x-bits del texto, siendo este el Notación:
primer bloque, donde x corresponde al
tamaño del bloque. En general, la x = x1, x2,...,xn, donde x es un texto y xi
seguridad de un cifrador se incrementa, el bloque i del texto.
proporcionalmente con el tamaño del ek ( X i ) es el resultado de aplicar las
transformaciones con llave k al bloque xi. El texto cifrado será :
IV es Vector inicial que se genera
aleatoriamente o muchas veces se
especifica.
c es el texto encriptado.
[Link]. Output FeedBack (OFB) Mode:
[Link]. Electronic code Block (ECB)
Mode: En este modo se obtiene el primer bloque
cifrado C1 de la siguiente forma:
En este modo se aplica las
transformaciones a cada bloque y se
concatenan los resultados en el mismo
orden para obtener el texto cifrado. para los siguientes
El texto cifrado será :
[Link]. Cipher Block Chaining (CBC)
Mode:
En este modo se obtiene el primer bloque 3. VULNERABILIDAD DE UN
cifrado C1 de la siguiente forma: CRIPTOSISTEMA
Existen ataques que pueden hacer
vulnarable la seguridad de un texto
para los siguientes cifrado
3.1. Brute-Force: Como ya se mencionó
realizar una búsqueda exhaustiva de la
el texto cifrado será :
llave.
3.2. Criptoanálisis Estadístico: Usa
[Link]. Cipher FeedBack (CFB) Mode: información estadística para romper el
texto encriptado, analizándolo y usando la
En este modo se obtiene el primer bloque probabilidad de ocurrencia de cada letra
cifrado C1 de la siguiente forma: en un idioma.
3.3 Criptoanálisis:
para los siguientes Es el estudio de las técnicas para romper
criptosistemas, existen dos técnicas
relativamente nuevas que pueden ser
usadas para atacar los criptosistemas
modernos; estas técnicas son bastante tendrá 4 filas, el número de columnas esta
complejas e incorporan procedimientos nomenclado por Nb y es igual al tamaño
matemáticos: del bloque dividido entre 32.
3.3.1. Criptoanálisis diferencial: Es la La llave del cifrador puede ser
técnica que permite reducir el numero de similarmente dibujada como un arreglo
llaves posibles, el análisis consiste en rectangular de 4 filas. El número de
cifrar con la misma llave varios textos y columnas de la llave del cifrador esta
analizar cada estado intermedio viendo la denotado por Nk y es igual al tamaño de
propagación del texto [3] . la llave divido entre 32.
3.3.2. Criptoanálisis Lineal: Es la técnica
que intenta encontrar las aproximaciones
lineales basadas en las transformaciones
que un criptosistema ejecuta en un texto.
MATSUI publicó un artículo en 1993
donde exponía como esta técnica podía Ejemplo : Estado con Nb = 6 y Nk = 4
ser utilizada para romper DES[4]
El numero de ciclos esta notado por Nr y
Las técnicas diferencial y lineal son depende de los valores de Nb y Nk, según
conocidas como know plaintext exploit ya la tabla:
que utilizan un texto conocido para
ejecutar los ataques.
Como principio general se dice que la
magnitud del esfuerzo requerido para
tener éxito en un criptoanálisis debe ser
mayor que la requerida para romperlo con
Valores de ciclos Nr en función de Nk y Nb
el ataque "Brute-Force".
Este numero de ciclos fue seleccionado
4. ALGORITMO RIJNDAEL por los diseñadores del algoritmo, para
ello tuvieron en cuenta el numero máximo
Rijndael es un Block cipher de varios de ciclos en los que un ataque "shortcut
ciclos con tamaño de bloque y llave attacks" encontraba solución, y
variable, estos tamaños pueden ser adicionando un margen considerable de
independientemente especificados como seguridad.
128,192 ò 256 bits.
4.1. El Estado y La Llave 4.2. Las transformaciones en un ciclo :
El resultado intermedio del cifrador es Un ciclo esta compuesto por cuatro
llamado estado, las diferentes transformaciones aplicadas en siguiente
transformaciones operan sobre él. El orden :
estado puede ser graficado como un
arreglo rectangular de bytes. Este arreglo ByteSub(Estado)
ShiftRow(Estado)
MixColumn(Estado)
AddRoundKey(Estado, RoundKey)
El ultimo ciclo se diferencia un poco y
esta dado por :
ByteSub(Estado)
ShiftRow(Estado)
AddRoundKey(Estado, RoundKey)
4.2.1. La transformación ByteSub :
Esta es una transformación de
substitución de bytes no linear, operando
en cada Estado independientemente, la
tabla de substitución (S-box), es
invertible y es equivalente a realizar la
siguiente multiplicación donde X es un
Byte en el Estado y Y su nueva posición Ejemplo de S-Box Nb = 8
en un nuevo Estado:
El diseño se baso en un trabajo de K.
Nyberg [5] el cual da tres criterios
La aplicación a un Estado esta denotada mínimos que hay que tener en cuenta,
por ByteSub(Estado) estos son: invertivilidad de la función, la
correlación máxima entre Entrada/Salida
es de 2 ^ -3 y el máximo valor en la tabla
XOR debe ser 4.
4.2.2. La transformación ShiftRow:
En esta transformación las filas del
Estado son cíclicamente corridas
diferentes distancias, la fila 0 no se
mueve, la fila 1 es corrida C1, la fila 2 es
corrida C2, la fila 3 es corrida C3 bytes.
Los valores de C1, C2,C3 dependen del
tamaño del Bloque Nb. y esta dados en la
siguiente tabla:
Valores de C1, C2, C3 en función de Nb
4.2.4. La transformación AddRoundKey :
La operación que se realiza es un XOR
entre el Estado y la RoundKey, que es
derivada de la llave del cifrador, y la
Ejemplo de ShiftRow Nb = 4 función Key Schedule. El tamaño de la
RoundKey es igual al del Bloque Nb.
De modo que la fila uno no se corre, la
segunda fila se corre una columna, la 4.3. Key Schedule
tercera dos, la cuarta tres.
Esta compuesta por dos funciones,
En la transformación inversa son movidas Expansión de la llave y Selección de la
a la posición (j + Nb - Ci )mod Nb donde llave. El numero total de bits en la llave
i es la fila y j el Byte. expandida es igual al tamaño del bloque
multiplicado por el numero de ciclos mas
4.2.3. La transformación MixColumn: 1, por ejemplo si el tamaño del bloque es
de 128 bits y 10 ciclos, entonces el
En esta transformación el Estado es tamaño de la "RoundKey" será de 1408
considerado como un polinomio en bits. La llave del cifrador es expandida
GF(2^8) y multiplicado con un polinomio por medio de la función Expansión de la
constante c(x) : llave, y luego se seleccionara la Sub llave
para el primer ciclo, tomando las primeras
Nb palabras, para el segundo ciclo las
siguientes Nb palabras de la Llave
La multiplicación de la columna a(x) por
expandida etc.
c(x) será:
4.3.1. Expansión de la Llave:
La llave expandida esta denotada por W
[Nb * (Nr +1 )]. Las primeras Nk palabras
son la llave del cifrador, Esta función
depende del valor de Nk, para NK < = 6,
esta dado según:
La transformación inversa será :
KeyExpansion(byte Key[4*Nk], word W[Nb*(Nr+1)])
{
for(i = 0; i < Nk; i++)
W[i] = (Key[4*i],Key[4*i+1],Key[4*i+2],Key[4*i+3]);
Donde : for(i = Nk; i < Nb * (Nr + 1); i++)
{
temp = W[i - 1];
if (i % Nk == 0)
temp = SubByte(RotByte(temp)) ^ Rcon[i / Nk];
W[i] = W[i - Nk] ^ temp;
Los criterios para el diseño de esta }
transformación fueron, Invertivilidad, }
linealidad en GF(2^8), Velocidad en
procesadores de 8-Bits, simetría. En esta descripción SubByte(W) es la
función que retorna una palabra de 4-byte
después de aplicarle (S-Box) o la
transformación ByteSub a la
correspondiente posición en la palabra, la
función RotByte(w), retorna un palabra
de tal forma que si la palabra de entrada Ejemplo : Nb = 6 , Nk = 4.
es (a,b,c,d) la salida será (d,c,b,a). En
general se puede decir que los primeras
Nk palabras corresponden a la Llave del
cifrador y la siguiente palabra W[i] es 4.4. El Cifrador
igual a un XOR con la palabra anterior
W[ i -1 ], para palabras con posiciones
múltiplos de Nk la transformación El Cifrador de Rijndael consiste en :
descrita es aplicada.
La expansión de la llave,
para valores de Nk > 6 es : Nr -1 ciclos y
Un ciclo final.
KeyExpansion(byte Key[4*Nk] word W[Nb*(Nr+1)])
{
for(i = 0; i < Nk; i++) En seudo C será :
W[i] = (key[4*i],key[4*i+1],key[4*i+2],key[4*i+3]);
for(i = Nk; i < Nb * (Nr + 1); i++)
{
temp = W[i - 1]; Rijndael(State,CipherKey)
if (i % Nk == 0) {
temp = SubByte(RotByte(temp)) ^ Rcon[i / Nk]; KeyExpansion(CipherKey,ExpandedKey) ;
else if (i % Nk == 4)
AddRoundKey(State,ExpandedKey);
temp = SubByte(temp);
W[i] = W[i - Nk] ^ temp; For( i=1 ; i<Nr ; i++ )
} Round(State,ExpandedKey +Nb*i) ;
} FinalRound(State,ExpandedKey + Nb*Nr);
}
la diferencia con el esquema para Nk <=
6 es que si i -4 es múltiplo de Nk,
SubByte es aplicada a W [i -1] antes de 4.4.1. Criptoanálisis a Rijndael
XOR
Los primeros ataques conocidos para este
Las constantes son independientes de Nk algoritmo de Encripción fueron
y están definidas por : publicados en 1998 [6], el primer ataque
únicamente logra romper la seguridad
Rcon[] donde Rcon[1] = 0x01, Rcon[2] = teóricamente de el cifrador para 6 ciclos,
0x01, Rcon[3] = 0x04, Rcon[4] = 0x08, mas tarde Gilbert y Miner [7] en el año
Rcon[5] =0x10, Rcon[6] =0x20, Rcon[7] 2000 publicaron un ataque para el
=0x40, Rcon[8] =0x80. cifrador cuando usa 7 ciclos. Recordemos
que Rijndael usa 10, 12 o 14 ciclos.
4.3.2. Selección de la llave:
Otras técnicas usadas, como, La técnica
la selección de la llave para el ciclo i, será de la suma parcial redujo
tomada de la llave expandida desde considerablemente la complejidad del
w[Nb*i] hasta w [Nb *(i+1) ] ilustrada ataque a los 6 ciclos, técnica que es
así : posible usar también con 7 y 8 ciclos. En
algunos casos donde se puede usar textos Esta tabla tomada de [9] nos muestra la
conocidos el factor de trabajo se ve poca factibilidad actual de lograr un
reducido. Todos estos ataques se han ataque exitoso contra el algoritmo de
basado en los trabajos y en las técnicas Rijndael, por ejemplo para el algoritmo
del ataque Cuadrado explicadas con 6 ciclos el ataque tiene una demora de
publicadas en [8] y únicamente se han 2^72 segundos esto es
trabajado con tamaño de bloque de 128- [Link].898 años.
bits.
4.4.2. Ejemplo de Rijndael con
La técnica del ataque Cuadrado puede ser diferentes tamaños de llave :
usada en ataques contra el algoritmo de
Rijndael con 6, 7 y 8 ciclos y pretende CTi : Texto Cifrado en el ciclo i.
encontrar la llave, utilizando 256 textos
encriptados, que solamente se diferencien TAMAÑO_LLAVE=128
LLAVE = 000102030405060708090A0B0C0D0E0F
en un byte, después aplicar MixColumn
en el primer ciclo y luego intercambiar el Encripcion :
orden de las transformaciones
MixColumn y AddRoundKey en el TEXTO=000102030405060708090A0B0C0D0E0F
CT1=B5C9179EB1CC1199B9C51B92B5C8159D
ultimo ciclo, con este cambio y un CT2=2B65F6374C427C5B2FE3A9256896755B
análisis empírico los investigadores Niels CT3=D1015FCBB4EF65679688462076B9D6AD
Ferguson, John Kelsey, Stefan Lucks, CT4=8E17064A2A35A183729FE59FF3A591F1
CT5=D7557DD55999DB3259E2183D558DCDD2
Bruce Schneier, Mike Stay, David CT6=73A96A5D7799A5F3111D2B63684B1F7F
Wagner y Doug Whiting, se dieron cuenta CT7=1B6B853069EEFC749AFEFD7B57A04CD1
que el texto encriptado depende de cuatro CT8=107EEADFB6F77933B5457A6F08F046B2
CT9=8EC166481A677AA96A14FF6ECE88C010
bytes de la RoundKey del ultimo ciclo, y CT=0A940BB5416EF045F1C39458C653EA5A
de esta manera reducir el número
considerable de llaves posibles para un Desencripcion :
texto encriptado. Sin embargo en esta CT =0A940BB5416EF045F1C39458C653EA5A
técnica se puede ver que es necesaria una PT1=CA68DA374E6E5A9ED58C87C330F3B6A8
gran cantidad de textos encriptados y un PT2=AF28543EF9BB2904B8E097925B7FB021
PT3=8FEEF1D2F5A4C04C82B3020D45D306FB
gran procesamiento para su análisis. PT4=0EEEADB5CB98BD03CB5DFF23FCFCB927
Además a pesar de que se tiene la misma PT5=1996D9A1E5DB81D640066FEC0DF032DB
estructura para tamaños de bloques PT6=3EDF5A958DC4F61F9056CF85387C4DB7
PT7=F12CD33929119D9A15904239454D103F
mayores de 128, su criptoanálisis debe ser PT8=D54BAF5EC8A6590B56E8F0EED5DD824F
tratado de diferente manera. PT9=63636363636363636363636363636363
PT=000102030405060708090A0B0C0D0E0F
==========
TAMAÑO_LLAVE =192
LLAVE
=000102030405060708090A0B0C0D0E0F1011121314
151617
Encripcion :
TEXTO =000102030405060708090A0B0C0D0E0F
CT1=73727170777675743B25919A3F20979D
CT2=C673B27A311EC2EB64AD47FF53B233D7
Complejidad en el criptoanálisis de Rijndael
CT3=0B5CC6BA34C807E6496D79B46826A1E8
CT4=005B53A5B660E280307883487E4D1A4D
CT5=88A105F0DDD45F3674DBC3DE1A211B03 PT10=901868DA44ACCC691C8CC93B1A3A59E8
CT6=EB5CD8B5FD8A3F33F03A70FB5C620C06 PT11=2F85CE843D8A91EA48B723AF0F4C54DB
CT7=909913B09BD2CC5A70B6C647931F0A1F PT12=8F38B610F5DAFF5121F3A392D2409DBC
CT8=6EB6CA10E395AFD646B02C5E9E745A9F PT13=63636363636363636363636363636363
CT9=2CFD2FC41AF82B8DFB80E9BD1C989ECE PT=000102030405060708090A0B0C0D0E0F
CT10=31C5D5E27EAF073E5C21ADAAEAA969D4
CT11=1DB94956A7268B0DE963D27E55868580
CT=0060BFFE46834BB8DA5CF9A61FF220AE
Desencripcion : 5. REFERENCIAS
CT =0060BFFE46834BB8DA5CF9A61FF220AE
PT1=C7799548F3FDF9984AD303B287A6C5AC 0. "Request for Comments on Candidate
PT2=71411E8BA2CD0B1C0F46155D9C54F17A Algorithms for the Advanced Encryption
PT3=9F2A71DB11E7BECA5A9274F60B4E7958
PT4=60B5B4C0144E67E751C07DBEDCEE4BA0 Standard (AES)", Federal Register,
PT5=E97E516F5480FED58CAA61C34A4A750F Volume 63, Number 177, pp. 49091-
PT6=C4482E7BC1B9AF8C92FD6B05A232CF1D 49093, Sept 14, 1998.
PT7=63D0ECE34EBCA20604E3EDCDF3399852
PT8=2BE8B69B183C32F43BF7B48E454AC58D
PT9=B472A00EC795C3DA433737E9ED8F2516 1. RSA97 Data Security Inc.,
PT10=8F38815EF53F8851E2B7A39275409DB8 "Goverment Encription Standard Takes a
PT11=63636363636363636363636363636363
PT=000102030405060708090A0B0C0D0E0F Fall." RSA Data Press Relace, Junio 17
1997.
==========
TAMAÑO_LLAVE =256 2. J. Daemen, "Cipher and Hash Function
LLAVE Design Strategies Based on Linear and
=000102030405060708090A0B0C0D0E0F1011121314 Diferential Cryptanalysis," Doctoral
15161718191A1B1C1D1E1F
Dissertartion, Marzo 1995, [Link].
Encripcion :
3. Murphy, S., "The Cryptoanalisys of
TEXTO =000102030405060708090A0B0C0D0E0F
CT1=73727170777675747B7A79787F7E7D7C FEAL-4 whit 20 Choosen Plaintext,"
CT2=4E5D32BB8B67FD1BD4CFEC9FFB20AC4F journal of criptology, No 3, 1990.
CT3=96A212E486341549C4AAF7C843F0277A
CT4=0F45F284CDD0CB16E3EA81ECC891A4E1
CT5=E59BFC458A89063E0137BBE6DB63A058 4. Matsui, M., " Linear Criptoanlisys
CT6=1D958D960EA3143383C17D5CD87BA327 Method of DES Cipher," proceedings,
CT7=43843EF40D9219481935B77A586DB5DE EUROCRYPT'93, 1993.
CT8=5AA5ABADBC40230CBA6124E9FAEEEFB5
CT9=DAD61937BDFD582927F14C990C5FC761
CT10=E8A48C5DEE5C0792AB6DFFF5B038529D 5. Nyberg, K., " Differentially uniform
CT11=4B71E5A8BFB4E9A5312A18119E68E829 mappings for cryptography,"Advances in
CT12=DCBA75CEE6589DDC0D289A172E8415B5
CT13=8A0E856B2074C1093104131D0628BFE8 Cryptology,Proceedings
CT=5A6E045708FB7196F02E553D02C3A692 EUROCRYPT'93, LNCS 795,Helleseth,
Ed, Springer-Verlag, 1994, pp 55-64.
Desencripcion :
CT=5A6E045708FB7196F02E553D02C3A692 6. Joan Daemen and Vincent Rijmen.
PT1=866AB8D58E34598BD75F9D8631F45EF0 “AES proposal: Rijndael“ AES Round 1
PT2=B38DADA508E59BC2C745D9060BA31E82
PT3=9B4A165E283C004C6207644FE749C5E6 Technical Evaluation, Documentation.
PT4=575429EF7AA1C69ACCCFD4A5FEF66AEE NIST, Agosto 1998.
PT5=BE0936D565EFDF95F42862FE2D06261E [Link]
PT6=1A4FA91DD796D5BFD43CB2526A5FD4DA
PT7=A40AFFCCAB780A90EC215DC3612AFA4A jndael/
PT8=D9A7EA6A7E9AE06E7CFBB0B2B9146F8E
PT9=76700CF8BD87495F11818947E86E1FCE
7. Henri Gilbert y Marine Minier. “A
collision attack on 7 rounds of Rijndael”.
In The third Advanced Encryption
Standard Candidate Conference, páginas
230–241. NIST, Abril 2000.
[Link]
8. J. Daemen, L. Knudsen, y V. Rijmen,
“The block cipher Square”, Fast
Software Encryption ’97, páginas 149–
165. 1997.
9. Niels Ferguson, John Kelsey, Stefan
Lucks, Bruce Schneier, Mike Stay,
David Wagner, and Doug Whiting,
“Improved Cryptanalysis of Rijndael”,
2001.