Sacundim in his feedback on the reddit proposed to use instead of VariableOutput the following traits:
ExtendableOutput for functions like SHAKE from SHA-3, which allow to "read" indefinitely from the result
VariableOutput for functions like Groestl, which have some limits on the output size and may require output size to be known at state initalization
Also @burdges proposed to move out BlockSize from the Input trait to a separate one.
Sacundim in his feedback on the reddit proposed to use instead of
VariableOutputthe following traits:ExtendableOutputfor functions like SHAKE from SHA-3, which allow to "read" indefinitely from the resultVariableOutputfor functions likeGroestl, which have some limits on the output size and may require output size to be known at state initalizationAlso @burdges proposed to move out
BlockSizefrom theInputtrait to a separate one.