The course will cover the underlying mechanism of security protocols and techniques: cryptographic algorithms and methods: classical encryption techniques, cryptography math, symmetric encryption, public-key encryption, key management, hash and MAC algorithms, cryptographic applications. Emphasis will be given to implementation of algorithms using a programming language.
Prerequisite(s)
-
Corequisite(s)
-
Special Requisite(s)
Knowledge of a programming language, algorithms, discrete mathematics are an enabler for the course.
To make an appointment, please contact via e-mail 2 days in advance.
Teaching Methods and Techniques
Lecture, Application
Principle Sources
William Stallings, "Cryptography and Network Security: Principles and Practice", 7/E, 2017, Pearson, ISBN-10: 0134444280 • ISBN-13: 9780134444284.
Other Sources
-
Course Schedules
Week
Contents
Learning Methods
1. Week
Introduction and Syllabus, Computer and Network Security Concepts
oral presentation, laboratory
2. Week
Introduction to Number Theory
oral presentation, laboratory
3. Week
Classical Encryption Techniques
oral presentation, laboratory
4. Week
Block Ciphers and the Data Encryption Standard
oral presentation, laboratory
5. Week
Finite Fields
oral presentation, laboratory
6. Week
Advanced Encryption Standard
oral presentation, laboratory
7. Week
Block Cipher Operation
oral presentation, laboratory
8. Week
Midterm Examination
written examination
9. Week
Random Bit Generation and Stream Ciphers
oral presentation, laboratory
10. Week
Public-Key Cryptography and RSA
oral presentation, laboratory
11. Week
Other Public-Key Cryptosystems
oral presentation, laboratory
12. Week
Cryptographic Hash Functions
oral presentation, laboratory
13. Week
Message Authentication Codes
oral presentation, laboratory
14. Week
Digital Signatures
oral presentation, laboratory
15. Week
16. Week
17. Week
Assessments
Evaluation tools
Quantity
Weight(%)
Midterm(s)
1
20
Project(s)
1
20
Lab Assignment
1
20
Final Exam
1
40
Program Outcomes
PO-1
Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2
Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3
Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4
Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5
Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6
Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7
Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8
Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9
Awareness of professional and ethical responsibility.
PO-10
Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11
Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1
To provide a basic understanding of number theory, abstract algebra, finite fields and some probability theory.
LO-2
To provide the knowledge to understand and apply classical encryption techniques, block cipher and public key encryption techniques.
LO-3
To provide the knowledge for defining and applying a digital signature, hash functions and message authentication code.
LO-4
To provide the knowledge for learning the mathematical theory of cryptography and writing algorithms to implement the theory by using a programming language instead of using a library.