Criptografia AES-256 Explicada: O Que Significa Para Seus Dados
AES-256 explicado: como a cifra funciona, por que as chaves de 256 bits importam, o que o modo GCM adiciona e o que verificar quando um aplicativo alega usar criptografia AES-256.
O AES-256 é o Padrão de Criptografia Avançada com uma chave de 256 bits, padronizado pelo NIST como FIPS 197 em 2001. É o algoritmo de criptografia simétrica usado pelo governo dos EUA para informações classificadas, pelos bancos em transações financeiras e por aplicativos focados em segurança para proteger dados em repouso e em trânsito. O AES-256 possui 2^256 chaves possíveis -- um número maior do que a estimativa de átomos no universo observável. Nenhum ataque conhecido reduz esse espaço de chaves a uma busca computacionalmente viável.
Este guia explica o que o AES-256 realmente faz, por que o tamanho da chave importa, o que os diferentes modos significam (ECB, CBC, GCM) e o que verificar quando um aplicativo alega usar criptografia AES-256.
O Que o AES Realmente Faz
O AES é uma cifra de bloco simétrica. "Simétrica" significa que a mesma chave criptografa e descriptografa. "Cifra de bloco" significa que processa dados em blocos de tamanho fixo de 128 bits (16 bytes).
O algoritmo pega seus dados (texto simples), combina-os com uma chave e produz saída embaralhada (texto cifrado) por meio de uma série de transformações matemáticas. Essas transformações -- substituição, deslocamento, mistura e adição de chave -- se repetem por um número fixo de rodadas. O AES-256 usa 14 rodadas.
Cada rodada aplica quatro operações:
- SubBytes: cada byte é substituído usando uma tabela de substituição fixa (S-box), introduzindo não-linearidade.
- ShiftRows: os bytes em cada linha são deslocados por diferentes deslocamentos, espalhando dados pelas posições.
- MixColumns: as colunas são misturadas por multiplicação de matrizes em um campo finito, difundindo mudanças entre bytes.
- AddRoundKey: a chave de rodada (derivada da chave principal) é XORada com os dados.
Após 14 rodadas, o texto simples está completamente embaralhado. Reverter essas operações com a chave correta recupera os dados originais. Sem a chave, o texto cifrado é indistinguível de ruído aleatório.
Por Que 256 Bits Importam
O "256" no AES-256 refere-se ao comprimento da chave: 256 bits. Isso determina o número de chaves possíveis que um atacante deve tentar para quebrar a criptografia por força bruta.
| Tamanho da Chave | Chaves Possíveis | Tempo para Força Bruta (1 trilhão de tentativas/seg) |
|---|---|---|
| 56 bits (DES) | 7,2 x 10^16 | ~20 horas |
| 128 bits (AES-128) | 3,4 x 10^38 | 10^13 anos (10 trilhões de anos) |
| 256 bits (AES-256) | 1,16 x 10^77 | 10^51 anos |
Para contexto: o universo tem aproximadamente 1,38 x 10^10 anos de idade. Quebrar o AES-256 por força bruta levaria cerca de 10^41 vezes mais do que a idade do universo, mesmo a um trilhão de tentativas por segundo.
O AES-128 já é computacionalmente inviável de quebrar por força bruta. O AES-256 oferece uma margem adicional contra avanços futuros na computação, incluindo a computação quântica. O algoritmo de Grover (um ataque de computação quântica) efetivamente reduz pela metade o comprimento da chave -- reduzindo o AES-256 ao equivalente do AES-128, que ainda é inviável. O AES-128 seria reduzido à segurança efetiva de 64 bits, o que é potencialmente vulnerável. É por isso que aplicativos de segurança crítica preferem o AES-256.
Modos AES: Por Que Importam
O AES por si só criptografa apenas um bloco de 128 bits de cada vez. Para dados reais (fotos, documentos, vídeos), você precisa de um "modo de operação" que lide com dados maiores do que 16 bytes. O modo determina como os blocos são encadeados e tem implicações significativas de segurança.
ECB (Electronic Codebook) -- Não Use
Cada bloco é criptografado independentemente com a mesma chave. Blocos de texto simples idênticos produzem blocos de texto cifrado idênticos. Isso vaza padrões nos dados. A demonstração clássica: criptografar uma imagem bitmap com ECB preserva a estrutura da imagem no texto cifrado, tornando o conteúdo reconhecível. O ECB está incluído no padrão, mas nunca deve ser usado para dados que tenham estrutura ou padrões repetitivos (o que inclui praticamente todos os dados do mundo real).
CBC (Cipher Block Chaining) -- Legado
Cada bloco é XORado com o bloco de texto cifrado anterior antes da criptografia. Isso elimina o vazamento de padrões do ECB. O CBC foi o modo padrão por décadas, mas foi substituído pelo GCM para a maioria das aplicações. O CBC requer um vetor de inicialização (IV) aleatório e não fornece autenticação integrada (você não pode detectar se o texto cifrado foi adulterado).
GCM (Galois/Counter Mode) -- Padrão Atual
O GCM combina criptografia no modo contador com autenticação de campo de Galois. Ele fornece criptografia autenticada: criptografa os dados E produz uma tag de autenticação que detecta qualquer modificação no texto cifrado. Se um único bit for alterado, a descriptografia falha em vez de produzir texto simples corrompido.
O NIST padronizou 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 aplicativos de segurança crítica devem usar e o que o Vaultaire usa para criptografar conteúdo de fotos e arquivos.
| Modo | Vazamento de Padrões | Autenticação | Recomendação Atual |
|---|---|---|---|
| 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 (integrado) | Recomendado para novas implementações |
O Que o AES-256 Significa Para o Armazenamento de Fotos
Quando um aplicativo de cofre de fotos alega "criptografia AES-256", três coisas devem ser verdadeiras:
O conteúdo do arquivo é criptografado com AES-256. Os dados brutos da foto (pixels, metadados, miniatura) são transformados em texto cifrado usando uma chave de 256 bits.
Cada arquivo usa um vetor de inicialização (IV) exclusivo. Se duas fotos idênticas são criptografadas com a mesma chave, o texto cifrado deve ser diferente. Isso requer um IV exclusivo por arquivo. Sem isso, a análise estatística pode revelar padrões.
O modo fornece autenticação (GCM ou equivalente). Sem autenticação, um atacante poderia modificar o texto cifrado sem ser detectado. O resultado descriptografado seria dados corrompidos em vez de um erro.
O Que "AES-256" em uma Página de Marketing Não Informa
O AES-256 é necessário, mas não suficiente. Vários fatores críticos determinam se a criptografia realmente protege seus dados:
A derivação de chave importa. Como a chave de 256 bits é gerada? Se for derivada de um PIN de 4 dígitos usando uma KDF fraca, a segurança efetiva é de 4 dígitos (10.000 combinações), não 256 bits. Uma implementação forte usa PBKDF2 com alta contagem de iterações ou Argon2 com parâmetros apropriados de memória/tempo. O Vaultaire usa PBKDF2 com HMAC-SHA512, derivando a chave de um padrão em uma grade 5x5 com bilhões de entradas possíveis.
O armazenamento de chave importa. Onde a chave reside? Se a chave é armazenada em texto simples no sandbox do aplicativo, qualquer malware com acesso a arquivos pode lê-la. O armazenamento adequado de chaves usa mecanismos com suporte de hardware, como o Secure Enclave da Apple, onde as chaves existem em um coprocessador dedicado com sua própria memória criptografada.
O que é criptografado importa. Alguns aplicativos criptografam o conteúdo do arquivo, mas deixam nomes de arquivo, miniaturas e metadados não criptografados. Um examinador forense pode não ver sua foto, mas pode ver "ferias-praia-2025.jpg" na listagem de arquivos. A criptografia abrangente cobre metadados separadamente.
O ciclo de vida da chave importa. A chave é apagada da memória quando o aplicativo fecha? Se a chave persiste na memória, um dump de memória poderia extraí-la. O Vaultaire apaga as chaves da memória a cada fechamento do aplicativo e requer uma nova entrada de padrão em cada inicialização.
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) | Criptografia ponta a ponta do iCloud | GCM |
| Signal | Criptografia de mensagens | CBC (com HMAC para autenticação) |
| Bancos | Criptografia de transações financeiras | GCM |
| 1Password | Cofre de senhas | GCM |
| Vaultaire | Cofre de fotos e arquivos | GCM |
| VeraCrypt | Criptografia de disco | XTS (otimizado para blocos de disco) |
Equívocos Comuns
"Criptografia militar" não significa nada específico. Páginas de marketing usam essa frase porque soa impressionante. O AES-256 é usado por militares. O AES-128 também. A frase não informa o modo, a derivação de chave, o armazenamento de chave ou quais dados são realmente criptografados.
"Criptografia de 256 bits" pode não significar AES-256. Outras cifras também usam chaves de 256 bits (ChaCha20, Twofish, Serpent). Verifique qual algoritmo está especificado. AES-256-GCM é o padrão atual.
O AES-256 não protege contra uma senha fraca. Se a senha for "1234" e a derivação de chave for fraca, a criptografia é efetivamente uma segurança de 4 dígitos independentemente da força da cifra. A corrente se rompe no elo mais fraco.
O AES-256 não protege dados em uso. Quando você vê uma foto, ela deve ser descriptografada na memória. Nesse momento, existe em texto simples na RAM. Implementações adequadas minimizam essa janela e apagam os dados descriptografados prontamente.
Perguntas Frequentes
O AES-256 pode ser quebrado?
Nenhum ataque conhecido quebra o AES-256 reduzindo o espaço completo de chaves. O melhor ataque conhecido (um ataque biclique por Bogdanov, Khovratovich e Rechberger, 2011) reduz o AES-256 de 2^256 operações para 2^254,4 -- uma melhoria teórica que é computacionalmente irrelevante na prática. O AES-256 permanece inviolado.
O AES-256 é resistente a computadores quânticos?
Substancialmente, sim. O algoritmo quântico de Grover reduz pela metade o comprimento efetivo da chave: o AES-256 torna-se equivalente à segurança de 128 bits contra ataques quânticos. O AES-128 seria reduzido à segurança efetiva de 64 bits, o que é potencialmente vulnerável. O NIST recomenda o AES-256 para segurança de longo prazo contra avanços na computação quântica.
Qual é a diferença entre AES-128 e AES-256?
O AES-128 usa uma chave de 128 bits (10 rodadas). O AES-256 usa uma chave de 256 bits (14 rodadas). Ambos são considerados seguros contra ataques atuais. O AES-256 oferece maior margem contra avanços futuros, especialmente a computação quântica. O AES-256 é aproximadamente 40% mais lento que o AES-128 devido às rodadas adicionais, mas a aceleração de hardware torna isso irrelevante em dispositivos modernos.
A criptografia AES-256 deixa meu telefone mais lento?
Não de forma perceptível. Os iPhones modernos incluem aceleração de hardware AES dedicada no Secure Enclave e no processador. Criptografar ou descriptografar uma foto leva milissegundos. O AES é especificamente projetado para eficiência de implementação em hardware.
Como sei se um aplicativo realmente usa AES-256?
Verifique a documentação de segurança do aplicativo, não apenas sua página de marketing. Procure: algoritmo e modo específicos (AES-256-GCM, não apenas "AES" ou "256 bits"), método de derivação de chave (PBKDF2, Argon2), mecanismo de armazenamento de chave (Secure Enclave, com suporte de hardware) e se os metadados também são criptografados. Aplicativos de código aberto permitem verificação independente.
Conclusão
O AES-256 é o padrão ouro para criptografia simétrica, padronizado pelo NIST, usado por governos e instituições financeiras e resistente a todos os ataques conhecidos, incluindo a computação quântica. Ao avaliar aplicativos que alegam criptografia AES-256, vá além da cifra: verifique o modo (GCM), a derivação de chave (PBKDF2/Argon2 com alta contagem de iterações), o armazenamento de chave (com suporte de hardware) e quais dados são realmente criptografados (conteúdo + metadados).
O Vaultaire usa AES-256-GCM para criptografia de arquivos, PBKDF2 com HMAC-SHA512 para derivação de chave, ChaCha20 para criptografia de metadados e Apple Secure Enclave para gerenciamento de chaves. A criptografia não é linguagem de marketing. É matemática.