Che cos'è la crittografia a chiave pubblica? Tutto da sapere in Dettagli.
Pubblicato: 2022-08-02I dati sono essenziali per chiunque si connetta su Internet. Ogni informazione inserita o tramite Internet è a rischio di essere esposta. Conglomerati e individui utilizzano determinate misure per proteggere i propri dati e proteggerli durante la trasmissione su Internet. Tecniche come TCP/IP, crittografia dei dati, hashing e crittografia vengono utilizzate quotidianamente per proteggere quintilioni di dati trasmessi su Internet.
La crittografia protegge i dati trasmessi su Internet modificando il formato dei dati in modo che un utente non autorizzato non possa accedervi. La crittografia simmetrica e quella asimmetrica sono i due tipi di tecniche di crittografia. La crittografia simmetrica è quella in cui viene utilizzata una sola chiave segreta per crittografare e decrittografare i dati trasferiti. La crittografia asimmetrica è quella in cui è presente una coppia di chiavi, una viene utilizzata per crittografare i dati mentre l'altra viene utilizzata per decrittografarli. La coppia contiene una chiave pubblica e una privata.
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.
Esplora i nostri corsi di ingegneria del software popolari
Master of Science in Informatica presso LJMU e IIITB | Programma di certificazione di sicurezza informatica Caltech CME |
Bootcamp di sviluppo full stack | Programma PG in Blockchain |
Executive Post Graduate Program in Software Development - Specializzazione in DevOps | Programma Executive PG in Full Stack Development |
Visualizza tutti i nostri corsi qui sotto | |
Corsi di ingegneria del software |
Questo articolo contiene i fondamenti di una chiave pubblica in crittografia .
Definizione di crittografia nella sicurezza dei dati
La crittografia è lo studio delle tecniche utilizzate per trasferire i dati su Internet mediante crittografia e decrittografia per tenerli al sicuro da utenti non autorizzati. La crittografia utilizza principalmente algoritmi per eseguire la crittografia e la decrittografia come Triple Data Encryption Standard (aka 3DES – Symmetric Cryptography) o Digital Signature Algorithm (aka DSA – Asymmetric Cryptography).
Le radici della crittografia risalgono ai tempi del generale romano Giulio Cesare. Il Caesar Cipher è una delle tecniche più semplici in crittografia. Una volta eseguito su un testo in chiaro (che rappresenta i dati non protetti), la fase del processo di crittografia sposta il carattere di 'n', rendendolo un testo cifrato (che rappresenta i dati crittografati) che può essere nuovamente convertito in un testo in chiaro tramite sfasamento del testo cifrato di 'n ' durante il processo di decrittazione.
Ecco un esempio di Caesar Cipher:
Lascia che 'P' rappresenti il testo in chiaro e 'C' rappresenti il testo cifrato.
P = CIAO A TUTTI
C = KL HYHUBRQH
Testo in chiaro: ABCDEFGHIJKLMNOPQRSTU VWXYZ
Testo cifrato: DEFGHIJKLMNOPQRSTUVWX YZABC
C = (P + 3) mod 26
P = (C – 3) mod 26
Che cosa significa una "chiave" in crittografia?
Simile a una chiave fisica utilizzata nel mondo reale per chiudere una porta, una chiave in crittografia rappresenta un insieme di caratteri che viene utilizzato per bloccare (crittografare) i dati trasferiti su Internet. Questa stessa chiave può essere utilizzata per sbloccare (decodificare) i dati. Si noti che la stessa chiave viene utilizzata solo per la decrittazione nel caso di algoritmi di crittografia simmetrica. In un algoritmo di crittografia asimmetrica, per il processo di crittografia/decrittografia viene utilizzata una coppia di chiavi: chiave pubblica e chiave privata. Entrambe queste chiavi sono correlate tra loro matematicamente.
Come funziona la crittografia a chiave pubblica?
Per salvaguardare i dati da accessi o utilizzi indesiderati, la crittografia a chiave pubblica utilizza una coppia di chiavi per crittografarli e decodificarli. Le autorità di certificazione forniscono coppie di chiavi pubbliche e private agli utenti su una rete. Altri utenti possono crittografare i dati ottenendo la chiave pubblica del destinatario previsto da una directory disponibile al pubblico. Questa tecnica di crittografia a chiave pubblica viene utilizzata prima di trasmettere il messaggio al destinatario previsto. Quando la comunicazione viene consegnata, il destinatario la decodifica con una chiave privata che nessun altro possiede.
Vantaggi della crittografia a chiave pubblica rispetto alla crittografia simmetrica
La crittografia a chiave pubblica è ancora uno dei modi più sicuri per trasferire dati su Internet. Di seguito sono riportati i vantaggi della crittografia a chiave pubblica rispetto alla crittografia simmetrica:
- Il vantaggio fondamentale della crittografia a chiave pubblica è una maggiore sicurezza: le chiavi private non vengono mai inviate o esposte a nessuno.
- Può generare firme digitali che non possono essere revocate in modo che nessuna parte possa negare le informazioni da loro ricevute. Questo è noto come non ripudio che impedisce alla parte di alterare i dati che le vengono trasferiti.
Algoritmo più utilizzato nella crittografia a chiave pubblica
L'algoritmo di crittografia a chiave pubblica più utilizzato è RSA, che sta per i nomi dei suoi inventori, Ron Rivest – Adi Shamir – Leonard Adleman. Sebbene con la maggiore sicurezza fornita con i bit extra in RSA – 4096, è relativamente più lento di RSA – 2048, quindi le aziende scelgono di optare per quest'ultimo.
Generiamo le nostre coppie di chiavi con l'aiuto della nostra shell della riga di comando con OpenSSL.
Codici della riga di comando:
$openssl genrsa -out private.pem 2048
// Questo genererà una coppia di chiavi e sarà una coppia di chiavi RSA a 2048 bit
$ openssl rsa -in private.pem -pubout -out public.pem
// Per una determinata chiave privata, il codice sopra riporterà la chiave pubblica in 'public.pem'
// Questa coppia di chiavi privata e pubblica ora può essere utilizzata per crittografare un file con l'algoritmo RSA-2048
Leggi i nostri articoli popolari relativi allo sviluppo software
Come implementare l'astrazione dei dati in Java? | Che cos'è Inner Class in Java? | Identificatori Java: definizione, sintassi ed esempi |
Comprensione dell'incapsulamento in OOPS con esempi | Spiegazione degli argomenti della riga di comando in C | Le 10 principali caratteristiche e caratteristiche del cloud computing nel 2022 |
Polimorfismo in Java: concetti, tipi, caratteristiche ed esempi | Pacchetti in Java e come usarli? | Tutorial Git per principianti: impara Git da zero |
Conclusione
L'approccio di crittografia classico si basa su un'unica crittografia a chiave segreta (crittografia simmetrica). Tuttavia, poiché un'unica chiave segreta crittografa e decrittografa i dati, lascia le comunicazioni trasmesse aperte a intercettazioni di terze parti. Per risolvere i limiti del metodo classico, è stato creato il sistema di crittografia a chiave pubblica . Nella crittografia a chiave pubblica , il mittente crittografa la comunicazione con la crittografia a chiave pubblica e il destinatario la decrittografa utilizzando una chiave privata nota solo al destinatario. La chiave pubblica in crittografia consente la condivisione di informazioni senza che terzi vi abbiano accesso.
Diventa un professionista della sicurezza informatica iscrivendoti al programma di sicurezza informatica di upGrad
Stai cercando il programma ottimale per accelerare il tuo apprendimento nel dominio della sicurezza informatica? upGrad ti offre il suo Advanced Certificate Program in Cyber Security in collaborazione con l'Indian Institute of Information Technology Bangalore .
Questo corso include:
- Oltre 250 ore di apprendimento sulla sicurezza informatica in sicurezza di rete, sicurezza delle applicazioni, crittografia e segretezza dei dati.
- Certificato di un programma avanzato da IIIT Bangalore e upGrad
- Un generatore di profili basato sull'intelligenza artificiale
- Tutoraggio individuale per la tua carriera
- Allenamento uno contro uno
- Stato di ex alunni di IIIT Bangalore
- Un portale per offerte di lavoro esclusive
- Aiuto con la preparazione del colloquio
Cos'è una chiave pubblica?
Una chiave pubblica in crittografia è un ampio insieme di numeri casuali utilizzati per crittografare i dati in modo che solo il destinatario che ha accesso alla chiave privata possa decrittografarli.
Quale è più sicuro: crittografia a chiave pubblica o crittografia a chiave segreta?
La crittografia a chiave pubblica è più sicura in quanto contiene una coppia di chiavi, una chiave pubblica e una privata anziché una singola chiave segreta che può essere utilizzata per decrittografare i dati.
Quali sono i principali vantaggi dell'utilizzo della crittografia a chiave pubblica?
I principali vantaggi dell'utilizzo della crittografia a chiave pubblica sono la riservatezza della chiave privata, le firme dei dati e il non ripudio.