- IMT3701 - 10 ECTS

Expected learning outcomes

After the course the student should have acquired:
- the mathematical fundament needed to understand the most commonly used cryptographic algorithms.
- an understanding of how cryptology is used to achieve confidentiality, integrity, non-repudiation and authentication.
- an understanding of the application of crypto algorithms and their limitations.
- an understanding of how an encryptpion algorithm can be designed and analyzed.


Classical cryptography
Stream ciphers (basic abstract algebra, pseudorandom generators, basic primitives, elements of Boolean algebra, non-linear filtering, non-linear combiners with and without memory)
Block ciphers (permutations, Boolean function theory, Feistel ciphers and substitution-permutation network ciphers)
Public key ciphers (computational complexity, number theory, Diffie-Hellman key exchange, RSA cryptosystem, ElGamal cryptosystem)
Hash functions and digital signatures(SHA-1, digital signatures with RSA)

Teaching Methods


Form(s) of Assessment


Form(s) of Assessment (additional text)

2 written tests, each 3 hours. The first one is a mid-term exam, the second a final exam. An overall evaluation based on a 100 point scale, where each of the exams counts 50 points. Conversion from 100 point scale to A-F scale according to recommended conversion table. In specific circumstances, emneansvarlig can slightly adjust the limits in the conversion table to enforce compatibility with the qualitative descriptions on the A-F scale.

Grading Scale

Alphabetical Scale, A(best) – F (fail)

Coursework Requirements


Teaching Materials

Introduction to Cryptography and Coding Theory, 2. utgave, Trappe W., Washington L., Prentice Hall, 2006, ISBN: 0131981994.

Handbook of Applied Cryptography, Menezes A.,

Additional information

There is room for 50 students for the course.