Skip to main content

Introduction to Cryptography

Introduction

  • While networking protocols have made it possible for devices spread across the globe to communicate, cryptography has made it possible to trust this communication.

Importance of Cryptography

  • The ultimate purpose of cryptography is to ensure secure communication in the presence of adversaries.
  • Cryptography is used to protect confidentiality, integrity and authenticity.
  • Various compliances are in place to ensure secure communication.
    • For example, Credit cards should comply with Payment Card Industry Data Security Standard (PCI DSS).

Plaintext to Ciphertext

  • Plain text - Original readable data.
  • Ciphertext - Scrambled unreadable version of data after encryption.
  • Cipher - Algorithm or method to convert plaintext to ciphertext and vice versa.
  • Key - String of bits the cipher uses to encrypt or decrypt data.
  • Encryption - Process of converting plain text to cipher text using a cipher through the key.
  • Decryption - Process of coverting cipher text back to plain text using a cipher through the key.

Historical Ciphers

  • Cryptography’s history is long and dates back to ancient Egypt in 1900 BCE.
  • One of the simplest historical ciphers is the Ceaser Cipher.
  • In Ceaser Cipher every character in the plaintext is shifted to a certain number specified in the key.
  • There are only 25 possible combinations in ceaser cipher as the number of characters in english alphabets is 26.
  • Online tools to encrypt and decrypt ceaser cipher are

Types of Encryption

  • There are two main categories of encryption
    • Symmetric Encryption
    • Asymmetric Encryption

Symmetric Encryption

  • Uses the same key to encrypt and decrypt data.
  • It is also called Symmetric Cryptography or Private Key Cryptography.
  • Examples of Symmetric Encryption are
    • DES - Data Encryption Standard. Adopted in 1977.
    • 3DES - Triple DES. DES applied 3 times.
    • AES - Advanced Encryption Standard. Adopted in 2001.

Asymmetric Encryption

  • Uses a pair of keys. One for encryption and the other for decryption.
  • It is also called Asymmetric Cryptography or Public Key Cryptography.
  • Examples of Asymmetric Encryption are
    • RSA - Supported key size 2048, 3072, 4096 bits.
    • Diffie-Hellman - Supported key size 2048, 3072, 4096 bits..
    • ECC - Elliptic Curve Cryptography. ECC can achieve equivalent security with shorter keys. For example: 256-bit ECC key is equivaluent to 3072 bit RSA key.

Basic Math

  • Two common operations used in various algorithms
    • XOR operation
    • Modulo operation

XOR

  • Also called exclusive OR.
  • Returns 1 when the bits are different and 0 when they are same.
  • For example:
    • 0 XOR 0 returns 0.
    • 1 XOR 1 returns 0.
    • 0 XOR 1 returns 1.
    • 1 XOR 0 returns 1.

Modulo

  • Also called as % or mod.
  • X % Y returns the remainder when X is divided by Y.
  • The modulo operation always returns a non-negative result less than the divisor.