Una agenda de contactos cifrada

2022-09-01

#contactos #cifrado #bash #terminal #linux

Quería una agenda de contactos cifrada y extremadamente sencilla apoyada en un archivo de fácil cifrado y descifrado. Para ello me he apoyado en estos comandos:

- select, para crear un menú.

- ccrypt, para cifrar. Si no lo tienes, instálalo.

- less, para visualizar el contenido de la salida de ccat (ccrypt) y hacer búsquedas en los contactos

- sed, para poder eliminar contactos a partir de su nombre.

- sort, para ordenar alfabéticamente la salida.

- column, para que la visualización de columnas sea adecuada.

En el proceso de entrada y eliminación de contactos he reducido a un instante el tiempo durante el cual el archivo de contactos existe descifrado en el pc, y para la visualización y búsqueda de contactos, con ccat y less ni tan siquiera llega a generarse el archivo descifrado. Es lo más cercano que he encontrado a lo que sería eso que llaman "cifrado homomórfico", que todavía parece que no existe.

Primeros pasos

Para empezar deberás crear el archivo de contactos y cifrarlo manualmente con ccencrypt, por ejemplo el archivo ~/Documentos/contactos, tras cifrarlo el archivo quedará como contactos.cpt

Para que ccrypt lea automáticamente la contraseña de cifrado para la creación o eliminación de contactos, deberás crear un archivo cuya primera línea será la contraseña, en mi caso es el archivo ~/Documentos/clave.key. A ese archivo dale permiso de lectura y escritura sólo para tu usuario, con "chmod 600 clave.key". Para la lectura y búsqueda de contactos sí que deberás introducir la contraseña. No es del todo seguro pero si nadie se loguea por tí en tu PC supongo que no habrá ningún problema, y si extraen tu archivo de contactos, pues estará cifrado.

Si seleccionas la opción de visualizar contactos, la pantalla se pondrá en negro, introduce entonces la contraseña de cifrado y visualizarás el contenido del archivo de contactos. También podrás buscar y moverte por el listado de contactos con estas opciones, que son las del comando less:

- /palabra Para hacer una búsqueda, se resaltarán los resultados

- n Se va al siguiente resultado de búsqueda

- N Se va al anterior resultado de búsqueda

- q Salimos al prompt

- g Ir al principio

- 20g Ir a la línea 20

- G Ir al final del documento

- 45p o 45% Ir al 45% del documento

- j,k, 10j,5j,3k... Como en VIM, j,k nos movemos hacia abajo o arriba

Script en bash de una agenda de contactos cifrada:

Este es el script, crea un archivo en un directorio que esté incluido en el $PATH para que sea ejecutable desde cualquier directorio. En mi caso tengo el script en el archivo ~/bin/contactos . Copia el contenido del script en ese archivo y haz el archivo ejecutable con 'chmod +x contactos'.

Y ya está, ejecuta 'contactos' y ya tienes una agenda telefónica cifrada.

This work by SL1200 is licensed under CC BY 4.0

◄ BACK

🏠 Home