martedì 1 novembre 2011

Neutrini superluminali

Il 23 settembre di quest'anno viene annunciato un risultato sperimentale molto particolare nell'ambito del progetto denominato OPERA (Oscillation Project with Emulsion-tRacking Apparatus), una collaborazione tra il CERN di Ginevra e i Laboratori Nazionali del Gran Sasso. Si tratta di una misura di velocità eseguita su un fascio di neutrini, prodotto al CERN da SPS (Super Proton Synchrotron) e focalizzato verso il rivelatore di OPERA, a circa 730 chilometri di distanza. La particolarità del risultato consiste nel fatto che il tempo di volo misurato è inferiore a quello che ci si aspetterebbe da un fascio di luce che percorra la medesima distanza nel vuoto. I dati dell'esperimento sono di per sè impressionanti, come tutti quelli che riguardano la fisica delle particelle elementari: l'anticipo misurato rispetto ai fotoni è di 60 nanosecondi, ben al di sopra dell'errore sperimentale di misura dichiarato dagli sperimentatori che è di circa un nanosecondo.

C'è un comprensibile scetticismo in merito a questo risultato. Al momento ci sono critiche sia sul piano sperimentale che su quello teorico. Le prime puntano soprattutto su possibili errori nella misura del tempo di volo, dovuto alla difficoltà di stabilire una perfetta sincronizzazione tra gli orologi del CERN e dei Laboratori del Gran Sasso (ci potrebbero essere effetti di relatività generale non presi correttamente in considerazione). Le critiche teoriche più importanti sembrano invece quelle portate da Cohen e Glashow, i quali sostengono che gran parte dei neutrini superluminali dovrebbero perdere energia in maniera consistente per un'intensa emissione di coppie elettrone-positrone. Questo non è stato misurato dall'esperimento di OPERA.

La notizia ha fatto scalpore per la sua portata rivoluzionaria ed è uscita rapidamente dal circuito degli addetti ai lavori per approdare più o meno su tutti i giornali. A me personalmente ha ispirato un paio di domande e di relative letture o riletture. In questo post mi limiterò a riportare solo la prima domanda, rimandando la seconda ad un'altra occasione.

Perchè questo risultato, ovvero il fatto che qualcosa (in questo caso i neutrini) superino la velocità della luce mette in crisi totale la relatività di Einstein? E' stato divertente tornare a leggere qualche vecchio testo di fisica, soprattutto perchè in questo caso non si tratta di imbarcarsi nei formalismi della teoria ma di fermarsi semplicemente alle questioni di principio da cui la teoria muove i suoi primi passi.

Ecco i principi da cui discende la teoria della relatività (ristretta):
1. Tutte le leggi della fisica devono essere le stesse in tutti i possibili sistemi di riferimento inerziale.
2. Il valore costante della velocità della luce nel vuoto è una legge fisica.
Il primo punto viene chiamato principio di relatività e ribadisce quanto noto già ai tempi di Galileo. Se si passa da un sistema di riferimento inerziale ad un qualunque altro la forma delle leggi fisiche non cambia. Dal momento che c'è di mezzo una trasformazione di coordinate significa sostenere che tutte le leggi della fisica per essere tali devono poter essere scritte in una forma invariante per trasformazioni di coordinate che fanno passare da un sistema di riferimento inerziale ad un altro. Il vero problema posto dalla relatività di Einstein è: "quali sono queste trasformazioni di coordinate?"
Il secondo punto è un'assunzione coraggiosa di Einstein, supportata da risultati sperimentali, secondo la quale la velocità della luce nel vuoto ha sempre lo stesso valore qualunque sia la velocità relativa della sorgente e dell'osservatore e qualunque sia la regione spaziale e la direzione in cui viene eseguita la misura.

La cosa veramente fondamentale è l'aver riconosciuto che tra il principio di relatività e la legge di propagazione della luce, nonostante le apparenze, non esiste la minima incompatibilità e che attenendosi sistematicamente ad essi si può pervenire ad una teoria logicamente ineccepibile.

Quello che risulta subito chiaro però è che le usuali trasformazioni di coordinate per sistemi di riferimento inerziali utilizzate fino a quel momento dalla meccanica Galileiana e Newtoniana non sono più accettabili e ne vanno formulate di nuove. La domanda che si fa Einstein è la seguente: "in che modo possiamo trovare il tempo e il luogo di un evento rispetto ad un riferimento K' quando ne conosciamo il tempo e il luogo rispetto al riferimento K? Si può pensare di dare una risposta a questa domanda tale che, tenuto conto di questa risposta, la legge di propagazione della luce nel vuoto non contraddica il principio di relatività?" La risposta sono le famose trasformazioni di Lorentz. Queste ci dicono però in modo evidente due cose: 1. l'apparente contraddizione tra velocità della luce assoluta e principio di relatività viene sostituita dalla reale contraddizione tra quest'ultimo e il concetto di tempo assoluto; 2. per come compare in queste trasformazioni di coordinate, il valore della velocità della luce (che assume il significato di costante universale) è un limite superiore, al di sopra del quale le trasformazioni non hanno più senso.

Come se non bastasse gli sviluppi appena successivi della teoria mettono in evidenza una relazione tra massa e velocità, sconosciuta alla meccanica classica, che porta la massa all'infinito in corrispondenza della velocità della luce nel vuoto. Questo non solo rende insensate, all'interno della teoria, le velocità superiori a quelle della luce ma anche solo le velocità pari ad essa per corpi massivi (infatti il fotone, quanto di luce, ha massa nulla).

Alcuni testi formulano in maniera più generale il secondo principio da cui parte la relatività ristretta postulando l'esistenza di una velocità limite di propagazione delle interazioni, mostrando poi che questa velocità è anche la velocità di propagazione della luce nel vuoto, e sottolineandolo come l'elemento cruciale di distinzione con la meccanica classica, la quale presuppone di fatto l'ipotesi che le interazioni si propaghino istantaneamente. I risultati della meccanica classica si ottengono da quelli della meccanica relativistica nel limite di interazioni istantanee.

Dopo questa rinfrescata di teoria il risultato sperimentale che rivela l'esistenza di corpi massivi superluminali appare veramente inconciliabile con la teoria della relatività, e non con un suo qualche aspetto più o meno importante, bensì con i suoi fondamenti.

giovedì 13 ottobre 2011

Dennis M. Ritchie (1941 - 2011)

Una cosa che mi stupisce sempre frequentando persone che si occupano di tecnologie informatiche per motivi di lavoro e non solo, è il constatare spesso una quasi totale mancanza di conoscenze storiche, a volte unita anche ad un certo più o meno ostentato disinteresse. Capisco che l'informatica sia un settore della conoscenza relativamente giovane ma ormai conta un bel numero di eccellenti menti scomparse. Poi la storia è sempre uno strumento utile per costruirsi le prospettive e gli elementi di giudizio nei confronti di una qualsiasi attività umana. E' un aspetto che dà spessore alla disciplina di cui ci si occupa. Quindi non riesco proprio a capire come si possa avere una passione per l'informatica senza coltivare l'interesse per il suo passato.

A dire il vero credo che molti, che pure si definirebbero degli appassionati, non abbiano nemmeno chiaro che l'informatica abbia un passato, o almeno che ne abbia uno che vada al di là dei primi computer casalinghi che hanno invaso le nostre case negli anni ottanta. Ecco, probabilmente la storia dell'informatica per molti coincide con quella dell'elettronica di consumo, nasce con i primi dispositivi che abbiamo potuto comprare in negozio. E continua ad essere così ancora adesso. I commenti spropositati alla morte del co-fondatore della Apple sono un episodio emblematico. I "grandi contributi" all'informatica che vengono riconosciuti a Steve Jobs passano in gran parte per quei tre o quattro bellissimi oggetti elettronici di larghissimo consumo che negli ultimi anni siamo tutti andati a comprare. L'informatica di cui siamo appassionati sta tutta lì, non esiste quasi nient'altro.

Probabilmente tutto ciò è normale, ma una prospettiva così distorta sulla tecnologia, le sue idee e il suo valore culturale mi danno parecchio fastidio. E' come dirsi appassionati di scienza guardando Voyager in TV. O dirsi appassionati di musica ascoltando solo la programmazione "orientata" di qualche radio commerciale.

Oggi ho letto della morte di Dennis Ritchie, padre del sistema operativo Unix e del linguaggio di programmazione C. Premio Turing 1983 e National Medal of Technology 1998. Sarebbe interessante ricostruire la storia del suo lavoro e quello dei suoi colleghi Ken Thompson e Brian Kernighan.

venerdì 7 ottobre 2011

Steve Jobs (1955 - 2011)

Ero in macchina diretto in ufficio, avevo già sentito due o tre volte la notizia della morte di Steve Jobs, grande industriale dell'informatica, fondatore di Apple. Nei giorni successivi, sebbene distrattamente, ascolto e leggo dichiarazioni eccessive su di lui, vedo manifestazioni di pura idolatria. Niente di interessante.

Ma quella mattina in macchina ascoltando la radio mi capita di sentire forse l'unico commento che mi ha veramente colpito, anche se molto breve, fatto da uno di cui non ho sentito il nome, presentato se non ricordo male come un "filosofo della tecnologia". Definisce Jobs in modo sintetico come "uno che ha messo la tecnologia in oggetti riconoscibili esteticamente". Mi stavo proprio domandando, al di là del suo indubbio carisma e del suo talento come imprenditore, cosa avesse fatto di così particolare per riuscire a diffondere in modo così capillare e veloce tutta una serie di dispositivi elettronici di uso personale. Questa mi è sembrata una buona risposta.

Il filosofo allarga il discorso, include Bill Gates e un po' tutta la rivoluzione del personal computing, sfociata appunto in dispositivi sempre più "personal", e conclude osservando che una conseguenza insolita e forse inaspettata di questa rivoluzione è stata quella di indurre una gran massa di persone ad utilizzare nuovamente la scrittura come forma di espressione e di comunicazione. Penso ai miei post su questo blog, ai commenti su facebook, agli ormai quotidiani messaggi di posta elettronica, alle innumerevoli chat, ...

Rimane solo da osservare che questi dispositivi, altamente tecnologici, facili da usare e belli da possedere, sono i dispositivi finali della rete Internet, la vera infrastruttura tecnologica di comunicazione. Che nessun "Grande Uomo" ci ha regalato. Fortunatamente.

mercoledì 7 settembre 2011

"Io alla Storia non ci credo"

Mio figlio quest'anno frequenterà la terza elementare. Mi pare di capire che a partire da adesso lo studio di alcune materie sarà un po' più strutturato ed approfondito. In particolare credo che comincerà ad affrontare in qualche misura lo studio delle civiltà del passato. Come dicono i programmi ministeriali "a partire dal terzo anno della scuola elementare, si avvierà uno studio che progressivamente porti il fanciullo dall'interpretazione della storia del suo ambiente di vita alla storia dell'umanità e, in particolare, alla storia del nostro Paese".

Credo che dal punto di vista didattico la cosa più difficile sia quella di fargli capire la sostanziale differenza tra una storia raccontata e la ricerca storica vera e propria. Eppure mi pare una cosa essenziale, sin da subito, sin da questa età (comunicandola in modo appropriato, ovviamente). Il pericolo è quello di prendere i fatti storici da studiare a scuola negli anni successivi come una serie di raccontini più o meno interessanti, da leggere su un libro, che è quello che ti hanno fatto comprare. Credo che si tratti di un pericolo concreto, con il quale più o meno tutti noi abbiamo fatto i conti.

Devo dire che quello che mio figlio ha fatto a scuola fino a questo momento sembra promettente. Un giorno tra i compiti da svolgere ce ne era uno che lo invitava a ricostruire la storia della sua infanzia (quella di cui non si ha memoria) facendo domande agli adulti e cercando tra i suoi vecchi giocattoli, gli oggetti usati quando era neonato e ovviamente le fotografie e i filmati. L'idea non era niente male e penso puntasse a far capire il concetto di fonte storica, di reperto storico, per ricostruire avvenimenti del passato di cui non abbiamo avuto (o non conserviamo nella memoria) un'esperienza diretta.

Un concetto da trasmettere che mi sembra cruciale è quello dell'estrapolazione degli avvenimenti a partire dalle fonti, quello della ricostruzione storica, e soprattutto di quanto questa cosa possa essere incerta e soggetta a cambiamento. Non è detto che gli antichi egizi fossero proprio così come li racconta il libro che ho davanti, e questo credo sia importante da tener presente. In relazione alle fonti che ho posso fare solo una serie di ipotesi più o meno plausibili. Certamente un bambino impara attraverso racconti ben definiti ma se deve imparare la Storia è necessario che capisca subito che tutto può essere reinterpretato, riletto diversamente. L'essenza della ricerca storica e della storia stessa è questo. Si tratta di una ricostruzione plausibile a partire da fonti, non di un racconto.

Tanto per prendere un argomento di grande fascino per tutti i bambini: i dinosauri erano proprio così come li troviamo descritti nei libri e nei film? Ma sono esistiti veramente? E come facciamo a saperlo? Un bambino tipicamente tende a non distinguere un dinosauro da un drago, o meglio, tende a considerarli reali entrambi. Quello che sospetto è che se non impara a fare delle distinzioni il prima possibile un giorno tenderà a considerarli (magari inconsciamente) entrambi irreali. Eventualmente tenderà a conservare un vago principio di autorità, l'unica cosa che forse gli è stata trasmessa: i dinosauri sono esistiti perchè ho sempre sentito dire così, ma alla fine chissenefrega.

Insomma in questa prima fase dell'educazione è il concetto di Storia che deve essere comunicato, più dello studio della Storia in sè, e anche se c'è sempre l'occasione di maturare in seguito io vedo il pericolo (spero comunque raro) di mancare a questo appuntamento, e da un certo punto in poi di non avere più modo di recuperarlo appieno.

Quando facevo le scuole medie inferiori avevo in classe due ragazze pluribocciate. Una di loro me la ricordo come una ragazza in gamba anche se totalmente aliena all'ambiente scolastico. Un giorno, per giustificare l'ennesima impreparazione, questa volta in Storia, se ne uscì con una frase intelligente, talmente tanto da lasciare "spiazzata" l'insegnante e non in grado di formulare una buona risposta. Talmente tanto da rimanermi stampata nella memoria. Disse semplicemente: "a professorè, io alla storia non ci credo, so' cose inventate, come fanno a sape' che so' successe?".

sabato 3 settembre 2011

Intelligenza Meccanica

Molti anni fa mi capitò per puro divertimento di scrivere un programma che giocava a Master Mind. Mi era riuscito abbastanza bene, ricordo che arrivava alla sequenza nascosta in genere nel giro di due o tre tentativi (che sono poi quelli che normalmente servono). La cosa carina è che poteva giocare con se stesso "senza saperlo", ovvero si generava la sequenza nascosta, tentava di indovinarla "come se non la conoscesse", si dava i punteggi ad ogni tentativo "come se la conoscesse", infine la indovinava, tutto da solo. Non ricordo più come lo realizzai, e ho ormai da tempo perduto sia il codice sorgente che l'eseguibile. Un giorno forse mi divertirò a riscriverlo.

Quello che mi colpiva era che, a differenza di tutti gli altri programmini che facevo sempre per divertimento, questo mi sembrava dotare il computer di una qualche intelligenza. Il Master Mind è un gioco che richiede una certa dose di riflessione e una certa capacità di ragionamento logico e queste sono indubbiamente caratteristiche che classicamente attribuiamo al comportamento intelligente. Il programma, nella versione che prevedeva la sfida con un giocatore umano, era anche in grado di battermi, specialmente se non riflettevo abbastanza sulla formulazione dei tentativi (e se il punto di partenza era a suo favore). La capacità di giocare è una di quelle caratteristiche che da sempre si riescono ad implementare bene in un computer, si pensi al gioco degli scacchi, e che al contempo colpiscono di più, proprio in relazione all'impressione di "comportamento intelligente" che inducono nello spettatore.

Ricordo che alla fine archiviai la questione con una osservazione che più o meno ricalca un classico della critica all'intelligenza artificiale: il mio programma non faceva niente di più di quanto la mia intelligenza gli aveva detto di fare (questo risultava anche autolusinghiero). Effettivamente la caratteristica principale del computer relativamente al gioco era la capacità di eseguire un calcolo che gli era stato "insegnato" con formidabile precisione, una cosa innaturale per un essere intelligente (cioè per noi, in quanto l'unico modello di intelligenza evoluta di cui disponiamo siamo proprio noi stessi). E al contrario, sempre rispetto a ciò che gli era stato "insegnato" non era in grado di aggiungere assolutamente nulla di originale, una cosa altrettanto innaturale per un essere che si possa definire intelligente.

Poi c'era ovviamente la critica al fatto che l'intelligenza nella sua globalità è una cosa molto più complessa di quella che eventualmente poteva esprimere il computer programmato per giocare semplicemente a Master Mind. Ma questa è una di quelle affermazioni generali che hanno il solo scopo di scoraggiare qualunque indagine sull'intelligenza, e che risultano dunque osservazioni sterili. Pensare di ritagliare una qualche attività particolare e verificare se si riesce, solo nell'ambito di quella, a tirar fuori un comportamente intelligente, mi sembra già moltissimo. Il problema nel mio caso era che il gioco del Master Mind è talmente deterministico che non c'è spazio per fare cose in più o cose diverse rispetto a quello che stava facendo il programma. Si trattava di fare solo le cose bene, in modo preciso e senza sbagliare. Questo era richiesto alla macchina. Peraltro la caratteristica del gioco di essere deterministico è anche quella che facilita molto la stesura di un algoritmo e dunque l'implementazione di un programma in un qualche linguaggio.

Forse il punto chiave (o comunque un punto interessante) è proprio "quello che chiedo" alla macchina. Da qui nasce una delle osservazioni più divertenti e al contempo profonde che caratterizzano le molte riflessioni sull'intelligenza artificiale fatte da Alan Turing in alcuni suoi scritti a cavallo tra la fine degli anni quaranta e gli inizi degli anni cinquanta, raccolti in un volume dal titolo "Intelligenza Meccanica". Il punto è che fintantoché chiedo alla macchina di eseguire alla perfezione e senza errori degli algoritmi precostituiti (procedure perfettamente deterministiche) non posso sperare di osservare un comportamento veramente intelligente. Ad esempio si potrebbe prevedere (e tollerare) che la macchina in molte situazioni compia degli errori e faccia nuovi tentativi, perché forse questo comportamento è essenziale per l'intelligenza molto più di quanto non si pensi. Dice Turing: "E' facile per noi considerare queste sviste [quelle umane] come non rilevanti e dare al ricercatore [all'essere umano] un'altra possibilità, ma alla macchina non viene riservata alcuna pietà. In altre parole, se si aspetta che la macchina sia infallibile, allora essa non può anche essere intelligente".

Un'altra caratteristica del mio computer che giocava a Master Mind, negativa dal punto di vista dell'eventualità di manifestare intelligenza, era il fatto che la macchina aveva "interagito" con l'esterno una sola volta, al momento dell'immissione del programma che le "insegnava" un certo comportamento e la induceva a seguire sempre e solo quello che l'algoritmo prevedeva. Ovviamente nella versione in cui giocava con un avversario il computer riceveva dall'esterno durante il gioco i punteggi delle sequenze "immaginate" ma questo tipo di interazione rimane "all'interno" dell'algoritmo e ne costituisce i dati in input. Anche questo aspetto è stato indagato da Turing, che effettivamente considerava essenziale la possibilità di far interagire la macchina con l'esterno, proprio nel senso di aggiungere istruzioni in memoria, di modificare gli algoritmi già memorizzati (addirittura di farli modificare direttamente dalla macchina stessa). Permettere in qualche misura una "esperienza con il mondo esterno" che consenta di modificare progressivamente i propri algoritmi interni (anche attraverso gli errori, vedi paragrafo precedente) può essere l'equivalente di quello che fa un qualunque cervello biologico. Secondo Turing l'elemento sostanziale non è tanto la struttura fisica di un cervello ma piuttosto i processi che costruiscono il suo comportamento intelligente. Questo giustificava la sua ricerca sui dispositivi elettronico-digitali.

Quando hai davanti una macchina che è in grado di giocare con te ed eventualmente di batterti ti puoi chiedere, anche solo per gioco, se la macchina in qualche modo e in quel particolare momento "stia pensando" (visto che per giocare un uomo ha certamente bisogno di pensare). Se sei in vena (o non lo sei, dipende dai punti di vista) puoi anche tentare di chiederti se in generale le macchine possono pensare. Se lo deve esser chiesto anche Turing, ed è interessante come abbia cercato di evitare la domanda diretta, e forse anch'essa sterile, rimpiazzandola con un gioco: ci sono un uomo, una donna e un terzo soggetto che li interroga; quest'ultimo deve indovinare chi è l'uomo e chi è la donna semplicemente ponendo domande (comunicando con mezzi che non rivelino le identità). Ad un certo punto una delle due persone interrogate viene sostituita da una macchina. La domanda (che rimpiazza quella originale "possono pensare le macchine?") è se la probabilità di indovinare per l'interrogante medio siano significativamente diverse prima e dopo la sostituzione. Questo, presentato da Turing in un suo scritto come "il gioco dell'imitazione" è maggiormente noto come "test di Turing", o meglio così sono note alcune versioni stravolte utilizzate nella letteratura di fantascienza. La caratteristica più interessante è come, attraverso questo gioco, Turing sposti volutamente l'attenzione dalla definizione oggettiva di un essere pensante alla sua percezione da parte dell'uomo che gli sta davanti.

Come ho letto in un saggio su di lui "[Turing] immaginava la macchina [quello che sarà poi il computer] non tanto, o non soltanto, come uno strumento di calcolo, ma come un'opportunità di sperimentare l'intelligenza meccanica" (Teresa Numerico, Macchine non organizzate e simulazione dell'intelligenza nell'opera di Alan Turing, 2004).

sabato 20 agosto 2011

Cifrario perfetto

Come si può facilmente immaginare sono molte le situazioni in cui la comunicazione tra un mittente e un destinatario deve poter essere adeguatamente protetta da possibili intercettazioni di terzi non autorizzati, e questo indipendentemente dalla tecnologia utilizzata per comunicare. Gli esempi attuali sono veramente tanti: Internet, telefonia, paytv, eccetera. La soluzione generale è una sola: l'uso della crittografia. Ovviamente i crittosistemi (o cifrari) utilizzati, sia attualmente che nel passato, sono tantissimi, ognuno con le sue caratteristiche peculiari, e ciò si riflette in una storia della crittografia interessante e a tratti molto affascinante.

Normalmente quando si presenta la crittografia in termini generali si finisce sempre per citare il "cifrario perfetto", chiamato stringa monouso (in inglese one time pad) o cifrario di Vernam, dal matematico che lo ha proposto per primo all'inizio del novecento. Tipicamente si cita e basta, aggiungendo ben pochi commenti, in quanto si tratta di un metodo assolutamente impraticabile. Il suo valore è puramente teorico e che io sappia non ha nessuna applicazione pratica. La questione però secondo me è affascinante e merita un po' di più della semplice citazione.

In generale un crittosistema si può definire come una struttura costituita da un insieme finito M di possibili messaggi (costruiti su un certo alfabeto), un insieme finito K di possibili chiavi di cifratura di lunghezza fissata, e da due funzioni E (encryption) e D (decryption), entrambe dipendenti dalla scelta della chiave, che vanno da M a M e sono l'una l'inversa dell'altra. Ad essere precisi questa è la definizione di un crittosistema simmetrico (a chiave singola) visto che si dà per scontato che la stessa chiave K parametrizza sia la funzione di cifratura E che la sua inversa D, ma questo per il nostro discorso mi sembra abbastanza ininfluente, quello che conta è la funzione di cifratura, ovvero il passaggio dal testo in chiaro P (plaintext) a quello cifrato C (ciphertext). La domanda è: sotto quali condizioni il crittosistema si può considerare perfetto? E, prima ancora, che significa dire che è perfetto? Sottolineo il fatto che i crittosistemi in uso quotidianamente dalle più svariate tecnologie di comunicazione non sono mai perfetti, cioè sono tutti in varia misura attaccabili. E' chiaro che questo è un argomento di principio, in quanto la domanda molto più pratica è: quanto è difficile attaccarli? E l'ovvia risposta è che per molti di essi (praticamente per tutti quelli attualmente utilizzati) è veramente molto difficile farlo, sebbene in teoria non impossibile.

In un cifrario perfetto il testo cifrato non dovrebbe dare più informazioni sul testo in chiaro di quanto non sia già noto, e lo stesso dovrebbe valere per la chiave (almeno nel caso della cifratura simmetrica). In altre parole, l'incertezza sul testo in chiaro dovrebbe essere la stessa sia prima che dopo aver conosciuto il suo corrispondente testo cifrato. Detto questo consideriamo un insieme finito di simboli (alfabeto) con cui costruire messaggi, e consideriamo lo spazio finito di messaggi di lunghezza prefissata. E' abbastanza facile immaginare che ad ognuno di essi è possibile in linea di principio associare una certa probabilità, data ad esempio dalla frequenza con cui quel messaggio si può presentare nella conversazione tra mittente e destinatario (ovviamente questo dipenderà dal tipo di linguaggio utilizzato e da quello che tipicamente si dicono le due parti in comunicazione). Per quanto riguarda la chiave di cifratura essa varierà in un suo spazio in modo del tutto casuale e del tutto indipendente. Adesso a partire da un certo messaggio scelto immaginiamo di costruire tutti i possibili testi cifrati corrispondenti facendo variare la chiave di cifratura su tutti i valori possibili. Se facciamo la stessa cosa su un qualunque altro messaggio scelto cosa otteniamo? Se il cifrario è perfetto dobbiamo ottenere lo stesso insieme di testi cifrati. Questo in pratica ci garantisce la seguente importante proprietà: se abbiamo davanti un testo cifrato questo potrebbe essere con eguale probabilità il risultato della cifratura di uno qualunque tra tutti i messaggi possibili. Quindi seppure la distribuzione di probabilità dei messaggi in chiaro è ragionevolmente non costante (alcuni messaggi saranno sicuramente più probabili di altri), la distribuzione di probabilità dei messaggi cifrati al variare del messaggio e della chiave è rigorosamente piatta.

Purtroppo però questa equiprobabilità dei testi cifrati si può ottenere solo ad una condizione molto "scomoda". E' necessario infatti avere un numero di chiavi pari almeno al numero totale dei messaggi in chiaro definibili. Se così non fosse, dato un testo cifrato non sarebbe possibile invertirlo in uno qualunque dei testi in chiaro scegliendo un'opportuna chiave, esisterebbero cioè uno o più testi in chiaro che non vengono mandati in quel testo cifrato da nessuna delle chiavi. E' evidente che questo significa che il testo cifrato fornisce indicazioni sul corrispondente testo in chiaro. Esprimendo la questione in termini un po' più tecnici significherebbe dire che la probabilità del testo in chiaro condizionata dalla conoscenza del testo cifrato è diversa dalla semplice probabilità del testo in chiaro. Ma se è necessario che il numero delle chiavi eguagli il numero dei messaggi possibili dobbiamo avere chiavi lunghe quanto i messaggi (sotto l'ovvia ipotesi che l'alfabeto con cui costruisco i messaggi e le chiavi sia lo stesso, un tale alfabeto nel caso delle implementazioni di un criptosistema al computer è costituito semplicemente da soli due simboli, 0 e 1). Ovviamente la chiave può essere utilizzata una volta sola altrimenti si viola la condizione di perfezione.

Un algoritmo di cifratura basato su una sostituzione polialfabetica che abbia le seguenti tre caratteristiche: 1. chiave realmente random; 2. chiave della stessa lunghezza del testo in chiaro; 3. chiave utilizzata una volta sola; è completamente sicuro. Di fatto non è tanto importante l'algoritmo impiegato (che tipicamente è un semplice XOR tra il messaggio e la chiave espressi in bit, e ha la comodità di essere simmetrico, ovvero l'operazione di cifratura è identica a quella di decifratura), quanto le caratteristiche della chiave; le ipotesi fatte su di essa sono molto forti e difficili da realizzare nella pratica, e anche inutili (se ho un canale sicuro che mi permette di scambiare una chiave lunga quanto il messaggio che devo trasmettere tanto vale farci passare direttamente il messaggio).

Si noti che un cifrario così definito è effettivamente inattaccabile. Quando il messaggio viene unito alla chiave, esso perde ogni correlazione interna e quindi ogni tipologia di attacco statistico fallisce, visto che il messaggio cifrato non ha nessuna correlazione statistica con il messaggio non cifrato. Anche lo stesso attacco a forza bruta è destinato a fallire, dato che se anche si provassero tutte le possibili chiavi, si otterrebbero tanti potenziali messaggi decifrati quante sono le chiavi utilizzate; tuttavia non ci sarebbe modo di distinguere l'unico messaggio originale tra tutti i possibili messaggi in chiaro ottenuti.

sabato 11 giugno 2011

Referendum

Il referendum di domani è preceduto da altri 6 referendum, dal 1997 ad oggi, che non hanno mai raggiunto il quorum. Speriamo che non succeda la stessa cosa anche per questo. Ci sono almeno due buone ragioni perchè passi, e che passi il SI: la prima è il merito degli argomenti, la seconda è l'impatto negativo che avrebbe sul governo che lo ha osteggiato (e che non ha fatto solo questo di negativo negli ultimi anni). Entrambe queste ragioni sono, credo, da sole sufficienti.
Quello del quorum mi appare come l'argomento più controverso e interessante. Il referendum come si sa è uno strumento di democrazia diretta previsto dalla Costituzione. L'articolo 75 stabilisce che il referendum di tipo abrogativo è ritenuto valido solo se viene votato dalla maggioranza degli aventi diritto al voto ("La proposta soggetta a referendum è approvata se ha partecipato alla votazione la maggioranza degli aventi diritto, e se è raggiunta la maggioranza dei voti validamente espressi.").
Stante questo principio è chiaro che non presentarsi al voto può essere un modo per invalidarlo e ottenere dunque il risultato politico di non abrogare gli articoli di legge in questione. Cioè non andare a votare può essere una scelta politica legittima. Il guaio è che si tratta di una scelta politica in qualche modo "inespressa", non esplicita, che inevitabilmente si mescola con il non-voto per indifferenza, per astensione (che si somma all'astensione "espressa" tramite scheda bianca) o per mancanza di informazione. Questa somma di atteggiamenti dietro alla rinuncia al voto è sicuramente un problema, in certi casi anche grave, che andrebbe affrontato.
Il non-voto si presenta come un problema etico per il cittadino, in quanto la sua opinione non è chiara perchè si confonde con altri atteggiamenti affatto diversi. Questo almeno vale per il normale cittadino, diversa è la situazione per quei pochi che possono fare dichiarazioni pubbliche su mezzi di diffusione di massa. Il giornalista che scrive che non andrà a votare per tutta una serie di motivi e di convinzioni che si preoccupa di esprimere non ha un atteggiamento equivocabile o confondibile, ma tutti gli altri? E comunque in ogni caso il problema vero è che la mia posizione può anche essere chiara ma la mia eventuale vittoria no. E' chiaro che non vince un'opinione politica espressa dalla cittadinanza.
Infine il problema più grave. In questo referendum (come anche in molti altri nel passato) la parte del NO, che annovera anche il governo, ha fatto spesso leva sull'esortazione al non-voto, con una serie di mezzi che appaiono tutti più o meno deprecabili, dal classico invito ad andare al mare alla mancanza di informazione (quest'ultimo molto più grave). Sebbene formalmente legittimo l'invito a non votare (o il far passare l'argomento sotto silenzio) appare comunque come una forma di inciviltà. Perchè la speranza segreta (manco tanto) è sempre quella di poter accorpare una legittima opinione con la fetta di indifferenza che una cittadinanza ha in ogni caso, e di usare entrambe come strumento di successo politico. Il lato più intollerabile di questo atteggiamento è che inevitabilmente esprime un certo disprezzo per le opinioni del cittadino e per la sua libertà di scelta.
Una soluzione da prendere in considerazione potrebbe essere quella di abolire il quorum, o di ridurlo drasticamente. Il rischio che una piccola parte della popolazione possa prendere decisioni importanti per tutti esisterebbe solo nella misura in cui non venisse fatta informazione sufficiente. Come si vede, il problema dell'informazione nella società moderna gioca un ruolo veramente cruciale. Tra l'altro, come mi è stato fatto anche osservare, è molto probabile che la richiesta del quorum del 50%+1 sia stata pensata dai costituzionalisti all'epoca in cui la società italiana aveva certamente un'ampia fetta di cittadini difficilmente raggiungibile da una corretta informazione. Oggi la capillarità e l'eterogeneità dei mezzi d'informazione giustificherebbe a mio avviso una ridiscussione dell'articolo 75 della Costituzione.