This repository contains the source code for a comparative study on the performance and storage overhead of Kyber, RSA, and ECC cryptographic algorithms.
Ensure you have the following software installed:
- Rust: Install from rustup.rs.
- Valgrind: Required for the iai-callgrind benchmarking tool.
- iai-callgrind-runner: Install the crate iai-callgrind-runner for running the benchmarks:
cargo install iai-callgrind-runner
Warning
This command will take a significant amount of time to complete as it runs extensive performance tests. It is expected to take more than two hours.
To measure the computational performance of key generation, encapsulation/encryption, and decapsulation/decryption, run the following command from the project root:
cargo bench
This will execute all benchmark tests located in the benches/ directory for Kyber, RSA, and ECC.
To calculate the storage overhead for encrypted messages of various sizes, run this command:
cargo run --release
This command will display the results on your screen.
For a detailed analysis of the methodology and results, please refer to the full study.