The main problem with a bit-permutation cipher is that it needs a very large key; if you want all n! permutations of an n-bit message to be possible, then the key has to be log(n!) bits long, which is longer than the plaintext. And even with such a large key you have the problem that known plaintext/ciphertext pairs leak a lot of information; after seeing one such pair there are only n/2 bit positions that might have been mapped to (say) position 1, after k known pairs there are only n/2^k possibilities for each position. Yet another problem (although it does not matter for many applications) is that you have to have the entire plaintext in hand before you can start encrypting, and must have the entire ciphertext in hand before you can start decrypting. On Wed, Oct 9, 2019 at 7:53 PM Bernie Cosell <bernie@fantasyfarm.com> wrote:
On 9 Oct 2019 at 20:05, Brad Klee wrote:
Easy to brute force if you get the gist of the permutation scheme but looks difficult to reverse engineer otherwise.
I remember reading in a issue of Cryptologia, prolly 40 years ago, about an unbreakable permutation cipher. It's point was you permute the *bits* and then regroup them into characters for transmission. They said that you can count the # of 1s and 0s and simply add a block of 1s or 0s at the end so the cleartext is exacts 50/50 1s and 0s. Then permute that.
As I remember the argument, since *every* clear text has the same bit-level distribution, in theory any cipher text could, depending on the permutation, become *any* clear text and so it was pretty much unbreakable. [I think the idea was even if you manages to "unscramble" the bits into a clear text, there was no way to tell if it was the *right* clear text.
I never saw any mention of it again so I guess it isn't of general interest [or didn't work, although I'm not sure why not].
/Bernie\
Bernie Cosell bernie@fantasyfarm.com -- Too many people; too few sheep --
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com https://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun