SHARE THE PERSPECTIVE
Um benchmark precisa de um aparelho, uma carga de trabalho, um método e uma estimativa de incerteza — não só de um número que pareça rápido.

Não existe um percentual universal de consumo de bateria do ML-KEM-768 no Android que possa ser justificado. O custo depende da implementação, do celular, do estabelecimento das sessões, da frequência de renovação das chaves e do comportamento da rede. Um benchmark criptográfico rápido em um computador de mesa não determina a duração da bateria de um aplicativo completo de mensagens para celular.

Este artigo explica o que pode ser calculado a partir do padrão e o que precisa ser medido. Não foi realizado nenhum benchmark de bateria do Livara no Android para este artigo. O procedimento abaixo é um plano de teste, não uma alegação de resultado obtido.

O que o padrão nos informa

O ML-KEM é um mecanismo de encapsulamento de chaves: ele ajuda a estabelecer um segredo compartilhado que um protocolo pode usar na criptografia simétrica. No FIPS 203, o ML-KEM-768 tem uma chave de encapsulamento de 1184 bytes e um texto cifrado de 1088 bytes. Juntos, esses dois objetos totalizam 2272 bytes.

Esse total não é o tamanho completo da negociação de uma sessão de mensagens, nem necessariamente seu custo adicional de rede. Certificados, assinaturas, material de chaves clássico, enquadramento, codificação, chaves em cache e retransmissões podem alterar a quantidade de bytes efetivamente enviados. O “768” identifica um conjunto de parâmetros, não um segredo compartilhado de 768 bits; esse conjunto tem como alvo a categoria de segurança 3 do NIST.

Grandeza Definida pelo algoritmo ou medida?
Tamanhos da chave de encapsulamento e do texto cifrado Definidos pelo conjunto de parâmetros ML-KEM selecionado
Tempo de geração de chaves, encapsulamento e desencapsulamento Medir na implementação e no aparelho reais
Bytes do estabelecimento completo da sessão Medir o protocolo, incluindo enquadramento e novas tentativas
Latência de envio de ponta a ponta Medir o aplicativo e a rede em conjunto
Energia por carga de trabalho Medir em um experimento controlado no nível do aparelho

O custo ocorre apenas uma vez por sessão?

Não necessariamente. Um protocolo pode usar um KEM no estabelecimento inicial e novamente nas atualizações periódicas de chaves pós-quânticas. Mudanças na composição do grupo, novos aparelhos, sessões com falha e recuperação podem gerar mais trabalho. A unidade correta é o evento do protocolo, não a suposição de que toda conversa executa exatamente uma operação KEM.

A arquitetura LVR1 publicada do Livara descreve épocas periódicas de ML-KEM junto das etapas comuns das cadeias de mensagens. Portanto, um benchmark útil deve abranger tanto a troca de mensagens em regime estável quanto os eventos de renovação de chaves. Ele não deve afirmar que o trabalho pós-quântico nunca se repete.

A contagem de bytes de um texto cifrado armazenado também diz pouco sobre energia por si só. Um pacote extra pode afetar o comportamento do rádio de forma diferente de alguns bytes a mais em uma transferência já ativa.

Um plano reproduzível de medição no Android

1. Registre o ambiente

Anote o modelo do celular, a compilação do Android, a versão do aplicativo, a versão da biblioteca criptográfica, o modo de compilação, o estado da bateria e o estado térmico. Registre o tipo de rede e as condições do sinal. Não publique dados privados de contas nem o conteúdo dos pacotes em um relatório de benchmark.

2. Separe os testes de primitivas dos testes do aplicativo

Um teste de primitiva criptográfica mede isoladamente a geração de chaves, o encapsulamento ou o desencapsulamento. Um teste do aplicativo completo mede a criação de uma sessão, o envio de mensagens e a recuperação após uma interrupção de conexão. Apresente ambos, se estiverem disponíveis; não classifique um como se fosse o outro.

Faça testes repetidos e informe a dispersão, como a mediana e um percentil alto, em vez de selecionar a execução mais rápida. Aquecimento, compilação em tempo de execução e limitação de desempenho por temperatura podem afetar os resultados.

3. Defina cargas de trabalho realistas

  • Estabeleça uma nova sessão de mensagens diretas.
  • Envie uma quantidade fixa de mensagens de tamanho fixo em uma sessão já estabelecida.
  • Teste uma transição documentada de renovação de chaves.
  • Adicione ou remova um integrante de um grupo de teste, se houver suporte.
  • Envie o mesmo anexo nas mesmas condições.
  • Deixe o aplicativo ocioso por um intervalo fixo e meça separadamente o comportamento em segundo plano.

Use conteúdo sintético e contas de teste cujos usuários tenham dado consentimento. Um teste de grupo deve informar a quantidade de integrantes; um resultado com duas pessoas não pode ser extrapolado para um grupo grande sem explicitar isso.

4. Meça energia, além de tempo

O Power Profiler do Android Studio pode correlacionar a atividade com medições das linhas de alimentação em hardware compatível. O Google alerta que essas medições abrangem o aparelho inteiro, portanto outras atividades introduzem ruído. Os métodos de medição disponíveis variam conforme o aparelho.

Controle o brilho da tela, as tarefas em segundo plano, as condições da rede e a duração do teste. Repita a mesma carga de trabalho e compare condições equivalentes. Se o seu método não conseguir isolar a contribuição da criptografia, diga isso em vez de atribuir todo o consumo de bateria ao ML-KEM.

Celular ao lado de um laptop e de um pequeno relógio sob iluminação roxa.

Ilustração de uma configuração de medição, não de resultados registrados de benchmark.

O que uma tabela de resultados útil deve conter?

Campo do resultado Exemplo de informação a registrar
Carga de trabalho Nova sessão, troca de mensagens em sessão estabelecida ou renovação de chaves
Ambiente Aparelho exato, compilação do aplicativo e rede
Testes Quantidade e tratamento das execuções de aquecimento
Tempo Mediana, variação e unidades
Tráfego Bytes medidos e condições de retransmissão
Energia Método, intervalo e incerteza
Limitações O que o teste não isolou ou não abrangeu

Deixe as células não medidas em branco ou marque-as como “não medido”. Um gráfico de barras de energia ilustrativo com proporções relativas inventadas não é evidência.

E quanto a fotos e vídeos?

Anexos grandes geralmente usam criptografia simétrica, e não ML-KEM para cada bloco de conteúdo. O estabelecimento das chaves ainda pode afetar a preparação, enquanto o processamento do arquivo, o armazenamento, a transferência pela rede e a lógica de novas tentativas afetam a operação completa. A contribuição relativa precisa ser medida na carga de trabalho real; “nunca perceptível” não é uma afirmação universal bem fundamentada.

Perguntas frequentes

O ML-KEM-768 é sempre mais lento que o P-256?

Não há uma comparação universal válida para todas as bibliotecas e plataformas de hardware. Compare as mesmas operações nas mesmas condições e, depois, meça separadamente o protocolo híbrido completo.

Uma soma de verificação do APK valida resultados de desempenho?

Ela pode identificar o arquivo exato que foi testado quando comparada com uma referência confiável. Ela não valida o método de teste, a segurança da implementação nem a medição de energia.

Os usuários devem desativar a criptografia para economizar bateria?

Não abra mão de um requisito de segurança com base em uma alegação de desempenho sem comprovação. Primeiro identifique a origem real do consumo de bateria e use configurações ou atualizações compatíveis.

Fontes

Verifique o APK do Android no Proof Lab
CONTINUE THE THREADPost-quantum encryption ↗Android & device security ↗
YOU’VE REACHED THE ENDBack to the reading room ↗