FROG es un algoritmo de cifrado por bloques realizado por Georgoudis, Leroux y Chaves. Puede trabajar con bloques de tamaño entre 8 y 128 bytes, con tamaños de clave comprendidos entre los 5 y los 125 bytes. El algoritmo consiste en 8 rondas y tiene un desarrollo de la clave muy complicado.
Se envió en 1998 a la competición AES como candidato para convertirse en el Advanced Encryption Standard. En 1999, David Wagner y otros encontraron un número de claves débiles para FROG, que afectaba aproximadamente a una cada mil millones [1]. Otros problemas eran un inicio de la clave muy lento y una velocidad de cifrado relativamente lenta. FROG no llegó a ser elegido finalista.FROG sigue una filosofía de diseño innovadora. Normalmente, un algortimo de cifrado por bloques aplica una secuencia matemáticas o lógicas conocida (como adiciones, XOR, etc) sobre el texto plano y la clave para producir el texto cifrado. Esta secuencia de operaciones es conocida por el atacante (a menos que el algoritmo en sí mismo sea desconocido, lo que era imposible en el contexto del concurso). Un atacante podría usar este conocimiento para buscar debilidades en el algoritmo lo que, eventualmente, podría permitirle recuperar el texto plano original.
El diseño de FROG era ocultar la secuencia exacta de las secuencias y operaciones, incluso a pesar de que el algoritmo es conocido. Donde otros cifradores usan la clave solo como datos para producir el texto cifrado, FROG usa la clave además como instrucciones sobre las cuales se generará el producto cifrado. De hecho, una versión expandida de la clave es usada por FROG como programa. FROG opera él mismo como un intérprete que aplica este programa dependiente de la clave sobre el texto plano para producir el texto cifrado. El descifrado opera usando el mismo programa de manera inversa.
International Data Encryption Algorithm o IDEA (del inglés, algoritmo internacional de cifrado de datos) es uncifrador por bloques diseñado por Xuejia Lai y James L. Massey de la Escuela Politécnica Federal de Zúrich y descrito por primera vez en 1991. Fue un algoritmo propuesto como reemplazo del DES (Data Encryption Standard) . IDEA fue una revisión menor de PES (Proposed Encryption Standard, del inglés Estándar de Cifrado Propuesto), un algoritmo de cifrado anterior. Originalmente IDEA había sido llamado IPES (Improved PES, del inglés PES Mejorado).
IDEA fue diseñado en contrato con la Fundación Hasler, la cual se hizo parte de Ascom-Tech AG. IDEA es libre para uso no comercial, aunque fue patentado y sus patentes vencieron en 2010 y 2011. El nombre "IDEA" es una marca registrada y está licenciado mundialmente por MediaCrypt.
IDEA fue utilizado como el cifrador simétrico en las primeras versiones de PGP (PGP v2.0) y se lo incorporó luego de que el cifrador original usado en la v1.0 ("Bass-O-Matic") se demostró insegura. Es un algoritmo opcional en OpenPGP.IDEA opera con bloques de 64 bits usando una clave de 128 bits y consiste de ocho transformaciones idénticas (cada una llamada un ronda) y una transformación de salida (llamada media ronda). El proceso para cifrar y descifrar es similar. Gran parte de la seguridad de IDEA deriva del intercalado de operaciones de distintos grupos — adición y multiplicación modular y O-exclusivo (XOR) bit a bit — que son algebraicamente "incompatibles" en cierta forma.
IDEA utiliza tres operaciones en su proceso con las cuales logra la confusión, se realizan con grupos de 16 bits y son:
- Operación O-exclusiva (XOR) bit a bit (indicada con un ⊕ azul)
- Suma módulo 216 (indicada con un verde)
- Multiplicación módulo 216+1, donde la palabra nula (0x0000) se interpreta como 216 (indicada con un rojo)
(216 = 65536; 216+1 = 65537, que es primo)
Después de realizar 8 rondas completas viene una 'media ronda', cuyo resultado se obtiene como indica la siguiente figura:
Este algoritmo presenta, a primera vista, diferencias notables con el DES, que lo hacen más atractivo:
- El espacio de claves es mucho más grande: 2128 ≈ 3.4 x 1038
- Todas las operaciones son algebraicas
- No hay operaciones a nivel bit, facilitando su programación en alto nivel
- Es más eficiente que los algoritmos de tipo Feistel, porque a cada vuelta se modifican todos los bits de bloque y no solamente la mitad.
- Se pueden utilizar todos los modos de operación definidos para el DES
- En primer lugar, el ataque por fuerza bruta resulta impracticable, ya que sería necesario probar 1038 claves, cantidad imposible de manejar con los medios informáticos actuales.Los diseñadores analizaron IDEA para medir su fortaleza frente al criptoanálisis diferencial y concluyeron que es inmune bajo ciertos supuestos. No se han informado de debilidades frente al criptoanálisis lineal o algebraico. Se han encontrado algunas claves débiles, las cuales en la práctica son poco usadas siendo necesario evitarlas explícitamente. Es considerado por muchos como uno de los cifrados en bloque más seguros que existen.
El cifrado y descifrado de un bloque de 64 bits se pueden dividir en tres pasos:
- El bloque de entrada de Eingangspermutation IP (se permutación inicial se cambia), produciendo de este modo la secuencia de bits individuales. El resultado se escribe en dos registros de 32 bits L y R. El procedimiento es similar a los 64 bits de la clave: La función de PC-1 (de elección permutada ) selecciona el algoritmo utilizado por los 56 bits de la clave y los permuta antes de que c en dos registros de 28 bits y D están escritos.
- En 16 rondas 16 veces las mismas etapas de cálculo se llevan a cabo en cada ronda en los valores de las operaciones de L y R están realizadas, que están influenciados por uno de 16 claves parciales. El resultado de cada ronda se escribirá de nuevo en L y R, en la siguiente ronda, entonces se vuelve a procesar.
- Después de la ronda L 16a y R se vuelven a montar en un valor de 64 bits antes de la IP Ausgangspermutation -1 se utiliza, que es la inversa IP, es decir, IP -1 (IP ( M )) = M . Desde IP e IP -1 sólo al principio y al final se llevan a cabo, tienen la seguridad criptográfica de DES no tiene ningún efecto.
Nota: Cuando DES, los bits se numeran de 1 a razones históricas ... 64 en el que el valor del bit 64 es uno.
La secuencia de los pasos de cifrado 16 se muestra en la Figura 2. En primer lugar, el valor R de 32 bits está representado por la imagen de expansión E a un valor de 48 bits. La Figura 3 muestra que en este caso, la secuencia de la mayoría de los bits sigue siendo el mismo, sólo hay unos pocos bits se duplicaron. El resultado es XOR-ed con una subclave de 48 bits.
Ahora los 48 bits se dividen en ocho sub-bloques de 6 bits, y para cada uno de los bloques es una sustitución mediante uno de los cajones S S1 a S8 realizó. Una caja S es el estándar de cifrado de datos no es más que una mesa que está indexado por el valor de entrada. Las entradas de la tabla son constantes y definidas por la norma.
Dado que la entrada de cada caja S 6-bits de ancho, sin embargo, sólo 4 bits de la salida, la anchura de todo el bloque después de la sustitución de nuevo 32 bits. Puede ser la función de las cajas-S, por tanto, también interpretadas sobre la base de que, por cada S-caja de uno de cuatro posibles sustitución biyectiva de 4 bits es impulsado por los bits redundantes que se han generado por la imagen expansión E. Las cajas-S ofrecen debido a su falta de linealidad, más que nada la seguridad del método de cifrado.
La Figura 4 muestra una caja S se muestra. La entrada de S1, por ejemplo, los bits 1 a 6 de ganancias de E a la operación XOR con los bits 1 a 6 de una clave parcial. En el caso de que el bit 1 y el bit 6 borrado está ajustado, la segunda de las cuatro sustituciones posibles se lleva a cabo (ver Figura 5). La Figura 6 muestra los cuatro sustituciones de S1.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | La | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0: | E | 4 | D | 1 | 2 | F | B | 8 | 3 | La | 6 | C | 5 | 9 | 0 | 7 |
1: | 0 | F | 7 | 4 | E | 2 | D | 1 | La | 6 | C | B | 9 | 5 | 3 | 8 |
2: | 4 | 1 | E | 8 | D | 6 | 2 | B | F | C | 9 | 7 | 3 | La | 5 | 0 |
3: | F | C | 8 | 2 | 4 | 9 | 1 | 7 | 5 | B | 3 | E | La | 0 | 6 | D |
Al unirse a las salidas de las cajas-S es una palabra de 32 bits se forma que después se somete a la permutación P. Esta permutación se da en la Figura 7; por ejemplo de entrada de 16 bit a bit 1 de la salida. Después de que el valor obtenido de este modo con el contenido del registro de L es XOR, se escribe de nuevo en el registro R. El viejo bloque R reemplaza el valor anterior de L.
El procedimiento para la selección de la subclave aún no se ha explicado totalmente. Los bits de la clave externa, como ya se ha mencionado por primera vez permutada por la función de PC-1 y luego escribe en los dos 28-bit registra C y D. Estos registros son ahora desplazada cíclicamente contra cada una de las 16 vueltas alrededor de 1 o 2 bits a la izquierda. Dado que el número de operaciones de desplazamiento durante los 16 rounds, es 28 que contiene C y D al final de una operación de cifrado o descifrado de nuevo al valor original, por lo que en la ficha de bloques de datos adicionales no tienen que volver a cargar.
Para ganar una subclave para la operación XOR con el registro R ampliado en cada ronda es otra permutación se necesita PC-2.Se selecciona 48 bits de los 56 bits y cambiar su orden.
En el estándar de cifrado de datos, una operación de descifrado difiere sólo ligeramente de una operación criptográfica. Sólo se debe utilizar en orden inverso las subclaves de las 16 rondas, el resto del algoritmo se mantiene sin cambios.
DES es en hardware mucho más fácil y más rápido de implementar que en el software - de hecho, este fue uno de los criterios de diseño. El mayor inconveniente de una implementación de software son las permutaciones, sobre todo porque la entrada y Ausgangspermutationen IP e IP -1 contribuyen en nada a la Schlüsselpermutation PC-1 para la seguridad del algoritmo. En la realización en hardware, sin embargo, facilitan el diseño de un bloque en el caso de que los datos y la clave bytes son leídos por byte.
Como no había otra alternativa existe todavía en los años 80 a pesar de las crecientes dudas acerca de la seguridad del algoritmo, fuimos en aplicaciones con altas exigencias de seguridad para encriptar los datos acerca de tres veces (la llamadatriple DES ). En este método, primero con una clave de cifrado, descifrado con un segundo y, finalmente, de nuevo cifrada con la primera clave:
C = DES (K 1 , DES -1 (K 2 , DES (K 1 , M )))
Se necesita el triple de la aplicación del algoritmo de seguridad porque un doble cifrado aumentó sólo ligeramente.
Propiedades de DES
DES tiene algunas características especiales. Dado que es un cifrado de bloques transforma los bloques de texto plano en texto cifrado bloques de igual tamaño, no es de extrañar que es biyectiva. Por otro lado, inicialmente parece extraordinario que el algoritmo con respecto a la inversión de bit a bit es invariante, es decir, DES ( K, M ) = no DES (no K , no M ). Esto es debido al hecho de que con inversión simultánea del bloque de datos y la clave parte del valor de entrada para las cajas S sigue siendo el mismo. Esta propiedad se puede utilizar para reducir a la mitad el coste de un ataque, si el atacante un texto plano y dos textos cifrados con la propiedad C 1 = DES ( K, M ) y C 2 = DES ( K , no M ) son conocidos. El efecto avalancha de DES se logra en un alto grado. Después de cinco rondas de DES es completa.
Como se trataba de la DES es la primera co-desarrollado por el algoritmo de la Agencia de Seguridad Nacional que se ha publicado, que despertó un gran interés en el mundo del arte y ha sido estudiado en detalle. Por encima de todo, los misteriosos constantes de las ocho cajas S despertaron sospechas, como una puerta trasera se sospechó en ellos. Varios intentos para reemplazar las constantes con valores diferentes, mostraron, sin embargo, que los valores originales están muy bien escogidos; las propuestas alternativas dirigidas a todos los algoritmos más débiles. Particularmente interesante en este sentido que las constantes se eligen de modo que el sistema de cifrado puede resistir un ataque por la llamada criptoanálisis diferencial como sea posible, lo que significa que la NSA, este método se conoce en 1974 - los expertos internacionales "descubiertos" el análisis diferencial sólo en 1990! Contra el criptoanálisis lineal DES no está protegido contra.
Un problema potencial de seguridad son las claves débiles de DES. Estas son las claves externas que hacen que después de aplicar la permutación PC-1 registra C y D contienen bits de sólo establecidos o eliminados de manera que el 16 subclave interna necesariamente todos idénticos. Con estas teclas mensajes cifrados son mucho más fáciles de descifrar. Además de las cuatro claves débiles existir incluso 12 teclas semi-débiles, en el que la clave interna toman sólo dos valores diferentes.
Ciertamente, la deficiencia más grave del algoritmo, sin embargo, es el bajo poder del espacio clave de 2 56 . Se trata de unabúsqueda exhaustiva de la llave correcta, es decir, tratando todas las posibilidades permitidas, lo que hace que las otras propiedades positivas de la nada en cifra. Ya que era la NSA, que redujo los 128 bits clave de la propuesta original de IBM para 56 bits solamente, se puede especular que se desea este efecto.
En resumen, hay que señalar que las deficiencias de DES son ahora tan severa que el proceso no puede ser considerado seguro hoy. Además, el cambio a Triple-DES es sólo una solución temporal, debido a sus pérdidas de velocidad de uso deben ser tenidos en cuenta.
No hay comentarios:
Publicar un comentario