Article View: sci.crypt
Article #672mcrypt key/matrix generation
From: Knight of Tossing and Turning
Date: Thu, 13 Aug 1992 15:38
Date: Thu, 13 Aug 1992 15:38
72 lines
3307 bytes
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!knightShow 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