|
Subject
Second Promotor INDI: Prof. An Braeken Privacy and security are ever so important, and they fall or stand with the performance and safety of cryptography and cryptographic implementations. The Rust programming language has gotten a lot of traction and attention lately, and this especially true in the cryptographic communities. This is because of its safety guarantees, and uncompromised performance.
Rust allows to safely abstract over cryptographic operations, and this thesis seeks the limit of these abstractions. By abstracting over multiscalar multiplications using either lazy computation or macro operations, it is possible to dispatch larger computations, such as these necessary for zero-knowledge protocols, to a GPU. This potentially increases performance of zero-knowledge provers and verifiers.
Kind of work
Build the necessary abstractions in the Rust language to integrate a high-performance GPGPU EC implementation with the existing EC and ZK ecosystem. Benchmark the implementation and study the resulting latency-throughput trade-off, both stand-alone and integrated with existing proofs.
Framework of the Thesis
Our team with Kris Steenhaut and An Braeken is increasingly interested in
arkworks contributors. (2022). Arkworks zkSNARK ecosystem [Rust]. https://arkworks.rs Dong, J., Zheng, F., Cheng, J., Lin, J., Pan, W., & Wang, Z. (2018). Towards High-performance X25519/448 Key Agreement in General Purpose GPUs. 2018 IEEE Conference on Communications and Network Security (CNS), 19. https://doi.org/10.1109/CNS.2018.8433161 Düll, M., Haase, B., Hinterwälder, G., Hutter, M., Paar, C., Sánchez, A. H., & Schwabe, P. (2015). High-speed Curve25519 on 8-bit, 16-bit, and 32-bit microcontrollers. Designs, Codes and Cryptography, 77(23), 493514. https://doi.org/10.1007/s10623-015-0087-1 Mahé, E. M., & Chauvet, J.-M. (2014). Fast GPGPU-Based Elliptic Curve Scalar Multiplication (No. 198). https://eprint.iacr.org/2014/198 Valence, H. de, & Lovecruft, I. (2016). curve25519-dalek: A pure-Rust implementation of group operations on Ristretto and Curve25519. https://github.com/dalek-cryptography/curve25519-dalek
Number of Students
2
Expected Student Profile
Interest in cryptography, knowledge of Rust or eager to learn Rust on very short notice. Knowledge of assembly, C, embedded programming and elliptic cryptography is a plus, but can be learned throughout the project.
|
|