Rust and CryptographyThe following outlines some Rust examples. Unlike Python, Java and Node.js, Rust compiles to a binary code and does not need a run time environment like .NET/C# and Java. For this, it has a “borrow checking” method and where a developer does not have to release used-up memory — the compiler does it. It thus avoids the C programming nightmare of memory overruns and underruns (and is memory safe) — no memory leakage. Along with this, it supports concurrent operations. Overall, Rust runs as fast as C, and faster in many applications. At the core of this, is the ability for the Rust compiler to code directly to native machine code, and thus optimize the operations. This leads to not having to worry about garbage collection, as we do with many other programming languages. Symmetric Key (Stream)Interested in learning more about symmetric key cryptography? Try [here].
Symmetric Key (Block)Interested in learning more about symmetric key cryptography? Try [here].
FFX
Public Key (RSA)Interested in learning more about RSA? Try [here].
Public Key (Elliptic Curve)Interested in learning more about elliptic curve cryptography? Try [here].
Key ExchangeInterested in learning more about key exchange? Try [here].
Password-hashing functionsInterested in learning more about hashing? Try [here].
Hashing and MACInterested in learning more about hashing? Try [here].
Zero-knowledge proofsInterested in learning more about zero knowledge proofs? Try [here].
Crypto pairingsInterested in learning more about pairing-based cryptography? Try [here].
Principles
Secret shares
Ciphers
Post Quantum Key Exchange in Rust
Ristretto255 in Rust
|