



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
In dettaglio la crittografia a chiave pubblica, partendo dalle motivazioni storiche e dai limiti della crittografia simmetrica. Vengono illustrati i principi di funzionamento, le applicazioni per la segretezza e l'autenticazione, e i requisiti di un sistema a chiave pubblica sicuro. Un focus particolare è dedicato all'algoritmo rsa, con una spiegazione approfondita del meccanismo di cifratura e decifratura, la generazione delle chiavi e la dimostrazione della sua correttezza basata sul teorema di eulero. Infine, vengono analizzati i protocolli per la distribuzione delle chiavi e l'algoritmo di diffie-hellman, evidenziando le vulnerabilità e le contromisure. Una panoramica completa e dettagliata dei concetti fondamentali della crittografia a chiave pubblica, rendendolo una risorsa preziosa per lo studio e l'approfondimento della materia.
Tipologia: Appunti
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




Motivazioni e Contesto Storico La crittografia a chiave pubblica, la cui concezione è formalmente datata a maggio 1975, emerge dalla necessità di superare due limiti intrinseci della crittografia convenzionale (simmetrica):
proprietario. È impiegata per decifrare i messaggi ricevuti o per apporre una firma digitale. Immagina la chiave privata come l’unica chiave che apre il lucchetto. Il fondamento di questo sistema risiede nelle funzioni unidirezionali a trappola (trap-door one-way functions). Una funzione è:
ma computazionalmente intrattabile da invertire (calcolare x conoscendo y). A trappola (trapdoor): L'inversione della funzione diventa computazionalmente fattibile solo se si è a conoscenza di un'informazione segreta, la "trappola", che nel contesto crittografico corrisponde alla chiave privata. La sicurezza si basa sull'impossibilità pratica di derivare la chiave privata dalla conoscenza di quella pubblica.
Applicazioni: Segretezza e Autenticazione La crittografia asimmetrica può essere impiegata per diversi servizi di sicurezza: Segretezza (Confidentiality): Per inviare un messaggio confidenziale a un destinatario B, il mittente A cifra il messaggio utilizzando la chiave pubblica di
in grado di decifrare il messaggio. Un crittanalista, pur intercettando il messaggio cifrato (Y) e conoscendo la chiave pubblica, non potrà risalire al messaggio in chiaro (X). Autenticazione (Authentication): Per "firmare" digitalmente un messaggio, il
il messaggio può verificarne l'autenticità decifrandolo con la chiave pubblica
che il messaggio è stato creato dal legittimo possessore della chiave privata
Segretezza e Autenticazione Combinate: Per ottenere entrambi i servizi, si esegue una doppia cifratura. Il mittente A prima cifra il messaggio con la propria
destinatario B eseguirà le operazioni inverse: prima decifrerà con la propria
Requisiti di un Sistema a Chiave Pubblica Un sistema crittografico a chiave pubblica, per essere considerato sicuro ed efficace, deve soddisfare i seguenti requisiti:
ϕ ( n )
Questo teorema costituisce il pilastro matematico su cui si fonda la correttezza dell'algoritmo RSA, garantendo che l'operazione di decifratura inverta correttamente quella di cifratura. L'Algoritmo RSA L'algoritmo RSA, sviluppato da Rivest, Shamir e Adleman nel 1978, è l'algoritmo a chiave pubblica più diffuso e si basa sulla difficoltà computazionale della fattorizzazione di numeri grandi. Meccanismo di Cifratura e Decifratura Dato un messaggio M rappresentato come un intero tale che M < n, le operazioni di cifratura e decifratura sono definite come segue:
d
La coppia (e, n) costituisce la chiave pubblica , mentre la coppia (d, n) è la chiave privata. Generazione delle Chiavi Il processo per generare una coppia di chiavi RSA si articola nei seguenti passaggi:
diventa: C d
E
d
ed
kϕ ( n ) + 1
Utilizzando le proprietà dell'aritmetica modulare e il Teorema di Eulero ( M ϕ ( p ) ≡ 1 ( mod p ) )si dimostra che il risultato è M, confermando che la decifratura restituisce il messaggio originale.
Sicurezza: La robustezza di RSA si fonda sul fatto che per calcolare la chiave privata d partendo dalla chiave pubblica (e, n), un avversario deve prima
di n. Di conseguenza, violare la sicurezza di RSA è computazionalmente equivalente a fattorizzare il modulo n. Per questo motivo, si utilizzano chiavi di dimensioni elevate (es. 1024 bit o superiori). Malleabilità: L'algoritmo RSA nella sua forma pura ("textbook RSA") è malleabile. Ciò significa che un avversario può manipolare un testo cifrato C per ottenere un nuovo testo cifrato C' che, una volta decifrato, produce un messaggio M' correlato matematicamente al messaggio originale M. Per mitigare questa vulnerabilità, nella pratica si utilizzano schemi di padding (riempimento), come OAEP o PKCS#1, che introducono elementi randomici nel messaggio prima della cifratura. Distribuzione di Chiavi con RSA Un protocollo per la distribuzione di una chiave segreta k tramite RSA può essere così strutturato:
e
d
Una debolezza di questo schema è l'assenza di Perfect Forward Secrecy (PFS). Se la chiave privata a lungo termine di Bob venisse compromessa, un avversario che avesse registrato il traffico passato potrebbe decifrare tutte le chiavi di sessione k e, di conseguenza, tutte le comunicazioni precedenti. Scambio di chiavi Diffie-Hellman (DH) L’algoritmo di Diffie-Hellman permette a due parti di stabilire una chiave segreta condivisa su un canale di comunicazione insicuro, senza che la chiave stessa venga mai trasmessa esplicitamente. Principio Matematico: La sicurezza di DH si basa sulla difficoltà del problema del logaritmo discreto. Dati un numero primo q, una radice primitiva α
X (^) A
l’esponente segreto XA. Protocollo: