# Aula 1 ## Parte 1: Noções de Criptografia ### Criptografia simétrica -- Um jeito simples de entender: senhas utilizadas para acessar websites ### Problemas - Vazamentos de dados: https://cybernews.com/security/billions-passwords-credentials-leaked-mother-of-all-breaches/ - Alguma senha sua já vazou na internet? https://cybernews.com/personal-data-leak-check/ - Quanto tempo leva pra quebrar sua senha? https://random-ize.com/how-long-to-hack-pass/ ![image](https://hackmd.io/_uploads/rkn48Acca.png =600x) - Verificador de força de senha: https://www.cryptool.org/en/cto/password-check ### Criptografia assimétrica -- Um jeito simples de entender: a criptografia assimétrica gera uma chave pública e outra privada. Por exemplo, endereços no blockchain são chaves públicas e as sementes (seed phrases) são chaves privadas ![image](https://hackmd.io/_uploads/H1by6a95a.png =200x) - Como funcionam as carteiras / custódias ![image](https://hackmd.io/_uploads/HJdBeRq5p.png) **Resumidamente: chave privada assina, chave pública verifica** ![image](https://hackmd.io/_uploads/BkN6nA5cp.png) ## Parte 2: Arquiteturas de Blockchains ### Funções de Hash -- Diferenças entre hashing e criptografia | Aspecto | Criptografia | Hashing | |-------------------|-------------------------------------------------------------------|---------------------------------------------------------------| | Propósito | Proteger a confidencialidade e privacidade dos dados | Garantir a integridade dos dados e verificar a integridade dos dados | | Reversibilidade | Reversível (descriptografia com a chave apropriada) | Irreversível (não existe operação de "desfazer o hash") | | Uso de Chaves | Envolvem chaves (chave secreta para simétrica, par público-privado para assimétrica) | Não envolve chaves | | Comprimento da Saída | O comprimento do texto cifrado varia com base no algoritmo e na chave | Valor de hash de comprimento fixo (por exemplo, SHA-256 produz 256 bits) | | Casos de Uso | Segurança de dados durante transmissão ou armazenamento | Checagem de integridade de dados, armazenamento de senhas, assinaturas digitais, estruturas de dados como tabelas de hash | ### Exemplo ilustrado ![image](https://hackmd.io/_uploads/ByeNs0cca.png) ### Hashing é irreversível ![image](https://hackmd.io/_uploads/BJ5vsCcq6.png) ### Aplicações de hashing em Blockchain -- Demonstração: https://andersbrownworth.com/blockchain/hash -- É muito difícil VALIDAR, mas extremamente fácil VERIFICAR ### Trilema da Escalabilidade ![image](https://hackmd.io/_uploads/BJXCt0c9T.png)