#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
// encrypt private key with passfraze
openssl rsa -des3 -in private.pem -out public.pem
###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
##Generate a Signature
###Generate a Signature for the file.txt
//Generate the signature.txt for the file.txt
openssl dgst -sha256 -sign private.pem -out signature.txt file.txt
###Verify the signature for the recieved file.txt and the signature.txt
openssl dgst -sha256 -verify public.pem -signature signature.txt file.txt
# in case of success: prints "Verified OK"
# in case of failure: prints "Verification Failure"
Stackoverflow: Digital signature for a file using openssl
##Source Public – Private key encryption using OpenSSL
An Introduction to the OpenSSL command line tool - Digital signatures