CoderTools

Criptografia & Descriptografia Camellia

Cifra certificada ISO/NESSIE/CRYPTREC - segurança equivalente ao AES

Aviso de Segurança

Camellia oferece excelente segurança equivalente ao AES. É recomendado para aplicações que requerem conformidade com padrões ISO/IEC ou certificações japonesas/europeias.

Opções de Formato

Sobre Camellia

Sobre Camellia

Camellia é uma cifra de bloco de chave simétrica desenvolvida conjuntamente pela Mitsubishi Electric e NTT (Nippon Telegraph and Telephone) e publicada em 2000. Opera em blocos de 128 bits com chaves de 128, 192 ou 256 bits. O algoritmo organiza suas rodadas em grupos de seis, cada grupo seguido de funções FL/FL⁻¹ — operações bitwise dependentes da chave que injetam não-linearidade adicional entre as camadas Feistel principais, um elemento estrutural ausente no AES.

Características Principais

  • Tamanho de bloco 128 bits com suporte a chaves 128/192/256 bits — largura de bloco idêntica ao AES, garantindo compatibilidade byte a byte em TLS e IPsec
  • 18 rodadas para chaves de 128 bits; 24 rodadas para 192/256 bits — organizadas em grupos de seis rodadas com camadas FL/FL⁻¹ entre cada grupo
  • Funções FL/FL⁻¹ exclusivas do Camellia: aplicam operações AND/OR/rotação dependentes de chave entre grupos de rodadas, aumentando enormemente a difusão do material de chave
  • Tripla certificação: ISO/IEC 18033-3 padrão global, projeto europeu NESSIE, recomendação governamental japonesa CRYPTREC — única cifra não-AES com as três
  • Sem patente desde 2017; já integrada em OpenSSL, GnuTLS, NSS (Firefox), LibreSSL e Bouncy Castle para TLS e VPN
  • Sem patente desde 2017; já integrada em OpenSSL, GnuTLS, NSS (Firefox), LibreSSL e Bouncy Castle para TLS e VPN

Modos de Criptografia

Modos de Criptografia

ECB: Livro de códigos eletrônico — cada bloco de 128 bits é processado independentemente por todas as 18 (ou 24) rodadas Camellia incluindo as camadas de mistura de chave FL/FL⁻¹. Como blocos idênticos de texto simples sempre produzem cifrado idêntico, os padrões de repetição são visíveis — aceitável apenas para cifração de um único bloco de nonces verdadeiramente únicos.
CBC: Encadeamento de blocos cifrados — cada bloco Camellia de 128 bits é combinado com XOR com o cifrado anterior antes das 18/24 rodadas Feistel e transformações FL/FL⁻¹. A largura de bloco de 128 bits do Camellia corresponde exatamente ao AES-CBC, permitindo substituição direta em suites TLS (RFC 5932) — dados alinhados em 16 bytes precisam apenas de preenchimento PKCS#7 padrão.
CFB: Realimentação de cifra — a função completa de 18/24 rodadas do Camellia (camadas FL incluídas) processa o bloco cifrado anterior e aplica XOR com o próximo segmento de texto simples. Produz uma cifra de fluxo auto-sincronizante adequada para protocolos de streaming que requerem granularidade em nível de byte.
OFB: Realimentação de saída — a função de rodada do Camellia re-cifra iterativamente o IV para construir um fluxo de chave dependente da chave, independentemente do texto simples. Erros afetam apenas o byte de saída correspondente sem cascata — ideal para canais com perdas onde a estrutura eficiente em hardware do Camellia oferece vantagens de throughput.

Comparação de Algoritmos

Algoritmo Tamanho do Bloco Comprimento da Chave Segurança Padrão Padrão
Camellia128 bit128/192/25618/24ExcelenteISO/NESSIE/CRYPTREC
AES128 bit128/192/25610/12/14BoaNIST
Twofish128 bit128/192/25616ExcelenteAES Finalist
DES64 bit5616ExcelenteFraca

Considerações de Segurança

  • O melhor ataque publicado contra Camellia-128 alcança 12 das 18 rodadas (criptoanálise diferencial de chaves relacionadas); nenhum ataque prático existe para a versão completa, deixando uma margem de segurança de seis rodadas acima da fronteira criptanalítica atual
  • As funções FL/FL⁻¹ entre grupos de 6 rodadas injetam permutações de bits dependentes da chave que interrompem trilhas diferenciais e lineares nos limites das rodadas — o mecanismo estrutural que torna ataques de chaves relacionadas significativamente mais difíceis do que em cifras SPN puras como AES
  • Avaliações independentes NESSIE (2003) e CRYPTREC confirmaram a resistência do Camellia a todas as famílias de ataques conhecidas: diferencial, linear, diferencial impossível, diferencial de ordem superior e diferencial truncado — os mesmos critérios de avaliação usados para validar o AES
  • O tamanho de bloco de 128 bits do Camellia elimina o problema de limite de aniversário que afeta cifras de 64 bits (DES, 3DES, Blowfish): o limiar de colisão ocorre a 2⁶⁴ blocos (~147 petabytes por chave), colocando ataques do tipo Sweet32 completamente fora do alcance prático
  • O tamanho de bloco de 128 bits do Camellia elimina o problema de limite de aniversário que afeta cifras de 64 bits (DES, 3DES, Blowfish): o limiar de colisão ocorre a 2⁶⁴ blocos (~147 petabytes por chave), colocando ataques do tipo Sweet32 completamente fora do alcance prático

Casos de Uso

Suites de cifra TLS/SSL: Camellia é implantado no TLS 1.2 como TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (RFC 5932) e TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 (RFC 6367) — ativamente usado em sistemas financeiros japoneses
VPN IPsec: RFC 4312 define Camellia para IKEv1/v2 e ESP, fornecendo uma alternativa ao AES para implantações que requerem algoritmos conformes com CRYPTREC em redes governamentais japonesas
Criptografia de e-mail e arquivos OpenPGP: RFC 5581 adicionou Camellia-128/192/256 como algoritmos simétricos opcionais ao OpenPGP, dando uma alternativa ao AES para usuários que precisam de cifras certificadas pelo NESSIE
Sistemas governamentais e de instituições financeiras japonesas: a designação CRYPTREC torna o Camellia obrigatório ou fortemente preferido para sistemas e-Government e infraestrutura bancária no Japão
Módulos de segurança de hardware e criptografia embarcada: a estrutura Feistel do Camellia mapeia eficientemente para arrays de portas FPGA e implementações ASIC, permitindo computação simultânea de criptografia e agendamento de chaves
Módulos de segurança de hardware e criptografia embarcada: a estrutura Feistel do Camellia mapeia eficientemente para arrays de portas FPGA e implementações ASIC, permitindo computação simultânea de criptografia e agendamento de chaves

Referências

Ferramentas Relacionadas

Menu Rápido

Nenhuma ferramenta recente