home *** CD-ROM | disk | FTP | other *** search
/ Tools en Utilities / CDASS_5.ISO / shell / util / fe20.arj / FE.DOC next >
Encoding:
Text File  |  1995-01-06  |  12.0 KB  |  296 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                     F A S T   E N C R Y P T
  8.  
  9.                          Version  2.0
  10.                        SHAREWARE VERSION
  11.      Copyright 1995 Michael J. Harris, All rights reserved
  12.  
  13.  
  14.  
  15.  
  16. OVERVIEW:
  17.  
  18.   Fast Encrypt is  a  state-of-the-art  Encryption/Decryption
  19.   program.   It is orders of  magnitude more secure than DES,
  20.   very fast, can use any 16 byte string as a key, and is very
  21.   simple to  use.  It  was written entirely  in 386 Assembler
  22.   (for speed) and  makes  full  use  of  the  386  (and  486)
  23.   expanded capabilities.     It   won't   run   on   XT/PC/AT
  24.   (8088/8086/80286) systems.
  25.  
  26.  
  27. SHAREWARE NOTICE:
  28.  
  29.   Fast  Encrypt is SHAREWARE: This means  that if you want to
  30.   continue  to use product,  you are expected  to support the
  31.   author  for his time spent developing/writing/debugging the
  32.   program.   To register  the program, simply  print the file
  33.   ORDER.FRM and send it in, or just write out the information
  34.   by  hand if you don't have a  printer.  Fast Encrypt is not
  35.   "cripple-ware".  The  shareware  version  has  no  features
  36.   disabled  and the program will  not "self-destruct" after a
  37.   certain period  of time.  I ask  that you register it after
  38.   14  days of use.   This should be more  than enough time to
  39.   test  it and see  it's capabilities.   Registration is only
  40.   $15.   Site licenses  are also available;  please write for
  41.   more information.
  42.  
  43.  
  44. HOW TO USE IT
  45.  
  46.   Fast Encrypt receives all of  it's  input  on  the  command
  47.   line.  In this way it is very similar to other file utility
  48.   programs (compression utilities, virus scanners, etc).  The
  49.   command line sequence it  uses  is  also  similar  to  many
  50.   programs, but also can includes a key:
  51.  
  52.        fe [option] <infile> <outfile> [key]
  53.  
  54.  
  55. [option]
  56.      e  Encrypts using the key on the Command line.
  57.      E  Encrypts using the external key file (EXTERNAL.KEY).
  58.      d  Decrypts using the key on the Command line.
  59.      D  Decrypts using the external key file (EXTERNAL.KEY).
  60.      k  Creates the external key file EXTERNAL.KEY.  This 
  61.         option uses a different command line than the others:
  62.                         fe k [key]
  63.  
  64.   If  a key is included on the command line while using the E
  65.   or  D option, the EXTERNAL.KEY file is used and the command
  66.   line key is ignored.
  67.  
  68.  
  69. <infile> / <outfile> 
  70.  
  71.   The infile is the file  that  is  to  be  processed.    The
  72.   outfile is where the output  is  placed.    Any  valid  DOS
  73.   filename   (including  paths   and/or  drive   changes)  is
  74.   acceptable.
  75.  
  76. [key]
  77.  
  78.   The key can be any string of 16 (or less) ASCII characters.
  79.   If less than  16  characters  are  entered,  the  remaining
  80.   spaces  are set to zero.  Regular spaces (space bar) in the
  81.   middle of  a key are  acceptable and treated  just like any
  82.   other ASCII key.   The  TAB is  also a  valid key  and only
  83.   counts  as one character.   Using less characters obviously
  84.   lowers   the  level   of  security   greatly  and   is  not
  85.   recommended.  When choosing your  key  you  should  try  to
  86.   include symbols, numbers, and  words  not  associated  with
  87.   yourself.   The more random the key  is, the more secure it
  88.   is.
  89.  
  90.  
  91. EXAMPLES:
  92.  
  93.      fe e march.rep march.cpt Don'tRead_Me@.%+
  94.           Encrypts   file  march.rep  and  places  output  in
  95.           march.cpt using Don'tRead_Me@.%+ as  a  key.    All
  96.           files reside  in the  directory where  Fast Encrypt
  97.           was executed.
  98.  
  99.      fe D a:\safe\crypt.xxx d:\asm\program.asm
  100.           Decrypts a:\safe\crypt.xxx and places the output in
  101.           d:\asm\program.asm using the EXTERNAL.KEY file from
  102.           the directory where Fast Encrypt was executed.
  103.  
  104.      fe k BadKey
  105.           Creates  an EXTERNAL.KEY file using the key BadKey.
  106.           The file is placed  in  the  directory  where  Fast
  107.           Encrypt was executed.
  108.  
  109. THE EXTERNAL.KEY FILE
  110.  
  111.   An  external key  is a  regular DOS  file that  contains an
  112.   expanded  version of your  key.  There  are several reasons
  113.   for  it.  First, if you use .BAT files to run Fast Encrypt,
  114.   it is often undesirable to have your key in your .BAT file.
  115.   The external key requires no key on the command line making
  116.   .BAT file  programming easier.  The  other reason is speed.
  117.   When encrypting  small files, most of  the time required is
  118.   building the substitution  boxes (requires  a lot  of math,
  119.   see the  technical info below).   The external  key file is
  120.   essentially  a copy of the substitution boxes already built
  121.   and ready to  go.   This can  speed up  things tremendously
  122.   especially on slower 386  systems.    An  external  key  is
  123.   created  using the 'k' command line option (see above).  If
  124.   you create  a key in  a directory that  already contains an
  125.   EXTERNAL.KEY file, the  old  one  is  overwritten.    Since
  126.   anybody  that has your EXTERNAL.KEY file can read your data
  127.   you must  assure that  it is  completely removed  from your
  128.   disk  when you are done with it.   The way that DOS deletes
  129.   files provide no  security so  you should  always OVERWRITE
  130.   your  EXTERNAL.KEY files before deleting them.  This can be
  131.   accomplished be typing the following command line:
  132.  
  133.                        fe k
  134.  
  135.   This will overwrite your EXTERNAL.KEY file with a null key.
  136.   The file  can then safely  be deleted using  the DOS delete
  137.   command.
  138.  
  139.  
  140. USING COMPRESSION WITH FAST ENCRYPT
  141.  
  142.   Using compression  is an  excellent idea  with any  type of
  143.   encryption.   This  further  increases  the  complexity  of
  144.   cracking your files  because  most  of  the  redundency  is
  145.   removed  from the files  before they are  encrypted.  Since
  146.   there are many  excellent  shareware  compression  programs
  147.   available,  compression was not included with Fast Encrypt.
  148.   Fast Encrypt treats  a compressed  file (.ZIP,  .ARJ, etc.)
  149.   just like  any  other  file.    Since  it  is  so  strongly
  150.   recommended  that you use compression,  Fast Encrypt has no
  151.   file archiving capabilites (such as encrypt *.*).  Any good
  152.   compression program will do this for you.
  153.  
  154.  
  155. CONTACTING THE AUTHOR:
  156.  
  157.  
  158.   If  you still have problems getting  the program to work or
  159.   have suggestions/comments, you may feel free to contact the
  160.   author  (even if you haven't registered yet).  There are no
  161.   known bugs  in Fast Encrypt,  but I'd be  very greatful  if
  162.   you would  let me  know if  you do  find one.   E-Mail/U.S.
  163.   Mail is  the perfered method of  contact, and phone service
  164.   will  be provided for registered users.  Be sure to include
  165.   ALL necessary details in any mail sent to me.  Fast Encrypt
  166.   has  been tested under DOS, OS/2 2.0, OS/2 2.1 (in fact, it
  167.   was developed mostly under OS/2-DOS), OS/2 HPFS drives, and
  168.   on several 386 and 486 systems running various DOS and OS/2
  169.   configurations.  There have been no bugs reported in any of
  170.   the past versions.
  171.  
  172.  
  173.       INTERNET:    mharris@clovis.felton.ca.us
  174.  
  175.       U.S. Mail:   Michael Harris
  176.                    125 Blueberry Dr.
  177.                    Scotts Valley, CA 95066-4615
  178.                    USA
  179.  
  180. TECHNICAL INFO:
  181.  
  182.   The Encryption Method: 
  183.  
  184.   The method that  Fast  Encrypt  uses  to  encrypt  data  is
  185.   basically  a much improved version of  DES.  While there is
  186.   nothing  known to be  wrong with the  DES algorithm itself,
  187.   many people  (including the author) feel  that the key size
  188.   that  DES uses is too small to adequetly protect data.  The
  189.   key  size  that  Fast  Encrypt  uses  is  128  bits.    (16
  190.   characters  at 8 bits each make up  the 128 bits).  Here is
  191.   the  total number of possible keys for DES compared to Fast
  192.   Encrypt:
  193.  
  194.         DES
  195.               2^48 = 281474976710656
  196.  
  197.         Fast Encrypt
  198.              2^128 = 340282366920938463463374607431768211456
  199.  
  200.   Since  each additional digit increases the numer of keys by
  201.   a power of ten,  you  can  see  that  the  number  of  keys
  202.   available  with Fast Encrypt is extrodinarily more than DES
  203.   (About 10^23 times more keys).
  204.  
  205.   There  are two methods  that Fast Encrypt  uses to encrypt:
  206.   Substitution and  Permutation.  Substitution  does what the
  207.   name implies: it  takes a group  of bytes out  and places a
  208.   different group of bytes in its place.  You can think of it
  209.   like one of  those  puzzles  where  each  letter  has  been
  210.   switched with a different letter and you have to figure out
  211.   what it says.   This  is essentially  what Fast  Encrypt is
  212.   doing, but  on a much larger scale.   It is substituting 16
  213.   byte  blocks (2^128  possible values)  where in  the puzzle
  214.   example there  are only 26  letters in the  alphabet.  Fast
  215.   Encrypt goes  through this  substitution process  10 times,
  216.   each   time  with  a  different   substitution  box.    The
  217.   substitution boxes  are functionally dependant  on the key.
  218.   In  between  each  substitution  is  a  permutation.    The
  219.   permutations switch the order in which the bits occur.  The
  220.   combination of  these makes it  theoretically impossible to
  221.   break the encryption  even  with  multiple  arrays  of  the
  222.   fastest supercomputers working for thousands of years.
  223.  
  224.  
  225.   Of course, there is no practical encryption program that is
  226.   100% secure  (Fast-Encrypt isn't  100% secure,  and doesn't
  227.   claim to  be.  No other methods  can truthfully claim to be
  228.   totally safe  either,  because  they  aren't).    The  only
  229.   encryption   method  that   can  be   mathmatically  proven
  230.   un-crackable  is the "one-time-tape" method.  However, this
  231.   method  requires that the key is  longer than what is being
  232.   encrypted  and the key must  contain totally random numbers
  233.   and the key  must never be  repeated.  For  example, if you
  234.   wanted to encrypt a 1 megabyte file, you would have to have
  235.   a key that was greater than 1 megabyte in size.  This makes
  236.   it totally useless for daily use.
  237.  
  238.  
  239.   Why files grow slightly when encrypted:
  240.  
  241.  
  242.   As  stated above, Fast Encrypt works on blocks of 16 bytes.
  243.   This  means that it is impossible for it to encrypt a group
  244.   of bytes  that is smaller than 16  bytes.  However, not all
  245.   files in this world will divide evenly into 16 byte blocks.
  246.   This means that Fast Encrypt  must  "fill  in"  the  needed
  247.   bytes  before encrypting the last block.  It also must save
  248.   a  byte that indicates how many bytes in the last block are
  249.   "original" ones  so that when  it decrypts the  file it can
  250.   return it to the correct size.
  251.  
  252.  
  253.   About the program:  
  254.  
  255.  
  256.   Fast Encrypt  was written entirely in  386 assembler.  This
  257.   was  done   because  most  good   encryption  programs  are
  258.   painfully  slow.   It makes  full use  of the  386's 32-bit
  259.   processing  abilities.  In  a lot of  areas the programming
  260.   was  easier and the program ran  much faster because of the
  261.   larger registers.  It  was  built  with  Borland(tm)  Turbo
  262.   Assembler Version 2.0  and  linked  using  Borland's  TLink
  263.   Version 3.0.
  264.  
  265.  
  266.  
  267. DISCLAIMER:
  268.  
  269.   Use  of this software and/or  documentation for any purpose
  270.   whatsoever  constitutes your unqualified  acceptance of the
  271.   following statements.
  272.  
  273.   No  encryption program is totally secure.  The author makes
  274.   no  warranty that this  software will protect  your data in
  275.   any way whatsoever.
  276.  
  277.   The     author    makes     no    warranty     that    this
  278.   software/documentation will be  error  free.    The  author
  279.   disclaims   any  warranties,  either  express  or  implied,
  280.   including but  not  limited  to  any  implied  warranty  of
  281.   merchantability or fitness for any particular purpose.
  282.  
  283.   The  user  agrees  to  take  full  responsibility  for  any
  284.   selection  of and any  use whatsoever made  of the software
  285.   and documentation.
  286.  
  287.   In no event will the  author  be  liable  for  any  damages
  288.   whatsoever  (including without limitation  damages for loss
  289.   of   business  profits,  business   interruption,  loss  of
  290.   business information  or the like) arising  out of the use,
  291.   interruption in the  use  of,  or  inability  to  use  this
  292.   software, even if  the  author  has  been  advised  of  any
  293.   possibility or likelihood of such damages.
  294.  
  295. Release Date: January 5, 1995
  296. END OF DOCUMENTATION