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.
http://groups.google.com/group/lonnie-courtney-clay/browse_thread/thread/17f6d1c8b35bebe1?hl=en

This is another bitwise encryption technique, very time consuming. It
also suffers from a bloat of a factor of 8 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.

A cube has eight corners, just as a byte has 8 bits - how convenient!
With "p" as plus and "m" as minus, the corners are pxpypz, mxpypz,
mxmypz, pxmypz, pxpymz, mxpymz, mymymz, pxmymz. Consider the 6
possible single axis 90 degree rotations (plus null) :

corner original position to new corner position single 90 degree
rotation :
00 : pxpypz, mxpypz, mxmypz, pxmypz,
pxpymz, mxpymz, mxmymz, pxmymz.

+90x: pxmypz, mxmypz, mxmymz, pxmymz,
pxpypz, mxpypz, mxpymz, pxpymz.

-90x: pxpymz, mxpymz, mxpypz, pxpypz,
pxmymz, mxmymz, mxmypz, pxmypz.

+90y: pxpymz, pxpypz, pxmypz, pxmymz,
mxpymz, mxpypz, mxmypz, mxmymz.

-90y: mxpypz, mxpymz, mxmymz, mxmypz,
pxpypz, pxpymz, pxmymz, pxmypz.

+90z: pxmypz, pxpypz, mxpypz, mxmypz,
pxmymz, pxpymz, mxpymz, mxmymz.

-90z: mxpypz, mxmypz, pxmypz, pxpypz,
mxpymz, mxmymz, pxmymz, pxpymz.

I may have made an error or two in the table above - correct me if I
am wrong...

A 32 bit integer random number can be divided into 8 pairs of 4 bit
values. The first 7 pairs have a three bit value specifying either a
rotation to perform (0-6) or one's complement the current value of the
byte (7). The other value in the pair is a single bit specifying the
mapping of the byte to the 8 corners, LSB to MSB or MSB to LSB. The
8th value pair specifies the bit of the byte (after all rotations are
performed) to be processed for output (using 3 bits) and even/odd
parity for the bit's value. The input bit is checked against the
result after all operations are performed upon the processed random
byte. If the bit's parity corrected value matches the input, then the
unprocessed random number is passed to the output stream. Otherwise it
is ignored and another random number byte is generated for processing.

To generate the 32 bit integer random numbers, use an initialization
value pulled from a table of random number seeds. Another table would
specify how often to change random number seeds. Yet another table
could specify the index to the random number seed table which is to be
used for each change of seed, rather than simply scrolling through the
table. Use your imagination...

Preparing this document took two hours. 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: Merry Christmas 9
Next: Use of simple schemes