Xifratge simètric i asimètric

De wikijoan
Salta a la navegació Salta a la cerca

Xifratge simètric

$ echo "aquest és el missatge que volem xifrar" > missatge.txt
$ gpg -c missatge.txt (ens demana un password)

S'ha generat el fitxer missatge.txt.gpg

Ara volem esborrar el missatge original. Ho farem amb l'eina srm (secure rm):

$ sudo apt-get install secure-delete
$ srm -v missatge.txt
Using /dev/urandom for random input.
Wipe mode is secure (38 special passes)
Wiping missatge.txt ************************************** Removed file missatge.txt ... Done

Ara desxifrem el missatge, per tal de recuperar el missatge original:

$ gpg -d missatge.txt.gpg > missatge.txt
gpg: dades xifrades amb AES256
gpg: xifrat amb 1 contrasenya

$ cat missatge.txt
aquest és el missatge que volem xifrar

Nota: si al descrifrar no te pide la clave, no te preocupes, es porque la está “recordando” por un período de tiempo; si reinicias la PC esto cambiará. Es como cuando usas sudo y se guardan los privilegios por unos minutos.

Xifratge asimètric

El que farem:

  • Generar un parell de claus públiques i privades
  • Exportar la clau pública per tal de què altres persones puguin xifrar arxius amb la nostra clau, i només nosaltres els puguem desxifrar
  • Importar la clau pública d'una altra persona i xifrar dades amb aquesta clau pública.
  • Desencriptar un arxiu amb la nostra clau privada.

Generar clau pública i privada

$ gpg --full-generate-key
gpg (GnuPG) 2.2.19; Copyright (C) 2019 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Seleccioneu quin tipus de clau voleu:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (només signar)
   (4) RSA (només signar)
  (14) Existing key from card
La vostra selecció? 

Escollim l'opció 1 (clau pública i privada). També escollim clau de 4096 bytes, i que la clau mai caduca. Ens demana introduir un password.

...
gpg: key 1570CB5745D5619E marked as ultimately trusted
gpg: directory '/home/joan/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/home/joan/.gnupg/openpgp-revocs.d/5C81A0CF5E19744FF8A364AD1570CB5745D5619E.rev'
s'han creat i signat les claus pública i secreta.

pub   rsa4096 2021-10-26 [SC]
      5C81A0CF5E19744FF8A364AD1570CB5745D5619E
uid                      Joan Quintana (clau) <joanqc@gmail.com>
sub   rsa4096 2021-10-26 [E]

Exportar la clau pública

Ara hem d'exportar la clau pública:

$ gpg -a --export joanqc@gmail.com > clau_publica.gpg.asc
$ cat clau_publica.gpg.asc

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBGF33GEBEADH8m6Zfw537XCGg3c19xneaxlbNPMLFO3mtc/hlE7htjPOif9/
8hN9GaJPjEc1n3cFflCzu/l5w8LrHWxWS28iFmE2+wP2VXgh+4o3pFK5xJU8VljQ
...
2IY/oPFHCFMZTskabyeSJYZRoHJt+OtnJMwHi6zVG1pRk0YOKz/WCpnRpywsia3G
mjdrHSK2MFLKotva+AdadZuP3auLZw/y8gx6a8z+NAzJvE5F/GQUP3z3jPCRPGv+
JWxe
=4fDz
-----END PGP PUBLIC KEY BLOCK-----

Importar la clau pública d'un altre usuari

Si otro usuario nos envía su clave pública (o si queremos mostrarle a alguien cómo se importa nuestra clave que acabamos de exportar) la manera de importarla es fácil.

Tenim la clau: clau_publica_parzybyte.gpg.asc

gpg --import clau_publica_parzybyte.gpg.asc
gpg: clau FA1321BF19520E34: clau pública "Luis Cabrera Benito (Hola mundo) <contacto@parzibyte.me>" importada
gpg: Nombre total processat: 1
gpg:               importades: 1

(TBD)


creat per Joan Quintana Compte, octubre 2021