des_crypt, ecb_crypt, cbc_crypt, des_setparity, DES_FAILED - Cryptage DES rapide
Bibliothèque C standard (
libc,
-lc)
#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);
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.
- 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.
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.
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 |
4.3BSD. Absent de POSIX.1.
des(1),
crypt(3),
xcrypt(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]> et David Prévot <
[email protected]>
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 à
[email protected]