'''Extendable-output function''' ('''XOF''') is an extension{{sfn|Peyrin|Wang|2020|p=7}} of the [[cryptographic hash]] that allows its output to be arbitrarily long. In particular, the nature of the [[sponge construction]] makes any [[sponge hash]] a natural XOF: the squeeze operation can be repeated, and (the regular hash functions with a fixed-size result are obtained from a sponge mechanism by stopping the squeezing phase after obtaining the fixed number of bits).{{sfn | Mittelbach | Fischlin | 2021 | p=526}}
The genesis of a XOF makes it [[Collision resistance|collision]], [[Preimage resistance|preimage]] and [[Second-reimage resistance|second- preimage]] resistant. Technically, any XOF can be turned into a cryptographic hash by truncating the result to a fixed length (in practice, hashes and XOFs are defined separatelydifferently for [[Domain separation (hashingcryptography)|___domain separation]]{{sfn|Dworkin|2014|p=3}}). The examples of XOF include the algorithms from the [[Keccak]] family: [[SHAKE128]], [[SHAKE256]], and a variant with higher efficiency, [[KangarooTwelve]].{{sfn|Peyrin|Wang|2020|p=7}}
XOFs are used as [[key derivation function]]s (KDFs), [[stream cipher]]s,{{sfn|Peyrin|Wang|2020|p=7}} [[mask generation function]]s.{{sfn|Perlner|2014|p=4}}
Line 12 ⟶ 13:
==Sources==
* {{cite book | lastlast1=Mittelbach | firstfirst1=Arno | last2=Fischlin | first2=Marc | title=The Theory of Hash Functions and Random Oracles: An Approach to Modern Cryptography | publisher=Springer International Publishing | series=Information Security and Cryptography | year=2021 | chapter = Extendable Output Functions (XOFs) | isbn=978-3-030-63287-8 | chapter-url=https://books.google.com/books?id=Ly8WEAAAQBAJ&pg=PA526 | access-date=2023-06-22}}
* {{cite web |last1=Perlner |first1=Ray |title=Extendable-Output Functions (XOFs) |url=https://csrc.nist.gov/events/2014/sha-3-2014-workshop |website=csrc.nist.gov |publisher=[[NIST]] |access-date=22 June 2023 | date = August 22, 2014}}
* {{cite web |last1=Dworkin |first1=Morris |title=Domain Extensions |url=https://csrc.nist.gov/events/2014/sha-3-2014-workshop |website=csrc.nist.gov |publisher=[[NIST]] |access-date=22 June 2023 | date = August 22, 2014}}