Che cos'è la crittografia e come funziona?

0
246
wk1003mike/Shutterstock.com

Probabilmente hai visto il termine “crittografia” utilizzato su Internet. Quindi, cos'è? Potrebbe essere la tecnologia più importante che abbiamo. La maggior parte delle misure di sicurezza digitale, dalla navigazione sicura alla posta elettronica protetta, dipende da questo. Senza crittografia, non avremmo privacy.

Che cos'è la crittografia?

Se scrivi qualcosa di importante, privato o sensibile potresti temere che qualcun altro lo legga. Se devi darlo a un messaggero per portarlo a un'altra persona, aumenta il rischio che le persone sbagliate leggano quel messaggio. La crittografia modifica la composizione di un messaggio o di un dato in modo che solo le persone che sanno come riportarlo alla sua forma originale possano leggerlo. A chiunque altro sembrerà incomprensibile o una raccolta senza senso di caratteri e simboli.

La Scytale

Fin dai primi tempi, le persone hanno usato diverse tecniche per impedire a chiunque ma il destinatario previsto dalla lettura dei messaggi privati. Gli antichi greci avvolgevano una striscia di pergamena in una stretta spirale attorno a un'asta di legno chiamata scytale. Hanno scritto il loro messaggio lungo la lunghezza dell'asta, sopra la pergamena avvolta.

Srotolata, la scritta sulla pergamena non aveva senso. Un messaggero avrebbe consegnato la pergamena al destinatario che avrebbe letto il messaggio in privato dopo averlo prima avvolto attorno alla propria, corrispondente, scytale. Questa è una forma di cifratura a trasposizione.

È una tecnica primitiva, ma ha elementi che troverai nei moderni sistemi di crittografia. Sia il mittente che il destinatario devono sapere in anticipo qual è lo schema di crittografia e come utilizzarlo. Ed entrambi hanno bisogno di meccanismi di corrispondenza per farlo.

Il quadrato di Polibio

Un altro metodo utilizzato dagli antichi greci utilizzava un quadrato di Polibio. Questa era una griglia di lettere cinque per cinque o sei per sei. Una lettera è stata referenziata dalle sue coordinate, come le corazzate del gioco. La prima lettera della prima riga è stata codificata come “11”, la quarta lettera della seconda riga come “42” e così via.

Pubblicità

Naturalmente, ci sono molti modi per riempire la griglia con le lettere. A meno che tu non conosca il layout delle lettere, la decrittazione è difficile. Ciò ti consente di impostare uno schema con più quadrati con layout diversi. Potresti creare sette quadrati e utilizzare un quadrato diverso per ogni giorno della settimana, ad esempio. Gli schemi che utilizzano più alfabeti sono chiamati cifrari polialfabetici.

Un quadrato di Polibio è una forma di codice. Un codice sostituisce le lettere con altri caratteri, in questo esempio le cifre. I cifrari sostituiscono le lettere con altre lettere.

Cifra di Cesare

Giulio Cesare diede il suo nome al cifrario di Cesare. Questo utilizza un offset—o una “rotazione”—per selezionare una lettera a una distanza impostata dalla lettera che stai cifrando. Se stavi utilizzando un offset di due, “A” verrebbe scritto come “C” e “D” verrebbe scritto come “F.” Il destinatario deve conoscere l'offset corretto da utilizzare per decifrare il messaggio sottraendo l'offset dalle lettere che ha ricevuto.

Un cifrario di Cesare con un offset di 13—noto come “rotation 13” o ROT13—possiede una qualità speciale. Ci sono 26 lettere nell'alfabeto inglese standard e 13 si dividono in 26 esattamente due volte. Con questo offset, per decifrare qualcosa puoi sottoporlo di nuovo al processo di cifratura. La cifratura due volte ti riporta al testo originale.

Semplice: ABCDEFGHIJKLMNOPQRSTUVWXYZ ROT13: NOPQRSTUVWXYZABCDEFGHIJKLM

Se scegli le lettere “GEEK” nell'alfabeto in alto e annota le lettere corrispondenti nell'alfabeto in basso, otterrai “TRRX”. Se lo fai di nuovo con “TRRX” nell'alfabeto in alto otterrai le lettere “GEEK” dall'alfabeto in basso.

Pubblicità

In termini di programmazione, questo semplifica le cose perché devi solo scrivere una routine di cifratura. Non c'è bisogno di una routine di decifrazione. Questo è il motivo per cui scrivere un'implementazione ROT13 è un esercizio comune per le persone che imparano a programmare. ROT13 è anche comunemente considerato un esempio di crittografia molto scarsa e di basso livello.

Puoi provarlo tu stesso con questo motore ROT13 online. Prova a inserire “Alaska Nynfxn” quindi reinserire l'output come input.

Quindi, cos'è la crittografia?

Tutti gli esempi che abbiamo trattato qui sono facili da decifrare, ma illustrano un elemento comune condiviso tra tutti loro e tra tutte le forme di crittografia. C'è una serie di regole da seguire per convertire i dati originali, chiamati “testo in chiaro”, nella versione cifrata, nota come testo cifrato. Quel set di regole è un algoritmo. Ed ecco cos'è la crittografia.

Sono algoritmi per la privacy.

Come funziona la crittografia?

Bakhtiar Zein/Shutterstock.com

Proprio come la persona nell'antica Grecia, una persona nell'era digitale che desidera archiviare o inviare dati privati ​​deve affrontare sfide. Cosa puoi fare per impedire a persone non autorizzate di accedere ai dati? E cosa si può fare per renderlo sicuro?

Tutti i vecchi sistemi potrebbero essere superati con la conoscenza del sistema di crittografia. Usa la stessa asta di diametro e il messaggio scytale diventa leggibile. Il Cifrario di Cesare può essere violato provando diversi offset nella prima parte del messaggio. Ne hai solo 25 da provare, al massimo.

RELATED< /forte>La RSA è stata appena distrutta da un matematico tedesco in pensione?

I quadrati di Polibio rappresentano una sfida maggiore perché la disposizione delle lettere all'interno del quadrato è imprevedibile. Se sai qual è la disposizione della piazza, non è nemmeno una sfida. Se non hai idea della disposizione della piazza puoi provare a decifrare il messaggio studiando il testo cifrato stesso. Si chiama crittanalisi.

Pubblicità

Con un semplice cifrario, puoi usare aiuti come le tabelle di frequenza delle lettere per capire quale lettera di testo cifrato rappresenta quale lettera di testo in chiaro. Uno schema di crittografia sicuro deve essere protetto, indipendentemente da chi conosce i meccanismi dello schema, e il testo cifrato deve resistere agli attacchi di crittoanalisi.

Non caratteri, bit

Schemi digitali robusti non 8217;t funziona su lettere e caratteri uno alla volta come fanno i cifrari seriali. Funzionano attraverso i dati un blocco alla volta e sono chiamati cifrari a blocchi.

Manipolano i bit—tutti quegli uno e zero—all'interno di ciascun blocco secondo le regole di complicate trasformazioni matematiche incorporate all'interno degli algoritmi di crittografia. Se un algoritmo utilizza una dimensione di blocco di 128 bit, si farà strada attraverso i dati in blocchi di 128 bit. Se l'ultimo pezzo da elaborare è inferiore a 128 bit, viene riempito a 128 bit.

Sono disponibili molti schemi di crittografia a blocchi. L'Advanced Encryption Standard (AES) è lo standard di crittografia ufficiale del governo degli Stati Uniti. Diversi schemi di crittografia utilizzano algoritmi diversi e lunghezze di blocco diverse e fanno uso di diverse combinazioni di trasformazioni matematiche.

RELAZIONATO: Che cos'è la “crittografia di livello militare”?

Sembra tutto molto accurato, ma come possiamo impedire a una persona non autorizzata di utilizzare lo stesso schema di crittografia per decifrare i nostri dati crittografati?

Stringhe hash

Esamineremo prima un caso speciale. È possibile crittografare i dati utilizzando una trasformazione unidirezionale. Questa è l'antitesi stessa di ROT13 perché il testo cifrato risultante non può essere ripristinato in testo normale. Più precisamente, non può essere decifrato in un lasso di tempo pratico. Questo tipo di crittografia viene utilizzato nelle funzioni di hashing in cui una stringa di testo in chiaro viene sottoposta a hash in una stringa di testo cifrato, chiamata hash o stringa di hash. Tutte le stringhe hash hanno la stessa lunghezza.

Pubblicità

Come è utile? Bene, un sito web sicuro non memorizzerà la tua password in chiaro. La tua password è sottoposta ad hashing e la stringa di hash è archiviata. La tua password non viene mai conservata. Al successivo accesso e immissione della password, viene eseguito l'hashing e la stringa hash viene confrontata con la stringa hash memorizzata nei dettagli del tuo account. Se corrispondono, puoi entrare. Se inserisci una password errata, le due stringhe di hash non corrisponderanno e non ti sarà consentito l'accesso.

Ciò consente al sito Web di utilizzare l'autenticazione senza dover memorizzare le password in una forma esposta. Se vengono violati, nessuna delle password viene compromessa. Le tecniche di hashing possono anche aggiungere dati univoci e casuali chiamati sale alle password prima che vengano crittografate. Ciò significa che tutti gli hash sono unici anche se due o più utenti hanno scelto la stessa password.

Dischi rigidi crittografati

Per impedire a persone non autorizzate di decifrare i dati, viene utilizzata una chiave che identifica chi li ha crittografati e chi può decrittografarli. Una chiave è una lunga sequenza di byte generata da un algoritmo complesso. In genere hanno dimensioni comprese tra 128 byte e 2048 byte o più. La chiave viene utilizzata dall'algoritmo di crittografia quando crittografa il testo in chiaro. La dimensione della chiave è indipendente dalla dimensione del blocco.

Per proteggere i dati archiviati localmente, è possibile crittografare interi dischi rigidi. La crittografia è legata all'identità di accesso dell'utente e la chiave viene generata automaticamente e applicata automaticamente. L'utente non ha alcuna interazione diretta con la chiave e la chiave non deve mai essere inviata a nessun altro.

Poiché la chiave è legata all'identità di accesso dell'utente, rimuovere il disco rigido dal computer e collegarlo a un altro computer non consentirà l'accesso ai dati. Questo tipo di protezione salvaguarda i dati che sono statici o “inattivi.”

Pubblicità

Se i tuoi dati devono essere trasmessi devi considerare come tutelerai i tuoi dati &# 8220;in transito.”

Siti web sicuri

Quando ti connetti a un sito Web e vedi il simbolo di un lucchetto nella barra degli indirizzi, sai che sei connesso a un sito Web sicuro, giusto? Beh, una specie di. Ciò che in realtà significa è che la connessione tra il tuo computer e il sito Web è crittografata utilizzando la crittografia SSL/TSL.

RELATEDIn che modo i certificati SSL proteggono il Web?

Questa è una buona cosa, ma non verifica la sicurezza del resto del sito web. Il sito Web potrebbe archiviare le password in testo normale e utilizzare una password di amministratore predefinita nel database. Ma almeno se vedi il lucchetto, sai che la tua comunicazione con il sito web è crittografata.

Questa crittografia è possibile perché il tuo browser e il sito web utilizzano lo stesso schema di crittografia con più chiavi. All'inizio di una sessione di connessione il tuo browser e il sito web si scambiano le chiavi pubbliche. Una chiave pubblica può decifrare qualcosa che è stato crittografato utilizzando una chiave privata.

Il tuo browser e il sito web scambiano le loro chiavi pubbliche e quindi crittografano utilizzando le loro chiavi private. Poiché ciascuna estremità della connessione dispone della chiave pubblica dell'altra estremità, ciascuna estremità può decrittografare le informazioni che ricevono dall'altra estremità. Le chiavi private non devono mai essere esposte.

Il rilascio di una chiave pubblica è sicuro. Non è possibile utilizzare una chiave pubblica per crittografare i dati in modo fraudolento. Pertanto, anche se ricevi una copia della chiave pubblica di un sito Web, non puoi impersonare il sito Web autentico perché non disponi della chiave privata. Ciò solleva la questione dell'autenticità. Come fai a sapere che il sito web è il vero proprietario della coppia di chiavi pubblica e privata e non un sito imitativo che in qualche modo ha rubato entrambe le chiavi dal sito web autentico?

I certificati vengono utilizzati per verificare l'identità dei siti web. Questi sono rilasciati dalle Autorità di Certificazione una volta verificata l'identità del richiedente. Il sito Web invia il certificato come parte dell'handshake all'inizio di una sessione di connessione in modo che il browser Web possa convalidare il certificato.

Pubblicità

Lo fa contattando l'autorità di certificazione e decrittografando alcune informazioni sul certificato. Ciò richiede ancora più chiavi. Il tuo browser dispone di chiavi pubbliche delle principali autorità di certificazione come parte del pacchetto di installazione. E ci sono ancora più chiavi coinvolte. Oltre a scambiare chiavi pubbliche, il browser e il sito Web creano chiavi di sessione univoche per proteggere ulteriormente le loro comunicazioni.

Una volta che il tuo browser ha verificato l'autenticità del sito e la forza della crittografia, posiziona il lucchetto nella barra degli indirizzi.

RELAZIONATO: Come attivare ” Navigazione sicura avanzata” in Google Chrome

Email sicura

Il concetto di chiavi pubbliche e private emerge ancora e ancora nella crittografia. Un metodo comune per proteggere le e-mail in transito utilizza coppie di chiavi pubbliche e private. Le chiavi pubbliche possono essere scambiate in sicurezza, le chiavi private non sono condivise. I messaggi vengono crittografati utilizzando la chiave privata del mittente. Il destinatario può utilizzare la chiave pubblica del mittente per decrittografarla e leggerla. Possono utilizzare la propria chiave privata per crittografare una risposta.

OpenPGP è un noto schema di crittografia che segue questo modello, con una svolta.

Il client di posta elettronica del mittente genera una chiave casuale. Viene utilizzato per crittografare il messaggio di posta elettronica. La chiave casuale viene quindi crittografata con la chiave pubblica del destinatario. Il messaggio crittografato e la chiave casuale crittografata vengono inviati al destinatario. Il programma di posta elettronica del destinatario utilizza la propria chiave privata per decrittografare la chiave casuale che viene quindi utilizzata per decrittografare il messaggio.

Lo scopo del passaggio aggiuntivo è consentire l'invio sicuro di un'e-mail a più destinatari. Il tuo client di posta non ha bisogno di crittografare l'intera email separatamente per ogni destinatario, solo la chiave casuale.

RELATEDCome utilizzare la crittografia OpenPGP per le e-mail in Thunderbird

Naturalmente, i sistemi di posta elettronica sicuri affrontano anche la questione dell'autenticità. Devi fidarti della chiave pubblica che ti è stata inviata. Le chiavi sono legate agli indirizzi e-mail. Ricevere la chiave pubblica inviata dall'indirizzo e-mail con cui converserai è un buon primo passo. La maggior parte dei client di posta elettronica può mostrare l'indirizzo email associato a una chiave pubblica.

Pubblicità

Un altro metodo per verificare l'autenticità di una chiave pubblica è ottenerla da un repository. Le chiavi pubbliche caricate nei repository vengono verificate dal repository prima di essere rese pubbliche.

La crittografia è alla base delle nostre vite digitali

Almeno, la crittografia è alla base delle nostre vite digitali se 8217; lo sto facendo bene. Evita connessioni remote non protette di qualsiasi tipo (sia che si tratti di lavoro remoto o di acquisti online), utilizza client di posta elettronica in grado di crittografare i messaggi privati ​​e utilizza app di messaggistica con crittografia end-to-end.

Lbhe cevinpl vf vzcbegnag, hfr gur nccebcevngr gbbyf gb fnsrthneq vg. Come potrebbe aver detto Cesare.

RELAZIONATO: Che cos'è la crittografia end-to-end e perché è importante?

LEGGI SUCCESSIVO

  • › Come disconnettersi dal Mac utilizzando il terminale
  • › Come cambiare il tuo compleanno su Facebook
  • › Come attivare “Non disturbare” Durante la guida su Google Pixel
  • › Come inserire e ritagliare un'immagine per adattarla a una forma in Microsoft PowerPoint
  • › Come nascondere la “Visualizzazione attività” Pulsante su Windows 11