Nuevo sello de datos
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 19 de diciembre de 2018; las comprobaciones requieren
5 ediciones .
Nuevo sello de datos (NDS) |
Creador |
[IBM] |
Creado |
1975 |
Tamaño de clave |
2048 bits |
Tamaño de bloque |
128 bits |
Número de rondas |
dieciséis |
Tipo de |
Red Feistel |
New Data Seal (NDS) es un cifrado de bloque basado en el algoritmo Lucifer , que luego se convirtió en el estándar DES . El cifrado fue desarrollado por IBM en 1975. Para el cifrado, NDS divide los datos de entrada (sin cifrar) en bloques de 128 bits y utiliza una clave muy larga de 2048 bits. La estructura del cifrado es exactamente la misma que la de DES : una red Feistel con 16 rondas .
Cómo funciona
El cifrado NDS es bastante simple, en parte porque se usa la misma clave en su núcleo en cada ronda de la red Feistel.
- La clave es un mapeo: es decir, la dimensión del espacio de tales claves es más que suficiente para evitar la enumeración de claves.


- El sistema utiliza 2 cajas S preconocidas (no dinámicas) : el programa de claves consta de una clave . El bloque de texto sin formato se divide en 2 subbloques de 64 bits cada uno. Para contar


se divide en ocho partes de 8 bits. For denota el byte formado por el primer bit de cada byte en

- cada parte se divide en dos
nibbles de 4 bits
- a la izquierda el mordisco se aplica a la derecha -


- si el bit -ésimo es 1, los nibbles de la parte -ésima se intercambiarán después de la conversión




- se aplica una permutación conocida al resultado de 64 bits (después de combinar todas las partes) . Le permite proteger el cifrado del descifrado y el análisis como un sistema de subcifrados independientes más simples.
Algoritmo de hacking
El uso de la misma clave en cada ronda es un punto débil de este cifrado y se usa en un ataque de texto sin formato emparejado . Con su ayuda, puede restaurar completamente la clave de cifrado: denotemos la transformación correspondiente a una ronda NDS, es decir, Más adelante, denotaremos las 16 rondas. Tenga en cuenta que y conmuta: según el principio de Kerckhoff , sabemos todo sobre el algoritmo de cifrado, excepto la clave. Entonces, si conocemos todas las claves posibles, se considerará rota.









El procedimiento de ataque es el siguiente:
- Personaliza el mensaje para que


- El hacker recibe un mensaje encriptado correspondiente al texto sin formato


- Sea una de las posibles claves de 8 bits ( combinaciones totales). Y que haya un resultado después del trabajo de 1 ronda con la tecla .




- Si entonces y Por lo tanto, la mitad izquierda es consistente con la mitad derecha





- El cracker recibe un mensaje encriptado correspondiente a un texto preseleccionado . Si la mitad derecha coincide con la mitad izquierda , entonces puede considerarse un valor válido para . En el peor de los casos, será necesario ordenar las combinaciones para encontrar el valor deseado .








- Repetimos el procedimiento para cada uno , obteniendo el valor de la clave utilizando textos sin formato preseleccionados.



Ataques al cifrado
En 1977, Edna Grossman y Bryant Tuckerman demostraron por primera vez un ataque al NDS utilizando un ataque de cizalla [1] [2] . Este método utiliza como máximo 4096 textos sin formato coincidentes . En su mejor prueba, pudieron recuperar la clave con solo 556 textos sin formato coincidentes.
Notas
- ↑ EK Grossman, Thomas J. Watson División de investigación del Centro de investigación de IBM, B. Tuckerman. Análisis de un cifrado tipo Feistel debilitado por no tener clave giratoria . - IBM Thomas J. Watson Research Division, 1977. - 33 p.
- ↑ Henry Baker, Fred Piper. Sistemas de cifrado: la protección de las comunicaciones. - John Wiley & Sons , 1982. - S. 263-267. - ISBN 0-471-89192-4 .