Un piccolo contest di logica (e forse di programmazione)

  • 7
Oggi vi voglio proporre un altro piccolo contest di logica.
Questo è un pò meno "matematico" del precedente, ma molto curioso.
Analizziamo il problema.

C'è una città molto particolare. 
In questa città ti viene rubato qualsiasi cosa tu abbia con te quando esci di casa.
L'unica cosa che non viene rubata è uno scrigno chiuso con un lucchetto.
Ora, consideriamo due abitanti di questa città, Alice e Bob.
Ognuno di loro possiede uno scrigno, una chiave ed un lucchetto.
Alice vuole portare una torta a Bob. Come può fare? 

7 commenti:

  1. ma la risposta la si mette qui nei commenti o si scrive in altro modo?
    Comunque è il problema della crittografia asimmetrica

    RispondiElimina
  2. @Phoenix Fire
    Nei commenti va benissimo...e si il problema può essere ricondotto alla crittografia asimmetrica :)

    RispondiElimina
  3. La soluzione sarebbe facile se il lucchetto non dovesse essere chiuso, esso così ancora non so bene come fare

    RispondiElimina
  4. Assicuro che è possibile trovare una soluzione anche con il lucchetto chiuso.

    RispondiElimina
  5. Salve la soluzione è molto semplice, basti pensare all'algoritmo che viene usato per la crittografia asimmetrica http://it.wikipedia.org/wiki/Crittografia_asimmetrica

    spiego meglio alice è bob si scambiano le chiavi dei lucchetti in privato alice mette nello scrigno la torta da dare a bob e chiude il lucchetto la cui chiave è in possesso di bob

    RispondiElimina
  6. L'idea base della crittografia con coppia di chiavi diviene più chiara se si usa un'analogia postale, in cui il mittente è Alice ed il destinatario Bob, i lucchetti fanno le veci delle chiavi pubbliche e le chiavi recitano la parte delle chiavi private:
    Alice chiede a Bob di spedirle il suo lucchetto, già aperto. La chiave dello stesso verrà però gelosamente conservata da Bob.
    Alice riceve il lucchetto e, con esso, chiude il pacco e lo spedisce a Bob.
    Bob riceve il pacco e può aprirlo con la chiave di cui è l'unico proprietario.
    Se adesso Bob volesse mandare un altro pacco ad Alice, dovrebbe farlo chiudendolo con il lucchetto di Alice (che lei dovrebbe aver preventivamente dato a Bob) che solo lei potrebbe aprire.

    RispondiElimina
  7. Avete capito il problema e anche la forma della soluzione anche se forse non è quella propriamente corretta...
    Riporto la soluzione completa (e semplificata) così da poterla confrontare con le vostre.

    1. Alice mette la torta nello scrigno, lo chiude con il suo lucchetto e lo porta a Bob.

    2. Bob aggiunge allo scrigno il suo lucchetto chiuso e lo riporta ad Alice.

    3. Alice toglie il suo (di Alice) lucchetto dallo scrigno e riporta lo scrigno a Bob.

    4. Bob ora è in possesso dello scrigno chiuso con il suo (di Bob) lucchetto quindi può aprirlo e finalmente prendere la torta....che sicuramente non avrà un buon sapore!

    RispondiElimina