{"id":151,"date":"2026-06-19T12:57:43","date_gmt":"2026-06-19T12:57:43","guid":{"rendered":"https:\/\/shattered.io\/pt\/2026\/06\/19\/sha-256-vs-sha-3\/"},"modified":"2026-06-19T12:59:10","modified_gmt":"2026-06-19T12:59:10","slug":"sha-256-vs-sha-3","status":"publish","type":"post","link":"https:\/\/shattered.io\/pt\/2026\/06\/19\/sha-256-vs-sha-3\/","title":{"rendered":"SHA-256 vs SHA-3: 2373 vs 686 MB\/s, Qual Escolher [2026]"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">SHA-256 e SHA-3 s\u00e3o os dois algoritmos de hash criptogr\u00e1fico mais discutidos em 2026. Um tem 3,4 vezes mais velocidade em servidores modernos. O outro foi criado precisamente para sobreviver a falhas estruturais do rival. Escolher errado em sistemas de produ\u00e7\u00e3o significa comprometer desempenho ou abrir brechas de seguran\u00e7a que custam dezenas de milhares de euros em auditorias e corre\u00e7\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Benchmarks publicados por Sylvain Kerkour em 2024 mostram SHA-256 a atingir <strong>2373 MB\/s<\/strong> em mensagens de 1 MB num AMD EPYC 4245P (Zen 5), enquanto SHA3-256 fica nos <strong>686 MB\/s<\/strong> na mesma m\u00e1quina. Noutro teste em ARM Graviton 4 da Amazon, a diferen\u00e7a mant\u00e9m-se: 1744 MB\/s contra 510 MB\/s. Falamos de uma lacuna de desempenho de 3,4 vezes, relevante em qualquer sistema que processe ficheiros grandes, assine muitos documentos por segundo ou execute pipelines de dados intensivos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mas a hist\u00f3ria n\u00e3o termina nos benchmarks. SHA-3 introduziu uma arquitetura radicalmente diferente, resist\u00eancia a ataques de extens\u00e3o de comprimento, e variantes de sa\u00edda flex\u00edvel (SHAKE128, SHAKE256) que SHA-256 simplesmente n\u00e3o oferece. Este guia compara os dois algoritmos com dados reais, exemplos de c\u00f3digo, casos de uso concretos e uma recomenda\u00e7\u00e3o clara para cada cen\u00e1rio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sha-256-vs-sha-3-especificacoes-tecnicas-completas\">SHA-256 vs SHA-3: Especifica\u00e7\u00f5es T\u00e9cnicas Completas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de entrar nos casos de uso, \u00e9 fundamental perceber as diferen\u00e7as estruturais entre os dois algoritmos. A tabela abaixo resume as especifica\u00e7\u00f5es t\u00e9cnicas que determinam desempenho, seguran\u00e7a e compatibilidade.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Caracter\u00edstica<\/th><th>SHA-256<\/th><th>SHA3-256<\/th><\/tr><\/thead><tbody><tr><td>Standard NIST<\/td><td>FIPS 180-4<\/td><td>FIPS 202<\/td><\/tr><tr><td>Ano de Padroniza\u00e7\u00e3o<\/td><td>2001<\/td><td>2015<\/td><\/tr><tr><td>Constru\u00e7\u00e3o Interna<\/td><td>Merkle-Damg\u00e5rd<\/td><td>Keccak Sponge<\/td><\/tr><tr><td>Tamanho do Digest<\/td><td>256 bits (32 bytes)<\/td><td>256 bits (32 bytes)<\/td><\/tr><tr><td>Estado Interno<\/td><td>256 bits<\/td><td>1600 bits<\/td><\/tr><tr><td>Bitrate (SHA3-256)<\/td><td>N\/A<\/td><td>1088 bits<\/td><\/tr><tr><td>Capacidade (SHA3-256)<\/td><td>N\/A<\/td><td>512 bits<\/td><\/tr><tr><td>N\u00famero de Rondas<\/td><td>64<\/td><td>24 (Keccak-f[1600])<\/td><\/tr><tr><td>Velocidade x86-64 (1 MB)<\/td><td>2373 MB\/s<\/td><td>686 MB\/s<\/td><\/tr><tr><td>Velocidade ARM64 (1 MB)<\/td><td>1744 MB\/s<\/td><td>510 MB\/s<\/td><\/tr><tr><td>Resist\u00eancia Extens\u00e3o de Comprimento<\/td><td>N\u00e3o<\/td><td>Sim<\/td><\/tr><tr><td>Acelera\u00e7\u00e3o SHA-NI (Intel\/AMD)<\/td><td>Sim<\/td><td>N\u00e3o<\/td><\/tr><tr><td>Variantes XOF Dispon\u00edveis<\/td><td>N\u00e3o<\/td><td>SHAKE128, SHAKE256<\/td><\/tr><tr><td>Vulnerabilidades Conhecidas (2026)<\/td><td>Nenhuma pr\u00e1tica<\/td><td>Nenhuma<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"origens-por-que-o-sha-3-existe-se-o-sha-256-funciona\">Origens: Por Que o SHA-3 Existe Se o SHA-256 Funciona<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SHA-256 foi publicado pela NSA em 2001 e padronizado no <a href=\"https:\/\/csrc.nist.gov\/publications\/detail\/fips\/180\/4\/final\" rel=\"noopener\" target=\"_blank\">FIPS 180-4<\/a>. Faz parte da fam\u00edlia SHA-2 e usa a constru\u00e7\u00e3o Merkle-Damg\u00e5rd: a mensagem \u00e9 dividida em blocos de 512 bits, cada bloco \u00e9 processado sequencialmente e o resultado encadeia no bloco seguinte. \u00c9 um design s\u00f3lido, testado por 25 anos, e a raz\u00e3o pela qual Bitcoin, TLS, GPG e o kernel Linux o usam como hash prim\u00e1rio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O problema surgiu em 2004-2005. Investigadores descobriram fraquezas te\u00f3ricas em MD5 e SHA-1, ambos Merkle-Damg\u00e5rd. SHA-256 continuava seguro, mas a comunidade criptogr\u00e1fica ficou nervosa: toda a fam\u00edlia SHA-2 partilha a mesma estrutura matem\u00e1tica de base. Se surgisse um ataque gen\u00e9rico contra Merkle-Damg\u00e5rd suficientemente poderoso, SHA-256 e SHA-512 cairiam juntos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em 2007, o NIST lan\u00e7ou uma competi\u00e7\u00e3o p\u00fablica para criar um novo padr\u00e3o de hash radicalmente diferente, sem rela\u00e7\u00e3o estrutural com SHA-2. Participaram 64 candidatos. Em outubro de 2012, o NIST anunciou o vencedor: Keccak, proposto por Guido Bertoni, Joan Daemen, Micha\u00ebl Peeters e Gilles Van Assche. Em agosto de 2015, o algoritmo foi padronizado como <a href=\"https:\/\/csrc.nist.gov\/publications\/detail\/fips\/202\/final\" rel=\"noopener\" target=\"_blank\">SHA-3 no FIPS 202<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A ideia central era simples: mesmo que SHA-256 seja comprometido no futuro, SHA-3 usa uma arquitetura diferente e continuaria seguro. Diversidade estrutural como estrat\u00e9gia de defesa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"merkle-damgard-vs-keccak-sponge-a-diferenca-que-importa\">Merkle-Damg\u00e5rd vs Keccak Sponge: A Diferen\u00e7a Que Importa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Perceber as duas constru\u00e7\u00f5es explica quase todas as diferen\u00e7as pr\u00e1ticas entre SHA-256 e SHA-3.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"construcao-merkle-damgard-sha-256\">Constru\u00e7\u00e3o Merkle-Damg\u00e5rd (SHA-256)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SHA-256 processa dados em modo de pipeline linear. A mensagem \u00e9 dividida em blocos de 512 bits. Cada bloco \u00e9 combinado com o estado atual de 256 bits atrav\u00e9s de uma fun\u00e7\u00e3o de compress\u00e3o, produzindo um novo estado de 256 bits. O digest final \u00e9 o estado ap\u00f3s o \u00faltimo bloco. O resultado de cada bloco alimenta diretamente o pr\u00f3ximo, criando uma cadeia que n\u00e3o pode ser paralelizada por bloco.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esta linearidade tem um efeito colateral: ataques de extens\u00e3o de comprimento. Se um atacante conhece <code>SHA256(segredo || mensagem)<\/code> e o comprimento de <code>segredo || mensagem<\/code>, pode calcular <code>SHA256(segredo || mensagem || dados_adicionais)<\/code> sem conhecer o segredo. Este comportamento deriva diretamente da exposi\u00e7\u00e3o do estado interno Merkle-Damg\u00e5rd no digest final.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"construcao-keccak-sponge-sha-3\">Constru\u00e7\u00e3o Keccak Sponge (SHA-3)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SHA-3 usa uma constru\u00e7\u00e3o totalmente diferente: a esponja. O estado interno tem 1600 bits divididos em duas zonas: bitrate (1088 bits para SHA3-256) e capacidade (512 bits). Durante a fase de absor\u00e7\u00e3o, os dados de entrada s\u00e3o processados em blocos do tamanho do bitrate, aplicando a permuta\u00e7\u00e3o Keccak-f[1600] de 24 rondas a cada itera\u00e7\u00e3o. Na fase de extra\u00e7\u00e3o (squeezing), os bits do digest s\u00e3o retirados do estado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A capacidade permanece completamente isolada da entrada. Um atacante externo nunca v\u00ea os 512 bits de capacidade, o que torna os ataques de extens\u00e3o de comprimento estruturalmente imposs\u00edveis. Para SHA3-256, a seguran\u00e7a de colis\u00e3o \u00e9 de 128 bits e a seguran\u00e7a de pr\u00e9-imagem de 256 bits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A diferen\u00e7a de tamanho do estado (1600 bits vs 256 bits internamente) tamb\u00e9m explica parte do custo computacional. Cada permuta\u00e7\u00e3o Keccak-f[1600] opera sobre uma matriz de 5\u00d75\u00d764 bits, com opera\u00e7\u00f5es XOR, rota\u00e7\u00f5es e transposi\u00e7\u00f5es. \u00c9 matematicamente mais elegante, mas mais lento em software sem acelera\u00e7\u00e3o dedicada.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"benchmarks-de-desempenho-3-fontes-dados-reais\">Benchmarks de Desempenho: 3 Fontes, Dados Reais<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Os benchmarks s\u00e3o a raz\u00e3o pela qual a maioria dos programadores ainda escolhe SHA-256 como padr\u00e3o. Os dados abaixo v\u00eam de medi\u00e7\u00f5es publicadas em hardware atual.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Plataforma<\/th><th>Tamanho da Mensagem<\/th><th>SHA-256 (MB\/s)<\/th><th>SHA3-256 (MB\/s)<\/th><th>Diferen\u00e7a<\/th><\/tr><\/thead><tbody><tr><td>AMD EPYC 4245P (Zen 5)<\/td><td>64 bytes<\/td><td>822<\/td><td>246<\/td><td>3,3x<\/td><\/tr><tr><td>AMD EPYC 4245P (Zen 5)<\/td><td>1 MB<\/td><td>2373<\/td><td>686<\/td><td>3,4x<\/td><\/tr><tr><td>ARM Graviton 4 (AWS)<\/td><td>64 KB<\/td><td>1742<\/td><td>508<\/td><td>3,4x<\/td><\/tr><tr><td>ARM Graviton 4 (AWS)<\/td><td>10 MB<\/td><td>1744<\/td><td>510<\/td><td>3,4x<\/td><\/tr><tr><td>Intel Skylake (AVX2)<\/td><td>Grande<\/td><td>~1800 MB\/s*<\/td><td>~475 MB\/s*<\/td><td>~3,8x<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">*Estimativa baseada em ciclos\/byte publicados pela Wikipedia: SHA3-256 AVX2 reporta 7,8 ciclos\/byte num Skylake a 3,5 GHz, equivalente a aproximadamente 449 MB\/s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A raz\u00e3o pela qual SHA-256 \u00e9 consistentemente 3 a 4 vezes mais r\u00e1pido resume-se a dois fatores. Primeiro, as CPUs Intel e AMD modernas incluem extens\u00f5es SHA-NI que aceleram SHA-256 em hardware, reduzindo o custo por bloco. N\u00e3o existe acelera\u00e7\u00e3o SHA-NI equivalente para Keccak em CPUs x86-64 convencionais. Segundo, o tamanho do bloco de absor\u00e7\u00e3o do SHA3-256 (1088 bits) exige permuta\u00e7\u00f5es Keccak-f[1600] mais frequentes para o mesmo volume de dados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ThePrimeagen, criador de conte\u00fado conhecido pelas suas an\u00e1lises de desempenho em Rust e C, tem destacado que em sistemas que processam streaming de dados em larga escala, a diferen\u00e7a de throughput de 3x n\u00e3o \u00e9 acad\u00e9mica. Um servidor que valida assinaturas de 100 GB por hora processa 30 GB por hora a menos com SHA-3, o que se traduz diretamente em custos de infraestrutura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por outro lado, Fireship, que cobre criptografia aplicada para programadores, nota que para a maioria das aplica\u00e7\u00f5es web que processam autentica\u00e7\u00f5es individuais ou hashes de passwords, a diferen\u00e7a de velocidade entre SHA-256 e SHA3-256 \u00e9 literalmente impercept\u00edvel. O gargalo est\u00e1 na rede, na base de dados ou na l\u00f3gica de neg\u00f3cio, n\u00e3o no algoritmo de hash.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"seguranca-onde-cada-algoritmo-ganha\">Seguran\u00e7a: Onde Cada Algoritmo Ganha<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tanto SHA-256 como SHA-3 s\u00e3o considerados seguros em 2026. N\u00e3o existem ataques pr\u00e1ticos conhecidos contra nenhum dos dois. A compara\u00e7\u00e3o de seguran\u00e7a centra-se em propriedades de design que afetam casos de uso espec\u00edficos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"resistencia-a-ataques-de-extensao-de-comprimento\">Resist\u00eancia a Ataques de Extens\u00e3o de Comprimento<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Esta \u00e9 a vulnerabilidade mais documentada na constru\u00e7\u00e3o Merkle-Damg\u00e5rd que afeta SHA-256. O ataque funciona assim: se um sistema usa <code>SHA256(chave_secreta || dados)<\/code> como mecanismo de autentica\u00e7\u00e3o (em vez de HMAC), um atacante que conhe\u00e7a o hash resultante e o comprimento total da mensagem consegue calcular <code>SHA256(chave_secreta || dados || dados_falsos)<\/code> sem saber a chave.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Este padr\u00e3o afetou APIs de servi\u00e7os reais. A API original da Amazon S3 e v\u00e1rias APIs de e-commerce dos anos 2000 usavam constru\u00e7\u00f5es vulner\u00e1veis a este ataque. A solu\u00e7\u00e3o padr\u00e3o \u00e9 usar HMAC-SHA256 em vez de SHA256 diretamente, que elimina a vulnerabilidade pela forma como encadeia a chave. SHA3-256 \u00e9 imune por design.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"forca-de-colisao-e-pre-imagem\">For\u00e7a de Colis\u00e3o e Pr\u00e9-Imagem<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ambos os algoritmos oferecem 128 bits de resist\u00eancia a colis\u00f5es e 256 bits de resist\u00eancia a pr\u00e9-imagem quando usados na variante de 256 bits. Em termos pr\u00e1ticos, n\u00e3o existe diferen\u00e7a mensur\u00e1vel de seguran\u00e7a para as aplica\u00e7\u00f5es actuais. Nenhum computador existente pode quebrar qualquer um dos dois por for\u00e7a bruta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O que distingue SHA-3 \u00e9 a independ\u00eancia estrutural de SHA-2. Se for descoberto um ataque matem\u00e1tico espec\u00edfico \u00e0 constru\u00e7\u00e3o Merkle-Damg\u00e5rd que afete SHA-256 e SHA-512, SHA-3 permanece seguro. Isto n\u00e3o \u00e9 uma amea\u00e7a imediata, mas \u00e9 a raz\u00e3o pela qual o NIST criou um segundo padr\u00e3o independente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"shake128-e-shake256-as-variantes-xof-do-sha-3\">SHAKE128 e SHAKE256: As Variantes XOF do SHA-3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SHA-3 n\u00e3o \u00e9 apenas SHA3-256 e SHA3-512. O FIPS 202 tamb\u00e9m define as fun\u00e7\u00f5es de sa\u00edda extens\u00edvel (XOF), que SHA-256 n\u00e3o tem equivalente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>SHAKE128<\/strong> e <strong>SHAKE256<\/strong> s\u00e3o fun\u00e7\u00f5es que produzem tantos bytes de sa\u00edda quantos forem necess\u00e1rios. Em vez de um digest fixo de 256 bits, pode-se pedir 16 bytes, 64 bytes, ou 1 MB de sa\u00edda pseudo-aleat\u00f3ria determin\u00edstica derivada da mesma entrada. Esta propriedade \u00e9 extremamente \u00fatil em:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Deriva\u00e7\u00e3o de chaves:<\/strong> gerar m\u00faltiplas chaves de comprimentos diferentes a partir de um \u00fanico segredo<\/li><li><strong>Hashing com sa\u00edda vari\u00e1vel:<\/strong> sistemas onde o tamanho do digest precisa de ser configur\u00e1vel<\/li><li><strong>Protocolos p\u00f3s-qu\u00e2nticos:<\/strong> Kyber e Dilithium (os novos padr\u00f5es NIST de criptografia p\u00f3s-qu\u00e2ntica) usam SHAKE128 e SHAKE256 internamente<\/li><li><strong>Gera\u00e7\u00e3o de n\u00fameros pseudo-aleat\u00f3rios:<\/strong> onde \u00e9 necess\u00e1rio um PRNG determin\u00edstico de alta qualidade<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">SHA-256 n\u00e3o tem nada equivalente. Para obter sa\u00edda vari\u00e1vel a partir de SHA-256, \u00e9 necess\u00e1rio encadear constru\u00e7\u00f5es como HKDF (HMAC-based Key Derivation Function), que adiciona complexidade. SHA-3 integra esta capacidade no pr\u00f3prio algoritmo, sem depend\u00eancias externas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A diferen\u00e7a entre SHAKE128 e SHAKE256 est\u00e1 no n\u00edvel de seguran\u00e7a: SHAKE128 usa bitrate de 1344 bits com capacidade de 256 bits (128 bits de seguran\u00e7a), enquanto SHAKE256 usa bitrate de 1088 bits com capacidade de 512 bits (256 bits de seguran\u00e7a). SHAKE256 \u00e9 mais lento mas mais seguro para aplica\u00e7\u00f5es sens\u00edveis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5-exemplos-de-uso-real-quem-usa-cada-um-e-porque\">5 Exemplos de Uso Real: Quem Usa Cada Um e Porqu\u00ea<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A teoria fica mais clara com casos concretos. Estes cinco exemplos mostram onde cada algoritmo domina em sistemas de produ\u00e7\u00e3o.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-bitcoin-sha-256-por-necessidade-estrutural\">1. Bitcoin: SHA-256 por Necessidade Estrutural<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bitcoin usa SHA-256 em dois locais cr\u00edticos: o algoritmo de prova de trabalho (Proof of Work) e o identificador de transa\u00e7\u00f5es. Cada bloco Bitcoin \u00e9 validado calculando <code>SHA256(SHA256(cabe\u00e7alho_do_bloco))<\/code> e verificando se o resultado tem um n\u00famero suficiente de zeros iniciais. Com 500 exahashes por segundo na rede em 2026, SHA-256 \u00e9 o algoritmo de hash mais executado do mundo em termos absolutos de volume.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mudar para SHA-3 quebraria a compatibilidade com todos os ASICs de minera\u00e7\u00e3o existentes e toda a infraestrutura de carteiras. A migra\u00e7\u00e3o seria economicamente imposs\u00edvel, independentemente das propriedades t\u00e9cnicas de SHA-3.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2-ethereum-keccak-256-nem-sha-256-nem-sha-3\">2. Ethereum: Keccak-256, Nem SHA-256 Nem SHA-3<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ethereum usa Keccak-256, que parece SHA-3 mas n\u00e3o \u00e9. Vitalik Buterin escolheu Keccak antes de o NIST finalizar o padr\u00e3o em 2015. O NIST alterou ligeiramente os par\u00e2metros de padding na vers\u00e3o final. O resultado \u00e9 que <code>Keccak256(\"mensagem\")<\/code> e <code>SHA3-256(\"mensagem\")<\/code> produzem resultados diferentes para a mesma entrada. Programadores Ethereum que usam bibliotecas Python com <code>hashlib.sha3_256()<\/code> cometem um erro que produz hashes errados. A biblioteca correta para Ethereum \u00e9 <code>pysha3<\/code> ou equivalente que implemente o Keccak original.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3-tls-1-3-e-https-sha-256-como-padrao-de-facto\">3. TLS 1.3 e HTTPS: SHA-256 como Padr\u00e3o de Facto<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O protocolo TLS 1.3, que protege a maioria do tr\u00e1fego HTTPS em 2026, usa SHA-256 na transcri\u00e7\u00e3o do handshake, na deriva\u00e7\u00e3o de chaves com HKDF, e em v\u00e1rios MACs internos. SHA-3 \u00e9 suportado em teoria, mas a suite de cifras padr\u00e3o de todos os grandes servidores web (Apache, Nginx, Caddy) usa SHA-256. A raz\u00e3o \u00e9 compatibilidade universal: SHA-256 est\u00e1 nos m\u00f3dulos criptogr\u00e1ficos certificados de todos os clientes TLS, de browsers a IoT.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"4-crystals-kyber-e-dilithium-sha-3-no-nucleo-pos-quantico\">4. CRYSTALS-Kyber e Dilithium: SHA-3 no N\u00facleo P\u00f3s-Qu\u00e2ntico<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Os algoritmos p\u00f3s-qu\u00e2nticos standardizados pelo NIST em 2024 usam SHA-3 internamente. Kyber (ML-KEM), o mecanismo de encapsulamento de chaves, usa SHAKE-256 para deriva\u00e7\u00e3o de chaves e hashing interno. Dilithium (ML-DSA), o algoritmo de assinatura digital, usa SHAKE256 para gera\u00e7\u00e3o de desafios e expans\u00e3o de polin\u00f3mios. Se a sua organiza\u00e7\u00e3o est\u00e1 a migrar para criptografia p\u00f3s-qu\u00e2ntica, j\u00e1 est\u00e1 a usar SHA-3 indiretamente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5-git-e-linux-sha-256-em-transicao\">5. Git e Linux: SHA-256 em Transi\u00e7\u00e3o<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Git usava SHA-1 para identificar commits e objetos. Ap\u00f3s a colis\u00e3o SHA-1 demonstrada em 2017 (SHAttered), o projeto migrou para SHA-256 no formato de reposit\u00f3rio SHA-256 (git 2.29+). O kernel Linux usa SHA-256 extensivamente para verifica\u00e7\u00e3o de assinaturas de m\u00f3dulos e integridade do sistema de ficheiros. Nenhum dos dois projetos migrou para SHA-3, principalmente por raz\u00f5es de compatibilidade e desempenho em hardware embarcado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"apis-de-programacao-como-usar-sha-256-e-sha-3\">APIs de Programa\u00e7\u00e3o: Como Usar SHA-256 e SHA-3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A diferen\u00e7a mais imediata para programadores \u00e9 a API. Abaixo est\u00e3o exemplos em Python e Node.js, as duas linguagens mais comuns em aplica\u00e7\u00f5es web.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\"># Python 3.6+ \u2014 hashlib suporta ambos nativamente\nimport hashlib\n\nmensagem = b\"shattered.io\"\n\n# SHA-256: digest fixo de 32 bytes\nh_sha256 = hashlib.sha256(mensagem)\nprint(\"SHA-256:    \", h_sha256.hexdigest())\n\n# SHA3-256: digest fixo de 32 bytes, API id\u00eantica\nh_sha3 = hashlib.sha3_256(mensagem)\nprint(\"SHA3-256:   \", h_sha3.hexdigest())\n\n# SHAKE-256: sa\u00edda vari\u00e1vel \u2014 pedir 32 bytes\nh_shake = hashlib.shake_256(mensagem)\nprint(\"SHAKE-256 (32 bytes):\", h_shake.hexdigest(32))\n\n# SHAKE-128: maior throughput, 128-bit security\nh_shake128 = hashlib.shake_128(mensagem)\nprint(\"SHAKE-128 (16 bytes):\", h_shake128.hexdigest(16))\n\n# ATEN\u00c7\u00c3O: hashlib.sha3_256() != Keccak-256 do Ethereum\n# Para Ethereum, use: pip install pysha3 e import sha3<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"javascript\" class=\"language-javascript\">\/\/ Node.js \u2014 m\u00f3dulo crypto nativo, sem depend\u00eancias\nconst crypto = require('crypto');\n\nconst mensagem = 'shattered.io';\n\n\/\/ SHA-256\nconst sha256 = crypto.createHash('sha256')\n  .update(mensagem, 'utf8')\n  .digest('hex');\nconsole.log('SHA-256:   ', sha256);\n\n\/\/ SHA3-256 (dispon\u00edvel desde Node.js 12 com OpenSSL 1.1.0+)\nconst sha3_256 = crypto.createHash('sha3-256')\n  .update(mensagem, 'utf8')\n  .digest('hex');\nconsole.log('SHA3-256:  ', sha3_256);\n\n\/\/ SHAKE-256 com sa\u00edda de 32 bytes\nconst shake256 = crypto.createHash('shake256', { outputLength: 32 })\n  .update(mensagem, 'utf8')\n  .digest('hex');\nconsole.log('SHAKE-256: ', shake256);\n\n\/\/ Verificar suporte SHA3 na vers\u00e3o do Node\nconsole.log('Hashes dispon\u00edveis:', crypto.getHashes().filter(h => h.includes('sha3')));<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A <a href=\"https:\/\/nodejs.org\/api\/crypto.html\" rel=\"noopener\" target=\"_blank\">documenta\u00e7\u00e3o do m\u00f3dulo crypto do Node.js<\/a> confirma que SHA3-256, SHA3-384, SHA3-512, SHAKE128 e SHAKE256 est\u00e3o dispon\u00edveis em qualquer vers\u00e3o moderna com OpenSSL 1.1.0 ou superior. Em Python, a <a href=\"https:\/\/docs.python.org\/3\/library\/hashlib.html\" rel=\"noopener\" target=\"_blank\">biblioteca hashlib<\/a> suporta toda a fam\u00edlia SHA-3 desde Python 3.6 sem depend\u00eancias externas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"suporte-em-linguagens-e-bibliotecas\">Suporte em Linguagens e Bibliotecas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A tabela de suporte por plataforma \u00e9 relevante para avaliar o custo de adotar SHA-3 em projetos existentes.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Plataforma \/ Biblioteca<\/th><th>SHA-256<\/th><th>SHA3-256<\/th><th>SHAKE128\/256<\/th><th>Nota<\/th><\/tr><\/thead><tbody><tr><td>OpenSSL 3.x<\/td><td>Nativo<\/td><td>Nativo (v1.1.0+, 2016)<\/td><td>Nativo<\/td><td>Padr\u00e3o em todas as distribui\u00e7\u00f5es Linux<\/td><\/tr><tr><td>Node.js (m\u00f3dulo crypto)<\/td><td>Nativo<\/td><td>Nativo (v12+)<\/td><td>Nativo<\/td><td>Depende do OpenSSL do sistema<\/td><\/tr><tr><td>Python hashlib<\/td><td>Nativo<\/td><td>Nativo (Python 3.6+)<\/td><td>Nativo<\/td><td>Sem depend\u00eancias externas<\/td><\/tr><tr><td>Java JCA\/JCE<\/td><td>Nativo<\/td><td>Java 9+ (2017)<\/td><td>Java 9+<\/td><td>MessageDigest.getInstance(&#8220;SHA3-256&#8221;)<\/td><\/tr><tr><td>Go stdlib<\/td><td>crypto\/sha256<\/td><td>golang.org\/x\/crypto\/sha3<\/td><td>Pacote x\/crypto<\/td><td>Pacote extra, n\u00e3o stdlib principal<\/td><\/tr><tr><td>Rust (ring)<\/td><td>Nativo<\/td><td>N\u00e3o suportado<\/td><td>N\u00e3o<\/td><td>ring foca em SHA-2 e BLAKE<\/td><\/tr><tr><td>PHP (hash)<\/td><td>hash(&#8216;sha256&#8217;)<\/td><td>hash(&#8216;sha3-256&#8217;) PHP 7.1+<\/td><td>PHP 7.1+<\/td><td>Extens\u00e3o hash inclu\u00edda por padr\u00e3o<\/td><\/tr><tr><td>Intel SHA-NI (hardware)<\/td><td>Acelerado<\/td><td>N\u00e3o suportado<\/td><td>N\u00e3o<\/td><td>Instru\u00e7\u00e3o nativa desde Skylake (2016)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">O ponto cr\u00edtico: Rust com a biblioteca <code>ring<\/code> n\u00e3o suporta SHA-3. Projetos em Rust que precisam de SHA-3 precisam de adicionar o crate <code>sha3<\/code> da RustCrypto. Para Go, SHA-3 est\u00e1 fora da biblioteca padr\u00e3o, em <code>golang.org\/x\/crypto<\/code>, o que significa uma depend\u00eancia externa adicional. Para Python e Node.js, o suporte \u00e9 nativo e sem fric\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"conformidade-fips-o-que-dizem-os-reguladores\">Conformidade FIPS: O Que Dizem os Reguladores<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para sistemas que requerem conformidade com normas americanas federais (FIPS), o <a href=\"https:\/\/csrc.nist.gov\/projects\/hash-functions\" rel=\"noopener\" target=\"_blank\">NIST mant\u00e9m as duas fam\u00edlias como padr\u00f5es aprovados<\/a>. SHA-256 est\u00e1 em FIPS 180-4 e SHA-3 em FIPS 202. Ambos s\u00e3o v\u00e1lidos para aplica\u00e7\u00f5es governamentais americanas certificadas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em Portugal, o Regulamento eIDAS 2 e as diretrizes da CNCS (Centro Nacional de Ciberseguran\u00e7a) baseiam-se nos padr\u00f5es ETSI e BSI, que reconhecem ambos os algoritmos. A diretiva NIS2, implementada em Portugal em 2024, n\u00e3o especifica algoritmos de hash mas remete para as recomenda\u00e7\u00f5es do ENISA (Ag\u00eancia Europeia para a Ciberseguran\u00e7a), que inclui SHA-256 e SHA-3 nas suas listas de algoritmos aprovados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para organiza\u00e7\u00f5es que precisam de certifica\u00e7\u00e3o FIPS 140-3, o que importa \u00e9 que o m\u00f3dulo criptogr\u00e1fico (OpenSSL, BoringSSL, etc.) seja certificado para a opera\u00e7\u00e3o espec\u00edfica. A maioria dos m\u00f3dulos FIPS 140-3 inclui ambas as fam\u00edlias. Escolher SHA-256 ou SHA-3 n\u00e3o afeta a certifica\u00e7\u00e3o desde que o m\u00f3dulo suporte ambos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"resistencia-quantica-o-que-muda-com-computacao-quantica\">Resist\u00eancia Qu\u00e2ntica: O Que Muda com Computa\u00e7\u00e3o Qu\u00e2ntica<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A pergunta mais frequente em 2026 \u00e9: qual dos dois resiste melhor a computadores qu\u00e2nticos?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A resposta curta: nenhum dos dois \u00e9 p\u00f3s-qu\u00e2ntico, mas ambos requerem computadores qu\u00e2nticos imensos para serem comprometidos, e SHA-3 n\u00e3o oferece vantagem significativa sobre SHA-256 neste contexto espec\u00edfico.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O algoritmo de Grover reduz a seguran\u00e7a de uma fun\u00e7\u00e3o hash de n bits para n\/2 bits de seguran\u00e7a efectiva contra ataques de for\u00e7a bruta em computadores qu\u00e2nticos. Para SHA-256 e SHA3-256, ambos com 256 bits, o ataque de Grover requer 2^128 opera\u00e7\u00f5es qu\u00e2nticas. Para a pr\u00e9-imagem (encontrar a mensagem original), a complexidade \u00e9 2^128 em computadores qu\u00e2nticos, o que ainda \u00e9 astronomicamente grande.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O NIST estima que computadores qu\u00e2nticos suficientemente poderosos para amea\u00e7ar SHA-256 ou SHA3-256 n\u00e3o existir\u00e3o antes de 2040 na melhor das hip\u00f3teses. A prioridade p\u00f3s-qu\u00e2ntica em 2026 est\u00e1 nas assinaturas digitais (RSA, ECDSA) e no estabelecimento de chaves (Diffie-Hellman, ECDH), que s\u00e3o vulner\u00e1veis ao algoritmo de Shor muito antes dos hashes serem comprometidos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para sa\u00edda qu\u00e2ntica-segura de hashes, a recomenda\u00e7\u00e3o \u00e9 usar SHA-512 ou SHA3-512 (512 bits de sa\u00edda = 256 bits de seguran\u00e7a qu\u00e2ntica efetiva via Grover), em vez de trocar de algoritmo. SHA-3 oferece uma vantagem aqui: <strong>SHAKE256 pode produzir qualquer n\u00famero de bytes<\/strong>, permitindo especificar sa\u00eddas de 512 bits ou maiores sem mudar de algoritmo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"opinioes-de-especialistas-a-comunidade-dividida\">Opini\u00f5es de Especialistas: A Comunidade Dividida<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A comunidade criptogr\u00e1fica e de desenvolvimento n\u00e3o tem consenso absoluto sobre qual algoritmo preferir para novos projectos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Joan Daemen<\/strong>, co-designer do Keccak e co-autor do AES (Rijndael), argumentou consistentemente que a diversidade de design entre SHA-2 e SHA-3 \u00e9 uma propriedade de seguran\u00e7a por si s\u00f3. Em entrevistas t\u00e9cnicas, Daemen sublinha que um ecossistema criptogr\u00e1fico que depende exclusivamente de uma \u00fanica constru\u00e7\u00e3o (Merkle-Damg\u00e5rd) \u00e9 mais fr\u00e1gil do que um que distribui confian\u00e7a entre duas arquiteturas independentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Bruce Schneier<\/strong>, cript\u00f3grafo e autor de &#8220;Applied Cryptography&#8221;, tem repetidamente recomendado que sistemas novos considerem SHA-3 precisamente porque evita a depend\u00eancia total em SHA-2. No entanto, Schneier tamb\u00e9m reconhece que SHA-256 com HMAC \u00e9 suficiente para a maioria das aplica\u00e7\u00f5es actuais e que a press\u00e3o de compatibilidade \u00e9 uma considera\u00e7\u00e3o leg\u00edtima.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Na comunidade de programadores, <strong>ThePrimeagen<\/strong> e outros criadores de conte\u00fado focados em sistemas de alto desempenho tendem a privilegiar SHA-256 quando velocidade \u00e9 cr\u00edtica, apontando para os benchmarks de 3,4x como argumento definitivo para sistemas que processam gigabytes por segundo. A posi\u00e7\u00e3o \u00e9 pragm\u00e1tica: se o teu sistema \u00e9 limitado pelo throughput de hash, SHA-256 \u00e9 a escolha certa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Fireship<\/strong>, no seu estilo caracter\u00edstico de resumos r\u00e1pidos para programadores, tem posicionado SHA-3 como &#8220;o futuro mas n\u00e3o o presente&#8221; no contexto web, dado que a maioria dos frameworks e protocolos est\u00e1 constru\u00edda sobre SHA-256 e a migra\u00e7\u00e3o requer esfor\u00e7o real sem benef\u00edcio imediato \u00f3bvio para aplica\u00e7\u00f5es standard.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O consenso mais equilibrado vem de organiza\u00e7\u00f5es como o IETF: SHA-256 para compatibilidade e desempenho em sistemas existentes, SHA-3 e SHAKE para novos sistemas onde as propriedades XOF ou a independ\u00eancia estrutural justificam o custo de ado\u00e7\u00e3o.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"guia-de-migracao-de-sha-256-para-sha-3\">Guia de Migra\u00e7\u00e3o: De SHA-256 para SHA-3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se decidir migrar de SHA-256 para SHA-3 num sistema existente, h\u00e1 considera\u00e7\u00f5es pr\u00e1ticas que determinam o n\u00edvel de dificuldade.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cenario-1-hashing-de-conteudo-sem-estado\">Cen\u00e1rio 1: Hashing de Conte\u00fado Sem Estado<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Se o sistema usa SHA-256 apenas para gerar checksums de ficheiros ou verificar integridade sem persist\u00eancia de longo prazo, a migra\u00e7\u00e3o \u00e9 trivial. Substituir <code>sha256()<\/code> por <code>sha3_256()<\/code> na biblioteca e actualizar os hashes armazenados. O \u00fanico custo \u00e9 regenerar todos os hashes existentes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Passos:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Adicionar suporte a SHA3-256 na biblioteca criptogr\u00e1fica (geralmente zero custo em Python\/Node.js)<\/li><li>Implementar fun\u00e7\u00e3o que aceita ambos os algoritmos durante o per\u00edodo de transi\u00e7\u00e3o<\/li><li>Reger todos os hashes existentes com SHA3-256 num processo batch<\/li><li>Remover suporte a SHA-256 ap\u00f3s confirma\u00e7\u00e3o de integridade<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cenario-2-hashes-em-protocolos-de-rede\">Cen\u00e1rio 2: Hashes em Protocolos de Rede<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Se SHA-256 est\u00e1 incorporado num protocolo de comunica\u00e7\u00e3o (como identificadores de mensagens ou checksums em APIs), a migra\u00e7\u00e3o requer coordena\u00e7\u00e3o entre clientes e servidores. A abordagem recomendada \u00e9 versionar o protocolo: <code>hash_v2<\/code> com SHA3-256 em paralelo com o <code>hash_v1<\/code> SHA-256, com per\u00edodo de suporte duplo de pelo menos 6 meses.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"cenario-3-hashing-de-passwords\">Cen\u00e1rio 3: Hashing de Passwords<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SHA-256 nunca deveria ser usado directamente para hashing de passwords (sem bcrypt, Argon2 ou PBKDF2). Se o sistema actual usa <code>SHA256(password + salt)<\/code>, o problema n\u00e3o \u00e9 o algoritmo de hash mas a aus\u00eancia de fun\u00e7\u00e3o de deriva\u00e7\u00e3o lenta. A migra\u00e7\u00e3o correta \u00e9 para Argon2id ou bcrypt, independentemente do algoritmo de hash subjacente. SHA-3 n\u00e3o resolve o problema de passwords sem deriva\u00e7\u00e3o lenta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"compatibilidade-com-ethereum\">Compatibilidade com Ethereum<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Aten\u00e7\u00e3o especial: se migrar de SHA-256 para SHA-3 em contexto blockchain compat\u00edvel com Ethereum, use Keccak-256 (n\u00e3o SHA3-256 padr\u00e3o). As bibliotecas corretas s\u00e3o <code>eth-hash<\/code> em Python e <code>ethereumjs-util<\/code> em JavaScript. Usar <code>hashlib.sha3_256()<\/code> em c\u00f3digo Ethereum produz resultados errados silenciosamente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"pros-e-contras-resumo-direto\">Pr\u00f3s e Contras: Resumo Direto<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>SHA-256<\/th><th>SHA3-256<\/th><\/tr><\/thead><tbody><tr><td>Velocidade em software<\/td><td>2373 MB\/s (3,4x mais r\u00e1pido)<\/td><td>686 MB\/s<\/td><\/tr><tr><td>Acelera\u00e7\u00e3o hardware<\/td><td>SHA-NI nativo em Intel\/AMD<\/td><td>Sem acelera\u00e7\u00e3o dedicada<\/td><\/tr><tr><td>Compatibilidade<\/td><td>Universal (TLS, Bitcoin, Git, Linux)<\/td><td>Crescente, n\u00e3o universal<\/td><\/tr><tr><td>Resist\u00eancia extens\u00e3o de comprimento<\/td><td>Vulner\u00e1vel (mitigar com HMAC)<\/td><td>Imune por design<\/td><\/tr><tr><td>Variantes XOF<\/td><td>N\u00e3o dispon\u00edvel<\/td><td>SHAKE128, SHAKE256<\/td><\/tr><tr><td>Independ\u00eancia estrutural de SHA-2<\/td><td>N\u00e3o (mesma fam\u00edlia)<\/td><td>Sim (sponge vs Merkle-Damg\u00e5rd)<\/td><\/tr><tr><td>Suporte em criptografia p\u00f3s-qu\u00e2ntica<\/td><td>Indireto (via HKDF)<\/td><td>Nativo (Kyber, Dilithium)<\/td><\/tr><tr><td>Maturidade e auditorias<\/td><td>25 anos, extensivamente auditado<\/td><td>11 anos, menor hist\u00f3rico<\/td><\/tr><tr><td>Suporte em IoT\/embarcado<\/td><td>Excelente (mais leve)<\/td><td>Limitado (maior estado interno)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"5-recomendacoes-por-caso-de-uso\">5 Recomenda\u00e7\u00f5es por Caso de Uso<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Com os dados na m\u00e3o, aqui est\u00e3o recomenda\u00e7\u00f5es claras para os cen\u00e1rios mais comuns.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Aplica\u00e7\u00f5es web e APIs:<\/strong> use SHA-256 com HMAC. \u00c9 mais r\u00e1pido, universalmente suportado, e HMAC elimina a vulnerabilidade de extens\u00e3o de comprimento. SHA3-256 n\u00e3o oferece vantagem pr\u00e1tica aqui para a maioria dos casos.<\/li><li><strong>Sistemas financeiros com conformidade regulat\u00f3ria:<\/strong> avalie SHA3-256 se o regulador exigir FIPS 202 especificamente. Caso contr\u00e1rio, SHA-256 com FIPS 180-4 \u00e9 suficiente e mais simples de certificar com m\u00f3dulos j\u00e1 aprovados.<\/li><li><strong>Criptografia p\u00f3s-qu\u00e2ntica:<\/strong> SHA-3 e SHAKE. Kyber e Dilithium j\u00e1 usam SHAKE internamente. Se est\u00e1 a implementar estes algoritmos, est\u00e1 a usar SHA-3 de qualquer forma.<\/li><li><strong>Deriva\u00e7\u00e3o de chaves com sa\u00edda vari\u00e1vel:<\/strong> SHAKE256. Mais eficiente do que encadear HMAC-SHA256 em esquemas HKDF complexos, e com output configur\u00e1vel sem depend\u00eancias externas.<\/li><li><strong>Sistemas embarcados ou IoT com recursos limitados:<\/strong> SHA-256. O estado interno menor (256 bits vs 1600 bits do Keccak) e a acelera\u00e7\u00e3o dispon\u00edvel em muitos microcontroladores modernos tornam SHA-256 a escolha mais eficiente em mem\u00f3ria e CPU.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"veredicto-qual-algoritmo-escolher-em-2026\">Veredicto: Qual Algoritmo Escolher em 2026<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">SHA-256 ganha em velocidade (3,4x), compatibilidade universal, e maturidade. SHA-3 ganha em design independente, resist\u00eancia a extens\u00e3o de comprimento, e variantes XOF.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A decis\u00e3o pr\u00e1tica para 2026:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Escolha SHA-256 se:<\/strong> o sistema processa grandes volumes de dados e cada MB\/s conta; a compatibilidade com sistemas existentes \u00e9 cr\u00edtica (TLS, Bitcoin, Git); est\u00e1 a trabalhar em IoT ou sistemas embarcados com mem\u00f3ria limitada; ou se est\u00e1 a manter c\u00f3digo legado e a migra\u00e7\u00e3o n\u00e3o tem ROI claro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Escolha SHA-3 se:<\/strong> est\u00e1 a construir um sistema novo sem restri\u00e7\u00f5es de compatibilidade retroativa; precisa de sa\u00edda de comprimento vari\u00e1vel (SHAKE128\/SHAKE256); est\u00e1 a implementar criptografia p\u00f3s-qu\u00e2ntica baseada em Kyber ou Dilithium; quer eliminar preocupa\u00e7\u00f5es de extens\u00e3o de comprimento por design sem depender de HMAC; ou se o cliente ou regulador exige explicitamente FIPS 202.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para a maioria dos programadores em Portugal que desenvolvem aplica\u00e7\u00f5es web, APIs REST, e sistemas de autentica\u00e7\u00e3o, <strong>SHA-256 com HMAC continua a ser a escolha certa<\/strong> em 2026. A lacuna de desempenho de 3,4x \u00e9 real e relevante em escala. SHA-3 \u00e9 excelente, mas o seu momento de adop\u00e7\u00e3o massiva vir\u00e1 com a expans\u00e3o da criptografia p\u00f3s-qu\u00e2ntica, n\u00e3o hoje.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"cobertura-relacionada\">Cobertura Relacionada<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para aprofundar o tema de fun\u00e7\u00f5es de hash e criptografia:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"\/sha-256\/\">SHA-256 Explicado: Como Funciona e Por Que \u00c9 Importante<\/a><\/li><li><a href=\"\/hash-functions\/\">Fun\u00e7\u00f5es de Hash Criptogr\u00e1fico: Guia Completo<\/a><\/li><li><a href=\"\/sha1-collision\/\">A Colis\u00e3o SHA-1 SHAttered, Explicada<\/a><\/li><li><a href=\"\/hmac-sha256-nodejs\/\">HMAC-SHA256 em Node.js: 10 Passos, 20 Min [2026]<\/a><\/li><li><a href=\"\/symmetric-vs-asymmetric-encryption\/\">Encripta\u00e7\u00e3o Sim\u00e9trica vs Assim\u00e9trica: Diferen\u00e7a de 1000x [2026]<\/a><\/li><li><a href=\"\/post-quantum-cryptography-2026\/\">Criptografia P\u00f3s-Qu\u00e2ntica: 50% da Web J\u00e1 Protegida [2026]<\/a><\/li><li><a href=\"\/cryptography\/\">Hashing e Criptografia: Guia de Refer\u00eancia<\/a><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"perguntas-frequentes\">Perguntas Frequentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sha-256-e-mais-seguro-do-que-sha-3\">SHA-256 \u00e9 mais seguro do que SHA-3?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o. Ambos oferecem 128 bits de resist\u00eancia a colis\u00f5es e 256 bits de resist\u00eancia a pr\u00e9-imagem. N\u00e3o existem ataques pr\u00e1ticos contra nenhum dos dois em 2026. SHA-3 tem vantagem em resist\u00eancia a extens\u00e3o de comprimento por design, mas em termos de for\u00e7a bruta s\u00e3o equivalentes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"posso-substituir-sha-256-por-sha-3-diretamente-no-meu-codigo\">Posso substituir SHA-256 por SHA-3 diretamente no meu c\u00f3digo?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sim, a n\u00edvel de API em Python e Node.js a troca \u00e9 de uma linha. O que muda \u00e9 o valor do hash produzido: SHA-256 e SHA3-256 produzem hashes completamente diferentes para a mesma entrada. Se tem hashes SHA-256 armazenados numa base de dados, precisa de os regenerar com SHA3-256. Em protocolos de rede, ambas as extremidades t\u00eam de concordar no algoritmo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"keccak-256-do-ethereum-e-o-mesmo-que-sha3-256\">Keccak-256 do Ethereum \u00e9 o mesmo que SHA3-256?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o. Ethereum usa Keccak-256 com o padding original da competi\u00e7\u00e3o NIST, antes do NIST alterar o padding na vers\u00e3o final padronizada como FIPS 202. <code>Keccak256(\"abc\")<\/code> e <code>SHA3-256(\"abc\")<\/code> produzem resultados diferentes. Para c\u00f3digo Ethereum, use bibliotecas espec\u00edficas como <code>pysha3<\/code>, n\u00e3o <code>hashlib.sha3_256()<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sha-3-e-mais-rapido-que-sha-256-em-hardware\">SHA-3 \u00e9 mais r\u00e1pido que SHA-256 em hardware?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Em hardware dedicado (ASICs e FPGAs), SHA-3 pode ser competitive ou at\u00e9 mais eficiente do que SHA-256, porque a constru\u00e7\u00e3o Keccak paraleliza bem em circuitos. Em CPUs convencionais, SHA-256 \u00e9 3 a 4 vezes mais r\u00e1pido gra\u00e7as \u00e0s instru\u00e7\u00f5es SHA-NI. Em IoT e microcontroladores sem acelera\u00e7\u00e3o dedicada, SHA-256 continua geralmente mais r\u00e1pido por ter menor estado interno.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"devo-usar-sha-3-para-hashing-de-passwords\">Devo usar SHA-3 para hashing de passwords?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o. Nem SHA-256 nem SHA-3 s\u00e3o adequados para hashing de passwords directamente. Para passwords, use Argon2id (recomenda\u00e7\u00e3o OWASP 2026), bcrypt, ou scrypt. Estas fun\u00e7\u00f5es s\u00e3o deliberadamente lentas para dificultar ataques de for\u00e7a bruta, o que SHA-3 n\u00e3o \u00e9 por design.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sha-3-vai-substituir-sha-256-nos-proximos-anos\">SHA-3 vai substituir SHA-256 nos pr\u00f3ximos anos?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Provavelmente n\u00e3o por substitui\u00e7\u00e3o directa, mas por ado\u00e7\u00e3o incremental. SHA-256 est\u00e1 demasiado incorporado em protocolos cr\u00edticos (TLS, Bitcoin, assinaturas digitais de software) para uma migra\u00e7\u00e3o r\u00e1pida. SHA-3 vai ganhar quota \u00e0 medida que a criptografia p\u00f3s-qu\u00e2ntica se expande, j\u00e1 que Kyber e Dilithium dependem de SHAKE. Os dois algoritmos coexistir\u00e3o por d\u00e9cadas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"qual-e-a-diferenca-entre-sha3-256-e-shake256\">Qual \u00e9 a diferen\u00e7a entre SHA3-256 e SHAKE256?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">SHA3-256 produz sempre um digest de exatamente 256 bits. SHAKE256 produz tantos bytes quantos forem pedidos, a qualquer comprimento. Internamente, ambos usam Keccak-f[1600], mas com par\u00e2metros de bitrate\/capacidade ligeiramente diferentes. Use SHA3-256 quando precisa de um hash de comprimento fixo (como SHA-256). Use SHAKE256 quando precisa de derivar chaves ou gerar sa\u00eddas de comprimento vari\u00e1vel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"hmac-sha256-ainda-e-seguro-em-2026\">HMAC-SHA256 ainda \u00e9 seguro em 2026?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sim. HMAC-SHA256 elimina a vulnerabilidade de extens\u00e3o de comprimento do SHA-256 e n\u00e3o tem ataques conhecidos. \u00c9 o padr\u00e3o em TLS 1.3, JWT (HMAC), e a maioria dos sistemas de autentica\u00e7\u00e3o de APIs. Para novos sistemas sem restri\u00e7\u00f5es de compatibilidade, HMAC-SHA256 e HMAC-SHA3-256 t\u00eam seguran\u00e7a equivalente; SHA-256 continua mais r\u00e1pido.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SHA-256 e SHA-3 s\u00e3o os dois algoritmos de hash criptogr\u00e1fico mais discutidos em 2026. Um tem 3,4 vezes mais velocidade em servidores modernos. O outro foi criado precisamente para sobreviver\u2026<\/p>\n","protected":false},"author":9,"featured_media":152,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-151","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cryptography"],"_links":{"self":[{"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/posts\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/comments?post=151"}],"version-history":[{"count":1,"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/posts\/151\/revisions"}],"predecessor-version":[{"id":153,"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/posts\/151\/revisions\/153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/media\/152"}],"wp:attachment":[{"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/media?parent=151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/categories?post=151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shattered.io\/pt\/wp-json\/wp\/v2\/tags?post=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}