Understanding Merkle Trees

I wrote this article in 2021 on Hashnode in a flurry of interest in cryptography. I am reposting it here to archive it. In this article, we will build an understanding of Merkle Trees and their applications. What is a Merkle Tree? A Merkle Tree is a data structure that makes it efficient to verify the integrity of a collection of data. These data structures are used in all sorts of applications....

August 1, 2021 · 8 min · Hamish Gibbs

Understanding SHA-1 with Python

I wrote this article in 2021 on Hashnode in a flurry of interest in cryptography. I am reposting it here to archive it. How does a hashing algorithm actually work? And what makes it secure? In this article, we will look at an implementation of SHA-1 (Secure Hashing Algorithm 1) in Python and discuss each step used to create a hash digest. While there is plenty of information about how to use hashing algorithms generally, and about the security properties of specific hashing algorithms, this article is for anyone who would like to dive deeper into understanding exactly how a hashing algorithm maps an arbitrary array of bits to a unique hash digest....

August 1, 2021 · 6 min · Hamish Gibbs