The challenge is to implement a simple cryptosystem based on envelope encryption. Envelope encryption is a technique to perform double encryption on a given data using symmetric and asymmetric algorithms. The symmetric algorithm is used to encrypt and decrypt the data, and the asymmetric algorithm is used to encrypt and encrypt the symmetric key. In this project you will write a program (The CryptoJoker) to encrypt a message with a symmetric algorithm and a randomly generated private key encrypted with an asymmetric algorithm acting as an envelope.