Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I got an assignment to decrypt a binary file which is encrypted using aes. I have a 32 byte binary file which is a key for decryption. I know how to decrypt if the key is a passphrase by using

openssl enc -d -aes-256-cbc -in file.out

In this case, the key is a binary file. How do I use it?

share|improve this question

Add -pass file:nameofkeyfile to the OpenSSL command line. This causes OpenSSL to read the password/passphrase from the named file, but otherwise proceed normally.

For more details, see the man page for openssl(1) (man 1 openssl) and particularly its section "PASS PHRASE ARGUMENTS", and the man page for enc(1) (man 1 enc).

If the key file actually holds the encryption key (not something from which to derive the encryption key), then you want to use -K instead. For that, you need something like:

-K $(hexdump -v -e '/1 "%02X"' < nameofkeyfile)

in the OpenSSL command line instead of -pass. hexdump is used to transform the key file to the pure hexadecimal representation that OpenSSL wants.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.