Utiliza algo llamado “intercambio secreto”.
Suponga que la clave es un número [matemática] k [/ matemática]. Técnicamente, necesitará [math] k [/ math] para ser un número en un campo finito , por ejemplo, tendrá que saber que está entre 0 y algún número primo [math] p [/ math].
Elija 4 números aleatorios [math] r_1, \ ldots, r_4 [/ math] del campo y dele a la persona [math] i [/ math] una función lineal [math] f_i (k, r_1, \ ldots, r_4) [ /matemáticas].
- ¿Por qué muchas mujeres odian las matemáticas?
- ¿Cuáles son algunas aplicaciones del mundo real de diversas áreas de las matemáticas?
- ¿Hay clases de matemáticas que puedas entender solo escuchando?
- ¿Los matemáticos siempre han sido buenos en matemáticas?
- Cómo calcular [matemáticas] 10 ^ 1 + 9 ^ 2 + 8 ^ 3 + 7 ^ 4 +… + 2 ^ {9} + 1 ^ {10} [/ matemáticas]
Ahora 5 personas juntas pueden usar álgebra lineal para recuperar [matemáticas] k [/ matemáticas] (y también [matemáticas] r_1, \ ldots, r_4 [/ matemáticas]), porque tienen 5 ecuaciones en 5 incógnitas.
Pero si solo se reúnen 4 personas, tienen un sistema subdeterminado: 4 ecuaciones en 5 incógnitas. No aprenderán nada sobre [math] k [/ math], solo algunas relaciones entre él y [math] r_1, \ ldots, r_4 [/ math]. Este puede ser el caso, porque si elige las funciones correctas, cada posible [matemática] k [/ matemática] corresponde a un valor de cada [matemática] r [/ matemática], entonces cada [matemática] k [/ matemáticas] es igualmente probable.
Podría tener un caso degenerado en el que el sistema subdeterminado le dice [matemáticas] k [/ matemáticas] o donde unas 5 personas no pueden calcularlo, pero no si elige las funciones lineales con cuidado, por ejemplo, utilizando una matriz de Vandermonde.
EDITAR: Así es como funciona RAID también. Para RAID, no tiene el requisito de que los datos permanezcan en secreto si tiene menos de 5 claves, lo que tiene dos efectos:
- Estableces [math] r_1, \ ldots, r_4 [/ math] para que sean más datos, en lugar de aleatorios. Recuerde que puede recuperarlos así como [math] k [/ math] con 5 acciones. Esto le permite codificar más datos con recursos compartidos más cortos.
- Puede elegir funciones lineales más simples, por lo que el sistema irá más rápido.
EDITAR 2: Si el secreto que se comparte es una clave de firma criptográfica (que parece ser), entonces hay un protocolo para que 5 miembros firmen un mensaje sin revelar sus acciones o reconstituir el secreto [math] k [/ math].