Cryptography Trends And News Going Into 2020

Quantum Computing While quantum computing may not be coming quite as fast as some in the field had feared (or perhaps hoped), Google did solve an impressive problem this year. They published a paper in Nature stating that their quantum processor solved a problem that a digital computer would take 10,000 years to solve. The problem that was solved deals …

(Very) Basic intro to AES-256 Cipher

AES stands for “Advanced Encryption Standard” and is a specification that has selected the Rijndael cipher as its symmetric key ciphering algorithm. Using AES, a message can be encrypted with a key (like a password) and no one except the key holder can decrypt the message. This is useful for many reasons, but a good example is a password manager …

(Very) Basic Intro to Hash Functions (SHA-256, MD-5, etc)

This is going to be a basic introduction to hash functions. I will assume most of my audience is here to gain an understanding of why hash functions are used and the basic idea of why they work. My goal is to explain it in a general sense, I will be omitting proofs and implementation details and instead focusing on …

(Very) Basic Intro To Elliptic Curve Cryptography

This is going to be a basic introduction to elliptic curve cryptography. I will assume most of my audience is here to gain an understanding of why ECC is an effective cryptographic tool and the basics of why it works. My goal is to explain it in a general sense, I will be omitting proofs and implementation details and instead …

(Very) Basic Intro to Key Derivation Functions (Argon2, Scrypt, etc)

A key derivation function, or KDF, derives one or many secret keys from a secret value. If you’ve ever needed to store a password in a database or create a private key from a password, you may have used a KDF. Examples of popular KDFs: Argon2 Scrypt PBKDF2 Are KDFs just hash functions? No, but there is overlap. In order …

(Very) Basic Shamir’s Secret Sharing

By @wagslane (twitter) Adi Shamir’s secret sharing is an algorithm used to share ownership of a secret among a group of participants. In order to calculate the original secret, a minimum number of shares must be used. Example Problem Let us imagine that a family of four shares a Bitcoin wallet. This Bitcoin wallet contains a single private key that …

Cryptology, Cryptography, and Cryptanalysis – Get your Vocabulary Straight!

Many new developers are jumping right into coding (usually for those fat paychecks) without learning much about the history of Computer Science. Alan Turing, regarded as the father of Computer Science, was first a cryptologist and mathematician and pioneered the field of CS in order to solve cryptological problems. In this article, I will go over common crypto-related definitions for …

HMAC and MAC Explained Simply – Building Secure Auth With JWTs

HMACs and MACs are authentication codes and are often the backbone of JWT authentication systems. Let’s take a look at how they work! MAC – Message Authentication Code MACs are exactly what they sound like; small codes that allow receivers of messages to know who the sender was (authentication). A MAC code is calculated by using a message and a …

Randomness and Entropy in Node and Electron

Randomness is a hard problem for computers. For this reason most functions that generate randomness are not considered cryptographically secure. That means that it is possible that an attacker can take a good guess at what number a non-secure randomness generator generated. How can randomness be attacked? Many non-secure randomness (or entropy) generators would do something similar to the following: …

(Very) Basic Intro to the Scrypt Hash

This will be a basic introduction to the Scrypt hash function, or more accurately, KDF function. I will assume most of my audience is here to gain an understanding of why Scrypt is used and the basics of how it works. My goal is to explain it in a general sense, I will be omitting proofs and implementation details and …