Newsgroup: it.comp.sicurezza.crittografia
Titolo: Dubbio sul funzionamento della firma digitale

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Salve a tutti
come comunicato nel precedente messaggio terrò un talk su gnupg al
prossimo linux day. Mi è sorto un grosso dubbio nel preparare le slide
del talk:
Gnupg, detta in maniera semplice, è un sistema di crittografia a chiave
pubblica. Secono questo schema il mittente, avendo la chiave pubblica
del destinatario, cifra il messaggio e glielo spedisce. Il destinatario
con la sua chiave privata lo decripta e lo legge.
Nella versione meno semplice gnupg è un sistema ibrido: la crittografia
a chiave pubblica viene utilizzata per scambiare in maniera sicura una
chiave di sessione (che varia sempre) grazie alla quale, insieme ad un
algoritmo simmetrico, si cifra e decifra il messaggio.
Fino a questo momento, per quanto ho capito, la chiave pubblica cifra e
la privata decifra. La chiave pubblica contiene il numero che è il
risultato della moltiplicazione dei famosi due fattori primi e lo usa
per cifrare i messaggi. La chiave privata contiene i due fattori primi e
vengono usati per decifrare. (da quanto ho capito).
Ora per la firma entra in gioco il digest. Da quanto leggo il digest
viene calcolato del mittente, cifrato con la chiave privata (ma non
serviva a decifrare o cifra pure) e viene allegato al messaggio. Il
destinatario con la chiave pubblica decifra il digest cifrato con la
chiave privata del mittente ( ma come fa? non serviva solo a cifrare la
chiave pubblica?), calcola il digest e lo confronta con quello appena
decifrato per verificare l'uguaglianza.
Cosa mi sfugge? Non capisco come posso decifrare un qualcosa cifrato con
la chiave privata di qualcuno...se posso decifrare il digest perchè non
il messaggio cifrato?
Grazie dell'attenzione
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iE8DBQFHAzpt+JjGoasQ6NIRCEskAN9UX93OVlC2UTrTqtB1DcBpY86/E0lM2jwR
sloVAOCKgfxI0r8xjP56xEhXLpkTmIwOb7M1uN58KWml
=OFAU
-----END PGP SIGNATURE-----

 appena decifrato per verificare l'uguaglianza.
Giusto, ma usi "cifrare" e "decifrare" in modo improprio.
Al mittente non serve cifrare un digest senza senso. Il mittente, con la sua 
chiave privata, autentica il digest rendendolo senza alcun dubbio 
attribuibile solo a lui (solo il mittente ha la sua chiave privata).
Quando il destinatario (o i destinatari) applica la chiave pubblica al 
digest non lo fa per decifrare una serie di bit senza alcun senso, ma lo fa 
per verificare che il digest lo ha generato proprio il possessore della 
chiave privata (il mittente).
In realtà non hai alcun dubbio sul funzionamento di tutto il sistema! Da 
quello che hai scritto, sai perfettamente come funziona. :-)
Cristiano 

 
Mi consigli qualche fonte da cui leggere un po in merito all'argomento?
Qualcosa  intellegibile anche da chi non si chiama phil zimmermann o
Bruce Schneier :-)
Grazie tantissimo per la tua risposta
Noiano
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iE8DBQFHA+U1+JjGoasQ6NIRCKIOAOCqLxRQRgStTTaUQ9Y4lZOo+hl1QaqF6sJw
NhzDAN92lsSRQoQaBw69ofQuDOpXZyAChKKdgQnnJfLK
=mAKL
-----END PGP SIGNATURE-----

 Grazie tantissimo per la tua risposta
Preghissimo :-)
Cristiano