stringtranslate.com

cripta (Unix)

En la informática Unix , crypt o enigma es un programa de utilidad que se utiliza para cifrar. Debido a la facilidad para descifrarlo, se considera obsoleto.

El programa se utiliza habitualmente como filtro y tradicionalmente se ha implementado utilizando un algoritmo de "máquina de rotor" basado en la máquina Enigma . Se considera que es criptográficamente demasiado débil como para proporcionar seguridad contra ataques de fuerza bruta por parte de los ordenadores personales modernos . [1]

Algunas versiones de Unix se entregaban con una versión aún más débil del comando crypt(1) para cumplir con las leyes y regulaciones contemporáneas que limitaban la exportación de software criptográfico . Algunas de ellas eran simplemente implementaciones del cifrado César (efectivamente no más seguro que ROT13 , que se implementa como un cifrado César con una clave conocida).

Historia

El criptógrafo Robert Morris escribió un código criptográfico basado en M-209 , que apareció por primera vez en la versión 3 de Unix , para fomentar los experimentos de descifrado de códigos; Morris logró descifrarlo a mano. Dennis Ritchie automatizó el descifrado con un método de James Reeds, y apareció una nueva versión basada en Enigma en la versión 7 , que Reeds y Peter J. Weinberger también descifraron. [2]

cripta(1)bajo Linux

Las distribuciones Linux generalmente no incluyen una versión compatible con Unix del comando crypt . Esto se debe en gran medida a una combinación de tres factores principales:

  1. Crypt es relativamente oscuro y rara vez se utiliza para archivos adjuntos de correo electrónico ni como formato de archivo.
  2. Se considera que crypt es criptográficamente demasiado débil para soportar ataques de fuerza bruta por parte de los sistemas informáticos modernos (los sistemas Linux generalmente se entregan con GNU Privacy Guard , que se considera razonablemente seguro según los estándares modernos).
  3. Durante los primeros años de desarrollo y adopción de Linux, hubo cierta preocupación de que, incluso con lo débil que era el algoritmo utilizado por Crypt , aún pudiera entrar en conflicto con los controles de exportación de ITAR ; [ cita requerida ] por lo que los desarrolladores de distribuciones convencionales en los Estados Unidos generalmente lo excluyeron, [ cita requerida ] dejando a sus clientes que buscaran GnuPG u otro software criptográfico fuerte en sitios internacionales, a veces proporcionando paquetes o scripts para automatizar ese proceso.

El código fuente de varias versiones antiguas del comando crypt está disponible en el Archivo Unix de The Unix Heritage Society. [3] El código fuente reciente de crypt está disponible en el proyecto OpenSolaris . Una versión de dominio público está disponible en Crypt Breaker's Workbench.

Hay utilidades de cifrado simétrico mejoradas disponibles para Linux (y también deberían ser portables a cualquier otro sistema tipo Unix ), incluyendo mcrypt y ccrypt . [4] Si bien estas proporcionan soporte para algoritmos mucho más sofisticados y modernos, se pueden usar para cifrar [5] y descifrar archivos que son compatibles con el comando crypt(1) tradicional al proporcionar las opciones de línea de comando correctas.

Rompiendo el cifrado crypt(1)

Existen programas para romper el cifrado crypt(1) ampliamente disponibles. El Crypt Breaker's Workbench de dominio público de Bob Baldwin , escrito en 1984-1985, es una herramienta interactiva que proporciona suposiciones sucesivas de texto simple que el usuario debe corregir. También proporciona una implementación funcional de crypt(1) utilizada por las distribuciones BSD modernas. [6]

El descifrador Unixcrypt de Peter Selinger utiliza un modelo estadístico simple similar a un ataque de diccionario que toma un conjunto de textos simples como entrada y lo procesa para adivinar textos simples plausibles, y no requiere interacción del usuario. [7]

Relación con la función hash de contraseña

También existe una función de hash de contraseñas de Unix con el mismo nombre, crypt . Aunque ambas se utilizan para proteger los datos en cierto sentido, en lo demás no están relacionadas. Para distinguirlas, los autores suelen referirse al programa de utilidad como crypt(1) , porque está documentado en la sección 1 de las páginas del manual de Unix , y a la función de hash de contraseñas como crypt(3) , porque su documentación se encuentra en la sección 3 del manual.

Véase también

Referencias

  1. ^ crypt(1)  –  Manual de comandos generales de FreeBSD
  2. ^ McIlroy, MD (1987). Un lector de Unix para investigación: extractos anotados del Manual del programador, 1971–1986 (PDF) (Informe técnico). CSTR. Bell Labs. 139.
  3. ^ "Sitios de archivo Unix". TUHS .
  4. ^ Peter Selinger: ccrypt. Consultado el 27 de julio de 2008.
  5. ^ FUD Criptor
  6. ^ Baldwin, Bob (1985–1994). «El banco de trabajo del destructor de criptas». Archivado desde el original el 18 de agosto de 2011.
  7. ^ Peter Selinger: Unixcrypt-breaker. Consultado el 27 de julio de 2008.

Enlaces externos