crypt

CRYPT(3)                 Manual del Programador Linux                 CRYPT(3)



NOMBRE
       crypt - encriptación de passwords y datos

SINOPSIS
       #include <unistd.h>

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

DESCRIPCION
       crypt es la función de encriptación de passwords. Está basada en el
       algoritmo DES (Data Encryption Standard) con algunas variaciones
       tendientes (junto con otras cosas) a desalentar el uso de
       implementaciones hardware de buscadores de claves.

       key es un password tipeado por el usuario.

       salt es una cadena de dos caracteres elegidas del conjunto
       [azAZ09./]. Esta cadena es usada para variar el algoritmo en uno de
       4096 modos diferentes.

       Al tomar el 7 bit más bajo de cada caracter de key, una clave de 56
       bits es obtenida. Esta clave de 56 bits es usada para encryptar
       repetidamente una cadena constante (usualmente una cadena consistente
       de todos ceros). El valor retornado apunta al password encriptado, una
       serie de 13 imprimibles caracteres (los primeros dos caracteres
       representan salt en si).  El valor retornado apunta a los datos
       constantes cuyo contenido es sobreescrito por cada llamada.

       Cuidado: El espacio de claves consiste de 2**56 igual a 7.2e16 valores
       posibles. Exhaustivas búsquedas en este espacio de claves son posibles
       usando computadoras paralelas. Software, como crack(1), estan
       disponibles y pueden buscar en la porción del espacio de claves que es
       generalmente usados por los humanos para sus passwords. Dado que, la
       selección de passwords debe, como mÃnimo, permitir palabras y nombres
       comunes, el uso del programa passwd(1) que chequea passwords
       vulnerables durante el proceso de selección es recomendado.

       El algoritmo DES en si tiene unas peculiaridades que hacen el uso de la
       interface crypt(3) sea una pobre elección para otro fin más allá de
       la autenticación de passwords. Si está planeando usar la interface
       crypt(3) para un proyecto criptográfico, no lo haga !: obtenga un buen
       libro sobre encriptación y una de las ampliamente disponibles
       librerias DES.

CONFORME A
       SVID, X/OPEN, BSD 4.3

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



                                 Enero 9, 1995                        CRYPT(3)