Crittografia: un'arte millenaria
Crittografia
Negli ultimi anni si sente parlare sempre di più di crittografia nel World Wide Web.
Sappiamo che è una misura di sicurezza avanzata, tuttavia molti non sanno che la crittografia è in realtà un'arte antica.
Per crittografia si intende la disciplina che si occupa di cifrare e decifrare informazioni.
I primi sistemi crittografici
La scitala
Storicamente la crittografia veniva ampiamente utilizzata già dai tempi di Lisandro (400 a.c).
Gli efori, i supremi magistrati di Sparta, utilizzavano la scitala per comunicare con i generali impegnati in spedizioni militari.
La scitala è uno dei sistemi crittografici più antichi che rendeva impossibile la comprensione dei messaggi se intercettati dai nemici.
Fonte immagine: Wikipedia
Il funzionamento era semplice: il mittente e il destinatario dovevano avere un bastone di lunghezza e diametro uguali. Il mittente avvolgeva a spirale una striscia di pergamena attorno al bastone e scriveva il messaggio. In questo modo, una volta srotolata la striscia, il messaggio appariva come una serie di lettere senza senso. Solamente chi possedeva un bastone dello stesso diametro del mittente riusciva a riordinare le lettere avvolgendo la striscia di pergamena.
Cifrario di Cesare
Questo cifrario prende il nome, ovviamente, da Giulio Cesare, che lo utilizzava per i suoi messaggi segreti.
Viene definito come cifrario a scorrimento, poichè il sistema crittografico consiste nel far scorrere di 3 posizioni nell'alfabeto ogni lettera del messaggio.
Esempio:
C | i | a | o |
---|---|---|---|
F | l | d | r |
Nonostante fosse un sistema banale, era davvero efficace poichè non esistevano ancora metodi di crittanalisi.
I sistemi moderni
Facendo un salto ai giorni nostri, la crittografia viene utilizzata principalmente nel mondo digitale.
Qual'è lo scopo della crittografia?
La crittografia viene principalmente utilizzata per garantire la privacy .
Ma più nello specifico garantisce:
- Segretezza dei dati: i due interlocutori devono essere certi che i messaggi non siano comprensibili da terzi.
- Integrità dei dati: i dati non devono essere stati alterati nella trasmissione; si deve poter verificare che il ricevente non abbia alterato il messaggio.
- Autenticazione: Il ricevente deve poter verificare l’identità del mittente.
- Non ripudiabilità: Il mittente non può negare di essere il proprietario del messaggio
Cifrari asimmetrici
I cifrari moderni consistono in algoritmi che utilizzano una coppia di chiavi per cifrare e decifrare un'informazione.
Queste chiavi sono stringhe alfanumeriche lunghe collegate tra di loro tramite una relazione matematica.
Vengono chiamati cifrari asimmetrici perchè se un messaggio viene cifrato con una chiave, può solo essere decifrato dalla seconda.
Le due chiavi vengono distinte in questo modo:
- Chiave pubblica: accessibile a tutti
- Chiave privata: il proprietario deve tenersela stretta e non mostrarla a nessuno
Facciamo ora un esempio di utilizzo:
Luca vuole inviare un messaggio a Elisa senza che la moglie lo scopra.
Essendo Luca un esperto di sicurezza informatica, decide di cifrare il messaggio.
(Perdonate il mio pessimo gusto artistico, spero sia comprensibile come schema)
- Luca scrive l'invito a cena per Elisa e lo cifra con la chiave pubblica di Elisa. In questo modo sua moglie non è in grado di leggere il messaggio, poichè si può decifrare soltanto con la chiave privata di Elisa (Che possiede solo lei)
- Elisa riceve il messaggio e lo decifra utilizzando la sua chiave privata, ottenendo così il messaggio in chiaro.
Ora Luca è sicuro al 100% che il suo messaggio sarà letto solo da Elisa.
Ma complichiamo un po' le cose:
Come fa Elisa a sapere che il messaggio è stato effettivamente inviato da Luca? E se fosse un malintenzionato che finge di essere Luca?
Qui entra in gioco la procedura di crittografia su cui si basano il protocollo HTTPS, la firma digitale, le Blockchain (E si, le famose chiavi private e pubbliche del tuo wallet Bitcoin sono proprio quelle di cui sto parlando io)
Ragionandoci sopra, l'unico modo per essere sicuri che il messaggio arrivi da Luca è far si che nel messaggio ci sia qualcosa che soltanto lui può aver messo.. la sua chiave privata!
Se Luca cifra il messaggio con la sua chiave privata, Elisa è in grado di decifrarlo con la chiave pubblica di Luca. Se non dovesse riuscire a decifrarlo vuol dire che il messaggio non è arrivato da Luca!
Dunque, mettendo assieme la segretezza ottenuta dal primo metodo illustrato sopra e l'autenticazione di questo, si ottiene una conversazione del tutto anonima e sicura.
- Luca scrive l'invito a cena per Elisa e lo cifra con la sua chiave privata.
- Successivamente cifra ulteriormente il messaggio con la chiave pubblica di Elisa. In questo modo il messaggio è leggibile solo da Elisa.
- Elisa riceve il messaggio e lo decifra con la sua chiave privata
- Ora rimane ancora la cifratura di Luca. Elisa la decifra utilizzando la chiave pubblica di Luca. In questo modo è sicura a 100% che il messaggio è stato inviato da lui.
La crittografia ci ha permesso di arrivare a sviluppare sistemi avanzati come le Blockchain. Senza di essa non starei scrivendo su Steemit in questo momento!
molto interessante!
Congratulations @ciarmolimarco! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes received
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
This post has been ranked within the top 25 most undervalued posts in the first half of Nov 15. We estimate that this post is undervalued by $15.44 as compared to a scenario in which every voter had an equal say.
See the full rankings and details in The Daily Tribune: Nov 15 - Part I. You can also read about some of our methodology, data analysis and technical details in our initial post.
If you are the author and would prefer not to receive these comments, simply reply "Stop" to this comment.
Congratulations @ciarmolimarco! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
You got your First payout
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @ciarmolimarco! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @ciarmolimarco! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @ciarmolimarco! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Award for the number of upvotes
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
Congratulations @ciarmolimarco! You have received a personal award!
1 Year on Steemit
Click on the badge to view your Board of Honor.
Do not miss the last post from @steemitboard:
Congratulations @ciarmolimarco! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!