La crittografia è una tecnica utilizzata per salvaguardare i dati ed impedire a terzi non autorizzati di accedere o alterare informazioni preziose a proprio vantaggio o a danno di altri.
Una delle tecniche più antiche utilizzate per proteggere le informazioni è crittografia. Questa tecnica è vecchia quanto la scrittura e, fra i numerosi esempi del suo impiego è interessante il caso della macchina Enigma, usata dai nazisti durante la seconda guerra mondiale per crittografare i messaggi in prima linea.
La parola crittografia deriva dal greco κριπτός (kryptós = coperto, nascosto), γραφειν (graphein = scrivere) e dal suffisso -ia (usato per creare nomi astratti). Il messaggio crittografato stesso è in bella vista. Può essere letto, ma il suo significato è nascosto. Quindi, possiamo dirlo utilizzando la crittografia una persona può nascondere un testo o informazioni, in modo che solo il mittente e il destinatario possano interpretarlo.
Con la crescente ascesa e lo sviluppo dell'informatica, è stato ampiamente divulgato e modificato per l'uso. Ora si basa su complessi algoritmi matematici responsabili della crittografia dei messaggi. Hanno il compito di garantire la riservatezza tra le parti e l'integrità delle informazioni, mentre offrendo l'autenticazione sia del mittente che del destinatario, garantisce che il mittente o il destinatario possano ripudiare il messaggio. E infine garantisce che il messaggio è nuovo, cioè che non si ripete.
Le basi della crittografia informatica sono stabilite negli articoli "Una teoria matematica di comunicazione" del 1948 e «Teoria della comunicazione dei sistemi di segretezza» del 1949, entrambi pubblicati da Claude Shannon e che stabiliscono le basi della teoria dell'informazione e della crittografia moderna.
«Nuove direzioni della crittografia», sviluppato da Whitfield Diffie e Martin Hellman nel 1976 stabilisce il concetto di crittografia a chiave pubblica. Il consolidamento della crittografia arriva nel 1977 con la Pubblicazione dell'algoritmo RSA, sviluppato dai matematici Ron Rivest, Adi Shamir y Leon Adleman.
Crittografia e sicurezza
Oggi, la crittografia è uno dei pilastri fondamentali su cui si basa la tecnologia blockchain; quest'ultima permette il funzionamento della rete, garantisce i meccanismi di consenso tra gli utenti e l'integrità della blockchain.
Per garantire che nessuno di esterno possa accedere ai dati, si utilizzano la crittografia a chiave pubblica (crittografia asimmetrica) e la crittografia a chiave segreta (crittografia simmetrica) che svilupperemo in seguito. La crittografia a chiave pubblica genera un hash che semplifica la distribuzione delle informazioni mentre il chiava privata crittografa e decrittografa le informazioni tra mittente e destinatario.
In Bitcoin, la chiave pubblica viene ottenuta dalla chiave privata, ma è impossibile eseguire il processo inverso. Vale a dire, non è possibile ottenere la chiave privata dalla chiave pubblica. La chiave pubblica, dopo successive modifiche, è l'indirizzo che possiamo condividere con tutti i membri della community in modo che possano inviarci denaro, o quella di altri utenti della comunità che useremo all'occorrenza per effettuare un pagamento a loro favore. Non c'è rischio di furto, poiché i fondi sono accessibili solo tramite la chiave privata.
La chiave privata è simile a un PIN o una password. che utilizziamo per accedere a diverse pagine Web, ma in questo caso è crittografato, aggiungendo molta più sicurezza. Ciò significa che introdurremo una serie di termini o parole e questi saranno crittografati e proteggeranno il file wallet o portafoglio . Solo noi possediamo queste parole, quindi dobbiamo conservarle al sicuro e non condividerle con nessuno; in questo modo possiamo accedere ai nostri fondi in qualsiasi momento.
Tipi di crittografia
Come accennato all'inizio, la crittografia può essere simmetrica o asimmetrica, a seconda del tipo di chiave utilizzata. Guardiamolo più nel dettaglio.
Simmetrica
La crittografia simmetrica è stato utilizzato sin dall'inizio della storia e per molto tempo. È anche chiamata crittografia a chiave privata o crittografia a una chiave. Per realizzarlo e poter crittografare e decrittografare un messaggio, viene utilizzata un'unica chiave che sia il mittente che il destinatario devono conoscere in anticipo. Questo è il punto debole di questo metodo, in quanto vi è una maggiore probabilità che una terza parte intercetti la chiave quando il mittente la trasmette al destinatario.
Nella crittografia simmetrica deve essere utilizzata una chiave molto difficile da indovinare, perché i computer di oggi possono indovinare le password molto rapidamente. Dobbiamo quindi considerare che, poiché gli algoritmi crittografici sono pubblici, è necessario garantire che la loro forza dipenda dalla loro complessità interna e dalla lunghezza della chiave utilizzata, per evitare attacchi forzati.
Asimmetrica
Conosiuta anche come crittografia a chiave pubblica, questo metodo fa uso di due chiavi, una pubblica e una privata; non è quindi necessario conoscere già una password. La chiave pubblica può essere inviata e resa nota a chiunque, mentre la chiave privata è quella che non deve essere condivisa con nessuno. Quando un mittente desidera inviare un messaggio, utilizza la chiave pubblica per crittografare il messaggio e lo invia e solo il destinatario con la sua chiave privata può decrittografare il messaggio.
La crittografia asimmetrica fornisce un livello di sicurezza straordinario, al punto che nemmeno la persona che ha criptato il messaggio può decriptarlo senza la chiave privata. Questo è il metodo utilizzato nelle criptovalute, ed è un tassello fondamentale nella blockchain per poter svolgere operazioni e scambiare informazioni tra pari in totale sicurezza e senza la necessità di fidarsi l'uno dell'altro.
Ibrida
È un metodo che utilizza sia la crittografia simmetrica che asimmetrica, utilizzando la crittografia a chiave pubblica per condividere una chiave per la crittografia simmetrica.
Conoscendo le basi della crittografia simmetrica e della crittografia asimmetrica, possiamo renderci conto di quale sia la loro più grande differenza. La sicurezza fornita dal primo è di livello molto basso rispetto alla sicurezza fornita dalla seconda. Tuttavia, la velocità con cui la crittografia simmetrica crittografa e decrittografa un messaggio è superiore a quella della crittografia asimmetrica. Per questo motivo nasce la crittografia ibrida.