| Volker Sorge | 10 credits in Semester 1 |
Exercise sheet 9 is due on Friday, 10 December, 11am, with the exception of exercise 28 that is due Friday, 17 December!
The walk-through (including
problems and test data) for Programming Exercise 1 is available. The test
date is also available in ASCII.
The Marking Scheme for programming exercise 1 has been released.
There have been some mistakes in the walk-through and debugging examples for
Programing Exercise 1. The updated and (hopefully) correct version is now here.
(Plus the test data in ASCII)
Please let me know if there are any more problems!
The Exercise 1 marks have been entered. Please have a look here. Please check the marks and in case you have not got a mark or you have a 0 mark but believe this is incorrect, please come and see me after the next lecture!
The lecture theatres for the Friday morning lecture and the Friday afternoon exercise class have been changed.
There will be a regular class in the first week of term on Friday, 8 October instead of an exercise class.
The exercise class on Friday, 15 October, 2pm will be held by Katrina Samperi.
There will be no lecture on Friday, 15 October, 11am.
The lectures are
Tuesdays, 2:00pm-3:00pm in Biosciences 301 (Building
R27 on the Campus Map)
Fridays 11:00am-12:00pm in Learning Centre LG32 (Building
R28 on the Campus Map)
Exercises are
Fridays 2:00pm-3:00pm in Aston Webb WG5, (Building R4 on the Campus
Map)
80% of your course mark will be determined by a 1.5-hour examination in May (or early June).
20% of the mark is determined by continuous assessment. See Handout 0 for details.
For continuous assessment exercises marked so far please see here
If you have any questions, problems, or comments, please come and see us during our office hours:
When emailing, please observe that you can expect the fastest response, when your email is short and in plain ASCII. If you have to send attachments, please make sure they are in some open standard format. In particular, do NOT send MS word files. Why? See here.
| Title | Author(s) | Publisher | Comments |
| Practical Cryptography | Fergueson, Schneier | John Wiley & Sons | Supplementary Reading |
| Applied Cryptography | Schneier | John Wiley & Sons | Supplementary Reading |
| Handbook of Applied Cryptography | Menezes, van Oorschot, Vanstone | CRC Press | Supplementary Reading |
| Cryptography | Smart | McGraw Hill | Supplementary Reading |
| Beginning Cryptography with Java | Hook | John Wiley & Sons | Book on Programming |
| Contemporary Cryptology Do not buy this book! We have a copy in our library! | Catalano, Cramer, Damgard, DiCrescenzo, Pointcheval, Takagi | Springer Verlag | Advanced Material |
| Week | Topic | Handout | Solution |
| 0 | General Information | gzipped PostScript, pdf | |
| 1 | Historical Ciphers, Modular Arithmetic, Permutations | gzipped PostScript, pdf | gzipped PostScript, pdf |
| 2 | Block Ciphers: Feistel Ciphers, DES | gzipped PostScript, pdf | gzipped PostScript, pdf |
| 3 | AES (Rijndael), Finite Fields, AACS | gzipped PostScript, pdf | gzipped PostScript, pdf |
| 4 | Modes of Operations, Cryptomeria | gzipped PostScript, pdf | gzipped PostScript, pdf |
| 5 | Stream Ciphers: RC4, LFSR, CSS, A5/1 | gzipped PostScript, pdf | gzipped PostScript, pdf |
| 6 | Cryptographic Hash Functions Message Authetication Codes |
gzipped PostScript, pdf | gzipped PostScript, pdf |
| 7 | Key Exchange Protocols Overview of Cryptanalysis techniques |
gzipped PostScript, pdf | |
| 8 | Public Key Cryptography, Discrete Logarithms | gzipped PostScript, pdf | gzipped PostScript, pdf |
| 9 | RSA, Generating Prime Numbers, Arithmetic Modulo Composites | gzipped PostScript,
pdf |
gzipped PostScript, pdf |
| 10 | Digital Signatures | gzipped PostScript, pdf | gzipped PostScript, pdf |
| 11/1 | Certificates, Commitment Schemes, Zero Knowledge Proofs | gzipped PostScript, pdf | gzipped PostScript, pdf |
| 11/2 | Quantum Cryptography Guest Lecture by Steven Vickers |
||
| 12 | Review Suggestions | gzipped PostScript, pdf |
Errata can be found here.
Implement the exercises in a programming language of your choice.
The only requirement is that the program should be runnable on the Linux machines in the department.
Include sufficient explicit output into your program so I can convince myself that the computation actually
works.
Submit the source of your program (with an included comment how to run it and
your Student ID number) via Moodle. You can also include a Readme
file with that information.
Also submit a file with the requested answers
(i.e. only the answers to the problems, not the full intermediate output!)
together with your code.
Programming exercises will be given on the exercise sheets
| No. | Topic | Handout | Resources | Solution |
| 1 | Rijndael-like Feistel Cipher with CFB mode |
In Handout 4 (ps.gz, pdf) | Examples and walk-through (pdf) Test data (ASCII) Marking Scheme |
Solutions |
Maintained by:
Volker Sorge,
School of Computer Science,
The University of Birmingham
Last modified: Tue Apr 5 12:24:49 BST 2011