cbc_crypt - phpMan

Command: man perldoc info search(apropos)  


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)
Valid XHTML 1.0!Valid CSS!