home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / sci / crypt / 2889 < prev    next >
Encoding:
Text File  |  1992-08-13  |  3.1 KB  |  86 lines

  1. Newsgroups: sci.crypt
  2. Path: 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
  3. From: knight@hal.gnu.ai.mit.edu (Knight of Tossing and Turning)
  4. Subject: mcrypt key/matrix generation
  5. Message-ID: <1992Aug13.153842.24060@mintaka.lcs.mit.edu>
  6. Summary: details of mcrypt 'key' generation 
  7. Keywords: key mcrypt Mass Encryption 
  8. Sender: news@mintaka.lcs.mit.edu
  9. Organization: It doesn't look like much, but its improving. 
  10. Date: Thu, 13 Aug 1992 15:38:42 GMT
  11. Lines: 73
  12.  
  13.  
  14. This is the post to the creation method of the "Encryption Grid" of
  15. "Mass Encryption" aka mcrypt.  Thank you the 20 or so people who sent
  16. me very constructive mail yesterday.  I'm attempting to break this
  17. down into scientific method so that I don't have to retrace steps
  18. along the way.
  19.  
  20. I created this hypothosis to use as a guideline.  I realize that
  21. DES often produces "alternative" strings that will decrypt identically.
  22. Such that "DOG" could be the same as "% x!(( l".  This statement is
  23. pretty blunt and if you can spot the gaping hole in my logic please
  24. let me know.
  25.  
  26. HYPOTHOSIS:
  27.  
  28.     For password string "X", and distribution of "X" in a 32 * 32
  29.     matrix is represented by the function GENKEY, and that X
  30.     is an ASCII combination from 1-1024 digits, and that SET of X
  31.     consists of all possible ASCII combinations from 1-1024,  
  32.  
  33.     The least most vulnerable method of distribution would be:
  34.  
  35.           GENKEY(X) != GENKEY(SET of X excluding X)
  36.  
  37.     So that all generated keys of X are not identical to any other
  38.     cases of the SET of X.
  39.  
  40. The most blunt but valid example of this would be
  41.  
  42. (4x4 matrix, password "china")
  43.  
  44.    1  2  3  4
  45. 1  C  H  I  N
  46. 2  A  *
  47. 3
  48. 4
  49.  
  50.   Where * is a NON-ASCII value, computed by third letter of the
  51. password + 128 ($80).
  52.  
  53.   This preserves length, and qualifies that each result of
  54. GENKEY(SET of X) is an original value.
  55.  
  56.   The rest of the grid can be generated from happenstance values
  57. from manipulation of characters from the password characters that
  58. make up X.  A few formulas would be:
  59.  
  60.    matrix[x,y]=( ( 1 / ordinal ( X[current])) * 1000) % 256
  61.    matrix[x,y]=(pi * 10^ordinal(x) ) % 256
  62.    matrix[x,y]=(X[current-1]^(e*(1/current-2)*(X[current%length(X)])) % 256
  63.  
  64.    So that the remaining grid is filled with these values.  As long
  65. as the rows and columns are not altered, and that the original
  66. password line followed by the non-ascii character are not altered,
  67. the matrix will remain unique to this varient of GENKEY(X) for
  68. all cases of X.
  69.  
  70.    Next, after the completion of the grid, the grid is examined
  71. for 0 and 255 values ($00 & $FF)  I'm considering eliminating this
  72. step as it creates an unnecessary burdon to the system, and cuts
  73. the permutation set much father then it has to be.
  74.  
  75.    Finally, this grid is fed into the bit substitution scheme and then
  76. ultimately discarded completely, as re-feeding the password will
  77. be able to generate the unique key in order to create the proper
  78. file.
  79.  
  80.    Total permutations for the GENKEY() function = 95 ^ (1024!).
  81. I'm fairly sure my 386 is incapable of finding out what this number
  82. is in any reasonable length of time.     
  83.  
  84. --- Eric Knight
  85.  
  86.