You are on page 1of 5

Il Turing Award 2012 a Sha Goldwasser e Silvio Micali: La Teoria delle Dimostrazioni Interattive e le sue Applicazioni

Andrea Clementi Universit` a Tor Vergata di Roma


Email: clementi@mat.uniroma2.it

Sha Goldwasser e Silvio Micali, Professori in Computer Science al Massachusetts Institute of Technology hanno ricevuto il pi` u importante riconoscimento accademico nel campo della Computer Science: lACM Turing Award 2012 per i loro contributi fondamentali in Teoria della Complessit` a Computazionale ed in Teoria della Crittograa Moderna. Di fondamentale importanza, sono i loro studi matematici ed algoritmici che hanno determinato gli attuali criteri standard di sicurezza per alcune primitive crittograche come i protocolli di encryption e di digital signature. Uno dei principali ingredienti dei suddetti contributi ` e sicuramente la Teoria delle Dimostrazioni Interattive (Interactive Proofs ) che, oltre a costituire le fondamenta delle successive applicazioni crittograche, ha avuto un enorme impatto anche in altre aree della Computer Science come quella che si occupa della Complessit` a dei Problemi di Ottimizzazione. Goldwasser e Micali insieme a Charles Racko avevano gi` a ricevuto un altro prestigoso premio per aver introdotto questa teoria nel 1985, il Goedel Prize (indipendentemente, insieme a Babai e Moran). Descrivere in poche righe la Teoria delle Dimostrazioni Interattive e la sua rilevanza ` e quasi impossibile ma proviamo almeno a raccontare alcuni suoi principi ispiratori. Sistemi di Dimostrazione Interattivi Deterministici. Il concetto di Dimostrazione Ecientemente Vericabile era ben noto anche prima degli anni 80 e pu` o essere raccontato con un semplice esempio di problema su gra. La societ` a JF K che gestisce un grande aeroporto vuole sapere se le 20 piste che ha disposizione siano sucienti per allocare i 100 voli giornalieri evitando ovviamente pericolose sovrapposizioni sulla stessa pista. Questo task pu` o essere elegantemente modellato attraverso un ben noto problema di coloramento di un grafo G(V, E ). Linsieme dei nodi V = {1, . . . , 100} rappresenta linsieme dei voli della giornata, mentre linsieme degli archi E (un arco ` e una coppia non ordinata di nodi distinti {u, v }) consiste in tutte le coppie di voli incompatibili, cio e larco {u, v } appartiene ad E se e soltanto se i voli u e v sono incompatibili e quindi devono essere allocati in piste diverse. Due nodi u e v per cui {u, v } E si dicono adiacenti e i nodi collegati da un arco e vengono chiamati estremi di e. Il problema del Coloramento (in breve k -col) del grafo G(V, E ) consiste nel decidere se esiste (ed, eventualmente, trovare) un coloramento dei nodi C (che pu` o essere rappresentato da una tabella di 100 righe dove nelli-ma riga ` e inserito il colore assegnato da C alli-mo

nodo) tale che nodi adiacenti ricevano da C colori diversi (la Figura 1 mostra la suddetta rappresentazione per un caso pi u piccolo con 10 voli e 4 piste).

Tabella di C : nodi adiacen' devono essere colora7 con colori diversi


1 2 3 4 5 6 7 8 9
10 1

4 3 2

i voli 9 e 10 sono incompa7bili

8 5 6 7

10

Figure 1: Il grafo corrispondente ad una piccola istanza di 10 voli (nodi numerati da 1 a 10) in cui le coppie di voli {1, 3}, {1, 5}, {1, 7}, {2, 3}, {2, 5}, . . . , {8, 9}{9, 10} sono incompatibili e quindi sono collegate da archi. Una possibile assegnazione dei 10 voli su 4 piste ` e rappresentata dalla Tabella di Coloramento C dei nodi con i colori (piste) rosso, blu, verde e nero. Gli ingegneri della societ` a JF K si accorgono ben presto che un algoritmo esaustivo ` e assolutamente impraticabile: essendo il numero di voli 100 ed il numero di piste 20, dei facili calcoli combinatorici mostrano che il numero di potenziali coloramenti da vericare (cio` e controllare se eettivamente colorino in modo diverso gli estremi di ogni arco) sono 20100 , un numero non gestibile da alcun computer conosciuto! Lesistenza di un algoritmo eciente (cio` e avente un tempo di esecuzione polinomiale nel numero dei nodi) per k -col ` e un problema aperto da almeno 40 anni e sostanzialmente corrisponde alla famosa questione P = N P in teoria della Complessit` a Computazionale. Tuttavia il grafo G viene sottoposto alla societ` a High-Tech Magic-SW 1 di consulenza informatica che, dopo una fase di studio, dichiara di aver trovato un coloramento corretto C per il grafo di JF K . Ma prima di acquistare il costosissimo prodotto C , vediamo
Non ` e un caso che la societ` a si chiami Magic: la letteratura scientica ha spesso evocato il nome di Mago Merlino per indicare questa ipotetica entit` a dai poteri computazionali illimitati.
1

come JF K si possa convincere della bont` a delle soluzione proposta attraverso un sistema di dimostrazione interattivo deterministico eciente per k -col. A tal ne, introduciamo un sistema astratto che consiste in due entit` a indipendenti che interagiscono tra loro secondo uno specico Protocollo: il Prover (Magic-SW ) , che ha un potere di calcolo illimitato, vuole convincere laltra entit` a, il Verier (JF K ), che il grafo G ammette un coloramento corretto attraverso linvio di una opportuna dimostrazione (o certicato ). Il Verier ha un potere di calcolo limitato (diciamo che il suo task deve essere svolto in pochi minuti con un buon PC) e deve vericare che il certicato inviato dal Prover sia valido e che quindi il grafo G sia eettivamente colorabile. Il semplice protocollo in questo caso funziona nel seguente modo. il Verier richiede al Prover il il coloramento C (magari sottoforma di semplice tabella di 100 righe); Il Prover invia al Verier C (in questo caso, quindi, il certicato coincide con C ). Il Verier, conoscendo il grafo G, verica che C sia eettivamente un coloramento di G. Se la verica termina con esito positivo allora il Verier termina il protocollo accettando il certicato altrimenti termina rigettandolo. Provare la correttezza e lecienza di questo protocollo ` e facile: se G ` e colorabile, il Prover, avendo potere illimitato, trover` a sicuramente un coloramento corretto C ed il controllo del Verier avr` a esito positivo. Al contrario, se G non ` e colorabile, il Prover non ha alcuna possibilit` a di convincere il Verier ad accettare perch e la verica di un qualunque C dar` a sempre esito negativo. Notiamo che, anche se trovare un eventuale certicato C richiede un tempo esponenziale nel numero di nodi (circa 20100 !!!), esso pu` o essere rappresentato ed inviato al Verier con una tabella relativamente corta (circa 100 righe) e la sua verica richiede un tempo di qualche secondo su un qualsiasi PC moderno: ` e suciente considerare tutti gli archi di G (si noti che questi non sono pi` u di 4500) e vericare, nella tabella di C , che gli estremi di ogni arco non abbiano mai lo stesso colore. E bene riettere quindi su lenorme dierenza tra il tempo di ricerca (almeno 20100 operazioni) ed il tempo di verica di una soluzione su questo tipo di istanze del tutto ragionevoli per il tipo di applicazione considerata. Concludendo, dato un grafo G(V, E ), il Teorema G(V, E ) ` e colorabile con 20 colori. pu` o essere vero o falso ed in generale non sappiamo (almeno sinora) trovare una metodo di dimostrazione eciente, tuttavia esso ammette un sistema di dimostrazione interattivo, grazie al quale, eventuali certicati possono essere vericati ecientemente. E importante notare che nel protocollo appena descritto linterazione tra il Prover ed il Verier avviene in un solo round (1 domanda ed 1 risposta). Linsieme dei problemi che ammettono un sistema di dimostrazione deterministico interattivo con un solo round (come quello appena descritto per k -col) costituisce la famosa classe computazionale N P ricca di migliaia di importanti problemi provenienti da diverse discipline come le reti di comunicazione, la biologia, la teoria dei numeri, i sistemi dinamici, leconomia, etc. La congettura P = N P (dove P ` e la classe dei problemi che ammettono un algoritmo eciente per calcolare un certicato - non solo per vericarlo) risulta attualmente uno dei problemi pi` u importanti in Computer Science ed in Matematica, posto nei primi anni 70. 3

Sistemi di Dimostrazione Interattivi (Probabilistici). Esistono diversi problemi molto importanti che non ammettono questo (semplice) tipo di sistema di dimostrazione interattiva. E suciente pensare al problema complementare di k -col, Co-k -col: dato un grafo G(V, E ) vericare che esso non sia colorabile. Rlettendoci un p` o, ci accorgiamo che sembrerebbe molto dicile, da parte del Prover, riuscire a costruire un certicato della eventuale non colorabilit a di G che sia polinomialmente limitato e facilmente vericabile! E in questo scenario che, nei primi anni 80, i nostri giovani ricercatori dellMIT cominciano a elaborare la loro teoria innovativa. Come spesso accade, le maggiori innovazioni nascono da idee semplici e naturali. Pensando al protocollo precedente, si convinsero che il sistema di interazione tra Prover e Verier non fosse sucientemente potente. Allora aggiunsero due ulteriori ingredienti al sistema: 1). La possibilit` a di interagire per un numero di rounds maggiore di 2 (sebbene polinomialmente limitato nella dimensione dellinput); 2). La possibilit` a da parte del Verier di porre domande da sottomettere al Prover sulla base di proprie scelte random ed, inoltre, considerare una piccola probabilit` a da parte del Verier di commettere qualche errore di verica. Descrivere questo nuovo tipo di protocolli in modo rigoroso richiederebbe lintroduzione di concetti matematici troppo complessi, quindi ne daremo una semplice intuizione con un esempio molto informale. Marco (il Verier) ha ereditato un quadro che ` e certicato essere un famoso quadro di Matisse andato disperso nella II guerra mondiale ma vorrebbe una valutazione precisa da un esperto. Contatta il Dr. Pinocchio (il Prover) ma prima di adargli il costoso incarico vuole essere sicuro che sia un vero ed onesto esperto. Quindi escogita il seguente Sistema di Dimostrazione Interattivo (probabilistico). Riesce a recuperare unottima copia del quadro e pone due etichette segrete nel retro dei quadri: A e B . Marco ora sa che il quadro A corrisponde al (suo) quadro originale mentre il quadro B ` e la copia. A questo punto Marco ed il Dr. Pinocchio iniziano il seguente protocollo. - Si ripete per 10 volte la seguente interazione Marco esce dalla stanza, lancia una moneta e se viene testa mette A sulla sua mano destra e B sulla sua sinistra altrimenti scambia le parti. Marco rientra nella stanza e chiede al Dr. Pinocchio in quale mano sia loriginale. Il Dr. Pinocchio restituisce una risposta: destra o sinistra. Marco verica la risposta confrontandola con le etichette segrete e decide di accettare o meno la consulenza. Analizziamo la correttezza di questo sistema. Se il Dr. Pinocchio ` e un onesto esperto non trover` a problemi nel dare la risposta corretta, se invece il Dr. Pinocchio non ` e ci` o che dice di essere e tenta in ogni caso di imbrogliare allora la sua unica strategia ` e scegliere a caso uno dei due quadri. In questo caso, la probabilit` a che Marco sbagli ad ogni iterazione del protocollo ` e 1/2. Non sembra molto ma se si ripete literazione per 10 volte ` e facile vedere che2 la probabilit` a di commettere un errore da parte di Marco 10 diventa non pi` u grande di (1/2) . Beh, Marco si ritiene proprio soddisfatto del livello di correttezza del sistema!
2 Stiamo assumendo che il Dr. Pinocchio non abbia alcuna memoria di quello che ha visto nelle iterazioni precedenti.

Osserviamo che la scelta casuale deve essere nascosta al Prover (il Dr. Pinocchio) e che lerrore del Verier (Marco) pu` o essere reso piccolo a piacere aumentando il numero di round del sistema interattivo. Lutilizzo da parte del Verier di random bit segreti sembra proprio essere unarma necessaria per il buon funzionamento del sistema. Invece, solo pochi anni pi` u tardi, Goldwasser e Sipser hanno sorprendentemente mostrato che ogni sistema il cui Verier usa random bit privati pu` o essere trasformato ecientemente in un protocollo in cui il Verier usa solo random bit visibili al Prover, cio` e pubblici. Nei successivi lavori, i nostri ricercatori ed altri loro colleghi hanno mostrato che lintroduzione di questi due nuovi fattori (pi` u interazioni e la possibilit` a di fare scelte casuali da parte del Verier) rendono il sistema di dimostrazione interattivo molto pi` u potente, riuscendo a risolvere problemi decisionali di una classe considerata molto pi` u grande di N P (alquanto sorprendentemente, questa classe pi` u generale include tutti i problemi complementari di N P , tra cui Co-k -col). Per avere una piccola suggestione dellimpatto di questi sistemi in campo crittograco basti pensare a dei sistemi di verica dellidentit` a elettronica di una persona/ente: in modo del tutto intuitivo, essi possono essere associati al lavoro che fa il Verier nel nostro gioco. Ora invece mettiamoci dalla parte del Prover e cerchiamo di capire quali potrebbero essere i suoi interessi. Nel gioco del quadro, il Dr. Pinocchio in eetti, se rispondesse correttamente, fornirebbe in modo del tutto gratuito una preziosa informazione oltre al fatto che lui ` e un onesto esperto del settore. Infatti, Marco avrebbe unulteriore conferma del fatto che il suo quadro ` e originale. Dunque il Dr. Pinocchio vorrebbe fornire la dimostrazione della sua seriet` a professionale senza fornire alcuna consulenza gratuita. In questo semplice esempio, unidea potrebbe essere quella di testare la professionalit` a del Dr. Pinocchio su unaltra coppia di quadri su cui non ce alcun interesse economico in gioco. Ancora pi` u interessante risulta porsi una simile questione nellambito del primo esempio, quello del coloramento di un certo grafo: la societ` a informatica Magic-SW vorrebbe convincere JF K che ha un coloramento corretto ma senza fornirglielo! In generale, nel mondo dei problemi computazionali, questultimo problema ` e matematicamente molto complesso ed ha portato Goldwasser e Micali ad introdurre una versione pi` u sosticata dei sistemi di dimostrazioni interattivi chiamati Zero-Knoledge Interactive Proof Systems. In questa versione, il Prover, rispetto allo specico Teorema da vericare, riesce a non fornire alcuna informazione oltre al semplice fatto se esso sia vero o falso. La progettazione di questo tipo di sistemi rappresenta attualmente un campo di ricerca molto importante ed attivo in Crittograa ed in Sicurezza Informatica dalle grande potenzialit` a applicative nei futuri scenari della Societ` a dellInformazione condivisa, come il Cloud Computing. A proposito, non ` e troppo dicile progettare un protocollo Zero-Knowledge per k -col: provateci, la societ` a SW ` e pronta ad assumervi! Riferimenti Bibliograci. - Il lavoro fondamentale di Goldwasser, Micali e Racko si trova in: S. Goldwasser, S. Micali, and C. Racko. The knowledge complexity of interactive proof systems. SIAM J. Comput. 18, 1, 186-208, 1989. - Un ottimo recente libro che descrive in modo chiaro e dettagliato la Teoria delle Dimostrazioni Interattive e le sue varie applicazioni ` e sicuramente: L. Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach, Cambridge University Press, 2009.

You might also like