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
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?
By Lane Wagner – @wagslane on Twitter The purpose of cryptography is to keep information private, and the purpose of open-source is to make code public… So we shouldn’t open source our cryptography algorithms right? I’ve been asked this several times by multiple people so I figured it is a subject worth addressing. Many developers seem to … Read more Is Open-Source Cryptography Really Secure?
By Lane Wagner – @wagslane on Twitter Building a from-scratch server or using a lightweight framework is empowering. With that power comes responsibility, specifically the responsibility to securely store user’s passwords. Can I Store Passwords In Plain Text? To demonstrate the potential dangers, let us assume we DON’T hash passwords on a fake example website, LoveMatchingToday. Inevitably … Read more Hashing Passwords – Python Cryptography Examples
By Lane Wagner – @wagslane on Twitter Lattice-based cryptography has been coming into the spotlight recently. In January 2019, Many of the semifinalists in the NIST post-quantum-cryptography competition were based on lattices. Let’s explore the basics of lattices and how they apply to cryptosystems. What is a Lattice? According to Wikipedia, a lattice is the set of … Read more (Very) Basic Intro to Lattices 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?
Quantum Computing Quantum computing may not be coming quite as fast as some in the field had certainly feared (or perhaps hoped). Google did, however, solve an impressive problem this year. They published a paper in Nature. It stated that their quantum processor solved a problem that, in contrast, a digital computer would take 10,000 … Read more Cryptography Trends And News Going Into 2020
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
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 … Read more (Very) Basic Intro to Hash Functions (SHA-256, MD5, etc)
A key derivation function, or KDF, derives one or many secret keys from a secret value. Therefore, 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. For instance, some examples of popular KDFs: Argon2 Scrypt PBKDF2 Are KDFs just … Read more (Very) Basic Intro to Key Derivation Functions (Argon2, Scrypt, etc)