Using GPG for encrypted communication is the safest way. Keep your private key safe and exchange it with your friends in person. RSA 4096, you deserve it. It is said that developers are writing ECDSA algorithms, which is becoming more and more secure.
You can send GPG-encrypted emails and send confidential files at will. No man-in-the-middle, including ISP, NSA, CIA, FBI, or temporary CDN, has any possibility of spying.
Even if you install a Security Master, a security manager, a software, and other cloud upload products on your machine, the private key is stolen, and the last line of defense of the password is provided. (Well, for security, please stay away from a soft windoze, ourOS of a certain fruit)
Even if your private key is stolen or lost, you can use the generated revoke key to revoke your old public key and concurrently deploy a new public key.
If you want to have fun and advanced features, you can build a GPG server. If you trust A and B, you can build A trust chain like this. You can communicate with people who do not exchange public keys in person, as long as there is a trust chain between you. It is more reliable that this server is not afraid of being hacked, because the server only provides the key and the Trusted Root Node is under your control.
Currently, the Internet generally has no privacy. All you can trust is mathematics, cryptography algorithms (well, I admit that the NSA standard Elliptic-based random number generation algorithm is a special case), and the root of trust, and private key. Root CA does not have full trust. DigiNotar can be hacked, COMODO can be hacked, and SSL certificates applicable to any domain name can be issued. Does the current Certificate Authority still have Authority ?! Sorrow.