SylabUZ

Generate PDF for this page

Data safety and cryptography - course description

General information
Course name Data safety and cryptography
Course ID 11.3-WE-INFP-DSaC-Er
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Computer Science
Education profile academic
Level of studies Erasmus programme
Beginning semester winter term 2017/2018
Course information
Semester 5
ECTS credits to win 5
Course type obligatory
Teaching language english
Author of syllabus
  • dr hab. inż. Remigiusz Wiśniewski, prof. UZ
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Lecture 15 1 - - Credit with grade
Laboratory 30 2 - - Credit with grade
Project 15 1 - - Credit with grade

Aim of the course

  • Familiarize students with the provide basic knowledge about fundamentals of cryptography and data safety.
  • Familiarize students with the basic knowledge about most popular Web applications attacks (e.g. XSS, SQL-Injection) and methods of security.
  • Familiarize students with the basic knowledge about data security and protection of applications (Windows).

Prerequisites

Principles of programming (but not obligatory).

 

Scope

Introduction: Fundamentals of cryptography and data safety, cryptosystems, basics of encryption and decryption, classic cryptography (transposition ciphers and substitution ciphers; Caesar cipher, Vigenère cipher, XOR, etc.). Implementation of the basic algorithms in programming languages.

Symmetric-key algorithms: Key management, block ciphers (DES, AES, Blowfish) and stream ciphers (RC4).

Optional: implementation in programming languages (C, C++, Java, Assembler, Pascal), hardware implementation (with programmable devices like FPGAs).

Asymmetric-key algorithms: Public and private keys, hash functions. Main protocols and cryptosystems (Diffie-Hellman, RSA, SHA, MD5, etc.).

Optional: Implementation in programming languages (C, C++, Assembler, Pascal). Hardware implementation (with programmable devices - FPGAs).

Digital signature: Fundamentals of digital signature, safety and authentication, smartcards.

Cryptanalysis: Main goals of cryptanalysis. Weakness of particular cryptosystems. Data safety. Debugging of computer applications and programs.

Data security and protection of applications: Fundamentals of data protection of programs and applications (based on MS Windows operation system). Processes management and debugging. Software debuggers and kernel mode debuggers.

Security in Web applications: Most popular attacks and protection methods (e.g. Cross-site scripting XSS, SQL-Injection).

Teaching methods

Lecture, laboratory exercises, project.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Lecture – the passing condition is to obtain a positive mark from the final test.

Laboratory – the passing condition is to obtain positive marks from all laboratory exercises to be planned during the semester.

Project – the passing condition is to obtain a positive mark from all projects conducted during the semester.

Final mark components: lecture 30% + laboratory 40% + project 30%.

 

Recommended reading

  1. Stinson D.R., Cryptography: Theory and Practice (3rd edition), CRC Press, Boca Raton, 2005.
  2. Schneier B., Applied cryptography, John Wiley & Sons, New York, 1994.

Further reading

  1. Karbowski M., Basics of cryptography, Helion, Warsaw, 2005 (in Polish).
  2. Aho A. V., Hopcroft J. E., Ullman J. D., The Design and Analysis of Computer Algorithms, : Addison-Wesley, Reading, Massachusetts, 1974.
  3. Maxfield C.: The Design Warrior’s Guide to FPGAs. Devices, Tools and Flows, Elsevier, Amsterdam, 2004.

Notes


Modified by dr hab. inż. Remigiusz Wiśniewski, prof. UZ (last modification: 05-05-2017 20:51)