Hybrid encryption key
At this point, you should be able to code and implement both the RSA asymmetric and the AES symmetric encryption, and integrate both of them over our TCP shell. So, now, we will implement a hybrid way to take advantage of both the algorithms. So let's quickly recap. The client will hold its own private key, and the server or the Kali machine will hold the target's public key. Once the TCP connection is started, the Kali machine will generate a random AES key and we will securely send this key to the target side. The reason that I say securely is because the transfer will happen via encryption or via encrypting the random AES key with a target's public key. Once the target gets that message, it will decrypt it using the target private key and extract the AES key back to clear text. At this point, both the Kali and the target machines have the same random generated AES keys which can, and will, be used for AES encryption. Now, the AES encryption at this point will be...