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 and delimiters with a pair before encrypting, computing a message digest, or encoding in printable ASCII. The 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.