Ir al contenido

Firma de anillo

De Wikipedia, la enciclopedia libre


En criptografía, una firma de anillo (del inglés ring signature) o firma de círculo es un tipo de firma digital que puede ser creada por cualquier miembro de un grupo de usuarios, en el que cada usuario tiene su clave. Una de las propiedades de seguridad que las firmas de anillo deben cumplir es que no debe ser posible averiguar qué clave concreta de los usuarios del grupo fue utilizada para calcular la firma.

Historia

[editar]

Las firmas de anillo fueron inventadas por Ron Rivest, Adi Shamir, and Yael Tauman, y presentadas en ASIACRYPT en 2001.[1]​ El nombre "firma de círculo" procede de la estructura circular del algoritmo de cifrado.

Definición

[editar]

Un esquema de firmas de anillo puede implementarse usando claves RSA. La idea es que el firmante real use las claves públicas de los demás miembros del grupo para formar un conjunto de valores que tengan una relación cíclica, condición que solamente debería cumplirse sabiendo una de las claves privadas correspondientes. Para el resto de esta discusión, asumiremos que hay 3 participantes y que el firmante real es el participante número 1.

Generación de firmas

[editar]

El anillo está compuesto por cada miembro con su propio par de claves RSA (una tupla así: ). Sea el mensaje a firmar. Sea una función criptográfica simétrica bajo una clave y sea la función inversa. Sea una función hash criptográfica. Sea ⊕ el operador lógico de disyunción exclusiva, también llamado XOR por su abreviación en inglés.

El participante 1 calcula y lo usará como clave para la función simétrica . A continuación, genera de forma aleatoria un valor de uso único , que servirá como punto de inicio. Luego genera valores aleatorios y que servirán para "enmascarar" su propia identidad entre los demás miembros. Calcula y . Ahora debe encontrar un valor que satisfaga la llamada "ecuación del anillo":

La ecuación se resuelve aplicando la función simétrica inversa () y la propiedad de inversión del operador XOR:

De esta manera, el firmante obtiene y lo invierte usando su propio exponente privado:

Finalmente, la firma será la tupla

Verificación de la firma

[editar]

El verificador recibe el mensaje y calcula . Ahora calcula y reconstruye la ecuación de anillo:

La firma es válida si y solo si dicha igualdad se cumple.

Anonimato

[editar]

Debido a que ninguno de los valores de enmascaramiento puede distinguirse del valor obtenido en el despeje de la ecuación, no se puede averiguar quién es el firmante real. Bajo la suposición de que RSA es criptográficamente seguro, la resolución de la ecuación requiere el conocimiento de al menos uno de los exponentes privados, lo que garantizaría que las probabilidades de que alguien fuera del anillo pueda firmar un mensaje en nombre de ese anillo sean extraordinariamente bajas.

Referencias

[editar]

Enlaces externos

[editar]