Hope this question is within the scope of stackoverflow, it contains some questions that are closer to a discussion but others that can be answered.
For my final year project I would like to try and set an end-to-end secure email web application (regardless of language DB or server).
I was going through encryptions and such and got stuck at public-key encryption. Quoting from HowStuffWorks
The sending computer encrypts the document with a symmetric key, then encrypts the symmetric key with the public key of the receiving computer. The receiving computer uses its private key to decode the symmetric key. It then uses the symmetric key to decode the document.
So the text gets encrypted using a symmetric key and the symmetric key is encrypted using the public key of the receiving comp? but then the receiving comp uses its private key to decode the symmetric key? Q1: why not use its own public key?
Furthermore although i didnt fully understand public-key encryption and services that use it like PGP i read on about digital certificates but again i dont understand how reliable that is, Q2: wouldnt it be better to continue using the authentication that the user used/passed in order to log in to his account? [Discard this Question it was a fault of my understanding]
Q3: In addition to all the above I was wondering if there are any good steps that can be used in order to prove the security of the system.
This is my first contact with encryption methods and such so please be a little patient with my ignorance.
Thank you.
P.S * Is there any better way known rather than public-key encryption? been wondering how good that is with the recent events and publications about NSA computer processing power.