[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Encryption (shuffling proposal)




>  DALE THORN ON CRYPTOGRAPHY: (edited for brevity)

>  It appears to me that PGP encryption et al is really 1940's technology, 
>  albeit fancied up by 1990's computers.  Why use keys and cyphers when 
>  all you should have to do is maximize the randomization of bits in a 
>  script?

>  Algorithm: Select bit-groups of random length from the file until the file is
>             completely processed.  Shuffle the bits in each group randomly and
>             save each group back to the file. Repeat if needed using different
>             key-strings for each successive encryption, for increased security.

>  "Due to the nature of compounded bit-shuffling, no algorithm ever developed
>  or proposed could 'crack' multi-pass encoding with a single decryption pass.


You are producing a permutation table.  Repeat passes just get you
a new table, no different in principle.


>  [Time calc for 12kb file....]


>  "One of the difficulties in breaking this type of encryption (other than the
>  numerical time factors) is the fact that you might have to deal with several
>  unknown random number generators from different compiled executable programs.
>  Add to this another factor, the 'Intelligent User' who adds their own tweaks
>  to the source code. The tweak is added, the program is compiled, the file(s)
>  are encrypted, and then the modified source code is destroyed along with the
>  executable file.

But the internet worm of 1988 was captured, decompiled and analysed in days.
Self-modifying viruses get analysed (by single stepping).  Your programs will
go the same way as soon as there is (financial ?) motivation.

So the users have to know the algorithms, including "tweaks" in order
to communicate ?  Not the most convenient key.


>  EXAMPLE    when_it_rains_it's_a_bath   (least significant bit at left):

>     11101110000101101010011001110110111110101001011000
>     10111011111010010011101000011010010110011101101100
>     11101111101010010110001011101110010011001110111110
>     10100001101111101001000110100001100010111000010110

becomes

>     01011100010110101100011110101000011101101111101011
>     00101101100011111010010101111001011001000100000101
>     00111101010101011011000011101111001111110101001011
>     11101000001101101110101011000100111111000010111001


>From this known plaintext-cyphertext pair the enemy can list
all the possible sources and destinations of each bit.

EG  first bit of plaintext (position 0, value 1) can move to 1,3,4,5,....,199
   second bit of plaintext (position 1, value 1) can move to 1,3,4,5,....,199

Given a number of pairs of the same length, produced with the
same key details each of these lists of possibilities shrinks
by around half.  Your 12kb file is well on the way to being
cracked after 4+10+3=17 pairs are discovered.

If the intention is never to reuse keys, then this scheme gets
you nothing you couldn't have with a normal stream cipher.
And they, don't reveal the number of 1-bits and 0-bits in the
message.  Different messages will be recognisable different.

A chosen plaintext attack (where these are possible) becomes a breeze.

>        b. Passwords/phrases, algorithms, code routines, and even whole programs
>           might change from step to step, thereby invalidating any 'single-pass'
>           decryption scheme that's likely to be proposed.

How are the above remarks invalidated ?

I don't want to stifle creativity.  If you keep thinking you may
come up with a good idea.  But this isn't it.

I encourage you to read about existing systems.  There have been
bright people before, and things are done (or not done) for a reason.





 -- Peter Allan    [email protected]