Lamport One Time Signature es un método para construir una firma digital y generalmente involucra el uso de una función hash criptográfica. Como es un esquema de firma de un solo uso, solo se puede utilizar para firmar de forma segura un mensaje.
Supongamos que Alice quiere firmar digitalmente su mensaje para Bob, el proceso se puede explicar en 3 pasos:
- Generación de claves
- Generación de firma
- Verificación de firma.
1. Generación de claves:
- Alice primero necesita crear un par de claves Lamport, una clave privada y una clave pública correspondiente.
- Para crear la clave privada, se utiliza un generador seguro de números aleatorios para generar 256 pares de números aleatorios. Cada número consta de 256 bits. Alice almacenará esta clave privada de forma segura. Recuerde que la clave privada no debe compartirse con nadie.
- Para crear la clave pública, Alice procesa cada uno de los 512 números de su clave privada. Esto producirá otros 512 números, cada uno de 256 bits. Esta es la clave pública que se compartirá con cualquier persona.
En representación matemática:
- sea un entero positivo, sea el conjunto de mensajes a firmar y sea una función hash unidireccional.
- Para y , Alicia elige aleatoriamente y aplica la función hash unidireccional para calcular .
- La clave privada y la clave pública consisten en valores, y respectivamente.
2. Generación de Firma:
- Alice codifica su mensaje mediante una función hash criptográfica de 256 bits, por ejemplo, SHA 256, para obtener un resumen de 256 bits.
- Para cada bit, dependiendo de si el valor del bit es 1 o 0, Alice elegirá el número correspondiente del par de números de su clave privada, es decir, si el bit es 0, se elige el primer número, y si el bit es 1, se elige el segundo número. Esto da como resultado una secuencia de 256 números que es su firma.
- Alice envía el mensaje junto con su firma a Bob.
En representación matemática,
- sea el mensaje que Alice quiere firmar.
- La firma se genera como = = .
- Esta firma se envía a Bob junto con el mensaje.
3. Verificación de firma:
- Bob codifica el mensaje utilizando la misma función de cifrado criptográfico de 256 bits para obtener un resumen de 256 bits.
- Para cada bit, dependiendo de si el valor del bit es 1 o 0, Bob elegirá el número correspondiente de la clave pública de Alice, es decir, si el primer bit del hash del mensaje es 0, elegirá el primer hash del primer par, y así sucesivamente. . Esto se hace de la misma manera que se muestra en el diagrama anterior. Esto da como resultado una secuencia de 256 números.
- Bob procesa cada uno de los números en la firma de Alice para obtener un resumen de 256 bits. Si esto coincide con la secuencia de 256 números que Bob había seleccionado previamente, la firma es válida.
En la representación matemática, Bob verifica que para todos
Nota: Es importante comprender que, dado que Alice ha publicado públicamente la mitad de una clave privada como su firma, la clave privada restante no se puede volver a utilizar y debe destruirse.
Publicación traducida automáticamente
Artículo escrito por jacquelinelam98 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA