Cryptology Academy · Aula

Famílias SHA-1 e SHA-2 explicadas

Entenda a fraqueza do SHA-1 e as diferenças entre SHA-256 e SHA-512

Aula 3 de 413 etapas

Famílias SHA-1 e SHA-2 explicadas é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.

Boas-vindas

SHA-1 e SHA-2 são os sucessores do MD5 projetados pela NSA. O SHA-1 foi retirado de uso. SHA-256 e SHA-512 continuam sendo o padrão do setor para a maioria das aplicações.

Visão geral do SHA-1

O SHA-1 produz um resumo de 160 bits (20 bytes). Projetado pela NSA e publicado em 1995. Exemplo: SHA1('hello') = aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d

Estrutura do SHA-1

O SHA-1 usa 80 rodadas agrupadas em 4 etapas de 20 rodadas. Cada etapa usa funções lógicas diferentes (Ch, Parity, Maj). Ele estende 16 palavras de entrada para 80 usando XOR e rotações.

Colisão do SHA-1: SHAttered (2017)

Em 2017, o Google e o CWI Amsterdam produziram a primeira colisão prática do SHA-1 (o ataque SHAttered). Eram dois PDFs com resumos SHA-1 idênticos, mas com conteúdos diferentes. Custo: aproximadamente 6.500 anos de GPU.

Família SHA-2

A SHA-2 inclui: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256. Todas usam a construção de Merkle-Damgård. SHA-256 é a variante mais utilizada.

Estrutura do SHA-256

O SHA-256 usa 64 rodadas em blocos de 512 bits. Ele mantém 8 palavras de estado, cada uma com 32 bits (a,b,c,d,e,f,g,h). Cada rodada mistura palavras de entrada usando as funções Ch, Maj, Σ0 e Σ1.

SHA-256 em Python

import hashlib msg = b'hello' digest = hashlib.sha256(msg).hexdigest() print(digest) # 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

SHA-512 comparado ao SHA-256

O SHA-512 usa 80 rodadas com palavras de 64 bits, produzindo 512 bits. Ele é mais rápido em hardware de 64 bits, mas produz resumos maiores. Use SHA-512 quando for necessário um nível de segurança de 256 bits.

SHA-3 (Keccak)

O SHA-3 foi padronizado em 2015 como um projeto alternativo. Ele usa a construção de esponja em vez de Merkle-Damgård, tornando-se imune a ataques de extensão de comprimento.

Ataques de extensão de comprimento no SHA-2

SHA-256(secret || message) é vulnerável: um invasor que conheça Hash(message) pode calcular Hash(message || padding || extra). É por isso que o HMAC usa uma construção de resumo duplo.

Quando usar cada um

SHA-256: uso geral, TLS, certificados e HMAC. SHA-512: aplicações que exigem uma margem de segurança maior. SHA-3: novos protocolos sem preocupações com extensão de comprimento. Nunca use SHA-1 ou MD5 em novos projetos.

Verificação rápida

Qual construção o SHA-3 usa que o torna imune a ataques de extensão de comprimento?

Recapitulação

Você compreendeu a evolução da família SHA. Em seguida, estudaremos as aplicações práticas dos resumos: somas de verificação, HMAC e o uso do SHA pelo Git.
Grátis para começar

Aprenda Cryptology Academy com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
67
Aulas
261

Perguntas Frequentes

A aula “Famílias SHA-1 e SHA-2 explicadas” é grátis?

Sim — o texto completo de “Famílias SHA-1 e SHA-2 explicadas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.

O que vou aprender em “Famílias SHA-1 e SHA-2 explicadas”?

Entenda a fraqueza do SHA-1 e as diferenças entre SHA-256 e SHA-512 Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Cryptology Academy?

Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Famílias SHA-1 e SHA-2 explicadas”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Cryptology Academy?

Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. O que caracteriza uma boa função hash
  2. MD5: história, usos e por que está quebrado
  3. Famílias SHA-1 e SHA-2 explicadas
  4. Aplicações de hash: somas de verificação, HMAC e Git
← Voltar para Cryptology Academy