symmetric key algorithms (Private-key cryptography) — Where the same key is used for encryption and decryption. In a symmetric key algorithm (for example, DES and AES), the sender and receiver must have a shared key set up in advance and kept secret from all other parties; the sender uses this key for encryption, and the receiver uses the same key for decryption. The Feistel cipher uses a combination of substitution and transposition techniques. Most block cipher algorithms are based on this structure