Go to:
Logótipo
You are in:: Start > CC4076

Applied Cryptography

Code: CC4076     Acronym: CC4076     Level: 400

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2025/2026 - 1S Ícone do Moodle

Active? Yes
Web Page: https://www.dcc.fc.up.pt/~rvr/aulas/Cripto2526/
Responsible unit: Department of Computer Science
Course/CS Responsible: Master in Information Security

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M:ERSI 10 Official Study Plan since 2021_M:ERSI 1 - 6 42 162
M:SI 30 Official study plan since 2025/2026 1 - 6 42 162

Teaching Staff - Responsibilities

Teacher Responsibility
Rogério Ventura Lages dos Santos Reis
Bernardo Luís Fernandes Portela

Teaching - Hours

Theoretical and practical : 3,23
Type Teacher Classes Hour
Theoretical and practical Totals 2 6,462
Rogério Ventura Lages dos Santos Reis 2,75
Bernardo Luís Fernandes Portela 2,75

Teaching language

Suitable for English-speaking students

Objectives

To understand the security problem with computer networks as well as security problems in general and the use of cryptography in this context.

The study of the most relevant cryptographic primitives, the security guarantees that they provide, their possible applications and good practices, as well as possible attacks.

To get acquainted to a sufficient large set of cryptographic protocols such that it is possible to port "real life” activities to the digital realm.

Learning outcomes and competences

At the end of the course, the students are expected to:

  • Choose what protocols and products should be used, both at the role of users and at the role of system or network administrators.
  • Analyse, modify, choose and implement the necessary protocols to the implementation of a practical solution for a problem.
  • Integrate the cryptographic algorithms studied during the course in real-world applications.

Working method

Presencial

Program

Introduction to cryptography and information security

One-Time-Pad, perfect secrecy

Computational security and stream ciphers

Block ciphers and constructions, modes of operation and abstractions (PRF, PRP)

Standard symmetric encryption schemes: IND-CPA security, nonce-base security (CTR mode)

Message integrity: definitions and applications

Hash functions and collision-resistance; authentication from hash functions (SHA and HMAC)

Authenticated encryption: security against active adversaries, key distribution.

Cryptography from modular arithmetic: Diffie-Hellman protocol.

Public-key encryption: IND-CPA security and ElGamal encryption, IND-CCA security. Rabin and RSA functions; how to encrypt with one-way trapdoor permutations.

Digital signatures, definitions and applications. How to sign with RSA.

Public-key certificates, why they are needed and how they are used.

Cryptographic authentication: challenge-response mechanisms.

Mandatory literature

Jean-Philippe Aumasson; Serious Cryptography: A Practical Introduction to Modern Encryption, No Startch Press, 2017. ISBN: 9781593278267

Complementary Bibliography

Jonathan Katz; Introduction to modern cryptography. ISBN: 978-1-4665-7026-9

Teaching methods and learning activities

After the exposition of problems and known solutions to these problems, students will be confronted with small practical assignments that involve the implementation or integration of the presented cryptographic algorithms, as well as implementing attacks to some of these algorithms that may better illustrate why some of the presented solutions are better than others.

Additionally, students will be presented with additional challenges about the class subjects, both at a theoretical and a practical level (e.g. programming)

Assessment will be performed via distributed grading with a final test and the additional exercices.

Final grading formula: midterm * (3/8) + grade of the final test * (3/8) + additional exercices * (1/4).

Evaluation Type

Distributed evaluation with final exam

Assessment Components

designation Weight (%)
Exame 37,50
Teste 37,50
Trabalho laboratorial 25,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Estudo autónomo 60,00
Frequência das aulas 42,00
Trabalho laboratorial 60,00
Total: 162,00

Eligibility for exams

Handing in (and acceptance by lecturers) at least 50% of the projects proposed in TP classes.

Calculation formula of final grade

Components:





    • A: Midterm test


    • B: Final exam 


    • C: Extra exercices




Final mark = (3/8)*A + (3/8)*B + (1/4)*C

Special assessment (TE, DA, ...)

Same set of rules as for other students.

Classification improvement

The mark in midterm and final exam can be improved in the resit exam.

Observations

Júri: Bernardo Portela, Rogério Reis, Manuel Barbosa.

The midterm covers approx. half of the syllabus and the final exam the remainder.

The resit will also be divided into two parts corresponding to the midterm and the ginal exam.

Students may take the resit/raise marks on only one of the parts.
Recommend this page Top
Copyright 1996-2025 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z
Page created on: 2025-11-16 at 17:47:42 | Privacy Policy | Personal Data Protection Policy | Whistleblowing | Electronic Yellow Book