Skip to content
/ lsig Public
forked from amschel99/lsig

Constructing Quantam resistant digital signatures using hash functions

Notifications You must be signed in to change notification settings

reorg-icp/lsig

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How LSIG Works

LSIG is a simple implementation of Lamport signatures designed for quantum-resistant digital signatures. Here's how it operates:

  1. Private Key Generation:

    • A private key is randomly generated
  2. Public Key Derivation:

    • The public key is derived by hashing the private key using a secure hash function.
    • This ensures that the public key is securely derived from the private key, providing a one-way mapping.
  3. Message Signing:

    • To sign a message, it is first hashed using a secure hash function (e.g., SHA-256).

    • The hash value is then used to reveal preimages based on the bit representation of the message.

    • These preimages serve as the signature blocks.

  4. Signature Verification:

    • To verify a signature, each block of the signature is hashed.
    • The resulting hash values are compared against the corresponding blocks of the public key.
    • If the hash values match, the signature is considered valid, confirming the authenticity of the message.

Limitations

  • Key Reuse: Using the same key pair to sign multiple messages may lead to revealing a significant portion of the private key.

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%