CAST-128 (o también, CAST5) es un cifrador por bloques usado en un gran número de productos, notablemente como cifrador por defecto en algunas versiones de GPG y PGP. Ha sido aprobado por el gobierno canadiense para ser usado por elCommunications Security Establishment. El algoritmo fue creado en 1996 por Carlisle Adams y Stafford Tavares usando el procedimiento de diseño CAST. Otro miembro de la familia de CAST es CAST-256 (un candidato a AES) derivó de CAST-128. De acuerdo con algunas fuentes, el nombre CAST se basa en las iniciales de sus autores, mientras que Bruce Schneier informa que los autores indican que “el nombre debería conjurar imágenes de aleatoriedad” (Schneier, 1996).
CAST-128 es un cifrador de 12 o 16 rondas que se basa en la red de Feistel con bloques de 64 bits y tamaños de clave entre 40 y 128 bits (pero con solo incrementos de 8 bits). Las 16 rondas completas se usan cuando la clave tiene un tamaño mayor de 80 bits. Incluye unas largas S-Boxes de 8x32 bits basadas en funciones bent, rotaciones dependientes de clave, adición y sustracciónmodular y operaciones XOR. Hay tres tipos alternativos de funciones de ronda, pero son de estructura similar y se diferencian sólo en la elección del tipo exacto de operación (XOR, adición o sustracción) en varios puntos.
A pesar de que Entrust posee la patente del procedimiento de diseño de CAST, CAST-128 está disponible globalmente con licencias para usos comerciales y no comerciales libres de regalías.
Antes de decir nada acerca de Triple DES, responder a la pregunta de por qué no se usa "doble DES". En el DES doble para cifrar cada bloque dos veces, con dos claves diferentes K y L:
y = e L ( E K ( x )), x = d K ( d L ( y )).
Como se mencionó antes, DES no es un grupo, así que parece que nos gusta llegar criptosistema mucho más seguro. Sin embargo, hay algo que se llama el ataque " se encuentran en el medio ", que se describe Diffie 1977. Supongamos que la famosa pareja de texto plano-texto cifrado ( x , y ). Cifrar x 2 con todos los 56 posibles claves K . Guarde los resultados en la tabla y ordenarlos de acuerdo a los valores de z = e K ( x ). Luego de descifrar y utilizar los 2 56 claves posibles L . Después de cada descifrado, buscar el resultado en la tabla. (De hecho, debería aplicarse a = d L ( y )). Si lo encontramos, entonces el par resultante ( K , L test) en el lado de la pareja en texto plano-texto cifrado. Si pasa la prueba, los aceptamos para las teclas correctas. La probabilidad de que hemos cometido un error los dos 112-64-64 = 2 -16 . De esta manera, obtenemos que para romper el doble DES y el número de operaciones de orden 2 56 , que es poco más que el DES ordinario.
Una de la sustitución más popular para DES es Triple DES (utilizado también nombres Triple DES y 3DES):
y = e M ( d L ( E K ( x ))), x = d K ( E L ( d M ( y ))).
Esta es la longitud de clave de 56 · 3 = 168 bits. A menudo se utiliza y la versión en la que M = K , por lo que la longitud de la clave 56 · 2 = 112, pero para ella hay algunos, todavía no ataques prácticos, utilizando su estructura específica. La razón de la combinación de " Cede "es compatible con el DES común: es suficiente para poner L = M o K = L . Por número Triple DES de operaciones en el "encuentro en el medio" ataque del orden de 2 112 ≈ 5 · 10 33 mientras que el criptoanálisis diferencial estimado en 10 52 . Podemos decir que la seguridad en la encriptación de triple exactamente como podríamos ingenuamente se puede esperar en el doble. En todo caso, la seguridad 3DES y hoy más que satisfactorio.
IDEA ( International Data Encryption Algorithm ) es un sistema de cifrado desarrollado por los criptógrafos suizos Xuejia Lai y James Massey con ETH Zurich. La primera versión llamada PSA ( cifrado de Norma ) publicó en 1990. Sin embargo, este sistema de cifrado era resistente al criptoanálisis diferencial (para clave de 128 bits tomó 2 64 operaciones), y después de los hallazgos Biham-Shamirovog, los autores en 1992 volvió a escribir el algoritmo y nombrado IDEA.
IDEA utiliza una clave de 128 bits para cifrar bloques de texto plano de 64 bits. Utiliza tres operaciones en sub-bloques de 16 bits:
- XOR (CN ),
- Además módulo 2 16 (designación ),
- multiplicación módulo 2 16 + 1 (marca ).
La multiplicación es aquí puede considerarse análogo de cajas-S de DES. Módulo 2 16 1 se selecciona para una aplicación eficaz de la multiplicación modular. Estas tres operaciones son incompatibles en el sentido de que no hay dos que no cumplen con las leyes de la asociatividad y distributividad. IDEA cuenta con ocho rondas y la transformación final. Utilizaron 52 međuključeva 16 bits generados por la clave inicial de 128 bits.
CAST-128 (usado otro nombre y CAST5) diseñado por los criptógrafos canadienses Carlisle Adams y Stafford Taraves en 1993. año. REPARTO encripta bloques de 64 bits de texto plano utilizando una clave cuya longitud puede variar desde 40 hasta 128 bits. CAST es el mismo que el DES, por ejemplo, las cifras de Feistel con 16 rondas. Hay dos diferencias de las cifras clásicas de Feistel:
- dos međuključa en cada ronda: 32-bit Km y el 5-bit AD y ;
- función f depende de rondas.
Operaciones básicas en CAST-en son:
- XOR,
- la suma y resta de módulo 2 32 ,
- rotación cíclica izquierda de una de ab pedacitos (marca y <<< b ).
Dibuja uno de CAST-128 rondas:
Dependiendo de las rondas, tenemos:
f1 redondos y f2 y f3 y f4 y
-------------------------------------------------- ---------------
1, 4, 7, 10, 13, 16 XOR + - +
-------------------------------------------------- ---------------
2, 5, 8, 11, 14 XOR - + XOR
-------------------------------------------------- ---------------
3, 6, 9, 12, 15 - + XOR -
-------------------------------------------------- ---------------
Algoritmo RC5 inventado por Ron Rivest en 1994. año. En realidad, es toda una familia de algoritmos está determinada por tres parámetros: w - longitud de palabra en bits = 16, 32, 64 r - número de rondas = 0, 1, ..., 255 b - el número de bytes de la clave = 0, 1, .. ., 255 versión es de uso general de w = 32, r = 12, b = 12
Operaciones básicas en RC5 son:
- XOR,
- la suma y resta de módulo 2 w ,
- rotación cíclica izquierda y derecha ( y <<< b , un >>> b ).
El cifrado se utiliza 2 r + 2 palabras de 32 bits S 0 , S 1 , ..., S 2 r 1 dependiendo de la tecla K . En primer lugar, la clave K 0 ... K b -1 de B bytes transferidos en una serie de c palabra M 0 ...M c -1 (si b no es un múltiplo de w , a continuación, añadido ceros). Entonces S y -ovi inicializan con el tamaño de pseudoaleatorio
P w = S [(E - 2) 2 w ], Q w = S [(φ - 1) 2 w ],
donde e base de los logaritmos naturales, φ = (1 + √5) / 2 relación de la sección de oro, y la función impar redondeo al número impar más cercano. Para w = 32 es P w = B7E15163, Q w = 9E3779B9.
Inicialización: S= P w , S i = S i -1 + Q w , i = 1, 2, ..., 2 r + 1.
Procedimiento: i = j = X = Y = 0, n = 3 max (2 r + 2, c) hasta 3 n veces S i = ( S i + X + Y ) <<< 3, X = S y , i = i + 1 (mod 2 r + 2), M j = ( M j + X + Y ) <<< ( X + Y ), Y = M j , j = j + 1 (mod b).
Procedimiento: i = j = X = Y = 0, n = 3 max (2 r + 2, c) hasta 3 n veces S i = ( S i + X + Y ) <<< 3, X = S y , i = i + 1 (mod 2 r + 2), M j = ( M j + X + Y ) <<< ( X + Y ), Y = M j , j = j + 1 (mod b).
Para el cifrado, se comparte un bloque de texto plano en dos w -bit palabras A y B . A continuación, la aplicación del algoritmo:
L 0 = A + S 0 , D 0 = B + S 1 , para i = 1 a r a L i = (( L i -1 R i -1 ) <<< R i -1 ) + S 2 y R i = (( R i -1 L i ) <<< L i -1 ) + S 2 y 1 .
No hay comentarios:
Publicar un comentario