DES_CRYPT(3) DES_CRYPT(3)
NAME
des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES encryption
SYNOPSIS
#include <rpc/des_crypt.h>
int ecb_crypt(char *key, char *data, unsigned datalen,
unsigned mode);
int cbc_crypt(char *key, char *data, unsigned datalen,
unsigned mode, char *ivec);
void des_setparity(char *key);
int DES_FAILED(int status);
DESCRIPTION
ecb_crypt() and cbc_crypt() implement the NBS DES (Data Encryption Standard).
These routines are faster and more general purpose than crypt(3). They also are
able to utilize DES hardware if it is available. ecb_crypt() encrypts in ECB
(Electronic Code Book) mode, which encrypts blocks of data independently.
cbc_crypt() encrypts in CBC (Cipher Block Chaining) mode, which chains together
successive blocks. CBC mode protects against insertions, deletions and substitu-
tions 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 encryp-
tion key with parity. To set the key’s parity, which for DES is in the low bit of
each byte, use des_setparity. 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 cbc_crypt, the parameter ivec is the the 8-byte initialization vector for the
chaining. It is updated to the next initialization vector upon return.
SEE ALSO
des(1), crypt(3) and xcrypt(3)
DIAGNOSTICS
DESERR_NONE No error.
DESERR_NOHWDEVICE Encryption succeeded, but done in software instead of the
requested hardware.
DESERR_HWERROR 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.
AVAILABILITY
These routines are present in libc 4.6.27 and later, and in glibc 2.1 and later.
6 October 1987 DES_CRYPT(3)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache/1.3.41 (Unix) PHP/5.2.5 mod_perl/1.30 mod_gzip/1.3.26.1a
Under GNU General Public License
2009-01-08 08:02 @38.103.63.58 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)