Symmetric cryptography uses a single private key to both encrypt and decrypt data. Any party that has the key can use it to encrypt and decrypt data. They are also referred to as block ciphers. Symmetric cryptography algorithms are typically fast and are suitable for processing large streams of data. The disadvantage of symmetric cryptography is that it presumes two parties have agreed on a key and been able to exchange that key in a secure manner prior to communication. This is a significant challenge. Symmetric algorithms are usually mixed with public key algorithms to obtain a blend of security and speed.
- It is relatively inexpensive to produce a strong key for these ciphers.
- The keys tend to be much smaller for the level of protection they afford.
- The algorithms are relatively inexpensive to process.
Therefore, implementing symmetric cryptography can be highly effective because you do not experience any significant time delay as a result of the encryption and decryption. Symmetric cryptography also provides a degree of authentication because data encrypted with one symmetric key cipher cannot be decrypted with any other symmetric key cipher. Therefore, as long as the symmetric key cipher is kept secret by the two parties using it to encrypt communications, each party can be sure that is communicating with the other as long as the decrypted messages continue to make sense.
Typically, with a symmetric key cipher, you can exchange the key with another trusted participant; usually you produce a unique key for each pair of participants. You can be assured that any messages that you exchange, which are encrypted in a specific key, between the participants can only be deciphered by the other participant that has that key. In this way, the key must be kept secret to each participant. Consequently, these keys are also referred to as secret-key ciphers.
Therefore, symmetric cryptography is effective only if the symmetric key cipher is kept secret by the two parties involved. If anyone else finds the key, it affects both confidentiality and authentication. A person with an unauthorized symmetric key cipher not only can decrypt messages sent with that key, but can encrypt new messages and send them as if they came from one of the two parties who were originally using the key.
The major drawback to secret-key ciphers is in exchanging the secret key because any exchange must retain the privacy of the key. This usually implies that any key is also encrypted, but in a different key, because the recipient must already have the key that will be needed to decrypt the key-exchange message. This can lead to a never-ending dependency on another key.