Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
480 - Informática
Departamento / Department
Departamento de Tecnologias Digitais
Ano letivo / Execution Year
2024/2025
Pré-requisitos / Pre-Requisites
Conhecimentos básicos de algebra linear e teoria das probabilidades. Os estudantes devem ter conhecimentos de de programação.
Objetivos Gerais / Objectives
O objectivo desta UC é a de oferecer um conjunto de conhecimentos sobre as áreas chave da criptografia moderna e a prática de técnicas criptográficas que são usadas na segurança de computadores e de redes. De igual forma iremos igualmente abordar alguns tópicos mais recentes da criptografia. É igualmente objetivo desta UC dar a conhecer aos alunos algumas das principais ferramentas e bibliotecas criptográficas que lhes permitirá testar experimentar parte dos seus conhecimentos criptográficos.
Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes
No final desta UC o aluno deverá estar apto a: OA1: Entender os principais princípios básicos da criptografia moderna OA2: Perceber como funcionam os principais mecanismos criptográficos de cifra OA3: Entender como funcionam alguns dos principais protocolos criptográficos OA4: Perceber o futuro do desenvolvimento da criptografia OA5: Realizar a utilização dos mecanismos criptográficos para proteção de computadores, redes e dados.
Conteúdos Programáticos / Syllabus
CP1. Introdução a criptosistemas e criptanálise CP2. Cifras contínuas CP3. Cifras de bloco CP4. Funções de resumo e integridade de mensagens CP5. Criptografia de chave-pública CP6. Assinaturas Digitais CP7. Protocolos de identificação, troca de chaves autenticada e protocolos de conhecimento nulo CP8. Criptografia baseada em Lattice e criptografia completamente homomórfica CP9. Ferramentas e bibliotecas criptográficas
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
Os conteúdos programáticos desta UC encontram-se ajustados aos objetivos de aprendizagem da mesma, Assim, no que respeita aos objetivos OA1, os alunos irão aprender os conceitos introdutórios da criptografia percebendo a diferença entre criptografia clássica e moderna. Relativamento ao objetivo OA2 os estudantes irão conhecer e aplicar os principais mecanismos de criptografia moderna para proteção da integridade e conficencialidade de informação e dados. No caso específico do OA3, são introduzidas um conjunto de protocolos de comunicação que tiram partido da utilização da criptografia moderna. No que respeita a OA4 os alunos irão descobrir as direções de futuro da criptografia. Finalmente, em OA5, os alunos irão aprender a aplicar os mecanismos de criptografia aprendidos na prática recorrendo a uma linguagem de programação e ferramentas adicionais.
Avaliação / Assessment
Avaliação ao longo do semestre: - Realização de um conjunto de projetos e atividades em grupo (50%) ao longo do semestre - Realização de dois testes individuais (50%) [nota mínima de 6 valores para cada um dos testes] A frequência de um número mínimo de aulas não é obrigatória na avaliação ao longo do semestre. Avaliação por exame: Para os estudantes que optem por este processo ou para os reprovarem no processo de avaliação ao longo do semestre, com 3 épocas nos termos do RGACC.
Metodologias de Ensino / Teaching methodologies
Nesta UC irão ser utilizadas múltiplas metodologias de ensino, devidamente combinadas para atingir os objetivos de aprendizagem da mesma. Assim, uma parte central do ensino será baseada de metodologia expositiva, em especial em aulas de natureza essencialmente teórica, para expor os conceitos principais que os alunos devem aprender. Por outro lado, em especial nas aulas de natureza prática serão igualmente usadas as metodologias de ensino demonstrativa e participativa, em especial, quando os alunos forem confrontados com atividades de natureza mais prática. E finalmente será igualmente usada uma metodologia de ensino ativa, que visa estabelecer a colaboração entre os alunos – esta será particularmente relevante para a realização dos diferentes projetos que os alunos terão de realizar na UC. É importante ainda realçar a componente de trabalho autónomo na UC que é essencial para os alunos poderem consolidar e aprofundar os conhecimentos obtidos nas aulas de natureza expositiva.
Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes
As metodologias de ensino foram selecionadas de forma a corresponder aos objetivos de aprendizagem da UC. Através de uma combinação de momentos de aprendizagem, os estudantes irão realizar tarefas com diferentes níveis de apoio e orientação docente ao longo da UC que lhes permitirá conhecer os principais conceitos da criptografia e a aplicação de técnicas criptográficas que lhes permitem implementar mecanismos de confidencialidade e integridade na proteção de dados e de informação, quer os mesmos estejam em trânsito ou em repouso. O docente dará feedback (corretivo e/ou cognitivo) sobre as tarefas realizadas pelos alunos. Os estudantes irão ainda realizar tarefas, laboratórios específicos e um projeto com diferentes fases relacionadas com os diferentes temas que serão abordados na unidade curricular. No caso do projeto os estudantes terão acesso a todos os detalhes do trabalho a realizar, assim como as ferramentas que devem ser usadas e os detalhes dos principais resultados a obter. Esta abordagem permitirá que os estudantes estabeleçam conexões entre os conhecimentos teóricos e práticos, permitindo-lhes perceber e aplicar os conhecimentos da unidade curricular.
Observações / Observations
-
Bibliografia Principal / Main Bibliography
Stinson D. R., Paterson M. (2018). Cryptography: Theory and Practice. Chapman and Hall/CRC. ISBN: 978-1138197015. Aumasson J. (2017). Serious Cryptography: A Practical Introduction to Modern Encryption. No Starch Press. ISBN: 978-1593278267. Tilborg H., Jajodia S. (2011). Encyclopedia of Cryptography and Security. Springer. ISBN: 978-1441959058. Paar C., Pelzl J., Preneel B. (2014). Understanding Cryptography: A Textbook for Students and Practitioners. Springer. ISBN: 978-3642446498. Bray S. (2020). Implementing Cryptography Using Python. Wiley. ISBN: 978-1119612209. Nielson S. J., Monson C. (2019). Practical Cryptography in Python: Learning Correct Cryptography by Example. ISBN: 978-1484248997.
Bibliografia Secundária / Secondary Bibliography
Material complementar a fornecer pela equipa docente durante as aulas. Ristic I. (2013). OpenSSL Cookbook: A Guide to the Most Frequently Used OpenSSL Features and Commands. Feisty Duck. ISBN: 9781907117053. Schneier B. (2017). Applied Cryptography: Protocols, Algorithms and Source Code in C. Wiley. ISBN: 978-1119096726. Bowne S. (2018). Hands-On Cryptography with Python: Leverage the power of Python to encrypt and decrypt data. Packt Publishing. ISBN: 978-1789534443. Zúquete A. (2018). Segurança em Redes Informáticas. FCA. ISBN: 978-972-722-857-7.
Data da última atualização / Last Update Date
2024-10-09