Criptografia/Descriptografia Família RC
Cifras simétricas RC2/RC4/RC5/RC6 projetadas por Ron Rivest
⚠️ Aviso de Segurança
RC4 tem vulnerabilidades conhecidas e foi descontinuado do TLS/SSL. Para máxima segurança, considere usar AES-256. Todos os dados são processados localmente no seu navegador.
Sobre a família RC
A família RC (Rivest Cipher, também "Ron's Code") foi projetada por Ron Rivest no MIT e na RSA Security ao longo de décadas. RC2 (1987, publicado via RFC 2268 em 1998): cifra de bloco 64 bits, chave variável 64–128 bits, criada para uso com controle de exportação. RC4 (1987, vazada para Cypherpunks em 1994): cifra de fluxo notória pela vulnerabilidade WEP e o ataque Fluhrer-Mantin-Shamir.
RC5 (1994, Rivest): cifra totalmente parametrizada RC5-w/r/b. RC5-32/12/16 é a implementação de referência. RC6 (1998, Rivest/Gupta/Shamir/Yin): estendeu RC5 com multiplicação de inteiros e quatro registradores como candidato AES final com blocos de 128 bits.
Comparação de algoritmos
| Algoritmo | Tipo | Comprimento de chave | Tamanho do bloco | Segurança | Status |
|---|---|---|---|---|---|
| RC2 | Cifra de bloco | 1-128 bytes | 64 bits | Fraco | Descontinuado |
| RC4 | Cifra de fluxo | 1-256 bytes | N/A (fluxo) | Fraco | Descontinuado |
| RC5 | Cifra de bloco | 0-255 bytes | 32/64/128 bits | Bom | Seguro |
| RC6 | Cifra de bloco | 16/24/32 bytes | 128 bits | Excelente | Finalista AES |
RC2 (Rivest Cipher 2)
RC2 é uma cifra de bloco de 64 bits projetada em 1987. Usa uma chave de comprimento variável (1-128 bytes) e tem um parâmetro único de 'bits de chave efetivos' que pode limitar o espaço de busca de chaves.
Originalmente projetado como secreto, RC2 visava compatibilidade de exportação com comprimento de chave efetivo de 40 bits. Devido a vulnerabilidades conhecidas, deve ser usado apenas para compatibilidade com sistemas legados.
RC4 (Rivest Cipher 4)
RC4 é uma cifra de fluxo projetada em 1987. Ela gera um fluxo pseudoaleatório de bytes (fluxo de chaves) que é XORado com o texto simples. Conhecida por sua simplicidade e velocidade, foi amplamente usada em protocolos SSL/TLS, WEP e WPA.
Devido a vulnerabilidades descobertas (especialmente nos primeiros bytes do fluxo de chaves), RC4 foi descontinuada dos protocolos de segurança modernos. A variante 'RC4-Drop' descarta os bytes iniciais do fluxo de chaves para mitigar esses problemas.
RC5 (Rivest Cipher 5)
RC5, publicada em 1994, introduziu um design parametrizável com três variáveis: tamanho da palavra (w), número de rodadas (r) e comprimento da chave (b). Essa flexibilidade permite adaptar RC5 a diferentes requisitos de segurança.
RC5 usa rotações dependentes de dados como sua principal operação não-linear, tornando-a simples mas eficaz. Configurações comuns incluem RC5-32/12/16 (palavras de 32 bits, 12 rodadas, chave de 16 bytes).
RC6 (Rivest Cipher 6)
RC6 foi submetida como candidata AES em 1998 e foi uma das cinco finalistas. Ela estende RC5 com multiplicação de inteiros para melhor difusão e usa quatro registradores de trabalho em vez de dois.
Com um tamanho de bloco fixo de 128 bits e suporte para chaves de 128/192/256 bits, RC6 fornece excelente segurança. Embora Rijndael tenha sido selecionado como AES, RC6 permanece um algoritmo respeitado e seguro.
Principais características
- RC2: Cifra de bloco legada com comprimento de chave variável, apenas para compatibilidade
- RC4: Criptografia de fluxo extremamente rápida, ideal para aplicações em tempo real
- RC5: Design parametrizável permitindo compensações flexíveis de segurança/desempenho
- RC6: Cifra de bloco moderna com fortes garantias de segurança
- Todos os algoritmos são livres de patentes e disponíveis gratuitamente para qualquer uso
Modos de criptografia (RC5/RC6)
- CBC: CBC para RC2/RC5/RC6 — blocos de 64 bits de RC2/RC5-32/RC6-32 expostos ao risco Sweet32 (≈ 32 GB sob a mesma chave). RC4 não tem CBC; gera fluxo PRGA contínuo.
- ECB: ECB para RC2/RC5/RC6 — cada bloco processado independentemente. Blocos idênticos → cifrados idênticos. Apenas para token de bloco único ou empacotamento de chave.
- CFB: CFB para RC2/RC5/RC6 — função de bloco cifra o segmento anterior e os n bits superiores são XOR com o texto simples. Modo fluxo auto-sincronizante.
- OFB: OFB para RC2/RC5/RC6 — geração de fluxo de chave por re-cifragem iterativa, independente do texto simples. Sem propagação de erros.
Considerações de segurança
- RC4 NÃO deve ser usado em nenhuma nova aplicação. RFC 7465 (2015) proíbe formalmente RC4 no TLS. O ataque FMS (2001) recuperava chaves WEP em menos de um minuto. RC4 aqui é exclusivamente para descriptografia de dados herdados.
- RC4-Drop (descartar os primeiros 768–3072 bytes de PRGA) mitiga mas não elimina os vieses de RC4. O ataque NOMORE (2015, Black Hat) recuperou cookies TLS RC4 em 75 horas.
- RC5 e RC6 não têm ataques práticos de rodada completa, mas seus blocos de 64 bits expõem ao risco Sweet32 com ≈ 32 GB de dados CBC sob a mesma chave.
- RC2 foi projetado para chave efetiva de 40 bits (exportação) e deve ser tratado como fraco. Usar exclusivamente para compatibilidade S/MIME herdada.
Casos de uso
- Forense WEP/WPA: reconstrução do fluxo RC4 por pacote a partir do IV de 3 bytes e chave de rede
- Descriptografia S/MIME: arquivos de e-mail cifrados com RC2/40 ou RC2/128 sob RFC 2268
- Pesquisa RC5: comparação de RC5-32/12/16 vs RC5-64/20/16 para entender escalamento ARX multi-largura
- Avaliação AES: reprodução de RC6-32/20 para comparação com Rijndael, Serpent, Twofish, MARS
Referências
Ferramentas Relacionadas
Criptografia/Descriptografia AES
Criptografe e descriptografe texto com segurança usando o algoritmo AES
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