Skip to content
Blog » Cryptography

Cryptography

An Example ECDH Key Exchange with HKDF and Authenticated Encryption in Rust

I recently created an example project which implements an ephemeral key exchange between a client and server over TCP. The program uses the Ring cryptography library to compute a shared secret using the X25519 algorithm. Two session keys are derived from the output of the key exchange using HKDF and… Read More »An Example ECDH Key Exchange with HKDF and Authenticated Encryption in Rust

Authenticated Encryption in Rust using Ring

Authenticated Encryption with Associated Data (AEAD) is a modern cryptography primitive that enables secure encryption and decryption of data using a symmetric key in a way that prevents it from being altered or tampered with. The Ring cryptography library implements the AES-GCM and ChaCha20-Poly1305 authenticated encryption algorithms which are two… Read More »Authenticated Encryption in Rust using Ring

Signing & Verifying Messages with Digital Signatures in Rust using Ring

The Ring cryptography library supports signing and verifying the integrity of messages using digital signatures. In this post I introduce digital signatures and explain how to use the sign and verify methods defined in the ring::signature module to create and then verify signatures for any given message. Introduction to Digital… Read More »Signing & Verifying Messages with Digital Signatures in Rust using Ring

Introducing Fluent Hash – A Rust Hashing Library with a Fluent Interface

fluent-hash is a new open source Rust library which I recently published to crates.io (see here). I wanted to try creating and publishing a Rust library and so I thought I’d start with something simple and hopefully useful for other developers. It is a simple and lightweight hashing library which… Read More »Introducing Fluent Hash – A Rust Hashing Library with a Fluent Interface