TIES6822 COM4: Introduction to cryptography and security (JSS28) (2–3 cr)

Study level:
Advanced studies
Grading scale:
Pass - fail
Responsible organisation:
Faculty of Information Technology
Curriculum periods:
2017-2018, 2018-2019, 2019-2020



This is an introductory course to cryptography and security. It is a self-contained class (i.e., we will cover some background material) that will include necessary topics from algebra and number theory to understand basics of cryptography. Applications of cryptography to various security protocols will be covered toward the end of the course. We will cover a wide range of material to give a broad view of the field while including fundamentals in depth. Lectures will be delivered mainly with slides except when math is involved then we will use the whiteboard. Homeworks will be a combination of (i) programming assignments for implementing various cryptographic techniques, and (ii) simple proofs or calculations that do not require programming.

A tentative outline and topics will be covered in this class are as follows:
1. Classical Cryptography
2. Math Background & Information Theoretical Cryptography
3. Block Ciphers
4. Randomness, RNG and Stream Ciphers
5. Hash and MAC Algorithms
6. Public-Key Cryptography
7. Digital Signatures, Secret Sharing
8. Subliminal Channels
9. Web Security, SSL and PGP
10. Anonymity and Privacy
11. Digital Cash

Completion methods

Lectures and assignments.

Assessment details

Obligatory attendance at lectures and completing the given exercises.

Learning outcomes

At the end of the course students will know basic encryption/decryption for confidentiality, how to electronically sign document, how to establish covert channels, share secrets. They will learn necessary math skills that required for cryptography. The home works will give them a chance for hands on experience and a small project will enable them to put all the knowledge they gain into practice to implement a real life problem.

Description of prerequisites

Some experience with computer programming and operating systems is required. Ideally the students should have background on the following topics: Computer Networks, Socket programming knowledge,
 Operating Systems.

Study materials

Recommended (NOT REQUIRED) Text Books: Cryptography and Network Security - by William Stallings; Applied Cryptography: Protocols, Algorithms, and Source Code in C - by Bruce Schneier.

Completion methods

Method 1

Select all marked parts
Parts of the completion methods

Teaching (2–3 cr)

Participation in teaching
Grading scale:
Pass - fail
No published teaching