Guida per principianti alla crittografia a chiave pubblica

Pubblicato: 2022-09-20

I dati sono una risorsa inestimabile nell'ambiente competitivo di oggi. Pertanto, le aziende devono mantenere la segretezza e la sicurezza dei dati controllando l'accesso ai dati. Inoltre, con la digitalizzazione che sta diventando una norma e le organizzazioni che automatizzano le operazioni di elaborazione dei dati, aumentano le possibilità di accesso non autorizzato a dati sensibili. Pertanto, le aziende devono creare un ambiente sicuro che protegga i dati preziosi e riduca le potenziali minacce ai dati.

La crittografia svolge un ruolo fondamentale nella sicurezza dei dati per mantenere la riservatezza e l'integrità. Un sottotipo di crittografia, crittografia a chiave pubblica o crittografia a chiave pubblica, costituisce un componente cruciale nella maggior parte delle politiche di sicurezza dei dati in tutto il mondo.

Questo articolo esplorerà il concetto di chiave pubblica in crittografia e la sua utilità nella protezione dei dati.

Impara i corsi di sviluppo software online dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.

Sommario

Che cos'è la crittografia nella sicurezza dei dati?

La crittografia si riferisce a un insieme di tecniche per proteggere le informazioni e le comunicazioni mascherando i dati in modo che solo il destinatario previsto possa elaborare e leggere i contenuti. Si basa su algoritmi per crittografare i dati che solo le persone autorizzate possono decifrare. Pertanto, la crittografia implica principalmente la codifica del testo in chiaro o normale in testo cifrato (crittografia) e quindi il ripristino (decrittografia).

La parola crittografia ha le sue radici nel termine greco "Kryptos", che significa "nascosto". Alcuni dei primi documenti sull'uso della crittografia risalgono agli antichi egizi e romani, incluso il famoso cifrario di Cesare di Giulio Cesare. Sebbene le tecniche utilizzate ai vecchi tempi sembrino primitive e semplici nell'era e nel tempo di oggi, le antiche cifre sono un sorprendente promemoria della necessità di proteggere le informazioni sensibili. Con l'evoluzione della tecnologia, la crittografia oggi ha numerose applicazioni, tra cui firme digitali, navigazione in Internet, app di messaggistica, e-mail, transazioni con carta di credito, verifiche online e generazione di chiavi crittografiche.

Che cos'è una chiave in crittografia?

In crittografia, una chiave è una stringa di caratteri casuali in un ordine definito utilizzata per alterare o confondere i dati all'interno di un algoritmo di crittografia. In altre parole, una chiave in crittografia crittografa o blocca i dati in modo che solo qualcuno con una chiave valida possa decrittografarli o sbloccarli. Il testo in chiaro è il dato originale e il testo cifrato è dopo che la chiave lo ha crittografato.

La crittografia gioca un ruolo enorme nei sistemi di sicurezza dei dati. Esistono due ampie classificazioni di algoritmi crittografici, algoritmi a chiave simmetrica (algoritmi a chiave segreta) e algoritmi a chiave asimmetrica (algoritmi a chiave pubblica).

Corsi e articoli popolari sull'ingegneria del software

Programmi popolari
Programma Executive PG in Software Development - IIIT B Programma di certificazione Blockchain - PURDUE Programma di certificazione di sicurezza informatica - PURDUE MSC in Informatica - IIIT B
Altri articoli popolari
Stipendio per ingegnere cloud negli Stati Uniti 2021-22 Stipendio di AWS Solution Architect negli Stati Uniti Stipendio per sviluppatori back-end negli Stati Uniti Stipendio per sviluppatori front-end negli Stati Uniti
Stipendio sviluppatore Web negli Stati Uniti Domande per il colloquio con lo Scrum Master nel 2022 Come iniziare una carriera nella sicurezza informatica nel 2022? Opzioni di carriera negli Stati Uniti per gli studenti di ingegneria

Che cosa è Crittografia a chiave pubblica

La crittografia a chiave pubblica o crittografia a chiave asimmetrica è un processo di crittografia in cui i dati vengono crittografati e decrittografati utilizzando chiavi diverse. Sebbene le chiavi siano diverse, sono matematicamente correlate alla facilitazione del recupero del testo in chiaro decrittografando il testo cifrato. La forma più comunemente usata di crittografia a chiave pubblica si basa sull'algoritmo RSA.

Nel processo di crittografia asimmetrica, una chiave crittografa i dati e un'altra chiave, ma corrispondente, decrittografa i dati. La chiave che crittografa i dati è la chiave pubblica, mentre una chiave privata decrittografa le informazioni.

Inoltre, la chiave pubblica è ampiamente conosciuta, mentre la chiave privata è un segreto. Significa che mentre altre persone possono utilizzare la tua chiave pubblica per inviarti informazioni crittografate, solo tu hai accesso alla chiave privata o segreta per decodificare il testo.

Vantaggi della crittografia a chiave pubblica

La crittografia a chiave pubblica ha le seguenti funzionalità:

  • Crittografia e decrittografia: le funzioni di crittografia e decrittografia consentono a due parti di comunicare tra loro mascherando le informazioni che si scambiano. Il mittente codifica o crittografa i dati prima di inviarli e il destinatario decodifica o decodifica i dati dopo averli ricevuti. Nel frattempo, i dati crittografati in transito rimangono incomprensibili a terzi.
  • Non ripudio: la crittografia a chiave pubblica ha un meccanismo di sicurezza chiamato non ripudio che impedisce l'alterazione dei dati e garantisce che nessuna parte possa negare di aver ricevuto/inviato un messaggio tramite crittografia.

Crittografia a chiave pubblica e crittografia a chiave privata

A differenza di un sistema di crittografia a chiave pubblica, la crittografia a chiave simmetrica o privata prevede che il mittente e il destinatario condividano un'unica chiave comune che crittografa e decrittografa i messaggi. Pertanto, gli algoritmi di crittografia a chiave simmetrica creano un codice a blocchi di una lunghezza fissa di bit con una chiave segreta che il mittente utilizza per crittografare i dati e il destinatario utilizza per decodificarli o decrittografarli. Un classico esempio di crittografia a chiave privata è l'AES o Advanced Encryption Standard stabilito dal National Institute of Standards and Technology (NIST) nel novembre 2001.

Quindi, quali sono le principali differenze tra la crittografia a chiave pubblica e la crittografia a chiave privata? La tabella seguente evidenzia le distinzioni.

Crittografia a chiave pubblica Crittografia a chiave privata
Un sistema di crittografia a chiave pubblica/due chiavi che coinvolge due chiavi. Un sistema di crittografia segreto/a chiave singola che utilizza una sola chiave.
Chiunque può utilizzare la chiave pubblica per crittografare i dati mentre solo il destinatario conosce la chiave privata e la utilizza per la decrittografia dei dati. Sia il mittente che il destinatario condividono la stessa chiave.
Le parti non sono uguali, quindi asimmetriche. Simmetrico perché le parti sono uguali.
La parte che crittografa i messaggi non può decrittografare i messaggi. Poiché le parti sono uguali, il destinatario può falsificare un messaggio e affermare falsamente che è stato inviato dal mittente.

L'algoritmo RSA dietro la crittografia a chiave pubblica

L'algoritmo RSA è un algoritmo crittografico asimmetrico ampiamente utilizzato che si basa su una chiave pubblica e una chiave privata per crittografare e decrittografare i messaggi. Creato nel 1978, l'algoritmo RSA prende il nome da Ron Rivest, Adi Shamir e Leonard Adleman, i suoi inventori.

Ecco una spiegazione semplificata di come funziona l'algoritmo RSA nella crittografia a chiave pubblica :

1. Generazione di chiavi

  • Seleziona due grandi numeri primi 'p' e 'q.'
  • Calcola n = p*q
  • Scopri la funzione toziente: Φ(n) = (p-1)(q-1)
  • Ora, seleziona un intero 'e' che è co-primo a Φ(n) e 1 < e < Φ(n).
  • La coppia (n,e) è la chiave pubblica.
  • Ora, calcola 'd' tale che de = 1 mod Φ(n) o 1 mod (p-1)(q-1)
  • Usa l'algoritmo euclideo esteso per scoprire d. La chiave privata è la coppia (n,d).

2. Crittografia

  • Un dato testo in chiaro 'P' è una serie di numeri minori di n. Se il testo cifrato è "C", la crittografia viene eseguita utilizzando il seguente passaggio matematico:

C = P e mod n

3. Decrittografia

  • Il testo in chiaro può essere recuperato utilizzando la chiave privata (n,d) nel passaggio seguente:

P = C d mod n

Il seguente pseudocodice è un esempio dell'algoritmo RSA in azione:

int x = 61, int y = 53;

int n = x * y;

// n = 3233.

// calcola il totient, phi

int phi = (x-1)*(y-1);

// phi = 3120.

int e = trovaCoprime(phi);

// trova una 'e' che è > 1 ed è un co-primo di phi.

// e = 17 soddisfa i valori correnti.

// Usando l'algoritmo euclideo esteso, trova 'd' che soddisfa

// questa equazione:

d = (1 mod (phi))/e;

// d = 2753 per i valori di esempio.

public_key = (e=17, n=3233);

chiave_privata = (d=2753, n=3233);

// Dato il testo in chiaro P=123, il testo cifrato C è:

C = (123^17) % 3233 = 855;

// Per decifrare il testo cifrato C:

P = (855^2753) % 3233 = 123;

Conclusione

La crittografia a chiave privata è il sistema di crittografia tradizionale. Tuttavia, lascia i messaggi trasmessi vulnerabili all'intercettazione da parte di terzi perché un'unica chiave segreta crittografa e decifra i dati. Pertanto, i crittografi hanno sviluppato il sistema di crittografia a chiave pubblica per affrontare le limitazioni del sistema convenzionale. Nella crittografia a chiave pubblica , il mittente crittografa il messaggio utilizzando una chiave pubblica, mentre il destinatario può decodificare il messaggio con una chiave privata disponibile solo con il destinatario. Di conseguenza, terze parti non possono leggere il messaggio in transito perché solo la chiave privata del destinatario può decifrarlo. I sistemi di crittografia a chiave pubblica utilizzano principalmente l'algoritmo RSA e svolgono un ruolo fondamentale nelle moderne tecnologie di crittografia.

Unisciti a upGrad nel tuo viaggio verso il diventare un professionista della sicurezza dei dati

Stai cercando una piattaforma completa per imparare la sicurezza dei dati? La tua ricerca termina con il Cybersecurity Certificate Program di upGrad in collaborazione con la Purdue University. Il corso online di 8 mesi è adatto a professionisti IT di livello base e medio, professionisti tecnici, professionisti del supporto tecnico, analisti, ingegneri e neolaureati.

Punti salienti del programma:

  • Certificato di riconoscimento da upGrad e Purdue University
  • Oltre 300 ore di apprendimento, oltre 15 sessioni dal vivo e quattro progetti
  • Programma completo che copre crittografia e crittografia
  • Impara linguaggi e strumenti di programmazione rilevanti
  • Industria e reti tra pari
  • Supporto all'apprendimento a 360 gradi

Cosa si intende per chiave pubblica?

Una chiave pubblica si riferisce a un grande valore numerico per la crittografia dei dati in crittografia. In altre parole, una chiave pubblica in crittografia converte i dati in un formato illeggibile. Un privato diverso ma collegato matematicamente quindi decrittografa i dati.

In che modo una chiave segreta è diversa da una chiave pubblica?

Una singola chiave condivisa crittografa e decodifica il messaggio in crittografia a chiave segreta. Al contrario, la crittografia a chiave pubblica utilizza due chiavi diverse ma matematicamente correlate (pubblica e privata) per il processo di crittografia e decrittazione.

Quali sono le applicazioni della crittografia a chiave pubblica?

Le principali applicazioni della crittografia a chiave pubblica sono la crittografia dei dati e le firme digitali. La crittografia a chiave pubblica garantisce la sicurezza dei dati attraverso l'autenticazione e il non ripudio.