Gerador de código de autenticação de mensagem KMAC256
Calcule um código de autenticação de mensagem KMAC256 com sua chave (texto ou hex), string de personalização e tamanho de saída. Confere com os exemplos do NIST SP 800-185.
Um múltiplo de 8, de 8 a 16384 bits.
Rótulo opcional de separação de domínio, por exemplo o nome do seu aplicativo. Strings diferentes geram saídas sem relação.
A chave está vazia. Sem uma chave secreta, o KMAC não autentica nada.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
O que é Gerador KMAC256?
O KMAC256 é o código de autenticação de mensagem baseado em Keccak do NIST SP 800-185, o equivalente do HMAC no mundo SHA-3. A partir de uma chave secreta, uma string de personalização opcional e um tamanho de saída, ele produz uma tag que só quem tem a chave consegue calcular. Esta ferramenta calcula o KMAC256 de texto ou de bytes brutos.
Como usar Gerador KMAC256
- Digite os dados em Mensagem; para dados binários, escolha Bytes em hexadecimal ou Base64 como codificação de entrada.
- Informe a Chave secreta e selecione a Codificação da chave (Texto (UTF-8) ou Bytes em hexadecimal).
- Opcionalmente, informe uma String de personalização (S) e altere o Tamanho da saída (bits) (padrão 512).
- Escolha o Formato de saída e clique em Copiar para usar a tag.
Exemplo
Message 00010203 (Hex bytes), key 404142…5E5F (32 bytes, hex), S = "My Tagged Application", 512 bits
20c570c31346f703c9ac36c61c03cb64c3970d0cfc787e9b79599d273a68d2f7f69d4cc3de9d104a351689f27cf6f5951f0103f33f4f24871024d9c27773a8dd
Exemplo nº 4 de KMAC do NIST SP 800-185.
Quando usar Gerador KMAC256
Use o KMAC256 para autenticar mensagens ou derivar chaves em sistemas baseados em SHA-3, ou para verificar tags KMAC de uma especificação ou de outra implementação. Se o outro lado espera HMAC-SHA256, o KMAC não vai interoperar — nesse caso, use HMAC. Não use uma chave vazia ou fácil de adivinhar; um MAC é tão forte quanto a sua chave.
Como funciona Gerador KMAC256
O KMAC256 (NIST SP 800-185) é o cSHAKE256 com nome de função "KMAC". Ele absorve bytepad(encode_string(K), 136) — a chave completada até um bloco inteiro —, depois a mensagem e depois right_encode(L) com o tamanho de saída solicitado L, e extrai L bits. Como L faz parte da entrada, um KMAC de 256 bits e um de 512 bits dos mesmos dados não têm relação entre si (ao contrário do SHAKE). O design de esponja torna segura a construção simples de prefixar a chave, então o KMAC não precisa da estrutura aninhada do HMAC.
Casos de Uso Comuns
- Verificar os vetores de teste KMAC do NIST SP 800-185
- Depurar uma implementação de KMAC em outra linguagem
- Gerar uma tag de autenticação para uma API ou mensagem em um protocolo baseado em SHA-3
- Derivar uma chave com KMAC como KDF (no estilo do SP 800-108) para testes
Nota de Segurança
O KMAC256 oferece até 256 bits de segurança quando a chave é aleatória e tem pelo menos 32 bytes. Use uma chave nova e secreta e compare as tags em tempo constante no seu próprio código. Nunca cole chaves de produção em ferramentas em que você não confia; esta roda localmente e não envia nada.
Perguntas Frequentes
Qual a diferença entre o KMAC256 e o HMAC?
O HMAC envolve um hash duas vezes para evitar os problemas de extensão de comprimento do SHA-2. O Keccak não é vulnerável à extensão de comprimento, então o KMAC simplesmente prefixa a chave completada. Os resultados não são intercambiáveis.
Por que alterar o tamanho da saída muda todos os bits?
O tamanho de saída L é codificado na entrada, então KMAC com 256 e com 512 bits são valores independentes — o mais curto não é prefixo do mais longo.
Como devo informar uma chave binária?
Defina a Codificação da chave como Bytes em hexadecimal e cole a chave em hex (espaços são permitidos). Com Texto (UTF-8), os próprios caracteres são usados como bytes da chave.
Minha chave é enviada para algum lugar?
Não. A chave e a mensagem são processadas apenas no seu navegador.