(Very) Basic Intro to PGP (GPG)

computer with encrypted data on screen

PGP, or its open-source alternative, GPG, is a program used to encrypt data such that only an authorized party can decrypt it. In this introduction, we will cover its use-cases and a high-level overview of the algorithms involved. Both programs (and others) adhere to the OpenPGP protocol. Because it is an implementation agnostic protocol, people … Read more (Very) Basic Intro to PGP (GPG)

(Very) Basic Intro to the Scrypt Hash

Scrypt is a slow-by-design hash function or more accurately, a KDF function. Its purpose is to take some input data, and create a fingerprint of that data, but to do it very slowly. A common use-case is to take a password and create an n-bit private key, which is much longer and more secure. Here … Read more (Very) Basic Intro to the Scrypt Hash

AES-256 Cipher – Python Cryptography Examples

By Lane Wagner – @wagslane on Twitter Need to encrypt some text with a password or private key in Python? You certainly came to the right place. AES-256 is a solid symmetric cipher that is commonly used to encrypt data for oneself. In other words, the same person who is encrypting the data is typically decrypting it … Read more AES-256 Cipher – Python Cryptography Examples

Will Banning Cryptography Keep the Country Safe?

By Lane Wagner – @wagslane on Twitter Politicians in the United States have been claiming recently that end-to-end encryption is certainly too dangerous to permit. This movement is serious. Congress even introduced a bill that would remove the protections that we currently have that allow us to legally encrypt information. Lindsey Graham is one such proponent of … Read more Will Banning Cryptography Keep the Country Safe?

Why is Exclusive Or (XOR) Important in Cryptography?

If you are getting into cryptography, or just trying to understand the fundamentals, you may have noticed that the exclusive-or operation is used quite often, especially in ciphers. What is XOR (⊕)? XOR, or “exclusive or” operates on binary data. It returns true if both of its inputs are opposites (one false and one true), … Read more Why is Exclusive Or (XOR) Important in Cryptography?

(Very) Basic Intro to The 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. AES encrypts a message with a private key and no one except the key holder can decrypt the message. This is useful for many reasons, but a good example is a laptop that … Read more (Very) Basic Intro to The AES-256 Cipher

(Very) Basic Shamir’s Secret Sharing

By @wagslane (twitter) We use an algorithm called Adi Shamir’s secret sharing in order to share ownership of a secret among a group of participants. Then, in order to calculate the original secret, a minimum number of shares must be used. Example Problem To illustrate, let us imagine that a family of four shares a … Read more (Very) Basic Shamir’s Secret Sharing

Stop with the Obfuscation: Encoding and Encryption are Not the Same

This is a topic that has been talked about quite a bit, but I think it’s an important one to reiterate to our users. Encoding is not Encryption! Encryption is a specific subset of encoding where the encoded messages can only be accessed by authorized parties (the ones holding the decryption keys). Encoding is simply … Read more Stop with the Obfuscation: Encoding and Encryption are Not the Same