Mcrypt: una manera sencilla de cifrar tus archivos

por | 18 enero, 2015

mcrypt-cifradoMCrypt es un programa de cifrado con licencia libre GPL que surgió como reemplazo del veterano comando Crypt de Unix.

Inspirado en el sistema de cifrado Enigma utilizado en la II guerra mundial, ha sido diseñado para implementar diferentes tipos de cifrado modernos como puede ser el caso de AES (Advanced Encryption Standard) y actualmente también está muy extendido como una extensión criptográfica para PHP (php5-mcrypt) en servidores web.

MCrypt está disponible para Windows, FreeBSD y la mayoría de distribuciones GNU/Linux, así que vamos a ver como instalarlo en algunas de ellas:

  • En openSUSE
su

zypper in mcrypt
  • En Debian y derivadas como CrunchBang, Ubuntu, ElementaryOS y Linux Mint
sudo apt-get install mcrypt
  • En Fedora
su -c

yum install mcrypt
  • En Arch Linux y derivadas como Manjaro, Antergos o ArchBang
yaourt -S mcrypt
Uso de Mcrypt

La sintaxis de cifrado es muy sencilla, simplemente el nombre del programa seguido del nombre del archivo o archivos a cifrar

mcrypt archivo

A continuación nos pedirá una clave que tendremos que escribir un par de veces y en seguida nos crea el archivo cifrado con la extensión .nc

Para descifrar un archivo lo único que tenemos que hacer es añadirle el parámetro -d e introducir la contraseña cuando nos la pida:

mcrypt -d archivo.nc

Puede que cuando creemos el archivo cifrado queremos de paso eliminar la fuente original del mismo, lo podemos hacer añadiendo -u

mcrypt -u archivo

Mcrypt permite a los usuarios utilizar una amplia variedad de tipos de cifrado como Blowfish, Cast, DES, Enigma, Gost, Idea, RC2, RC6, Loki, Mars, Panama, Rijndael, Safer, Safer+, Serpent, Skipjack, Twofish, Triple, Wake y XTea  los cuales son soportados en los modos de cifrado CBC, OFB, CFB y ECB.

Podemos listar todas las opciones de algoritmos disponibles con el comando:

mcrypt -list

Si queremos usar un tipo de cifrado en especial (por defecto utiliza Blowfish) lo seleccionamos con el parámetro -a seguido del nombre del mismo, por ejemplo en este caso con «enigma»:

mcrypt -a enigma archivo

También podemos comprimir el archivo previamente a su cifrado utilizando gzip con el parámetro -z

mcrypt -z archivo

Si queremos consultar todas las opciones que ofrece el programa lo podemos hacer ejecutando:

mcrypt --help

18 pensamientos en “Mcrypt: una manera sencilla de cifrar tus archivos

  1. lihersanchez

    Esta muy bien, siempre hay que tener alguna herramienta de estas a mano para los «Top secret» ;D Muchas gracias colega, un saludo

    Responder
    1. tannhausser Autor

      De nada amigo! Gracias a ti por pasarte y me alegra verte activo en tu blog de nuevo 🙂

      Responder
  2. Novak Tiño

    Hola. ¿Estos programas suelen poner cada uno su extensión de cifrado, ¿cierto?
    ¿Y para cambio de nombres de ficheros y su recuperación, que hay?

    ¿Y Veracrypt que tal anda funcionando?, entiendo está más enfocado al cifrado de toda una partición o un volumen.

    Responder
    1. tannhausser Autor

      Mcrypt es compatible con Crypt pero generalmente los programas de cifrado no suelen ser compatibles entre si. Mcrypt usa su propia extensión nativa pero también puede utilizar el formato de archivo OpenPGP añadiendo el parámetro -g.

      Lo de Veracrypt es cierto que está enfocado a volúmenes y particiones al estilo de TrueCrypt (por cierto acabo de ver que en su última versión ya puede montar volúmenes de este, habrá que echarle un vistazo)

      Y lo de cambio de nombres de ficheros y recuperación…ahí no entendí la pregunta…sorry 🙂

      Responder
      1. Novak Tiño

        Hola tann.
        Como se sabe de estos programas, cifran (encriptan) los archivos que se desea (no los oculta), es decir, no los deja ejecutar convirtiéndolo en otra cosa con mismo nombre que pida contraseña.
        Para windows, entre muchos hay uno llamado «Encrypt on Click», que los convierte a archivo con extensión .eoc. Y noto que siempre toma algo de tiempo el cifrado/descifrado por lotes.
        Entonces, si los archivos tienen nombres un poco sugerentes, dejan algo a la imaginación. Por ello, preguntaba por forma de cambiar nombres por lotes, y luego recuperarlos al descifrar. Lo ideal, supongo tb ocultar.

        En cuanto a Veracrypt, supongo aún sirven los video tutoriales de TrueCrypt en el youtube. No obstante, ojeando, veo que estos videos se dedican es a las opciones predeterminadas.
        Me preguntaba, si crear un «volumen cifrado o partición virtual» dentro de una partición de datos, ralentize el sistema.
        Pensaría, si sería mejor crear una partición real en una zona del disco duro, y luego cifrarla. No se, si en rendimiento sea lo mismo.

        Siendo más estrictos, hay usuarios que mencionan el cifrar Todo el Disco Duro. ¿Por qué mejor esta precavida alternativa?, ¿ante qué situaciones ello es mejor, ej: periodistas de denuncia, defensores de Derechos Humanos expuestos a persecución del estado?, ¿o qué tal, personas del común que puedan ser objeto de corrupción por parte de un Juez?

        Responder
        1. tannhausser Autor

          Ahora entiendo…supongo que habrá programas que entre sus opciones incluyan la del renombrado de los archivos previo a su cifrado, pero la verdad ahora no caigo en ninguno. (de todas maneras siempre se pueden renombrar antes con otro programa). Si es por ocultar la extensión del programa te puede servir la esteganogafría, por ej openstego.

          https://lamiradadelreplicante.com/2012/05/05/esteganografia-con-openstego/

          Estuve mirando lo de veracrypt y por ahora la compatibilidad con los volúmenes de Truecrypt es solo para la versión con Windows (así que mejor que les den xD), zulucrypt parece una mejor alternativa para eso

          https://lamiradadelreplicante.com/2014/05/31/zulucrypt-una-interesante-alternativa-a-truecrypt/

          Yo tengo varios volúmenes cifrados con truecrypt y nunca he tenido problemas de rendimiento, y también algún equipo totalmente cifrado con LUKS y más alla de la pequeña incomodidad de tener que poner alguna contraseña más al iniciar el sistema, todo funciona como la seda.

          Lo ideal para mi gusto es cifrar todo el disco duro y a mayores tener un volumen cifrado con TrueCrypt con los datos y contraseñas más importantes o si es algo puntual con GPG, mcrypt, ccrypt, etc…

          Digo esto porque ya se ha dado el caso de que han obligado a algún usuario a loguearse en algún aeropuerto para comprobar que el ordenador «funcionaba» y no era una bomba o algo así… y ponte tu a explicarles lo que es la contraseña de cifrado, el boot y todo eso xD

          Pero si vives en un régimen dictatorial (e incluso en algunos democráticos) seguramente te torturaran hasta que des la clave, así que lo mejor es ir a modo «nuke» de autodestrucción como el que tiene Kali Linux.

          https://lamiradadelreplicante.com/2014/01/10/disponible-kali-linux-1-0-6-con-opcion-nuke-de-autodestruccion/

          Responder
          1. Novak Tiño

            Ya veo. ¿Será que hay pronóstico de noticias sobre Truecrypt?, se supone estaba en marcha su Auditoría.
            Por ahí leí un comentario, que una falencia actual de Truecrypt estando en uso, es que la la contraseña queda accesible como texto plano en la memoria Ram.
            Y que su autor/es tal vez eran personas sexagenarias en esta epoca, y habían abandonado el proyecto.
            Había escuchado de que a Truecrypt lo retomaban unos chinos como TC next.
            Por allí deambula un Truecrypt 7.2 y otro 7.1a.

            En cuanto a los volúmenes cifrados, ¿cuánto es lo que se tardan normalmente estos programas al ejecutar la contraseña por cada 1 GB de tamaño en datos en volumen o partición cifrada?

            Como usuario nuevo en estas lides, tenía como interés en Veracrypt, es decir, algo que esté disponible tanto para distros gnu/linux como con windowns. 😛 Parece, que el acceso al código de Truecrypt para compatibilidad les ha costado trabajo, o no se.

            ¿De otro lado Mcrypt cifra individualmente por cada fichero en que se use?, ¿no lo hace por carpetas cifrando lo de dentro (lotes) con misma contraseña?

          2. Novak Tiño

            Olvidé decir, Gracias por los enlaces y respuesta.

    1. tannhausser Autor

      @dmacias seguramente hay programas más complejos y modernos, pero este es muy facil de usar.

      saludos!

      Responder
      1. dmacias

        Yo las veces que lo he necesitado, he usado gpg que no se que tal andará de fuerte ni el cifrado que usa, tampoco trafico yo con material gubernamental ni nada por el estilo xDD así que supongo que me valdrá

        Un saludo

        Responder
  3. Charlie

    mmm… pero cuando lo intento descifrar con mcrypt -d archivo.png.nc el mensaje de vuelta dice que NO fue descifrado exitosamente. ¿Que pasa?

    Responder

Responder a Novak TiñoCancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.