ANDOS (criptografía)

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 8 de julio de 2019; las comprobaciones requieren 2 ediciones .

ANDOS ( All or Nothing Disclosure Of Secrets ) es un protocolo criptográfico para la "venta secreta de secretos" .  Que el vendedor de S secrets tenga una lista de preguntas y ponga a la venta las respuestas a cualquiera de ellas. Supongamos que el comprador B quiere comprar un secreto, pero no quiere revelar cuál. El protocolo garantiza que B obtendrá el secreto que necesita y nada más, mientras que S no sabrá exactamente qué secreto obtuvo B.

Algoritmo

Veamos los secretos que posee S , cada uno de ellos contiene un pedacito. Para cada S publica una descripción del secreto. Suponga que los compradores B y C quieren comprar secretos y , respectivamente. La idea es que los compradores tengan funciones unidireccionales individuales y cada uno opere sobre los números recibidos por el otro.

Paso 1. S da a B y C funciones unidireccionales individuales f y g , pero mantiene sus inversas para sí mismo. Paso 2. B le dice a C (respectivamente C  - B ) números de bits aleatorios (respectivamente ).

Para , que asigna números de bits a números de bits y número de bits , digamos que el índice  es el índice de bits fijos (FBI) correspondiente al par si el bit -ésimo es igual al bit -ésimo en . Está claro que hay un IFB correspondiente al par si es un IFB correspondiente al par . Si se comporta bastante aleatoriamente cuando cambia bits (como buenas funciones criptográficas), entonces, para random , uno puede estimar aproximadamente que aproximadamente los índices son IFB correspondientes a

Paso 3. B le dice a C (respectivamente C  - B ) el conjunto de índices IFB correspondientes respectivamente al conjunto de índices IFB correspondientes a Paso 4. B (respectivamente C ) le dice a S números (respectivamente , donde  es el resultado obtenido al reemplazar cada bit en , cuyo índice no es IFB , con su opuesto (respectivamente obtenido de de manera similar). Paso 5. S le dice a B (respectivamente C ) números respectivamente , . Paso 6. B (respectivamente C ) puede calcular (respectivamente ) ya que se conocen respectivamente

B y C aprendieron los secretos que necesitaban. S no aprendió nada sobre su elección. Además, ni B ni C aprendieron más que uno de los secretos o elecciones del otro. Una colusión entre B y C da como resultado que puedan aprender todos los secretos. La colusión entre S y uno de los compradores puede revelar qué secreto quiere el otro comprador.

Así que el principal problema es la colusión. Sin embargo, si hay al menos tres compradores, entonces un comprador honesto es suficiente para que sea imposible engañar al resto, gracias al uso de funciones criptográficas, ya que cada bit de la secuencia enviada a los compradores desde S depende en gran medida de los bits proporcionada por el comprador honesto.

En el caso de que haya varios compradores , el protocolo funciona exactamente de la misma manera, pero cada comprador recibe una función del vendedor junto con conjuntos de números de otros compradores.

Ejemplos

Elijamos _ Considere que S tiene los siguientes 8 secretos de 12 bits para vender: Paso 1. S le da a B y C funciones unidireccionales individuales f y g basadas en números primos (respectivamente ), módulo (respectivamente ). Los exponentes abierto y cerrado son iguales (respectivamente ). Paso 2 B le dice a C ocho números de 12 bits : C le dice a B ocho números de 12 bits : Paso 3 Que B quiera comprar el secreto . el calcula Comparando la representación binaria y B le dice a C un conjunto de IFB de la correspondiente Que C quiera comprar un secreto . Después de los cálculos, C le dice a B un conjunto de IFB de la correspondiente Paso 4 B le dice a S el número , donde  es el resultado que se obtiene al reemplazar cada bit en , cuyo índice no pertenece a , con el contrario, por ejemplo: C le dice a S los números , donde  es el resultado obtenido al reemplazar cada bit en , cuyo índice no pertenece a , con el contrario, por ejemplo: Paso 5 S le dice a B números la función inversa , por ejemplo: S le dice a C números una función inversa , por ejemplo. Paso 6 B aprende la suma bit a bit secreta del séptimo número recibido de S , a saber:

.

Si C quiere comprar el secreto , calcula la suma bit a bit del segundo número recibido de S , a saber:

.

Literatura