CoderTools

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.

Comprimento de chave RC2: 1-128 bytes. Tamanho do bloco: 64 bits. Bits de chave efetivos recomendados: 128
Opções de formato

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

Menu Rápido

Nenhuma ferramenta recente