2
$\begingroup$

I have read that the Skein hash can be used for quite a few different functions, including a PRNG. Would using the 1024 Skein hash to return 16KB of data be appropriate for a PRNG? Or would it only be appropriate to use the 128 bytes of data as a PRNG?

$\endgroup$
  • 1
    $\begingroup$ Why did your question title indicate encryption? $\endgroup$ – Maarten Bodewes Sep 4 '15 at 13:03
2
$\begingroup$

The paper describing the Skein hash function does contain a short description in section 4.9 on how to use it as a PRNG (as otus and SEJPM pointed out). If you use that mode then Skein can be used as PRNG. If the security of Skein holds then you should be able to use it for very large amounts of output data, not just 16 KiB of output.

Note that Skein is "only" a final candidate to the SHA-3 hash competition and that it may not receive as much cryptanalysis as the final winner (Keccak). This is particularly the case for the additional modes such as the PRNG described in the paper. These seem included to show the flexibility of the hash construction based on a tweakable block cipher. No algebraic definition is provided, nor are test vectors. Using Skein as PRNG should be considered scientific research.

Alternatively you could use Skein-the-hash-function as input for a previously defined PRNG. In that case Skein could be input of the PRF construction or even replace the PRF construction of the PRNG.


Note that you should always consider how to seed the PRNG correctly. A PRNG does not magically add entropy to the seed; it's fully deterministic.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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