

            des (3) --- NBS Data Encryption Standard Implementation  01/13/83


            _U_s_a_g_e

                 des  (-e | -d)  [-k <key>]  {filename}  >output_file


            _D_e_s_c_r_i_p_t_i_o_n

                 'Des'  is  an implementation of the National Bureau of Stan-
                 dards Data Encryption Standard.  It can be used for  protec-
                 tion of on-line copies of sensitive information.

                 The  first  argument must be "-e" (for "encryption") or "-d"
                 (for decryption).  The DES is not  self-inverting  like  the
                 exclusive-or  algorithm  used in 'crypt'; the encryption and
                 decryption processes are different and one or the other must
                 be selected.

                 The optional argument sequence "-k <key>"  can  be  used  to
                 specify  a  key  to  control  the  encryption  or decryption
                 process.  If a key is not specified  on  the  command  line,
                 'des'  will  print a prompt message, turn off the terminal's
                 character echo, and read the key.   Furthermore,  after  the
                 key  has  been  read,  'des'  will  prompt  the user for key
                 validation; the key must then be re-entered to  insure  that
                 no  typographical  errors  occurred  during the original key
                 entry.

                 Remaining arguments must be the names  of  files  containing
                 information  to be encrypted or decrypted.  Filenames may be
                 read from standard input as well as from the  command  line;
                 see  the  reference  manual  entry  for  'cat'  for  further
                 information.  If no filenames  are  specified,  'des'  takes
                 data from its first standard input.  DO NOT use this feature
                 to  read  data from the terminal; 'des' uses binary I/O with
                 the unfortunate  side  effect  that  end-of-file  cannot  be
                 generated from a terminal keyboard.

                 The output of 'des' is always produced on its first standard
                 output.   Because 'des' processes data in binary rather than
                 ASCII form, its output will not be displayed correctly on  a
                 terminal.   Always direct the output of 'des' to a disk file
                 or into a pipe for further processing.


            _E_x_a_m_p_l_e_s

                 des -e -k turkey document >document.des
                 des -d -k turkey document.des >original_document


            _M_e_s_s_a_g_e_s

                 "Usage:  des ..."  for improper argument syntax.
                 "keys do not match" if the validation  key  entry  does  not
                 match the original key entry.



            des (3)                       - 1 -                       des (3)




            des (3) --- NBS Data Encryption Standard Implementation  01/13/83


            _B_u_g_s

                 Binary  I/O  is  needed to handle the arbitrary bit-patterns
                 output by the DES algorithm without  considerable  expansion
                 of  the  output text.  Unfortunately, binary I/O from and to
                 the terminal does not behave rationally at all.

                 The present implementation is  very  slow,  averaging  about
                 1730 bits per CPU second throughput.


            _S_e_e _A_l_s_o

                 crypt (1)












































            des (3)                       - 2 -                       des (3)


