In the book, Applied Cryptography by Bruce Scheier, in the foundations chapter he defines symmetric encryption algorithms as

algorithms where the encryption key can be calculated from the decryption key and vice versa.

Then he goes on to say (caps added by me):

In most symmetric algorithms, the encryption key and decryption key are the same.

As per the definition it is clear that the encryption and decryption keys need not to be the same in a symmetric encryption algorithm.

Can someone please give me an example of such algorithm where the keys are not the same? Does any extra security added if one key is derived from the other or in other words why do we choose to have same key for encryption- decryption (other than the simplicity of use).

  • Using different key representations improves performance for some algorithms. For example a permutation lookup table needs a different representation to efficiently evaluate the inverse. Commented Nov 1, 2013 at 11:03

1 Answer 1


That encryption and decryption keys are not identical occurs in almost all symmetric encryption algorithm, from a certain point of view. For instance, if you consider DES, from the 56-bit key are computed 16 48-bit subkeys (through the key schedule). These 48-bit subkeys are what is used for encryption. So, it could be said that the actual DES key for encryption is a sequence of 384 bits (16×48). Then, if you consider decryption, the algorithm is identical except that the order of subkeys is reversed. In that sense, DES uses distinct keys for encryption and decryption.

This is not a very relevant concept. It has no implication on security. Symmetric encryption is called symmetric because the power to encrypt is equivalent to the power to decrypt: if you can encrypt then you know enough to decrypt the data as well. Even if the sequence of bits used at some point in the algorithm for encryption and the one for decryption are distinct, either can be recomputed efficiently from the other, so they represent the same knowledge.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .