Transferencia inconsciente

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En seguridad informática, se conoce el protocolo de transferencia incosciente (oblivious transfer) como un método utilizado para transferir un secreto de un usuario A a un usuario B 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 protoclos como Compromiso de bits y Demostración de conocimiento nulo.

Definición formal[editar]

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 x^2 mod n 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.