Criptografia Aplicada
Informação
Corpo docente: André Zúquete, Tomás Oliveira e Silva
Duração: Semestral
Horas de trabalho: 162
Horas de contacto: 45
ECTS: 6
Área científica: Informática
Objetivos
- Conhecer os sistemas criptográficos mais relevantes (cifras contínuas, por blocos, simétricas e assimétricas), e funções de dispersão.
- Conhecer os blocos elementares de cifras simétricas e assimétricas.
- Conhecer os blocos elementares de funções de dispersão.
- Conhecer métodos anonimato com cifras
- Conhecer e identificar as limitações dos mecanismos criptográficos
- Conhecer mecanismos fundamentais das cifras quânticas.
- Conhecer os métodos e processos para distribuição de chaves segura.
- Conhecer mecanismos e protocolos para chave pública
- Conhecer meios para certificação de chaves.
- Aplicar blocos elementares e cifras para o desenvolvimento de sistemas seguros.
- Aplicar mecanismos de determinação de identidade e certificação de chaves.
- Aplicar mecanismos para controlo de integridade
- Integrar mecanismos criptográficos no desenvolvimento de software.
Programa
- Sistemas criptográficos de chave secreta.
- Formas de ataque: dividir para conquistar e correlação rápida.
- Blocos elementares de construção de cifras (Feistel, sbox, pbox, …)
-
Funções de dispersão.
-
Cifras contínuas ou de fluxo.
- Cifras por blocos.
-
Segurança perfeita e computacional.
-
Sistemas criptográficos de chave pública.
- Sistema RSA.
-
Assinaturas às cegas.
-
Algoritmos de fatorização e primalidade.
- Coordenadas projetivas.
- Curvas elípticas.
- Inteiros de Gauss.
- Algoritmo de Euclides para polinómios.
- Bases de Gröner.
-
Sistemas criptográficos elípticos e hiperelípticos.
-
Esquema de assinatura ElGamal e DSS.
-
Algoritmos de assinatura digital baseados em curvas elípticas.
-
Esquemas de distribuição de chaves de Diffie-Hellman.
- Esquema de partilha de segredos de Shamir.
- Sistemas de prova com conhecimento nulo.
-
Esquemas de Schnorr e Fiat-Shamir.
-
Infraestrutura de Chaves Públicas
-
Cadeias de Certificação
-
Criptanálise quântica.
- Criptografia pós-quântica.
Metodologia de ensino
A disciplina considera aulas teórico práticas, que irão ter partes ajustadas de acordo com o objetivo de cada tópico.
As partes teóricas são dedicadas à apresentação e discussão dos conteúdos programáticos, favorecendo-se o diálogo com os alunos para a discussão de casos de uso.
As partes práticas serão dedicadas à exploração de exemplos e casos de uso, aplicação de técnicas e realização de análises.
Ortogonal a estas aulas, existirão trabalhos e projetos, realizados em grupo e com uma maior dimensão, que permita a aplicação dos conteúdos em situações de maior complexidade. Será favorecida a utilização de cenários próximos da realidade e de ferramentas e problemas no estado da arte.
A avaliação teórica, com peso de 50%, irá focar-se no conhecimento dos conceitos teóricos, realizada através de testes. A avaliação prática, com peso de 50%, irá comprovar a capacidade de aplicação dos conceitos, tecnologias e ferramentas, sendo realizada através de trabalhos práticos e projetos práticos.
Bibliografia
-
Bruce Schneier, Applied Cryptography: Protocols, Algorithms and Source Code in C, Wiley; ISBN: 978-1119096726, 20th Anniversary edition, 2015.
-
Niels Ferguson, Cryptography Engineering: Design Principles and Practical Applications 1st Edition, Wiley; 1 edition, ISBN: 978-0470474242, 2010.
-
Jean-Philippe Aumasson, Serious Cryptography: A Practical Introduction to Modern Encryption, No Starch Press, ISBN: 978-1593278267, 2017