El problema de los millonarios es un problema de computación segura multipartita introducido en 1982 por Andrew C. Yao. El problema se enuncia de la siguiente forma:
- Dos millonarios A y B tienen respectivamente una riqueza y . Ambos millonarios quieren saber cual de ellos es más rico sin revelarse entre ellos la cantidad de dinero que tiene cada uno. Es decir, lo que se quiere es un protocolo que permite a A y B saber si la condición es cierta, pero sin que se tenga que revelar entre ellos el valor de su riqueza respectiva.
Notar que si y son representaciones binarias de los dos número y y son los i-ésimos digits empezando por la derecha, la función de 'más grande que' puede ser reformulada de la siguiente forma:[1]
donde k es el tamaño en bits del mayor número.
Soluciones
La primera solución fue presentada por Andrew C. Yao[2] pero el protocolo tenía tiempo y espacio exponencial-
Posteriormente ha habido varias propuestas. Por ejemplo:
La resolución de este problema tiene múltiples aplicaciones.
Referencias