Prima di usare una qualsiasi delle versioni di PGP con Mutt-i, sarà necessario configurare PGP appropriatamente in modo tale che il file delle chiavi pubbliche (public keys ring) e quello delle chiavi private (private keys ring) esistano. Conviene provare PGP dalla linea di comando per vedere se firma e cifra correttamente.
Esistono due versioni di PGP per Unix: la 2.6.3(i)
e 5.0(i)
, che chiameremo PGP2 e PGP5
rispettivamente. GnuPG è un nuovo programma di cifratura, sviluppato recentemente, in uno stato di sviluppo avanzato,
open source e gratuito, sotto molti aspetti migliore di PGP (si veda il GnuPG mini howto
http://www.dewinter.com/gnupg_howto).
Si chiarirà anche il fatto che PGP, essendo un programma sviluppato negli Stati Uniti, è sottoposto ad alcune leggi restrittive riguardanti l'esportazione di programmi contenenti codice criptografico. Questa è la ragione dell'esistenza di una versione internazionale di quasi tutte le versioni binarie, cosa che si può notare dalla presenza della lettera "i" (pgp - pgpi).
PGP2 genera chiavi con l'algoritmo RSA http://www.rsa.com e utilizza IDEA http://www.ascom.ch come algoritmo di cifrazione. Entrambi gli algoritmi sono proprietari e il loro uso è regolato dai rispettivi brevetti.
Per utilizzarlo correttamente, lo si deve installare e avere una directory chiamata ~/.pgp
, contenente
il file di configurazione pgp-i.conf
e i file delle chiavi pubbliche e private, pubring.pgp
and secring.pgp
rispettivamente.
Le chiavi generate da PGP5 sono di tipo DSS/DH (Digital Signature Standard / Diffie-Hellman). PGP5 usa CAST, Triple-DES e IDEA come algoritmi di cifratura. PGP5 funziona con dati cifrati o firmati utilizzando RSA (PGP2) e, per farlo, utilizza le chiavi generate da PGP2, dal momento che PGP5 non può generare quel tipo di chiavi. Al contrario, PGP2 non è in grado di utilizzare le chiavi DSS/DH create da PGP5. Questo comporta problemi di (in)compatibilità, dal momento che molti continuano ad usare PGP2 sotto Unix/Linux.
Per utilizzare PGP5 correttamente, nella directory ~/.pgp
ci devono
essere il public e il private key ring (pubring.pkr
e
secring.skr
rispettivamente) e il file di configurazione pgp.cfg
.
Nel caso in cui si abbiano installate entrambe le versioni di PGP (supponiamo che PGP2
sia stato installato e configurato prima di PGP5), creeremo il file di configurazione
~/.pgp/pgp.cfg
di PGP5 come un link simbolico al
file ~/.pgp/pgp-i.conf
~/.pgp$ ln -s pgp-i.conf pgp.cfg
e aggiungeremo le seguenti linee in fondo al file
~/.pgp/pgp-i.conf
:
PubRing = "~/.pgp/pubring.pkr"
SecRing = "~/.pgp/secring.skr"
RandSeed = "~/.pgp/randseed.bin"
I file con i key ring di versioni diverse possono coesistere senza alcun problema nella stessa directory.
GnuPG presenta le stesse funzionalità dei precedenti programmi. A differenza di PGP, GnuPG non usa algoritmi con brevetti restrittivi. PGP è gratuito per uso personale, ma non per uso commerciale e il suo sviluppo non è open. Si può utilizzare gratuitamente GnuPG anche per scopi commerciali ed è open source, come il nostro sistema operativo preferito (anche il suo sviluppo e l'implementazione viene fatta principalmente sotto Linux):
Le chiavi generate da GnuPG sono di tipo DSA/ElGamal (Digital Signature Algorithm, noto anche come DSS). E' del tutto compatibile con PGP, eccetto per l'utilizzo da parte di quest'ultimo di algoritmi brevettati come RSA e IDEA. Comunque, è possibile implementare una certa compatibilità tra loro (vedi il GnuPG mini HOWTO http://www.dewinter.com/gnupg_howto per quanto concerne l'interazione con PGP2 e PGP5).