I've been wondering about recursed encryption. The idea I'm trying to convey here is an encryption scheme where a message is encypted, then somehow encrypted again, and again, etc.

The encryption method may allow other means of security, like take a message, encypt it, shuffle it, zip it, and repeat this process.

I'm guessing that this has been explored somewhere before, but I'm not sure where or how to start researching something like this.

I guess I'm wondering if this particular topic has a name to it. I'd also like to know:

Where can we find more information about this topic?

I hope this isn't too vague a notion. I'm just trying to learn more about this and relate it to some ideas I have.

  • Do you have any references or a use case? How will zipping a cipher text help anything? A good cipher text should be indistinguishable from random and therefore should not compress well. – mikeazo Mar 29 '12 at 18:17
  • @mikeazo: Unfortunately, I don't have an example. It's just an idea I've been pondering, and I figured that it was probably already explored somewhere. As for the zipping, I was thinking more in terms of creating something that takes a long time to decrypt each instance, so that hopefully it will make attempts to decipher tougher for an eavesdropper. I also thought that zipping would add a great complication for the eavesdropper. – Matt Groff Mar 29 '12 at 18:29
  • The main issue here is, what are you trying to achieve with such a scheme? There are situations where data is encrypted multiple times, but that's typically an artifact of other requirements, and not a purpose by itself. – CodesInChaos Mar 31 '12 at 22:27
  • 2
    I think you need to articulate what problem you are trying to solve. If it is 'slow down brute forcing' then solutions exist that have been extensively tested. – Rory Alsop Apr 1 '12 at 10:12
  • I had this thought last night and created this gist from it. – nicerobot Jan 28 '13 at 18:29

To me the idea doesn't sound like a good one. The security added by repeating the process (encrypt, shuffle, zip) over and over is marginal at best. You'd be better off increasing your key size (say from 128-bit to 256-bit).

Where can you learn more about such a construction? I've seen similar ideas proposed by companies trying to make "unbreakable" crypto, etc. Google "schneier doghouse" (without quotes) and you are bound to find a number of them in Bruce's doghouse.


There have been a lot of good & in-use encryption algorithm in industry for long somewhat doing the same from what I understand you are suggesting...

There have been good algorithms with multi-phase of encrypting the data, randomizing the key with some vector, bringing in some more mathematical fun with salts or previous keys

Consider DES for example, it was designed to have 16 identical stages with lots mathematical action performed over data-blocks and keys each round.

When DES became weak with newer machine power, DES3 got introduced doing the same DES act three times to each data block. Then even it became weak.


Maybe Onion routing can give you a point of view where this idea of encrypting repeatedly ("recursively") is used successfully. However, in this scheme, different keys are used each time.

  • And most importantly, different persons/computers know those keys. – CodesInChaos Mar 31 '12 at 22:40

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.