This is a class for those who want to stop learning about building cryptographic systems and want to attack them. This course is a mixture of lectures designed to introduce students to a variety of code-breaking techniques and python labs to solidify those concepts. Unlike its sister class, Core Concepts, math is necessary for this topic. Don't have a math degree? A basic understanding of algebra is sufficient - the mathematical principles that are necessary for understanding are included in the lecture. Knowledge of programming is also necessary, and knowledge of python is very helpful. The class covers:
- Intro to attacks using human-computable crypto
- Number theory and abstract algebra primer
- Factoring attacks
- Attacks on RSA
- Discrete logarithm attacks
- Symmetric system constructs
- Generic attacks
- Linear cryptanalysis
- Differential cryptanalysis
- Integral cryptanalysis on reduced AES
Learning Objectives
- Understand how cryptanalysis is used to break cryptography.
Framework Connections
The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):
Specialty Areas
- Systems Architecture