Crittografia, da Turing in poi solo grandi soddisfazioni! (pillole informatiche)

Gentili lettori di R.I. oggi vedremo insieme l’antica e sapiente arte di proteggere i dati nel mondo dell’nformatica.

La crittografia, o criptazione, in informatica è appunto la pratica di proteggere le informazioni attraverso l’utilizzo di tecniche matematiche avanzate per trasformare i dati in modo che possano essere letti solo da chi possiede la chiave di decodifica corretta.

In sostanza, la criptografia permette di codificare i dati in modo tale che solo chi ha la chiave di decodifica possa accedere alle informazioni contenute al loro interno. Questo rende la crittografia un’importante tecnologia di sicurezza informatica, poiché consente di proteggere i dati sensibili, come le informazioni personali o finanziarie, dalle minacce esterne come hacker o malware.

Ora, se Turing grazie al suo lavoro per decifrare i messaggi criptati della Germania nazista, in particolare quelli trasmessi tramite la macchina cifrante Enigma, riuscì a sviluppare una serie di tecniche per decifrare gli schemi crittografici utilizzati dalle forze nemiche, oggi la situazione in ambito di criptazione (e decriptazione) continua a richiede notevoli sforzi: esistono infatti diversi algoritmi di crittografia che possono essere utilizzati per proteggere le informazioni, in grado di mettere in difficoltà gli scienziati di oggi, tra cui ricordiamo l’AES (Advanced Encryption Standard) e il RSA (Rivest-Shamir-Adleman) (vedi sotto). L’utilizzo di questi algoritmi consente di garantire un alto livello di sicurezza per i dati e di proteggere la privacy delle persone e delle organizzazioni.

Nello specifico troviamo quindi i seguenti Magic Four:

AES (Advanced Encryption Standard): un algoritmo di crittografia a blocchi ampiamente utilizzato per proteggere dati sensibili come password, carte di credito e informazioni finanziarie.
RSA (Rivest-Shamir-Adleman): un algoritmo di crittografia a chiave pubblica utilizzato per proteggere la privacy delle comunicazioni online, come la posta elettronica, la messaggistica istantanea e la navigazione web.
SSL/TLS: protocolli di sicurezza che utilizzano la crittografia per proteggere le transazioni online, come acquisti o pagamenti, e per garantire la sicurezza delle connessioni tra client e server.
PGP (Pretty Good Privacy): un software di crittografia utilizzato per proteggere le email e le informazioni personali, che utilizza l’algoritmo di crittografia a chiave pubblica. Era molto in voga a fine anni ’90 e mi ricordo che talvolta le email riportavano in calce il codice, utilizzando il comodo GnuGP.


Questi sono solo alcuni esempi di algoritmi di crittografia utilizzati in diversi contesti. La crittografia è un campo molto vasto e in continua evoluzione, con costante sviluppo di nuove tecniche e algoritmi per proteggere i dati sensibili e garantire la sicurezza delle comunicazioni.

Poi esiste anche l’HASH

Gli algoritmi hash sono algoritmi crittografici che trasformano un input di dati di lunghezza variabile in un output di lunghezza fissa, detta “hash” (non a caso: “cenere”). Questa trasformazione è unidirezionale, ovvero l’hash prodotto non può essere invertito per ricavare il dato originale.

Gli algoritmi hash sono utilizzati principalmente per due scopi: l’integrità dei dati e l’autenticazione.

Nel primo caso, l’hash viene utilizzato per garantire che i dati non siano stati alterati durante la trasmissione o l’archiviazione.

Nel secondo caso, l’hash viene utilizzato per verificare che il mittente di un messaggio sia effettivamente chi afferma di essere.

Ecco alcuni esempi di algoritmi hash:

SHA-1 (Secure Hash Algorithm 1): un algoritmo hash a 160 bit utilizzato per garantire l’integrità dei dati e l’autenticazione.
SHA-256 (Secure Hash Algorithm 256): un algoritmo hash a 256 bit che offre una maggiore sicurezza rispetto a SHA-1.
MD5 (Message Digest 5): un algoritmo hash a 128 bit utilizzato principalmente per l’integrità dei dati, ma che oggi è considerato obsoleto e poco sicuro.
BLAKE2: un algoritmo hash più recente che offre prestazioni migliori rispetto ai precedenti, con dimensioni dell’hash variabili fino a 512 bit.
Questi sono solo alcuni esempi di algoritmi hash utilizzati in informatica. La scelta dell’algoritmo hash dipende dall’applicazione specifica e dal livello di sicurezza richiesto.

Il quantismo come valore aggiunto…

Come già visto in un altro articolo, la crittografia quantistica è una tecnologia emergente basata sui principi della meccanica quantistica, che offre un alto livello di sicurezza contro gli attacchi crittografici più sofisticati, come quelli basati sulla computazione quantistica.

A differenza della crittografia classica, che si basa sull’utilizzo di chiavi segrete e algoritmi di crittografia complessi, la crittografia quantistica sfrutta le proprietà fondamentali della meccanica quantistica, come l’entanglement quantistico, per proteggere i dati. In pratica, la crittografia quantistica utilizza un sistema di distribuzione delle chiavi quantistiche, che consente di creare una chiave di crittografia sicura senza doverla inviare attraverso un canale di comunicazione.

In sostanza, la crittografia quantistica consente di creare una chiave di crittografia che non può essere intercettata o letta da terzi, poiché qualsiasi tentativo di intercettazione viene rivelato dal sistema stesso. Questo rende la crittografia quantistica una tecnologia molto promettente per la sicurezza delle comunicazioni e della privacy.

Tuttavia, al momento la crittografia quantistica è ancora in fase di sviluppo e implementazione, e richiede una tecnologia molto avanzata e costosa per funzionare correttamente. Inoltre, è ancora molto limitata nell’utilizzo pratico, poiché richiede hardware e infrastrutture specifiche per funzionare correttamente. Si prevede che diverrà sempre più importante nel futuro della sicurezza informatica, poiché consente di proteggere i dati da attacchi sempre più sofisticati e avanzati.

E i bitcoin?

Non possiamo infine non citare i bitcoin… la criptazione ha un ruolo fondamentale nell’architettura e nella sicurezza del Bitcoin e delle criptovalute in generale. La crittografia viene utilizzata per proteggere le transazioni, garantire l’immunità alle frodi e mantenere la privacy degli utenti.

Ogni transazione Bitcoin viene protetta da una firma digitale, che utilizza la crittografia a chiave pubblica per garantire l’autenticità e l’integrità della transazione stessa. Questa firma digitale viene generata utilizzando una chiave privata unica per ogni utente, che viene mantenuta al sicuro nel portafoglio digitale dell’utente (e guai a perderla!)

Inoltre, la blockchain, la tecnologia alla base della criptovaluta, utilizza la crittografia a hash per garantire l’integrità e la sicurezza dei blocchi di transazioni. Gli algoritmi hash sono utilizzati per creare l’hash univoco di ogni blocco, che viene poi collegato al blocco precedente attraverso la crittografia a catena. Questo processo di crittografia garantisce che la blockchain sia immutabile e che le transazioni non possano essere modificate o cancellate una volta inserite nella catena. Una sorta di “notaio distribuito”.

Infine, la crittografia viene utilizzata anche per mantenere la privacy degli utenti. L’indirizzo Bitcoin di ogni utente è un indirizzo pubblico, ma le transazioni effettuate da quell’indirizzo sono protette dalla crittografia a chiave pubblica, in modo tale che solo il destinatario della transazione possa decodificare e leggere il messaggio.

In sintesi, la crittografia è un elemento fondamentale dell’architettura del Bitcoin e delle criptovalute, e consente di garantire la sicurezza, l’immunità alle frodi e la privacy degli utenti. Pensate si chiamassero criptomonete per caso? 😉

Alla prossima, per ulteriori approfondimenti!

Ti è piaciuto l’articolo? Per suggerimenti, lavori, proposte, contattami!

Articolo creato 44

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli correlati

Inizia a scrivere il termine ricerca qua sopra e premi invio per iniziare la ricerca. Premi ESC per annullare.

Torna in alto