At the end of this course, the students; 1) This course aims to introduce the students with the basics of security programing for network applications. 2) At the end of the course, students will have the knowledge on creating X509 certificate chains, CMS, SSL, MIME, S-MIME PKCS#7, PKCS#11, PKCS#12 standarts and their applications in C and Java languages.
MODE OF DELIVERY
Face to face
PRE-REQUISITES OF THE COURSE
No
RECOMMENDED OPTIONAL PROGRAMME COMPONENT
No
COURSE DEFINITION
Command Line Interfaces, Public Key Infrastructure, Support Infrastructure, SSL/TLS Programming, Symmetric Cryptography, Hash's and MAC's (HMAC), PKI Algorithms, OpenSSL Usage in different Programming Languages, Advanced Programming Topics, JCA and JCE, CMS and S/MIME, X509 certificates and Java Keystore, Java PKCS #11
COURSE CONTENTS
WEEK
TOPICS
1st Week
Introduction
2nd Week
Command Line Interfaces
3rd Week
Public Key Infrastructure
4th Week
Support Infrastructure
5th Week
SSL/TLS Programming
6th Week
Symmetric Cryptography
7th Week
Hash's and MAC's (HMAC)
8th Week
PKI Algorithms
9th Week
OpenSSL Usage in different Programming Languages
10th Week
Advanced Programming Topics
11th Week
JCA and JCE
12th Week
CMS and S/MIME
13th Week
X509 certificates and Java Keystore
14th Week
Java PKCS #11
RECOMENDED OR REQUIRED READING
Beginning Cryptography with Java, David Hook Network Security with OpenSSL, John Viega, Matt Messier, Pravir Chandra
PLANNED LEARNING ACTIVITIES AND TEACHING METHODS
Project,Questions/Answers,Lecture
ASSESSMENT METHODS AND CRITERIA
Quantity
Percentage(%)
Mid-term
1
30
Project
1
30
Total(%)
60
Contribution of In-term Studies to Overall Grade(%)
60
Contribution of Final Examination to Overall Grade(%)
40
Total(%)
100
ECTS WORKLOAD
Activities
Number
Hours
Workload
Midterm exam
1
2
2
Preparation for Quiz
Individual or group work
14
11
154
Preparation for Final exam
1
69
69
Course hours
14
3
42
Preparation for Midterm exam
1
44
44
Laboratory (including preparation)
Final exam
1
2
2
Homework
Total Workload
313
Total Workload / 30
10,43
ECTS Credits of the Course
10
LANGUAGE OF INSTRUCTION
Turkish
WORK PLACEMENT(S)
No
KEY LEARNING OUTCOMES (KLO) / MATRIX OF LEARNING OUTCOMES (LO)