GBC083 - Segurança da Informação - 1º Sem. de 2017
Datas importantes
31/05/2017 - Prova 1 - valendo 35 pontos
18/07/2017 - Aula SSL/TLS
19/07/2017 - Teste 2
25/07/2017 - Aula tira dúvidas
26/07/2017 - Prova 2 - valendo 45 pontos
01/08/2017 - Apresentação de trabalhos
02/08/2017 - Prova de Recuperação
Sobre a disciplina
Sala de aula: Bloco 5RA - Sala 203
Plano da disciplina
Ficha da disciplina (Curso: Ciência da Computação)
Livro texto: Criptografia e segurança de redes: princípios e práticas - Stallings, William.
Livro complementar: Introduction to Modern Cryptography - Katz,Lindell (2a. edição) ,2014
Livro complementar: Cryptography Engineering - design principles and practical applications - T.Kohno, N.Ferguson e B.Schneier (2010)
Exercícios
Descrição do trabalho 1 - entrega por email até 07/07/2017
Exercício prático 3: decifre as seguintes 7 mensagens que foram encriptadas com a mesma chave usando o One-Time Pad. As mensagens estão em português em codificação ASCII puro.Entrega por email até 02/05/2017.
0E31C32A77D77E1F8F9FFE8EA4478EC5A2C1E93C391931FD8F
0062DA36738D2F2785CDF7CFB8438C8AA18EFC2C701224F69D
1923DD2C69D77C0F8DCAF19DF6418CC7F184EB38251928F3DD
1927C26379986205CAD9F995B350C3C9BE8CB8393C1D2BFDD2
0C23C22274907A0F80D0B88EA5028CC4B580B825350A24FFD2
0123DF637998610C83DEEACFB34FC3CFA295EA283E142AE1DD
0C2DDE307F907A0398DAF580A50287CFA393ED2B31102AE1DD
Exercício prático 2: Implementar um ataque à Cifra para os seguintes textos cifrados usando Vigenere.java. Observe que as chaves são compostas apenas de letras minúsculas e os textos em claro são textos em português em ASCII puro. Entrega do código e decifragens até 18/04/2017.
Texto 0
Texto 1
Texto 2
Exercício prático 1: Escrever programa para encriptar e decriptar textos em ascii com minúsculas usando a cifra de Vigenère com o operador XOR. Entrega por email até 11/04/2017.
Parte 2
Lista 10 - Distribuição (24/07/2017)
Lista 0F - Assinaturas (24/07/2017)
Lista 0E - Curvas elípticas (04/07/2017)
Lista 0D - Diffie-Hellman (27/06/2017)
Lista 0C - RSA (27/06/2017)
Lista 0B - Teoria dos números (27/06/2017)
Lista 0A - MAC (27/06/2017)
Lista 9 - Hash (27/06/2017)
Parte 1
Lista 8 - AES (08/06/2017)
Lista 7 - DES (08/06/2017)
Lista 6 - CCA (29/05/2017)
Lista 5 - Modos de operação(23/05/2017)
Lista 4 - Funções aleatórias (23/05/2017)
Lista 3 - Números aleatórios (23/05/2017)
Lista 2 - Sigilo Perfeito (25/04/2017)
Lista 1 - Criptografia clássica (06/04/2017)
Lista 0 - Conceitos de segurança (05/04/2017)
Aulas
Aula 1. Introdução à Segurança da Informação: Panorama
Leitura obrigatória: Capítulo 1 do livro texto (Introdução)
Livro: The Codebreakers, David Kahn (história da Criptografia)
Livro: Codes, Ciphers and Secret Writing, Martin Gardner (Códigos e criptografia antiga)
Palestra: NSA TOA Chief on Disrupting Nation State Hackers
Documentário: Crypto Wars - NHK Documentary 1997
Palestra: Crypto Wars Part II
Filme: Citizenfour - Edward Snowden
Aula 2. Introdução à Criptografia - histórico da criptografia clássica e moderna
Leitura obrigatória: Capítulo 2 do livro texto (Técnicas clássicas)
Aula 3. - Sistemas criptográficos tradicionais: Ataque à cifra de Vigenère
Aula 4. - Sistemas criptográficos tradicionais: modelo de sigilo perfeito
Aula 5. - Sistemas criptográficos tradicionais: cifra de Vernam (One-time Pad)
Aula 6. - Sigilo Computacional
Aula 7. - Pseudo Aleatoriedade
Leitura obrigatória: Capítulo 7 do livro texto (Geração de números pseudo-aleatórios)
Aula 8. - Pseudo OTP
Aula 9. - Primitivas de segurança: funções e permutações aleatórias
Leitura obrigatória: Capítulo 3 do livro texto (Cifras de blocos)
Filme: Midway (1976)
Aula 10. - Modelos de ataque: CPA e modos de operação de cifras de bloco
Leitura obrigatória: Capítulo 6 do livro texto (Modos de operação)
Testar Imagem.java e tux.pnm
Aula 11. - Cifras de bloco
Aula 12. - CPA e modos de operação
Aula 13. - Chosen Cyphertext Attack - Ataque de texto cifrado escolhido: Oráculo de Padding
Aula 14. - DES
Leitura obrigatória: Capítulo 3 do livro texto (DES)
Aula 15. - Ataque contra DES e Advanced Encryption Standard (AES) - S-Box
Leitura obrigatória: Capítulo 5 do livro texto (AES)
Leitura obrigatória: Capítulo 4 do livro texto (Conceitos de Teoria dos números)
Prova 1 - 13/06/2017
Aula 16. Integridade: Message Authentication Codes
Leitura obrigatória: Capítulo 12 do livro texto (MACs)
Aula 17. Integridade: Hash e MAC
Leitura obrigatória: Capítulo 11 do livro texto (Funções Hash criptográficas)
Aula 18. Integridade: Algoritmos de Message Digesting (Hashes)
Aula 22 a 25. , , e Criptografia assimétrica: RSA
Leitura obrigatória: Capítulo 8 do livro texto (Mais sobre teoria dos números)
Leitura obrigatória: Capítulo 9 do livro texto (RSA)
Livro: crypto - How the Code Rebels Beat the Government, Steven Levy (como criptografia assimétrica foi inventada)
Palestra Logjam: Diffie-Hellman, discrete logs, the NSA, and you
Aula 26. Problemas log-discreto: Esquema de Diffie-Hellman
Leitura obrigatória: Capítulo 10 do livro texto (D-H, Elgamal e outros)
Aula 27. Encriptação Elgamal
Aula 28. Curvas elípticas
Aulas 29 e 30. Curvas elípticas e Autenticação e não-repudiação: assinaturas eletrônicas
Leitura obrigatória: Capítulo 13 do livro texto (Assinaturas)
Aula 31. Infraestrutura de chave-pública e certificados
Leitura obrigatória: Capítulo 14 do livro texto (Distribuição e Gerenciamento de chaves)
Leitura obrigatória: Capítulo 15 do livro texto (Autenticação de usuários)
Aula 32. Prova 2
Aula 33. SSL/TSL
Leitura obrigatória: Capítulo 17 do livro texto (Segurança na camada de transporte)
Leitura obrigatória: Capítulo 20 do livro texto (Segurança na camada de rede)
Palestra: Some tales from TLS
Palestra: Quantum Cryptography
Palestra: The Magic World of Searchable Symmetric Encryption
Outras informações pseudo-aleatórias
Venda de certificados sem validação pela Symantec
Mineração de bitcoins com papel e lápis
Calculadora de pontos em curvas elípticas - Para curva parametrizada com a=2,b=2 e pontos P=(5,1),Q=(5,1),temos P+Q=(6,3)
Ataques contra subgrupos de ordem pequena ainda são viáveis em 2017: Measuring small subgroup attacks against Diffie-Hellman. Velenta et al. (2017) - slides
Como o WannaCry usa AES para encriptar dados das vítimas
Código na parede inventado por menino de 11 anos:
21/02/2017 - The Cryptographers’ Panel - 2017
Dear Software Vendors: Please Stop Trying to Intercept Your Customers’ Encrypted Traffic
Antivírus Kaspersky faz ataque MITM nos computadores em que é instalado
Esteganografia na prática
Caso entre Alice e Bob (xkcd)
Limitantes para o problema (paradoxo) do aniversário: A (probably) exact solution to the Birthday Problem
Livro: Crypto 101 (criptografia simplificada)
Guia do Homem-Palito para o DES e o AES
Alice, Bob e outros personagens da criptografia
Painel com Diffie, Hellman, Shamir e Rivest
Crypto++ Library
Botan: Crypto and TLS for C++11
Como instalar backdoors em protocolos baseados em Diffie-Hellman
Heartbeat: um erro de implementação no OpenSSL que permite acesso a chaves privadas
Entrevista de Hellman sobre criptografia na sua premiação no Turing Award
Palestra de Diffie sobre criptografia
Noites criptônicas
Arquivos para testar modos de operação CBC vs ECB Imagem.java e tux.pnm
Criptografia com Curvas elípticas no WhatsApp
O "Guinness book" dos números primos
Números primos de Mersenne
Testando candidatos a primos
Criptografia na arte: gritomudonomuro
MD5 to be considered harmful someday
Collisions on MD5 (como encontrar colisões MD5 rapidamente)