home *** CD-ROM | disk | FTP | other *** search
/ Dr. CD ROM (Annual Premium Edition) / premium.zip / premium / DOSUTIL1 / FSTCRYP1.ZIP / FE.DOC next >
Text File  |  1993-08-31  |  11KB  |  276 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                        F A S T   E N C R Y P T
  8.  
  9.                             Version  1.0
  10.               Copyright (c) 1993 by Michael J. Harris
  11.  
  12.  
  13.  
  14.  
  15. OVERVIEW:
  16.  
  17.   Fast Encrypt   is   a   state-of-the-art   Encryption/Decryption
  18.   program.   It is significantly more  secure than DES, very fast,
  19.   can  use any 16 byte string as a key, and is very simple to use.
  20.   It  was written entirely in 386  Assembler (for speed) and makes
  21.   full use of  the 386's capabilities.   It won't  run on XT/PC/AT
  22.   (8088/8086/80286) systems.
  23.  
  24.  
  25. SHAREWARE NOTICE:
  26.  
  27.   Fast Encrypt is SHAREWARE:  This  means  that  if  you  want  to
  28.   continue  to use product, you are expected to support the author
  29.   for all his time spent developing/writing/debugging the program.
  30.   To register  the program,  simply print  the file  ORDER.FRM and
  31.   send  it in, or  just write out  the information by  hand if you
  32.   don't have a printer.    Fast  Encrypt  is  not  "cripple-ware".
  33.   There  are  no  features  disabled  and  the  program  will  not
  34.   "self-destruct"  after a certain period of time.  I ask that you
  35.   register it after  14 days  of use.   This  should be  more than
  36.   enough  time to test it and see it's capabilities.  Registration
  37.   is only $15.   Site  licenses  are  also  available;  write  for
  38.   information.
  39.  
  40.   Pass it around!
  41.   ~~~~ ~~ ~~~~~~~
  42.  
  43.   Because  of the way Shareware works,  you are encouraged to give
  44.   copies  of this program to all of  your friends, for them to try
  45.   out.  You  may distribute this  program in any  form, however no
  46.   fee  may be charged (except for minimal disk copying fees).  You
  47.   also may upload this program to any BBS system that you call.
  48.  
  49.  
  50. HOW TO USE IT
  51.  
  52.  
  53.  The Key:
  54.  ~~~ ~~~
  55.  
  56.   When  you first  run Fast  Encrypt you  will be  asked for  a 16
  57.   character key.  You  then  must  enter  16  characters  of  your
  58.   choice.  You may use  symbols  or  any  other  ASCII  character,
  59.   remember that it is  CASE SENSITIVE.   DO  NOT FORGET  YOUR KEY!
  60.   You will not be  able to  unencrypt your  file without  the key.
  61.   There are  no "backdoors" or  "magic-keys", so if  you to forget
  62.   your key I won't be able to help you.
  63.  
  64.   Examples of valid keys are:
  65.  
  66.        BarbersAre Neat!
  67.        $#)'[p0p9ovm,d.a
  68.  
  69.   Anything  will work, but remember you must type EXACTLY the same
  70.   thing when you want to decrypt.  That means:
  71.  
  72.        BarbersAre Neat!   and
  73.        Barbersare neat!   are *NOT* the same
  74.  
  75.  
  76.  Tips for key selection:
  77.  ~~~~ ~~~ ~~~ ~~~~~~~~~
  78.  
  79.   Use keys that are totally unrelated to anything (don't use phone
  80.   numbers,  Social Securtity number, etc).  Include both upper AND
  81.   lower case letters.  You should also have at least one symbol in
  82.   your   key  (!@#$%^&*)_=+-/.,;'  and  the  like.    Using  weird
  83.   characters increases the  difficulty of  a brute  force cracking
  84.   your key since more character  combinations  have  to  be  tried
  85.   instead of just the alphabet.
  86.   
  87.  
  88.  The Substitution Boxes:
  89.  ~~~ ~~~~~~~~~~~~ ~~~~~
  90.  
  91.   After you type in your key, it will fill the substitution boxes.
  92.   This may take several  seconds (on  slower 386s).   This  is the
  93.   main way  that Fast Encrypt encrypts your  data (see below for a
  94.   more technical explanation).   After  it fills  the substitution
  95.   boxes it will ask you if you want to save the substitution boxes
  96.   to disk.   Saving the substitution boxes  to disk will allow you
  97.   to encrypt/decrypt as much  as  you  want  with  the  same  Key,
  98.   without  having to build  the substitution boxes  every time you
  99.   run  the program (it can  save LOTS of time).   HOWEVER - anyone
  100.   that has access to the substitution boxes saved to your disk can
  101.   decrypt your  data.   So never  save the  substitution box  on a
  102.   computer  or diskette  that somebody  can get  access to.   Fast
  103.   Encrypt will  automatically find  your saved  substitution boxes
  104.   and  ask you if you want to use them.  If you answer no you will
  105.   be prompted  to enter  a new  key.   The substitution  boxes are
  106.   stored on disk in a file called: EXTERNAL.KEY
  107.  
  108.  
  109.  Encrypt/Decrypt:
  110.  ~~~~~~~~~~~~~~~
  111.  
  112.   After  the subsitution boxes have been created/loaded from disk,
  113.   it will ask  you if  you want  to Encrypt  or Decrypt.   Encrypt
  114.   scrambles up your files; Decrypt unscrambles them.
  115.  
  116.  
  117.  The Files:
  118.  ~~~ ~~~~~
  119.  
  120.   You must  then enter two file names.   The first one is the file
  121.   that  will be processed (encrypted or decrypted) the second file
  122.   is where the output will be placed.
  123.  
  124.   Example: 
  125.  
  126.      Encrypt or Decrypt E/D: e
  127.      Enter the name of the file: WHATEVER.XXX
  128.  
  129.      Enter the name of the output file; it
  130.      MUST be different than the input file: WHATEVER.CPT
  131.   
  132.  
  133.   In the  above example, WHATEVER.XXX is  being encrypted, and the
  134.   encrypted version  of it is  placed in WHATEVER.CPT.   Any valid
  135.   DOS names/extentions are valid.   Use  of paths  is also  OK, so
  136.   C:\DOS\WHATEVER.XXX is allowed for either input or output.
  137.  
  138.  Encryption/Decryption:
  139.  ~~~~~~~~~~~~~~~~~~~~~
  140.  
  141.   After all  of the  above is  entered, the  data is  encrypted or
  142.   decrypted.  This goes very quickly (except for really big files,
  143.   of course).  You may find that your encrypted files are slightly
  144.   larger than the  originals; they  are never  more than  16 bytes
  145.   larger, so it  shouldn't  matter  much.    When  the  files  are
  146.   decrypted  the files return  to their original  size (the reason
  147.   why is  discussed in  the technical  section at  the end  of the
  148.   documentation).
  149.  
  150.  
  151. CONTACTING THE AUTHOR:
  152.  
  153.  
  154.   If you  still have problems getting the  program to work or have
  155.   suggestions/comments, you may  feel free  to contact  the author
  156.   (even if  you haven't registered yet).   There are no known bugs
  157.   in  Fast Encrypt, but I'd be very  greatfull if you would let me
  158.   know if you  do find  one.   E-Mail/U.S.   Mail is  the perfered
  159.   method of contact,  and  phone  service  will  be  provided  for
  160.   registered  users.  Be sure to  include ALL necessary details in
  161.   any  mail sent to me.   Fast Encrypt has  been tested under DOS,
  162.   OS/2 2.0, OS/2 2.1 (in  fact,  it  was  developed  mostly  under
  163.   OS/2-DOS),  OS/2 HPFS drives, and on several 386 and 486 systems
  164.   running various  DOS and OS/2 configurations.   No problems were
  165.   encountered.
  166.  
  167.  
  168.       INTERNET:    mharris@clovis.felton.ca.us
  169.  
  170.       U.S. Mail:   Michael Harris
  171.                    125 Blueberry Dr.
  172.                    Scotts Valley, CA 95066
  173.  
  174.  
  175. TECHNICAL INFO:
  176.  
  177.   The Encryption Method: 
  178.   ~~~ ~~~~~~~~~~ ~~~~~~ 
  179.  
  180.   The method that Fast Encrypt uses to encrypt data is basically a
  181.   much improved  version of DES.  While  there is nothing known to
  182.   be wrong with the DES  algorithm  itself,  many  (including  the
  183.   author)  feel that the key  size that DES uses  (56 bits) is too
  184.   small to adequetly protect data.  The key size that Fast Encrypt
  185.   uses is 128 bits.  (16 characters at 8 bits each make up the 128
  186.   bits).  The total number of possible keys if some massive number
  187.   with over 40 digits.
  188.  
  189.  
  190.   There are  two  methods  that  Fast  Encrypt  uses  to  encrypt:
  191.   Substitution  and Permutation.  Substitution  does what the name
  192.   implies: it takes  a group of  bytes out and  places a different
  193.   group of bytes  in its place.   You can think of  it like one of
  194.   those puzzles  where  each  letter  has  been  switched  with  a
  195.   different  letter and you have to figure out what it says.  This
  196.   is  essentially what Fast Encrypt is doing, but on a much larger
  197.   scale.  It is substituting 16 byte blocks (2^128 (2 to the 128th
  198.   power)  possible values) where  in the puzzle  example there are
  199.   only 26 letters in the alphabet.  Fast Encrypt goes through this
  200.   substitution process  10  times,  each  time  with  a  different
  201.   substitution box.    The  substitution  boxes  are  functionally
  202.   dependant on the  key.    In  between  each  substitution  is  a
  203.   permutation.   The permutations  switch the  order in  which the
  204.   bits occur.    The  combination  of  these  makes  it  virtually
  205.   impossible to break the  encryption  even  with  multiple  array
  206.   supercomputers working for literally hundreds (if not thousands)
  207.   of years.
  208.  
  209.  
  210.   Of course, there is no practical encryption program that is 100%
  211.   secure (Fast-Encrypt isn't 100% secure, and doesn't claim to be.
  212.   No other methods can truthfully claim to be totally safe either,
  213.   because they  aren't).  The  only encryption method  that can be
  214.   mathmatically proven un-crackable is the "one-time-tape" method.
  215.   However,  this method requires that the  key is longer than what
  216.   is being encrypted and  the  key  must  contain  totally  random
  217.   numbers and the key must never be repeated.  For example, if you
  218.   wanted  to encrypt a 1  megabyte file, you would  have to have a
  219.   key  that was greater  than 1 megabyte  in size.   This makes it
  220.   totally useless for daily use.
  221.  
  222.  
  223.   Why files grow slightly when encrypted:
  224.   ~~~ ~~~~~ ~~~~ ~~~~~~~~ ~~~~ ~~~~~~~~~
  225.  
  226.   As stated above, Fast Encrypt works on blocks of 16 bytes.  This
  227.   means  that it is impossible for it  to encrypt a group of bytes
  228.   that  is smaller than 16 bytes.   However, not all files in this
  229.   world will  divide evenly into 16 byte  blocks.  This means that
  230.   Fast Encrypt  must "fill in" the  needed bytes before encrypting
  231.   the  last block.   It also must  save a byte  that indicates how
  232.   many bytes in the last block are "original" ones so that when it
  233.   decrypts the file it can return it to the correct size.
  234.  
  235.  
  236.   About the program:  
  237.   ~~~~~ ~~~ ~~~~~~~ 
  238.  
  239.   Fast Encrypt  was written entirely  in 386 assembler.   This was
  240.   done  because most good encryption  programs are painfully slow.
  241.   It  makes full use of the 386's 32-bit processing abilities.  In
  242.   a lot of  areas the programming  was easier and  the program ran
  243.   much  faster because of the larger registers.  It was built with
  244.   Borland(tm)  Turbo Assembler Version 2.0 on a 386-40 with 8 megs
  245.   of  RAM running OS/2 version 2.1 (HPFS  on one drive, FAT on the
  246.   other one.  Fast Encrypt ran fine on both drives).
  247.  
  248.  
  249. DISCLAIMER:
  250.  
  251.   Use of  this  software  and/or  documentation  for  any  purpose
  252.   whatsoever   constitutes  your  unqualified  acceptance  of  the
  253.   following statements.
  254.  
  255.   No encryption  program is totally  secure.  The  author makes no
  256.   warranty that  this software will  protect your data  in any way
  257.   whatsoever.
  258.  
  259.   The author  makes no  warranty that  this software/documentation
  260.   will be error free.  The author disclaims any warranties, either
  261.   express or  implied, including  but not  limited to  any implied
  262.   warranty  of  merchantability  or  fitness  for  any  particular
  263.   purpose.
  264.  
  265.   The user agrees to take full responsibility for any selection of
  266.   and any use whatsoever made of the software and documentation.
  267.  
  268.   In no event will the author be liable for any damages whatsoever
  269.   (including without  limitation  damages  for  loss  of  business
  270.   profits,  business interruption, loss of business information or
  271.   the like) arising out of the use, interruption in the use of, or
  272.   inability  to use  this software,  even if  the author  has been
  273.   advised of any possibility or likelihood of such damages.
  274.  
  275. END OF DOCUMENTATION 8-31-93
  276.