None
IT
Accumulated Test Vectors
[]
Filippo Valsorda
Here’s a trick I call accumulated test vectors: define a test that draws random inputs from a deterministic source, like an extendable-output function such as SHAKE128; accumulate the output(s) into a hash function; and check in the expected final hash. Beyond purely random inputs, accumulated tests can be defined to systematically explore large ranges of input parameters and sizes. For example we have an accumulated cSHAKE128 test that iterates through the combinations of N sizes 0 to 200, S sizes 0 to 200, and input sizes 100, 168, 200 (to cover values below, matching, and above the “rate” or block size).