Ir al contenido

Transferencia inconsciente

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 05:49 23 jul 2019 por Aosbot (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

En seguridad informática, se conoce el protocolo de transferencia inconsciente (oblivious transfer) como un método utilizado para transferir un secreto de un usuario a un usuario y que A no sepa si B pudo conocer el secreto (la probabilidad de que esto suceda es de 1/2), de ahí el término "inconsciente". Este protocolo le da lugar a la eclosión de otros protocolos como Compromiso de bits y Demostración de conocimiento nulo.

Definición formal

Aquí definiremos lo que se conoce como protocolo de Rabin, la siguiente definición ilustrará con precisión un protocolo de transferencia inconsciente de una clave secreta de un criptosistema de Rabin:

  1. El usuario A elige 2 grandes números primos p y q, luego calcula n = p * q y le envía n a B.
  2. B elige una x, donde 1 < x < n y mcd(n, x) = 1 (que n y x sean coprimos) y le envía a A.
  3. A calcula las 4 raíces de x^2 mod n que son (x, n-x, y, n-y), elige una aleatoriamente y se la envía a B.
  4. Si B recibe y o n-y, entonces B puede calcular p y q mediante el algoritmo euclídeo haciendo mcd((x+y), n) lo que concluirá en p o q, si B recibe x o n-x, entonces B no puede calcular p y q.

Aquí queda plasmado como la probabilidad de que B conozca p y q es 1/2, ya que el espacio muestral contiene 4 resultados (x, n-x, y, n-y) y todos equiprobables (consistente en la definición de la probabilidad de Laplace) lo que cada resultado tiene probabilidad de 1/4 y como el suceso "B puede conocer p y q" contiene 2 de esos resultados (y, n-y), se ve que la probabilidad es de 1/2 y en aras de la generalización, si cada bit de un secreto codificado se transmite mediante transferencia inconsciente, entonces la probabilidad de que B pueda conocer el secreto con precisión es de 2^-n, donde n es la longitud de bits del secreto codificado.