Pular para o conteúdo
ecdsa.com

SHAKE128 e SHAKE256

As funções de saída extensível (XOFs) do FIPS 202, que produzem uma saída de qualquer comprimento pedido a partir da esponja Keccak, com segurança de 128 e 256 bits, respectivamente, para saídas longas o suficiente.
Também escrito comoSHAKE128SHAKE256XOFextendable-output function

Ao contrário de um hash com digest de tamanho fixo, a uma XOF se pedem d bits de saída; sua resistência a colisões é min(d/2, capacidade/2) e a resistência a pré-imagens, min(d, capacidade/2). O SHAKE128 tem capacidade de 256 bits e o SHAKE256, de 512. Pedir 32 ou 64 bytes ao SHAKE256 produz prefixos do mesmo fluxo, então quem chama precisa separar por domínio os diferentes usos; o cSHAKE (SP 800-185) acrescenta strings de personalização explícitas.

O SHAKE está em toda parte na criptografia pós-quântica: o ML-KEM e o ML-DSA expandem suas matrizes públicas com o SHAKE128 e derivam outros valores com o SHAKE256 (o FIPS 203 e o FIPS 204 chamam essas funções de XOF, H, J e G), o SLH-DSA tem conjuntos de parâmetros SHAKE e o Ed448 calcula hashes com o SHAKE256. O FIPS 186-5 também permite o SHAKE como função de hash e de máscara no RSASSA-PSS.

Identificadores: OIDs 2.16.840.1.101.3.4.2.11 (SHAKE128) e …2.12 (SHAKE256); no OpenSSL, shake128 e shake256 com -xoflen; no Python, hashlib.shake_256(data).digest(n).

Padrões e referências

Todos os termos