The process of encryption and decryption of information by using a single key is known as secret key cryptography or symmetric key cryptography. In cryptographic systems based on symmetric key, the keys used to encrypt the plaintext and to decrypt the ciphertext may be identical (usual situation) or there may be a simple transformation to go between the two keys. The main problem with symmetric key algorithms is that the sender and the receiver have to agree on a common key. A secure channel is also required between the sender and the receiver to exchange the secret key.