(Lo siento si esto no está en la SE correcta / no es relevante para security.stackexchange - parece ser la mejor opción)
¿Hay alguna forma para que dos partes anónimas establezcan que no se conocen entre sí antes de revelar sus identidades?
Supongamos que Alice y Bob pueden comunicarse de forma anónima y desean participar en algún tipo de actividad embarazosa en una fecha posterior. No les importa revelar su identidad si la otra parte es alguien que no conocen, pero no quieren revelar su deseo de participar en esta actividad a alguien que sí conocen. Quieren una forma de confirmar que ninguno de los dos conoce al otro sin tener que revelar su identidad en el proceso (pero inevitablemente revelará su identidad si sigue adelante con cualquier actividad que esté planeando).
Hasta ahora, mi única idea es involucrar a un tercero de confianza que reciba una lista de nombres de ambas partes (incluidos sus propios nombres) y verifique las coincidencias. El tercero solo confirma la presencia o ausencia de un partido. Es posible que cada parte envíe solo una lista de hashes en lugar de nombres identificables para reducir el riesgo de que el tercero revele identidades, si Alice y Bob pueden acordar ciertos estándares de denominación y hashing.
De esta manera, si hay una coincidencia, Alice y Bob solo saben que el otro es alguien de su lista. Sin embargo, esto no es lo ideal, ya que cualquiera de las partes podría manipular el proceso al proporcionar nombres limitados o específicos para que puedan adivinar la identidad de la otra parte.
¿Hay algún enfoque más elegante para esta situación?