Cryptography was a fiction or a luxury a decade ago and used very less in our daily life. Cryptography history is a log history but modern Cryptography history is very short. Today we are using a lot of services with encryption like google, Facebook, twitter, banking, business applications etc. Cryptography can be divided into two algorithm categories named Symmetric and Asymmetric. I will not dive into algorithm details but explain some of them basic principles.

## Symmetric

One key is used for both locking (encryption) and unlocking (decryption) which makes the algorithms fast for bulk data. But there are several problems related symmetric algorithms.

• Secure key distribution is the main problem. As we said above there is one key for both functions. So the key must be in two sides but what if one site created the key and the key must be transferred to the other side. The key must be transferred securely. There are some solutions to this problem but they create more workload for the system.
• Two party scenario is very simple and secure to implement but today’s work flows requires a lot of participants where they are regular or temporary. Say we have 10 regular and 15 temp participants to the secure communication system. For one regular participants it needs to manage 9 regular and 15 temp keys. And temp keys change irregularly. This is very big problem for complex systems.