ti abbattere i due principali tipi di crittografia simmetrica e asimmetrica — prima di entrare nell’elenco dei 5 più comunemente utilizzati algoritmi di crittografia per semplificare loro come mai prima di
Spesso accusati di nascondere le attività terroristiche da parte di entità politiche, la crittografia è uno di quei cyber security argomenti che sempre i titoli di testa., Chiunque abbia una discreta comprensione dei diversi tipi di crittografia può sentire come una sorta di ingiustizia è stato fatto a questa straordinaria tecnologia che è al centro della sicurezza di Internet e della privacy. La crittografia è un metodo per convertire i dati in un formato indecifrabile in modo che solo le parti autorizzate possano accedere alle informazioni.
Le chiavi crittografiche, in combinazione con algoritmi di crittografia, sono ciò che rende possibile il processo di crittografia., E, in base al modo in cui queste chiavi vengono applicate, ci sono principalmente due tipi di metodi di crittografia che vengono utilizzati prevalentemente: “crittografia simmetrica” e “crittografia asimmetrica.”Entrambi questi metodi utilizzano diversi algoritmi matematici (cioè quegli algoritmi di crittografia che abbiamo menzionato pochi istanti fa) per rimescolare i dati. Questo elenco di algoritmi di crittografia comuni include RSA, ECC, 3DES, AES, ecc.
In questo articolo, impareremo a conoscere simmetrica & crittografia asimmetrica e loro algoritmi di crittografia prevalenti che vengono utilizzati per crittografare i dati.
Cancelliamolo.,
Tipo di crittografia #1: Crittografia simmetrica
Il metodo di crittografia simmetrica, come suggerisce il nome, utilizza una singola chiave crittografica per crittografare e decrittografare i dati. L’uso di una singola chiave per entrambe le operazioni lo rende un processo semplice, e quindi è chiamato “simmetrico.”Ecco una ripartizione visiva di come funziona la crittografia simmetrica:
Capiamo il processo di crittografia simmetrica con un semplice esempio:
Ci sono due amici molto intimi di nome Bob e Alice che vivono a New York., Per qualche ragione, Alice deve trasferirsi fuori città. L’unico modo in cui possono comunicare tra loro è attraverso la posta postale. Ma c’è un problema: Bob e Alice hanno paura che qualcuno possa leggere le loro lettere.
Per proteggere le loro lettere dagli occhi di qualcuno, decidono di scrivere il loro messaggio in modo tale che ogni lettera del messaggio sia sostituita da una lettera di sette posizioni in basso nell’alfabeto., Quindi, invece di scrivere” Apple”, scriverebbero” hwwsl”(A -> H, P -> W, L -> S, E -> L). Per riportare i dati nella sua forma originale, dovrebbero sostituire la lettera sette posizioni nell’ordine dell’alfabeto.
Naturalmente, questo potrebbe sembrare troppo semplice per te — e lo è. Questo perché questa tecnica è stata usata secoli fa da Giulio Cesare, l’imperatore romano e generale militare. Conosciuto come “cifrario di Cesare”, questo metodo funziona sulla tecnica della sostituzione dell’alfabeto.,
I metodi di crittografia di oggi non sono così semplici. Gli algoritmi di crittografia ampiamente utilizzati sono così complessi che anche la potenza di calcolo combinata di molti super-computer non può decifrarli. Ed è per questo che possiamo rilassarci e inviare i dati della nostra carta di credito senza preoccupazioni.
Ciò che rende la crittografia simmetrica una grande tecnica
La caratteristica più importante della crittografia simmetrica è la semplicità del suo processo. Questa semplicità di questo tipo di crittografia risiede nell’uso di una singola chiave sia per la crittografia che per la decrittografia., Di conseguenza, gli algoritmi di crittografia simmetrica:
- Sono significativamente più veloci delle loro controparti di crittografia asimmetrica (di cui parleremo a breve),
- Richiedono meno potenza computazionale e
- Non smorzano la velocità di Internet.
Ciò significa che quando c’è una grande fetta di dati da crittografare, la crittografia simmetrica si rivela un’ottima opzione.
3 Tipi comuni di algoritmi di crittografia simmetrica
Come abbiamo visto con il cifrario di Cesare, c’è una logica specifica dietro ogni metodo di crittografia che rimescola i dati., I metodi di crittografia che vengono utilizzati oggi si basano su funzioni matematiche altamente complesse che rendono praticamente impossibile decifrarli.
Quello che puoi o non puoi capire è che esistono centinaia di algoritmi a chiave simmetrica! Alcuni dei metodi di crittografia più comuni includono AES, RC4, DES, 3DES, RC5, RC6, ecc. Di questi algoritmi, gli algoritmi DES e AES sono i più noti. Anche se non possiamo coprire tutti i diversi tipi di algoritmi di crittografia, diamo un’occhiata a tre dei più comuni.
1., DES Symmetric Encryption Algorithm
Introdotto nel 1976, DES (data encryption standard) è uno dei più antichi metodi di crittografia simmetrica. È stato sviluppato da IBM per proteggere dati governativi elettronici sensibili e non classificati ed è stato formalmente adottato nel 1977 per l’uso da parte delle agenzie federali. DES utilizza una chiave di crittografia a 56 bit, ed è basato sulla struttura Feistel che è stato progettato da un crittografo di nome Horst Feistel. L’algoritmo di crittografia DES era tra quelli inclusi nelle versioni 1.0 e 1.1 di TLS (transport layer security).,
DES converte blocchi a 64 bit di dati in chiaro in testo cifrato dividendo il blocco in due blocchi a 32 bit separati e applicando il processo di crittografia a ciascuno in modo indipendente. Ciò comporta 16 round di vari processi, come espansione, permutazione, sostituzione o un’operazione XOR con una chiave rotonda, che i dati passeranno attraverso mentre sono crittografati. In definitiva, i blocchi a 64 bit di testo crittografato vengono prodotti come output.
Oggi, DES non è più in uso come è stato incrinato da molti ricercatori di sicurezza., Nel 2005, DES è stato ufficialmente deprecato ed è stato sostituito dall’algoritmo di crittografia AES, di cui parleremo momentaneamente. Il più grande svantaggio di DES era la sua bassa lunghezza della chiave di crittografia, che rendeva facile la forzatura bruta contro di essa. TLS 1.2, il protocollo TLS più utilizzato oggi, non utilizza il metodo di crittografia DES.
2. 3DES Symmetric Encryption Algorithm
3DES (noto anche come TDEA, che sta per triple data encryption algorithm), come suggerisce il nome, è una versione aggiornata dell’algoritmo DES che è stato rilasciato., 3DES è stato sviluppato per superare gli inconvenienti dell’algoritmo DES ed è stato messo in uso a partire dalla fine degli anni 1990. Per fare ciò, applica l’algoritmo DES tre volte a ciascun blocco di dati. Di conseguenza, questo processo ha reso 3DES molto più difficile da decifrare rispetto al suo predecessore DES. È diventato anche un algoritmo di crittografia ampiamente utilizzato nei sistemi di pagamento, negli standard e nella tecnologia nel settore finanziario. È anche diventato parte di protocolli crittografici come TLS, SSH, IPSec e OpenVPN.
Tutti gli algoritmi di crittografia alla fine soccombono al potere del tempo e 3DES non era diverso., La vulnerabilità Sweet32 scoperto dai ricercatori Karthikeyan Bhargavan e Gaëtan Leurent scollegato i buchi di sicurezza che esistono all’interno dell’algoritmo 3DES. Questa scoperta ha indotto l’industria della sicurezza a considerare la deprecazione dell’algoritmo e il National Institute of Standards and Technology (NIST) ha annunciato la deprecazione in una bozza di guida pubblicata su 2019.
Secondo questa bozza, l’uso di 3DES deve essere scartato in tutte le nuove applicazioni dopo il 2023. Vale anche la pena notare che TLS 1.3, l’ultimo standard per i protocolli SSL/TLS, ha anche interrotto l’uso di 3DES.,
3. AES Symmetric Encryption Algorithm
AES, che sta per “advanced encryption system”, è uno dei tipi di algoritmi di crittografia più utilizzati ed è stato sviluppato come alternativa all’algoritmo DES. Conosciuto anche come Rijndael, AES è diventato uno standard di crittografia su approvazione da parte del NIST nel 2001. A differenza di DES, AES è una famiglia di cifrari a blocchi che consiste di cifrari di diverse lunghezze chiave e dimensioni del blocco.
AES lavora sui metodi di sostituzione e permutazione., Innanzitutto, i dati in chiaro vengono trasformati in blocchi e quindi la crittografia viene applicata utilizzando la chiave di crittografia. Il processo di crittografia è costituito da vari sotto-processi come sub byte, righe shift, colonne mix, e aggiungere chiavi rotonde. A seconda delle dimensioni della chiave, vengono eseguiti 10, 12 o 14 giri di questo tipo. Vale la pena notare che l’ultimo round non include il sotto-processo delle colonne mix tra tutti gli altri sotto-processi eseguiti per crittografare i dati.
Il vantaggio di utilizzare l’algoritmo di crittografia AES
Ciò che tutto questo si riduce a dire che AES è sicuro, veloce e flessibile., AES è un algoritmo molto più veloce rispetto a DES. Le molteplici opzioni di lunghezza della chiave sono il più grande vantaggio che hai in quanto più lunghe sono le chiavi, più difficile è decifrarle.
Oggi, AES è il più ampiamente utilizzato l’algoritmo di crittografia è utilizzato in molte applicazioni, tra cui:
- protezione Wireless,
- Processore di sicurezza e crittografia dei file,
- il protocollo SSL/TLS (per la sicurezza del sito),
- protezione Wi-Fi,
- applicazione Mobile di crittografia,
- VPN (virtual private network), etc.,
Molte agenzie governative, tra cui la National Security Agency (NSA), si basano sull’algoritmo di crittografia AES per proteggere le loro informazioni sensibili.
Tipo di crittografia #2: Crittografia asimmetrica
La crittografia asimmetrica, in contrasto con il metodo di crittografia simmetrica, comporta più chiavi per la crittografia e la decrittografia dei dati. La crittografia asimmetrica comprende due chiavi di crittografia distinte che sono matematicamente correlate tra loro. Una di queste chiavi è nota come ” chiave pubblica “e l’altra come” chiave privata.,”Quindi, perché il metodo di crittografia asimmetrica è anche conosciuto come” crittografia a chiave pubblica.”
Come abbiamo visto nell’esempio precedente, la crittografia simmetrica funziona alla grande quando Alice e Bob vogliono scambiarsi informazioni. Ma cosa succede se Bob vuole comunicare con centinaia di persone in modo sicuro? Sarebbe pratico se usasse diverse chiavi matematiche per ogni persona? Non proprio, perché sarebbe un sacco di chiavi per destreggiarsi.
Per risolvere questo problema, Bob utilizza la crittografia a chiave pubblica, il che significa che fornisce la chiave pubblica a tutti coloro che gli inviano le informazioni e mantiene la chiave privata per se stesso., Li istruisce a crittografare le informazioni con la chiave pubblica in modo che i dati possano essere decifrati solo usando la chiave privata che ha. Questo elimina il rischio di compromissione della chiave in quanto i dati possono essere decifrati solo utilizzando la chiave privata che Bob ha in suo possesso.
Ciò che rende la crittografia asimmetrica una grande tecnica
Il primo (e più ovvio) vantaggio di questo tipo di crittografia è la sicurezza che fornisce., In questo metodo, la chiave pubblica-che è pubblicamente disponibile-viene utilizzata per crittografare i dati, mentre la decrittografia dei dati viene eseguita utilizzando la chiave privata, che deve essere archiviata in modo sicuro. Ciò garantisce che i dati rimangano protetti dagli attacchi man-in-the-middle (MiTM). Per i server web / e-mail che si connettono a centinaia di migliaia di client ogni minuto, la crittografia asimmetrica non è altro che un vantaggio in quanto devono solo gestire e proteggere una singola chiave., Un altro punto chiave è che la crittografia a chiave pubblica consente di creare una connessione crittografata senza dover incontrare offline per scambiare prima le chiavi.
La seconda caratteristica cruciale che offre la crittografia asimmetrica è l’autenticazione. Come abbiamo visto, i dati crittografati da una chiave pubblica possono essere decifrati solo utilizzando la chiave privata ad esso correlata. Pertanto, si assicura che i dati vengano visualizzati e decrittografati solo dall’entità che dovrebbe riceverli. In termini più semplici, verifica che stai parlando con la persona o l’organizzazione che pensi di essere.,
I 2 tipi principali di algoritmi di crittografia asimmetrica
1. Algoritmo di crittografia asimmetrica RSA
Inventato da Ron Rivest, Adi Shamir e Leonard Adleman (da cui “RSA”) nel 1977, RSA è, ad oggi, l’algoritmo di crittografia asimmetrica più utilizzato. La sua potenza risiede nel metodo di” fattorizzazione primaria ” su cui si basa. Fondamentalmente, questo metodo coinvolge due enormi numeri primi casuali, e questi numeri vengono moltiplicati per creare un altro numero gigante. Il puzzle qui è quello di determinare i numeri primi originali da questo numero moltiplicato gigante.,
Si scopre che questo puzzle è praticamente impossibile — se si utilizza la giusta lunghezza della chiave generata con abbastanza entropia — per i super-computer di oggi, per non parlare degli umani. Nel 2010, un gruppo di ricercatori ha fatto ricerche e ci sono voluti più di 1.500 anni di tempo di calcolo (distribuiti su centinaia di computer) per decifrare la chiave RSA a 768 bit, che è molto al di sotto della chiave RSA standard a 2048 bit che è in uso oggi.
Il vantaggio di utilizzare l’algoritmo di crittografia RSA
Un grande vantaggio che RSA offre è la sua scalabilità., È disponibile in varie lunghezze di chiavi di crittografia come 768 bit, 1024 bit, 2048 bit, 4096 bit, ecc. Pertanto, anche se le lunghezze di chiave inferiori sono forzate con successo, è possibile utilizzare la crittografia di lunghezze di chiave superiori perché la difficoltà di forzatura bruta della chiave aumenta con ogni lunghezza di chiave in espansione.
RSA si basa su un semplice approccio matematico, ed è per questo che la sua implementazione nell’infrastruttura a chiave pubblica (PKI) diventa semplice. Questa adattabilità con PKI e la sua sicurezza ha reso RSA l’algoritmo di crittografia asimmetrica più utilizzato oggi., RSA è ampiamente utilizzato in molte applicazioni, tra cui certificati SSL/TLS, cripto-valute e crittografia e-mail.
2. ECC Algoritmo di crittografia asimmetrica
Nel 1985, due matematici di nome Neal Koblitz e Victor S. Miller hanno proposto l’uso di curve ellittiche in crittografia. Dopo quasi due decenni, la loro idea è stata trasformata in realtà quando l’algoritmo ECC (Elliptic Curve Cryptography) è entrato in uso nel 2004-05.,
Nel processo di crittografia ECC, una curva ellittica rappresenta l’insieme di punti che soddisfano un’equazione matematica (y2 = x3 + ax + b).
Come RSA, ECC funziona anche sul principio di irreversibilità. In parole più semplici, è facile calcolarlo in una direzione ma dolorosamente difficile invertirlo e arrivare al punto originale. In ECC, un numero che simboleggia un punto sulla curva viene moltiplicato per un altro numero e dà un altro punto sulla curva. Ora, per rompere questo puzzle, è necessario capire il nuovo punto sulla curva., La matematica di ECC è costruita in modo tale che è praticamente impossibile scoprire il nuovo punto, anche se si conosce il punto originale.
Il vantaggio di utilizzare l’algoritmo di crittografia ECC
Rispetto a RSA, ECC offre una maggiore sicurezza (contro gli attuali metodi di cracking) in quanto è piuttosto complesso. Fornisce un livello di protezione simile a RSA, ma utilizza lunghezze chiave molto più brevi. Di conseguenza, ECC applicato con chiavi di lunghezza maggiore richiederà molto più tempo per rompere usando attacchi di forza bruta.
Un altro vantaggio delle chiavi più corte in ECC è prestazioni più veloci., Le chiavi più corte richiedono meno carico di rete e potenza di calcolo, e questo risulta essere ottimo per i dispositivi con capacità di archiviazione ed elaborazione limitate. Quando ECC viene utilizzato nei certificati SSL / TLS, riduce notevolmente il tempo necessario per eseguire le handshake SSL/TLS e consente di caricare il sito Web più velocemente. L’algoritmo di crittografia ECC viene utilizzato per applicazioni di crittografia, per applicare firme digitali, in generatori pseudo-casuali,ecc.
La sfida con l’utilizzo di ECC, tuttavia, è che molti software server e pannelli di controllo non hanno ancora aggiunto il supporto per i certificati ECC SSL/TLS., Speriamo che questo cambi in futuro, ma questo significa che RSA continuerà ad essere l’algoritmo di crittografia asimmetrica più utilizzato nel frattempo.
Crittografia ibrida: crittografia simmetrica + asimmetrica
Innanzitutto, permettetemi di chiarire che la crittografia ibrida non è un “metodo” come la crittografia simmetrica e asimmetrica. Sta prendendo il meglio da entrambi questi metodi e creando una sinergia per costruire sistemi di crittografia robusti.
Per quanto vantaggiosi siano la crittografia simmetrica e asimmetrica, entrambi hanno i loro lati negativi., Il metodo di crittografia simmetrica funziona alla grande per la crittografia veloce di dati di grandi dimensioni. Ancora, non fornisce la verifica dell’identità, qualcosa che è la necessità del momento in cui si tratta di sicurezza di Internet. D’altra parte, la crittografia asimmetrica — grazie alla coppia di chiavi pubblica/privata-assicura che i dati siano accessibili dal destinatario previsto. Tuttavia, questa verifica rende il processo di crittografia dolorosamente lento quando implementato su larga scala.,
In molte applicazioni, come la sicurezza del sito web, c’era la necessità di crittografare i dati ad alta velocità e la verifica dell’identità era anche necessaria per garantire agli utenti che stavano parlando con l’entità prevista. È così che è nata l’idea della crittografia ibrida.
La tecnica di crittografia ibrida viene utilizzata in applicazioni come i certificati SSL/TLS. La crittografia SSL/TLS viene applicata durante una serie di comunicazioni avanti e indietro tra server e client (browser Web) in un processo noto come “handshake TLS.,” In questo processo, l’identità di entrambe le parti viene verificata utilizzando la chiave privata e pubblica. Una volta che entrambe le parti hanno confermato le loro identità, la crittografia dei dati avviene attraverso la crittografia simmetrica utilizzando una chiave effimera (sessione). Ciò garantisce una trasmissione rapida delle tonnellate di dati che inviamo e riceviamo su Internet ogni minuto.,
Tipi di Metodi di Crittografia: che Cosa Abbiamo pensato
Se vi state chiedendo che tipo di crittografia è migliore rispetto agli altri, quindi non ci sarà alcun chiaro vincitore sia della crittografia simmetrica ed asimmetrica portare i loro vantaggi per la tabella, e noi non possiamo scegliere solo uno a scapito dell’altro.
Dal punto di vista della sicurezza, la crittografia asimmetrica è indubbiamente migliore in quanto garantisce autenticazione e non ripudio., Tuttavia, le prestazioni sono anche un aspetto che non possiamo permetterci di ignorare, ed è per questo che la crittografia simmetrica sarà sempre necessaria.
Ecco il riepilogo di ciò che abbiamo pensato, per quanto riguarda i tipi di crittografia sono interessati:
Crittografia Simmetrica | Crittografia Asimmetrica |
Una singola chiave utilizzata per crittografare e decrittografare i dati. | Una coppia di chiavi viene utilizzata per la crittografia e la decrittografia. Queste chiavi sono note come chiave pubblica e chiave privata., |
Poiché utilizza solo una chiave, è un metodo di crittografia più semplice. | Grazie alla coppia di chiavi, è un processo più complesso. |
La crittografia simmetrica viene utilizzata principalmente per la crittografia. | La crittografia asimmetrica garantisce crittografia, autenticazione e non ripudio. |
Fornisce prestazioni più veloci e richiede meno potenza computazionale rispetto alla crittografia asimmetrica. | È più lento della crittografia simmetrica e richiede una maggiore potenza computazionale a causa della sua complessità., |
Per crittografare i dati vengono utilizzate lunghezze di chiave più piccole (ad esempio, lunghezza 128-256 bit). | Di solito, i metodi di crittografia asimmetrica coinvolgono chiavi più lunghe (ad esempio lunghezza 1024-4096-bit). |
Ideale per applicazioni in cui è necessario crittografare una grande quantità di dati. | Ideale per applicazioni in cui viene utilizzata una piccola quantità di dati garantendo l’autenticazione. |
Gli algoritmi di crittografia simmetrica standard includono RC4, AES, DES, 3DES e QUAD. | Gli algoritmi di crittografia asimmetrica standard includono RSA, Diffie-Hellman, ECC, El Gamal e DSA., |