Skip to content

Un programa simple para cifrar, firmar y mantener claves de una o más partes para facilitar y fortalecer una comunicación segura.

License

Notifications You must be signed in to change notification settings

UltraTesla/trustword

Repository files navigation

trustword

Trustword es un programa muy simple para la firma, el cifrado y el mantenimiento de claves para facilitar y fortalecer una comunicación segura. Usa internamente (gracias a libsodium) para el cifrado XSalsa20, y en el caso de la criptografía asimétrica, se complementa con el intercambio de claves X25519. Y para la firma digital Ed25519ph con SHA512.

Dependencias

  • gcc (recomendado) o clang (no probado)
  • cmake
  • openssl
  • libsodium
  • argon2
  • sqlite3

Instalación

git clone https://github.com/UltraTesla/trustword.git
cd trustword
chmod +x dependences.sh
./dependences.sh
sudo chown <Tu nombre de usuario>:<Tu grupo> ~/.trustword
trustword --help

Ejemplos

Nota: También se puede ejecutar para ver los ejemplos en pantalla:

./trustword --examples

Administración de usuarios:

Crear un usuario:

./trustword -g --user [Nombre de usuario] --password [Contraseña]

Eliminar un usuario:

./trustword --delete --user [Nombre de usuario]

Actualizar la contraseña:

./trustword -E --user [Nombre de usuario] | ./trustword -I - --hash [Huella dactilar] -p [Contraseña] -N [Nueva contraseña] --overwrite

Importación/exportación de claves:

Exportar una clave pública:

./trustword -e --user [Nombre de usuario]

Importar una clave pública (sin registro):

./trustword -i [Ruta de la clave] --hash [Huella dactilar]

Importar una clave pública (con registro):

./trustword -i [Ruta de la clave] --password [Contraseña] --hash [Huella dactilar]

Exportar una clave secreta:

./trustword -E --user [Nombre de usuario]

Exportar una clave de verificación:

./trustword -z --user [Nombre de usuario]

Exportar una clave para firmar:

./trustword -Z --user [Nombre de usuario]

Notas:

  • En el caso de querer importar una clave de verificación con registro, se debe hacer el mismo procedimiento que en la importación de la clave pública; cosa inválida para la importación de alguna clave privada (secreta o para firmar).
  • En caso de querer importar una clave privada sin antes haber importando el par público, ocasionará un error. Y si se agregó una clave pública sin registro, entonces obtendrá un error.

Cifrar/Descifrar

Cifrar simétricamente:

./trustword -k [Nombre del archivo a cifrar] --password [Contraseña]

Descifrar simétricamente:

./trustword -K [Nombre del archivo a descifrar] --password [Contraseña]

Cifrar usando el par de claves:

./trustword -C [Nombre del archivo a cifrar] --from [Nombre de usuario - origen] --to [Nombre de usuario - destino] --password [Contraseña de la clave secreta del usuario de origen]

Descifrar usando el par de claves:

./trustword -D [Nombre del archivo a descifrar --from [Nombre de usuario - origen] --to [Nombre de usuario - destino] --password [Contraseña de la clave secreta del usuario de destino]

Firmar/Verificar

Firmar:

./trustword -s [Nombre del archivo a firmar] --user [Nombre de usuario] --password [Contraseña del usuario de la clave para firmar]

Verificar:

./trustword -v [Nombre del archivo original] -V [Nombre del archivo de la firma] --user [Nombre de usuario de la clave de verificación]

Listar los usuarios

Listar todos los usuarios:

./trustword --list

Listar a un usuario específico:

./trustword --list --user [Nombre de usuario]

~ DtxdF

About

Un programa simple para cifrar, firmar y mantener claves de una o más partes para facilitar y fortalecer una comunicación segura.

Resources

License

Stars

Watchers

Forks

Packages

No packages published