Skip to content

Instantly share code, notes, and snippets.

@gubi
Forked from carlj/rsa-encryption.md
Last active December 28, 2015 16:58
Show Gist options
  • Save gubi/7532110 to your computer and use it in GitHub Desktop.
Save gubi/7532110 to your computer and use it in GitHub Desktop.

#RSA File De- and Encryption Docu for encrypt and decrypt a large file with AES and RSA

##Keypairs

###Generate RSA Keypairs

//generates a private Key with 8196 Bit
openssl genrsa -out private.pem 8196

//strips out the public key from the private key
openssl rsa -in private.pem -out public.pem -outform PEM -pubout

###Generate AES Key

//generate a Radnom 32 Byte (256 Bit) AES Key
openssl rand -base64 32 -out aesKey.txt

##Encryption

###Encrypt File with AES Key

//encryp the file.txt with the generated AES Key to the file.enc
openssl enc -aes-256-cbc -salt -in file.txt -out file.enc -pass file:./aesKey.txt

###Encrypt AES Key with RSA Public Key

//encrpyt the AES Key with the RSA Public Key
openssl rsautl -encrypt -inkey public.pem -pubin -in aesKey.txt -out aesKey.txt.crypted

##Decryption

###Decrypt AES Key with RSA Private Key

//decrypt the AES Key with the Private RSA Key
openssl rsautl -decrypt -inkey private.pem -in aesKey.txt.crypted -out aesKey.txt.decrypted

###Decryp File with AES Key

//decrypt the encrypted file with the encrypted AES Key
openssl enc -d -aes-256-cbc -in file.enc -out file.txt.decrypted -pass file:./aesKey.txt.decrypted

##Source Public – Private key encryption using OpenSSL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment