Sumários
20-09-2018 (Aulas 1 e 2)
Apresentação do programa e objectivos do curso, bibliografia básica e regime de avaliação. Para referência da bibliografia apresentada ver página da bibliografia do curso.
Esteganografia vs Criptografia. Cifras mono-alfabéticas. Ataques a cifras mono-alfabéticas. O ataque estatístico de Al-Kindi. Soluções para os ataques descritos. Códigos e nomenclators. Cifras poli-alfabéticas. A cifra de Alberti e a cifra de Vigenère. O ataque de Babbage à cifra de Vigenère. Índices de coincidência de uma língua e estimativa do número de alfabetos usados numa cifra. O teste K de Friedman e a estimative do período de uma cifra.
Cifras poligráficas. A cifra de Playfair e suas vulnerabilidades. A Bifid. Cifras de transposição e suas vulnerabilidades.
Esteganografia vs Criptografia. Cifras mono-alfabéticas. Ataques a cifras mono-alfabéticas. O ataque estatístico de Al-Kindi. Soluções para os ataques descritos. Códigos e nomenclators. Cifras poli-alfabéticas. A cifra de Alberti e a cifra de Vigenère. O ataque de Babbage à cifra de Vigenère. Índices de coincidência de uma língua e estimativa do número de alfabetos usados numa cifra. O teste K de Friedman e a estimative do período de uma cifra.
Cifras poligráficas. A cifra de Playfair e suas vulnerabilidades. A Bifid. Cifras de transposição e suas vulnerabilidades.
04-10-2018 (Aulas 3 e 4)
- Objectivos de segurança (confidencialidade, autenticidade, integridade, não-repúdio) .
- Princípios da criptografia moderna (definições rigorosas, pressupostos validados, provas de segurança).
- Primeiro exemplo: Confidencialidade e cifras simétricas Formalização baseada em teoria da informação Cifra de Vernam (One-Time-Pad).
- Segurança perfeita
- Limitações inerentes à segurança perfeita prática.
- Revisões de teoria das probabilidades.
- Ataques ao One Time Pad quando mal usado.
- Teorema de Shannon
5-10-2018 (Aulas 5 e 6)
- Segurança computacional como resposta às limitações da segurança perfeita.
- Segurança concreta e assimptótica
- Geradores pseudo-aleatórios
- Segurança computacional de cifras simétricas
- Cifras sequenciais como aproximações ao One-Time-Pad
11-10-2018 (Aulas 7 e 8)
• Cifras simétricas seguras num cenário de texto limpo escolhido (IND-CPA)
• Cifras por blocos como funções e permutações pseudoaleatórias
• Cifras simétricas para mensagens de tamanho variável: modos de funcionamento de cifras por blocos
• ECB e a sua insegurança, CBC, CTR, OFB
• Cifras por blocos como funções e permutações pseudoaleatórias
• Cifras simétricas para mensagens de tamanho variável: modos de funcionamento de cifras por blocos
• ECB e a sua insegurança, CBC, CTR, OFB
18-10-2018 (Aulas 9 e 10)
- Cifras de Bloco
- Necessidade de cifras de bloco "simplificadas"
- Noção de confusão e difusão
- Redes de Substituição-Permutação (SP) e suas propriedades
- Ataques a redes SP com 1 e 2 estágios
- Redes de Feistel
- O DES como exemplo de uma rede de Feistel
- Ataques ao DES com 1 e 2 estágios
- "Remendos" ao DES
25-10-2018 (Aulas 11 e 12)
• Autenticação e integridade de mensagens: dimensão ortogonal à confidencialidade
• Message Authentication Codes e a sua segurança formal
• Uma função pseudo-aleatória como um MAC para mensagens curtas
• Extensões para mensagens maiores
• CBC-MAC
• MACs a partir de Universal Hashing, Wegman-Carter e Poly1305
• Message Authentication Codes e a sua segurança formal
• Uma função pseudo-aleatória como um MAC para mensagens curtas
• Extensões para mensagens maiores
• CBC-MAC
• MACs a partir de Universal Hashing, Wegman-Carter e Poly1305
25-10-2018 (Aulas 13 e 14)
- Funções de hash criptográficas.
- Resistência a colisões e outras propriedades de segurança.
- Construção Merkle-Damgard.
- MACs a partir de funções de hash resistentes a colisões: NMAC e HMAC.
- Combinação de confidencialidade e autenticação: canais seguros.
- Segurança CCA e cifras autenticadas: encrypt-then-authenticate.
- Modo de funcionamento GCM.
15-11-2018 (Aulas 15 e 16)
- Rudimentos de Teoria dos Números
- O problema do Logaritmo Discreto
- O algoritmo "Giant steps/Baby steps" para determinar o logaritmo discreto
- Troca de chaves Diffie & Hellman
22-11-2018 (Aulas 17 e 18)
- Teoremas de Fermat e Euler
- Cifra de ElGamal
- O sistema criptográfico RSA e sua implementação
29-11-2018 (Aulas 19 e 20)
- Segurança IND-CPA de cifras assimétricas
- Composição para múltiplas mensagens
- Motivação para segurança IND-CCA
- Assinaturas digitais e o seu modelo de segurança
- Assinatura RSA Full Domain Hash
- Assinatura One-Time de Lamport
6-12-2018 (Aulas 21 e 22)
- Computational assumptions and relations between them.
- Factoring, Discrete logs, CDH, DDH and their applications.
- Collision resistant hashing from discrete logs.
- Digital signatures from discrete logs.
13-12-2018 (Aulas 23 e 24)
- Rudimentos de criptografia e criptanálise quânticas
- Criptografia com curvas elípticas: Troca de chaves de Diffie-Helmann e ElGamal
- Criptografia com reticulados finitos
Última modificação: 19/02/2025