Attenzione: l'articolo è stato scritto da oltre 1 anno, le informazioni in esso contenute potrebbero essere datate e non più attuali.

GnuPG (GNU PRIVACY GUARD)

Questa guida su GPG è un'estratto dalla guida realizzata da Cikkox e disponibile su http://cikkox.altervista.org. Vi consiglio di leggerla direttamente dal sito dell'autore per godere di una migliore impaginazione.

1.12   GnuPG

GNU Privacy Guard (GnuPG - d'ora in poi GPG) è un'applicazione che consente di cifrare e firmare un qualsiasi documento che può essere elaborato da un computer. GPG è rilasciato secondo la licenza GPL, e può essere usato anche a fini commerciali senza alcuna restrizione.

Il progetto va avanti grazie anche ai finanziamenti stanziati dal Ministero tedesco per l'Economia e la Tecnologia. È compatibile con lo standard OpenPGP. Il programma è disponibile sul sito ufficiale <http://www.gnupg.org> dove si trova la relativa documentazione.

1.12.1   Installazione e configurazione

In genere quasi tutte le distribuzioni GNU/Linux installano il programma. Per verificare se è presente o meno, da terminale digitare il comando

gpg --version[Invio]

L'output dovrebbe essere simile al seguente:

gpg (GnuPG) 1.4.1
Copyright (C) 2005 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Home: ~/.gnupg
Algoritmi gestiti:
A chiave pubblica: RSA, RSA-E, RSA-S, ELG-E, DSA
Cifrari: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512
Compressione: Non compresso, ZIP, ZLIB, BZIP2

Controllare il numero di versione che appare a video, ed assicurarsi di utilizzare sempre l'ultima versione stabile disponibile sul sito del progetto.

Anche se alla macchina GNU/Linux accedono 10 utenti, ogni singolo utente avrà a disposizione la propria coppia di chiavi, mediante la creazione della directory utente personale che si troverà in /home/user1/.gnupg; /home/user2/.gnupg; ecc. L'utente user1 non potrà usare le chiavi di user2 (e quindi fingersi di essere user2) a meno che non conosca la parola d'ordine della chiave privata di user1. E cosi via.

1.12.2   Creazione coppia di chiavi

Per creare una nuova coppia di chiavi, digitare il comando

gpg --gen-key[Invio]

quindi scegliere la prima voce (DSA and ElGamal) impostare la dimensione delle chiave a scelta - consiglio 2 048 o 4 096 bit; quindi inserire un nome (oppure un soprannome), l'indirizzo di posta elettronica e la parola d'ordine. La parola d'ordine (4) dovrebbe essere composta da un minimo di 7-8 caratteri, fra lettere maiuscole, minuscole e, cosa più importante, inserire anche caratteri speciali - simboli e lettere accentate. Nota importante: durante la creazione delle chiavi muovere il mouse e contemporaneamente premere tasti a caso sulla tastiera.

Effettuata la generazione delle chiavi saranno creati due file: secring.gpg e pubring.gpg. Il primo contiene le chiavi private mentre il secondo contiene le chiavi pubbliche: la propria e quelle importate. Prestare particolarmente cura al primo dei due file in quanto contiene informazioni sulla propria chiave privata. In ogni caso questo file è memorizzato in modo cifrato, per questo motivo quando si utilizza la propria chiave privata è richiesta l'immissione della parola d'ordine personale.

Si tenga presente che se si perde la propria chiave segreta o si dimentica la parola d'ordine, non sarà possibile recuperarla in alcun modo. In questi casi non è possibile decifrare/verificare digitalmente nessun documento e la chiave pubblica associata sarà dunque inutilizzabile. Se cosi non fosse la crittografia non avrebbe senso.

Per maggiore sicurezza (non si sa mai) il consiglio è di: non condividere il file secring.gpg in rete, non lasciarlo memorizzato su un computer che non è il proprio - e magari neanche su quest'ultimo. In poche parole: mai nessuno deve entrare in possesso del file secring.gpg. È difficile risalire alla propria parola d'ordine analizzando il file secring.gpg, però considerando che la sicurezza al 100% non esiste, allora è bene agire di conseguenza.

Un'efficace precauzione sarebbe quella di memorizzare questi file su di un supporto mobile - una penna USB o un semplice dischetto - ed impostare il programma in modo che quando lo si utilizza andrà a ricercare la chiave privata nel file sul supporto mobile anziché sull'hard disk - si deve modificare il file gpg.conf o options. Un altro trucco può rivelarsi molto efficace per gli amministratori di server: rinominare i file di default che usa il programma (secring.gpg, pubring.gpg e trustdb.gpg) e quindi impostare il programma in questo senso.

I comandi e le opzioni richiedono un UserID che serve ad identificare una chiave pubblica, una persona. A tal proposito, è possibile indicare come UserID il nome e cognome (o solo il cognome - soprannome), un indirizzo posta elettronica, il KeyID. Il KeyID è un identificativo univoco associato ad una chiave, ed in genere rappresenta i 64 bit meno significativi del fingerprint. Quindi il KeyID potrebbe essere: 4C5A2608 oppure in notazione esadecimale 0x4C5A2608. Inoltre, in tutti i comandi si può includere l'opzione -a per creare l'output in formato ASCII Armored (Base64).

Creata la coppia di chiavi, impartire questi comandi:

gpg -ao nomefile.asc --export UserID [Invio]

gpg -ao cert_revoca.asc --gen-revoke UserID[Invio]

La scelta di trasformare un file in codice ASCII Armored oppure no è a scelta dell'utente - in alcuni casi questa operazione è svolta dai sistemi software o hardware in modo trasparente se non l'ha fatto in modo esplicito l'utente. In generale è consigliabile utilizzare la conversione Base64, ciò evita problemi di visualizzazioni dei caratteri su sistemi differenti (GNU/Linux e Windows, GNU/Linux e Mac, e via dicendo).

Si osservi un esempio pratico per notare la differenza: creare un file di testo mediante il comando

vim prova.txt[Invio]

ed all'interno di questo inserire la frase "questo e' un esempio di documento firmato e cifrato".

Si procede alla firma e decifratura mediante

gpg -es -r myid prova.txt[Invio]

Poi digitare

less prova.txt.gpg[Invio]

e si osservi l'output di questo file:

<85>^B^N^C<9E>E#¸úµ "^P^GÿA*êÞlG£<99>Â^]Ð7Ñ^K8s^Bv<80>&die;N&^PH^U&die;<8B>-þ-¢<9F>Ý´^Z<8E>
<97>iß^EESC¯é~Rümø<82>\<93>Cì<88>Åü^LÜ<94>)<9A><82><92>R^C^_B<90>åÁa<8C>sms¤
r¬^PO¶^?ñ½ÄS¸<90>»~:PB@½<98>gO&y~}Ê_~ÿ<8D>æ ^C<9C>a9<87><94> p%<85><94><81>®-<85>_¦<92>
<88><82>fÖå<9E>cì<9E>·<95>÷åGÿ÷*<86>n^Oq[®Ìºz<95>:^?<^V;BXU<92>^?¥àRÃ^B¯Æ7]ö^PZ<87>sZøK¬
´[C§îez^Q1Aø^BV<87>ÿö^S·7^DHú'^A¤
ù'Z^Sð<81>âxj^GÂÏÝèñ<8F>Ä^\^@[ÌD<8A>á<86>+~¶j<9E>á9òoY^<88>îã<9F>ESCs(£^Gý^V¹»S©óõUK^Bç
<9E>±<9E>öL¡ºã<9A>^Aªdîâ*J\Y^^U<8A>]<89>?~E.å<85>qmSó +f2çJ/^W«><92>p<85>á®<8A>jE<89>çw
^Q^C»<94>ã^Zæ<94>_0wýÙ^G<8B> ëâ<89>õ<91>^U¯^N1o<9F>1<82>^E^É<93>^Y¯ì$Æ3ÍM:^BÍ'FëïéLØ>æ^]
^TGN·<91>À<82>Öw<<92>ÙÿÈ<9A>As¬)©HL<8A>%å^VÛÇôGz»â?°>öÉ^NFAË­¿¯ø<85>^Oý,!$b<9F>^_<92>7
<8C>¸6^P<98>^D!^M_Á]gc§¶fáHÍ^^Kwmq1×E^]<96><9F>u^^u¢89Uó<88>$g#ÅE<9C><9F>^U<86>Y'.é<81>Ì
½&die;`<9B><8F><88>Ü»<9C>^_¯Ì*^_ú?^^1yl&die;^AX^AêÒ´^A<8E>Ú¬mO¯¿^U Ë^NÜ^G<99>^\ç^D<83>þâ
~Í<86>«i^PÔo<85>'<9A>ÛDD4+î6<88>+^WvsÉ¢^K1²p&die;}Ì87KX½^Að<81>^L^M¹<84>æ¹ÁÔøK<95>1^G<9E>I¯\
¤V<8D><84>Â^]P;êÑ¢<88><9C>_<9A>*)ÕÚDÎv<92>[^S<88>1^Uçýð^\<80><8C>ÞÕC< <86>²<91>dãnó0£
<85>~^L^^.Ö^Z8
^\¢<80>¼7æ<8C>^?ï<80>7ä<90>¢íc^YM@<8F>^]^U^F<88>®Ð·^Nè<9F><9F>ì^B~w<9C>[´ÖESCkÀ¦ot

Si veda adesso l'uso del formato Base64: digitare il comando

gpg -aes -r myid prova.txt[Invio]

e di seguito

less prova.txt.asc[Invio]

Il risultato in formato Base64 è

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.1 (GNU/Linux)

hQIOA55FI7j6tQkiEAgApBTRTx3qo3sasS6aZSOqspCDOqmNEPHBMitH7dmqiWlh
1Af1LXdd6a9FJLtmN/7sEpyw1bHQJC9FXU8P0b5TpWKhSMi5ywCnXSxJgimRRxuW
Szv60H9UeCpRizc2+kbbMKqiyc6jzrzROSbxvUCagKa2IuOi2X5A3M8Sa/wx8YoE
6BZXes2xQJTqSzeTjsrFHiTn3k1NLw6172rWGPcq5PSk3WqpBCHAIH7SSBIlU+ff
JjggcLJLJBXyhlTvJeaM+4JkLUgags3VVkxJA88cZVrc2v+f1PJYo5KzGXSKK0FR
wzFkJwRfVz1+lHf5Ry4S2AUBhl3AmgYSAaBkfOu39ggAusWwIWniGnxLbpUb2TvM
q/eDLQFsUdoScyZs9ccTUSfepfUfp4/xVleDlkJk0qzAZbahlwlYJQAGvPxeHydo
/gm5136kmZOqVnJBXcsbyi4burJheBAtFikvIqdjJyFCZsJwOiy4ptHdIi5J9xxt
S3jRTVPHhYrJ8ZYiH/0PmciBi1vSy5f8zux2zuqZm1bYlevFSoTQzcKb1QrriOTg
R10yi5PHmmiB8Rwb1HhP5ywisgf6kB0CXHZihkWUByX+r8OxQggShN25tEt+9yJK
UXOJSrhpHBmOKH4rrlxAzK6zNWsqUHdpmCQahb5znog4cvM03buZzC89puHt4qPv
t9K2AdJS8rbhV2eDsPKe+pjD4AgZCm0szMPHeLjiW07fMTu690YxMhYfSjkKjdmV
TzDqOaWCjse54FfXhzFOwjQrJOvyfaCzTIRmKeb2I0/M9/Z8jPE33DhaVvuebVz5
r9YlKu8y+LPejzeyRa7S6NR27L3S3LBsjUuVFcglJfv23IpVdFUrsc4pqIwtjSsU
sq/9MlOkX1VaprClpAbNxUwb7DOH2xc9JfuxArBldB16rGBqPql5Mto=
=yLwR
-----END PGP MESSAGE-----

Stesso file ma stavolta con firma distaccata (senza cifratura):

gpg -b prova.txt[Invio]

seguito da

less prova.txt.sig[Invio]

<88>?^C^E^@AÅnE/^_<97><8F>È^Dþ<^Q^B^MM^@<9E>2Möì½<9A>ÌU<9C>Uñ^?k°L"¯é^K¡^@<9E>!µ<82>7l
<97>>^CõÎÙ.<88> <89><9D>º<90>y<8B>

Creazione firma digitale separata in formato Base64:

gpg -ab prova.txt[Invio]

poi

less prova.txt.asc[Invio]

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBCPCmLLx+Xj8gE/jwRAi7kAJwJaKgfhbYunBlgw7ObEMVf0b5jiQCaAn6S
TH/06BwlranOrZ2NTKZP30I=
=OihD
-----END PGP SIGNATURE-----

1.12.3   Operazioni comuni

Di seguito sono illustrati i comandi di uso comune.

Cifrare e firmare un documento

gpg -aes -r lista UserID nomefile[Invio]

Ad esempio, digitando

gpg -aes -r mario letter.sxw[Invio]

si cifrerà e firmerà il file «letter.sxw» con la chiave pubblica associata all'UserID mario.

L'opzione -r richiede una o più chiavi pubbliche separate dalla virgola. Il nuovo file si chiamerà «letter.sxw.asc» (.gpg se non si include -a). La cosa importante da ricordare è che se non si include anche la propria chiave pubblica non si sarà in grado di decifrare il file, per cui nell'elenco dei destinatari dovrebbe comparire anche il proprio UserID - l'inclusione del proprio UserID può essere impostata in automatico mediante il file di configurazione.

Firmare un documento

gpg -as nomefile[Invio]

si otterrà un nuovo file chiamato nomefile.asc (.gpg se non si include -a).

Se si desidera separare la firma digitale dal file di origine vero e proprio, digitare il comando

gpg -ab nomefile[Invio]

Sarà creato il file di firma nomefile.asc (oppure con estensione .sig). In entrambi i casi è richiesta l'immissione della propria parola d'ordine personale.

In alcuni casi può essere utile firmare un documento senza applicare la compressione alla firma. Ad esempio capita di trovare messaggi firmati sui newsgroup. Questo è possibile mediante il comando

gpg --clearsign[Invio]

Cifrare un documento mediante un algoritmo simmetrico

Se per qualche motivo non si vuole usare il metodo a doppia chiave e si desidera cifrare il documento in modo simmetrico, bisogna usare il comando

gpg --cipher-algo algoritmo -ac nomefile[Invio]

sarà creato il file nomefile.gpg. Ad esempio:

gpg --cipher-algo twofish -ac lettera.sxw[Invio]

si è scelto di cifrare il file «lettera.sxw» con l'algoritmo simmetrico Twofish. Sarà richiesto l'inserimento di una parola d'ordine. Non dimenticare la parola d'ordine inserita altrimenti in seguito non sarà possibile decifrare il documento.

Decifrare e verificare un documento

gpg -o nomefile -d nomefile.gpg[Invio]

Il comando è valido per un file cifrato, per uno cifrato e firmato o per uno esclusivamente firmato.

Se nessuno ha modificato il documento apparirà (fra gli altri) il messaggio «GOOD Signature from firmatario» (oppure «Firma valida da firmatario»), altrimenti «BAD Signature from firmatario» (oppure «Firma NON corretta da firmatario»).

Verificare una firma

gpg --verify nomefile.sig[Invio]

A differenza del comando precedente, questo verifica la firma senza estrarre il documento di origine, ed è valido solo per i documenti firmati, senza nessuna cifratura.

Se si tratta di un documento con firma distaccata, si deve scrivere il nome del file di firma e quello del file di origine:

gpg --verify nomefile.sig nomefile[Invio]

Importare e validare (firmare) una chiave pubblica

Come già detto, una chiave pubblica di un proprio corrispondente per essere usata è indispensabile firmarla.
Per prima cosa è necessario essere sicuri che quella chiave pubblica è del corretto destinatario mediante la verifica dell'impronta digitale (fingerprint): importare la chiave nel portachiavi pubblico mediante

gpg --import nomefile.asc[Invio]

effettuare il controllo del fingerprint:

gpg --fingerprint UserID[Invio]

Figura 1.6. Fingerprint di una chiave pubblica.

figure/bitos-fingerprn

Come da figura, prestare attenzione ai valori evidenziati: devono essere identici come sopra. Se i valori corrispondono si può procedere alla firma

gpg --sign-key UserID[Invio]

Il comando chiederà la bontà della verifica sull'identità del possessore della chiave. C'è più di una possibile risposta (da 0 a 3) e digitando il carattere< ?> apparirà a video la spiegazione di ogni singolo valore.
Dopo aver firmato questa chiave la si dovrebbe esportare in modo che il possessore importi questa firma. Cosi chi la importerà a sua volta, avrà di fronte anche la propria verifica.

Questi ultimi passaggi fanno parte del concetto di web of trust (ragnatela di fiducia). Per maggiori informazioni consultare il documento GnuPG Keysigning Party HOWTO all'indirizzo <http://www.gnupg.org/howtos/it/gpg-party.html>.

Lista delle chiavi

Il comando

gpg --list-keys[Invio]

mostra la lista delle chiavi pubbliche - come già detto sono contenute nel file pubring.gpg. Mentre con

gpg --check-sigs[Invio]

si effettua anche la verifica. Per visualizzare le chiavi con le relative firme si può usare

gpg --list-sigs[Invio]

Cambiare la parola d'ordine

Per cambiare la propria parola d'ordine digitare in sequenza questi comandi:

gpg --edit-key UserID[Invio]

passwd[Invio]

save[Invio]

quit[Invio]

Aggiungere o eliminare UserID

Se si ha bisogno di usare due o più identità, perché ad esempio si possiedono più indirizzi di posta elettronica, è possibile aggiungere nuovi UserID alla chiave principale. Cosi facendo si evita di creare un'altra coppia di chiavi.

gpg --edit-key UserID[Invio]

adduid[Invio]

inserire un nome e cognome, posta elettronica quando richiesto.

save[Invio]

per confermare le modifiche.

Per eliminare un UserID, editare la chiave e servirsi del comando

uid numero[Invio]

indicando il numero desiderato, poi

deluid[Invio]

save[Invio]

per confermare le modifiche.

Cambiare lista preferenze

Per prima cosa impartire il comando

gpg -v --version[Invio]

si avrà cosi a disposizione un elenco con le sigle che è necessario indicare. Editare la chiave con il solito

gpg --edit-key UserID[Invio]

e poi in sequenza

showpref[Invio]

mostra le impostazioni attuali

setpref S3 S4 S7 S8 S9 S10 H1 H2 H3 H8 H9 H10 Z0 Z1 Z2 Z3[Invio]

updpref[Invio]

save[Invio]

Eliminare una chiave

Per cancellare una chiave pubblica digitare

gpg --delete-keys UserID[Invio]

mentre per una chiave segreta servirsi del comando

gpg --delete-secret-and-public-key UserID[Invio]

Altri comandi

man gpg[Invio]

oppure

gpg --help[Invio]

1.12.4   Riepilogo funzionamento programma

Nella figura sotto è illustrato il processo di crittografia.

Figura 1.7. Riepilogo passaggi cifratura.

figure/bitos-gpg_schema

  • il documento del mittente viene compresso con un algoritmo di tipo zip;

  • il risultante documento compresso viene cifrato mediante l'algoritmo CAST5 - oppure un altro algoritmo, a seconda delle preferenze impostate;

  • viene generata una sequenza casuale di minimo 128 bit chiamata session key con appositi algoritmi allo scopo di ottenere una sequenza di numeri pseudo-casuali che hanno determinate proprietà statistiche - devono essere equi-probabili; come nel lancio di un dado: escono numeri da 1 a 6;

  • la session key è cifrata con l'algoritmo DSA (oppure con l'algoritmo RSA) utilizzando la chiave pubblica del destinatario ed il risultato è concatenato al documento;

  • la session key cifrata sarà concatenata al file cifrato;

  • infine, viene applicato l'algoritmo di trasformazione reversibile a testo ASCII Armored. Questo algoritmo produce un documento formato da solo caratteri compatibili con tutti i server e client di posta elettronica.

Il destinatario naturalmente, esegue i passaggi al contrario.

Si osservi invece il procedimento di firma.

Figura 1.8. Riepilogo passaggi firma digitale.

figure/bitos-gpg_schema_sig

  • il documento del mittente viene compresso con un algoritmo di tipo zip;

  • viene calcolato l'hashing del documento compresso mediante l'algoritmo SHA-1 (oppure con uno diverso). Il codice hash generato viene cifrato tramite DSA con la chiave privata del mittente ed accodato al file di origine;

  • il file risultante dalle due operazioni precedenti viene trasformato in codice ASCII Armored;

  • il destinatario effettua le operazioni al contrario e verifica se i codici di hashing sono identici.

1.12.5   Note finali

Ricordare sempre che per ogni modifica apportata alla propria coppia di chiavi, si deve nuovamente esportare ed inviare ai propri corrispondenti la chiave pubblica aggiornata - modifica della parola d'ordine, aggiunta di UserID, ecc.

Non c'è dubbio che se si fa uso del programma in modo frequente, usarlo sempre da terminale è piuttosto noioso. A tal proposito esistono delle opportune interfacce grafiche all'uso da console. È chiaro però che i front-end non hanno la stessa potenza e completezza dei comandi e delle opzioni disponibili da terminale.

Ad esempio in KDE è presente il tool KGPG, mentre per GNOME è disponibile SeaHorse (<http://seahorse.sourceforge.net>).

Vi sono poi molti programmi che permettono l'uso di GPG per quanto riguarda la firma digitale e crittografia. Ad esempio i client di posta elettronica: Thunderbird, KMail, Evolution. Il programma Thunderbird necessita del plug-in chiamato Enigmail (<http://enigmail.mozdev.org/download.html>).

È consigliata la lettura, almeno una volta, delle FAQ sul GPG (http://www.gnupg.org/(it)/documentation/faqs.html).

In alcuni casi potrebbero verificarsi errori nel riconoscere i caratteri digitati per la propria parola d'ordine.

Se si crea una parola d'ordine nel sistema operativo GNU/Linux con caratteri alfanumerici - quindi non solo le lettere dell'alfabeto o numeri - e poi si desidera utilizzare questa chiave con il sistema Windows, può succedere che la versione GPG per Windows darà un errore quando si immetterà la parola d'ordine. Questo perché i due sistemi non hanno codificato lo stesso codice per quei particolari caratteri - un sistema può essere impostato con caratteri Unicode e l'altro con set di caratteri latini ISO-8859-1 o ISO-8859-15. Se ci si ritrova in questa situazione è sufficiente cambiare la parola d'ordine all'interno di GNU/Linux, esportare nuovamente la chiave pubblica e spedirla ai propri corrispondenti.

Tanto per fare un esempio, il codice del ritorno a capo: in Unix è <LF>, in Windows è <CR><LF>, nel Machintosh è <CR>. Se si apre in GNU/Linux un file di testo creato in ambiente Windows si noteranno caratteri strani.

In linea generale è garantita una buona compatibilità con PGP, poiché sia GPG che PGP si basano sullo standard OpenPGP. Tuttavia PGP include altre cose non previste dallo standard OpenPGP, in quanto si tratta di software commerciale.

Una differenza fra GPG e PGP sta nel fatto che il primo non supporta l'eccellente algoritmo simmetrico IDEA, infatti di questo algoritmo possiede il brevetto fino al 2007 la società Ascom. E prima di quell'anno non sarà incluso. Comunque si può usare il plug-in di tale algoritmo per decifrare eventuali documenti cifrati con esso.

La domanda forse più interessante è: quale usare, GPG o PGP? Come già detto, entrambi sono basati sullo standard OpenPGP, e sono compatibili fra di loro fino ad un certo punto. Per chi vuole iniziare ad usare un programma di crittografia/firma digitale è preferibile usare il primo dei due. Però PGP ha qualche plug-in interessante (nella versione commerciale), come PGPdisk. Inoltre, nella versione Enterprise, offre strumenti per la comunicazione cifrata in LAN aziendali.

In GPG non vi sono strumenti simili perché questi compiti li svolgono altri software, quindi gli sviluppatori hanno preferito concentrarsi solo sulla crittografia e firma digitale. E poi la filosofia dei sistemi Unix-like (come GNU/Linux) non è quella del «tutto in uno», ma consiste nel combinare tanti pezzi (software) e farli funzionare insieme per ottenere lo scopo che si desidera.

Se si cerca un programma simile a PGPdisk per sistemi GNU/Linux, fare riferimento a:

In ambiente Windows invece, valutare programmi come TrueCrypt, AxCrypt, o CrossCrypt. Sono anche open source.

Per chi desidera collaborare ad un qualsiasi progetto open source (al codice sorgente, alla documentazione, o altro), possedere una coppia di chiavi GPG è senz'altro necessario per garantire l'autenticità del mittente e l'integrità del codice (o documentazione) a cui si partecipa. È necessario anche che la propria chiave pubblica sia stata firmata da qualche partecipante del progetto.

Il tuo voto: Nessuno Media: 4.7 (3 voti)

Commenti

Questo articolo è

Questo articolo è semplicemente fantastico!
Bravo.