0Pricing
Cryptology Academy · Lezione

Che cos'è una firma digitale?

Comprenda la differenza tra autenticazione e cifratura e il ciclo di vita di una firma.

Che cos'è una firma digitale? è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Benvenuto

Le firme digitali sono l'equivalente crittografico di una firma autografa, ma sono verificabili matematicamente e impossibili da falsificare senza la chiave privata.

Perché le firme sono diverse dalla cifratura

Cifratura: trasformare i dati in modo che solo il destinatario possa leggerli. Firme: dimostrare che i dati provengono da Lei e non sono stati alterati. La cifratura usa la chiave pubblica del destinatario; la firma usa la chiave privata del mittente.

Tre proprietà di sicurezza

Autenticazione: conferma l'identità del firmatario. Integrità: dimostra che il messaggio non è stato alterato dopo la firma. Non ripudio: il firmatario non può negare di aver firmato, perché la chiave privata è esclusivamente sua.

Firma e poi cifratura vs cifratura e poi firma

La cifratura e poi la firma è generalmente più sicura: firmi il testo cifrato, in modo che la firma copra esattamente ciò che viene autenticato. La firma e poi la cifratura può esporre metadati agli attaccanti attivi.

Hash e poi firma

Non firmi mai il messaggio grezzo (è troppo grande per RSA). Proceda invece nel modo seguente: 1. H = Hash(message) 2. signature = Sign(private_key, H) L'hash riduce qualsiasi messaggio a un input di dimensione fissa per l'algoritmo di firma.

Verifica della firma

Il verificatore dispone di: messaggio, firma, chiave pubblica del firmatario. 1. H = Hash(message) 2. H' = Verify(public_key, signature) 3. Accettare se H == H'; rifiutare altrimenti

Esempio di firma RSA

Sign: sig = hash^d mod n (elevamento a potenza con la chiave privata d) Verify: hash = sig^e mod n (elevamento a potenza con la chiave pubblica e) Confronti l'hash recuperato con l'hash calcolato del messaggio.

Confronto tra firme e MAC

Un MAC richiede un segreto condiviso: entrambe le parti devono conoscere la chiave. Le firme usano chiavi asimmetriche: chiunque disponga della chiave pubblica può verificarle. Le firme forniscono non ripudio, i MAC no.

Panoramica su DSA

DSA (Digital Signature Algorithm, 1994) si basa sulla difficoltà del logaritmo discreto. Genera un nonce casuale k per ogni firma. Se k viene riutilizzato o è prevedibile, la chiave privata viene esposta.

Il disastro del riutilizzo del nonce (attacco alla PS3)

Sony PlayStation 3 utilizzava un valore costante k=1 in ECDSA. Gli hacker hanno estratto la chiave privata di firma da due firme diverse. Questo ha permesso loro di firmare firmware arbitrario, aggirando ogni misura di sicurezza.

Firme dei certificati

Un certificato X.509 è semplicemente costituito da dati + una firma digitale realizzata con la chiave privata di una CA. Quando il browser verifica un certificato, controlla la firma della CA usando la chiave pubblica della CA presente nel suo trust store.

Verifica rapida

Quale proprietà garantisce che un firmatario non possa in seguito negare di aver firmato un documento?

Riepilogo

Le firme digitali rendono affidabile il mondo digitale. Ora studieremo in dettaglio gli schemi di firma RSA, DSA ed ECDSA.

Domande Frequenti

La lezione «Che cos'è una firma digitale?» è gratuita?

Sì — il testo completo di «Che cos'è una firma digitale?» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «Che cos'è una firma digitale?»?

Comprenda la differenza tra autenticazione e cifratura e il ciclo di vita di una firma. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Che cos'è una firma digitale?»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Che cos'è una firma digitale?
  2. Firme RSA: firma e verifica
  3. Schemi di firma DSA ed ECDSA
  4. Le firme nella pratica: firma del codice ed e-mail
← Torna a Cryptology Academy