des_read_password() -- SSLeay 0.9.0b -- January 1999

NAME

des_read_pw_string, des_read_password, des_read_2passwords -- read DES password

SYNOPSIS

#include "des.h"

int des_read_pw_string(buf,length,prompt,verify)
char *buf, *prompt;
int length, verify;

int des_read_password(key,prompt,verify)
des_cblock *key;
char *prompt;
int verify;

int des_read_2passwords(key1,key2,prompt,verify)
des_cblock *key1, *key2;
char *prompt;
int verify;

DESCRIPTION

Please note that this library was originally written to operate with eBones, a version of Kerberos that had had encryption removed when it left the USA and then put back in. As such there are some routines that I will advise not using but they are still in the library for historical reasons. For all calls that have an 'input' and 'output' variables, they can be the same.

All of the encryption functions take what is called a des_key_schedule as an argument. A des_key_schedule is an expanded form of the des key. A des_key is 8 bytes of odd parity, the type used to hold the key is a des_cblock. A des_cblock is an array of 8 bytes, often in this library description I will refer to input bytes when the function specifies des_cblock's as input or output, this just means that the variable should be a multiple of 8 bytes.

des_read_pw_string() is used to get a password from the terminal with echo turned off. Buf is where the string will end up and length is the size of buf. Prompt is a string presented to the 'user' and if verify is set, the key is asked for twice and unless the 2 copies match, an error is returned. A return code of -1 indicates a system error, 1 failure due to use interaction, and 0 is success.

des_read_password() combines des_read_pw_string() with des_string_to_key().

des_read_2passwords() combines des_read_pw_string() with des_string_to_2key().