Io odio gli sms.
Doveva essere un articolo celebrativo agli SMS, un bel tributo alla loro storia. Ci ho provato, davvero. Ho scritto, riscritto e cancellato decine di volte. Ma sai una cosa? Sti cosi non meritano belle parole, io ho solo epiteti miserabili per loro. Vada a quel paese chi li preferisce a WhatsApp o Telegram. Gli SMS sono il male puro! Il dinosauro dei messaggi, il Majin Bu di Dragonball, il Barbanera di One Piece...
Non sono impazzito, te lo giuro. La mia sfuriata contro gli SMS non è frutto di un capriccio, ma di pura oggettività. Hai mai sentito qualcuno dire (spesso i più anziani, pensa a tuo padre) “Se devo mandare un messaggio importante, lo faccio con un SMS. WhatsApp non mi dà fiducia.” Ecco, mai sentita cazzata più grande. Gli SMS sono l’homo sapiens della messaggistica: un modello primitivo, basilare, pieno di falle e facile da violare. Per capirci, se invii un SMS hot al tuo partner… basta un giovane smanettone (parola scelta non a caso) per far sì che, in men che non si dica, abbia accesso alla foto del tuo gattino. Quello che voglio dirti è che la tecnologia ha fatto passi da giganti per evitare simili incidenti. Quindi oggi non parlerò di come funziona quel sistema anacronistico… ma la domanda a cui risponderò è “Come si protegge un messaggio scritto?”
La Crittografia (la nostra vera protagonista)
La crittografia, dal greco kryptos (“nascosto”) e graphia (“scrittura”), è l’arte di nascondere messaggi rendendoli comprensibili solo a pochi eletti. Per farla breve: è come il linguaggio segreto che usate tu e il tuo migliore amico quando incontrate una bella ragazza. Il metodo utilizzato per camuffare il messaggio prende il nome di “tecnica di cifratura”, e no, non è così complicato come sembra. Esempio banale per non mandarti il cervello in fumo: prendi la parola “cane” e decidi di criptarla sostituendo ogni lettera utilizzata con la sua successiva nell’alfabeto, il risultato sarà, quindi, “dbof”. Facile, no? Se hai capito il gioco prova a decriptare (fare il processo inverso) la seguente parola “qjtfmmp”. Oggi, le app di messaggistica più evoluta implementano sistemi crittografici sempre più complessi, garantendo maggiore sicurezza (e privacy!) nello scambio di messaggi. Nei prossimi paragrafi leggerai un po’ di stori della crittografia e, soprattutto, scoprirai uno dei modelli più significativi di tecnica di cifratura.
Storia Della Crittografia
La crittografia ha origini antiche e nobili (più o meno). Pensate che Giulio Cesare la usava per inviare messaggi ai suoi legionari: un modo geniale per evitare che le forze nemiche capissero i suoi piani. O almeno, questa è la versione ufficiale. Io sono convinto che servisse più per scambiarsi messaggini segreti con gli amanti, molto più realistico!
I romani utilizzavano un metodo che prende il nome di cifrario di Cesare, ed è proprio l'esempio che hai visto prima: sposta le lettere di qualche posizione nell'alfabeto e voilà, il tuo messaggio è nascosto. Il legionario incaricato di consegnare il messaggio portava con sé anche il "numero magico" da usare per decifrare tutto. Un metodo abbastanza pratico, ma oggi giorno inefficace... basterebbe un semplice computer e un piccolo programma implementato per rendere il cifrario fuffa. Avanti veloce di qualche secolo, ed ecco un crossover che nessuno si aspettava: la crittografia moderna inizia con Leon Battista Alberti. Si, proprio lui, quello del De Pictura. Oltre a fare il sapientone nell'arte, ha messo giù le basi per sistemi di cifratura più avanzati. Ma tranquillo, non voglio sommergerti con dettagli storici che dimenticherai entro stasera (probabilmente non ricordi nemmeno che hai mangiato a colazione). Ti voglio raccontare solamente un’ultima cosa, prima di passare all’ultimo paragrafo. Durante la seconda Guerra Mondiale, un gruppo di cervelloni guidati da Alan Turing (padre dell’informatica e antenato di Sheldon Cooper) riuscì a decifrare i messaggi scambiati dalla marina tedesca. Fu grazie a questa mossa che gli Alleati riuscirono a sconfiggere la Germania nel 1941 col famoso sbarco in Normandia. Ebbene sì, dietro la storia c’è la matematica.
Dopo questo evento tutti capirono il reale potenziale dei sistemi crittografici, l’obiettivo non era più l’uso bellico… ma rendere privati e protetti i messaggi delle persone. In questo modo nacque la RSA, uno dei primi sistemi che ci permette di scrivere ai nostri amici senza farci leggere da quel ficcanaso del vicino di casa.
Crittografia Ad RSA
Correva l’anno 1977 quando Ronald Rivest, Adi Shamir e Leonard Adleman crearono il primo esempio di crittografia a chiave asimmetrica (RSA). Il loro obiettivo era quello di costruire un algoritmo che potesse garantire l’accesso alle informazioni tecnologiche solo alle persone autorizzate.
Il sistema crittografico citato si basa sull’esistenza di una chiave pubblica e una privata (distinte tra loro) che vengono utilizzate per criptare e decifrare. Le chiavi vengono create con numeri molto elevati in modo da non poter permettere di ricavarle l’una con l’altra, di seguito un esempio di crittografia a RSA e scelta delle due chiavi: Supponiamo che Alice deve inviare un messaggio a Bob (solitamente si utilizzano questi due nomi, non so il motivo ma piacciono anche a me), lei cercherà su un elenco (come quando nonna cercava il numero di zia Concetta sulle pagine gialle) la chiave pubblica di Bob e cripterà il messaggio secondo le istruzioni trovate. In questo modo il messaggio inviato viaggerà e sarà accessibile a tutti, ma nessuno riuscirà a decriptarlo e leggerne il vero contenuto. L’unico in grado di poterlo leggere sarà Bob con la sua chiave privata.
Un esempio di chiavi generate è dato dal seguente algoritmo (userò numeri primi molto piccoli in modo da rendere il conto semplice ed efficace):
- Scelgo p=2 e q=5
- Calcolo il loro prodotto e la loro funzione di Eulero ((p-1)*(q-1)): n=5*2=10 e j=1*4=4
- Scelgo successivamente un numero coprimo con j e più piccolo di esso (chiamato esponente pubblico), io sceglierò i=3
- Calcolo infine l’esponente privato attraverso l’aritmetica modulare e lo chiamerò d
- La chiave pubblica ottenuta è (n,e), la privata (n,d)
Nota bene, la funzione di Eulero non è altro che una relazione che associa ad ogni numero intero il numero dei numeri coprimi ad esso (scusa il gioco di parole). Per farti capire: pensa al numero 5, i numeri coprimi ad esso sono 1, 2,3 e 4 allora ha funzione di Eulero=4. Nulla di più semplice.
Il viaggio qui è finito, è stato un piacere averti avuto con me. Spero che sia chiaro il motivo per cui odio gli SMS. Hanno un problema… e quel problema è la mancanza di un sistema crittografico. Quindi sei pregato di dire a tuo padre che la lista della spesa da fare alla Conad è più sicuro scriverla su WhatsApp che via SMS. Ti voglio bene mio lettore!