home *** CD-ROM | disk | FTP | other *** search
/ ftp.chalmers.se / ftp.chalmers.se.tar / ftp.chalmers.se / README-2.2 < prev   
Text File  |  1993-10-12  |  6KB  |  177 lines

  1.  
  2.             DES SOFTWARE PACKAGE
  3.                 Version 2.2
  4.  
  5.  
  6.                                        _
  7. Copyright (c) 1990,1991,1992,1993 Stig Ostholm.
  8. All Rights Reserved
  9.  
  10.  
  11. The author takes no responsibility of actions caused by the use of this
  12. software package and does not guarantee the correctness of the functions.
  13.  
  14. This software package may be freely distributed for non-commercial purpose
  15. as long as the copyright notice is kept. Any changes made should be
  16. accompanied by a comment indicating who made the change, when it was made
  17. and what was changed.
  18.  
  19. This software package, or any parts of it, may not be used or in any way
  20. re-distributed for commercial purpose without the authors permission.
  21. The author keeps the right to decide between of what is commercial and
  22. what is non-commercial purpose.
  23.  
  24. Restrictions due to national laws governing the use, import or export of
  25. cryptographic software is the responsibility of the software user/importer/
  26. exporter to follow.
  27.  
  28.  
  29.  
  30.             DES SOFTWARE PACKAGE
  31.                 Version 2.2
  32.  
  33.  
  34. This software package is an implementation of the Data Encryption Standard
  35. (DES) as described in "Federal Information Processing Standards Publication
  36. 46", 1977 January 15. The triple DES encryption described in "ANSI X9.17-1985"
  37. has also been added.
  38.  
  39. The implementation contains a general purpose DES library and user programs
  40. for file encryption/decryption. The library is compatible with the DES
  41. library from MIT (Massachusetts Institute of Technology) at function call
  42. level, as described in the manual DES(3). There are also functions
  43. available in this implementation that are not a part of the MIT library.
  44.  
  45.  
  46. The header file "des.h" contains ANSI C function prototypes for all library
  47. functions.
  48.  
  49. This library has only been compared against the MIT library through the
  50. manual page due to export restrictions of cryptographic software outside the
  51. US.
  52.  
  53.  
  54. Changes from the MIT library:
  55.  
  56.     * The base encryption algorithm (default: `des_dea') may be
  57.       changed by setting `des_core'.
  58.  
  59.     * The method of converting a text-string to a DES key may be changed
  60.       by setting `des_strkey'.
  61.  
  62.     * Encryption methods using an initialization vector may return
  63.       a modified vector from the last iteration, making it possible
  64.       to chain calls to an encryption/decryption function into an
  65.       unbroken sequence.
  66.  
  67.     * Additional functions not in the MIT library are:
  68.  
  69.         des_dea            - Identical to des_ecb_encrypt.
  70.         des_dea3        - Triple DES encryption.
  71.         des_dea3b        - Triple DES encryption
  72.                       (des_dea3b != des_dea3).
  73.         des_core        - Pointer to `des_dea' (or `des_dea3').
  74.         des_sched        - Same as des_key_sched without any parity
  75.                       or weak-key test.
  76.         des_ecb2_encrypt    - The Electronic Code Book mode of
  77.                       encryption/decryption on a user
  78.                       specified number of bytes.
  79.         des_cfb8_encrypt    - The 8-bit Cipher Feed-Back mode of
  80.                       encryption/decryption on a user
  81.                       specified number of bytes.
  82.         des_ofb8_encrypt    - The 8-bit Output Feed-Back mode of
  83.                       encryption/decryption on a user
  84.                       specified number of bytes.
  85.         des_is_weak_key        - Tests if the key is weak.
  86.         des_is_semiweak_key - Tests if the key is semi-weak.
  87.         des_no_key_schedule - Returns the number of different keys
  88.                       in a key schedule.
  89.         des_strkey        - Pointer to the actual function used
  90.                       by `des_string_to_key'.
  91.         des_random_cblock   - Generates a random value in a 64-bit
  92.                       block.
  93.         des_hex_to_cblock   - returns the value of a string with a
  94.                       64-bit hexadecimal number in a 64-bit
  95.                       block.
  96.         des_print_cblock    - Prints a 64-bits block as a 64-bit
  97.                       hexadecimal value on stdout.
  98.         des_read_cblock        - Similar to des_read_password but
  99.                       accepts only 64-bit hexadecimal
  100.                       numbers.
  101.         des_read_hexkey        - Similar to des_read_cblock but
  102.                       parity adjusts the value.
  103.  
  104.         encrypt            - Encryption/decryption function 
  105.                       described in X/Open Portability
  106.                       Guide (December 1988).
  107.         setkey            - Key handling function described
  108.                       in X/Open Portability Guide.
  109.  
  110.     * The `quad_cksum' routine is not a part for this release but
  111.       are separately available and easy to install in the package.
  112.       See the file QUAD_CKSUM for more information.
  113.  
  114.  
  115. User programs:
  116.  
  117.     * descrypt    - General purpose file encryption/decryption
  118.               program.
  119.  
  120.     * deskey    - Show the actual DES keys used or returns random
  121.               keys.
  122.  
  123.  
  124. Utility programs:
  125.  
  126.     These programs are useful when modifying or optimizing the code.
  127.  
  128.     * desktest    - A simple test of the DES key algorithm.
  129.  
  130.     * desbench    - Simple benchmark program for the base DES,
  131.               triple DES and key schedule generation.
  132.  
  133.     * desvrfy    - Simple verification program for the base DES
  134.               and triple DES algorithms.
  135.  
  136.  
  137. Building the package:
  138.  
  139.     The building process is fairly straight-forward. There are,
  140.     however, some special things to note:
  141.  
  142.     * Makefiles    - Some makefile configurations (such as CC) can
  143.               be set in the top-level makefile are then
  144.               propagated to the subdirectory makfiles when
  145.               building. Note: typing `make' in a subdirectory
  146.               does NOT include changes made to the top makefile.
  147.  
  148.     * make depend    - Has not been tested.
  149.  
  150.     * util/ranllib    - This is a shell-script wich does nothing.
  151.               This script is run if no ranlib program can
  152.               be found in the path since the `util/' directory
  153.               is appeded to the path in the top-level makefile.
  154.               The idea is to prevent makefiles from failing
  155.               on systems wihtout ranlibmm (such as SunOS 5.x).
  156.  
  157.     * lib/dea    - Some files in this library are compiled by first
  158.               doing test-compiles of different version and
  159.               performing benchmarks to find the fastest method.
  160.               This can be prevented by making conigurations
  161.               by hand and changing the makefile. Please study
  162.               lib/dea/Makefile before attempting this.
  163.  
  164.  
  165. If you find any bugs or porting problems, please inform the author about
  166. these problems (and fixes if there are any).
  167.  
  168.  
  169.                          _
  170.                     Stig Ostholm
  171.                     Department of Computer Engineering
  172.                     Chalmers University of Technology
  173.                     ----------------------------------
  174.                     Email: ostholm@ce.chalmers.se
  175.                     Phone: +46 31 772 1703
  176.                     Fax:   +46 31 772 3663
  177.