Protocolo de generación de claves distribuidas
# Protocolo de generación de claves distribuidas

Un Protocolo de generación de claves distribuidas o DKG (del inglés Distributed Key Generation) es un protocolo criptográfico en el que múltiples entidades contribuyen a calcular una clave pública y un conjunto de claves privadas donde cada clave privada pertenece a una de las entidades (criptografía con umbral. De esta forma se evita que cualquier entidad tenga acceso a información secreta perteneciente a otra entidad

## Historia

El primer protocolo DKG fue especificado por Torben Pryds Pedersen en 1991 (Protocolo DKG de Pedersen. Para ello se apoyaba en la seguridad del Protocolo de Joint-Feldman de compartición verificable de secretos.

En 1999, Rosario Gennaro y otros publicaron una serie de pruebas que demostraron que el Protocolo de Joint-Feldman era vulnerable y contribuciones maliciosas al protocolo propuesto por Pedersen era vulnerable. El mismo grupo propuso una actualización del protocolo que se protegía contra contribuciones maliciosas (Protocolo DKG de Gennaro-Jarecki-Krawczyk-Rabin).

## Aplicaciones

Los protocolos DKG son raramente utilizado en Internet por su dependencia de una comunicación síncrona.

Estos procolos son útiles en esquemas con criptografía con umbral. Por ejemplo en mecanismos de autenticación si las contraseñas, o mejor los valores hash de las contraseñas están almacenado en un solo servidor, una brecha del servidor da acceso a esa información a los atacantes. Usando criptografía con umbral podemos autenticar las contraseñas usando múltiples servidores y evitar tener un punto único del que depende la seguridad del sistema. Otro ejemplo es el uso de firmas digitales con umbral usadas como una forma de voto, donde un umbral del grupo de miembro tiene que participar para que el grupo firme digitalmente un documento.

