Ring is a popular Rust cryptography library which has support for generating cryptographic keys from a single input key using HKDF, the HMAC-based Extract-and-Expand Key Derivation Function. As you will see in this post, the ring::hkdf module supports securely generating pseudorandom bytes using the Salt::extract and Prk::expand methods implemented in… Read More »Deriving Cryptographic Keys with HKDF in Rust using Ring
Ring is one of the most popular Rust cryptography libraries and it provides a way to securely generate random numbers by using the ring::rand module. In this post I will show you how to generate random numbers correctly using the types provided by Ring. PRNGs vs CSPRNGs Computers are deterministic… Read More »Generating Random Numbers in Rust using Ring
In my previous post I introduced the Rust cryptography library Ring (see here). In this post I will show you how to use Ring to sign and verify messages using the HMAC algorithm. Introduction to HMAC First a bit of cryptography theory. There are four main properties which we would… Read More »Signing and Verifying Messages with HMAC in Rust using Ring
Ring is an open source cryptography library that implements cryptographic primitives and is designed to have an easy to use interface. It is implemented in Rust, C and assembly and most of the C and assembly language code in ring comes from BoringSSL. It supports the following features: You can find the… Read More »Cryptographic Hash Functions in Rust using Ring
Hash functions are a foundational topic in computer science and have many practical applications in many areas of software engineering. Cryptographic hashes due to their unique properties are used in cryptography and also play a key role in the implementation of cryptocurrencies, blockchains and other distributed ledger technologies. It’s important… Read More »Cryptographic Hash Functions in Java
Web3j is a Java library which provides a wrapper for the ethereum JSON-RPC API and allows you to easily interact with the ethereum blockchain. From the official documentation (see here: https://docs.web3j.io), Web3j is described as a highly modular, reactive, type safe Java and Android library for working with Smart Contracts… Read More »Introduction to Web3j
Web 3.0 is what people are referring to as version 3 of the internet. Version 1 of the web was the beginning. Websites were very simple with limited interactivity and the basic tools and protocols of the internet were first being developed. Later, websites started to be created with more… Read More »What is Web 3.0?