El intercambio de secretos es un término en criptografía , que se entiende como cualquiera de los métodos de distribución de un secreto entre un grupo de participantes, cada uno de los cuales obtiene su propia parte determinada. El secreto solo puede ser recreado por una coalición de participantes del grupo original, y al menos un número inicialmente conocido de ellos debe estar incluido en la coalición.
Los esquemas de intercambio de secretos se utilizan en casos en los que existe una probabilidad significativa de compromiso de uno o más guardianes de secretos, pero la probabilidad de colusión desleal por parte de una parte significativa de los participantes se considera insignificante.
Los esquemas existentes tienen dos componentes: intercambio de secretos y recuperación de secretos. Compartir se refiere a la formación de partes del secreto y su distribución entre los miembros del grupo, lo que permite compartir la responsabilidad del secreto entre sus miembros. El esquema inverso debe asegurar su restauración, sujeto a la disponibilidad de sus poseedores en un cierto número requerido [1] .
Caso de uso: Protocolo de votación secreta basado en intercambio secreto [2] .
Que haya un grupo de personas y un mensaje de longitud , compuesto por caracteres binarios. Si selecciona al azar mensajes binarios que en total serán iguales y distribuye estos mensajes entre todos los miembros del grupo, resulta que será posible leer el mensaje solo si todos los miembros del grupo se juntan [1] .
Hay un problema importante en tal esquema: en caso de pérdida de al menos uno de los miembros del grupo, el secreto se perderá irremediablemente para todo el grupo.
A diferencia del procedimiento de división del secreto, en el que , en el procedimiento de división del secreto, la cantidad de acciones que se necesitan para restaurar el secreto puede diferir de la cantidad de acciones en las que se divide el secreto. Tal esquema se denomina esquema de umbral , donde es el número de acciones en las que se dividió el secreto y es el número de acciones que se necesitan para restaurar el secreto. Las ideas de circuitos fueron propuestas de forma independiente en 1979 por Adi Shamir y George Blakley . Además, Gus Simmons [3] [4] [5] estudió procedimientos similares .
Si la coalición de participantes es tal que tienen suficientes acciones para restaurar el secreto, entonces la coalición se considera permitida. Los esquemas de intercambio de secretos en los que las coaliciones permitidas de participantes pueden recuperar el secreto de forma única, y los no resueltos no reciben ninguna información a posteriori sobre el posible valor del secreto, se denominan perfectos [6] .
La idea del diagrama es que dos puntos son suficientes para definir una línea recta , tres puntos son suficientes para definir una parábola , cuatro puntos son suficientes para definir una parábola cúbica , y así sucesivamente. Para especificar un polinomio de grado , se requieren puntos .
Para que el secreto sea restaurado solo por los participantes después de la separación, está "oculto" en la fórmula de un polinomio de grado sobre un campo finito . Para restaurar de forma única este polinomio, es necesario conocer sus valores en los puntos, y utilizando un número menor de puntos, no será posible restaurar de forma única el polinomio original. El número de puntos diferentes del polinomio no está limitado (en la práctica, está limitado por el tamaño del campo numérico en el que se realizan los cálculos).
Brevemente, este algoritmo se puede describir de la siguiente manera. Sea dado un campo finito . Arreglamos varios elementos no secretos distintos de cero de este campo. Cada uno de estos elementos se atribuye a un miembro específico del grupo. A continuación, se selecciona un conjunto arbitrario de elementos del campo , a partir del cual se compone un polinomio sobre un campo de grado . Después de obtener el polinomio, calculamos su valor en puntos no secretos e informamos los resultados a los miembros correspondientes del grupo [1] .
Para recuperar el secreto, puedes usar una fórmula de interpolación , como la fórmula de Lagrange .
Una ventaja importante del esquema de Shamir es que es fácilmente escalable [5] . Para aumentar el número de usuarios en un grupo, solo es necesario agregar el número correspondiente de elementos no secretos a los existentes, y se debe cumplir la condición para . Al mismo tiempo, el compromiso de una parte del secreto cambia el esquema de -umbral a -umbral.
Dos rectas no paralelas en un plano se cortan en un punto. Cualquier dos planos no coplanares se intersecan en una línea recta, y tres planos no coplanares en el espacio también se intersecan en un punto. En general , los hiperplanos de n n dimensiones siempre se intersecan en un punto. Una de las coordenadas de este punto será un secreto. Si el secreto está codificado como varias coordenadas de un punto, entonces ya desde una parte del secreto (un hiperplano) será posible obtener alguna información sobre el secreto, es decir, sobre la interdependencia de las coordenadas del punto de intersección.
El esquema de Blackley en tres dimensiones: cada parte del secreto es un plano , y el secreto es una de las coordenadas del punto de intersección de los planos. Dos planos no son suficientes para determinar el punto de intersección. |
Con la ayuda del esquema de Blackley [4] , se puede crear un esquema de intercambio de secretos (t, n) para cualquier t y n : para hacer esto, se debe usar la dimensión espacial igual a t , y dar a cada uno de los n jugadores un hiperplano que pasa por el punto secreto. Entonces cualquier t de n hiperplanos se intersecará únicamente en un punto secreto.
El esquema de Blackley es menos eficiente que el esquema de Shamir: en el esquema de Shamir cada acción es del mismo tamaño que el secreto, mientras que en el esquema de Blackley cada acción es t veces mayor. Hay mejoras en el esquema de Blakely para mejorar su eficiencia.
En 1983, Maurice Mignotte , Asmuth y Bloom propusieron dos esquemas secretos para compartir basados en el teorema chino del resto . Para un número determinado (en el esquema de Mignotte este es el secreto en sí mismo, en el esquema de Asmuth-Bloom es un número derivado), los restos se calculan después de dividir por una secuencia de números, que se distribuyen a las partes. Debido a restricciones en la secuencia de números, solo un cierto número de partes puede recuperar el secreto [7] [8] .
Deje que el número de usuarios en el grupo sea . En el esquema de Mignotte, se elige un cierto conjunto de números coprimos por pares de modo que el producto de los números más grandes sea menor que el producto del más pequeño de estos números. Sean estos productos iguales y , respectivamente. El número se denomina umbral del esquema construido sobre el conjunto . Como secreto, se elige un número tal que se cumpla la relación . Las partes del secreto se distribuyen entre los miembros del grupo de la siguiente manera: a cada miembro se le asigna un par de números , donde .
Para recuperar el secreto, debe fusionar los fragmentos. En este caso, obtenemos un sistema de comparaciones de la forma , cuyo conjunto de soluciones se puede encontrar utilizando el teorema chino del resto . El número secreto pertenece a este conjunto y cumple la condición . También es fácil demostrar que si el número de fragmentos es menor que , entonces para encontrar el secreto , es necesario clasificar el orden de los números enteros. Con la elección correcta de números, tal búsqueda es casi imposible de implementar. Por ejemplo, si la profundidad de bits es de 129 a 130 bits, y entonces la relación será del orden [9] .
El esquema Asmuth-Bloom es un esquema Mignott modificado. A diferencia del esquema de Mignotte, se puede construir de tal manera que sea perfecto [10] .
En 1983, Karnin, Green y Hellman propusieron su esquema de intercambio secreto , que se basaba en la imposibilidad de resolver un sistema con incógnitas con menos ecuaciones [11] .
En el marco de este esquema, se eligen vectores bidimensionales de modo que cualquier matriz de tamaño compuesta por estos vectores tenga rango . Deje que el vector tenga dimensión .
El secreto del circuito es el producto de matriz . Las acciones del secreto son obras .
Teniendo algunas acciones, es posible componer un sistema de ecuaciones lineales de dimensión , en el que los coeficientes son desconocidos . Resolviendo este sistema, puedes encontrar , y teniendo , puedes encontrar el secreto. En este caso, el sistema de ecuaciones no tiene solución si las acciones son menores que [12] .
Hay varias formas de romper el protocolo del circuito de umbral:
También existen otras posibilidades de interrupción que no están relacionadas con la implementación del esquema: