CoderTools

Criptografia/Descriptografia TEA/XTEA/XXTEA

Família Tiny Encryption Algorithm - Cifras de Bloco Simétricas Leves

Aviso de Segurança

TEA/XTEA/XXTEA são cifras leves usadas principalmente em sistemas embarcados e jogos. Para aplicações de alta segurança, use AES em vez disso.

Todos os algoritmos da família TEA usam uma chave fixa de 128 bits (16 bytes).
Opções de formato

Sobre a família TEA

A família TEA (Tiny Encryption Algorithm) compreende três cifras de bloco relacionadas projetadas por Roger Needham e David Wheeler em Cambridge. TEA foi introduzido em 1994, XTEA em 1997 para corrigir fraquezas do TEA, e XXTEA em 1998 como uma cifra de bloco de comprimento variável.

Esses algoritmos são conhecidos por sua simplicidade e pequeno tamanho de código, tornando-os ideais para sistemas embarcados, microcontroladores e aplicações onde o tamanho do código é crítico. São particularmente populares no desenvolvimento de jogos para criptografia de recursos e arquivos de salvamento.

Comparação de algoritmos

Algoritmo Tamanho do bloco Comprimento da chave Rodadas Segurança
TEA 64 bits 128 bits 64 Legado
XTEA 64 bits 128 bits 64 Boa
XXTEA Variável (≥64 bits) 128 bits Variável (6+52/n) Boa

Características principais

  • Extremamente compacto - pode ser implementado em poucas linhas de código
  • Chave de 128 bits proporciona segurança razoável para a maioria das aplicações
  • Criptografia/descriptografia rápida em dispositivos com recursos limitados
  • Sem restrições de PI - completamente livre para uso

Modos de criptografia (apenas TEA/XTEA)

  • CBC: Cipher Block Chaining - Cada bloco é XORado com o bloco cifrado anterior antes da criptografia. Requer IV.
  • ECB: Electronic Codebook - Cada bloco é criptografado independentemente. Simples, mas não recomendado para a maioria dos usos.
  • CFB: Cipher Feedback - Transforma a cifra de bloco em cifra de fluxo. Modo auto-sincronizante.
  • OFB: Output Feedback - Gera o fluxo de chaves independentemente. Sem propagação de erros.
  • RAW: Bloco bruto - Criptografia direta de bloco único sem modo de encadeamento. Não requer IV.

Considerações de segurança

  • TEA: Possui vulnerabilidade de chaves equivalentes conhecida e ataques de chaves relacionadas. Use XTEA ou XXTEA em vez disso.
  • XTEA: Corrigiu as fraquezas do TEA com um agendamento de chaves melhorado. Amplamente utilizado e razoavelmente seguro.
  • XXTEA: Opera em blocos de comprimento variável. Melhor difusão, mas alguns ataques teóricos existem.
  • Para aplicações que exigem alta segurança, considere usar AES, que é o padrão moderno da indústria.

Casos de uso comuns

  • Criptografia de recursos de jogos (Cocos2d-x, proteção de recursos Unity)
  • Criptografia de comunicação de dispositivos IoT
  • Sistemas embarcados com memória e poder de processamento limitados
  • Compatibilidade com sistemas legados e implementações de protocolos

Referências