Firmas criptográficas

Los esquemas de firma criptográfica son un componente fundamental de las redes de criptomonedas que verifican la integridad y el no repudio de los mensajes de transacciones en la red. Ellos emplean criptografía asimétrica y tomar numerosas formas.

Los tipos de firmas criptográficas (también conocidas como firmas digitales) aplicadas en una criptomoneda específica generalmente se seleccionan por ciertas ventajas que ofrecen. Desde sus inicios, se han optimizado continuamente para mejorar su eficiencia y seguridad..

Firmas criptográficas

Las criptomonedas han generado una nueva y vibrante aplicación de firmas digitales, y su desarrollo futuro seguramente acompañará a más avances en el campo de la criptografía..

Una breve historia

La primera concepción de los algoritmos de firma digital se atribuye a Whitfield Diffie y Martin Hellman basados ​​en un solo sentido funciones de trampilla que acuñaron en su 1976 papel. Las funciones de trampilla se utilizan ampliamente en criptografía y están compuestas matemáticamente para que sean fáciles de calcular en una dirección y extremadamente difíciles de calcular en la dirección inversa..

Rivest, Shamir y Adleman crearon posteriormente el primer algoritmo de firma digital primitivo conocido como RSA. RSA es el algoritmo criptográfico más ubicuo que se utiliza en la actualidad y domina la transmisión segura de datos a través de Internet. Poco después, esquemas de firma digital prominentes como Lamport Signature y Árboles Merkle fueron desarrollados, con Merkle Trees funcionando de manera similar como un componente central de las redes blockchain.

¿Qué es un árbol Merkle?

Leer: ¿Qué es un árbol Merkle??

Las firmas digitales utilizan criptografía de clave pública / privada donde un par de claves se usa como parte de un algoritmo para enviar mensajes privados a través de canales no seguros. El propósito es lograr la autenticidad del mensaje a través de la clave pública verificando que el mensaje proviene de la clave privada correspondiente. El cifrado es donde solo el titular de la clave privada puede descifrar el mensaje enviado y cifrar con la clave pública. El no repudio es otro componente vital, lo que significa que un firmante no puede negar que firmó una transacción y es matemáticamente imposible que un tercero falsifique una firma..

Normalmente, un algoritmo de firma digital tiene tres componentes:

  1. Generación de claves
  2. Algoritmo de firma
  3. Algoritmo de verificación de firmas

La generación de claves es vital para la integridad de la firma digital, ya que genera la clave privada y la clave pública correspondiente. En las criptomonedas, la clave privada debe generarse al azar para garantizar que nadie más tenga acceso a la billetera correspondiente además del usuario..

El algoritmo de firma produce una firma dado un mensaje (es decir, una transacción) y la clave privada.

El algoritmo de verificación de firma verifica la autenticidad de la firma cuando se le da el mensaje, la clave pública y la firma digital.

Una vez que el destinatario de una transacción verifica la autenticidad de un mensaje, puede verificar la integridad ejecutando el mensaje a través del mismo algoritmo hash que el remitente. Hay numerosos esquemas de firmas criptográficas disponibles en la actualidad, así que echemos un vistazo a algunos de los esquemas más comunes y algunos de los más avanzados en el horizonte..

Firmas de Lamport

Firmas de Lamport fueron una de las primeras firmas digitales y son claves de un solo uso que no se pueden reutilizar. Inventado por Leslie Lamport en 1979, las firmas de Lamport se pueden asegurar usando cualquier función de trampilla unidireccional, haciéndolas extremadamente flexibles en su diseño. Por lo general, usan funciones hash y su seguridad depende directamente de la seguridad de la función hash..

Las firmas de Lamport se pueden construir a partir de funciones hash criptográficas avanzadas como el Skein resistente cuántico o el hash Keccack. Dado que pueden acomodar grandes funciones hash como Skein y Keccack, los Lamports son ideales para la resistencia cuántica en etapa temprana, aunque el potencial dinámico de las computadoras cuánticas y los avances resultantes de su aparición es casi imposible de predecir..

Algoritmo de firma digital RSA

El estándar actual de Internet para el cifrado de mensajes, que rompe el algoritmo RSA, se conoce como Problema de RSA. Su función de trampilla unidireccional se basa en el concepto de factorización prima.

Criptografía RSA

Leer: ¿Qué es la criptografía RSA??

RSA es más engorroso que otros algoritmos de firma digital y se utiliza para el cifrado masivo en lugar de cifrar directamente los datos del usuario. Sin embargo, sigue siendo, con mucho, el algoritmo de firma digital más popular utilizado en la actualidad..

Algoritmo de firma digital de curva elíptica (ECDSA)

ECDSA se utiliza en muchas criptomonedas y es el algoritmo de firma digital de elección para Bitcoin hasta su transición pendiente a Schnorr Signatures. ECDSA es más eficiente que la criptografía RSA debido a su tamaño de clave mucho más pequeño. Esta es una opción óptima para blockchains que necesitan reducir la hinchazón de blockchain y han estado lidiando con tamaños cada vez mayores de clientes completos..

Criptografía de curva elíptica

Leer: ¿Qué es la criptografía de curva elíptica?? 

ECDSA se basa en la noción de multiplicación de puntos para proporcionar la funcionalidad de trampilla unidireccional necesaria para una firma digital. El cifrado de ECDSA se basa en una función algebraica y su curva sobre un gráfico finito. Una buena aleatoriedad es esencial para cualquier algoritmo de firma digital, pero es particularmente crucial con ECDSA.

Una clave ECDSA de 384 bits se considera lo suficientemente segura para la información gubernamental más clasificada por la NSA.

Firma del anillo

Una firma de anillo es un tipo de firma digital que confunde al firmante real de una transacción al confundir su firma dentro de un grupo (anillo) de otras firmas válidas. El diseño debe hacer que sea computacionalmente inviable determinar quién es el verdadero firmante de la transacción..

¿Qué son las firmas de anillo?

Leer: ¿Qué son las firmas de anillo?? 

Las firmas de anillo se utilizan en las monedas CryptoNote, incluido Monero. Monero usa firmas de anillo tomando una clave de cuenta del remitente de transacciones y mezclándola con otras claves públicas para que todos los miembros del anillo sean iguales y válidos. Las claves públicas se pueden usar varias veces para varias firmas de anillo en la red. En Monero, están diseñados para aumentar la fungibilidad del token XMR al garantizar que los resultados de las transacciones no se puedan rastrear..

Hay varios tipos de firmas de anillo. Las firmas de anillo en Monero se basan en firmas de anillo trazables antes de ser optimizado para convertirse Ring Transacciones Confidenciales, cuál es su iteración actual en Monero.

Firmas Schnorr

Consideradas ampliamente como las mejores firmas digitales por los criptógrafos, las firmas de Schnorr tienen numerosas ventajas sobre otros métodos. Las firmas de Schnorr fueron posibles para la integración en Bitcoin con Testigo segregado y ha sido durante mucho tiempo una de las principales prioridades entre los desarrolladores de Bitcoin para reemplazar el ECDSA.

Las firmas Schnorr son conocidas por su elegante sencillez y eficiencia. La función de trampilla que asegura las firmas de Schnorr se basa en problemas de logaritmos discretos. Al igual que otras funciones de trampilla, como la factorización principal en RSA, estos problemas son intratables, lo que los convierte en funciones unidireccionales..

Una de las ventajas más importantes de las firmas Schnorr es su compatibilidad con firmas múltiples. En Bitcoin, todas las entradas de transacciones requieren su propia firma, lo que lleva a una cantidad ineficiente de firmas incluidas en cada bloque. Con las firmas de Schnorr, todas estas entradas se pueden agregar en una firma, ahorrando grandes cantidades de espacio en cada bloque. Además, las firmas de Schnorr pueden aumentar la privacidad al incentivar a los usuarios a usar MonedaÚnete, la técnica de mezcla de monedas que tradicionalmente era demasiado incómoda para usar con regularidad. Las firmas de Schnorr reducen el tamaño de las transacciones en CoinJoin, reduciendo la tarifa de minería y haciendo más viable la integración de los servicios de billetera como una característica..

Finalmente, las firmas de Schnorr pueden ayudar a aumentar la capacidad de las transacciones de múltiples firmas. Las transacciones de múltiples firmas mucho más complejas, como veinte de ciento o cincuenta de mil, son posibles con el mismo tamaño de firma digital que una transacción tradicional. Las consecuencias de esto son una funcionalidad de contrato inteligente más compleja y una mejor escalabilidad de la red..

Conclusión

Las firmas criptográficas han sido un campo de estudio fascinante desde sus inicios. Las criptomonedas han acelerado el ritmo de los desarrollos en el campo de la criptografía desde su proliferación y entrada en la corriente principal. Los esquemas de firmas más avanzados seguramente evolucionarán a medida que avance la industria.

Por ahora, ECDSA parece dominar como la opción principal para la mayoría de las redes de criptomonedas, mientras que las firmas de anillo son populares entre las criptomonedas más orientadas a la privacidad. Ha habido una cantidad significativa de entusiasmo en torno a las firmas de Schnorr durante un tiempo, y su integración pendiente en Bitcoin debería proporcionar algunos beneficios excelentes a la criptomoneda heredada..