Tópicos populares
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Os padrões ML-KEM e ML-DSA permitem que você armazene a chave privada de duas maneiras. Existe uma pequena semente, 64 bytes para ML-KEM e 32 bytes para ML-DSA, e há uma forma expandida maior que é derivada dessa semente através de uma função de hash. As duas são matematicamente equivalentes e você pode ir da semente para a forma expandida sempre que quiser, mas não pode voltar.
Se você estiver escolhendo entre o que armazenar como a chave privada, armazene a semente. É o segredo real do qual tudo o mais é derivado. Você pode expandi-la para a chave completa sempre que precisar, e leva cerca de 40 microssegundos, então não há realmente uma razão para armazenar a versão expandida em disco. Se você precisar dela na memória para operações repetidas, basta expandir uma vez no momento do carregamento.
A semente é apenas bytes aleatórios, então qualquer valor é uma chave válida. A forma expandida tem uma estrutura; coeficientes que precisam estar dentro de um intervalo, uma chave pública embutida, um hash que precisa corresponder, e o padrão exige que você verifique tudo isso na importação. Isso é muito mais superfície para coisas darem errado que você simplesmente não tem com uma semente.
Há também um problema de serialização em andamento no IETF onde o formato de compromisso atual permite que tanto a semente quanto a chave expandida fiquem na mesma estrutura de dados. Isso significa que duas implementações conformes podem ler campos diferentes da mesma chave e acabar com materiais de chave diferentes, o que não é algo que você deseja em um formato de chave.
Resumindo: armazene a semente e expanda-a conforme necessário.
Top
Classificação
Favoritos
