Symmetric Cryptography Essential Training
2h 10mBeginner2024-10-02
Authors

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.
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
0. Introduction
- 01 - Cryptography is everywhere
- 02 - Basic terminology
- 03 - Intro to Codespaces
1. Symmetric Cryptography Overview
- 04 - Cryptography's role
- 05 - Kerckhoffs's principle
- 06 - Symmetric keys
- 07 - Block vs. stream ciphers
- 08 - Cryptographic hash algorithms
- 09 - Challenge - Building a hash algorithm
- 10 - Solution - Building a hash algorithm
2. Representing and Manipulating Binary Data
- 11 - Binary representation
- 12 - Characters
- 13 - Integers
- 14 - Floating point numbers
- 15 - Boolean operations
- 16 - Padding
- 17 - Challenge - QR code printer
- 18 - Solution - QR code printer
3. Fundamental Algorithms and Components
- 19 - Simple substitution ciphers
- 20 - Polyalphabetic substitution ciphers
- 21 - Permutation and transposition ciphers
- 22 - Simple one-time pads with XOR
- 23 - S-boxes and P-boxes
- 24 - Feistel networks
- 25 - Linear-feedback shift registers (LFSRs)
- 26 - Challenge - Software-based LFSR
- 27 - Solution - Software-based LFSR
4. Symmetric Algorithms
- 28 - The Data Encryption Standard (DES)
- 29 - The Advanced Encryption Standard (AES)
- 30 - AES and DES in practice
- 31 - The RC4 stream cipher
- 32 - Challenge - Encrypting, decrypting, and hashing with OpenSSL
- 33 - Solution - Encrypting, decrypting, and hashing with OpenSSL
5. Block Cipher Modes
- 34 - Introduction to block cipher modes
- 35 - Cipher block chaining (CBC)
- 36 - CFB - Cipher feedback
- 37 - OFB - Output feedback
- 38 - CTR - Counter mode
- 39 - Challenge - Building a block cipher with CBC mode
- 40 - Solution - Building a block cipher with CBC mode
6. Keys and a Little Asymmetry
- 41 - Exchanging keys
- 42 - Key length and large numbers
- 43 - The importance of randomness to cryptography
- 44 - Modular arithmetic
- 45 - Diffie Hellman key exchange
- 46 - Challenge - Implementing Diffie Hellman
- 47 - Solution - Implementing Diffie Hellman
Conclusion
- 48 - Next steps