home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / virus / cipher16.zip / CIPHER.DOC < prev    next >
Text File  |  1993-08-20  |  35KB  |  716 lines

  1.  
  2.  
  3.  
  4.                                   CIPHER Ver. 1.6
  5.                         Copyright (c) 1988-1993 Mike Albert
  6.                                     August 1993
  7.  
  8.  
  9.  
  10.      1   INTRODUCTION
  11.  
  12.      Cipher is a program that scrambles files so that no one can use them -
  13.      unless they have the correct key.  Files are kept secret even when they
  14.      can be accessed by others: they can be read, but not understood.  Cipher
  15.      is designed to protect files on PCs or disks you can't protect
  16.      physically, and can also protect messages sent via unprotected channels.
  17.      (If you're familiar with earlier versions of Cipher, look at section 8
  18.      to learn about new enhancements.)  Cipher provides the following
  19.      benefits:
  20.  
  21.          o   Cipher is easy to use - it protects you from mistakes and helps
  22.              you to remember keys.
  23.  
  24.          o   Cipher is much faster than other programs that provide
  25.              comparable security.
  26.  
  27.          o   Cipher can encrypt files in place, so unerase utilities can't
  28.              recreate them.
  29.  
  30.          o   Cipher can also make a new encrypted file and leave the original
  31.              file untouched - this is useful when sending an encrypted file
  32.              to someone else.
  33.  
  34.          o   Protection is provided by a reliable, documented method that is
  35.              highly resistant to attack - even by expert programmers and
  36.              cryptographic analysts.  For information on the security
  37.              provided by Cipher vs. other products, see section 5.
  38.  
  39.          o   Cipher checks when decrypting a file to ensure that the file
  40.              hasn't been corrupted.
  41.  
  42.          o   Cipher can be used from batch files to provide security
  43.              automatically.
  44.  
  45.          o   Cipher is less expensive than commercially available programs.
  46.  
  47.          o   Cipher guards against changes to itself - you can be sure you
  48.              have an unmodified Cipher and also detect any subsequent
  49.              tampering.
  50.  
  51.          o   All proceeds of Cipher go to Oxfam America, an international
  52.              self-help and disaster relief organization.
  53.  
  54.  
  55.      Cipher encrypts and decrypts files using a cryptographically sound
  56.      method.  Encryption makes a file unintelligible and useless.  Decryption
  57.      is the reverse - it converts the encrypted information to its original
  58.      understandable form.  The encryption is controlled by a key that you
  59.      provide.  You can use any string of characters you like.  When you want
  60.      to use the files, you decrypt them using the same key to return them to
  61.      their original form.  Someone who doesn't know the correct key or
  62.      doesn't have Cipher is powerless to make the file useful again.
  63.  
  64.  
  65.  
  66.                                        - 1 -
  67.  
  68.  
  69.      Cipher protects you from common errors such as decrypting a file with
  70.      the wrong key, decrypting a file that's not encrypted, or encrypting a
  71.      file twice (unless you specifically request it).  It also helps you
  72.      remember your key - you describe the key when you encrypt (e.g. "my old
  73.      Corvette license number"), and Cipher displays your description when you
  74.      decrypt.  You can control Cipher interactively, with command line
  75.      arguments, or via an MS-DOS environment variable.
  76.  
  77.      Cipher runs on any IBM-compatible computer using MS-DOS 2.00 or later,
  78.      and uses 64K of memory.  All standard display adapters may be used as
  79.      long they display at least 80 characters per line.  Files may reside on
  80.      floppy diskettes, hard disks, or network drives, and be any type or
  81.      size.  Cipher has been successfully tested on three networks: Novell's
  82.      Netware and Netware Lite, and Digital Equipment Corporation's Pathworks.
  83.      The only problem occurs with Pathworks: files with some VMS Record
  84.      Formats, e.g. Variable, cannot be encrypted.  The Stream Record Format
  85.      works fine.
  86.  
  87.      Note that Cipher keeps people from understanding and using the contents
  88.      of your files, but doesn't prevent normal file operations such as
  89.      deleting, copying, or renaming.  If you're concerned about someone
  90.      destroying your data, Cipher doesn't help.  Cipher does protect against
  91.      the introduction of false information.  Someone can modify an encrypted
  92.      file, but they can't achieve a specific result because decryption
  93.      affects their changes in an unpredictable way.  Consequently a file that
  94.      is modified in its encrypted form will have garbage in the changed
  95.      portion of the file when it's decrypted.
  96.  
  97.      Remember that you MUST specify the correct key to decrypt a file and
  98.      make it useful again.  Cipher will help you recall the key and tell you
  99.      if you enter the wrong one, but it doesn't remember the key for you.  If
  100.      you forget the key there are no shortcuts or bypasses - you're stuck
  101.      with a useless file!  Since Cipher encrypts files in-place to ensure
  102.      security, Norton utilities or the like won't help.  Cipher has no
  103.      trapdoors that let you, me, or anyone else decrypt a file without the
  104.      key, so BE CAREFUL!
  105.  
  106.      If you want to try out Cipher right now, just run Cipher with no command
  107.      line arguments.  Cipher will display a brief description of its
  108.      operation that you can use to get started.  While you're getting used to
  109.      Cipher, be sure to work in a test directory with test files to ensure
  110.      that you don't irrevocably scramble something important.
  111.  
  112.  
  113.  
  114.      2   OPERATION
  115.  
  116.      You control Cipher with command line arguments that specify the commands
  117.      to be performed, options, and the files to be encrypted or decrypted.
  118.      The commands and options must precede the files on the command line and
  119.      be separated with blanks.  You can specify multiple options, but only
  120.      one command.  You can use one of the following commands:
  121.  
  122.          COMMAND     MEANING     EXPLANATION
  123.  
  124.          -e          Encrypt     Encrypts the files and prompts you for the
  125.                                  key.  You are only prompted once - the key
  126.                                  you enter is used for all the files.
  127.  
  128.          -e<key>     Encrypt     Encrypts the files using <key>.
  129.  
  130.  
  131.                                       - 2 -
  132.  
  133.  
  134.          -d          Decrypt     Decrypts the files and prompts for the key.
  135.                                  Cipher will only decrypt encrypted files.
  136.                                  If the files were encrypted with the -i
  137.                                  option, Cipher helps you remember the key by
  138.                                  displaying the key description you provided.
  139.                                  If the key you specify is incorrect, Cipher
  140.                                  prompts you for the correct key.
  141.  
  142.          -d<key>     Decrypt     Decrypts the files using <key>.  This
  143.                                  command works like -d above except that the
  144.                                  key provided with the command is used.
  145.  
  146.          -c          Checksum    Computes the cryptographic checksum of
  147.                                  Cipher files so you can ensure that Cipher
  148.                                  has not been corrupted or modified.  See
  149.                                  section 3 for more information.
  150.  
  151.  
  152.      You can use the following options:
  153.  
  154.          OPTION      MEANING     EXPLANATION
  155.  
  156.          -i<desc>    Info        Saves a description of the key used to
  157.                                  encrypt the files.  When you encrypt or
  158.                                  decrypt the files, Cipher displays the
  159.                                  description for you in the key prompt.  For
  160.                                  example, you could use "my student id number
  161.                                  at Penn State".
  162.  
  163.          -r          Re-encrypt  Lets you encrypt a file even if it is
  164.                                  already encrypted.  This is useful when two
  165.                                  people want to control the use of one file -
  166.                                  each person can encrypt with his own
  167.                                  password.  Encrypting a file more than once
  168.                                  also provides even greater security.  A file
  169.                                  encrypted more than once must be decrypted
  170.                                  in reverse order of encryption, i.e. the
  171.                                  first decryption must use the key from the
  172.                                  last encryption.
  173.  
  174.          -s          Suppress    Suppresses screen list of the name of each
  175.                                  file processed or skipped - only a summary
  176.                                  is shown.  Error messages are not
  177.                                  suppressed.
  178.  
  179.          -q          Quiet       Suppresses screen list of all informational
  180.                                  messages.  Error messages are not
  181.                                  suppressed.
  182.  
  183.  
  184.      If you specify the file names on the command line as described above,
  185.      Cipher encrypts or decrypts the files in place.  File names can include
  186.      drive letters, paths, and wild-card characters ("*" and "?") in the
  187.      standard MS-DOS format.  To specify multiple file names, separate the
  188.      names with spaces.
  189.  
  190.      If you want to make a new file and leave the original file untouched,
  191.      use input and output redirection (invoked via the "<", ">", and "|"
  192.      command line options) to identify the files.  File redirection is
  193.      described in the MS-DOS Reference manual under "Redirecting Command
  194.      Input and Output".  You can only process one file at a time this way.
  195.  
  196.                                       - 3 -
  197.  
  198.  
  199.      Make sure the input and output file are different, or the file will be
  200.      destroyed.  An example of redirection is shown below.
  201.  
  202.      Some examples of Cipher use are as follows:
  203.  
  204.                    cipher  -eMike  -i"my first name"  test.*
  205.  
  206.          All files in the current directory matching the name test.* are
  207.          encrypted in place using key "Mike".  When you decrypt the files the
  208.          key description (i.e. "my first name") will be shown with the
  209.          prompt.
  210.  
  211.                    cipher  -d  a:\mp\data\*.*  a:\wp\*.*
  212.  
  213.          All files on drive a: in directory \mp\data and \wp that were
  214.          previously encrypted are decrypted in place.  Unencrypted files are
  215.          left alone.  You are prompted for the decryption keys.  Cipher
  216.          remembers the keys you enter during the run, and only prompts you
  217.          for different keys.
  218.  
  219.                    cipher  -eMike
  220.  
  221.          All files specified interactively (i.e. in response to Cipher's
  222.          prompt) are encrypted in place using the key "Mike".
  223.  
  224.                    cipher  -eMike  <letter.src  >letter.snd
  225.  
  226.          File letter.src is encrypted with key "Mike" and written to file
  227.          letter.snd.  File letter.src is not altered.
  228.  
  229.  
  230.  
  231.      If you want to interrupt Cipher at any time press Ctrl-C.  If Cipher is
  232.      waiting for input from you it will terminate immediately.  If Cipher is
  233.      encrypting or decrypting a file, it will terminate when the operation is
  234.      complete.
  235.  
  236.  
  237.  
  238.      3   SECURITY ISSUES
  239.  
  240.      Note that Cipher gives you the capability to protect your information,
  241.      but doesn't guarantee safety.  To be sure your files are secure, there
  242.      are several things you should remember:
  243.  
  244.          1.  Don't hard-code your keys in batch files.  Anyone can run or
  245.              examine them and decrypt your files.
  246.  
  247.          2.  Don't use keys that can be easily guessed, such as your initials
  248.              or your children's names.  This sort of thing is the first
  249.              method most attackers will try.
  250.  
  251.          3.  Don't write your keys down and leave them somewhere they can be
  252.              found.
  253.  
  254.          4.  Be careful with the -i (key description) option.  To be safe,
  255.              you must refer to information only YOU know.
  256.  
  257.          5.  Use long keys.  It's common to use short keys because they're
  258.              easy to remember and enter.  The problem is that exhaustive
  259.              testing of all short keys could succeed with relatively little
  260.  
  261.                                       - 4 -
  262.  
  263.  
  264.              effort.  Use at least 8 randomly-chosen characters for good
  265.              protection, and 20 for maximum security.  Another good approach
  266.              is to use a phrase, e.g. "other red system".  Phrases are easy
  267.              to remember, and provide excellent protection if chosen
  268.              randomly.
  269.  
  270.          6.  Make sure that no copies of confidential files remain on unused
  271.              portions of your disk.  This problem can occur any time a
  272.              program (e.g. a WP editor or spreadsheet) updates a file.  A
  273.              knowledgeable user can poke around the disk (using an undelete
  274.              utility or disk editor) looking for interesting stuff.  If you
  275.              aren't careful, copies of information that you've carefully
  276.              encrypted can be recovered by an unauthorized person.
  277.  
  278.              The first place your data may appear is in unallocated disk
  279.              clusters.  This happens when you delete a file that contains
  280.              confidential data.  An undelete program can recreate the file if
  281.              it is run before the space is used for another file.  You can
  282.              zero this space with Zerofree, a shareware program I distribute.
  283.              Zerofree can clear all unallocated data space and directory
  284.              entries so your data cannot be recovered.
  285.  
  286.              The second location is tougher because your confidential data
  287.              can be at the end of ANY file, not just the one you're using.
  288.              This problem occurs when you delete a confidential file, and the
  289.              freed space is allocated to another file (but only partially
  290.              written into) when the file is created or extended.  Cipher
  291.              takes care of the file being encrypted by zeroing the unused
  292.              area at its end, but it doesn't do the same for other files on
  293.              the disk.  You can use Zerofree to clear this space too.  Make
  294.              sure that you run Zerofree on any files created or changed by
  295.              any program that runs after any file containing confidential
  296.              information has been deleted or changed.
  297.  
  298.          7.  Use the cryptographic checksum feature to protect against Trojan
  299.              horses or other attacks.  It's surprisingly simple for a
  300.              knowledgeable attacker to patch a program so it does what he
  301.              wants.
  302.  
  303.              To compute the cryptographic checksum, run Cipher with the -c
  304.              command.  Cipher asks you for a key, combines this key
  305.              cryptographically with the file, computes the checksum, and
  306.              displays it.  You can use any key you want.  If anyone changes
  307.              the file or you use a different key, the checksum changes too.
  308.              Someone who wants to compromise Cipher is frustrated because
  309.              they don't know what key you are using, so they can't make the
  310.              corrupted Cipher display the right checksum.  If you compute the
  311.              checksum when you receive Cipher and write down the key and
  312.              checksum in a safe place, you can recompute the checksum at any
  313.              time to check for changes.  As long as you keep your key secret
  314.              (and you started with an unmodified Cipher), no one can change
  315.              Cipher and still have it produce the same checksum.
  316.  
  317.              The cryptographic checksum feature can also detect corruption of
  318.              Cipher that occurred before you received it.  You can detect
  319.              Trojan horses, viruses, or any other alterations to both the
  320.              program and this documentation.  To test for changes you use a
  321.              key/checksum combination that you can request from me you when
  322.              you register.  You compute the checksum for your Cipher using
  323.              the key I provide.  If your Cipher doesn't display the checksum
  324.              I send, your copy of Cipher is corrupted.  Since I send a
  325.  
  326.                                       - 5 -
  327.  
  328.  
  329.              different key (and checksum) to each registered user, no
  330.              attacker will be able to obtain your key and checksum and
  331.              circumvent the protection.  (Note that when you run any unknown
  332.              program, including Cipher, you run the risk of it performing
  333.              mischief on your system, so be careful.  It's probably not too
  334.              helpful to learn that the checksum is invalid if a Trojan horse
  335.              has just erased your disk!)
  336.  
  337.      This all sounds obvious (except for items 6 and 7), but many attempts at
  338.      security are compromised because of this type of carelessness.
  339.  
  340.  
  341.  
  342.      4   OPERATIONAL DETAILS
  343.  
  344.      If you don't specify enough information via the command line, Cipher
  345.      prompts you.  If you don't code -e or -d, Cipher asks if you want to
  346.      encrypt or decrypt.  Cipher also prompts you for the key, the key
  347.      description, or the file names if you don't specify them.  You can press
  348.      ESC at a key or description prompt to skip the current file and go on.
  349.      File names can include drive letters, paths, and wild-card characters in
  350.      the standard MS-DOS format.  To specify multiple file names separate the
  351.      names with spaces.  When you enter file names from the prompt, Cipher
  352.      lists the name of any files skipped, even if you specified the -s or -q
  353.      option.
  354.  
  355.      You may also specify commands and options (but not files) in the
  356.      environment variable CIPHROPT.  You can use all commands and options
  357.      available from the command line.
  358.  
  359.      Here are some other points that may be of interest:
  360.  
  361.          1.  Cipher is careful not to encrypt itself.  This protects you from
  362.              scrambling Cipher and having no way to unscramble it.
  363.  
  364.          2.  When Cipher encrypts or decrypts a file it doesn't alter the
  365.              file's attributes or date/time stamp.
  366.  
  367.          3.  Cipher will not alter files with the system, hidden, or read-
  368.              only attributes.
  369.  
  370.          4.  Encrypted files contain all 256 character combinations even if
  371.              the original file only contained ASCII.  If you want to transmit
  372.              an encrypted file via a modem make sure you use a communication
  373.              protocol that supports binary files.
  374.  
  375.          5.  The key may consist of up to 50 printable characters.  Upper and
  376.              lower case characters are considered to be different.  If you
  377.              enter too many characters or a non-printable character you are
  378.              notified.
  379.  
  380.          6.  Cipher checks files when it decrypts them to determine if they
  381.              have been damaged.  When Cipher detects a damaged file it
  382.              notifies you of the problem.  Cipher does its best to decrypt a
  383.              damaged file, but cannot proceed if the encryption mark at the
  384.              end of the file is damaged.
  385.  
  386.          7.  It is possible that on a full disk Cipher will run out of disk
  387.              space when it tries to append the encryption mark to the end.
  388.              (The mark is described in section 5.)  If this occurs you will
  389.  
  390.  
  391.                                       - 6 -
  392.  
  393.  
  394.              be warned.  No damage results - Cipher does not encrypt the file
  395.              in this case.  This problem doesn't occur with decryption.
  396.  
  397.          8.  It is possible that even with the safeguards built into Cipher
  398.              and careful use you will find yourself with an encrypted file
  399.              and only a vague memory of the key.  If you just can't guess the
  400.              right key, you're stuck.  Perhaps a close personal friend who
  401.              works for the National Security Agency could help, but short of
  402.              that there is no way to recover.  I can't help you.  Sorry, but
  403.              that is, after all, the whole point of this product.
  404.  
  405.  
  406.  
  407.      5   TECHNICAL INFORMATION
  408.  
  409.      The encryption method used in Cipher is described in the paper "Wide-
  410.      Open Encryption Design Offers Flexible Implementations" by Robert Scott,
  411.      CRYPTOLOGIA, January 1985.  Scott's method uses principles derived from
  412.      the Data Encryption Standard (DES), a standard for commercial and non-
  413.      military governmental data encryption adopted by the National Bureau of
  414.      Standards in 1977.  The Scott method employs a longer key (providing
  415.      greater security) and executes more rapidly than the DES method.  The
  416.      algorithm is coded in assembly language and optimized to make it as fast
  417.      as possible.
  418.  
  419.      Cipher uses the Scott method in Cipher Feed Back mode.  This makes the
  420.      encrypted text more secure, and ensures that patterns in the source file
  421.      cannot be detected in the encrypted file.  It also allows a random value
  422.      (based on the time of day) to be introduced into the encryption
  423.      calculation, so that each time a file is encrypted it's represented
  424.      differently.  This increases the difficulty of applying cryptanalysis
  425.      techniques to attempt to decrypt a file without the key, and prevents
  426.      attackers from identifying equal files.
  427.  
  428.      Cipher takes additional measures to ensure security.  Files are
  429.      encrypted and decrypted in place (except when file redirection is used)
  430.      to ensure that the original contents of the file are overwritten.  This
  431.      also avoids running out of space on full disks.  When files are
  432.      encrypted in place, the unused portion of the last cluster of the file
  433.      (which often replicates data in the file) is zeroed so that no
  434.      unencrypted information can be found there.
  435.  
  436.      It should be noted that methods used by many commercial encryption
  437.      products are not as secure as claimed.  The paper "A survey of Data
  438.      Insecurity Packages" by Martin Kochanski, CRYPTOLOGIA, January 1987,
  439.      evaluated the methods used by SuperKey (Borland International), Padlock
  440.      (Sovereign Software), PS3 (Stralfors Data Products), Crypt (BCS), and
  441.      N-Code (K+L Software).  Kochanski found that "all these packages are
  442.      vulnerable to known-plaintext attacks; some with as few as 6 bytes of
  443.      plaintext needed.  Moreover, all the packages except N-Code can be
  444.      broken quite effectively without any known plaintext at all."  He
  445.      demonstrated his point by breaking the packages using standard
  446.      cryptanalysis techniques and an IBM PC.
  447.  
  448.      Kochanski did not examine Cipher.  He did point out the weakness of the
  449.      methods he examined - "All the packages we have looked at suffer from a
  450.      lack of diffusion: a small change in the plaintext causes only a small
  451.      change in the ciphertext."  In the Scott method, each bit of plaintext
  452.      affects 64 bits of ciphertext.  This diffusion is the same provided with
  453.      the DES method.
  454.  
  455.  
  456.                                       - 7 -
  457.  
  458.  
  459.      Weaknesses similar to those found by Kochanski exist in the encryption
  460.      provided in many popular spreadsheet, word processing, and compression
  461.      products.  Commercial cryptanalysis programs that can decrypt such files
  462.      without the password are available.  If you rely on such encryption
  463.      you're vulnerable not only to cryptanalysts, but also to anyone who buys
  464.      a cryptanalysis program!  The bottom line is that if you want to be sure
  465.      that your files are secure, you must be very careful in selecting an
  466.      encryption package.
  467.  
  468.      The marking feature that enables Cipher to recall information about an
  469.      encrypted file is implemented by appending information to the end of a
  470.      file when it is encrypted.  This information contains an encryption
  471.      signature (used to determine if the file is encrypted), the key
  472.      description (that is displayed in the decryption key prompt), the random
  473.      initial Cipher Feed Back value (used to initialize the decryption
  474.      calculation),  a checksum (used to detect corruption of the file), and
  475.      some encrypted text (used to recognize the correct key at decryption
  476.      time).  Note that the encryption key itself if NOT included.  The file
  477.      is returned to its original length when it is decrypted.
  478.  
  479.      The cryptographic checksum feature was suggested by Dr. Fred Cohen in
  480.      the paper "A Cryptographic Checksum for Integrity Protection",
  481.      Computers & Security #6, 1987.  Cipher uses the Scott encryption method
  482.      instead of the RSA cryptosystem and reduction in modulus described by
  483.      Cohen.  Each block of the file is combined with a number indicating its
  484.      position in the file, encrypted with the user-provided key, and added
  485.      (without carry) into the cumulative checksum.  As a result any change in
  486.      a character of the file or its position is reflected in the checksum.
  487.  
  488.  
  489.  
  490.      6   LICENSING, WARRANTY, and REGISTRATION
  491.  
  492.      Cipher is distributed as shareware.  I encourage you to try the program
  493.      and share it with friends as long as:
  494.  
  495.          1.  The Cipher program, this documentation, and any other Cipher
  496.              files are not modified and are distributed together.
  497.  
  498.          2.  Cipher is not provided as a part of any other product.
  499.  
  500.          3.  No fees, beyond a reasonable fee for media, duplication, or
  501.              downloading costs, are charged.
  502.  
  503.          4.  Cipher is not used for commercial, government, or business
  504.              purposes without registration.  Each registration is for a
  505.              single person or a single computer.
  506.  
  507.  
  508.      If you decide to use Cipher regularly you are required to register.  All
  509.      proceeds from Cipher are directed to Oxfam America, an international
  510.      self-help and disaster relief organization that I've supported for many
  511.      years.  You can find more about Oxfam by reading section 7.  If you
  512.      register you get the satisfaction of saving lives in Africa, Asia, and
  513.      South America, and encourage me to produce more software at reasonable
  514.      prices.  You also get the following benefits:
  515.  
  516.          If you request, I'll provide a key/checksum pair for each Cipher
  517.          file.  You can then verify that the Cipher you have received is
  518.          unmodified and contains no Trojan horses, computer viruses, or other
  519.          illegitimate changes.
  520.  
  521.                                       - 8 -
  522.  
  523.  
  524.          I'll answer questions on Cipher and its use.  You can contact me at
  525.          the address shown below or via CompuServe mail.
  526.  
  527.          I'll make an attempt (but no guarantee!) to fix any problems you
  528.          find.
  529.  
  530.          If any important bugs are found I will notify you.  I'll do the same
  531.          for any flaws found in the encryption method that compromise
  532.          security.
  533.  
  534.          I'll send an updated version of Cipher to you at no additional cost.
  535.          You can request this when I notify you of a new version, when I've
  536.          fixed a bug you have found, or any other time.  I'll only do this
  537.          once per registered user.
  538.  
  539.  
  540.      Registration is $40.  Please make your check payable to Oxfam America -
  541.      I'll send your checks to Oxfam and record your registration information.
  542.      I'll also accept original canceled checks or receipts from Oxfam that
  543.      list you as the donor.  Please send payments, registration information,
  544.      and any other correspondence to:
  545.  
  546.                 Mike Albert
  547.                 P. O. Box 535
  548.                 Bedford, MA   01730
  549.  
  550.      I can also be reached via CompuServe mail; my userid is [70325,1134].
  551.  
  552.      Anyone can order the latest version of Cipher directly from me for a fee
  553.      of $5.00.  Just send the order (make sure it contains your mailing
  554.      address) with your check to the above address.  You'll receive a 5 1/4
  555.      inch 360K floppy disk containing the Cipher executable and documentation
  556.      files.  If you need other formats (5 1/4 inch 1.2Mb or 3 1/2 inch 720Kb
  557.      or 1.44Mb) I can provide them.  If you live outside North America,
  558.      please send extra money for the increased postage.
  559.  
  560.      I welcome all comments and suggestions concerning Cipher.  I'd like to
  561.      know how you are using Cipher and what problems, bugs, or weaknesses you
  562.      find.  If you tell me about enhancements or changes you're interested
  563.      in, I'll make an effort to provide them.  I'll also include other
  564.      shareware products I produce.  I'd also like to know what other products
  565.      you would like to see.
  566.  
  567.      This program is provided "as is" without warranty of any kind, either
  568.      express or implied, but not limited to the implied warranties of
  569.      merchantability or fitness for a particular purpose.  The entire risk as
  570.      to the results and performance of the program is assumed by the user.
  571.      Should the program prove defective, the user assumes the entire cost of
  572.      all necessary servicing, repair, or correction.
  573.  
  574.  
  575.  
  576.      7   OXFAM AMERICA
  577.  
  578.      As stated in Oxfam literature,
  579.  
  580.          "Oxfam America is an international agency that funds self-help
  581.          development projects and disaster relief in poor countries in
  582.          Africa, Asia, and Latin America, and also prepares and distributes
  583.          educational materials for people in the United States on the issues
  584.          of development and hunger.  The name "Oxfam" comes from the Oxford
  585.  
  586.                                       - 9 -
  587.  
  588.  
  589.          Committee for Famine Relief, founded in England in 1942.  Oxfam
  590.          America, based in Boston, was formed in 1970, and is one of seven
  591.          autonomous Oxfams around the world (Great Britain, Australia,
  592.          Belgium, Canada, Quebec, Hong Kong and the United States).  Oxfam is
  593.          a nonsectarian, nonprofit agency that neither seeks or accepts U.S.
  594.          government funds.  All contributions are tax-deductible to the
  595.          extent permitted by law."
  596.  
  597.      For more information, you can phone Oxfam at 617-482-1211, or write to
  598.      them at:
  599.  
  600.                   Oxfam America
  601.                   26 West Street
  602.                   Boston, MA  02111-1206
  603.  
  604.  
  605.  
  606.      8   REVISION HISTORY
  607.  
  608.          CIPHER version 1.6 - 8/20/93
  609.  
  610.              Fixed a bug introduced in version 1.5: when decrypting a file
  611.              encrypted with a 1, 2, or 3 character key, Cipher would
  612.              sometimes reject the correct key.
  613.  
  614.  
  615.          CIPHER version 1.5 - 12/5/92
  616.  
  617.              Changed operation of the Scott encryption algorithm from
  618.              Electronic Code Book mode to Cipher Feed Back mode to improve
  619.              security.
  620.  
  621.              Added use of a random number when encrypting so that every time
  622.              a file is encrypted it's represented differently.  This
  623.              increases the difficulty of applying cryptanalysis techniques to
  624.              attempt to decrypt a file without the key, and prevents
  625.              attackers from identifying equal files.
  626.  
  627.              Added use of a random number when creating the key checking text
  628.              stored in the encrypted file.  This prevents an attacker from
  629.              examining two files to determine if they were encrypted with the
  630.              same key.
  631.  
  632.              Encoded the key description (specified by the -i option) in the
  633.              encrypted file so that it's not visible when the file is viewed.
  634.  
  635.              Corrected a problem that precluded encrypting files residing on
  636.              Novell network drives.
  637.  
  638.              Corrected a problem that precluded encrypting files residing on
  639.              DEC PathWorks network drives and very large conventional drives.
  640.  
  641.              Note: Earlier versions of Cipher can't decrypt files encrypted
  642.                 by version 1.5.  Version 1.5, however, can decrypt files
  643.                 encrypted by earlier Cipher versions.
  644.  
  645.  
  646.          CIPHER version 1.4 - 9/25/92
  647.  
  648.              Added a test for corruption of encrypted files.  The test is
  649.              performed when a file is decrypted.
  650.  
  651.                                       - 10 -
  652.  
  653.  
  654.              Added the option to skip a file when entering a decryption key.
  655.              This is useful when you can't remember the key of one file, but
  656.              want to continue with the rest.  To bypass the file, press Esc
  657.              at the key prompt.
  658.  
  659.              Corrected minor problems.
  660.  
  661.              Updated the documentation to show new mailing address and
  662.              CompuServe contact information.
  663.  
  664.              Note: Earlier versions of Cipher can't decrypt files encrypted
  665.                 by version 1.4.  Version 1.4, however, can decrypt files
  666.                 encrypted by earlier Cipher versions.
  667.  
  668.  
  669.          CIPHER version 1.3 - 3/18/90
  670.  
  671.              Added -q option to suppress all informational messages.
  672.  
  673.  
  674.          CIPHER version 1.2 - 8/1/89
  675.  
  676.              Added decryption of files encrypted by earlier versions of
  677.              Cipher.  Version 1.2 will decrypt files encrypted by versions
  678.              1.00 and 1.1.  Versions 1.00 and 1.1 can only decrypt files
  679.              encrypted by themselves.
  680.  
  681.              Added encryption of files that are already encrypted.  This lets
  682.              two people control the use of one file - each person can encrypt
  683.              with his own password.  It also provides even greater security.
  684.              The feature is invoked via the -r option.
  685.  
  686.  
  687.          CIPHER version 1.1 - 7/1/89
  688.  
  689.              Added encryption/decryption of files without overwriting
  690.              original file.
  691.  
  692.              Enhanced encryption method to ensure that patterns in the
  693.              original file cannot be detected by examining the encrypted
  694.              file.  Note that files generated by Cipher versions 1.00 and 1.1
  695.              are incompatible.
  696.  
  697.              Directed all Cipher proceeds to Oxfam America.
  698.  
  699.              Improved some messages.
  700.  
  701.  
  702.          CIPHER version 1.00 - 3/30/88
  703.  
  704.              Original program.
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.                                       - 11 -