Lo que dice Adnan acerca de indistinguishabilidad del texto cifrado es correcto, esto puede ser una problema difícil , la única pista que tienes es" Salted__
" cadena que es como OpenSSL distingue salted y los datos cifrados sin sal.
Suponiendo que el archivo fue cifrado con una contraseña (o clave / IV par) que tiene, tendrá que probar todos los métodos:
ciphers=$(openssl enc -h 2>&1 | nawk '/^Cipher/ {n++; next}; (n) {print}')
password=xyzzy
for cc in $ciphers; do
openssl enc -d $cc -pass pass:$password \
-in myfile.txt.enc -out outfile$cc.txt 2> /dev/null
rc=$?
# check for non-zero exit, or output file size not > zero bytes
if [ $rc -ne 0 -o ! -s outfile$cc.txt ]; then
echo "Failed with $cc"
else
echo "Possible success with $cc"
fi
done
(Hay algunos cifrados duplicados debido a los alias de nombres, por ejemplo, aes-128
= aes-128-cbc
.)
Ahora verá next problem , con muchos algoritmos que puede descifrar texto cifrado con una contraseña incorrecta y no lo sé si el algoritmo y / o la contraseña fueran correctos .
Hay varios métodos para determinar si una contraseña era correcta y si un descifrado fue exitoso (p. ej., mediante suma de comprobación, integridad (p. ej. with HMAC ), relleno (por ejemplo, con PKCS # 5 ) u otra estructura esperada , o estado "sobrante" conocido), aunque a veces no poder saberlo es de hecho una característica de .