2017-11-14 18:04:32 UTC
I just read the formats.h comment for the crypt_all function:
/* Computes the ciphertexts for given salt and plaintexts.
* The count passed to cmp_all() must be equal to crypt_all()'s return
* If an implementation does not use the salt parameter or if salt is NULL
* (as it may be during self-test and benchmark), the return value must
* match *count the way it is after the crypt_all() call.
* The count is passed by reference and must be updated by crypt_all()
* computes other than the requested count (such as if it generates
* candidate passwords on its own). The updated count is used for c/s rate
* calculation. The return value is thus in the 0 to updated *count
Why would crypt_all() generate additional candidate passwords on its own?
Are there any sample formats which make use of this weird feature?