I do this to encrypt a single file:
openssl aes-256-cbc -a -salt -in file.txt -out file.enc
and then type in some regular plaintext password.
I do not understand how -salt
enhances the security of this. The reason is that the salt is stored right there in the beginning of the file like this:
Salted__<eight salt bytes>
The salt being available to the cracker in such an obvious manner, what is the purpose of it? I don't see how it would make a dictionary attack harder ... especially given the fact that, as far as I know, openssl
only uses one iteration to generate the IV from the password/salt - correct me if I'm wrong.