This document outlines a self-study course designed to teach block-cipher cryptanalysis. The author argues that the best way to learn cryptanalysis is through practice, by attempting to break various algorithms. The course is structured by presenting published algorithms and their corresponding cryptanalytic results in a coherent order, based on the type and difficulty of the analysis. Students are tasked with reading papers describing algorithms and then attempting to reproduce published cryptanalytic results, using the published solutions as an "answer key." The document emphasizes the importance of understanding probability and statistics, and potentially discrete mathematics and computer science, as prerequisites. It also highlights the value of implementing attacks to gain deeper understanding. The course covers a wide range of cryptanalysis techniques, including differential cryptanalysis, linear cryptanalysis, and their variations, applied to various block ciphers. The document concludes by stressing that strong cryptanalytic skills are crucial for good algorithm design.
Site structure and layout ©2025 Majenko Technologies