Skip to content
/ zkalc Public
forked from mmaker/zkalc

A web tool that helps you compare and visualize the performance of cryptographic operations

License

Notifications You must be signed in to change notification settings

asn-d6/zkalc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zkalc is a cryptographic calculator!

zkalc helps you calculate how much time cryptographic operations take on a real computer. If you use our software, consider citing us!

Why?

Cryptographers tend to be good at cryptography but they can be quite bad at estimating the time it takes a computer to run their schemes.

We hope that zkalc can help shorten the gap between cryptography and practice:

  • Cryptographers can use the simple zkalc UX to learn how fast their paper will run on various machines
  • Protocol designers can more easily tune the parameters of their protocol depending on their requirements

Please see the various pages of the website for more information on how zkalc works.

Prerequisites

To run benchmarks, we assume that make, git, rust (nightly!) and go (> 1.17) are installed in the system.

Installing Go. To install go, you can download the binaries at go.dev/dl and add go/bin to your PATH environment variable.

Installing Rust. To install rust, you can follow rustup.rs and then type rustup default nightly.

Benchmarks

All benchmarks are listed and run inside the benchmarks/ folder. To run them, type:

    $ cd backend
    $ make

The files generated will end up stored in perf/data/new/

Processing Benchmarks

For this step, we require python3. Benchmarks are assumed to be in a parent folder called bench-data resembling our raw data repository.

    $ cd perf
    $ make

Fronted development

To develop the frontend, npm is required. Run:

    $ cd frontend
    $ npm i
    $ npm run dev

To start a local development server

About

A web tool that helps you compare and visualize the performance of cryptographic operations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 48.5%
  • Rust 25.2%
  • Python 10.7%
  • MDX 9.5%
  • CSS 2.9%
  • Makefile 1.9%
  • Shell 1.3%