des_crypt
Section: C Library Functions (3)
Updated: 15 décembre 2022
Index
Return to Main Contents
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
- DESERR_NONE
-
Pas d'erreur.
- DESERR_NOHWDEVICE
-
Cryptage réussi, mais en mode logiciel plutôt que matériel.
- DESERR_HWERROR
-
Une erreur s'est produite dans le matériel ou le pilote.
- DESERR_BADPARAM
-
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>
et
David Prévot <david@tilapin.org>
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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- VERSIONS
-
- ATTRIBUTS
-
- STANDARDS
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 07:05:34 GMT, May 18, 2024