des_crypt(3R) ONC 5.4R3.00 des_crypt(3R)
NAME
descrypt, ecbcrypt, cbccrypt, dessetparity - fast DES encryption
SYNOPSIS
#include <descrypt.h>
int ecbcrypt(key, data, datalen, mode)
char *key;
char *data;
unsigned datalen;
unsigned mode;
int cbccrypt(key, data, datalen, mode, ivec)
char *key;
char *data;
unsigned datalen;
unsigned mode;
char *ivec;
void dessetparity(key)
char *key;
DESCRIPTION
NOTE: Secure RPC using DES Authentication is an additional feature
that must be purchased separately from the DG/UX (Trademark) ONC
(Trademark)/NFSĀ® package. You must have this feature to use the
routines described in this manual page.
ecbcrypt() and cbccrypt() implement the NBS DES (Data Encryption
Standard). These routines are faster and more general purpose than
crypt(3C) and crypt(3X). They also are able to utilize DES hardware
if it is available. ecbcrypt() encrypts in ECB (Electronic Code
Book) mode, which encrypts blocks of data independently. cbccrypt()
encrypts in CBC (Cipher Block Chaining) mode, which chains together
successive blocks. CBC mode protects against insertions, deletions
and substitutions of blocks. Also, regularities in the clear text
will not appear in the cipher text.
Here is how to use these routines. The first parameter, key, is the
8-byte encryption key with parity. To set the key's parity, which
for DES is in the low bit of each byte, use dessetparity. The
second parameter, data, contains the data to be encrypted or
decrypted. The third parameter, datalen, is the length in bytes of
data, which must be a multiple of 8. The fourth parameter, mode, is
formed by OR'ing together some things. For the encryption direction
'or' in either DES_ENCRYPT or DES_DECRYPT. For software versus
hardware encryption, 'or' in either DES_HW or DES_SW. If DES_HW is
specified, and there is no hardware, then the encryption is performed
in software and the routine returns DESERR_NOHWDEVICE. For
cbccrypt, the parameter ivec is the the 8-byte initialization vector
for the chaining. It is updated to the next initialization vector
upon return.
Licensed material--property of copyright holder(s) 1
des_crypt(3R) ONC 5.4R3.00 des_crypt(3R)
DIAGNOSTICS
DESERR_NONE No error.
DESERR_NOHWDEVICE Encryption succeeded, but done in software
instead of the requested hardware.
DESERR_HWERR An error occurred in the hardware or driver.
DESERR_BADPARAM Bad parameter to routine.
Given a result status stat, the macro DES_FAILED(stat) is false only
for the first two statuses.
SEE ALSO
dgsetsecretkey(2), crypt(3C), crypt(3X), publickey(3R), rpc(3N).
RESTRICTIONS
These routines are not available for export outside the U.S. and
Canada.
Licensed material--property of copyright holder(s) 2