Il crittosistema RSA è uno schema crittografico fondamentale a chiave pubblica basato su principi di teoria dei numeri, in particolare sulla difficoltà matematica della fattorizzazione di numeri composti di grandi dimensioni. Nell'esaminare le funzioni di crittografia e decifratura in RSA, è sia accurato che istruttivo caratterizzare queste operazioni come esponenziali modulari, ciascuna delle quali utilizza un esponente distinto.
Generazione di chiavi in RSA
L'algoritmo RSA inizia con la generazione di due grandi numeri primi, indicati come e
, che sono tenuti segreti. Il loro prodotto
forma il modulo sia per la chiave pubblica che per quella privata. Il totale (funzione phi di Eulero) di
è calcolato come
L'esponente pubblico
è scelto in modo tale che
e
, assicurando che
è invertibile modulo
. L'esponente privato
viene quindi calcolato come l'inverso moltiplicativo modulare di
modulo
, soddisfacente
.
- Chiave pubblica:
- Chiave privata:
Funzione di crittografia
Dato un messaggio in chiaro Durante la serata,
, l'operazione di crittografia trasforma
in testo cifrato
utilizzando la chiave pubblica del destinatario:
Questa è inequivocabilmente una funzione esponenziale, dove la base è il messaggio e l'esponente è l'esponente della chiave pubblica
, tutto calcolato modulo
L'operazione viene eseguita nel gruppo matematico degli interi modulo
, indicato come
.
Funzione di decrittazione
Per recuperare il messaggio originale dal testo cifrato
, il destinatario utilizza l'esponente della chiave privata
:
Ancora una volta, la funzione di decrittazione è una funzione esponenziale modulo , questa volta con il testo cifrato
come base e come esponente privato
come esponente. L'operazione sfrutta le proprietà aritmetiche modulari e la relazione matematica tra
e
.
Perché l'esponenziazione modulare?
L'uso dell'esponenziale modulare non è casuale. Il fulcro della sicurezza e della correttezza di RSA è radicato nel teorema di Eulero, che afferma che per qualsiasi numero intero coprimo a
:
Dal , esiste un numero intero
così
Pertanto, la decrittazione annulla la crittografia, come mostrato di seguito:
Dal , questo si semplifica in
.
Esempio didattico
Consideriamo un esempio concreto utilizzando numeri primi piccoli per chiarezza (nota: in pratica, per motivi di sicurezza, i numeri primi devono essere composti da centinaia di cifre):
1. Scegli i numeri primi: ,
.
2. Calcola .
3. Calcola .
4. Scegliere (comunemente usato, coprimo con 3120).
5. Calcola così
. Qui,
.
Supponiamo che Alice voglia crittografare per Bob:
- crittografia:
- Decrittografia:
Entrambe le operazioni sono esponenziali modulari: la crittografia utilizza l'esponente 17, la decrittazione l'esponente 2753, entrambe modulo 3233.
Esponenziazione efficiente
Nelle implementazioni pratiche, il calcolo or
direttamente eseguendo l'esponenziale e quindi riducendo il modulo
sarebbe computazionalmente irrealizzabile per esponenti grandi. Invece, vengono utilizzati algoritmi come "quadrato e moltiplicazione" (noto anche come elevazione a potenza binaria). Questi algoritmi scompongono l'elevazione a potenza in una sequenza di quadrati e moltiplicazioni, ciascuna seguita da una riduzione modulare, che consente un calcolo efficiente anche per esponenti e moduli molto grandi.
Proprietà matematiche che garantiscono la correttezza
La correttezza dell'RSA dipende dalle seguenti proprietà:
– La mappatura è iniettivo (uno a uno) sull'insieme dei messaggi validi, a condizione
è coprimo a
.
– La mappatura inversa recupera il messaggio originale
, a causa della relazione
.
– La sicurezza dell’RSA si basa sulla difficoltà di dedurre da
e
, o equivalentemente, la fattorizzazione
per trovare
e
, che consente quindi il calcolo di
.
Fondamenti teorici
La struttura algebrica alla base di RSA è il gruppo moltiplicativo degli interi modulo , indicato come
Per i messaggi che non sono sovrapponibili a
, vengono apportate alcune modifiche tecniche, ma in circostanze tipiche i messaggi sono obbligatori o rinforzati per garantire la coprimalità.
Dalla teoria dei gruppi, la funzione di esponenziale modulare è un automorfismo di gruppo quando è limitata a Questo automorfismo è invertibile, con la mappa inversa data dall'esponenziale alla potenza
.
Riepilogo delle funzioni
- Funzione di crittografia: Funzione esponenziale modulo con esponente
:
.
- Funzione di decrittazione: Funzione esponenziale modulo con esponente
:
.
Entrambi i processi sono matematicamente equivalenti all'elevamento dell'input a una potenza (o or
) e riducendo il risultato modulo
.
Potenziali insidie e considerazioni sulla sicurezza
È importante notare che l'RSA testuale (come descritto sopra) è deterministico e malleabile; ovvero, crittografare lo stesso messaggio due volte produce testi cifrati identici e alcune manipolazioni algebriche sui testi cifrati si traducono in modifiche prevedibili nel testo in chiaro. Per questi motivi, le implementazioni pratiche utilizzano schemi di padding (come PKCS#1 v1.5 o OAEP), che randomizzano il testo in chiaro prima della crittografia, migliorando notevolmente la sicurezza.
Inoltre, se vengono scelti valori impropri per o se i numeri primi
e
Se sono troppo piccoli o generati male, il sistema RSA può essere compromesso. Gli esponenti devono essere sufficientemente grandi da prevenire determinati attacchi, ma sufficientemente piccoli da consentire un calcolo efficiente.
Le funzioni di crittografia e decrittografia in RSA sono entrambe operazioni di esponenzializzazione modulari, che differiscono solo per l'esponente utilizzato: esponente pubblico per la crittografia, esponente privato
per la decrittazione. La simmetria matematica e l'invertibilità di queste funzioni sono fondamentali per il funzionamento e la sicurezza del sistema crittografico RSA.
Altre domande e risposte recenti riguardanti Fondamenti di crittografia classica EITC/IS/CCF:
- La crittografia a chiave pubblica è stata introdotta per essere utilizzata nella crittografia?
- In crittografia, l'insieme di tutte le possibili chiavi di un particolare protocollo crittografico viene definito spazio delle chiavi?
- In un cifrario a scorrimento, le lettere alla fine dell'alfabeto vengono sostituite con le lettere all'inizio dell'alfabeto secondo l'aritmetica modulare?
- Cosa dovrebbe includere un cifrario a blocchi secondo Shannon?
- Il protocollo DES è stato introdotto per migliorare la sicurezza dei sistemi crittografici AES?
- La sicurezza dei cifrari a blocchi dipende dalla combinazione ripetuta di operazioni di confusione e diffusione?
- Le funzioni di crittografia e decrittografia devono essere tenute segrete affinché il protocollo crittografico rimanga sicuro?
- La crittoanalisi può essere utilizzata per comunicare in modo sicuro su un canale di comunicazione non sicuro?
- Internet, GSM e le reti wireless appartengono ai canali di comunicazione non sicuri?
- Una ricerca esaustiva delle chiavi è efficace contro i cifrari a sostituzione?
Visualizza altre domande e risposte in EITC/IS/CCF Classical Cryptography Fundamentals
Altre domande e risposte:
- Settore: Cybersecurity
- programma: Fondamenti di crittografia classica EITC/IS/CCF (vai al programma di certificazione)
- Lezione: Introduzione alla crittografia a chiave pubblica (vai alla lezione correlata)
- Argomento: Il crittosistema RSA e l'elevamento a potenza efficiente (vai all'argomento correlato)