venerdì 3 dicembre 2010

Crittografia e numeri primi

Mettiamo che A volesse mandare un messaggio B essendo sicuro che solo B potrà leggerlo, nessun altro.

Metodo classico.
A scrive il suo messaggio segreto su un biglietto, lo mette in una scatola di ferro e chiude il tutto con un lucchetto di cui solo lui ha la chiave; poi spedisce la scatola a B. Quest'ultimo, una volta ricevuto lo scrigno, aggiunge alla serratura della scatola un secondo lucchetto, di cui solo lui ha la chiave, e rimanda ad A la scatola chiusa con i due lucchetti. A aspetta la consegna della scatola, toglie il suo lucchetto e rimanda di nuovo la scatola a B che può aprire il suo lucchetto con la chiave in suo possesso e finalmente leggere il biglietto. Nessuno dei due ha mai utilizzato la chiave dell'altro.

Metodo moderno.
Premessa 1: il teorema fondamentale dell'aritmetica afferma che ogni numero e scomponibile nel prodotto di due o più numeri primi.
Premessa 2: è molto facile per un calcolatore moltiplicare due o più numeri, anche se di parecchie cifre. E' invece molto più difficile scomporre un numero molto grande in fattori primi. Moltiplicare due numeri di cento cifre e ottenerne uno di duecento per un computer è immediato, mentre per l'operazione inversa (trovare quali sono i due numeri primi che moltiplicati danno come prodotto quel particolare numero di duecento cifre) un potentissimo computer potrebbe impiegare secoli.

Se A vuole mandare un messaggio segreto a B deve innanzitutto trasformarlo in un numero a parecchie cifre, chiamiamolo N; poi deve moltiplicarlo per un suo personale numero primo M (anche questo più grande è, meglio è); il prodotto N*M lo manda a B; costui riceve N*M e lo moltiplica per un suo personale (e grande) numero primo T, ottenendo N*M*T, e restituisce il risultato ad A. A divide N*M*T per il suo numero segreto M (lo stesso utilizzato prima), ottiene N*T e lo comunica a B, che a questo punto non fa altro che dividere N*T per il suo numero segreto T e ottiene N, che è il messaggio. Se qualche malintenzionato nel frattempo intercetta il messaggio e vuole ottenere N partendo da N*M, o da N*T o peggio da N*M*T, si scontra inevitabilmente con le difficoltà esposte nella Premessa 2.
Semplice e geniale. E' proprio quest'ultimo il metodo utilizzato oggigiorno in parecchi sistemi di crittografia, ad esempio per rendere sicuro l'utilizzo delle carte di credito sui siti di e-commerce, alla faccia di chi continua a dire che la matematica pura e la teoria dei numeri non hanno applicazioni concrete.

Ora vado, devo cercare un numero primo bello grosso e ficcarci sotto il mio libretto postale.

1 commento:

  1. Anonimo16/11/11

    Commenti:
    #1 04 Dicembre 2010 - 12:29

    E la difficoltà di distinguere la destra dalla sinistra? Chi promette e non mantiene, poi qualcuno gli taglia il...?
    utente anonimo
    #2 04 Dicembre 2010 - 12:37

    Ero sempre io, pdb, anche nel commento sopra che ho dimenticato di firmare. Comunque, fuor di celia, bel post: semplice chiaro esauriente e a suo modo interessante (forse non proprio per tutti, forse meno interessante de u pilo).A me é piaciuto, non capita ogni momento che qualcuno ti spieghi come funziona nella pratica una cosa che usi tutti i giorni ma in cui non é possibile "guardare dentro".
    utente anonimo
    #3 04 Dicembre 2010 - 15:27

    eccoti servito... e per stavolta il mio pene, per quanto ancora serve, è salvo.

    aaqui
    #4 06 Dicembre 2010 - 00:59

    Probabilmente l'hai già letto ma qualora invece non l'avessi ancora fatto ti consiglio il libro: Codici & Segreti di Simon Singh edizioni BUR.
    Morcatana
    utente anonimo
    #5 06 Dicembre 2010 - 11:50

    Non l'ho letto, ma lo farò.
    grazie
    aaqui
    aaqui
    #6 06 Dicembre 2010 - 14:22

    deduco che i lettori stanno aumentando... !!!

    p.s. nel prossimo post la rivelazione del 4° e 5° segreto di Fatima?
    utente anonimo

    RispondiElimina