SSL provides these features:
Authentication for clients and servers, with practical emphasis on the server
Data confidentiality (encryption)
Verification that a transaction was sent by the client and that the identical transaction was received by the server
To provide efficient authentication and encryption, SSL combines private-key and public-key technologies.
Public-key (asymmetric) cryptography is based on the Public Key Infrastructure (PKI) method of encryption, in which two different keys are used for encrypting and decrypting operations: one is public, the other is private. This means that an operation encrypted by one key can only be decrypted by the other key. The result is that public keys can be seen by all, yet privacy is still possible.
The highly-used RSA algorithm works for both encryption and decryption operations. This method solves critical key exchange issue, but the algorithms it uses require large key sizes and often result in slow CPU-bound operations.
In private-key (symmetric) cryptography, the sender and receiver use the same key for both encryption and decryption operations on the same data. Key size is very important: the longer the key, the stronger it is. Currently, 1024, 2048 is the recommended length. The private-key (symmetric) method is 1000 times faster than the public-key (asymmetric) method.