Symmetric Cryptography Essential Training

Symmetric Cryptography Essential Training

2h 10mBeginner2024-10-02

Authors

Jeremy A. Hansen

Jeremy A. Hansen

Associate Professor of Computer Science at Norwich University

Course details

If you work with computers, you use cryptography. Symmetric cryptography is a common method that uses the same key for encryption and decryption of data. Faster and less resource-intensive than asymmetric cryptography, symmetric cryptography is important for all IT professionals to understand. This course delivers a practical overview of the technology, emphasizing high-level concepts that affect how our data is stored and transmitted. Jeremy Hansen explains the difference between single key (symmetric) and multiple key (asymmetric) algorithms, and shows how symmetric encryption affects underlying binary data. Learn about the basic ciphers used in symmetric cryptography, including substitution, permutation, and transposition, and influential symmetric-key algorithms like the Advanced Encryption Standard and its predecessor, the Data Encryption Standard. Review modern block cipher modes like cipher block chaining (CBC), cipher feedback (CFB), and counter (CTR), which can help secure large amounts of data.

Learning objectives
Explain the role of encryption in modern security systems.
Explain the difference between one-key (symmetric) and multiple-key (asymmetric) algorithms.
Identify historical cryptographic algorithms.
Demonstrate the difference between block and stream ciphers.
Describe several methods that block ciphers use to encrypt and decrypt data.
Enumerate and describe several modern and recent block and stream cipher algorithms.

Skills covered

CryptographyEssential TrainingCybersecurity

Concepts

Introduction

  • Cryptography is everywhere
  • Basic terminology
  • Intro to Codespaces

Symmetric Cryptography Overview

  • Cryptography's role
  • Kerckhoffs's principle
  • Symmetric keys
  • Block vs. stream ciphers
  • Cryptographic hash algorithms
  • Challenge - Building a hash algorithm
  • Solution - Building a hash algorithm

Representing and Manipulating Binary Data

  • Binary representation
  • Characters
  • Integers
  • Floating point numbers
  • Boolean operations
  • Padding
  • Challenge - QR code printer
  • Solution - QR code printer

Fundamental Algorithms and Components

  • Simple substitution ciphers
  • Polyalphabetic substitution ciphers
  • Permutation and transposition ciphers
  • Simple one-time pads with XOR
  • S-boxes and P-boxes
  • Feistel networks
  • Linear-feedback shift registers (LFSRs)
  • Challenge - Software-based LFSR
  • Solution - Software-based LFSR

Symmetric Algorithms

  • The Data Encryption Standard (DES)
  • The Advanced Encryption Standard (AES)
  • AES and DES in practice
  • The RC4 stream cipher
  • Challenge - Encrypting, decrypting, and hashing with OpenSSL
  • Solution - Encrypting, decrypting, and hashing with OpenSSL

Block Cipher Modes

  • Introduction to block cipher modes
  • Cipher block chaining (CBC)
  • CFB - Cipher feedback
  • OFB - Output feedback
  • CTR - Counter mode
  • Challenge - Building a block cipher with CBC mode
  • Solution - Building a block cipher with CBC mode

Keys and a Little Asymmetry

  • Exchanging keys
  • Key length and large numbers
  • The importance of randomness to cryptography
  • Modular arithmetic
  • Diffie Hellman key exchange
  • Challenge - Implementing Diffie Hellman
  • Solution - Implementing Diffie Hellman

Conclusion

  • Next steps
80,000 Toman