des_crypt

Autres langues

Langue: fr

Version: 18 mai 2007 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NOM

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

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);
 
 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 capable 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, supressions 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 8-octets avec parité. Pour fixer la parité de la clé, qui pour DES est le bit de poid 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'encyptage matériel (hardware) ou logiciel (software) 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 routines sont présentes dans la libc 4.6.27 et ultérieures, et dans la glibc 2.1 et suivantes.

CONFORMITÉ

BSD 4.4. Pas dans POSIX.1-2001.

VOIR AUSSI

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

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 30 juillet 2003 et révisée le 19 novembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 des_crypt ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.