Symmetric cipher

A symmetric cipher is a cipher in which the sender and receiver of a message must have the same cryptographic key. This contrasts with an asymmetric cipher or public key technique in which two keys are used.

There are two main types of symmetric cipher, stream ciphers and block ciphers.

In general, symmetric ciphers are much faster than asymmetric ones, but key management for symmetric ciphers can be difficult. For $$n$$ people to communicate, $$n(n-1)/2$$ keys are needed and all of them must be securely communicated before they can be used. This problem is often managed by using a hybrid cryptosystem in which public key techniques handle key management and symmetric ciphers do the encryption of actual messages.