I have an assignment to create a secure communication between 2 people with a middle man. 
The messages have to be encrypted using public and private keys and a X.509 certificate should be created for each user, this certificate is stored by the third party.
I'm currently sending messages between users through a sockets.
Could someone suggest an easy to understand library that I could use to perform simple encryption? Any appropriate reading sources about the library will help as well.
I ended up using M2Crypto after trying PyOpenSSL
the problem with PyOpenSSL is that it doesnt have a method to return a public key. I was having a lot of problem with this. 
M2Crypto has its own encryption method as well, meaning you dont need to install multiple libraries :)
Python open source cryptographic toolkit