Advanced course in computer science giving an introduction to modern cryptography.
Choose semester and course offering
Choose semester and course offering to see information from the correct course syllabus and course offering.
Content and learning outcomes
Classic cryptosystems. What does secure encryption mean? Background in information theory, entropy. Symmetric encryption algorithms such as Advanced Encryption Standard (AES). Open key systems for encryption and digital signatures e.g. RSA, ElGamal and Schnorr signatures. Cryptographically secure hash functions in theory and practice (SHA). Properties and examples of pseudo-random number generators. Connections to complexity theory.
Intended learning outcomes
After passing the course, the student shall be able to
- discuss the following basic concepts in cryptography: symmetric and asymmetric encryption, digital signatures, cryptographic hash functions, and strong pseudo-random number generator
- give examples of the above concepts
- perform simple own analyzes of cryptographic constructions such as cryptographic systems and cryptographic protocols
- determine the reliability of analyzes of cryptographic constructions such as cryptographic systems and cryptographic protocols
- summarize the content of technical articles on cryptography and cryptographic protocols
in order to be able to work with analysis and development of cryptographic protocols and systems.
Literature and preparations
Knowledge of algorithms and complexity, 7.5 credits, equivalent to completed course DD2350 / DD2352.
Knowledge of discrete mathematics, 7.5 credits, equivalent to completed course SF1610 / SF1630 / SF1662 / SF1679 / SF1688.
Knowledge in probability theory and statistics, 6 credits, equivalent to completed course SF1912 / SF1914 / SF1915 / SF1916 / SF1920 / SF1921 / SF1922 / SF1923 / SF1924.
Knowledge of algebra and geometry, 7.5 credits, equivalent to completed course SF1624 / SF1672.
Knowledge in one-variable calculus, 7.5 credits, equivalent to completed course SF1625 / SF1673.
Knowledge equivalent to either one of the courses DD1352 Algorithms, Data Structures and Complexity or DD2354 Algorithms and Complexity and knowledge of probability theory, mathematics and algorithm theory acquired in the mandatory courses of the D or F program.
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
- GRU1 - Group work, 2.5 credits, grading scale: P, F
- INDA - Individual home assignment, 5.0 credits, grading scale: A, B, C, D, E, FX, F
The examiner may apply another examination format when re-examining individual students.
GRU1 is an investigative group work on a topic described in scientific articles and / or proposed or established standards. It is assessed through a written report and / or oral presentation.
INDA is a set of problems that are solved individually and assessed both in writing and orally.
Opportunity to complete the requirements via supplementary examination
Opportunity to raise an approved grade via renewed examination
In this course there is no opportunity to raise an already approved grade.
- All members of a group are responsible for the group's work.
- In any assessment, every student shall honestly disclose any help received and sources used.
- In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.Course web DD2448
Main field of study
Please discuss with the instructor.
The expired module ÖVN1 has been replaced by GRU1 and INDA.
The course is held in English if the students wish so.
You cannot count both DD2448 and DD2449 in your exam, since DD2448 has replaced DD2449.
In this course, the EECS code of honor applies, see: