Introduzione alla crittografia a chiave pubblica

La crittografia a chiave pubblica è anche chiamata crittografia a chiave asimmetrica. Poiché il nome stesso indica una chiave asimmetrica, per la crittografia della chiave pubblica vengono utilizzate due chiavi diverse. Una chiave viene utilizzata per il processo di crittografia e un'altra chiave viene utilizzata per il processo di decrittografia. Una volta che la chiave è stata decisa per la crittografia e la decrittografia, non verrà utilizzata un'altra chiave. Da queste due chiavi, una chiave è chiamata chiave pubblica e un'altra è chiamata chiave privata.

Supponiamo che tu voglia comunicare con gli amici su Internet, per iniziare la comunicazione in modo sicuro devi ottenere sia la chiave pubblica che quella privata. La chiave privata è una chiave segreta, dovresti tenerla segreta. Se la chiave privata viene ceduta a un'altra parte, esiste una possibilità di attacco attraverso la terza parte.

Supponiamo che X voglia comunicare con Y in modo sicuro, quindi sia X che Y dovrebbero avere una chiave pubblica e una chiave privata.

  • X dovrebbe mantenere segreta la sua chiave privata.
  • X dovrebbe comunicare la sua chiave pubblica a Y.
  • Dovresti mantenere segreta la sua chiave privata.
  • Dovresti informare la sua chiave pubblica su X.

Come funziona la crittografia a chiave pubblica?

Il funzionamento della crittografia a chiave pubblica è spiegato di seguito:

Caso 1

Quando X vuole comunicare con Y, X utilizza la chiave pubblica di Y per crittografare il messaggio, ciò è possibile perché Y condivide la sua chiave pubblica con X.

  • X invia il messaggio crittografato a Y.
  • Y riceve il messaggio da X.
  • Y decodifica il messaggio usando la sua chiave privata Y.

Nota: solo Y sa che la sua chiave privata e il suo messaggio possono essere decifrati usando la chiave privata di Y. Il vantaggio è che la parte non può decrittografare il messaggio perché non conosce la chiave privata di Y. Solo la chiave privata di Y può decrittografare il messaggio.

Caso 2

Quando Y vuole comunicare con X, Y usa la chiave pubblica di X per crittografare il messaggio. Questo è possibile perché X condivide la sua chiave pubblica con Y.

  • Y invia il messaggio crittografato a X.
  • X riceve il messaggio da Y
  • X decodifica il messaggio usando la sua chiave privata di X.

componenti

Di seguito sono riportati i componenti della crittografia della chiave pubblica:

  • Testo normale: il testo che è in un formato leggibile e che può essere compreso da chiunque è chiamato testo normale. Il testo normale viene utilizzato come input per il processo di crittografia.
  • Testo cifrato: è il testo che viene convertito in formato leggibile in un formato non leggibile utilizzando l'algoritmo di crittografia è chiamato testo cifrato. Il testo cifrato è un output del processo di crittografia. È in un formato non leggibile e non compreso da nessuno.
  • Chiave pubblica: la chiave nota a tutti è nota come chiave pubblica. Una chiave pubblica viene generalmente utilizzata per il processo di crittografia sul lato del mittente.
  • Chiave privata: la chiave che non è nota a tutti, che viene mantenuta segreta è nota come chiave privata. La chiave privata viene utilizzata per il processo di decodifica sul lato destinatario.
  • Algoritmo di crittografia: l'algoritmo utilizzato per convertire il testo semplice in testo cifrato è noto come algoritmo di crittografia.
  • Algoritmo di decrittazione: l'algoritmo utilizzato per convertire il testo cifrato in testo normale è noto come algoritmo di decrittazione.

Algoritmi di crittografia a chiave pubblica

Di seguito sono riportati gli algoritmi di crittografia a chiave pubblica.

Algoritmo RSA

RSA è l'algoritmo di crittografia a chiave pubblica più popolare. L'algoritmo RSA si basa sul calcolo matematico in cui sono stati identificati e moltiplicare un grande numero primo è facile ma difficile valutarne il fattore. Le chiavi private e pubbliche utilizzate nell'RSA sono numeri primi di grandi dimensioni.

Passaggi per algoritmi RSA:

  • Seleziona due numeri primi grandi X e Y.
  • Calcola il prodotto N = X * Y.
  • Scegli la chiave pubblica E in modo tale che non sia un fattore di (X - 1) e (Y - 1).
  • Scegli la chiave privata D in modo che la seguente equazione diventi vera.
  • (D * E) mod (X - 1) * (Y - 1) = 1
  • Per la crittografia, calcolare CT come CT = PT E mod N.
  • Invia il CT al ricevitore.
  • Per la decodifica, calcolare PT come PT = CT D mod N.
Nota: Nell'algoritmo RSA, la selezione e la generazione di una chiave pubblica e della chiave privata sono attività cruciali.

Algoritmo di crittografia ElGamal

ElGamal è un altro popolare algoritmo di crittografia a chiave pubblica.

Generazione chiave ElGamal:

  • Seleziona il numero primo P grande come chiave pubblica e Q come chiave privata.
  • Seleziona la seconda chiave di crittografia come E1.
  • Selezionare la terza chiave di crittografia come E2 in modo tale che E2 = E Q mod P Crittografia chiave ElGamal.
  • Seleziona un numero casuale R.
  • Calcola testo cifrato come CT = E1 R mod P.
  • Calcola il secondo testo cifrato CT2 = (PT * E2 R) mod P Decodifica chiave ElGamal
  • Calcola il testo semplice come PT = (CT2 * (CT Q) - 1) mod P.

Articoli consigliati

Questa è una guida alla crittografia a chiave pubblica. Qui discutiamo della crittografia a chiave pubblica, dei suoi componenti e di come funziona insieme agli esempi. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Cosa puoi fare con la crittografia a chiave simmetrica?
  2. Crittografia vs Crittografia
  3. Tipi di algoritmi simmetrici
  4. Le caratteristiche principali di Dropbox

Categoria: