Condivisione di un numero mantenendo la privacy

1

Attualmente sto lavorando a un noioso progetto e sono bloccato su un punto che sembra semplice ma molto complicato. Voglio preservare la privacy della ricerca. Scenario: Bob ha una serie di 10 numeri univoci posizionati in diversi indici. Ad esempio [2 5 7 8 9 1 4 6 3]. Alice vuole dire a Bob del numero a cui è interessata, ma non vuole inviare il numero per fare il confronto. Supponiamo che se è interessata al numero 9, allora bob dovrebbe inviare il numero di indice di 9, ad esempio 5, ad Alice ma inviando il numero 9 a bob perde la privacy dei dati. Ho cercato zero prove di conoscenza, ma non ha avuto successo.

    
posta Sam 11.08.2016 - 23:13
fonte

1 risposta

1

Puoi utilizzare Trasferimento Oblivious .

Oblivious Transfer (OT) è una primitiva crittografica in cui il mittente trasferisce uno dei potenziali molti ingressi a un ricevitore ma rimane ignaro dell'input inviato. Il ricevitore rimane anche ignaro degli input che lui o lei non ha scelto.

Chou e Orlandi definiscono OT come segue:

”In its simplest flavour, 1-out-of-2 OT, a sender has two input messages M0 and M1 and a receiver has a choice bit c. At the end of the protocol the receiver is supposed to learn the message M c and nothing else, while the sender is supposed to learn nothing.”

Di seguito c'è un protocollo OT 1-out-of-2 che è sicuro contro semi-onesto avversari, come descritto da P. Snyder :

Neltuocaso,haimoltinumeri(dieciperlaprecisione)evuoisceglierneunoognivolta.Quindihaibisognodiunprotocollo1-out-of-KOT.TaleprotocolloesistemaèmoltopiùcomplicatoperchéèbasatosuObliviousTransferExtensions.

ObliviousTransferExtensions:

C'èunproblemariscontratoinogniimplementazioneOT.AcausadelfattocheogniprotocolloOTèimplementatotramitecrittografiaachiavepubblica,èsemprepiùdifficilesimulareunnumeromoltoelevatoditransazioniOT.Perrisponderealproblemaprecedentementeindicato,dovrebbeesseretrovataunasoluzione.Infatti,nel1996,DonaldBeaverhadimostratochegliOTpossonoessereestesiusandosimmetriacrittografia.QuestanozioneèstatasuccessivamentedimostrataefficacedaY.Ishaietal.Comespiegatoda Asharov et al :

”An OT extension protocol works by running a small number of ”base OTs” de- pending on the security parameter (e.g. a few hundred) that are used as a base for obtaining many OTs via the use of cheap symmetric cryptographic operations only. This is conceptually similar to public-key encryption where instead of encrypting a large message using RSA, which would be too expensive, a hybrid encryption scheme is used such that the RSA computation is only carried out to encrypt a symmetric key, which is then used to encrypt the large message.”

Puoi verificare un'implementazione del più noto protocollo di estensione OT qui .

Riguardo al protocollo 1-out-of-K OT , nel 2013, Vladimir Kolesnikov e Ranjit Kumaresan hanno proposto un'ottimizzazione e generalizzazione del protocollo IKPN03 che puoi leggere //ect.bell-labs.com/who/kolesnikov/papers/otext.pdf">here.

Per concludere, OT è un primitivo crittografico conosciuto che fa esattamente quello che vuoi. Puoi usarlo nella sua forma più semplice (il 1-out-of-2 OT) ed eseguirlo molte volte poiché hai 10 numeri invece di 2. Oppure, puoi implementare qualcosa di più sofisticato come uno schema di estensione OT.

Vedi anche:

risposta data 13.08.2016 - 12:09
fonte

Leggi altre domande sui tag