A web tool that helps you compare and visualize the performance of cryptographic operations
zkalc helps you calculate how much time cryptographic operations take on a real computer. If you use our software, consider citing us!
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:
Please see the various pages of the website for more information on how zkalc works.
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
.
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/
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
To develop the frontend, npm
is required.
Run:
$ cd frontend
$ npm i
$ npm run dev
To start a local development server