                                RDEMO:
                   Demonstration program for RSAREF
                            User's manual

                           RSA Laboratories
                            March 2, 1992

    Copyright (C) 1991-2 RSA Laboratories, a division of RSA Data
                            Security, Inc.


This note describes RDEMO, a demonstration program included with the
RSAREF cryptographic toolkit.

RDEMO is a simple program that exercises RSAREF's cryptographic
operations. With RDEMO three "users" can perform the cryptographic
operations of signing, sealing, verifying, and opening files, as well
as generating key pairs.

RDEMO has a main menu with six commands. The main menu is displayed
when you start up RDEMO, and is displayed again after RDEMO performs
a command. After you select a command RDEMO prompts for parameters
such as file names.

RDEMO's commands and their parameters are summarized in the following
table.


          RDEMO COMMAND                       PARAMETERS

S - Sign a file                 name of file
  sign contents with private    whether you want content encoded
    key                         which user you want to sign as
  optionally encode contents    name of file in which to save
    in PEM character set(*)       signature
                                name of file in which to save encoded
                                  content(**)

E - sEal a file                 name of file
  sign contents with private    which user you want to sign as
    key                         which user you want to seal for
  generate random DES key       names of four files in which to save
    IV(***)                       encrypted signature, encrypted key,
  encrypt content, signature      IV and encrypted content
    with DES key         

V - Verify a signed file        whether content is encoded
  decode contents if encoded    names of two files in which (possibly
    in PEM character set          encoded) content and signature are
  verify signature on             saved
    contents with public key    which user signed the file
                                name of file in which to save
                                  recovered content(**)

O - Open a sealed file          names of four files in which encrypted
  decrypt encrypted DES key       content, encrypted signature,
    with private key,             encrypted key and IV are saved
  decrypt encrypted content     which user signed the file
    signature with DES key      which user the file was sealed for
  verify signature on           name of file in which to save
    contents with public key      recovered content

G - Generate a keypair          length of key in bits (508-1024)
  generate RSA public/          name of file in which to save key pair
    private key pair

Q - Quit


(*) A 65-character subset of ASCII defined in RFC 1113. Most other
    quantities are encoded in this set automatically.
(**) Only if content is encoded.
(***) Initialization vector for cipher-block chaining mode of DES.


NOTES

  1. You select a user by number: '1', '2', or '3'. The first two
     users have built-in RSA key pairs. The third user's key pair is
     the one generated by RDEMO's 'Generate a key pair' command. The
     third user is not active until the key pair is generated.

  2. How you specify file names to RDEMO depends on your operating
     system. RDEMO recognizes the special file name '-' as the
     standard output stream (typically the screen display). You can
     usually cancel an RDEMO command by giving a blank line in
     response to a prompt for a parameter.

  3. RDEMO reads most files and writes all files in binary mode. The
     only exceptions are the files containing contents to be signed
     or sealed. Those files are read in text mode, one line at a
     time, with RDEMO replacing any <CR> and <LF> delimiters with a
     <CR><LF> pair before encrypting, computing a message digest, or
     encoding in printable ASCII. The <CR><LF> processing compensates
     for differences in line delimiters in different operating
     systems. RDEMO has a maximum file size of 1000 bytes.

  4. RDEMO defaults to the MD5 message-digest algorithm for all
     signatures. If you want the MD2 message-digest algorithm, put
     the string '-2' on the command line when you start RDEMO.

  5. If you want RDEMO not to display the main menu or any prompts,
     put the string '-s' on the command line when you start RDEMO.
     This is useful when RDEMO's input stream comes from a script
     file.

  6. RDEMO seeds RSAREF's random number generator with a fixed value.
     As a result, RDEMO sessions with the same commands and
     parameters produce the same results. The use of a fixed seed
     value is not recommended for non-demonstration applications.
