Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


des_crypt(3) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |RETURN VALUE |ATTRIBUTES |STANDARDS |HISTORY |SEE ALSO |COLOPHON

des_crypt(3)             Library Functions Manualdes_crypt(3)

NAME        top

       des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - fast       DES encryption

LIBRARY        top

       Standard C library (libc,-lc)

SYNOPSIS        top

#include <rpc/des_crypt.h>[[deprecated]] int ecb_crypt(unsigned int datalen;char *key, chardata[datalen],unsigned intdatalen, unsigned intmode);[[deprecated]] int cbc_crypt(unsigned int datalen;char *key, chardata[datalen],unsigned intdatalen, unsigned intmode,char *ivec);[[deprecated]] void des_setparity(char *key);[[deprecated]] int DES_FAILED(intstatus);

DESCRIPTION        top

ecb_crypt() andcbc_crypt() implement the NBS DES (Data Encryption       Standard).  These routines are faster and more general purpose       thancrypt(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 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 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, usedes_setparity().       The second argument,data, contains the data to be encrypted or       decrypted.  The third argument,datalen, is the length in bytes ofdata, which must be a multiple of 8.  The fourth argument,mode,       is formed by ORing together some things.  For the encryption       direction OR in eitherDES_ENCRYPTorDES_DECRYPT.  For software       versus hardware encryption, OR in eitherDES_HWorDES_SW.  IfDES_HWis specified, and there is no hardware, then the encryption       is performed in software and the routine returnsDESERR_NOHWDEVICE.  Forcbc_crypt(), the argumentivec is the       8-byte initialization vector for the chaining.  It is updated to       the next initialization vector upon return.

RETURN VALUE        top

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 statusstat, the macroDES_FAILED(stat)is false       only for the first two statuses.

ATTRIBUTES        top

       For an explanation of the terms used in this section, seeattributes(7).       ┌──────────────────────────────────────┬───────────────┬─────────┐       │InterfaceAttributeValue│       ├──────────────────────────────────────┼───────────────┼─────────┤       │ecb_crypt(),cbc_crypt(),            │ Thread safety │ MT-Safe │       │des_setparity()                      │               │         │       └──────────────────────────────────────┴───────────────┴─────────┘

STANDARDS        top

       None.

HISTORY        top

       4.3BSD.  glibc 2.1.  Removed in glibc 2.28.       Because they employ the DES block cipher, which is no longer       considered secure, these functions were removed.  Applications       should switch to a modern cryptography library, such aslibgcrypt.

SEE ALSO        top

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

COLOPHON        top

       This page is part of theman-pages (Linux kernel and C library       user-space interface documentation) project.  Information about       the project can be found at        ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report       for this manual page, see       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.       This page was obtained from the tarball man-pages-6.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  If you discover any rendering problems in this HTML       version of the page, or you believe there is a better or more up-       to-date source for the page, or you have corrections or       improvements to the information in this COLOPHON (which isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-06-28des_crypt(3)

Pages that refer to this page:encrypt(3)xcrypt(3)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp