ChaCha20

Cifra de fluxo moderna (ARX) — alternativa ágil ao AES

Daniel J. Bernstein (2008) · variante do Salsa20 · RFC 8439

Criptografia Simétrica

O que é e por que existe

Simétrica · Fluxo
O ChaCha20 é uma cifra de fluxo: gera um keystream pseudoaleatório a partir de uma chave de 256 bits e um nonce, e o combina com o texto claro por XOR. Foi criada para ser rápida e segura em software, mesmo em dispositivos sem aceleração de AES (celulares, embarcados).

ARX: soma, rotação, XOR

Usa apenas três operações baratas — Add, Rotate, XOR — sobre um estado de 16 palavras de 32 bits, em 20 rodadas de quarter-rounds. Sem tabelas de lookup, é naturalmente de tempo constante.

Resistente a canal lateral

Como não acessa memória dependente de dados (ao contrário das S-boxes do AES por tabela), evita ataques de timing de cache sem depender de hardware especial.

Funcionamento e o par ChaCha20-Poly1305

A cifra de fluxo é, em essência, um XOR com um fluxo imprevisível:

cifra = texto_claro ⊕ keystream(chave, nonce, contador)

AEAD com Poly1305

Sozinha, garante só confidencialidade. Combinada ao MAC Poly1305 forma o AEAD ChaCha20-Poly1305, que entrega confidencialidade + integridade + autenticidade em uma só primitiva.

Ex.: adotado no TLS 1.3, no WireGuard (VPN) e por padrão em conexões móveis do Google/Cloudflare.

Segurança

Após anos de criptanálise, não há ataque prático: os melhores resultados atacam apenas versões com rodadas reduzidas (~7 de 20). A margem é considerada confortável.

Regra de ouro das cifras de fluxo: nunca reutilizar o par (chave, nonce). Reusar o nonce repete o keystream, e o XOR de dois textos cifrados revela os textos claros.

Em resumo

O ChaCha20 é a principal alternativa ao AES: cifra de fluxo ARX, veloz em software e resistente a canal lateral. Em ChaCha20-Poly1305 torna-se AEAD completo. Exige nonce único, como toda cifra de fluxo.

AES HMAC Todos os algoritmos
Voltar aos Pilares