Fim da sobrecarga na CPU: patch v10 no Kernel Linux 7.0-rc1 ativa motor criptográfico DTHEv2 na prática.

Aceleração criptográfica real para SoCs ARM!

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...
  • O patch v10 ativa os modos AES-CTR, GCM e CCM direto no hardware DTHEv2.
  • A mudança reduz o uso da CPU, baixando a temperatura e o consumo de energia.
  • A solução oficial foi submetida por T Pratham, engenheiro da Texas Instruments.
  • O código contorna limitações físicas do chip implementando preenchimento via software.
  • A proposta de driver está em revisão avançada (v10) para o Kernel Linux 7.0-rc1.

O desenvolvedor T Pratham, engenheiro da Texas Instruments, enviou a décima versão (v10) de um robusto conjunto de patches para avaliação no subsistema de criptografia do Kernel Linux 7.0-rc1. A atualização propõe expandir significativamente as capacidades do motor criptográfico DTHEv2, presente em SoCs ARM modernos como o AM62L, adicionando suporte acelerado por hardware para os modos AES-CTR, AES-GCM e AES-CCM. O patch corrige limitações anteriores do driver básico e promete um ganho imediato de eficiência e segurança para o processamento de dados nestes dispositivos.

O que isso significa na prática

Para o usuário de dispositivos de borda ou administradores de redes industriais, a mudança significa que operações de criptografia pesadas, como as utilizadas em conexões web seguras e tráfego de rede blindado, passarão a ser resolvidas por uma parte dedicada do chip, e não pelo cérebro principal (a CPU). Antes desta implementação, faltavam os protocolos avançados no hardware. Com a aprovação do código, o sistema gasta menos energia, esquenta menos e responde de forma muito mais ágil ao transferir informações sensíveis.

Detalhes da implementação

A mudança impacta diretamente o diretório de drivers drivers/crypto/ti/ e exigiu soluções criativas para lidar com as restrições físicas do silício. O modo CTR, por exemplo, aceita qualquer tamanho de entrada na teoria criptográfica, mas o hardware DTHEv2 exige que os pacotes sejam múltiplos exatos do tamanho do bloco AES. A solução via software gerencia esse preenchimento (padding) diretamente no código, alocando blocos através de listas de dispersão (scatterlists) para alimentar a peça física corretamente.

A atualização também introduz um sistema de fallback de segurança. Utilizando as chamadas crypto_alloc_sync_aead, caso o acelerador DTHEv2 não suporte um pacote específico — como chaves fora do padrão ou contadores não zerados no modo CCM —, o processamento é devolvido imediatamente para a CPU.

Vale lembrar que, como acompanhamos anteriormente no SempreUpdate com a chegada do driver SPAcc da Synopsys, o Kernel Linux 7.0 está recebendo uma forte onda de atualizações voltadas especificamente para tirar a carga criptográfica principal da CPU e delegá-la de forma eficiente para hardwares dedicados. Agora, resta aguardar a aprovação ou não.

Curiosidades e bastidores da discussão

Analisando o longo histórico de 10 versões (v1 a v10) deste patch na lista de e-mails, fica evidente o alto rigor dos mantenedores do ecossistema crypto. Uma curiosidade técnica gritante no código final é um comentário deixado no driver do modo AES-GCM assinalado como “HACK”. O desenvolvedor precisou contornar um erro físico (bug de hardware) da própria Texas Instruments: se a operação de criptografia anterior tivesse um tamanho de autenticação zerado, a próxima operação calcularia a tag de segurança de forma errada. A solução provisória aplicada no patch foi forçar um reset de contexto gravando o valor “1” diretamente nos registradores C_LENGTH_0 e AUTH_LENGTH. É o clássico e doloroso cenário onde o software precisa cobrir as falhas do hardware.

Quando isso chega no meu PC?

Como o conjunto de instruções está em sua décima revisão (v10), ele demonstra maturidade e tem grandes chances de ser aceito pelos mantenedores para o Kernel Linux 7.0-rc1. Caso seja integrado na próxima janela de mesclagem (merge window), a versão estável final deve ser declarada nos próximos meses. Dispositivos embarcados, roteadores industriais e sistemas IoT que dependem de distribuições customizadas (como Yocto Project ou Ubuntu Core) devem começar a receber esse suporte de fábrica no final do ano, dependendo do ritmo das fabricantes na atualização de seus pacotes.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.