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

NodeJS Crypto

NodeJS Crypto

Lucas Santos

August 01, 2019
Tweet

More Decks by Lucas Santos

Other Decks in Programming

Transcript

  1. Cifra de César T E X T O k =

    3 W H A W R +k +k +k +k +k
  2. Criptografia digital - Baseada em matemática - Varia para cada

    tipo de entrada - Varia para cada tipo de dado - Dificuldade de decriptação - Facilidade de criação
  3. Reversível É possível obter a mensagem original - AES -

    RSA - 3DES (DES) - Diffie-Hellman - Base64 - Rot13
  4. O que podemos fazer - Criação de certificados - Criptografia

    assimétrica - Criptografia simétrica - Algoritmos autenticados - Algoritmos de iteração
  5. O que é uma chave? Criptografia reversível - Base da

    criptografia utilizada - Evita descobrimento por brute force - Não é um dicionário - Torna a função reversível
  6. Casos de uso - Modelo mais utilizado de criptografia reversível

    - Armazenamento de informações confidenciais - Utilizado quando não precisamos compartilhar a senha
  7. Vetores de inicialização Adicionando ainda mais segurança - Número de

    uso único - Aleatório - Previne ataques de dicionário - Geralmente tem 16 bits
  8. Casos de uso - Autenticação de usuários - Tokens de

    validação - Assinatura simples de mensagens
  9. O que é hash Criptografia irreversível - Resultado de uma

    função criptográfica de derivação - Comprimento fixo - Com ou sem chave - Difíceis de reverter - Volatilidade da saída - Criam assinaturas - Transforma grandes quantidades de dados em pequenas unidades de informação
  10. Casos de uso - Validação de blocos (blockchain) - Assinaturas

    de mensagens - Validação de binários - Armazenamento de senhas
  11. PBKD2F Criptografando a criptografia … Várias vezes - Aplica uma

    criptografia irreversível várias vezes - Utiliza um Salt - Depende do algoritmo subsequente
  12. O que é uma assinatura Garantindo que está tudo certo

    - Hash gerado a partir do conteúdo - Garante autenticidade - Tira proveito da natureza volátil dos hashes
  13. Casos de uso - Validação de autenticidade - Validação de

    integridade - Emails - Chaves - Mensagens - Criptomoedas
  14. referências_ - http://enigma.louisedade.co.uk/enigma.html - http://bit.ly/310srla - Como a enigma funciona

    - https://lollyrock.com/posts/nodejs-encryption/ - https://www.geeksforgeeks.org/node-js-password-hashing-crypto-module/ - https://nodejs.org/api/crypto.html - https://www.tecmundo.com.br/seguranca/1896-o-que-e-ssl-.htm - https://pt.wikipedia.org/wiki/Criptografia - https://www.youtube.com/watch?v=_Eeg1LxVWa8 - https://en.wikipedia.org/wiki/Enigma_machine - https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_hash - https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_hash_criptogr%C3%A1fica - https://github.com/khaosdoctor/palestra-nodejs-crypto - https://github.com/auth0/node-jsonwebtoken