Protocolo seguro

Los protocolos seguros, también llamados protocolos de preservación de la privacidad o protocolos de preservación de la confidencialidad, son protocolos que usan técnicas criptográficas y cuyo objetivo es conseguir que entidades colaboren con su información preservando su privacidad y confidencialidad.

[1]​ Al problema de computar cualquier función de una forma segura se le llama computación segura multipartita o SMC (del inglés Secure Multiparty Protocol).

Cuando hay exactamente dos entidades se dice que se trata de Computación segura bipartita o 2PC (siglas del inglés Secure Two-Party Computation) Hay diferentes tipos de adversarios que tienen que ser considerados cuando se crean protocolos seguros.

Los básicos son: Es difícil formalizar de forma general los protocolos seguros.

[1]​ Para que el protocolo sea seguro todo lo que puede ser computado desde el protocolo debe poder ser deducido desde la salida y uno de los valores de entrada (la información privada de una entidad).

Supongamos que A y B están interesados en realizar un protocolo para computar un función

Este protocolo involucar uno o más intercambio de mensajes entre A y B.

Este transcript permite verificar que no se revela la información que se privada de cada entidad.

Una forma para conseguir esto es requerir que el transcript de comunicación sea exactamente generable desde la salida del protocolo, pero esto es una limitación grande.

Sin embargo, si el adversario es computacionalmente limitado, entonces es suficiente generar un transcript que sea tan cercano al transcript real (computacionalmente indistinguible) que el adversario no pueda distinguir entre el real y el transcript simulado.

Supongamos que A y B tienen respectivas entradas

y que al final del protocolo A debería aprender

son iguales, sin embargo se pone para tener una definición lo más general posible.

, la vista que A tiene del protocolo (todos los mensajes que recibe de B) es denotada por

y la vista que B tiene del protocolo es denotada por

se dice que es seguro en el modelo HBC si existen algoritmos de simulación con tiempo polinomial probabilístico,

Análoga conclusión se puede sacar la para el otro sentido.

Así que cualquier cosa aprendida del protocolo tiene que ser también aprendible desde el resultado, y por tanto el protocolo revela solo el resultado e inferencias derivadas desde el propio resultado[1]​