3

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$.

Maarten Bodewes
  • 92,551
  • 13
  • 161
  • 313
user47904
  • 31
  • 1

1 Answers1

5

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$

Ella Rose
  • 19,603
  • 6
  • 53
  • 101