La combinazione segreta di RSA

Nel 1999 Christoper Chabris e Daniel Simons condussero un esperimento volto a provare la cosiddetta cecità attentiva. I due ricercatori girarono un video in cui alcuni studenti si mescolavano in un ambiente chiuso e si passavano una palla da basket. Divisi in due squadre, la metà dei ragazzi aveva indosso la maglietta bianca mentre gli altri la indossavano nera. Fu chiesto a un campione di volontari di contare i passaggi dei ragazzi vestiti di bianco.

A metà del video, che durava un minuto in tutto, compariva in scena una ragazza travestita da gorilla; si mischiava ai giocatori e, mentre loro continuavano a passarsi la palla, lei batteva le mani sul petto, dopo di che disinvoltamente si allontanava e usciva dal quadro della ripresa.

Concentrata sul conteggio, gran parte dei partecipanti all’esperimento rivelò alla fine l’esatto numero di passaggi ma dichiarò di non aver notato il gorilla. La loro attenzione si era focalizzata su un compito preciso e aveva completamente escluso uno stimolo che pure era stato visibile e inaspettato.

-Quale gorilla? – Chiesero in molti.

Non ricordavano di averlo visto.

Con il test di Chabris e Simons apparve lampante che la nostra mente, quando è impegnata in un compito specifico, tende a incanalare tutta l’energia per utilizzare al meglio la nostra attenzione che risulta dunque catturata in maniera totalizzante. Qualcosa di simile succede quando studiamo matematica: indirizziamo il nostro pensiero su un incarico che richiede molta concentrazione e, passo dopo passo, ci isoliamo nel percorso del ragionamento.

In quel periodo, che risulta più o meno lungo in relazione alla complessità del problema e all’abitudine di ciascuno a cimentarsi con i procedimenti astratti, abbiamo bisogno di riflettere da soli, sentiamo l’esigenza di dare alla mente gli strumenti per metabolizzare e per collegare le informazioni; il nostro tempo in quel contesto è scandito da un ritmo che proviene da una parte profonda di noi e che non possiamo in alcun modo forzare. 

L’articolo di oggi tratta di crittografia, in particolare indaga su quello che succede nel sistema informatico quando digitiamo il codice della nostra carta di credito per fare un acquisto on line. Dietro ogni transazione c’è un incredibile gioco di prestigio che combina sapientemente delle proprietà matematiche elementari al fine di rendere ogni operazione sicura. 

È un tema articolato che ci costringe a mettere in atto, tra l’altro, diversi tipi di competenze emotive e metacognitive. Tra queste svetta per importanza la concentrazione, seguita subito dopo dalla determinazione a procedere e da quella meravigliosa quota di caparbietà che ci consente di superare il senso di frustrazione e di rimandare la gratificazione durante le tappe del ragionamento. 

Mi sono chiesta a lungo se valesse la pena investire tanta energia in un articolo che presenterà, per forza di cose, un certo grado di oggettiva difficoltà. Dopo un ping pong di riflessioni, la mia risposta è stata questa:

non bisogna aver paura della salita. 

Ho pensato ai lettori più poetici, quelli che entrano nel blog di Buongiorno Matematica e magari cercano nei racconti un rifugio dalle brutture del mondo; saranno forse i primi a scoraggiarsi. Tuttavia, è proprio per loro che ho deciso di continuare, i lettori che si avvicinano ai numeri mediante le parole sono quelli a cui tengo di più.

Per facilitare la comprensione, ho pensato di suddividere l’articolo in tappe, che immagino come le stazioni di un lungo e bellissimo viaggio. In ogni tappa, richiamo gli argomenti che servono per la composizione finale. La questione sarà affrontata solo nel suo aspetto matematico, tralasciando sia la parte informatica che quella legata alla gestione delle reti. 

Il mio consiglio, per chi è meno abituato al ragionamento matematico ma è comunque intenzionato a viaggiare, è di leggere una stazione al giorno e di riguardarla il giorno dopo, prima di procedere con quella successiva. La mente ha bisogno di comporre il puzzle da sola, ogni minuto impiegato per la riflessione è una forma di investimento sulla nostra capacità di pensare. Prendetevi il tempo di rimuginare, tornate indietro e rileggete tutte le volte che lo ritenete opportuno. Non esiste momento migliore dell’estate per meditare, solo voi potete scegliere se proseguire o abbandonare il cammino.

Dunque partiamo; accendo la locomotiva con le dita che scalpitano mentre battono sulla tastiera. 

Vi passo il cappellino per il sole e faccio un’ultima precisazione: il motivo per cui ho scelto questo tema è che, mentre lo studiavo, mi è battuto il cuore; tutto sommato mi è parsa una valida ragione.

IL SISTEMA RSA 

A metà degli anni 70, mentre in America e in Inghilterra imperversava il Punk, tre studiosi del Massachusetts Institute of Technology dettero vita a un sistema di cifratura che avrebbe rivoluzionato per sempre le nostre abitudini. Le iniziali dei loro nomi ( Rivest, Shamir e Adleman ) sono ad oggi utilizzate per indicare uno degli algoritmi di crittografia con cui i nostri dati vengono protetti nella navigazione in internet. 

Alla base del procedimento c’è un iter di pochi passi mediante il quale ogni informazione può essere camuffata e resa irriconoscibile per essere riportata, all’occorrenza, nella sua veste iniziale. Lo scopo di questa operazione è quello di mettere i nostri dati al riparo dagli hacker o dai pirati della rete, in modo che nessuno possa usufruirne senza permesso. 

La strategia di codifica e di decodifica poggia su tre concetti che risultano, almeno nel nome, familiari alla maggior parte delle persone: i numeri primi, le divisioni con il resto, la matematica dell’orologio. 

Ci vediamo alla prima stazione, buon viaggio a tutti!

I STAZIONE: I NUMERI PRIMI

Succede, qualche volta, che in matematica una definizione molto semplice celi delle implicazioni inimmaginabili. È il caso dei numeri primi, semplicemente definiti come quei particolari numeri interi e positivi che sono divisibili unicamente per 1 e per se stessi.

2, 3 e 5 sono numeri primi perché non ammettono divisori diversi da 1 e da se stessi; 6 non è primo perché è dato dal prodotto 3×2 e ammette quindi 2 e 3 come divisori. 

Tutti i numeri che possono essere scritti come prodotto di altri numeri, pertanto, NON sono numeri primi.

A forza di dividere un numero e di trovare i suoi divisori, si arriva a una scomposizione finale che non può essere ulteriormente ridotta: i fattori che vi compaiono sono dunque fattori primi, pertanto non ulteriormente scomponibili.

A scuola ci hanno insegnato come trovare questi fattori mediante la costruzione di una semplice tabella nella quale vengono riportati il numero da scomporre e le successive divisioni.

La scomposizione in fattori viene detta fattorizzazione; conoscere i fattori di un numero significa di fatto conoscere il numero stesso; viceversa se il numero è molto molto grande e non è un numero primo, il processo di scomposizione può essere molto lungo. 

I numeri primi godono di proprietà sorprendenti, la prima delle quali è che

 ogni numero si può scrivere in modo unico come prodotto di numeri primi

Si può pensare ai numeri primi come ai mattoncini della Lego: ogni edificio si costruisce combinando un certo numero di mattoncini, ma i mattoncini stessi non sono a loro volta divisibili. 

Un’altra proprietà, dimostrata da Euclide nel III secolo avanti Cristo, è che 

 I numeri primi sono infiniti 

Tornando all’esempio del Lego, è come se avessimo un numero infinito di mattoncini di forma diversa da poter combinare a piacimento. La nostra mente non riesce a immaginarli! Pensare che esistano numeri con 1000,10000, 100000 cifre, tali da non essere divisibili per nessuno dei numeri precedenti, fa girare la testa. 

Quello che segue, per esempio, ha (solo!) 115 cifre e nessuno di noi, scritto così com’è, sarebbe in grado di leggerlo agevolmente. 

1717182839939829287647627208928032904940311189384629238464778900111891111105111188873764767161787777777126318880997

Una complicazione si aggiunge ai limiti della nostra fantasia: allo stato attuale, non abbiamo mezzi che ci permettano di sapere come i numeri primi siano distribuiti all’interno degli altri numeri: non c’è una legge che ci dica dove si trovano e come fare a individuarli. Quello che sappiamo per certo è che all’inizio sono abbastanza fitti, poi si diradano sempre più fino a diventare sporadici: ce ne sono 25 tra 1 e 100; 17 tra 401 e 500 e solamente 14 tra 901 e 1000.

Il numero primo più grande ad oggi conosciuto ha 23249425 cifre (oltre 23 milioni); non sappiamo quanto ci toccherà contare prima di trovare il prossimo, ma abbiamo la ragionevole certezza che prima o poi lo acchiapperemo. 

È il sogno che inganna l’attesa quello che spinge la nave e la fa navigare.

Un’ultima definizione prima di passare alla prossima stazione: 

Due numeri sono primi tra loro se non hanno divisori comuni, cioè se il loro Massimo Comun Divisore è 1. 

8 e 9 sono primi tra loro; 6 e 15 invece non sono primi tra loro perché ammettono 3 come divisore comune. 

II STAZIONE: LA DIVISIONE CON IL RESTO

Abbiamo visto che ogni numero, se non è primo, può essere fattorizzato. Prendiamo ad esempio 360, i cui fattori sono 2 preso 3 volte, 3 preso due volte e 5.

Se dividiamo 360 per uno di questi numeri, otteniamo un numero intero dato dal prodotto dei rimanenti. 

Che cosa succede, invece, se dividiamo un numero per un altro numero che non è tra i suoi fattori e che non è nemmeno dato dal prodotto di alcuni di questi? 

Semplicemente otteniamo un resto. 

Se a e d sono due numeri interi ( e d è diverso da zero), possiamo sempre dividere a per d. Genericamente, otteniamo un risultato q che viene chiamato quoziente e un resto r che, ovviamente, è più piccolo di d.

Se a è multiplo di d, allora la divisione non ha resto e r = 0. 

In generale, possiamo scrivere:

 a = d q + r 

L’idea del resto, per forza di cose, è legata a qualcosa che avanza: uno spicciolo che inseriamo nel portafoglio dei pensieri quando l’operazione non è esatta.

Esiste, invece e sorprendentemente, una branca dell’aritmetica che fa del resto il suo oggetto principale: accantona il risultato e considera la parte in esubero per costruire nuove relazioni e indagarne le proprietà.

I risultati e le applicazioni di questo ambito sono incredibilmente fertili. 

L’idea è quella di considerare un numero qualsiasi, per esempio 9, e di raggruppare, corrispondentemente, i numeri che si possono ottenere come resto dalle divisioni per 9. 

Rallento la velocità e scalo la marcia su questo argomento perché tutti possano guardarlo da vicino come si fa in un sentiero di montagna quando si incontra una stella alpina. Il discorso che facciamo per il numero 9 può essere fatto per ogni numero positivo.

Quando dividiamo un numero qualsiasi per 9, se il numero non è un multiplo di 9 otteniamo un resto. Se cambiamo numero, ovviamente può cambiare il resto. L’insieme di tutti i resti che si possono ottenere dalle divisioni per 9 viene indicato con il simbolo ℤ9  (si legge proprio zeta 9) e si chiama ‘Classe di resto modulo 9’.

9 contiene, per esempio, il resto di 326: 9, di 127:9, di 573:9.

Ciascuno di questi valori è un numero compreso tra 0 e 8 (se fosse un numero maggiore o uguale a 9, la divisione potrebbe proseguire e il resto sarebbe un altro); ℤ9 è quindi l’insieme formato dai numeri ⦗0,1,2,3,4,5,6,7,8⦘. 

Come si fa per il 9, si può creare la classe di resto di ogni numero intero n: questa conterrà genericamente i resti delle divisioni per n. È possibile definire, in ogni classe di resto, le ordinarie operazioni dell’aritmetica: somma/sottrazione e moltiplicazione/divisione. 

Torniamo per comodità in ℤ9, ci domandiamo per esempio come calcolare il prodotto tra due suoi elementi. 

Al centro dell’interesse c’è sempre il concetto di resto: presi due elementi qualsiasi in ℤ9, si calcola il loro prodotto in modo ordinario e si considera il resto ottenuto dalla divisione del risultato per 9. Per esempio, per trovare in ℤ9 il valore di 5⋅4, si calcola prima la moltiplicazione 5⋅4 = 20 e poi si ricava il resto della divisione tra 20 e 9. Il risultato è quindi 2.

Quella in figura è una tabella che contiene tutti possibili prodotti tra gli elementi di ℤ9 (per comodità è stato omesso lo zero).

TABELLA DEI PRODOTTI IN Z9

Siamo quasi pronti per passare alla stazione successiva, è però necessario fare prima un’osservazione che tornerà molto utile in seguito. 

Quando il risultato della moltiplicazione tra due numeri in ℤn è 1, si dice che i due numeri sono l’uno l’inverso dell’altro. Per come abbiamo definito la moltiplicazione, questo significa che due numeri sono l’uno l’inverso dell’altro se il loro prodotto, diviso per n, dà resto 1.

Tornando alla tabella di ℤ9, si può notare che, escludendo 1, ammettono un inverso solo i numeri 2,4,5,7,8 ( l’inverso di 2 è 5, l’inverso di 4 è 7, l’inverso di 8 è ancora 8): sono tutti numeri primi con 9 (cioè non ammettono divisori comuni con 9).

Ecco dunque un’importante proprietà che sarà fondamentale nella costruzione finale: 

Ammettono inverso in n, tutti e soli i numeri che sono primi con n , cioè quelli il cui massimo comune divisore con n risulta essere uguale a 1

III STAZIONE: L’ARITMETICA DELL’OROLOGIO 

Consideriamo un semplice orologio a lancette. Lasciamo perdere la lancetta lunga dei minuti e fissiamo l’attenzione su quella corta delle ore. 

Ci posizioniamo sul numero 10 e lasciamo passare il tempo. Dopo un’ora la lancetta è sull’11, dopo due ore è sul 12 e dopo 3 ore…è sul numero 1! Siamo così abituati a questo meccanismo che ci sembra del tutto normale: nella logica dell’orologio, l’operazione 12+1 dà come risultato 1. Qual è allora il principio che si nasconde sotto questo marchingegno? 

Possiamo facilmente dedurlo se immaginiamo di posizionare la lancetta sul 12 e di contare, per esempio, 124 ore. Cerchiamo di stabilire, senza percorrere il quadrante passo per passo, dove sarà la lancetta allo scoccare della 124-esima ora.

A questo scopo, più o meno consapevolmente calcoliamo la divisione 124:12. 

Il risultato è 10 con resto 4. Nel corso delle 124 ore, abbiamo quindi fatto 10 giri e siamo scattati in avanti di quattro tacche. La lancetta è dunque posizionata sul resto della divisione per 12.

L’orologio funziona  quindi sul meccanismo del resto: il quadrante è diviso in 12 parti e vi sono 11 possibili resti; dopo un giro completo la lancetta torna sul 12, si ha un multiplo dell’ora e il resto è zero. 

Con un piccolo sforzo di astrazione, possiamo far volare la fantasia e immaginare orologi con un numero qualsiasi di ore: il principio rimane lo stesso, le meraviglie invece aumentano.

Pierre di Fermat, un matematico del periodo di Cartesio, trovò nel XVII secolo una proprietà inaspettata: se immaginiamo di avere un orologio che ha un numero primo di ore, p, e posizioniamo la lancetta su un certo valore x, possiamo affermare che dopo un numero di passi, dato da x p , la lancetta sarà di nuovo su x.

Per esempio, se l’orologio ha 19 ore (19 è un numero primo) e la lancetta si trova sul 2, dopo 219 scatti si troverà di nuovo nella stessa posizione. Moltiplicando 2 per sé stesso 19 volte, otteniamo un valore che corrisponde, sull’orologio a 19 ore, di nuovo al numero 2.

Che cosa avrà pensato, Pierre De Fermat, quando si è trovato davanti un risultato tanto suggestivo? E quale magia aleggia sui numeri primi per rendere la loro singolarità tanto diffusa? Compaiono in situazioni inaspettate, apparentemente fuori contesto, e fanno dell’eccezione una favolosa forma di armonia. Si ha la sensazione, quando ci si imbatte in questo genere di sorprese, che qualcosa di divino accompagni i numeri primi; un mistero che non riusciamo ad afferrare e che ci illumina dall’alto con le sua potenza educata, come se le cose più belle della vita non fossero urlate, ma inspiegabilmente sussurrate. I numeri primi sono un invito al silenzio, un inno alla profondità; sono la traccia di un’impronta sulla sabbia che scompare senza darci il tempo di capirla per intero: qualsiasi cosa abbiamo letto è solo una parte della verità. 

Un secolo dopo a Fermat, Leonardo Eulero trovò una generalizzazione della sua scoperta. Eulero considerò orologi il cui numero di ore non era semplicemente un numero primo, ma era dato dal prodotto di due numeri primi (È bene precisare che prodotto di due numeri primi NON è a sua volta un numero primo, in quanto è divisibile per entrambi).

Prendiamo quindi un numero n dato dl prodotto dei due primi p e q: 

 n = p

e immaginiamo un orologio che ha n ore sul quadrante. 

Posizioniamo la lancetta su un numero x qualsiasi, poi cominciamo a farla girare.

Eulero scoprì che su un orologio di questo tipo, la lancetta sarebbe tornata su x dopo un numero di passi dato da (p-1)(q-1)+1, cioè per questo valore della potenza di x:

x (p-1)(q-1)+1 

Quindi, nella dinamica dell’orologio:

x (p-1)(q-1)+1= x  

Il resto che si ottiene dividendo x(p-1)(q-1)+1 per n è lo stesso di quello che si ottiene dividendo x per n.

Eulero e Fermat non avrebbero mai potuto sospettare che i loro risultati sarebbero stati utilizzati, molto tempo dopo, per garantire la sicurezza di operazioni che allora sarebbero apparse semplicemente inconcepibili.

Al di là dei mezzi più moderni, rimane il fatto che la crittologia è una forma di sapere antica come l’uomo. La possibilità di celare messaggi sotto false scritture per ingannare tutti tranne uno è, da sempre, evidentemente importante; essenziale come la strategia d’attacco in una battaglia e accattivante come il segreto nascosto in una lettera d’amore.

COMPOSIZIONE FINALE: L’ALGORITMO PER CRIPTARE E DECRIPTARE

Siamo giunti al momento cruciale di questo lungo articolo. Nelle prossime righe tutte le nozioni che abbiamo visto saranno utilizzate in un collaborativo scambio di funzionalità e produrranno, insieme, un’applicazione geniale.

Le mosse che vogliamo spiegare rendono possibili delle operazioni come quella che viene illustrata di seguito. 

Supponiamo che vogliate comprare una maglietta su internet. Mediante la tastiera scegliete il modello, il colore, la taglia e poi digitate il numero della vostra carta di credito. Nel sistema informatico succede qualcosa: il numero viene in qualche modo camuffato con dei calcoli che, per essere sicuri, devono essere molto semplici da eseguire e quasi impossibili da violare in tempi brevi. Così contraffatto, il numero della carta viaggia nella rete fino al sito dell’azienda, la quale deve essere in grado di recuperare velocemente il codice originale per prelevare i soldi della maglietta dal vostro conto. 

Ecco, per tappe, che cosa succede. A seguire trovate un esempio numerico.

  1. Il sito dell’azienda prende due numeri primi molto grandi: p e q, che tiene segreti ( p e q hanno entrambi un centinaio di cifre)
  2. Il sito dell’azienda calcola il prodotto tra p e q, che chiama N.  Il numero N è reso pubblico e verrà trasmesso al momento opportuno.

N = p q

Osserviamo che, conoscendo N, è estremamente difficile risalire al valore di p e q. Si tratta di un’operazione di fattorizzazione che richiede, vista la grandezza delle cifre, tempi molto lunghi (stazione 1)

3) In modo ideale, possiamo immaginare che l’azienda si avvalga di un enorme orologio con N ore. 

Il gioco di prestigio alla base del travestimento e del recupero del numero, utilizza l’aritmetica dell’orologio e il teorema di Eulero.

4) Il sito dell’azienda calcola il valore b dato dal prodotto che segue 

 b = (p-1) ⋅(q-1)  

Il numero b viene tenuto segreto (per comodità lo chiamiamo numero di Eulero)

5) Il sito dell’azienda costruisce i numeri che servono per la fase di codifica e di decodifica. Questi numeri sono legati tra loro, uniti da relazioni di utilità reciproca che possono essere comprese del tutto solo alla fine, quando i giochi sono fatti. Quelli che seguono sono dunque passaggi delicati che chiedono un iniziale atto di fiducia, oltre che un collegamento con le nozioni che richiamano. Leggete lentamente, se occorre fermatevi e ripartite. Vengono usati direttamente i risultati della stazione n. II.

  • SI CREA IL NUMERO PER LA CODIFICA: il sito dell’azienda calcola il numero E come il primo intero che sia primo con b.

Dato che E è primo con b, è invertibile: esiste un numero D tale che il prodotto tra E e D, diviso b, dà resto 1.

Cioè la divisione tra E⋅D e b produce un certo quoziente Z e avanza 1. Tra i numeri primi con b, abbiamo preso quello più piccolo, per il quale il quoziente Z è 1. 

 E D : b = 1, con resto 1

Si può scrivere anche: ED = b+1 (stazione II). 

Cioè, dato che b è il numero di Eulero:

ED =(p-1) ⋅(q-1) +1.

  • Il NUMERO D (che l’azienda tiene segreto) verrà USATO PER LA DECODIFICA.

I numeri E e D sono stati costruiti ad arte per essere utilizzati, in successione, come esponenti del numero da camuffare (cioè il numero della carta di credito). Il Numero E ( che è pubblico, visibile a tutti) codifica, cioè modifica il numero della carta in modo da renderlo irriconoscibile; il numero D (privato) decodifica: è stato costruito in modo da sfruttare il teorema di Eulero, sapendo cioè che la sua moltiplicazione con E avrebbe fornito l’esponente di Eulero che consente di tornare alla base.

6) Operazione di codifica: il numero della carta di credito, m, viene elevato alla potenza E. Chiamiamo C il risultato

 c= mE   numero codificato

Il numero mE viene inserito nell’orologio ideale di N ore

La lancetta si posiziona sul resto della divisione tra mE e N. Questo valore (cioè il resto) è quello che naviga in rete, nascosto nella sua nuova forma. Un hacker che ne entrasse in possesso, avrebbe serie difficoltà a decifrarlo. Dovrebbe ricavare il numero m alla base dell’esponente, non sapendo quanti giri ha accumulato la lancetta prima di fermarsi su quel resto. 

L’unico modo per recuperare il valore di m è utilizzare gli

(p-1) ⋅(q-1)+1 passi

del teorema di Eulero (ricordiamo che x (p-1)(q-1)+1= x ). Lo scopo, pertanto, è fare in modo che il numero di Eulero diventi l’esponente di m.

Gli esponenti E e D sono stati creati proprio con questo intento: per codificare l’azienda mette come esponente di m quel numero E che abbia un inverso D nella divisione per b (il prodotto tra E e D dà quindi luogo al numero di Eulero).

7) Decodifica.

Per decodificare e recuperare il numero della carta (e prelevare quindi i soldi dal conto), l’azienda mette alla potenza mE l’esponente D.

Si calcola  C D , cioè si eleva il numero C alla potenza D e si inserisce  questo valore nell’orologio. Otteniamo il resto della divisione tra  C D ed N, che corrisponde ad m, cioè al numero originale della carta di credito.

Facciamo un esempio pratico in cui vengono applicati i 7 passi dell’operazione complessiva. A differenza di quanto accade nella realtà, prendiamo due numeri primi p e q molto piccoli (l’esempio altrimenti diventerebbe impraticabile)

  1. L’azienda sceglie due numeri primi, per esempio

p= 5, q=7 

che tiene segreti.

2) viene calcolato il valore N =  p ⋅ q 

 N= 5⋅ 7 = 35

35 viene reso pubblico.

3) 35 è il numero di ore dell’orologio ideale (non esiste fisicamente!) a cui ci si appoggia per la spiegazione.

4) Il sito dell’azienda calcola il valore b dato dal prodotto che segue 

 b = (5-1) ⋅(7-1)  

b= 4 ⋅ 6 = 24

24 è il numero di Eulero (viene tenuto segreto)

5) Si costruiscono i numeri di codifica e decodifica. 

Il sito dell’azienda calcola il primo intero E che sia primo con 24, che non abbia, cioè, divisori in comune con 24.

Nel nostro caso, 

E = 5

Il valore di E servirà per la codifica e viene reso pubblico.

Si calcola poi il valore di D, inverso di E nella divisione per 24.

D è quel numero che, moltiplicato per E e diviso per 24, dà resto 1:

D ⋅ 5 diviso 24 deve dare resto 1

Troviamo quindi 

D = 5

( Infatti 5 ⋅ 5 = 25  e  25 : 24 = 1 con resto 1)

Il valore di D viene tenuto segreto perché servirà per la decodifica.

6) Codifica. Prendiamo il numero della carta di credito m. Per comodità supponiamo in questo caso che sia semplicemente di una cifra.

Prendiamo per esempio m=3 

L’azienda trasforma il numero m in mE  e chiama C il risultato.

Nel nostro caso C =  35 , cioè C = 243

Questo valore viene inserito nel calcolatore a orologio di 35 ore. 

La lancetta si posiziona sul resto della divisione 243: 35, cioè sul 33. 

33 è il numero in codice corrispondente a 3. Un hacker che lo intercettasse in rete, leggerebbe 33 e dovrebbe risalire a 3. 

7) Decodifica

L’azienda calcola Ccioè 335 e inserisce questo valore nell’orologio di 35 ore.

Il resto della divisione tra 335 e 35 è m, proprio il numero della carta di credito. 

Adesso l’azienda può entrare nel vostro conto e prelevare i soldi della maglietta. Finalmente avete fatto il vostro acquisto. Quanti argomenti sono stati utilizzati, quanta matematica astratta per ottenere un risultato così concreto!

Le scoperte del passato sono servite nella nostra modernità, mi piace sperare che la nostra società, quella contemporanea, sia in grado di produrre frutti utili in futuro.

Così siamo giunti a destinazione, abbiamo finito ed è il momento dei saluti.

Se siete arrivati a questo punto, avete certamente una determinazione di ferro e una resistenza da eroi. Mi rivolgo dunque ai pochi (pochissimi!) superstiti, a cui offro volentieri un caffè e una brioche per rifocillarsi dal viaggio: l’avete visto il gorilla?

——————————————————-Buone vacanze a tutti—————————————————————————————————————————————————————————- ———- ——– —- — — — – – – – – – – – –

Potrebbero interessarti anche...