/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


DES_CRYPT(3)                                        Linux Programmer's Manual                                       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 argument, 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 des_setparity().  The second argument, data, contains the  data
       to  be  encrypted or decrypted.  The third argument, datalen, is the length in bytes of data, which must be a multiple of
       8.  The fourth argument, 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 speci-
       fied, and there is no hardware, then the encryption is performed in software and the routine  returns  DESERR_NOHWDEVICE.
       For  cbc_crypt(), the argument ivec is the 8-byte initialization vector for the chaining.  It is updated to the next ini-
       tialization vector upon return.

RETURN VALUE
       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 argument to routine.

       Given a result status stat, the macro DES_FAILED(stat) is false only for the first two statuses.

VERSIONS
       These routines are present in libc 4.6.27 and later, and in glibc 2.1 and later.

CONFORMING TO
       4.3BSD.  Not in POSIX.1-2001.

SEE ALSO
       des(1), crypt(3), xcrypt(3)

COLOPHON
       This page is part of release 3.25 of the Linux man-pages project.  A description of the project,  and  information  about
       reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.



                                                           2007-05-18                                               DES_CRYPT(3)

Valid XHTML 1.0!Valid CSS!