I just posted a message which i have copied below to a python forum. It might be better asked here. The coles notes version of my question is this:
I have received an encrypted data file (mydata.encrypted) and a key (plain text for now) and the following command to decrypt it:
openssl enc -d -aes-256-cbc -a -in mydata.encrypted -out mydata.decrypted -kfile my_symmetric_key
openssl enc -d -aes-256-cbc -a -in mydata.encrypted -out mydata.decrypted -kfile my_symmetric_key
Question is this. How is the initialization vector calculated? This command works fine. My issues is that i dont know how the initialization vetor is calculated. I suspect if its left out there is some default way of doing it. Can you tell me how its done? Thanks!
************************* ORIGINAL QUESTION to python community ******************
I have received an encrypted data file (mydata.encrypted) and a key (plain text for now) and the following command to decrypt it:
openssl enc -d -aes-256-cbc -a -in mydata.encrypted -out mydata.decrypted -kfile my_symmetric_key
The people who encrypted these data did so with openssl but I dont know what the encrypt command looks like. I do know that the above command does decrypt the data successfully though.
I want to use Python to decrypt this file. I am thinking of using cryptodome but am open to suggestions. Here's what i know from the above openssl decrypt command.
- its uses AES cbc 256 mode for the decryption ( -d )
- it uses base64 to encode the data "AFTER" (-a) the cryptographic operation
- it does not specify the initialization vector (IV).
I am struggling with how to code for this using python. What I suspect is my problem is that i dont know how to properly calculate the IV. Looking at the openssl documentation they say to see "key derivation" to find out how they handle IV when its not specified. I cant track down this key derivation information. Any help will be appreciated!
openssl enc -d -aes-256-cbc -a -in mydata.encrypted -out mydata.decrypted -kfile my_symmetric_key
The people who encrypted these data did so with openssl but I dont know what the encrypt command looks like. I do know that the above command does decrypt the data successfully though.
I want to use Python to decrypt this file. I am thinking of using cryptodome but am open to suggestions. Here's what i know from the above openssl decrypt command.
- its uses AES cbc 256 mode for the decryption ( -d )
- it uses base64 to encode the data "AFTER" (-a) the cryptographic operation
- it does not specify the initialization vector (IV).
I am struggling with how to code for this using python. What I suspect is my problem is that i dont know how to properly calculate the IV. Looking at the openssl documentation they say to see "key derivation" to find out how they handle IV when its not specified. I cant track down this key derivation information. Any help will be appreciated!
*******************************