Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Criptografia para Leigos

Dann Luciano
September 17, 2016

Criptografia para Leigos

Palestra apresentada no Software Freedom Day 2016 em Teresina-PI-BR

Dann Luciano

September 17, 2016
Tweet

More Decks by Dann Luciano

Other Decks in Programming

Transcript

  1. Criptografia
    Para Leigos
    por Dann Luciano
    1

    View Slide

  2. 2

    View Slide

  3. 25 Gigabytes de Dados
    30 Milhões de Contas
    Ashley Madison
    https://www.theguardian.com/
    3

    View Slide

  4. 4

    View Slide

  5. 68 Milhões de
    Senhas
    Dropbox
    https://www.theguardian.com/
    5

    View Slide

  6. Dann Luciano
    6

    View Slide

  7. 7

    View Slide

  8. Criptografia
    O que é?
    8

    View Slide


  9. 9
    “Au!g64dhsUI#4&(*a”
    “Software Freedom Day 2016”

    View Slide


  10. 10
    “Software Freedom Day 2016”


    View Slide

  11. Objetivos
    11

    View Slide

  12. I. Confidencialidade
    12

    View Slide

  13. II. Integridade
    13

    View Slide

  14. III. Autenticação
    14

    View Slide

  15. Conceitos
    15

    View Slide

  16. Texto Claro (P)
    “Software Freedom Day 2016”
    16

    View Slide

  17. Texto Cifrado (C)

    17

    View Slide

  18. Criptografar (E)
    “Software Freedom Day 2016”


    18

    View Slide

  19. Descriptografar (D)


    “Software Freedom Day 2016”
    19

    View Slide

  20. Chave (K)

    20

    View Slide

  21. E(P, K) = C
    D(C, K) = P

    View Slide

  22. Fundamentos
    da Criptografia
    22

    View Slide

  23. XOR
    Ou Exclusivo
    23

    View Slide

  24. XOR
    P K XOR(P, K) = C XOR(C, K) = P
    0 0 0 0
    0 1 1 0
    1 0 1 1
    1 1 0 1

    View Slide

  25. XOR
    A xor B = B xor A
    A xor A = 0
    A xor 0 = A

    View Slide

  26. XOR

    View Slide

  27. Hash
    MD5, SHA1, SHA256

    View Slide

  28. Hash
    • Propriedades Impossíveis/Difíceis:
    1. Modificar uma Mensagem sem mudar o Hash
    2. Gerar uma Mensagem a partir de um Hash
    3. Encontrar duas Mensagens com o mesmo
    Hash

    View Slide

  29. Hash
    !=
    Criptografia

    View Slide

  30. Rainbow Tables

    View Slide

  31. Senha MD5
    password 5f4dcc3b5aa765d61d8327deb882cf99
    p4ssw0rd 2a9d119df47ff993b662a8ef36f9ea20
    12345678 25d55ad283aa400af464c76d713c07ad
    … …

    View Slide

  32. NÃO Use
    MD5/SHA1
    para Senhas

    View Slide

  33. Criptografia

    Hash

    View Slide

  34. Geradores de
    Números Aleatórios
    34

    View Slide

  35. Geradores de Números
    Aleatórios
    • Geradores de Números Aleatórios
    • Geradores de Números Pseudo-Aleatórios Seguros
    • Geradores de Números Pseudo-Aleatórios

    View Slide

  36. Finalizando

    View Slide

  37. Criptografia é
    Difícil

    View Slide

  38. Criptografia é
    Compreensível

    View Slide

  39. Dicas

    View Slide

  40. Use HTTPS
    40

    View Slide

  41. https://www.eff.org/https-everywhere

    View Slide

  42. Use FERNET
    Nos Dados

    View Slide

  43. https://github.com/fernet/spec/

    View Slide

  44. Use Scrypt/Bcrypt
    Nas Senhas

    View Slide

  45. https://www.tarsnap.com/scrypt.html

    View Slide

  46. Próximos
    Passos
    46

    View Slide

  47. https://codemoji.org/
    47

    View Slide

  48. http://cartilha.cert.br/criptografia/
    48

    View Slide

  49. https://crypto101.io/
    49

    View Slide

  50. Muito Obrigado!
    50
    ?
    https://speakerdeck.com/dannluciano
    [email protected]

    View Slide