Generación distribuida de claves (DKG): cómo crear un secreto compartido sin intermediario de confianza

Fuentes: What is Distributed Key Generation (DKG)?

La generación distribuida de claves, conocida como DKG, es un protocolo de computación multipartita (MPC) que permite a un grupo de participantes crear una clave criptográfica compartida sin que ninguna persona llegue a poseer la clave completa en un único lugar. Esta técnica resulta util para generar nuevas billeteras de criptomonedas, renovar los fragmentos de un secreto sin alterarlo o sustituir al distribuidor en otros protocolos MPC.

El funcionamiento basico es directo. Cada parte genera un numero aleatorio rᵢ en su propio dispositivo, lo reparte en fragmentos secretos entre los demas participantes y suma los fragmentos recibidos. Dado que la suma es lineal, el calculo no requiere comunicacion adicional: el resultado es un conjunto de fragmentos de una clave [r] que nadie ha visto en su totalidad. A partir de ahi, cada participante multiplica su fragmento por un generador publico G para obtener la clave publica conjunta rG.

El articulo ilustra el protocolo con un ejemplo concreto en aritmetica modular ℤ₁₇, tres participantes y umbral dos: cada parte elige un polinomio de grado uno, intercambia sus evaluaciones y suma los valores recibidos para obtener fragmentos del polinomio final. Cualquier par de participantes puede reconstruir r = 8 y derivar la clave publica correspondiente.

El protocolo descrito asume una red sincronica y participantes semi-honestos, por lo que el articulo remite a una solucion asincrona y resistente a adversarios maliciosos para entornos reales. La pieza combina asi una explicacion pedagogica del DKG con la promocion de una implementacion comercial disponible bajo demo.