Skip to content

Library associated with the paper "Interactive Threshold Mercurial Signatures and Applications", a paper accepted at ASIACRYPT 2024. Implemented by Masaya Nanri (@mnanri)

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

octaviopk9/asiacrypt_tms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Implementaion of Threshold Mercurial Signatures

Library associated with the paper "Interactive Threshold Mercurial Signatures and Applications", a paper accepted at ASIACRYPT 2024. Implemented by Masaya Nanri (@mnanri)

Disclaimer: This implementation has not been reviewed or audited beyond the authors' scrutiny. It is a prototype implementation, developed for academic purposes to validate the algorithms and protocols presented in the related paper. Some sub-routines are naive implementations whose sole purpose is to provide feasibility results. Therefore, this implementation is not intended to be used "as it is" in production and you should use it at your own risk if you wish to do so.

You can run the benchmark code in this project to obtain a detailed report.

How to run the benchmark

  1. Install Rust programing language following instruction like this. If you install it successfully, you can run cargo --version command like this:
$ cargo --version
cargo 1.75.0 (1d8b05cdd 2023-11-20) # outputed version is depends on your environment.
  1. Run the command cargo build inside the project's directory to produce the binaries.

  2. Run the command cargo bench to run the benchmark. Benchmarks are based on Criterion, a benchmarking library. This library will print on your console but for extensive statistical results with plots and easy to navigate, Criterion will generate an HTML report under 'target/criterion/report/index.html' in the project folder. Criterion runs the code you give it a varying amount of iterations, depending on the execution time of every run. In our case it tends to run every function 100 times.

To generate the library's documentation you can run cargo doc --open

Example of result

When you run cargo bench, you will get information as in the table shown below (l means the number of elements in message and sign key) depending on the hardware and versions used. Besides, you will also get the numbers corresponding to the verification times.

Scheme Parties Sign(l=1) Sign(l=5) Sign(l=10)
MS 1 0.3 0.4 0.5
TMS 2 3.9 6.2 10.1
TMS 5 13.3 19.3 29.6
TMS 10 28.0 40.8 60.5

About

Library associated with the paper "Interactive Threshold Mercurial Signatures and Applications", a paper accepted at ASIACRYPT 2024. Implemented by Masaya Nanri (@mnanri)

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages