home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / MUTATION.ZIP / MUTATION.DOC < prev    next >
Text File  |  1991-07-28  |  20KB  |  392 lines

  1. -------------------------------------------------------------------------------
  2.  
  3.              MUTATi0N: Cryptography for Hackers/Phreakers & Others
  4.              =====================================================
  5.  
  6.                        Version 1.00, Released 7/27/91
  7.  
  8.                            Written By Professor Falken
  9.                                Copyright (c) 1991
  10.  
  11. -------------------------------------------------------------------------------
  12.  
  13.  
  14. INTRODUCTION:
  15. ------------
  16.    Mutation was written with the Hacker, Phreaker, Pirateer and Almost-Average
  17. Joe in mind.  Its purpose is to extend highly secure cryptographic systems
  18. to the end user of the program.  This program uses a modified National
  19. Bureau of Standards DES (Data Encryption Standard) algorithm to achieve
  20. this purpose.  Along with the normal Electronic Code Book cipher there is
  21. also the option of creating a Block-Chained cipher.
  22.  
  23.    I decided to write THIS program because I felt there was an inadequate
  24. supply of encryption utilities out there. Let me explain, the encryption
  25. utilities that were in the public domain (Shareware & Copyrighted)
  26. either employed insecure encryption algorithms or the key (password)
  27. length was much too short to make cracking it hard.  Take Central Point
  28. Software's "PC-Secure" for example.  PC-Secure employs NBS's DES algorithm
  29. but the key length is limited to 32 characters.  While the DES standard
  30. is safe, a key length of 32 is not all that secure.  Not to mention that
  31. I'm sure Central Point Software put some type of backdoor in the program
  32. just in case SOMEONE made a ciphertext that NEEDED to be deciphered via
  33. abnormal means.  Another SHAREWARE utility is "The Private Line" the only
  34. thing private about the ciphers this program makes is they won't be able
  35. to be read your cat.  The Private Line employs DES, however, their key
  36. length is a miserable 16 characters long.  I think my 486-33 could bust
  37. these ciphers in a matter of weeks.  Unlike these previous programs, and
  38. the hordes of other programs which follow in their footsteps, I am proud
  39. to release a highly secure, command-lined, low memory overhead, and
  40. portable cryptographic tool.
  41.  
  42.  
  43. BRIEFING:
  44. ---------
  45.  
  46.    Mutation has a possible key length of 118 characters for Electronic
  47. Code Book mode, and 56 characters per KEY for Cipher Block Chaining's
  48. 2 key requirement. Not to mention there are NO known trapdoors written
  49. into this program. As for the DES algorithm, thats another story
  50. (See:TRAPDOOR THEORY).
  51.  
  52.    Mutation can be used in Electronic Code Book mode, which is the
  53. default mode if no options are specified, and a Cipher Block Chaining
  54. mode.  The ECB(Electronic Code Book) mode uses only ONE key.  A key
  55. is the password that you want to use to encrypt & thusly also decrypt
  56. the file with.  While ECB only uses ONE password, CBC(Cipher Block
  57. Chaining) uses TWO passwords to encrypt the file with.
  58.  
  59.    The files you wish to encrypt can be really anything.  A list of
  60. telephone numbers, friends names, passwords for various systems,
  61. technical notes, where you hid the dead body etc.  You can really
  62. encrypt anything. However, I would recommend at this time to stay
  63. away from encrypting EXE & COM files.  There is a small bug in the
  64. program which will add a few bytes to the end of each file.  While
  65. this will not effect the output of an ASCII file, it may mess up an
  66. EXE/COM file.  I hope to fix this bug in upcoming versions.
  67.  
  68.  
  69. USING THE ECB OPTION:
  70. -----------------------
  71.  
  72.    In order to invoke the ECB option (default) of Mutation, all that
  73. is needed is knowing whether you wish to ENcrypt(+) or DEcrypt(-) the
  74. file, what password(KEY) you wish to use, and the INCOMING filename
  75. and what the OUTGOING filename should be. For instance, I wish to ENCRYPT
  76. a file called TELEFONE.DOC, I will use "fatcuntwhorecumbelchinggutterslut"
  77. as my password.  I suppose I will output the ENCRYPTED text to a file called
  78. TELEFONE.DOC . You see, this makes sure that the original text is
  79. OVERWRITTEN and never seen again. Here's how its done:
  80.  
  81. C:> m + fatcuntwhorecumbelchinggutterslut <telephone.doc> telephone.doc
  82.  
  83. C:>
  84.    OK, so now you have this nice file called TELEPHONE.DOC which looks
  85. so messed up, if you didn't know better, you'd swear its the face of
  86. your neighbors crack-smoking child.
  87.  
  88.    So, after an amount of time elapses you decide you need a telephone
  89. number out of that file.  No problem. Enter:
  90.  
  91. C:> M - fatcuntwhorecumbelchinggutterslut <telephone.doc> telephone.dec
  92.  
  93. C:>
  94.    Now, you can read TELEPHONE.DEC and get the phone number you need.
  95. But, if you noticed, I used a DIFFERENT filename for DECRYPTING the
  96. file. The reason for this is just in case I fucked up the KEY and
  97. it OVERWROTE my encrypted file with the incorrect decrypting KEY.
  98. So when I check out telephone.dec and see that it is FINE! I can then
  99. rename telephone.doc to something else, copy some bullshit file over
  100. its place, then erase it.  See that way no one will be able to match
  101. your enciphered text with your deciphered text and figure out your key.
  102. See how easy it was?!
  103.  
  104. USING THE CBC OPTION:
  105. ---------------------
  106. < NOTE: CBC IS NOT AVAILABLE IN VERSION 1.00 OF MUTATi0N >
  107. < COMING VERSIONS WILL HAVE CIPHER BLOCK CHAINING ENABLED >
  108.  
  109.  
  110.    The Cipher Block Chaining option is a little bit different from the
  111. ECB option, not to mention a bit more secure(See TECHNICAL SPECS.& NOTES).
  112. CBC requires you to enter TWO passwords(KEYS).  Lets say we wish to use
  113. CBC on a file called TECHNOTE.DOC, we will use
  114. "everyonewantstobeabigshottheres" & "toomanychiefsandnotenoughindians"
  115. as the two passwords.  We will output our ciphered-text to a file called
  116. TECHNOTE.DOC
  117.  
  118. C:> M + <cbc> everyonewantstobeabigshottheres toomanychiefsandnotenoughindians
  119. <technote.doc> technote.doc
  120.  
  121. C:>
  122.    Notice that all that text overran the current line and splashed down
  123. onto the next.  This is NO PROBLEM.  Mutation will use up the WHOLE
  124. command line for incoming keys/filename etc... So if you have a pretty
  125. long password/s don't worry about it wrapping over, just be sure to
  126. leave enough room for the filenames.  NOTE: Names without extensions
  127. (IE ibmbios. ) ARE valid in Mutation.
  128.  
  129.    Ok, so you have this NICE enciphered text.  I bet you would like to
  130. read it later huh?! Well, remember your KEYS, else your screwed.
  131. Ok, LETS DECRYPT!
  132.  
  133. C:> M - <cbc> everyonewantstobeabigshottheres toomanychiefsandnotenoughindians
  134. <technote.doc> technote.dec
  135.  
  136. C:>
  137.    Thats how its done.  No problem huh?! Once you verify that technote.dec
  138. came out correctly be sure to overwrite/rename/etc. the encrypted
  139. ciphertextfile before going on.
  140.  
  141. TECHNICAL SPECIFICATIONS & NOTES:
  142. ---------------------------------
  143.  
  144.    The Data Encryption Standard Algorithm was conceived by IBM
  145. in 1977 and was adopted by the National Bureau of Standards as
  146. the nations Encryption Standard. The Data Encryption Standard
  147. Algorithm is a block cipher that enciphers identical eight-byte
  148. plaintext blocks into identical eight-byte ciphertext blocks.
  149. Or more technically: it transforms an input block (file) into a
  150. string of output bits of fixed length(output file).  The
  151. enciphering/deciphering functions are such that every bit in the
  152. output block depends jointly on every bit in the input block and
  153. on every bit in the password. This DES algorithm is also known
  154. as the Electronic Code Book (ECB).
  155.  
  156.    Certain files exhibit great regularity, with many identical
  157. eight-byte blocks (for example, a memorandum always begins with
  158. TO: ).  Normally under ECB encipherment, such identical blocks
  159. of plaintext yield identical blocks of ciphertext (when using
  160. the same key).  Repetitions of some other blocks may also be
  161. visible; for example, telephone numbers in the plain text when
  162. aligned with the eight-byte DES blocks, can be recognized as
  163. identical in the ciphertext.  It is doubtful whether this
  164. phenomenon is a serious weakness: to date no technique has been
  165. found which uses it to determine the password or obtain usable
  166. plain text of alphabetic/numeric files. However, if the existence
  167. of identical blocks can be concealed, a cryptographic system is
  168. strengthened at least intuitively, because the amount of information
  169. available to the cracker is reduced. This is where Cipher Block
  170. Chaining comes in handy.
  171.  
  172.    By using Mutation's Cipher Block Chaining option it is possible
  173. to use DES in such a manner that identical eight-byte plaintext
  174. blocks virtually always yield different ciphertext blocks, without
  175. altering the security of the existing algorithm. Thusly if you are
  176. encrypting a file that has a lot of repetition (IE- Indented source
  177. code, Spreadsheet, Listing) please use CBC to strengthen the code.
  178. However, as in life for every GOOD there is an EVIL, the CBC is
  179. easily cryptanalyzed on the basis of a moderate amount of ciphertext.
  180. You see, from enough enciphered short blocks, a cryptanalyst could
  181. recover the key, and then decipher each individual short blocks.
  182. But, I am not here to analyze various cipher systems, I'm here to
  183. teach the use of this product.
  184.  
  185. CRYPTANALYSIS OF THE DES ALGORITHM:
  186. -----------------------------------
  187.  
  188.    So you ask, "Is DES crackable?"  Well from a time standpoint, YES.
  189. But before you say "WHAT? I thought NO ONE could read it!" lets ask these
  190. questions:
  191.  
  192.    1. Is it reasonable to assume that an opponent can obtain the
  193.       required information to decipher the ciphertext. (IE-Finding them
  194.       written down, extracting them from your head, etc.)
  195.    2. What is the computational COST of the attack?
  196.       (IE- How much manpower, fast enough computing facilities etc..)
  197.    3. How much time does it require?
  198.       (Can my opponent wait 30,000 years for the cracking of my text?)
  199.  
  200.    So it while it is TRUE that someone will be able to read your
  201. ciphertext, I really don't think they will care 10,000 years from now
  202. anyhow.  But, just for the hell of it lets make a worst case hypothetical
  203. situation(I hate them).  First, lets assume you have made a CBC cipher
  204. with two keys 55 characters per key.  Second off, we MUST assume, that
  205. for some reason you have pissed off the WRONG people in the government
  206. (namely the people that effectively OWN the modified Cray Y-MP that
  207. the National Security Agency has) and they deem it necessary that they
  208. devote 100% of the computing resources to cracking your file.  Third,
  209. we must assume your DEAD else, they would have used sodium-penathol
  210. a long time ago to get the KEY from you.  Fourth- These government
  211. people plan on having their jobs AFTER the current administration leaves
  212. the White House.  If all these pre-conditions are met, WELL, your up
  213. chunky-shit creek without a paddle.  Because probably in 3-4 years
  214. they will have deciphered it.
  215.  
  216.    If DES keys were tested at the rate of one per 60 microseconds, the
  217. key trial would require in excess of 68,000 years.  However, as critics
  218. are quick to point out: Massive parallelism and pipelining, the time to
  219. recover a key can be reduced to any value.  In a pre-calculated scenario
  220. properly combining precomputation, a machine can be constructed that
  221. would recover the key with high probability in one day.  The estimates
  222. of the cost are $5,000,000 with a precomputation time of 2 years.
  223. Even if these estimates are accepted, the way DES would normally be
  224. used, with Cipher-Block Chaining & Initial chaining value, would negate
  225. the advantage gained in the time-memory tradeoff.  Thusly, it is VERY
  226. questionable if any organization would risk an investment of 5 million
  227. dollars and two years of precomputation under these circumstances.
  228. So really, your ciphers are very safe.
  229.  
  230.  
  231. TRAPDOOR THEORY:
  232. ----------------
  233.  
  234.    Some critics of DES are leery about the methods of analysis used
  235. by IBM to validate the DES, and all such methods used by the National
  236. Security Agency, have been [CLASSIFIED] by the U.S. Government.
  237. Therefore, some critics have inferred that one cannot be sure that the
  238. statements by IBM and NSA about DES are as claimed.  You see, the
  239. National Security Agency advised the designers that certain design
  240. criteria were considered by the agency to be sensitive.  IBM was
  241. requested not to publish the selection criteria.  Critics have
  242. suggested that special properties might have been incorporated into
  243. the design of the substitutions and permutations (aka Trap Doors)
  244. which would give a cryptanalytic advantage to a knowledgeable
  245. party.  No proof can be offered to refute the existence of trap
  246. doors.  Even if IBM, the National Bureau of Standards, or the
  247. National Security Agency were to reveal the criteria, there would
  248. undoubtedly be critics who would suggest that not all were revealed.
  249. The BOTTOM LINE is that after nearly 11 years of scrutiny, no
  250. viable method of cryptanalyzing DES has been discovered and published.
  251. Bell Telephone Laboratories & the Lexar Corporation examined the
  252. properties of the substitutions and permutations.  While the Lexar
  253. Corporation reported some "peculiar" properties of the substitution
  254. boxes, to date, no feasible cryptanalytic for DES has been found.
  255. To keep the public happy, the Senate Committee on Intelligence
  256. conducted an investigation into the matter. The following summarizes
  257. the conclusions that were reached:
  258.                                   1. DES is more than adequate for its
  259.                                      intended applications.
  260.                                   2. IBM invented and designed DES.
  261.                                   3. NSA did not tamper with the design.
  262.                                   4. NSA certified that the DES was free
  263.                                      of any known statistical/mathematical
  264.                                      weakness.
  265.                                   5. NSA recommended that the Federal
  266.                                      Reserve Board use DES for electronic
  267.                                      funds transfer applications.
  268.  
  269.    So if there is a TRAPDOOR or not, I really doubt they would risk
  270. releasing of their trapdoor to the public & intelligence community
  271. at large just to decipher some piss on the wall hackers file (Their
  272. point of view).
  273.  
  274. PASSWORD LENGTH:
  275. ----------------
  276.  
  277.    In the past there has been a tendency among users of cryptographic
  278. systems to use a word or a name as a key.  Today this procedure is
  279. VERY unsafe.  There are a fewer than a million words in an unabridged,
  280. and fewer than a million names in the largest telephone directory.
  281. That number of potential keys could be tested in a few minutes on a
  282. powerful computer of today.  Even the use of eight randomly chosen
  283. ASCII characters is unsafe.  If a DES key is introduced directly,
  284. it should consist of 32 or MORE ASCII characters
  285. (IE-A-Z,a-z,0-9,and punctuation, and ALT-key combinations).  You see
  286. by having Mutation being able to use 118 bytes of password, the user
  287. might, for example, enter several words chosen randomly and
  288. independently from an unabridged dictionary.  Or the user may enter
  289. some phrase from a song or TV commercial. It is essential that these
  290. choices be made in such a way that the key cannot practically be found
  291. by an opponent, either by guesswork or by enumerating some plausible set
  292. of keys.
  293.  
  294. HINTS & EXTRAS:
  295. ---------------
  296. < NOTE: CIPHER BLOCK CHAINING (CBC) IS NOT AVAILABLE FOR >
  297. < VERSION 1.00 OF MUTATi0N, FURTHER RELEASES WILL FIX THIS >
  298.  
  299.    Mutation in ECB mode can use KEYS up to 118 characters in length. In
  300. CBC mode, it can use TWO KEYS, with a maximum of 56 characters per key.
  301. That is assuming your using one letter filenames. Example:
  302. C:> m + <cbc> passwordOne passwordTwo <A> B
  303. This would give you A. as your input file and B. as your output file.
  304.  
  305.    The LARGER the password you use, the STRONGER the ciphertext becomes.
  306. So a 118 character password is MUCH better than a 70 character password.
  307. However, in Block Chaining, having two 56 character passwords are even
  308. STRONGER than one 118 character password.
  309.  
  310.    For the STRONGEST ciphertext possible, I suggest using Cipher-Block
  311. Chaining, with 56-char. passwords. Note, that you could use a
  312. 100-character password for KEY1 and a 18 character password for KEY2.
  313. Or a 34-character password for KEY1 and an 84-character password for KEY2.
  314. Just realize that the numbers can be swapped around, and just make sure
  315. its as long as possible for the STRONGEST text.
  316.  
  317.    Sometimes making the LONG password is about as much bother as it
  318. will be for someone trying to break it.  Here are some ideas for
  319. making up these LONG keys:
  320.                          1. Sentences from books.
  321.                          2. Phrases from obscure songs.
  322.                          3. TV/Radio Commercials.
  323.                          4. A column from an old newspaper.
  324.                          5. Make up a short story.
  325.                          6. Make faces with the ASCII chars. :0 :) ;) etc.
  326.  
  327.    I'm sure you can think of other things to write about, like maybe
  328. your first screw, but that may too personal, incase someone breaks it.
  329.  
  330.    ALSO make sure you PROPERLY dispose of the ENCRYPTED filename, that
  331. you just decrypted. First copy a file over, then another, then to be
  332. safe, copy another, then rename the fucker, THEN erase the SOB.
  333.  
  334.    It would also be nice to have this program setup in your PATH.
  335. So that you can encipher stuff all over your harddrive! When the nice
  336. men in jackets come to borrow your computer don't let them have all
  337. your data that easily.
  338.  
  339. CONCLUSION:
  340. -----------
  341.  
  342.    This documentation is A LOT longer than I intended it to be. In fact
  343. I shouldn't have written all that, I probably confused a lot of the
  344. readers.  Oh well, you should be able do discern how to run the thing
  345. from the previous text and the small example built into the program.
  346.  
  347.    I would now like to thank Legions of Lucifer-Phuck for releasing
  348. this product on their intercontinental distribution system.  I really
  349. helps a program when it has access to a WIDE dispersal network. Again,
  350. thanks LoL-PHUCK.
  351.  
  352.    Earlier, I mentioned 'portability' of this code. The code is in 'C'
  353. and is quite portable, but I am not releasing the code for various
  354. reasons. First, there is the possibility that someone will be able to
  355. figure out how the DES code was modified by myself, and secondly
  356. I plan to release this on AMIGA & MAC computers.  I plan on having the
  357. AMIGA version out sometime in the summer of 91'.  The MAC will have
  358. to wait a few more months.
  359.  
  360.    Anyhow, greets go out to: All X Legion of Doom members hanging out
  361. and around, P/H/A & Doctor Dissector (KC3.0 is the BEST!), Prometheus,
  362. Sir Hackalot, Ex-Phortune 500s UNITE!, Shawn-Da-Lay Productions -
  363. Wheres the NEW version of Telix Hacker?!!, Brew Associates Where RU?,
  364. L.E. Pirate(What happened to Dragonfire?!oh no)(What Cult of the Dead
  365. Cow?), The Rebel(716), 2600 Magazine(About time I get that damn
  366. subscription information-1.5 months later), Phrack Magazine, Mondo 2000
  367. Magazine (Wheres my subscription fuckers?), Twisted Sector, The Ranger,
  368. The Viper, Slavelord, and all the others who give me phree file points...
  369. Not that I am partial to people who give me free points or anything.(haha)
  370.  
  371.    And for EVERYONE who I left out- YOU TOO!
  372.  
  373.    Anyhow, this ends this SUMMERs(1991) IBM program release schedule for
  374. me. Hopefully, you will see something from me sometime soon, other than
  375. updates to this and CNA Inquiry.
  376.  
  377.    Programs released to date:
  378.                              1. Automated CNA Finder (1989)
  379.                              2. Phreak Tools v1.x    (1989)
  380.                              3. CNA Inquiry v2.x     (1991)
  381.                              4. MUTATi0N v0.x Beta   (1991)
  382.  
  383. - Professor Falken
  384. = Ex-Legion of Doom!
  385. = Ex-Phortune 500
  386.  
  387.  
  388.  
  389. MUTATi0N - Version 1.00
  390. Conceived & Written by Professor Falken 6/91
  391. Copyright (c) 1991 Released by Legions of Lucifer-Phuck
  392.