Il Post
RSS share on Twitter share on FaceBook

Sistema anti-intercettazioni 2

22 maggio 2010

Eravamo rimasti alla ricerca di un metodo perché Giulietta e Romeo potessero scambiarsi messaggi senza che nessuno, anche se riuscisse a intercettarli, fosse in grado di leggerli. I due amanti potevano racchiudere il messaggio in una scatola chiusa con un lucchetto, ma non avevano la possibilità di scambiarsi le chiavi dei lucchetti. E allora?

La soluzione al problema – il primo a trovarla è stato lucac -  è a mio parere geniale. Giulietta manda a Romeo la scatola col proprio messaggio e gli mette un lucchetto G. Romeo riceve la scatola e la rimanda indietro, aggiungendo il proprio lucchetto R. In questo secondo viaggio la scatola ha pertanto due lucchetti, G e R. Giulietta, una volta riottenuta la scatola, toglie il proprio lucchetto e la manda una seconda volta a Romeo: ora la scatola ha solo il lucchetto R, che Romeo può tranquillamente togliere, riuscendo finalmente ad aprire la scatola e a leggere il messaggio. Aggiungere a piacere nel pacchetto le copie delle chiavi dei lucchetti, così la volta successiva non serve fare tutto quel giro. L’unica fregatura, se proprio volete, è che le poste si sono fatte i soldi con tutti questi trasferimenti…

Il problema può apparire piuttosto ozioso, almeno a prima vista, ma non è affatto così: la soluzione indicata è alla base del primo sistema di crittografia a chiave pubblica, quello di Diffie-Hellman. Anche nei sistemi di crittografia bisogna nascondere il messaggio da un possibile intruso che lo intercetti, e lo si vorrebbe fare senza per l’appunto scambiarsi in anticipo una chiave crittografica. Il punto chiave :-) dell’algoritmo consiste nel trovare un sistema per applicare più trasformazioni crittografiche del testo che siano commutative, e cioè possano essere eseguite in un ordine qualunque dando lo stesso risultato; altrimenti chi ha crittografato per primo deve essere l’ultimo a decrittare, e rimaniamo al punto di partenze. Nell’algoritmo di Diffie-Hellman l’operazione commutativa è l’elevazione a potenza modulo p, cioè il resto della divisione di Na per p; infatti (Na)b = (Nb)a. Non che basti questo per avere un algoritmo robusto, ma uscirei dal seminato a spiegare il funzionamento dell’algoritmo in questo contesto. Per stavolta limitiamoci ad apprezzare che anche i problemini matematici hanno applicazioni serie…

TAG: ,
  • gpec

    Ciao Maurizio,

    vorrei segnalare una conferenza non tecnica tenuta da Terence Tao (medaglia fields nonchè blogger di talento) dal titolo “Structure and randomness in prime numbers”, il cui testo (on powerpoint) si può scaricare qui

    http://terrytao.wordpress.com/2009/09/06/two-more-clay-mahler-lectures/

    C’è la metafora del lucchetto (sullo sfondo probabilmente del ponte Milvio), ed alcune considerazioni interessanti sull’effettiva sicurezza degli algoritmi di cui parli.

    A presto

  • http://xmau.com/ Maurizio Codogno

    @gpec: il teorema di Green-Tao è una forza della natura! Non l’avrei mai creduto possibile…

  • gpec

    Maurizio: veramente spettacolare, concordo. Credo spieghi (anche se parzialmente, se no l’avrebbero data pure a Green) la medaglia Fields.