The key too small for digest case should be caught before it gets this far, but I want this assert as an added guarantee that prevents a negative salt from being passed to OpenSSL (if it happens to end up -2 then it would segfault, while all other negative values would merely error).