Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       crypt, crypt_r - Passwort- und Datenverschlüsselung

ÜBERSICHT

       #define _XOPEN_SOURCE       /* siehe feature_test_macros(7) */
       #include <unistd.h>

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

       #define _GNU_SOURCE         /* Siehe feature_test_macros(7) */
       #include <crypt.h>

       char *crypt_r(const char *key, const char *salt,
                     struct crypt_data *data);

       Linken Sie mit der Option -lcrypt.

BESCHREIBUNG

       crypt()   ist   die  Funktion  für  die  Verschlüsselung  von  Passwörtern.  Sie  beruht  auf  dem  »Data
       Encryption«-Standardalgorithmus.  Dieser  wurde  abgewandelt,  um  (unter  anderem)   vom   Einsatz   von
       Hardware-Implementierungen von Schlüsselsuchen abzuschrecken.

       key ist das vom Benutzer eingegebene Passwort.

       salt  ist  eine  aus  zwei  Zeichen  bestehende  Zeichenkette  aus dem Zeichenvorrat [azAZ09./]. Diese
       Zeichenkette wird  dafür  verwendet,  den  Algorithmus  auf  eine  von  4096  unterschiedliche  Arten  zu
       beeinflussen.

       Aus  den  untersten  sieben  Bit jedes der ersten acht Zeichen von key wird ein 56-Bit-Schlüssel erzeugt.
       Dieser 56-Bit-Schlüssel wird verwendet,  um  wiederholt  eine  konstante  Zeichenkette  zu  verschlüsseln
       (üblicherweise eine Zeichenkette aus lauter Nullen). Der zurückgegebene Wert zeigt auf das verschlüsselte
       Passwort,  eine Reihe von 13 druckbaren ASCII-Zeichen. (Die ersten beiden Zeichen repräsentieren den Salt
       selbst.) Der Rückgabewert zeigt auf statische Daten, deren Inhalt bei jedem Aufruf überschrieben wird.

       Warnung: Der Schlüsselraum besteht  aus  2**56  gleich  7.2*10^16  möglichen  Werten.  Eine  vollständige
       Durchsuchung  dieses  Schlüsselraums  ist  mit  massiv  parallelen Computern möglich. Es ist Software wie
       beispielsweise crack(1) verfügbar und durchsucht den Teil, der gewöhnlich  von  Menschen  für  Passwörter
       benutzt  wird.  Daher  sollten  Passwörter  wenigstens übliche Namen und Wörter vermeiden. Die Verwendung
       eines passwd(1)-Programms, das automatisch  während der Eingabe auf leicht zu knackende Passwörter prüft,
       wird empfohlen.

       Der DES-Algorithmus selbst hat ein paar Eigenarten, mit denen  die  Verwendung  von  crypt(3)  für  etwas
       Anderes   als   Passwortverschlüsselung   eine   sehr   schlechte  Wahl  wird.  Wenn  Sie  vorhaben,  die
       crypt()-Schnittstelle  für ein kryptografisches Projekt zu verwenden, tun Sie es nicht:  Holen  Sie  sich
       ein gutes Buch über Verschlüsselung und eine der weitläufig verfügbaren DES-Bibliotheken.

       crypt_r()  ist  eine ablaufinvariante Version von crypt(). Die Struktur, auf die data zeigt, wird für die
       Speicherung von  Ergebnisdaten  und  Buchhaltungsinformationen   verwendet.  Der  Aufrufende  sollte  die
       Struktur  lediglich  bereitstellen  und  data->initialized  auf  Null  setzen,  bevor crypt_r() erstmalig
       aufgerufen wird.

RÜCKGABEWERT

       Bei Erfolg wird ein Zeiger auf das verschlüsselte Passwort zurückgegeben. Tritt ein Fehler auf,  ist  der
       Rückgabewert NULL.

FEHLER

       ENOSYS Die  Funktion  crypt()  wurde  nicht implementiert, wahrscheinlich wegen Export-Beschränkungen der
              USA.

ATTRIBUTE

   Multithreading (see pthreads(7))
       The crypt()  function is not thread-safe.

       The crypt_r()  function is thread-safe.

KONFORM ZU

       crypt(): SVr4, 4.3BSD, POSIX.1-2001. crypt_r() ist eine GNU-Erweiterung.

ANMERKUNGEN

   Anmerkungen zur Glibc
       Die Glibc2-Version dieser Funktion unterstützt weitere Verschlüsselungsalgorithmen.

       Wenn salt eine Zeichenkette ist, die mit den Zeichen  »$id$« beginnt, denen eine mit  »$«  abgeschlossene
       Zeichenkette folgt:

              $id$salt$encrypted

       dann  identifiziert id anstelle des DES-Programms die Verschlüsselungsmethode und legt fest, wie der Rest
       der Passwortzeichenkette interpretiert wird. Die folgenden Werte von id werden unterstützt:
              ID  | Methode
              ───────────────────────────────────────────────────────────────
              1   | MD5
              2a  | Blowfish (nicht im Hauptentwicklungszweig der Glibc;
                  | in einigen Linux-Distributionen hinzugefügt)
              5   | SHA-256 (seit Glibc 2.7)
              6   | SHA-512 (seit Glibc 2.7)

       Also   ist   $5$salt$encrypted   ein   SHA-256-codiertes   Passwort   und   $6$salt$encrypted   ist   ein
       SHA-512-codiertes.

       »salt«  steht  für  die  bis  zu  16  Zeichen,  die  »$id$«  im  Salt folgen. Der verschlüsselte Teil der
       Passwortzeichenkette entspricht dem tatsächlich berechneten Passwort. Die Länge dieser  Zeichenkette  ist
       festgelegt:
       MD5     | 22 Zeichen
       SHA-256 | 43 Zeichen
       SHA-512 | 86 Zeichen

       Die  Zeichen  in  »salt«  und  »encrypted«  werden  aus dem Vorrat [azAZ09./] gewählt. In den MD5- und
       SHA-Implementierungen ist der gesamte key signifikant (anstelle nur der ersten acht Byte bei DES).

SIEHE AUCH

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

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the  project,  and
       information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>
       erstellt.

       Diese  Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser  Handbuchseite  finden,  schicken  Sie  bitte  eine  E-Mail  an
       <debian-l10n-german@lists.debian.org>.

                                                  21. Juni 2013                                         CRYPT(3)