En informática Unix , crypt o enigma es un programa de utilidad utilizado para el cifrado. Debido a la facilidad para romperlo, se considera obsoleto.
Autor (es) original (es) | Robert Morris |
---|---|
Desarrollador (es) | Laboratorios AT&T Bell |
Versión inicial | Febrero de 1973 |
Sistema operativo | Unix , similar a Unix , Inferno |
Tipo | Mando |
El programa se suele utilizar como filtro y tradicionalmente se ha implementado utilizando un algoritmo de "máquina de rotor" basado en la máquina Enigma . Se considera criptográficamente demasiado débil para proporcionar seguridad contra ataques de fuerza bruta por parte de computadoras personales modernas y comerciales . [1]
Algunas versiones de Unix se enviaron 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 estas fueron simplemente implementaciones del cifrado Caesar (efectivamente, no más seguro que ROT13 , que se implementa como un cifrado Caesar con una clave conocida).
Historia
El criptógrafo Robert Morris escribió una cripta basada 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ó romper cripta 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 rompieron. [2]
Cripta (1) en Linux
Las distribuciones de 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:
- La cripta es relativamente oscura y rara vez se usa para archivos adjuntos de correo electrónico ni como formato de archivo.
- Crypt se considera criptográficamente demasiado débil para resistir los ataques de fuerza bruta de los sistemas informáticos modernos (los sistemas Linux generalmente se envían con GNU Privacy Guard, que se considera razonablemente seguro según los estándares modernos)
- Durante los primeros años del desarrollo y la adopción de Linux, existía cierta preocupación de que, incluso tan débil como era el algoritmo utilizado por crypt , aún podría entrar en conflicto con los controles de exportación de ITAR ; [ cita requerida ] por lo que los principales desarrolladores de distribución en los Estados Unidos generalmente lo excluyeron, [ cita requerida ] dejando a sus clientes buscar GnuPG u otro software criptográfico fuerte de 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 Unix Archive de The Unix Heritage Society. [3] El código fuente de la cripta reciente está disponible en el proyecto OpenSolaris . Una versión de dominio público está disponible en Crypt Breaker's Workbench.
Las utilidades de cifrado simétrico mejoradas están disponibles para Linux (y también deberían ser portables a cualquier otro sistema similar a Unix ), incluidos mcrypt y ccrypt . [4] Si bien estos brindan soporte para algoritmos mucho más sofisticados y modernos, se pueden usar para cifrar y descifrar archivos que son compatibles con el comando crypt (1) tradicional proporcionando las opciones de línea de comando correctas.
Rompiendo el cifrado de cripta (1)
Los programas para romper el cifrado crypt (1) están ampliamente disponibles. De Bob Baldwin dominio público Cripta del disyuntor Banco de trabajo, que fue escrito en 1984-1985, es una herramienta interactiva que ofrece sucesivas conjeturas de texto plano que deben ser corregidos por el usuario. También proporciona una implementación de crypt (1) en funcionamiento utilizada por las distribuciones BSD modernas. [5]
Unixcrypt-breaker de Peter Selinger utiliza un modelo estadístico simple similar a un ataque de diccionario que toma un conjunto de textos sin formato como entrada y lo procesa para adivinar textos sin formato plausibles, y no requiere la interacción del usuario. [6]
Relación con la función hash de contraseña
También hay una función de hash de contraseña de Unix con el mismo nombre, crypt . Aunque ambos se utilizan para proteger los datos en cierto sentido, por lo demás, no tienen ninguna relación. Para distinguir entre los dos, los escritores a menudo se refieren al programa de utilidad como crypt (1) , porque está documentado en la sección 1 de las páginas del manual de Unix , y se refieren a la función hash de contraseña como crypt (3) , porque su documentación está en sección 3 del manual.
Ver también
- función de la biblioteca crypt Unix C
- Función de derivación clave
Referencias
- ^ Manual de comandos generales de FreeBSD -
- ^ McIlroy, MD (1987). Un lector de investigación Unix: extractos comentados del Manual del programador, 1971–1986 (PDF) (Informe técnico). CSTR. Bell Labs. 139.
- ^ "Sitios de archivo de Unix" . TUHS .
- ↑ Peter Selinger: ccrypt . Consultado el 27 de julio de 2008.
- ^ Baldwin, Bob (1994-1985). "Banco de trabajo de Crypt Breaker" . Archivado desde el original el 18 de agosto de 2011. Verifique los valores de fecha en:
|date=
( ayuda ) - ^ Peter Selinger: unixcrypt-breaker . Consultado el 27 de julio de 2008.
enlaces externos
- Código fuente para crypt (1) de OpenSolaris (publicado después de aclarar las regulaciones de exportación)
- Código fuente para crypt (1) de la versión 7 de Unix (máquina trivializada de un rotor estilo Enigma)
- El código fuente de la cripta (1) a partir de la versión 6 de Unix (aplicación de Boris Hagelin 's M-209 máquina criptográfica)