Functions such as SHA-3 from the Keccak family allow for a hash of arbitrary length output. These functions are (according to Wikipedia) useful for practical, lightweight applications.

I know that SHAKE-128 and SHAKE-256 can be applied for OAEP.

My question is: Are there currently any other applications found for such functions?

  • 3
    $\begingroup$ Oh boy, that list is going to be long. A community-wiki answer is highly appreciated. $\endgroup$
    – Maarten Bodewes
    Commented Mar 1, 2019 at 14:34

1 Answer 1


Uses for SHAKE/XOF functions

Community wiki answer, please add and edit:

  • key derivation of any type
    • such as turning a 128-256 bit secret key into an ECC or RSA public/private key pair
  • deterministic secure uniform random number generation starting from a small seed
    • this might be used in fuzzing tools, simulations, etc. where you want a lot of random data for your experiment but you want it to be repeatable
  • stream ciphers
    • absorb the key and IV then output the key stream
  • authenticated encryption
  • length-preserving data obfuscation or anonymization
    • One might hash all customer data from a production environment when being copied into a development environment. An XOF can presereve the data cardinality distribution as well as the data size distribution of the "real" production data for accurate testing and performance comparisons in non-production environments.
  • digital signatures
    • digital signatures such as EdDSA employ hash functions whose output must be a specific size, some of them "awkward" (e.g. Ed448 requires a 912-bit hash function). This can be easily accomplished with a XOF. (In fact, Ed448 uses SHAKE256.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.