Resumo

  • RFC 9935 define as formas seed, expandedKey e both; a tag ASN.1, e não uma suposição pelo tamanho, identifica cada uma.
  • Ao receber as duas formas, o destinatário deve derivar novamente a chave expandida e comparar os bytes; se fizer a verificação e houver divergência, a rejeição é obrigatória.

Uma tela de migração pode dizer “importado” e não revelar o que realmente foi verificado. RFC 9935 trata desse intervalo para chaves ML-KEM em certificados X.509.

No lado público, ML-KEM-512, 768 e 1024 têm OIDs diferentes, parâmetros ausentes em AlgorithmIdentifier e tamanhos fixos. Se o certificado trouxer keyUsage, somente keyEncipherment pode estar marcado. Isso prova como ler e classificar a chave; não prova cadeia aceita, posse da parte privada ou finalidade autorizada.

A semente tem 64 octetos e gera deterministicamente a chave de desencapsulamento e a chave pública. expandedKey armazena diretamente o segredo maior. both atende sistemas que preservam sementes e dispositivos que entendem apenas o formato expandido.

As tags separam os casos: [0] para semente, OCTET STRING para chave expandida e SEQUENCE para ambas. Reconhecer a SEQUENCE prova que os campos existem, não que correspondem.

O destinatário deve executar a derivação definida a partir da semente e comparar o resultado byte a byte com a chave expandida recebida. Pode evitar esse custo, mas então não consegue atestar a igualdade. Se executar e detectar diferença, RFC 9935 exige rejeitar o material como malformado.

O recibo operacional precisa manter estágios distintos: estrutura analisada, variante identificada, comparação executada, comparação aprovada, importação aceita e chave usada. “Arquivo válido” não contém automaticamente os demais fatos.

FIPS 203 acrescenta outra fronteira: antes de desencapsular, a chave expandida passa por tipo, comprimento e hash interno. A verificação ampliada do par pode incluir coerência da semente e um ciclo encapsular/desencapsular. Ainda assim, ela não garante que KeyGen produziu corretamente o par.

Há também uma escolha irreversível. A semente produz a forma expandida; depois de descartada, não pode ser reconstruída a partir dela. Retê-la favorece backup compacto, recuperação e portabilidade, mas mantém um segredo capaz de recriar o par. Eliminá-la fecha uma futura rota de exportação.

RFC 5958 fornece o contêiner e RFC 9936 o uso CMS adjacente. A ação local só aparece em um recibo que guarde impressão digital do pacote, forma, algoritmo, versões dos controles, resultado, decisão e transformação — nunca os bytes privados.

Fontes