Che cos'è la crittografia e come funziona?

Sommario:

Che cos'è la crittografia e come funziona?
Che cos'è la crittografia e come funziona?

Video: Che cos'è la crittografia e come funziona?

Video: Che cos'è la crittografia e come funziona?
Video: Webinar: Cybersecurity. Scopri come riconoscere le minacce nella rete - YouTube 2024, Marzo
Anonim
La crittografia ha una lunga storia che risale a quando gli antichi greci e romani inviavano messaggi segreti sostituendo le lettere solo decifrabili con una chiave segreta. Unisciti a noi per una breve lezione di storia e scopri come funziona la crittografia.
La crittografia ha una lunga storia che risale a quando gli antichi greci e romani inviavano messaggi segreti sostituendo le lettere solo decifrabili con una chiave segreta. Unisciti a noi per una breve lezione di storia e scopri come funziona la crittografia.

Nell'edizione odierna di HTG Explains, ti forniremo una breve cronologia della crittografia, come funziona e alcuni esempi di diversi tipi di crittografia: assicurati di controllare anche l'edizione precedente, in cui abbiamo spiegato perché così tanti geek odiano Internet Esploratore.

Immagine di xkcd, ovviamente.

I primi giorni della crittografia

Image
Image
Gli antichi greci usavano uno strumento chiamato Scytale per aiutare a cifrare i loro messaggi più velocemente usando un codice di trasposizione - avrebbero semplicemente avvolto la striscia di pergamena attorno al cilindro, scritto il messaggio, e poi quando non svolto non avrebbe avuto senso.
Gli antichi greci usavano uno strumento chiamato Scytale per aiutare a cifrare i loro messaggi più velocemente usando un codice di trasposizione - avrebbero semplicemente avvolto la striscia di pergamena attorno al cilindro, scritto il messaggio, e poi quando non svolto non avrebbe avuto senso.

Questo metodo di crittografia potrebbe essere facilmente rotto, ovviamente, ma è uno dei primi esempi di crittografia effettivamente utilizzato nel mondo reale.

Giulio Cesare usò un metodo un po 'simile durante il suo tempo spostando ogni lettera dell'alfabeto a destra o sinistra di un certo numero di posizioni, una tecnica di crittografia nota come cifrario di Cesare. Ad esempio, usando la cifra di esempio qui sotto, scrivi "GEEK" come "JHHN".

Plain: ABCDEFGHIJKLMNOPQRSTUVWXYZ Cipher: DEFGHIJKLMNOPQRSTUVWXYZABC

Poiché solo il destinatario previsto del messaggio conosceva il codice, sarebbe difficile per la persona successiva decodificare il messaggio, che apparirebbe privo di significato, ma la persona che aveva il codice poteva facilmente decodificarlo e leggerlo.

Altri cifrari di crittografia semplici come il quadrato di Polibio utilizzavano un codice polialfabetico che elencava ciascuna lettera con le corrispondenti posizioni numeriche nella parte superiore e laterale per indicare dove si trovava la posizione della lettera.

Usando una tabella come quella in alto, scrivere la lettera "G" come "23" o "GEEK" come "23 31 31 43".
Usando una tabella come quella in alto, scrivere la lettera "G" come "23" o "GEEK" come "23 31 31 43".

Enigma Machine

Durante la seconda guerra mondiale, i tedeschi usarono la macchina Enigma per trasmettere trasmissioni criptate avanti e indietro, che impiegarono anni prima che i polacchi fossero in grado di decifrare i messaggi e dare la soluzione alle forze alleate, che era strumentale alla loro vittoria.
Durante la seconda guerra mondiale, i tedeschi usarono la macchina Enigma per trasmettere trasmissioni criptate avanti e indietro, che impiegarono anni prima che i polacchi fossero in grado di decifrare i messaggi e dare la soluzione alle forze alleate, che era strumentale alla loro vittoria.

La storia della crittografia moderna

Ammettiamolo: le moderne tecniche di crittografia possono essere un argomento estremamente noioso, quindi, invece di limitarci a spiegarle con le parole, abbiamo creato un fumetto che parla della storia della crittografia, ispirato alla guida alle figure stilizzate di Jeff Moser per AES. Nota: chiaramente non possiamo trasmettere tutto ciò che riguarda la storia della crittografia in un fumetto.

Di ritorno in quei giorni, le persone non hanno un buon metodo di crittografia per proteggere le loro comunicazioni elettroniche.

Lucifer era il nome dato a molti dei primi codici a blocchi civili, sviluppati da Horst Feistel e dai suoi colleghi dell'IBM.
Lucifer era il nome dato a molti dei primi codici a blocchi civili, sviluppati da Horst Feistel e dai suoi colleghi dell'IBM.
Il Data Encryption Standard (DES) è un cifrario a blocchi (una forma di crittografia segreta condivisa) che è stato selezionato dal National Bureau of Standards come uno standard ufficiale di elaborazione delle informazioni federali (FIPS) per gli Stati Uniti nel 1976 e che successivamente ha goduto di ampia diffusione usare a livello internazionale.
Il Data Encryption Standard (DES) è un cifrario a blocchi (una forma di crittografia segreta condivisa) che è stato selezionato dal National Bureau of Standards come uno standard ufficiale di elaborazione delle informazioni federali (FIPS) per gli Stati Uniti nel 1976 e che successivamente ha goduto di ampia diffusione usare a livello internazionale.
Preoccupazioni per la sicurezza e il funzionamento relativamente lento del DES nei ricercatori motivati dal software per proporre una varietà di modelli di codici a blocchi alternativi, che hanno iniziato a comparire tra la fine degli anni '80 e l'inizio degli anni '90: esempi includono RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 e FEAL
Preoccupazioni per la sicurezza e il funzionamento relativamente lento del DES nei ricercatori motivati dal software per proporre una varietà di modelli di codici a blocchi alternativi, che hanno iniziato a comparire tra la fine degli anni '80 e l'inizio degli anni '90: esempi includono RC5, Blowfish, IDEA, NewDES, SAFER, CAST5 e FEAL
Image
Image
Image
Image
Image
Image
L'algoritmo di crittografia Rijndael è stato adottato dal governo degli Stati Uniti come crittografia a chiave simmetrica standard o Advanced Encryption Standard (AES). L'AES è stato annunciato dal National Institute of Standards and Technology (NIST) come US FIPS PUB 197 (FIPS 197) il 26 novembre 2001 dopo un processo di standardizzazione quinquennale in cui sono stati presentati e valutati quindici progetti concorrenti prima che Rijndael fosse selezionato come il più algoritmo di crittografia adatto.
L'algoritmo di crittografia Rijndael è stato adottato dal governo degli Stati Uniti come crittografia a chiave simmetrica standard o Advanced Encryption Standard (AES). L'AES è stato annunciato dal National Institute of Standards and Technology (NIST) come US FIPS PUB 197 (FIPS 197) il 26 novembre 2001 dopo un processo di standardizzazione quinquennale in cui sono stati presentati e valutati quindici progetti concorrenti prima che Rijndael fosse selezionato come il più algoritmo di crittografia adatto.

Prestazioni dell'algoritmo di crittografia

Esistono molti algoritmi di crittografia e sono tutti adatti a scopi diversi: le due caratteristiche principali che identificano e differenziano un algoritmo di crittografia da un altro sono la sua capacità di proteggere i dati protetti dagli attacchi e la sua velocità ed efficienza nel farlo.

Come buon esempio della differenza di velocità tra diversi tipi di crittografia, è possibile utilizzare l'utilità di benchmarking incorporata nella procedura guidata per la creazione di volumi di TrueCrypt: come si può vedere, AES è di gran lunga il tipo più veloce di crittografia avanzata.

Esistono metodi di crittografia più lenti e veloci e sono tutti adatti a scopi diversi. Se stai semplicemente tentando di decrittografare una piccola porzione di dati ogni tanto, puoi permetterti di usare la crittografia più potente possibile, o addirittura criptarla due volte con diversi tipi di crittografia. Se hai bisogno di velocità, probabilmente vorrai andare con AES.
Esistono metodi di crittografia più lenti e veloci e sono tutti adatti a scopi diversi. Se stai semplicemente tentando di decrittografare una piccola porzione di dati ogni tanto, puoi permetterti di usare la crittografia più potente possibile, o addirittura criptarla due volte con diversi tipi di crittografia. Se hai bisogno di velocità, probabilmente vorrai andare con AES.

Per ulteriori informazioni sul benchmarking di diversi tipi di crittografia, consultare un rapporto della Washington University of St. Louis, dove hanno fatto un sacco di test su diverse routine, e hanno spiegato tutto in un resoconto molto geek.

Tipi di crittografia moderna

Tutti gli algoritmi di crittografia di fantasia di cui abbiamo parlato in precedenza sono principalmente utilizzati per due diversi tipi di crittografia:

  • Algoritmi a chiave simmetrica utilizzare chiavi di crittografia correlate o identiche sia per la crittografia che per la decrittografia.
  • Algoritmi chiave asimmetrici utilizzare chiavi diverse per la crittografia e la decrittografia, che di solito viene definita crittografia a chiave pubblica.

Crittografia chiave simmetrica

Per spiegare questo concetto, useremo la metafora del servizio postale descritta in Wikipedia per capire come funzionano gli algoritmi delle chiavi simmetriche.

Alice mette il suo messaggio segreto in una scatola e blocca la scatola usando un lucchetto a cui ha una chiave. Quindi invia la cassetta a Bob tramite posta ordinaria. Quando Bob riceve la scatola, usa una copia identica della chiave di Alice (che in qualche modo ha ottenuto in precedenza, magari da una riunione faccia a faccia) per aprire la scatola e leggere il messaggio. Bob può quindi utilizzare lo stesso lucchetto per inviare la sua risposta segreta.

Gli algoritmi a chiave simmetrica possono essere suddivisi in codici di flusso e cifrari a blocchi: i cifrari di flusso crittografano i bit del messaggio uno alla volta e i cifrari a blocchi prendono un numero di bit, spesso in blocchi di 64 bit alla volta, e li crittografano come una singola unità. Esistono molti algoritmi diversi tra cui scegliere: gli algoritmi simmetrici più popolari e rispettati includono Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES e IDEA.
Gli algoritmi a chiave simmetrica possono essere suddivisi in codici di flusso e cifrari a blocchi: i cifrari di flusso crittografano i bit del messaggio uno alla volta e i cifrari a blocchi prendono un numero di bit, spesso in blocchi di 64 bit alla volta, e li crittografano come una singola unità. Esistono molti algoritmi diversi tra cui scegliere: gli algoritmi simmetrici più popolari e rispettati includono Twofish, Serpent, AES (Rijndael), Blowfish, CAST5, RC4, TDES e IDEA.

Crittografia asimmetrica

In un sistema di chiavi asimmetrico, Bob e Alice hanno lucchetti separati, invece del singolo lucchetto con più chiavi dell'esempio simmetrico. Nota: questo è, naturalmente, un esempio molto semplificato di come funziona davvero, che è molto più complicato, ma avrai un'idea generale.

Innanzitutto, Alice chiede a Bob di spedire il lucchetto aperto a lei tramite posta ordinaria, mantenendo la chiave per sé. Quando Alice lo riceve, lo usa per bloccare una scatola contenente il suo messaggio e invia la scatola chiusa a Bob. Bob può quindi sbloccare la scatola con la sua chiave e leggere il messaggio di Alice. Per rispondere, Bob deve in modo simile ottenere il lucchetto aperto di Alice per bloccare la scatola prima di inviarla a lei.

Image
Image

Il vantaggio fondamentale in un sistema di chiavi asimmetrico è che Bob e Alice non hanno mai bisogno di inviare una copia delle loro chiavi l'una all'altra. Ciò impedisce a una terza parte (ad esempio, un impiegato postale corrotto) di copiare una chiave mentre è in transito, consentendo a detta terza parte di spiare tutti i futuri messaggi inviati tra Alice e Bob. Inoltre, se Bob fosse stato negligente e avesse permesso a qualcun altro di copiarlo il suo chiave, i messaggi di Alice a Bob sarebbero stati compromessi, ma i messaggi di Alice ad altre persone sarebbero rimasti segreti, dal momento che le altre persone avrebbero fornito lucchetti diversi da utilizzare per Alice.

La crittografia asimmetrica utilizza chiavi diverse per la crittografia e la decrittografia. Il destinatario del messaggio crea una chiave privata e una chiave pubblica. La chiave pubblica viene distribuita tra i mittenti dei messaggi e utilizza la chiave pubblica per crittografare il messaggio. Il destinatario utilizza la propria chiave privata tutti i messaggi crittografati che sono stati crittografati utilizzando la chiave pubblica del destinatario.

C'è un grande vantaggio nel fare la crittografia in questo modo rispetto alla crittografia simmetrica. Non abbiamo mai bisogno di inviare nulla di segreto (come la nostra chiave di crittografia o password) su un canale non sicuro. La tua chiave pubblica si spegne nel mondo: non è un segreto e non è necessario. La tua chiave privata può rimanere comoda e accogliente sul tuo personal computer, dove l'hai generata, non deve mai essere inviata per posta elettronica da nessuna parte o essere letta dagli aggressori.

Come la crittografia protegge la comunicazione sul web

Per molti anni, il protocollo SSL (Secure Sockets Layer) ha protetto le transazioni web utilizzando la crittografia tra il tuo browser web e un server web, proteggendoti da chiunque possa effettuare il snooping sulla rete nel mezzo.

Lo stesso SSL è concettualmente piuttosto semplice. Inizia quando il browser richiede una pagina protetta (in genere https://)

Il server Web invia la sua chiave pubblica con il suo certificato
Il server Web invia la sua chiave pubblica con il suo certificato
Image
Image

Il browser controlla che il certificato sia stato emesso da una parte fidata (di solito una CA radice affidabile), che il certificato sia ancora valido e che il certificato sia correlato al sito contattato.

Image
Image

Il browser utilizza quindi la chiave pubblica per crittografare una chiave di crittografia simmetrica casuale e inviarla al server con l'URL crittografato richiesto e altri dati HTTP crittografati.

Image
Image

Il server Web decrittografa la chiave di crittografia simmetrica utilizzando la sua chiave privata e utilizza la chiave simmetrica del browser per decrittografarne l'URL e i dati http.

Image
Image

Il server Web restituisce il documento html richiesto e i dati http crittografati con la chiave simmetrica del browser. Il browser decrittografa i dati http e il documento html utilizzando la chiave simmetrica e visualizza le informazioni.

E ora puoi acquistare in sicurezza l'oggetto eBay di cui non hai davvero bisogno.
E ora puoi acquistare in sicurezza l'oggetto eBay di cui non hai davvero bisogno.

Hai imparato qualcosa?

Se sei arrivato così lontano, siamo alla fine del nostro lungo viaggio verso la comprensione della crittografia e un po 'di come funziona, a partire dai primi tempi della crittografia con Greci e Romani, l'ascesa di Lucifero e infine come SSL utilizza la crittografia asimmetrica e simmetrica per aiutarti a comprare quel coniglietto rosa fluffy su eBay.

Siamo grandi fan della crittografia qui su How-To Geek, e abbiamo coperto molti modi diversi di fare cose come:

  • Guida introduttiva a TrueCrypt (per proteggere i dati)
  • Aggiungi la crittografia automatica del sito web a Firefox
  • BitLocker To Go crittografa le unità Flash portatili in Windows 7
  • Come proteggere il tuo PC Linux crittografando il tuo disco rigido
  • Aggiungi Encrypt / Decrypt Options a Windows 7 / Vista Menu clic destro
  • Guida introduttiva a TrueCrypt Drive Encryption su Mac OS X

Ovviamente la crittografia è un argomento troppo complicato per spiegare davvero tutto. Ci siamo persi qualcosa di importante? Sentiti libero di mettere qualche conoscenza sui tuoi colleghi lettori nei commenti.

Consigliato: