Tutorial: crittografare con gpg – Parte 1 – Generare una coppia di chiavi

Published:

This (possibly cringeworthy) article is very old and part of Project Necromancy. Many of the opinions I held back then have changed. I'm keeping this only for "historical" interest, not necessarily because I agree with what I thought back then.

Also consider that many of the included links (even the ones to the Internet Archive) are dead.

Con questo articolo inizia una breve serie di tutorial sulle pratiche crittografiche con gpg, ovvero lo GNU Privacy Guardian, un pacchetto per la crittazione e la decrittazione asimmetrica dei dati. In questi tutorial non tratteremo la teoria della crittografia, ma passeremo direttamente alla pratica. In questa prima lezione impareremo, innanzitutto, a generare una coppia di chiavi con gpg.

Scaricare gpg

Se, come me, preferite compilare da sorgenti, potrete trovare qui i .tar.gz da spacchettare e compilare con le solite procedure.

Se siete utenti Linux pigri, sicuramente il vostro gestore di pacchetti (atp, yum, yast ecc.) metteranno a disposizione il pacchetto precompilato da installare (di solito lo trovate sotto il nome gnupg).

Per gli utenti mac, l’alternativa all’installazione manuale da sorgente è l’uso di MacPorts, che provvederà a scaricare e compilare anche le varie dipendenze del pacchetto.

Gli utenti Windows possono scaricare da qui. Alternativamente potete installare Cygwin e procedere all’installazione da sorgente. Mi raccomando, questo tutorial presuppone che usiate i tool da riga di comando, quindi per seguirlo lasciate perdere (almeno per ora) le interfacce grafiche.

Generare la coppia di chiavi

PGP (e la versione GNU che usiamo noi, gpg) usa la crittografia asimmetrica, ovvero produce una chiave pubblica (che useranno gli altri utenti per crittare i file a voi indirizzati) e una chiave privata (quella che userete voi per decrittare i messaggi). Il gioco è questo: una volta creata la vosta coppia di chiavi, darete tranquillamente in giro la vostra chiave pubblica, che può essere usata solo per crittare i file. I vostri corrispondenti la useranno per crittare i file a voi destinati e, quando li riceverete, userete la vostra chiave privata per decrittare i file. Ovviamente la chiave privata va mantenuta tale e non va comunicata a terzi.

Dunque al lavoro. Aprite una shell e lanciate gpg come segue

gpg --gen-key

A questo punto il programma vi chiedera di scegliere tra tre tipi di chiave: DSA e Elgamal, DSA, RSA. Scegliete la prima digitando 1 e poi invio, in quanto le altre due servono solo per le firma digitale dei documenti (ne parleremo in un altro momento).

Ora vi viene chiesto la lunghezza in bit della chiave ELG-E. Questo è a vostra scelta. Ovviamente più la chiave è lunga, più difficile sarà per un malintenzionato decrittare i vostri messaggi. Inserite un numero compreso tra 1024 e 4096 (per questo esempio userò 2048, il default, che è una buona via di mezzo).

Il passo successivo comporta nel decidere quando scadrà la chiave. Per indicare che la chiave non ha scadenza digitate 0 (zero) seguito da invio, altrimenti scrivete un numero e aggiungete davanti al numero (senza spazi) w per un numero di settimane, m per un numero di mesi, y per un numero di anni. Se invece volete indicare un numero di giorni scrivete semplicemente un numero. Per semplicità indicherò una durata infinita. Poi confermate la vostra scelta.

Vi vengono ora chiesti nome e cognome, indirizzo email e un commento per generare il vostro UserID. Per esempio:

Nome e Cognome: federico *******
Indirizzo di Email: klez@autistici.org
Commento: chiave di klez

Vi verrà chiesta conferma. Se avete digitato correttamente scrivete O (lettera o) e premete invio. Altrimenti selezionate il campo da modificare scrivendo la lettera corrispondente al campo (quella indicata tra parentesi).

Ora è il momento di scegliere una passphrase. Qui i consigli sarebbero innumerevoli, e vi rimando qui per maggiori informazioni. Una volta scelta la passphrase confermatela.

Adesso viene il bello. Mentre gpg genera la vostra coppia di chiavi, vi chiederà di intraprendee azioni casuali, tipo muovere il mouse, digitare sulla tastiera ecc. Questo per garantire una migliore generazione dei numeri casuali. Quindi, finché le chiavi non sono generate, datevi alla pazza gioia :-) .

Signori e signore, avete appena generato la vostra chiave gpg!

Nella prossima lezione impareremo a mandarla in giro e a crittare e decrittare messaggi.

Buona crittografia a tutti!

Permalink