I just installed Linux (Ubuntu) for the first time and downloaded package OpenSSL as well. Opened command line too and tried some commands but none of them worked.
So what I have is initial vector: 5a04ec902686fb05a6b7a338b6e07760, also have ciphertext: 14c4e6965fc2ed2cd358754494aceffa and the corresponding plaintext: We're blown. Run
Now I imagine there must be a command where you enter the initial vector and the plaintext and as a result you should get the ciphertext...? Another possibility: Enter initial vector and ciphertext, get the plaintext.
But how can I do this in the command line? I've already tried the command:
openssl aes-256-cbc -e -nosalt -a -in input.txt -out output.txt -k key -iv ivkeyabout input.txt: I have created this file on my Desktop and wrote the plaintext in it. About output.txt, I created it as well and put it on Desktop, it's empty. After using this command, nothing happens!
Is there any other command that could help me? I have also tried to find some helpful tool on the internet but nothing seemed to work! : /
101 Answer
Prepare input text:
echo "We're blown. Run" >input.txtEncrypt:
openssl enc -aes-256-cbc -nosalt -e \ -in input.txt -out input.txt.enc \ -K '2222233333232323' -iv '5a04ec902686fb05a6b7a338b6e07760'Decrypt to stdout original text:
openssl enc -aes-256-cbc -nosalt -d \ -in input.txt.enc \ -K '2222233333232323' -iv '5a04ec902686fb05a6b7a338b6e07760'Note 1: for -K and -iv you must pass a string comprised only of hex digits. You can get this string from a binary file like this:
hexdump -e '16/1 "%02x"' FILE_WITH_KEYNote 2: Here I used AES-256 algo that get key of 256-bit length. But in -K there is only 8 bytes/16 hex/64 bits. In this case openssl pads private key with zeros, so in example above used the following key: '2222233333232323000000000000000000000000000000000000000000000000'. This is a significant weakening, please use more strong keys in real life.
The same story refer to -iv, but it's length depends on chosen algorithm's mode and block length, see related question.