ecb_crypt man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]


       ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast DES encryption

       #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 stat);

       ecb_crypt()  and	 cbc_crypt()  implement	 the  NBS DES (Data Encryption
       Standard). These routines are faster  and  more	general	 purpose  than
       crypt(3C).  They	 also are able to utilize DES hardware if it is avail‐
       able. 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 substitutions of
       blocks. Also, regularities in the clear text will  not  appear  in  the
       cipher text.

       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
       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 the  DES_ENCRYPT or  DES_DECRYPT  to
       specify	the encryption direction and DES_HW or DES_SW to specify soft‐
       ware or hardware encryption. 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 8-byte initialization vector
       for the chaining.  It is updated to the next initialization vector upon
       successful return.

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

			    No error.

			    Encryption succeeded, but done in software instead
			    of the requested hardware.

			    An error occurred in the hardware or driver.

			    Bad parameter to routine.

       See attributes(5) for descriptions of the following attributes:

       │MT-Level       │ MT-Safe	 │

       crypt(3C), attributes(5)

       When compiling multi-thread applications, the _REENTRANT flag  must  be
       defined	on  the compile line.  This flag should only be used in multi-
       thread applications.

				  Mar 3, 2008		       ECB_CRYPT(3EXT)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net