Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

       crypt - Cryptage de données ou de mot de passe

SYNOPSIS

       #define _XOPEN_SOURCE
       #include <unistd.h>

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

       Effectuez l’édition des liens avec l’option -lcrypt.

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 key 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  key,  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.

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 États-Unis.

CONFORMITÉ À

       SVr4, BSD 4.3, POSIX.1-2001

NOTES

   Notes à propos de la glibc
       La version de cette fonction présente dans la glibc2  possède  quelques
       fonctionnalités  supplémentaires : si salt est une chaîne de caractères
       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 produit jusqu’à 34 octets, plus précisément
       « $1$<salt>$<encoded> »,  où  « <salt> »  correspond  aux  8   premiers
       caractères  suivant  le  « $1$ »  dans  salt,  et « $<encoded> » aux 22
       caractères  suivants.  Les  caractères  contenus  dans  « <salt> »   et
       « <lt>encoded> »  sont  générés depuis l’ensemble [azAZ09./]. La clé
       key entière est significative ici, et non pas ses huit premiers octets.

VOIR AUSSI

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

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».

                               23 décembre 2001                       CRYPT(3)