Para usar cualquiera de las versiones de PGP con Mutt-i, primero será necesario configurar adecuadamente PGP de modo que existan el fichero con las claves públicas (anillo de claves públicas) y el fichero con las claves privadas (anillo de claves privadas). Conviene probar previamente PGP desde la línea de comandos para asegurarse de que firma y cifra correctamente.
Recordemos que para Unix las versiones de PGP existentes son
2.6.3(i)
y 5.0(i)
, que de ahora en adelante llamaremos PGP2 y
PGP5 respectivamente. GnuPG es un sistema de codificación nuevo,
todavía en desarrollo aunque muy avanzado, de código abierto y libre, en muchos
aspectos superior a PGP (ver GnuPG mini como en
http://www.insflug.org/documentos/GPG-Mini-Como/
).
Aclararemos también que PGP, al ser un sistema desarrollado en los EE.UU., está sujeto a ciertas leyes sobre la exportación de programas que incluyen código criptográfico; por esta razón existe una versión internacional para casi todas las versiones numéricas, y ésta vienen denotadas por la letra «i» (pgp - pgpi).
PGP2 genera claves con el algoritmo RSA (
http://www.rsa.com
), y como algoritmo de
cifrado usa IDEA (
http://www.ascom.ch
).
Ambos son algoritmos propietarios y su uso está restringido por sus respectivas patentes.
Para su correcto funcionamiento, una vez instalado el programa, deberemos tener
un directorio ~/.pgp
, en el que se encuentren el fichero de
configuración pgp-i.conf
y los ficheros con los anillos de claves públicas
y privadas, pubring.pgp
y secring.pgp
respectivamente.
Las claves generadas por PGP5 son del tipo DSS/DH (Digital Signature Standard / Diffie-Helman). PGP5 usa como algoritmos de cifrado CAST, Triple-DES, e IDEA. PGP5 puede trabajar con datos cifrados y/o firmados con RSA (PGP2), e incluso usar estas claves para cifrar y/o firmar digitalmente (con claves generadas por PGP2, ya que PGP5 no puede generar dichas claves). Por contra, PGP2 no reconoce las claves DSS/DH de PGP5; esto crea un problema de incompatibilidad, pues en Unix/Linux todavía muchos usuarios tienen instalado sólo la versión de PGP2.
Para el correcto funcionamiento de PGP5, en el directorio
~/.pgp
, se encontrarán los anillos de claves públicas y privadas
(pubring.pkr
y secring.skr
respectivamente), así como el fichero de
configuración pgp.cfg
.
En caso de tener instaladas las dos versiones de PGP (por tanto, habremos
instalado y configurado PGP2 antes que PGP5), el fichero de configuración
~/.pgp/pgp.cfg
de PGP5 lo crearemos como un enlace simbólico al
fichero de configuración ~/.pgp/pgp-i.conf
,
~/.pgp$ ln -s pgp-i.conf pgp.cfg
añadiendo las siguientes líneas al final del fichero
~/.pgp/pgp-i.conf
:
PubRing = "~/.pgp/pubring.pkr"
SecRing = "~/.pgp/secring.skr"
RandSeed = "~/.pgp/randseed.bin"
Los ficheros con los anillos de claves de las diferentes versiones pueden coexistir sin ningún problema en el mismo directorio.
GnuPG es un programa con las mismas funciones que el anterior. A diferencia de PGP, GnuPG evita el uso de algoritmos con patentes restrictivas. PGP puede ser usado libremente con fines personales, pero no comerciales, y su desarrollo es cerrado. GnuPG es de libre uso, y de desarrollo abierto, al igual que nuestro sistema operativo favorito (además de que su implementación y desarrollo es principalmente en Linux).
Las claves generadas por GnuPG son del tipo DSA/ElGamal (Digital Signature Algorithm, también conocido como DSS). Es totalmente compatible con PGP, excepto en el uso de los algoritmos con patentes restrictivas RSA e IDEA. No obstante, es posible implementar cierta compatibilidad al respecto (ver GnuPG mini como en http://www.insflug.org/documentos/GPG-Mini-Como/ para su configuración e interacción con PGP2 y PGP5).