Is there a name for the particular type of encryption algorithm or function which is the same algorithm or function used for decryption?

This is a vocabulary question, because I'm largely unfamiliar with the terminology of encryption. Expressed mathematically, if $f(x)$ is an encryption algorithm that encrypts $x$, and $f(f(x))=x$, is there a name for this particular type of encryption? An example would be a cipher that converts $A$ to $Z$, $B$ to $Y$, $C$ to $X$, ..., $X$ to $C$, $Y$ to $B$, $Z$ to $A$.


poncho and SEJPM more or less answered your question in the comments: If $f(f(m)) = m$, then the function can be revered to as a "self-inverse", or more formally, the function is said to be an "involution".

Be careful with a cipher that is an involution: There is a notable difference between a cipher that is a full involution and one that is not: Namely, if the cipher is an involution, then access to an encryption oracle is equivalent to access to a decryption oracle.

A stream cipher with exclusive-or as the key stream combining function is a notable example of an involution:

$c := E(m) = keystream \oplus m\\m := D(c) = E(c) = keystream \oplus c = keystream \oplus keystream \oplus m$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.