Cryptanalysis is an ancient art of analyzing and breaking ciphers. It
is
also a relatively new modern science, which becomes more and more popular
with and advent of cryptography in our everyday life thanks to the
Internet. The aim of the course is to show a broad range of cryptanalytic
techniques starting from attacks on classical substitution ciphers
and up
to the state of the art modern attacks. The emphasis of the course
will be
on the analysis of block-ciphers, although stream ciphers and hash
functions
will also receive attention.
The course will be self-contained and may be of interest to both
mathematicians and computer scientists.
There are no books on cryptanalysis yet, so we will maintain a course-web
cite, which will contain the introductory material, homeworks and
pointers to the course material.
Prerequisites: "Cryptography", or "Foundations of Cryptography" courses
will be of help but are not a requirement.
Grading
50% - Homeworks
50% - Final project
Scribe Notes (a bonus 25%)
Write scribe notes for the class lectures and literature survey for
specific topic. Notes for two lectures, with
a good survey of the relevant literature will account to 25% of the
final grade (you can then skip doing half of the
homeworks or ask for a simpler final project assignment, at your choice;
or just use the bonus to improve your final
grade). It is a requirement that the person preparing such notes
will do so within two weeks after the relevant
lecture, so that we can place them on this site for everybody's benefit.
The notes should be written in Latex or in
HTML. I will help the volunteers to find references and material relevant
to their topics of choice.
See the lecture notes for the first
and the second
lectures as an example.
Final Projects
These will be cryptanalytic assignments and challenges.
Attacks on both classic and modern ciphers.
Basic programming skills will be a benefit, but
there will be final projects for a pen and paper analysis as well.
Click here to go to the projects page.