From: LCC on
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