2
$\begingroup$

I read in the answer here that when encrypting twice the plain text with same key could result in plain text as shown below

$encrypt_{key}((encrypt_{key}(plain)) = plain $

Which block-cipher algorithms are they? What is this property called in general? Is it considered weak?

Edit 1 : the question is about block ciphers, not block cipher modes of operation Edit 2 : added more clarity to the question through an equation

$\endgroup$
  • $\begingroup$ You're thinking of stream ciphers, not block ciphers. A stream cipher (like RC4, for example) is basically a pseudorandom number generator that produces a unique sequence of numbers for each key. These numbers are XORed with the raw data to produce an encrypted stream that can be decoded by generating the same sequence of numbers based on the same key. Repeating the XOR operations restores the original data. $\endgroup$ – r3mainer Oct 30 '14 at 0:30
  • $\begingroup$ @owlstead OK, I'll post as an answer instead :-) $\endgroup$ – r3mainer Oct 30 '14 at 0:39
  • $\begingroup$ @squeamishossifrage the above question is about block ciphers , i thought it was explicit from the question i was pointing it , anyway edited it now to make it more clear $\endgroup$ – sashank Oct 30 '14 at 0:43
  • $\begingroup$ Does involutional (SPN) cipher fit your bill? $\endgroup$ – Maarten Bodewes Oct 30 '14 at 1:18
3
$\begingroup$

These block ciphers are called involutional ciphers, after the (mathematical) involution property of a function. This article shows a cryptographic analysis of two of them: Khazad and Anubis.

Neither Khazad nor Anubis seem to be broken at the time of writing, basically they use the same internal structure for normal block ciphers, replacing the inner components with involutional ones.

| improve this answer | |
$\endgroup$
0
$\begingroup$

You're thinking of stream ciphers, not block ciphers. A stream cipher (like RC4, for example) is basically a pseudorandom number generator that produces a unique sequence of numbers for each key. These numbers are XORed with the raw data to produce an encrypted stream that can be decoded by generating the same sequence of numbers based on the same key. Repeating the XOR operations restores the original data.

| improve this answer | |
$\endgroup$
  • $\begingroup$ the question is about block-cipher $\endgroup$ – sashank Oct 30 '14 at 0:46
  • $\begingroup$ @owlstead — Just for the record, some block ciphers have an output feedback mode that operates in much the same way as a stream cipher $\endgroup$ – r3mainer Oct 30 '14 at 0:52
  • $\begingroup$ @squeamishossifrage OK, I was still wrong footed. This is not going to answer the question, $E_k$ itself must be a block cipher that is involutional. $\endgroup$ – Maarten Bodewes Oct 30 '14 at 1:23

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.