Subject

Cryptography

1. Course Title Cryptography
Cryptography
2. Code F23L3S122
3. Study Programme Security, Cryptography and Coding
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) First Cycle
6. Academic year / semester 6 / Summer
7. Number of ECTS credits 6
8. Teacher Hristina Mihajloska Trpcheska, Vesna Dimitrova
9. Prerequisites for enrolling in the course Discrete Structures 2 or Discrete Mathematics or Mathematics 2 or Selected Topics in Mathematics
10. Objectives of the course programme (competences) Familiarization with the basic cryptographic principles and methods; study of the basic crypto-
designs; practical application of the studied cryptographic algorithms.
11. Course content Lectures:
1. Basic Cryptographic Terms.
2. Examples of historical ciphermakers.
3. Symmetric Cryptography: Stream Ciphers and Random Number Generators.
4. Symmetric Cryptography: Block Ciphers and Modes of Operation.
5. Symmetric Cryptography: Description of the DES and AES algorithms.
6. Attack scenarios and cryptographic attacks.
7. Hash functions
8. Public-Key Cryptography: Basic concepts and examples of public-key cryptography algorithms. Description of RSA.
9. Public-key cryptography: Description of Diffie-Hellman and its application.
10. Public-key cryptography: Description of El Gamal and its application.
11. Public-Key Cryptography: Digital Signatures.
12. Application of cryptographic algorithms in information security.

Practical Classes:
1. Introduction
2. Historical Ciphers - Tasks
3. Stream Ciphers - Tasks
4. Block Ciphers - Tasks
5. AES and Arithmetic in a Finite Field
6. Operation Modes - Tasks
7. Hash Functions - Tasks
8. Public-Key Cryptography - Tasks
9. Discrete logarithm problem
10. Discrete logarithm problem - exercises
11. Digital Signatures - Tasks
12. Practical examples
12. Learning methods Lectures, exercises, independent work, project assignments, seminar papers
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 10 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 10 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam Completed activities 15, 16
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. C. Paar, J. Pelzl | Understanding Cryptography: A Textbook for Students and Practitioners | Springer | 2010
2. N. Smart | Cryptography: An introduction | Chapman & Hall/CRC Press | 2013
22.2. Additional literature
No. Author Title Publisher Year