- Rust 64.2%
- D 35.6%
- Makefile 0.2%
| diffie_hellman | ||
| rsa | ||
| target | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
NOTE: I'm not currently working on this project and I don't know if I plan on continuing it.
Rust Crypto Suite
Background and Overview
Since I began my research in mathematical cryptography, I have been using Python with SageMath for all of my code, including my personal projects. However, lower-level code is often faster and easier to control, and memory safety is very important in crypto cybersecurity applications. Thus, I've decided to dedicate myself to mastering Rust and switching most of my work to the language for the future.
In order to do so, I intend to rewrite all of the crypto I've implemented or was planning to implement in Python with SageMath and Numpy in Rust, using standard libraries and familiarizing myself with the language. I expect this to take me a while because I am relatively unfamiliar with Rust as a language, and because many things that can be simply implemented in Python take longer and are generally more difficult to write in Rust. An outline of the projects I intend to complete is available below.
Planned Implementations
rsa: A basic implementation of RSA PKE.diffie_hellman: The Diffe-Hellman key exchange with elliptic curves.massey_omura: Massey-Omura encryption with elliptic curves.el_gamal_sig: El Gamal signatures with elliptic curves.aes_ecb: The AES-256 block cipher designed to operate in electronic codebook mode.csidh: A standard implementation of the CSIDH "post-quantum" cryptographic protocol.kyber_pkeandkyber_kem: The CRYSTALS-Kyber lattice-based public key encryption scheme and key encapsulation modules.sntrup761x25519: A modern post-quantum key exchange used by OpenSSL.