🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Knight of Tossing and Turning Thu, 13 Aug 1992 15:38
mcrypt key/matrix generation
#672
Author: Knight of Tossing and Turning
Date: Thu, 13 Aug 1992 15:38
72 lines
3307 bytes
This is the post to the creation method of the "Encryption Grid" of
"Mass Encryption" aka mcrypt.  Thank you the 20 or so people who sent
me very constructive mail yesterday.  I'm attempting to break this
down into scientific method so that I don't have to retrace steps
along the way.

I created this hypothosis to use as a guideline.  I realize that
DES often produces "alternative" strings that will decrypt identically.
Such that "DOG" could be the same as "% x!(( l".  This statement is
pretty blunt and if you can spot the gaping hole in my logic please
let me know.

HYPOTHOSIS:

    For password string "X", and distribution of "X" in a 32 * 32
    matrix is represented by the function GENKEY, and that X
    is an ASCII combination from 1-1024 digits, and that SET of X
    consists of all possible ASCII combinations from 1-1024,  

    The least most vulnerable method of distribution would be:

          GENKEY(X) != GENKEY(SET of X excluding X)

    So that all generated keys of X are not identical to any other
    cases of the SET of X.

The most blunt but valid example of this would be

(4x4 matrix, password "china")

   1  2  3  4
1  C  H  I  N
2  A  *
3
4

  Where * is a NON-ASCII value, computed by third letter of the
password + 128 ($80).

  This preserves length, and qualifies that each result of
GENKEY(SET of X) is an original value.

  The rest of the grid can be generated from happenstance values
from manipulation of characters from the password characters that
make up X.  A few formulas would be:

   matrix[x,y]=( ( 1 / ordinal ( X[current])) * 1000) % 256
   matrix[x,y]=(pi * 10^ordinal(x) ) % 256
   matrix[x,y]=(X[current-1]^(e*(1/current-2)*(X[current%length(X)])) % 256

   So that the remaining grid is filled with these values.  As long
as the rows and columns are not altered, and that the original
password line followed by the non-ascii character are not altered,
the matrix will remain unique to this varient of GENKEY(X) for
all cases of X.

   Next, after the completion of the grid, the grid is examined
for 0 and 255 values ($00 & $FF)  I'm considering eliminating this
step as it creates an unnecessary burdon to the system, and cuts
the permutation set much father then it has to be.

   Finally, this grid is fed into the bit substitution scheme and then
ultimately discarded completely, as re-feeding the password will
be able to generate the unique key in order to create the proper
file.

   Total permutations for the GENKEY() function = 95 ^ (1024!).
I'm fairly sure my 386 is incapable of finding out what this number
is in any reasonable length of time.     

--- Eric Knight
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads