He estado leyendo sobre el hash de LANMAN (LM) y tengo curiosidad acerca de una parte particular del algoritmo.
El hash LM se calcula de la siguiente manera:
- La contraseña ASCII del usuario se convierte en mayúsculas.
- Esta contraseña está rellena con nulos a 14 bytes.
- La contraseña de 14 bytes se divide en dos mitades de 7 bytes.
- Estos valores se utilizan para crear dos claves DES, una de cada mitad de 7 bytes.
- Cada una de las dos claves se usa para cifrar en DES la cadena ASCII constante "KGS! @ # $%", lo que da como resultado dos valores de texto cifrado de 8 bytes.
- Estos dos valores de texto cifrado se concatenan para formar un valor de 16 bytes, que es el hash LM.
Hay muchas debilidades de seguridad que se describen en el artículo de Wikipedia vinculado y que se mencionan en otra parte, pero estoy particularmente interesado en los pasos del 3 al 6. Tengo curiosidad por lo que llevó a este diseño. ¿Existe alguna ventaja real de seguridad al dividir una contraseña, cifrar las dos mitades por separado y luego combinar las dos mitades para formar un hash nuevamente? ¿O es solo un ejemplo de "seguridad en la oscuridad"?