Noites Criptonicas
Revisão de 20h59min de 25 de setembro de 2011 por Anchisesbr (discussão | contribs)
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 1- Introdução a criptografia
- história, conceitos principais
- motivação
- criptografia antiga vs moderna
- algoritmos simétricos vs assimétricos
- one time pad
- referências
- algum filme, seguido por debate
- 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
- 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
- Força bruta
- tipos como a quase inútil linear, e diferencial, integral (square), diferencial truncada, XSL, boomerangue, rebote/rebound, slide, rotacional
- Ataques de hash: colisão, birthday, differential fault analysis, rainbow table, side-channel, pre-image, etc.. e reforço merkle-damgard, etc...
- Força bruta
- 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
Responsáveis
- Anchises
- Oda
Participantes
- Gabrielsp