Noites Criptonicas
Ir para navegação
Ir para pesquisar
Proposta
Iremos organizar uma série de palestras e oficinas sobre criptografia, cobrindo desde aspectos básicos e a teoria, até mesmo oficinas práticas sobre uso de ferramentas.
Data
A definir. Iremos dividir as atividades em vários dias, cada uma com duração de cerca de duas horas, durante as quais iremos nos aprofundar sobre um determinado assunto relacionado a criptografia.
Quando: preferencialmente nos Turing clubes, em semanas alternadas.
Planejamento
Possíveis Atividades
- Palestras
- Oficinas
- Exercícios
- Install fest
- Filmes
- Programação
O material criado e utilizado nas noites criptônicas será disponibilizado livremente após as atividades.
Agenda
- Dia 0- 20/02/2012 - Apresentação do filme "Códigos de Guerra" seguido pelo documentário e debate sobre o Código Navajo
- Dia 1- Introdução a criptografia
- história, conceitos principais
- motivação
- criptografia antiga vs moderna
- algoritmos simétricos vs assimétricos
- one time pad - confundindo os brutos
- referências
- algum filme, seguido por debate
- personagens do mundo criptográfico
- Clássicos Alice e Bob - você tem que saber quem são eles
- Arthur e Merlin - muito presentes nos sistemas embebidos ou embarcados
- Eva - a invasora
- Malvino - porque ele é mais eficiente que Eva
- Coadjuvantes importantes: Carol, Charles, Carlos, Davi, Priscila e Victor
- Tales - o árbitro
- Walter - quem é este mesmo?
- Dia 2 - Criptografia antiga (parte 1)
- um pouco de história, casos famosos
- cifras de substituição
- cifra de César
- exercícios
- implementando cifra de César em python
- quebrando a cifra de César (analise de frequencia)
- cifra de Vegenere
- Ottendorf
- Dia 2 - Criptografia antiga (parte 2)
- cifras de transposição
- exercícios
- outras cifras
- cifras de transposição
- Dia 3 - Criptografia na Segunda Guerra Mundial
- importância
- histórias
- Enigma
- quebrando o Enigma
- filme
- Dia 4 - Criptografia moderna
- conceitos básicos
- Chave criptográfica
- algoritmo público vs obscuridade
- criando algoritmos criptográficos
- "building blocks" (visão geral de como são construídos os algoritmos criptográficos)
- aritmética modular
- operacões básicas (xor, substituição, rotação, permutação, etc)
- números grandes
- números aleatórios
- cifras de blocos vs encadeadas
- Design de criptografia e abordar: SPN, Feistel network, key schedule, S-box, P-box, etc... e como não se sentir um completo ignorante sobre o assunto
- Modos de Autenticação: CCM, EAX, GCM, OCB... e coisas que vão no miojo estrelado do modo de operação dos blocos de cifra.
- Modos de blocos de Cifra: ECB, OFB, CTR, CBC
- "building blocks" (visão geral de como são construídos os algoritmos criptográficos)
- conceitos básicos
- Dia 5 - Algoritmos simétricos
- DES
- outros algoritmos (3des, twofish, família RC, etc)
- AES
- Dia 6 - Algoritmos assimétricos
- RSA
- Hash
- assinatura digital
- MIC (Message Integrity Code) / MAC (Message Authentication Code) - Poly1305, MMH, HMAC, CMAC, VMAC...
- faz sentido utilizá-los comparado a outros mecanismos mais rápidos e mais simples?
- Dia 7 - Certificação Digital
- certificados digitais
- PKI
- ICP Brasil
- aplicação: SSL
- oficina SSL
- Dia 8 - Aplicações e protocolos
- SSH
- oficina SSH
- Dia 9 - Aplicações e protocolos
- criptografia de email
- PGP
- S/MIME
- oficina
- criptografia de email
- Dia 10 - Aplicações e protocolos
- IPSEC e VPNs
- Dia 11 - Tópicos avancados
- ataques recentes ao SSL, assinatura digital
- Ataques a autoridades certificadoras
- Dia 12 - Tópicos diversos
- esteganografia
- oficina esteganografia
- Dia 13 - Tópicos diversos
- TOR
- Criptografia utilizada
- Oficina
- TOR
- Dia 14 - Tópicos diversos
- salt, nonce
- FIPS
- Dia 15 - Criptoanálise
- Se o espaço polinominal não for amplo...
- Criptoanálise por Exaustão
- Vencendo pela força-bruta
- Exaurindo com inteligência polinominal
- Porque os combinados são mais saborosos
- Criptoanálise linear
- Olhe com cuidado, nem tudo parece o que de fato é
- Criptoanálise diferencial
- Higher-order
- Truncada
- Impossível - o ataque que assuntou a NSA
- Ataque Boomerangue
- não é o ataque do canguru perneta
- Criptoanálise diferencial-linear
- Criptoanálise integral (square)
- Ataque XSL
- Ataque Rebote (rebound)
- Ataque Lateral
- Análise diferencial de falhas
- Ataque de temporização
- Ataques eletromagnéticos (TEMPEST / van Eck Phreaking)
- Criptoanálise acústica
- Ataques de cache e métodos relacionados
- Criptoanálise Slide
- Criptoanálise Rotacional
- Criptoanálise biclique
- Criptoanálise por Exaustão
- Ataques de hash:
- Colisão
- Birthday
- Differential fault analysis
- Rainbow table
- Side-channel / Ataque Lateral
- Pre-image, etc..
- Reforço merkle-damgard para Hashs
- Ataques de hash:
- Dia 16 - Criptoanálise Aplicada
- Oficinas
- Ex: quebra de arquivos de senha, senhas wi-fi, etc
- Oficinas
- Dia 17 - Wrap-up: Criptografia Aplicada para programadores
- Revisão do "Dia 4 - Criptografia moderna" (com mais profundidade)
- bibliotecas criptográficas existentes
- Dia 18 - Flashback
- Oficina: Construindo uma Enigna
- DIY Enima Machine
- Paper Enigma
Responsáveis
- Anchises
- Oda
- Aleph
Participantes
- Gabrielsp
- Agressor
- Samuel Damasceno
Referências Úteis
- Curso de Códigos e Criptografia do Mestrado em Matemática da Universidade de Coimbra
- Handbook of Applied Cryptography, de Alfred J. Menezes, Paul C. van Oorschot e Scott A. Vanstone
- Curso CS387 - Applied Cryptography (prof. David Evans) da Udacity / University of Virginia (online e gratuito)
- Curso Cryptography (prof. Dan Boneh) da Cousera / Stanford (online e gratuito)
- Enigma Simulator