Encriptação AES-256 explicada: o que significa para os seus dados

Encriptação AES-256 explicada: o que significa para os seus dados

AES-256 explicado: como a cifra funciona, por que o comprimento de 256 bits é importante, o que o modo GCM acrescenta e o que verificar quando uma aplicação afirma usar encriptação AES-256.


AES-256 é o Advanced Encryption Standard com chave de 256 bits, normalizado pelo NIST como FIPS 197 em 2001. É um algoritmo de encriptação simétrica usado pelo governo dos EUA para informações classificadas, pelos bancos para transacções financeiras e por aplicações de segurança para proteger dados em repouso e em trânsito. O AES-256 tem 2^256 chaves possíveis, um número maior do que o número estimado de átomos no universo observável. Nenhum ataque conhecido reduz computacionalmente este espaço de chaves.

Este guia explica o que o AES-256 realmente faz, por que o tamanho da chave é importante, o que significam os diferentes modos (ECB, CBC, GCM) e no que se concentrar quando uma aplicação afirma usar encriptação AES-256.

O que o AES realmente faz

O AES é uma cifra de bloco simétrica. “Simétrica” significa que a mesma chave encripta e desencripta. “Cifra de bloco” significa que processa dados em blocos de tamanho fixo de 128 bits (16 bytes).

O algoritmo pega nos seus dados (texto simples), combina-os com a chave e através de uma série de transformações matemáticas produz um resultado misturado (texto cifrado). Estas transformações, substituição, deslocamento, mistura e adição de chave, repetem-se por um número fixo de rondas. O AES-256 usa 14 rondas.

Cada ronda aplica quatro operações:

  1. SubBytes: Cada byte é substituído usando uma tabela de substituição fixa (S-box), introduzindo não-linearidade.
  2. ShiftRows: Os bytes em cada linha são deslocados por diferentes quantidades, espalhando os dados pelas posições.
  3. MixColumns: As colunas são misturadas através de multiplicação matricial num campo finito, difundindo alterações entre os bytes.
  4. AddRoundKey: A chave da ronda (derivada da chave principal) é aplicada com XOR aos dados.

Após 14 rondas, o texto simples está completamente misturado. Inverter estas operações com a chave correcta restaura os dados originais. Sem a chave, o texto cifrado é indistinguível de ruído aleatório.

Por que 256 bits é importante

O número “256” no AES-256 refere-se ao comprimento da chave: 256 bits. Isso determina o número de chaves possíveis que um atacante teria de tentar para quebrar a encriptação por força bruta.

Tamanho da chave Chaves possíveis Tempo de quebra por força bruta (bilião de tentativas/s)
56 bits (DES) 7,2 × 10^16 aproximadamente 20 horas
128 bits (AES-128) 3,4 × 10^38 10^13 anos (10 biliões de anos)
256 bits (AES-256) 1,16 × 10^77 10^51 anos

Para contextualizar: o universo tem aproximadamente 1,38 × 10^10 anos. Quebrar o AES-256 por força bruta demoraria cerca de 10^41 vezes a idade do universo, mesmo a um bilião de tentativas por segundo.

O AES-128 já é computacionalmente inviável de quebrar por força bruta. O AES-256 fornece margem adicional contra avanços futuros na computação, incluindo computadores quânticos. O algoritmo de Grover (ataque quântico) reduz efectivamente o comprimento da chave a metade, tornando o AES-256 equivalente a AES-128 contra ataques quânticos, ainda inviável. O AES-128 seria reduzido a 64 bits de segurança efectiva, potencialmente vulnerável. Por isso as aplicações críticas para segurança preferem AES-256.

Modos AES: por que são importantes

O AES por si só encripta apenas um bloco de 128 bits de cada vez. Para dados reais (fotografias, documentos, vídeos) precisa de um “modo de operação” que lide com dados maiores que 16 bytes. O modo determina como os blocos são encadeados, com implicações de segurança significativas.

ECB (Electronic Codebook): não usar

Cada bloco é encriptado independentemente com a mesma chave. Blocos de texto simples idênticos produzem blocos de texto cifrado idênticos. Isso vaza padrões nos dados. O exemplo clássico: encriptar uma imagem bitmap com ECB preserva a estrutura da imagem no texto cifrado, tornando o conteúdo ainda reconhecível. O ECB está incluído no padrão mas nunca deve ser usado para dados com estrutura ou padrões repetidos.

CBC (Cipher Block Chaining): padrão mais antigo

Cada bloco é aplicado com XOR ao texto cifrado anterior antes de encriptar. Isso elimina a fuga de padrões do ECB. O CBC foi o modo padrão durante décadas mas foi substituído pelo GCM para a maioria das aplicações. O CBC requer um vector de inicialização aleatório (IV) e não fornece autenticação incorporada.

GCM (Galois/Counter Mode): padrão actual

O GCM combina encriptação em modo contador com autenticação do campo de Galois. Fornece encriptação autenticada: encripta os dados E cria uma etiqueta de autenticação que detecta qualquer modificação do texto cifrado. Se um único bit for alterado, a desencriptação falha em vez de produzir texto simples corrompido.

O NIST normalizou o GCM no SP 800-38D (2007). É o modo recomendado para novas implementações.

AES-256-GCM é o AES com chave de 256 bits no modo Galois/Counter. É o que as aplicações críticas para segurança devem usar e o que o Vaultaire usa para encriptar conteúdo de fotografias e ficheiros.

Modo Fuga de padrões Autenticação Recomendação actual
ECB Sim (grave) Não Não usar
CBC Não Não (requer MAC separado) Legado; aceitável com HMAC
GCM Não Sim (incorporada) Recomendado para novas implementações

O que AES-256 significa para armazenamento de fotografias

Quando uma aplicação cofre de fotografias afirma “encriptação AES-256”, três coisas devem ser verdadeiras:

  1. O conteúdo do ficheiro é encriptado com AES-256. Os dados brutos da fotografia (pixels, metadados, miniatura) são transformados em texto cifrado usando uma chave de 256 bits.

  2. Cada ficheiro usa um vector de inicialização único (IV). Se duas fotografias idênticas forem encriptadas com a mesma chave, o texto cifrado deve ser diferente. Isso requer um IV único por ficheiro. Sem isso, a análise estatística pode revelar padrões.

  3. O modo fornece autenticação (GCM ou equivalente). Sem autenticação, um atacante poderia modificar o texto cifrado sem detecção. O resultado desencriptado seriam dados corrompidos, não um erro.

O que “AES-256” numa página de marketing não diz

O AES-256 é necessário mas não suficiente. Vários factores críticos determinam se a encriptação realmente protege os seus dados:

A derivação de chaves é importante. Como a chave de 256 bits é gerada? Se for derivado de um PIN de 4 dígitos usando um KDF fraco, a segurança efetiva será de 4 dígitos (10.000 combinações), e não de 256 bits. Uma implementação forte usa PBKDF2 com uma contagem alta de iterações ou Argon2 com parâmetros de memória e tempo apropriados. Vaultaire usa PBKDF2 com HMAC-SHA512 e 600.000 iterações para derivar uma chave de cofre local do padrão 5x5 escolhido e um sal de dispositivo. PBKDF2 torna cada palpite mais caro; não aumenta a entropia do padrão para 256 bits.

O armazenamento de chaves é importante. Onde mora a chave? Se a chave estiver armazenada em texto simples na sandbox do aplicativo, o malware com acesso a arquivos poderá lê-la. da maçã Secure Enclave oferece suporte a operações específicas de chave não exportáveis, e não a chaves AES arbitrárias fornecidas pelo aplicativo. Projetos de chave simétrica podem, em vez disso, contar com Keychain e proteção de dados, portanto, a documentação deve nomear a API exata e a classe de proteção, em vez de dizer apenas "apoiado por hardware".

O que está encriptado é importante. Algumas aplicações encriptam o conteúdo dos ficheiros mas deixam nomes de ficheiros, miniaturas e metadados não encriptados. Um perito forense pode não ver a sua fotografia, mas vê “ferias-praia-2025.jpg” na listagem de ficheiros. A encriptação abrangente cobre os metadados separadamente.

Os principais assuntos do ciclo de vida. Por quanto tempo o material da chave descriptografada permanece disponível? Vaultaire descarta seu cofre ativo e estado de chave mestra quando é bloqueado ou fechado e requer um novo desbloqueio. Bytes de chave simétrica existem necessariamente na memória do aplicativo enquanto um cofre está aberto, e Swift e iOS não deixe um aplicativo provar que todas as cópias temporárias foram substituídas.

AES-256 na prática: quem o usa

Entidade Caso de uso Modo
Governo dos EUA (NSA) Informações classificadas GCM (ou CTR com autenticação separada)
Apple (iCloud ADP) Encriptação ponta a ponta iCloud GCM
Signal Encriptação de mensagens CBC (com HMAC para autenticação)
Bancos Encriptação de transacções financeiras GCM
1Password Cofre de palavras-passe GCM
Vaultaire Cofre de fotografias e ficheiros GCM
VeraCrypt Encriptação de disco XTS (optimizado para blocos de disco)

Equívocos comuns

“Encriptação de grau militar” não especifica nada concreto. As páginas de marketing usam esta expressão porque soa impressionante. O AES-256 é usado por forças armadas. Também o AES-128. A expressão não lhe diz nada sobre o modo, derivação de chave, armazenamento de chave ou o que realmente está a ser encriptado.

“Encriptação de 256 bits” não significa necessariamente AES-256. Outras cifras também usam chaves de 256 bits (ChaCha20, Twofish, Serpent). Verifique qual o algoritmo especificado. AES-256-GCM é o padrão actual.

O AES-256 não protege contra palavras-passe fracas. Se a sua palavra-passe for “1234” e a derivação de chave for fraca, a encriptação é efectivamente de 4 dígitos independentemente da força da cifra. A corrente parte-se no elo mais fraco.

O AES-256 não protege os dados em uso. Quando vê uma fotografia, esta tem de ser desencriptada na memória. Nesse momento existe em texto simples na RAM. As implementações correctas minimizam esta janela e apagam rapidamente os dados desencriptados.

Perguntas mais frequentes

O AES-256 pode ser quebrado?

Nenhum ataque conhecido quebra o AES-256 reduzindo todo o espaço de chaves. O ataque mais conhecido (ataque biclique de Bogdanov, Khovratovich e Rechberger, 2011) reduz o AES-256 de 2^256 operações para 2^254.4, uma melhoria teórica que é computacionalmente insignificante na prática. O AES-256 permanece inquebrável.

O AES-256 é resistente a computadores quânticos?

Essencialmente sim. O algoritmo quântico de Grover reduz o comprimento efectivo da chave a metade: o AES-256 torna-se equivalente a 128 bits de segurança contra ataques quânticos. O AES-128 seria reduzido a 64 bits de segurança efectiva, potencialmente vulnerável. O NIST recomenda o AES-256 para segurança a longo prazo contra avanços em computação quântica.

Qual é a diferença entre AES-128 e AES-256?

O AES-128 usa uma chave de 128 bits (10 rondas). O AES-256 usa uma chave de 256 bits (14 rondas). Ambos são considerados seguros contra ataques actuais. O AES-256 fornece maior margem contra avanços futuros, especialmente computadores quânticos. O AES-256 é aproximadamente 40% mais lento que o AES-128 devido às rondas adicionais, mas a aceleração por hardware torna isso negligenciável em dispositivos modernos.

A encriptação AES-256 atrasa o meu telemóvel?

Não é perceptível em uso normal. Os processadores modernos da Apple fornecem aceleração de hardware para AES por meio de bibliotecas criptográficas do sistema. Isso não significa que a operação AES de um aplicativo seja executada dentro Secure Enclave. O tempo ainda depende do tamanho do arquivo, do dispositivo, do armazenamento e da implementação, portanto, uma reivindicação de segurança deve se basear em medições, e não em um número universal de milissegundos.

Como posso saber se uma aplicação realmente usa AES-256?

Verifique a documentação de segurança do aplicativo, não apenas a página de marketing. Procure o algoritmo e modo específico, hierarquia de chaves, parâmetros de derivação, dados exatos Keychain ou Secure Enclave uso, tratamento de nonce, caminho de recuperação e se os metadados também são criptografados. O código-fonte aberto e as auditorias independentes tornam essas afirmações mais fáceis de verificar.

Conclusão

O AES-256 é o padrão de ouro da encriptação simétrica, normalizado pelo NIST, usado por governos e instituições financeiras, e resistente a todos os ataques conhecidos incluindo computadores quânticos. Ao avaliar aplicações que afirmam usar encriptação AES-256, olhe além da cifra: verifique o modo (GCM), a derivação de chave (PBKDF2/Argon2 com número elevado de iterações), o armazenamento de chave (suportado por hardware) e quais dados estão realmente encriptados (conteúdo e metadados).

Cofre usa AES-256-GCM para conteúdo de arquivo, cabeçalhos, metadados, índices e miniaturas. PBKDF2 com HMAC-SHA512 deriva uma chave de cofre local do padrão e uma chave de todo o dispositivo Keychain sal; essa chave desembrulha uma chave mestra aleatória usada para criptografia de arquivos. As operações simétricas são executadas no processo do aplicativo por meio de CryptoKit, enquanto iOS Keychain e a Proteção de Dados protegem o estado de recuperação quando o dispositivo está bloqueado. A hierarquia completa está documentada no modelo de segurança.