Do you do online banking? Do you work from home? Do you use VPNs to access company resources? All these would not be possible without Cryptography. Cryptography is the art of keeping secrets, specifically through any form of communication. Cryptography has existed for thousands of years, but has become increasingly more important in recent history due […]

## Authentication

In Cryptography, the concept of Authentication serves to provide proof that the other side of a communication is indeed who they claim to be, and who you intend for them to be. There are multiple ways to verify the opposing party’s Authentication. We will look at three of the most common: Username and Password Pre-Shared-Key […]

## Diffie-Hellman

How can two people in a crowded room derive a secret that only the pair know, without revealing the secret to anyone else that might be listening? That is exactly the scenario the Diffie-Hellman Key Exchange exists to solve. The Diffie-Hellman Key Exchange is a means for two parties to jointly establish a shared secret over […]

## Anti-Replay

The Problem Before we can describe the solution, we must first adequately describe the problem Anti-Replay is trying to solve. Imagine your local bank branch office. Imagine someone going to that branch location, and depositing $100 in cash into their account. At some point following the transaction, that branch location will send some packets to the bank headquarters […]

## Using Asymmetric Keys

We’ve established how Asymmetric encryption makes use of two mathematically linked keys: One referred to as the Public Key, and the other referred to as the Private Key. We’ve also established that what one key encrypts, only the other can decrypt. These two attributes allow us to perform two separate operations with a Key Pair. Asymmetric Encryption Below is […]

## RSA Example

The RSA algorithm is the most widely used Asymmetric Encryption algorithm deployed to date. The acronym is derived from the last names of the three mathematicians who created it in 1977: Ron Rivest, Adi Shamir, Leonard Adleman. In order to understand the algorithm, there are a few terms we have to define: Prime – A number […]

## Asymmetric Encryption

Earlier, we learned that Symmetric encryption is an encryption scheme that uses the same key to encrypt and decrypt. Conversely, Asymmetric encryption, uses different keys to encrypt and decrypt. Lets take a look at a simple example. For the sake of simplicity, let us pretend for this example that there are only the lower case letters a – […]

## Hashing Algorithm

The first concept we need to discuss in our exploration of Cryptography is that of a Hashing Algorithm. A Hashing Algorithm is a mathematical formula that takes a Message of arbitrary length as input and produces as output a representational sample of the original data. For instance, a rudimentary example of a hashing algorithm is simply adding […]