Skip to content

Blake-Haydon/Lamport-Signatures

Repository files navigation

Lamport Signatures (one-time signatures)

Lamport Signatures are a digital signature scheme that uses a one-way function (hash function) to generate a signature. This is a one-time signature scheme, meaning that the same message cannot be signed twice. See wikipedia for more information.

Lamport signatures are interesting as they are assumed to be secure against quantum computers. This is because the one-way function used is a hash function, which is assumed to be secure against quantum computers.

These notebooks are used for my own learning and are not intended to be a complete reference. They are based on the original paper by Lamport.

Notebooks

  • Single Bit Signing: Simple example of signing a single bit message
  • Naive Lamport Signatures: A basic implementation of the original Lamport Signatures paper with uncompressed public and private keys
  • Short Private Keys: Lamport Signatures with a short private key (48 bytes) by using a CSPRNG to generate the private key instead of random bits
  • Short Public Keys: Lamport Signatures with a short public key (32 bytes) by using a vector commitment (Merkle root) instead of the full public key

Interface Images

References:

About

Lamport Signatures (one-time signatures) implemented in python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published