Prev: JSH: But it just amazes me
Next: Merry Christmas 9
From: LCC on 9 Nov 2009 00:10 This specification is hereby declared public domain, with no copyright or patent protection. Merry Christmas! Use the specification "Merry Christmas 2" to generate your random number seeds, or some other method which is both reproducible and tough to crack. This is another bitwise encryption technique, very time consuming. It also suffers from a bloat of about a factor of 32 from input to output data. If that turns you off, goodbye... The output data stream is produced by a random number generator which is decoupled from the RNG used to encode and decode the data. The less reproducible it is, the better. This technique encodes one bit of input per byte or more of output. Rather than selecting a bit of the output byte, the change in the selected bit from previous to current output byte is used to determine the encoded value. There are four possibilities : 00, 11, 01, 10. The first pair are used as the first of two possibilities for the bit code option, while the second two are an alternative. Whichever of each pair represents a zero or one is a second (parity) option. If the current byte pair has a transition of the selected bit which is not a match for the selected option(00-11,01-10), it is passed through to confuse potential decryption by third parties (ignored by the decryption code). If the current byte has a transition of the selected bit which is not a match for the input zero or one to be encrypted, it is discarded. The technique would be weak if not for random number tables, so here are a few suggestions. Construct a table of 64 bit random number seeds. Use one seed to produce a 64k integer table of byte frequencies used to determine the input byte interval at which the random number seed is changed. Whenever the random number seed is changed, produce a table (using values generated by the new random number seed) of bit selection and bit code option values. For instance the upper 8 bits (of 32) could be used to specify the bit code option, while the lower 24 could be used for 8 sets of three-bit values used to determine the bit (0-7) of the output byte stream which is to be examined for each of the 8 bits of an input byte. Alternatively, 8 values of 1-3 or 3-1 bits could be apportioned in the 32 bit value. Use your imagination... Preparing this document took one hour. I welcome comments on this thread regarding its usefulness. To date I have received no compensation in any form for any of my "Merry Christmas" cryptography posts. If you would like to change that, then please deposit something to PayPal account claylonnie(a)comcast.net Lonnie Courtney Clay / Laughing Crazy Coot / TARZAN Chic Logo Guy
|
Pages: 1 Prev: JSH: But it just amazes me Next: Merry Christmas 9 |