🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: sci.crypt
Article #672

mcrypt key/matrix generation

#672
From: 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
Technical Details
Message-ID: <1992Aug13.153842.24060@mintaka.lcs.mit.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!walter!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!destroyer!gumby!yale!mintaka.lcs.mit.edu!hal.gnu.ai.mit.edu!knight

Show Full Headers
Complete Article Headers
Newsgroups: sci.crypt
Path: arc1-ca.pugleaf.net!sparky!uunet!walter!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!destroyer!gumby!yale!mintaka.lcs.mit.edu!hal.gnu.ai.mit.edu!knight
From: knight@hal.gnu.ai.mit.edu (Knight of Tossing and Turning)
Subject: mcrypt key/matrix generation
Message-ID: <1992Aug13.153842.24060@mintaka.lcs.mit.edu>
Summary: details of mcrypt 'key' generation 
Keywords: key mcrypt Mass Encryption 
Sender: news@mintaka.lcs.mit.edu
Organization: It doesn't look like much, but its improving. 
Date: Thu, 13 Aug 1992 15:38:42 GMT
Lines: 73