Skip to content

deusbalatro/post-quantum-digital-signature

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Quantum Resistant Digital Signature Program in C

This program generates a unique quantum resistant signature for given file.

It's implemented on Lamport Scheme which was invented by Leslie Lamport. Also it uses OpenSSL

Lamport Scheme might seem useless since it throws the private key, but it is useful since it throws the private key. You are trying to solve the reputation problem via ledger. Lamport Scheme naturally kills it. Imagine it in the blockchain. Anyway.

Click Here

Demo

USAGE:

When you want to sign a file, you do sign ~/example/dir/file.ext. It will generate 2 files. file.ext.sg.bin and file.ext.pk.bin.

Then you send these 2 files with the message (the signed file). Receiver verifies it with verify file.ext file.ext.sg.bin file.ext.pk.bin.

It uses all bytes of the message. So even metadata changes are being detected as corruption.

Example I/O:

$ sign test.c
> Signature and Public Key files have been created

$ verify test.c test.c.sg.bin test.c.pk.bin
> The signature is verified

$ echo -n " " >> test.c
$ verify test.c test.c.sg.bin test.c.pk.bin
> WARNING. File has been corrupted at byte 4