Método recomendado para llevar a cabo una computación segura:

  1. Uno de los participantes debe modificar una hoja de cálculo, coloreando las celdas de entrada de cada uno de los participantes: las celdas que contienen las entradas del Participante A son protegidas con “Protect Party A”; y al contrario, las celdas que contienen entradas del Participante B son protegidas con “Protect Party B”.
  2. Dicho participante comparte el archivo de la hoja de cálculo modificada con el otro participante: ambos participantes deben seguir el mismo orden de evaluación del cálculo con exactamente las mismas fórmulas, por lo que se recomienda utilizar el mismo archivo de la hoja de cálculo para prevenir errores. Los participantes introducen su información secreta en sus correspondientes celdas: las celdas del participante contrario pueden contener entradas aleatorias, pero siempre respetando el tipo de datos de la celda de entrada (las entradas de texto no deben contener entradas numéricas, y vice versa).
  3. Para comenzar la computación segura, un participante escoge una celda con una fórmula, y luego el otro participante debe estar de acuerdo con dicha computación segura aceptando la notificación recibida o inicializando la misma computación segura desde la misma celda. El resultado debe aparecer en un comentario, o en una celda de resultado.

NOTES:

  • La computación segura es un proceso de cálculo muy costoso (tanto desde el punto de vista de la red como de la CPU): aunque todas las fórmulas en una hoja de cálculo no segura pudiesen aparecer igualmente complejas (por ejemplo, la multiplicación y la fórmula T.INV), sus diferentes complejidades computacionales se ponen de manifiesto cuando se hace computación segura. No se puede ofrecer indicaciones del tiempo restante hasta finalizar la computación segura.

  • Múltiples cálculos concurrentes de computación segura pueden ser ejecutados al mismo tiempo: ten en cuenta que debe haber una única tarea pendiente a ser inicializada, y hasta que dicha tarea se inicialice, no se puede inicializar ninguna otra más. Saturar los cores/CPUs o la red puede producir retrasos inesperados.