Firma digital BLS - BLS digital signature

Una firma digital BLS , también conocida como Boneh-Lynn-Shacham (BLS), es un esquema de firma criptográfica que permite al usuario verificar que un firmante es auténtico .

El esquema utiliza un emparejamiento bilineal para la verificación y las firmas son elementos de un grupo de curvas elípticas . Trabajar en un grupo de curva elíptica proporciona cierta defensa contra los ataques de cálculo de índices (con la salvedad de que tales ataques aún son posibles en el grupo objetivo del emparejamiento), lo que permite firmas más cortas que las firmas FDH para un nivel de seguridad similar .

Firmas producidos por el esquema de firma BLS se refieren a menudo como firmas cortas , BLS firmas cortas , o simplemente BLS firmas . El esquema de firma es demostrablemente seguro (el esquema es existencialmente imposible de falsificar bajo ataques adaptativos de mensajes elegidos ) en el modelo de oráculo aleatorio asumiendo la intratabilidad del problema computacional Diffie-Hellman en un grupo de brecha Diffie-Hellman.

Funciones de emparejamiento

Un grupo de brechas es un grupo en el que el problema computacional de Diffie-Hellman es intratable, pero el problema decisional de Diffie-Hellman puede resolverse de manera eficiente. Los emparejamientos bilineales no degenerados, computables de manera eficiente, permiten tales grupos.

Vamos a ser un no-degenerada, eficiente computable, el emparejamiento bilineal donde , son grupos de primer orden, . Sea un generador de . Considere una instancia del problema CDH , , , . Intuitivamente, la función de emparejamiento no nos ayuda a calcular la solución al problema de CDH. Se conjetura que este caso del problema de la CDH es intratable. Teniendo en cuenta , podemos comprobar para ver si sin el conocimiento de , y , probando si se mantiene.

Mediante la propiedad bilineales veces, vemos que si , entonces, ya que es un grupo de orden primo, .

Esquema de firma BLS

Un esquema de firma consta de tres funciones: generar , firmar y verificar .

Generación de claves

El algoritmo de generación de claves selecciona un número entero aleatorio como . La clave privada es . El titular de la clave privada publica la clave pública, .

Firma

Dada la clave privada y algún mensaje , calculamos la firma aplicando un hash a la cadena de bits , como . Producimos la firma .

Verificación

Dada una firma y una clave pública , lo verificamos .

Propiedades

  • Firmas de umbral simples
  • Agregación de firmas: múltiples firmas generadas bajo múltiples claves públicas para múltiples mensajes se pueden agregar en una sola firma.
  • Único y determinista: para una clave y un mensaje determinados, solo hay una firma válida (como RSA PKCS1 v1.5, EdDSA y a diferencia de RSA PSS, DSA, ECDSA y Schnorr).

Aplicaciones

Para 2020, las firmas BLS se utilizaron ampliamente en la versión 2 (Eth2) de la cadena de bloques Ethereum , como se especifica en el borrador de la especificación de firma BLS de IETF , para asegurar criptográficamente que un validador Eth2 específico realmente ha verificado una transacción en particular. El uso de firmas BLS en Ethereum se considera una solución al cuello de botella de verificación solo a mediano plazo, ya que las firmas BLS no son seguras cuánticamente . A más largo plazo, digamos, 2025-2030 , se espera que la agregación STARK sea ​​un reemplazo directo de la agregación BLS.

Ver también

Referencias

enlaces externos