![Problema al descifrar archivos con OpenSSL: "la cadena hexadecimal es demasiado corta, se rellena con cero bytes hasta la longitud"](https://rvso.com/image/1703328/Problema%20al%20descifrar%20archivos%20con%20OpenSSL%3A%20%22la%20cadena%20hexadecimal%20es%20demasiado%20corta%2C%20se%20rellena%20con%20cero%20bytes%20hasta%20la%20longitud%22.png)
Tengo un problema al intentar descifrar un archivo usando Open SSL. Tengo un archivo con el nombre fc382Crypto.bin
proporcionado por mi instructor y necesito descifrarlo usando el algoritmo Blowfish con modo CBC.
Este es el comando que estoy usando para descifrar el archivo:
openssl enc -aes-128-cbc -d -in fc382Crypto.bin -out decrypted_output.txt -K 112233445566778899 -iv 0000000000000000
Sin embargo, sigo recibiendo el siguiente error:
hex string is too short, padding with zero bytes to length
hex string is too short, padding with zero bytes to length
bad decrypt
Intenté ajustar el comando agregando la -nopad
opción, pero el problema persiste. También verifiqué la integridad del fc382Crypto.bin
archivo para asegurarme de que no esté dañado.
La configuración de cifrado proporcionada por mi instructor es la siguiente:
Algorithm: Blowfish
Mode: CBC
Key: 112233445566778899
IV: 0
No estoy seguro de por qué aparece este error ni de cómo resolverlo. ¿Alguien puede proporcionar orientación sobre cómo descifrar este archivo correctamente usando OpenSSL?
Respuesta1
No estoy seguro de por qué aparece este error ni de cómo resolverlo.
Estás utilizando un algoritmo de cifrado de 128 bits. Por lo tanto, su clave de cifrado y su vector de inicialización (IV) deben tener una longitud de 128 bits.
Llave:0x00000000000000112233445566778899
IV: 0x000000000000000000000000000000000
Un método de cifrado de AES-128 indica que los segmentos de medios están completamente cifrados utilizando el estándar de cifrado avanzado (AES) [AES_128] con una clave de 128 bits, encadenamiento de bloques de cifrado (CBC) y estándares de criptografía de clave pública n.º 7 (PKCS7). relleno [RFC5652]. CBC se reinicia en cada límite de segmento, utilizando el valor del atributo Vector de inicialización (IV) o el Número de secuencia de medios como IV; consulte la Sección 5.2.
IV
El valor es una secuencia hexadecimal que especifica un vector de inicialización entero sin signo de 128 bits que se utilizará con la clave. El uso del atributo IV REQUIERE un número de versión de compatibilidad de 2 o superior. Consulte la Sección 5.2 para saber cuándo se utiliza el atributo IV.
Fuente:https://www.rfc-editor.org/rfc/rfc8216#section-4.3.2.4