Provided by: manpages-fr_1.67.0-1_all bug

NOM

       crypt - Crytage de données ou de mot de passe.

SYNOPSIS

       #define _XOPEN_SOURCE_
       #include <unistd.h>

       char *crypt (const char *cl, const char *salt);

DESCRIPTION

       La  fonction  crypt  est  celle  utilisée pour le cryptage des mots-de-
       passe. Elle est basée sur l’algorithme DES (Data  Encryption  Standard)
       avec   des   variantes   prévues   entre   autres  choses  pour  éviter
       l’implémentation matérielle d’un casseur de code.

       L’argument cl est le mot-de-passe saisi par l’utilisateur.

       salt  est  une  chaîne  de  deux  caractères   pris   dans   l’ensemble
       [azAZ09./].   Cette   chaîne   est   utilisée  pour  introduire  une
       perturbation (parmi 4096) dans l’algorithme.

       En  utilisant  les  sept  bits  de  poids  faibles  des  huit  premiers
       caractères  de  la  cl,  une clé de 56-bits est obtenue, qui est alors
       utilisée pour crypter de  manière  répétée  une  chaîne  de  caractères
       constante (souvent une chaîne de zéros).  La valeur renvoyée pointe sur
       le mot de passe crypté, une chaîne de 13 caractères ASCII  imprimables,
       les  deux  premiers  caractères  représentant l’argument salt lui-même.
       Cette valeur renvoyée pointe sur des données statiques dont le  contenu
       est écrasé à chaque appel.

       Attention : L’espace des clés consistent en 2**56 soient 7,2e16 valeurs
       possibles. Une recherche  exhaustive  est  possible  en  utilisant  des
       ordinateurs    massivement    parallèles.   Certains   logiciels   sont
       disponibles, comme crack(1), qui exploreront la portion de l’espace des
       clés  contenant  les  mots  de  passe  habituellement  utilisés par les
       humains.  Ainsi, le choix d’un mot de passe doit au minimum éviter  les
       noms  propres  ou  communs.  On recommande fortement l’utilisation d’un
       programme comme passwd(1) pour vérifier la fiabilité des mots de  passe
       dès la saisie.

       L’algorithme   DES   lui-même  a  quelques  inconvénients  qui  rendent
       l’utilisation de crypt (3) peu recommandable pour autre  chose  que  le
       cryptage  de  mots  de  passe.   Si  vous  comptez développer un projet
       cryptographique en utilisant crypt(3), abandonnez cette idée :  achetez
       un  bon  bouquin sur la cryptographie, et utilisez une bibliothèque DES
       toute faite comme il en existe tant.

VALEUR RENVOYÉE

       Un pointeur vers le mot de passe crypté.  En  cas  d’erreur,  NULL  est
       renvoyé.

ERREURS

       ENOSYS La  fonction  crypt  est  absente,  probablement  en  raison des
              restrictions d’exportation des Etats-Unis.

EXTENSION GNU

       La version de cette fonction dans la GlibC 2 a quelques fonctionnalités
       supplémentaires :  Si  salt  est  une  chaîne  commençant par les trois
       caractères "$1$" suivis d’au plus huit  caractères,  et  éventuellement
       terminée  par "$", alors au lieu d’utiliser la machine DES, la fonction
       crypt de la GlibC emploie un algorithme basé sur MD5 et sort jusqu’à 34
       octets, plus précisément "$1$<chaine>$", où "<chaine>" correspond aux 8
       caractères maximum suivant le "$1$" dans salt, suivis de 22  octets  de
       l’ensemble [azAZ09./].  La clé entière est significative ici, et non
       pas ses huit premiers octets.

       Pour les programmes utilisant cette fonction, il faut employer l’option
       -lcrypt lors de l’édition des liens.

CONFORMITÉ

       SVID, X/OPEN, BSD 4.3, POSIX 1003.1-2001.

VOIR AUSSI

       login(1), passwd(1), encrypt(3), getpass(3), passwd(5)

TRADUCTION

       Christophe Blaess, 1996-2003.