To communicate using symmetric cryptography, both parties have to agree on a secret key. After that, each message is encrypted with that key, transmitted, and decrypted with the same key. Key distribution must be secret. If it is compromised, messages can be decrypted and users can be impersonated. However, if a separate key is used for each pair of users, the total number of keys increases rapidly as the number of users increases. With n users, we would need [n(n-1)]/2 keys. Secure key distribution is the biggest problem in using symmetric cryptography