Cómo usar AGE para cifrar texto y archivos
Este artículo es meramente provisional y pretende detallar de manera tosca, pero rápida y fácil, cómo utilizar Age para cifrar mensajes y archivos. El objetivo es ayudar a toda aquella persona que quiera contactar con nuestro colectivo a conocer cómo hacerlo de forma segura.
Para ello, se ha elegido el método de cifrado asimétrico Age, por su simplicidad y facilidad para usuarios poco técnicos. Si eres una persona con conocimiento técnico sobre el tema, no te hará falta una explicación de qué es el cifrado asimétrico. Si, por el contrario, no lo eres, por ahora es suficiente con que sepas que se usan dos claves: una privada y otra pública. La privada la guardas y la pública la compartes. Todo lo que cifras con la clave privada se puede descifrar con la pública y todo lo que se cifra con la pública se descifra con tu clave privada. ¿La magia? La gente que quiera contactar contigo cifra los mensajes con tu clave pública, asegurando de esta forma que solo tú puedes descifrarla con tu clave privada.
Entonces, para contactar con nosotros de forma segura (faltaría firmar los mensajes, algo que se explicará en un artículo mejor que este), estos son los pasos:
# Instalar Age
Linux: la mejor opción, si no sueles usar Linux, es utilizar Tails. Tenemos pensado hacer un artículo explicándo cómo utilizar Tails, aunque hay un infinidad de tutoriales por Internet y en la propia página de Tails se explica cómo hacerlo. Si sueles usar Linux, seguramente tengas el conocimiento suficiente para instalarlo mediante los métodos explicados en el repositorio oficial de Age.
Windows: descarga este archivo comprimido y descomprímelo. Para usar el comando necesitas hacer uso de la consola de comandos. Para abrirla sin mucha complicación, entra en la carpeta descomprimida, pulsa el botón derecho del ratón mientras mantienes el botón Shift (el que está a la derecha de la letra Z) y en el menu aparecerá la opción de "Abrir ventana de comandos aquí". Una vez abierta una pantalla negra parecida a la de un hacker, ya puedes realizar los siguientes pasos.
macOS: Primero, instala Homebrew haciendo uso de la terminal. Después, en la misma terminal ejecuta los siguientes comandos:
brew tap filippo.io/age https://filippo.io/age
brew install age
# Crear el par de claves criptográficas
En la terminal, ejecutar:
age-keygen -o key.txt
Con este comando se creará, en la misma carpeta en la que se ejecuta, un archivo de texto con la clave pública y la clave privada. Es importante guardar este archivo (key.txt) y no perderlo.
El contenido del archivo será algo parecido a lo siguiente:
# created: 2021-07-15T17:02:24+02:00
# public key: age1kk7xu2l7zcyuhc33zh0xgeym3ux7jd9aqtste648a2puepjc639s4kavzp
AGE-SECRET-KEY-15A9UR8Y2DGJ6A4D2LCWQKVQSPGZZN9ETSY930F32AJZQUAFCTAASAVPFKC
La clave pública que puedes compartir para que la gente contacte contigo de forma segura es la que se indica como "public key". En este caso de ejemplo:
age1kk7xu2l7zcyuhc33zh0xgeym3ux7jd9aqtste648a2puepjc639s4kavzp
Bajo ningún concepto compartas la clave que empieza por "AGE-SECRET-KEY-" ya que, evidentemente, es la clave secreta.
# Cifrar
Ahora se trata de cifrar con nuestra clave pública (la del Colectivo 406) el mensaje que quieras enviarnos, incluyendo: mensaje + tu clave pública para que podamos contestarte de forma segura.
Para ello, utiliza el siguiente comando (en el que incluímos ya la clave Age del Colectivo 406, aunque podrías hacer lo mismo para cualquier otro contacto cambiando la clave pública, es decir, el churro largo después de "-r"):
age -a -r age1qp8d7recweu4nr90gwayqy9rjc9vpcf24n93kttj59ywf3dsh53qww0wl9
Ahora escribe tu mensaje y al final copia tu clave pública (por claridad, en una línea aparte). Por ejemplo:
Hola, me gustaría aprovechar este mensaje para
insultaros fuertemente. También os dejo mi clave
pública Age para que me respondáis:
age1kk7xu2l7zcyuhc33zh0xgeym3ux7jd9aqtste648a2puepjc639s4kavzp
Para terminar de escribir el mensaje y cifrarlo, pulsa Intro (Enter) y luego Control+D. Una vez pulsado, aparecera un mensaje de este estilo:
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA2VFM3S2ZyZFhlNU95a2RS
NHo1M0dFaXhrM25ObGtZZfd7d8UZFV2ZaMitLM2w4Cno0Z0lEUm9POHNHc2xmcDdIV2Fa
Vitrd2pmMjc3WS9zMTFkMC92TktKc1UKLS0tIEtJVUNFUStRbmRQYVg1bDVER0Y0
c0ZSWHMxYy91VmpyQ0x0R1dXNURBT1UKl3s80NWtF7sVf56nPWTilr3hYDCjQq2U
30Wf/vlg5rK3hXTCEFwm
-----END AGE ENCRYPTED FILE-----
Copia ese mensaje y nos lo envías por correo, Twitter o Mastodon.
¡Ya estaría! Nos has enviado un mensaje cifrado que solo nosotros podemos leer, junto con tu clave pública para que podamos contestarte de forma cifrada.
# Descifrar
Para descifrar nuestra respuesta, utiliza el siguiente comando. Recuerda que si estás en Windows deberás abrir la consola de comandos en la carpeta donde descomprimiste AGE, tal y como se explica en el primer paso y, además, disponer del archivo con la clave (key.txt) en la misma carpeta:
age -d -i key.txt
Ahora, copias todo el mensaje que te hemos enviado (empezado por -----BEGIN AGE ENCRYPTED FILE-----
y acabado por -----END AGE ENCRYPTED FILE-----
), lo pegas en la terminal y pulsas Intro (Enter). Debajo del mensaje cifrado aparecera el mensaje descifrado.
A partir de este momento, realizas una y otra vez los mismos pasos para enviarnos y recibir mensajes nuestros.
Finalmente, volvemos a recalcar la provisionalidad de esta guía e informamos de que AGE dispone de muchas más funcionalidades y métodos que no se explican aquí por cuestiones de simplicidad.