Algoritmo RSA è algoritmo di crittografia asimmetrica. Asimmetrico in realtà significa che funziona su due chiavi diverse, ovvero Chiave pubblica e chiave privata. Come il nome descrive che la chiave pubblica viene data a tutti e la chiave privata viene mantenuta privata.
Un esempio di crittografia asimmetrica:
- Un client (ad esempio browser) invia la sua chiave pubblica al server e richiede alcuni dati.
- Il server crittografa i dati utilizzando la chiave pubblica del client e invia i dati crittografati.
- Il client riceve questi dati e li decrittografa.,
Poiché questo è asimmetrico, nessun altro tranne il browser può decifrare i dati anche se una terza parte ha la chiave pubblica del browser.
L’idea! L’idea di RSA si basa sul fatto che è difficile fattorizzare un numero intero di grandi dimensioni. La chiave pubblica consiste di due numeri in cui un numero è la moltiplicazione di due grandi numeri primi. E la chiave privata deriva anche dagli stessi due numeri primi. Quindi se qualcuno può fattorizzare il gran numero, la chiave privata è compromessa., Pertanto la forza di crittografia si trova totalmente sulla dimensione della chiave e se raddoppiamo o triplichiamo la dimensione della chiave, la forza della crittografia aumenta in modo esponenziale. Le chiavi RSA possono essere in genere lunghe 1024 o 2048 bit, ma gli esperti ritengono che le chiavi a 1024 bit potrebbero essere interrotte nel prossimo futuro. Ma fino ad ora sembra essere un compito impossibile.
Impariamo il meccanismo dietro l’algoritmo RSA :
- >> Generare chiave pubblica :
>> Generare la Chiave Privata :
Ora siamo pronti con la nostra Chiave Pubblica ( n = 3127 e e = 3) e la Chiave Privata(d = 2011)
Ora ci sarà crittografare “HI” :
Ora siamo in grado di decriptare 1394 :
8 = H) e I) = 9 cioè “CIAO”.,
di Seguito è C implementazione dell’algoritmo RSA per piccoli valori:
Uscita :
Message data = 12.000000Encrypted data = 3.000000Original Message Sent = 12.000000
Questo articolo è un contributo di Mohit Gupta_OMG 🙂. Se ti piace GeeksforGeeks e vorrebbe contribuire, si può anche scrivere un articolo utilizzando contribute.geeksforgeeks.org o posta il tuo articolo a [email protected]. Vedere il tuo articolo che appare sulla pagina principale GeeksforGeeks e aiutare altri Geek.
Lascia un commento