Understanding Cryptology:

Cryptanalysis

Welcome    Why?    Training    Games    ChangeBlog    External Resources    Submit Content

 

Creator:     Dr. Kerry McKay


License:    Creative Commons: Attribution, Share-Alike

(http://creativecommons.org/licenses/by-sa/3.0/)


Class Prerequisites: Understanding Cryptology: Core Concepts. Also, 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.


Lab Requirements: Python 2.7 with IDLE, course exercise code


Class Textbook: “Modern Cryptanalysis: Advanced Code Breaking” by Swenson (ISBN 978-0470135938)


Recommended Class Duration: 2-3 days


Creator Available to Teach In-Person Classes: No


Author Comments:


A class for those who want to stop learning about building cryptographic systems and want to attack them. This course is a mixture of lecture 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


Author Biography: Kerry doesn't like talking about herself, but she does love crypto. She has a doctorate in computer science from GWU, where she was a Scholarship for Service (aka CyberCorps) student, and a BS and MS in computer science from WPI.



Class Materials


All Slides (238 slides)


Python code examples



Revision History:


06-10-2013 - Initial class content upload


If you have used and modified this material, we would appreciate it if you submit your modified version for publishing here, so that all versions can benefit from your changes.