Cryptography
About
The course is about the basic goals of cryptography (confidentiality, authentication, non-repudiation).
Symmetric key cryptography: block and stream ciphers, design principles and examples, modes of operation, message authentication codes.
Public key cryptography: asymmetric ciphers, signatures. Attack models and security notions.
Protocols for key management, authentication and other services.
After completed course should be able to summarize the main goals of cryptography and illustrate this with a number of examples of how cryptographic services are integrated in current applications, both in software and hardware.
Prerequisites and selection
Requirements
To be eligible for the course the student should have successfully completed courses corresponding to 60 credits in the subject of Computer Science or Mathematics, including; 7.5 credits in discrete mathematics (for example DIT980 Discrete Mathematics for Computer Scientists, the sub-course Introductory Algebra of MMG200 Mathematics 1 or equivalent); 7.5 credits in programming (for example DIT142 Functional Programming, DIT012 Imperative Programming with Basic Object-orientation, MVG300 Programming with MatLab or equivalent). Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.
Selection
Selection is based upon the number of credits from previous university studies, maximum 285 credits