Criptografia/Descriptografia CAST5 (CAST-128)
Cifra de bloco simétrica segura com comprimento de chave variável (40-128 bits)
Aviso de segurança
Esta ferramenta é para fins educacionais e de teste. Para ambientes de produção que requerem alta segurança, considere usar AES-256 ou outros algoritmos de criptografia modernos. Nunca compartilhe suas chaves de criptografia.
Sobre a criptografia CAST5 (CAST-128)
CAST5 (também chamado CAST-128) foi projetado por Carlisle Adams e Stafford Tavares na Nortel (Northern Telecom) e publicado como RFC 2144 em 1996. O nome CAST vem das iniciais dos designers: Carlisle Adams Stafford Tavares. Usa blocos de 64 bits com comprimentos de chave variáveis de 40 a 128 bits em passos de 8 bits, e foi selecionado como a cifra simétrica obrigatória no OpenPGP (RFC 4880) e como a cifra em bloco padrão no GnuPG 1.x até a versão 1.4.
CAST5 emprega três funções de rodada distintas — Tipo 1 (saída XOR), Tipo 2 (saída subtração) e Tipo 3 (saída adição) — selecionando pares diferentes de oito S-boxes de 32 bits em ordem fixa pelas rodadas. Chaves de 80 bits ou menos usam 12 rodadas; chaves mais longas usam 16. As oito S-boxes foram construídas usando funções booleanas dobradas, dotando o CAST5 de limites de resistência demonstráveis contra a criptoanálise diferencial, formalmente estabelecidos no projeto.
Características principais
- Comprimento de chave variável: 40–128 bits em passos de 8 bits — suporta tanto o nível de chave de 40 bits com restrição de exportação dos EUA dos anos 1990 quanto a força total de 128 bits em um único algoritmo
- Três funções de rodada distintas (Tipo 1 XOR / Tipo 2 Subtração / Tipo 3 Adição) alternando por rodada, cada uma selecionando um par diferente das oito S-boxes 32×8 bits
- 12 rodadas para chaves ≤ 80 bits; 16 rodadas para chaves de 81–128 bits — compensação explícita de número de rodadas para entropia de chave reduzida
- Algoritmo livre de royalties sem restrições de patente
Modos de criptografia
- CBC: Encadeamento de blocos cifrados — cada bloco CAST5 de 64 bits é combinado com XOR com o cifrado anterior antes da sequência de 12 ou 16 funções de rodada Feistel. Nota: OpenPGP (RFC 4880 §13.9) exige CFB-com-resync em vez de CBC para cifração em bulk; CBC é o modo correto ao usar CAST5 em contextos SSH2 (CAST128-CBC, RFC 4253).
- ECB: Livro de códigos eletrônico — cada bloco CAST5 de 64 bits é processado independentemente por todas as 12 ou 16 rodadas. Blocos idênticos de texto simples sempre produzem cifrado idêntico, revelando padrões de repetição. Com largura de bloco de 64 bits, uma colisão de limite de aniversário tem 50% de probabilidade após ~2³² blocos (~32 GB cifrados sob uma chave) — evitar ECB totalmente.
- CTR: Modo contador - Converte cifra de bloco em cifra de fluxo, permite processamento paralelo
- CFB: Realimentação de cifra — o modo exigido pelo OpenPGP (RFC 4880 §13.9): CAST5 em CFB de 64 bits com uma etapa de ressincronização de dois blocos no início da mensagem. Este CFB-com-resync específico do OpenPGP permite que os destinatários recuperem a sincronização e detectem blocos iniciais adulterados.
- OFB: Realimentação de saída — a função de bloco CAST5 re-cifra iterativamente o IV para gerar um fluxo de chave independente do texto simples. Com um IV de 64 bits, o período estatístico do keystream é limitado pelo problema de aniversário a ~2³² ciclos; para fluxos grandes ou de longa duração, atualizar o IV periodicamente.
- RAW: Modo de bloco único - Criptografia direta sem encadeamento, apenas para bloco único de 8 bytes
Comparação de algoritmos
| Algoritmo | Comprimento da chave | Tamanho do bloco | Segurança | Velocidade |
|---|---|---|---|---|
| CAST5 (CAST-128) | 40-128 bits | 64 bits | Boa | Rápida |
| Blowfish | 32-448 bits | 64 bits | Boa | Rápida |
| AES | 128/192/256 bits | 128 bits | Excelente | Rápida |
| Twofish | 128/192/256 bits | 128 bits | Excelente | Rápida |
Considerações de segurança
- Não existe um ataque prático de rodada completa contra CAST5-128; a melhor criptoanálise publicada só alcança 6 das 16 rodadas. No entanto, CAST5 com chaves de 40 bits (grau exportação) é trivialmente quebrado por força bruta — nunca usar chaves menores que 128 bits em qualquer implantação moderna.
- O tamanho de bloco de 64 bits é a principal limitação do CAST5: em modo CBC ou CFB, um vazamento estatístico de limite de aniversário emerge após ~2³² blocos (~32 GB por chave). O OpenPGP mitiga isso com chaves de sessão por mensagem, mas o uso de streaming de longa duração requer rotação de chaves para grandes volumes.
- OpenPGP (RFC 4880 §9.2) marca CAST5 como algoritmo MUST-implement para compatibilidade com a base instalada de clientes GnuPG 1.x e PGP 8.x. Novas implementações DEVERIAM preferir AES-256 para mensagens recém-geradas — CAST5 é um requisito do lado receptor, não um padrão recomendado para nova saída.
- Para todos os novos projetos, substituir CAST5 por AES-128-CBC ou AES-256-GCM. A limitação do bloco de 64 bits em vez de qualquer fraqueza criptanalítica é o principal motivador da migração; o próprio CAST5-128 permanece inquebrado quando usado com chaves suficientemente longas e gerenciamento IV correto.
Casos de uso comuns
- Compatibilidade de criptografia de e-mail e arquivo OpenPGP: RFC 4880 §9.2 exige CAST5 em todas as implementações OpenPGP conformes, necessário para interoperabilidade com a base instalada de usuários GnuPG 1.x e PGP 8.x que não atualizaram suas preferências de cifra
- Criptografia simétrica GnuPG 1.x: GnuPG 1.0 a 1.4.x usava CAST5 por padrão para criptografia de chave simétrica (frase secreta). Descriptografar arquivos ou mensagens assinadas dessas versões GnuPG requer CAST5, a menos que o remetente tenha selecionado explicitamente AES
- Cifra de transporte SSH2 CAST128-CBC: RFC 4253 define CAST128-CBC como cifra SSH SHOULD-support. Servidores SSH legados e dispositivos embarcados com firmware limitado podem ainda negociar CAST128-CBC se as suites AES estiverem indisponíveis
- Descriptografia forense e de arquivo: e-mails cifrados PGP, imagens de disco e conjuntos de backup do final dos anos 1990 ao meados dos 2000 comumente usam CAST5. A recuperação de dados requer CAST5 mesmo quando os sistemas atuais não geram mais novo conteúdo CAST5
Referências
Ferramentas Relacionadas
Criptografia/Descriptografia Blowfish
Cifra de bloco simétrica rápida projetada por Bruce Schneier, com comprimento de chave variável (32-448 bits)
Criptografia/Descriptografia Twofish
Finalista AES, cifra simétrica com blocos de 128 bits e chaves de 128/192/256 bits, projetada por Bruce Schneier
Criptografia/Descriptografia AES
Criptografe e descriptografe texto com segurança usando o algoritmo AES