CMP661 - CRYPTOGRAPHY

Course Name Code Semester Theory
(hours/week)
Application
(hours/week)
Credit ECTS
CRYPTOGRAPHY CMP661 Spring 3 0 3 9
PrequisitesNone
Course languageEnglish
Course typeElective 
Mode of DeliveryFace-to-Face 
Learning and teaching strategiesLecture
Discussion
Question and Answer
Drill and Practice
 
Instructor (s)Dr. Ahmet Burak Can, Dr. Sevil Åžen 
Course objectiveTo teach the fundamental concepts of cryptology and some important cryptographic applications. 
Learning outcomes
  1. 1. Students will be able to define basic concepts on cryptography.
  2. 2. Students will be able to understand basic cryptographic algorithms and tools.
  3. 3. Students will be able to understand cryptographic security protocols.
Course ContentBasic cryptography concepts and tools, cryptographic security protocols, various cryptography applications 
ReferencesDouglas R. Stinson, Cryptography (Theory and Practice), CRC Press 1995, ISBN: 0-8493-8521-0
Bruce Schneier, Applied Cryptography (2nd edition), Wiley, 1996
J. Katz and Y. Lindell, Introduction to Modern Cryptography, Chapman and Hall/CRC Press, 2008, ISBN 978-1-58488-551-1.
William Stallings, Cryptography and Network Security, Principles and Practice, Second Edition, Prentice Hall, 1998, ISBN: 0-13-869017-0.
Network Security: Private Communication in a Public World, 2nd Edition. C. Kaufman, R. Perlman, and M. Speciner, Prentice-Hall
Alfred J. Menezes, Paul C. Oorschot, and Scott A. Vanstone: Handbook of Applied Cryptography. CRC Press 1996.
 

Course outline weekly

WeeksTopics
Week 1Introduction to information security, basic encryption algorithms
Week 2Block ciphers: DES, AES
Week 3Hash functions, message authentication codes
Week 4Introduction to number theory
Week 5Diffie-Helman key exchange algorithm, RSA , Digital signatures, digital certificates, X.509
Week 6Security handshake
Week 7Kerberos, SSL/IPSEC protocols
Week 8Eliptik eÄŸri ÅŸifreleme sistemleri
Week 9Midterm exam
Week 10Mental poker, Oblivious transfer, Bit commitment protocols
Week 11Blind signatures, Digital money
Week 12Threshold cryptography, group signatures
Week 13Certified e-mail, PGP, Elektronik oylama
Week 14Zero-knowledge proof protocols
Week 15Final exam preparation
Week 16Final exam

Assesment methods

Course activitiesNumberPercentage
Attendance05
Laboratory00
Application00
Field activities00
Specific practical training00
Assignments525
Presentation00
Project00
Seminar00
Midterms120
Final exam150
Total100
Percentage of semester activities contributing grade succes050
Percentage of final exam contributing grade succes050
Total100

WORKLOAD AND ECTS CALCULATION

Activities Number Duration (hour) Total Work Load
Course Duration (x14) 14 3 42
Laboratory 0 0 0
Application000
Specific practical training000
Field activities000
Study Hours Out of Class (Preliminary work, reinforcement, ect)148112
Presentation / Seminar Preparation000
Project000
Homework assignment51050
Midterms (Study duration)13030
Final Exam (Study duration) 13030
Total Workload3581264

Matrix Of The Course Learning Outcomes Versus Program Outcomes

D.9. Key Learning OutcomesContrubition level*
12345
1. Graduates should have a mastery of computer science as described by the core of the Body of Knowledge.  X  
2. Graduates need understanding of a number of recurring themes, such as abstraction, complexity, and evolutionary change, and a set of general principles, such as sharing a common resource, security, and concurrency.     X
3. Graduates of a computer science program need to understand how theory and practice influence each other.    X
4. Graduates need to think at multiple levels of detail and abstraction.   X  
5. Students will be able to think critically, creatively and identify problems in their research.  X  
6. Graduates should have been involved in at least one substantial project.  X   
7. Graduates should realize that the computing field advances at a rapid pace.    X 
8. Graduates should conduct research in an ethical and responsible manner.  X   
9. Graduates should have good command of technical terms in both Turkish and English. X   
10. Graduates should understand the full range of opportunities available in computing.    X
11. Graduates should understand that computing interacts with many different domains.     X
12. Graduates should develop the knowledge acquired at master level and apply scientific methods in order to solve scientific problems.   X  

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest