<div dir="ltr"><div class="gmail_extra">Another question:  BLAKE2 passes the output length to the Blake2b_Init and Blake2s_Init functions.  It is used to force the resulting output hash to depend on the output length, which in general sounds like a reasonable security precaution.  Also, it is an error for outlen to be greater than the block size (64 for BLAKE2b, 32 for BLAKE2s).</div><div class="gmail_extra"><br></div><div class="gmail_extra">The EVP digest functions do not seem to take an output length, which seems OK.  If I am allowed to add a blake2.h under openssl/include/openssl, should the public API for the BLAKE2 Init functions take outlen as a parameter, or should I make them like the other digest functions?  I worry that people will get confused if they pass the actual used output length to BLAKE2b_Init, and wind up with a different hash output than when using the EVP APIs instead.  OTOH, I hate to leave out a feature that slightly improves security.  Which wins in this case?</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks,</div><div class="gmail_extra">Bill</div></div>