des_crypt man page on DragonFly

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

DES_CRYPT(3)		 BSD Library Functions Manual		  DES_CRYPT(3)

NAME
     des_crypt, ecb_crypt, cbc_crypt, des_setparity — fast DES encryption

LIBRARY
     Standard C Library (libc, -lc)

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

DESCRIPTION
     ecb_crypt() and cbc_crypt() implement the NBS DES (Data Encryption Stan‐
     dard).  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 pro‐
     tects 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 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 8-byte
     initialization vector for the chaining.  It is updated to the next ini‐
     tialization vector upon return.

RETURN VALUES
     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
     crypt(3)

RESTRICTIONS
     These routines are not available in RPCSRC 4.0.  This information is pro‐
     vided to describe the DES interface expected by Secure RPC.

BSD				October 6, 1987				   BSD
[top]

List of man pages available for DragonFly

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]
Tweet
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