Faculty of Mathematics and Computer Science
Course: Security and Cryptography, IE3
Course hours: 28, lab hours: 28
Lecturer: Stelian Mihalaş - stelian.mihalas[at]e-uvt.ro, staff.fmi.uvt.ro/~stelian.mihalas/
Labs assistant: Marco Radovancovici - marco.radovancovici95[at]e-uvt.ro
Classroom codes: 7tg3qgk (course and Mihalas' labs), dttvlgo (Radovancovici's labs)
Google meet links: https://meet.google.com/tzm-bcer-rwe, https://meet.google.com/ote-bjbt-mtz

Course objectives: Security and cryptography concepts. Encryption methods classification. Classical cryptography and 21th century developments in cryptography and cryptanalysis. Hash functions and digital signatures. Symmetric and asymmetric encryption algorithms. Number theory elements for the asymmetric encryption algorithms. Data and network security. Viruses, trojans, malware, phishing, detection and removal. Internet specific threats. Emerging technologies with security impact.

Courses - semester 2

21.02 - Introduction, Cryptography and cryptanalysis
28.02 - Classical cryptography, the Diffie-Hellman key exchange algorithm 
07.03 - Hash functions - MD5, SHA-1, SHA-3 
14.03 - Data Encryption Standard,  Advanced Encryption Standard
21.03 - Elements of number theory, the RSA algorithm, Elliptic curves cryptography 
28.03 - Digital Signature Standard, Digital Certificates, the Public Key Infrastructure
04.04 - The SSL/TLS protocol, Secure Shell 
11.04 - VPN, Data security 
18.04 - Network security, Traffic analyzers
02.05 - Software exploits, Viruses, Trojans
09.05 - Phishing, Pharming, Ransomware
16.05 - Passwords, Biometrics, Smart cards 
23.05 - Blockchain, Cryptocurrencies, Torrents
30.05 - Cyber attacks, prevention, major cases

Labs - semester 2 - Mihalas - Meet link: https://meet.google.com/tzm-bcer-rwe

01 - Projects setup and specification, Bit level operations
02 - SHA-1 algorithm details, functions
03 - Project SHA-1 submitted, attendance mandatory
04 - AES, the Rijndael algorithm, algebraic operations
05 - Functions used in the Rijndael algorithm, encryption phase
06 - Inverse functions, decryption phase
07 - Project AES (Rijndael) submitted - attendance mandatory
08 - Digital certificates structure and tools to generate them, key stores 
09 - Digital Signature Algorithm specification, Java security package
10 - Java based DSA implementation
11 - Project DSA submitted - attendance mandatory
12 - SHA-256 algorithm specification, functions
13 - SHA-256 implementation, test values
14 - Project SHA-256 submitted, attendance mandatory
 
Labs - semester 2 - Radovancovici - Meet link: https://meet.google.com/ote-bjbt-mtz

01 - Open introductive discussion about Security and Cryptography, Caeser Cipher, Columnar Transposition Cipher. 
02 - Cryptanalysis of Caeser Cipher and Columnar Transposition Cipher. 
03 - Introduction to the Vigenere Cipher. 
04 - Cryptanalysis of the Vigenere Cipher using statistical methods. 
05 - Comparison of modern symmetric cryptography vs classical symmetric cryptography. 
06 - Introduction to RSA. 
07 - Cryptanalysis of RSA. 
08 - Asymmetric cryptography vs symmetric cryptography.  
09 - Password cracking and collisions (MD5, etc.). 
10 - Password cracking and collisions (SHA1, SHA2, SHA3, etc.). 
11 - Password cracking and collisions (Iterated salted PBKDF). 
12 - Other topics chosen by students, quantum cryptography, homomorphic cryptography, DNA cryptography, blockchain, etc... 
13 - Other topics chosen by students, quantum cryptography, homomorphic cryptography, DNA cryptography, blockchain, etc... 
14 - Other topics chosen by students, quantum cryptography, homomorphic cryptography, DNA cryptography, blockchain, etc...  

Course and grading policies - Attendance for courses and labs is optional. The written exam (colloquium) is worth 50 points. A course presentation may be a substitute for the written exam and is worth 20-50 points. The students who want to make a presentation should fill out a position in the file sc2022Topics.xls. 

Students may choose whose labs to attend, they have till 21.03.2022 to make their choice.

Mihalas' labs grading policy:
The 4 lab projects are worth 10, 15, 15 and 10 points, respectively. Points for projects are awarded as follows: 20% - originality, 20% - execution, 20% - test suite, 40% - project implementation knowledge. Delays in project submitting are penalized one point per working day. 

Radovancovici's labs grading policy:
Grades from 0 to 10. Two encrypted messages and some passwords to crack. 

1 point is given. 
4 Points for deciphering message encrypted with the Caeser Cipher. (Deadline 21.03.2022) 
3 Points for deciphering message encrypted with the Vigenere Cipher. (Deadline 21.04.2022) 
2 Points for password cracking. (Deadline 20.05.2022) 

Messages and passwords will be unique to each student.
Radovancovici's points will be multiplied by 5 to fit the overall grading scheme.

The final grade is the integral part of ( E + L + 9.9 ) / 10.