Scroll to navigation

des_crypt(3) Library Functions Manual des_crypt(3)

NOM

des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - Cryptage DES rapide

BIBLIOTHÈQUE

Bibliothèque C standard (libc, -lc)

SYNOPSIS

#include <rpc/des_crypt.h>
int ecb_crypt(char *key, char data[.datalen], unsigned int datalen,
              unsigned int mode);
int cbc_crypt(char *key, char data[.datalen], unsigned int datalen,
              unsigned int mode, char *ivec);
void des_setparity(char *key);
int DES_FAILED(int status);

DESCRIPTION

ecb_crypt() et cbc_crypt() implémentent le standard NBS DES (Data Encryption Standard). Ces routines sont plus rapides et plus générales que la classique crypt(3). Elles sont aussi capables d'utiliser une puce de cryptage DES si elle est disponible. ecb_crypt() encrypte en mode ECB (Electronic Code Book), ce qui encode des blocs de données indépendamment les uns des autres. cbc_crypt() encrypte en mode CBC (Cipher Block Chaining), qui enchaîne le cryptage des blocs successifs. Le mode CBC protège contre les insertions, suppressions ou substitutions de blocs. De plus, les répétitions dans le texte en clair n'apparaîtront pas dans le texte chiffré.

Voici comment utiliser ces routines. Le premier paramètre, key, est la clé de codage de 8 octets avec parité. Pour définir la parité de la clé, qui pour DES est le bit de poids faible de chaque octet, utilisez des_setparity(). Le second paramètre, data, contient les données à crypter ou à décrypter. Le troisième paramètre, datalen, est la longueur en octets de data, qui doit être un multiple de 8. Le quatrième paramètre, mode, est formé par un OU binaire entre différents attributs. Pour le sens de fonctionnement, il faut mettre DES_ENCRYPT ou DES_DECRYPT. Pour l'encryptage matériel ou logiciel, il faut ajouter DES_HW ou DES_SW. Si DES_HW est indiqué et qu'il n'y a pas de matériel spécialisé disponible, le cryptage est réalisé en mode logiciel et la routine renvoie DESERR_NOHWDEVICE. Pour cbc_crypt(), le paramètre ivec est un vecteur d'initialisation de 8 octets pour le chaînage. Il est mis à jour avec le prochain vecteur d'initialisation au retour.

VALEUR RENVOYÉE

Pas d'erreur.
Cryptage réussi, mais en mode logiciel plutôt que matériel.
Une erreur s'est produite dans le matériel ou le pilote.
Mauvais paramètre pour la routine.

Étant donné un résultat stat, la macro DES_FAILED(stat) est fausse pour les deux premiers états.

VERSIONS

Ces fonctions ont été ajoutées dans la glibc 2.1.

Parce qu'elles emploient le chiffrement par bloc DES, qui n'est plus considéré comme sûr, les routines ecb_crypt(), ecb_crypt(), crypt_r() et des_setparity() ont été retirées dans la glibc 2.28. Les applications devraient passer à une bibliothèque de chiffrement moderne telle que libgcrypt.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).

Interface Attribut Valeur
ecb_crypt(), cbc_crypt(), des_setparity() Sécurité des threads MT-Safe

STANDARDS

4.3BSD. Absent de POSIX.1.

VOIR AUSSI

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

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

15 décembre 2022 Pages du manuel de Linux 6.03