Compartir un número manteniendo la privacidad

1

Actualmente estoy trabajando en un proyecto tedioso y estoy atascado en un punto que parece simple pero muy complicado. Quiero preservar la privacidad de la búsqueda. Escenario: Bob tiene una matriz de 10 números únicos colocados en varios índices diferentes Por ejemplo [2 5 7 8 9 1 4 6 3]. Alice quiere decirle a Bob sobre el número que le interesa, pero no quiere enviar el número para hacer la comparación. Supongamos que si ella está interesada en el número 9, entonces Bob debería enviar el número de índice de 9, es decir, 5 a Alice, pero al enviar el número 9 a Bob, pierde la privacidad de los datos. He buscado pruebas de conocimiento cero pero no he tenido éxito.

    
pregunta Sam 11.08.2016 - 23:13
fuente

1 respuesta

1

Puedes usar Transferencia Oblivious .

Oblivious Transfer (OT) es una primitiva criptográfica en la que el remitente transfiere una de las muchas entradas potenciales a un receptor pero permanece ajena a la entrada enviada. El receptor también permanece ajeno a las entradas que no eligió.

Chou y Orlandi definen OT como sigue:

  

”En su sabor más simple, 1-de-2 OT, un remitente tiene dos entradas   los mensajes M0 y M1 y un receptor tienen un bit de elección c. Al final de   El protocolo que el receptor debe aprender el mensaje M c y   nada más, mientras que el remitente se supone que no aprende nada ".

A continuación se muestra un protocolo OT 1-de-2 que es seguro contra semi-honesto adversarios, como fue descrito por P. Snyder :

Entucaso,tienesmuchosnúmeros(diezparaserprecisos)yquiereselegirunocadavez.Porlotanto,necesitaunprotocolo1-out-of-KOT.Dichoprotocoloexiste,peroesmuchomáscomplicadoporquesebasaenObliviousTransferExtensions.

Extensionesdetransferenciainnecesarias:

ExisteunproblemaqueseencuentraencadaimplementacióndeOT.DebidoalhechodequecadaprotocoloOTseimplementaatravésdelacriptografíadeclavepública,escadavezmásdifícilsimularungrannúmerodetransaccionesOT.Pararesponderalproblemamencionadoanteriormente,habríaqueencontrarunasolución.Dehecho,en1996,DonaldBeaverdemostróquelosOTsepuedenextenderusandosimétricoscriptografía.EstanociónsedemostróposteriormentecomoeficienteporY.Ishaietal.Comoloexplica Asharov et al :

  

"Un protocolo de extensión OT funciona ejecutando una pequeña cantidad de" base   OTs ”, según el parámetro de seguridad (por ejemplo, unos pocos cientos) que   se utilizan como base para obtener muchos OT a través del uso de barato   Operaciones criptográficas simétricas solamente. Esto es conceptualmente similar.   al cifrado de clave pública en lugar de cifrar un mensaje grande   utilizando RSA, que sería demasiado costoso, un esquema de encriptado híbrido es   utilizado de tal manera que el cálculo RSA solo se realice para cifrar una   clave simétrica, que luego se usa para cifrar el mensaje grande ".

Puede verificar una implementación del protocolo de extensión OT más conocido aquí .

Con respecto al protocolo 1-fuera-de-K OT , en 2013, Vladimir Kolesnikov y Ranjit Kumaresan propusieron una optimización y generalización del protocolo IKPN03 que puede leer here .

Para concluir, OT es una primitiva criptográfica conocida que hace exactamente lo que usted quiere. Puede usarlo en su forma más simple (el 1-de-2 OT) y ejecutarlo muchas veces ya que tiene 10 números en lugar de 2. O, puede implementar algo más sofisticado como el esquema de extensión OT.

Ver también:

respondido por el Aventinus 13.08.2016 - 12:09
fuente

Lea otras preguntas en las etiquetas