11

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 ivkey

about 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! : /

eyesima
  • 213

1 Answers1

18

Prepare input text:

echo "We're blown. Run" >input.txt

Encrypt:

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_KEY

Note 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.

SergA
  • 348