Stephen R. van den Berg wrote: >On Thu, May 28, 2020 at 10:22 PM Niels M??ller <[email protected]> wrote:
>> If I get it right, the parameters log2rounds and salt can either be >> provided as explicit arguments, or derived from the scheme string. In >> some way, it would be clenaer with one function taking all parameters as >> explicit arguments (without any scheme string to parse at all), and a >> different one taking it all from the scheme string. Do we need anything >> in the middle, like parsing log2rounds from the scheme string, but the >> salt as a separate binary string? >Cleaner, yes. Easier to use, no. If we split it up, it becomes cleaner, >but >people using the interface will have more work to do and can mess things >up (more than now). So, in this case I would prefer ease of use. This one I did not change. I'd vote against it for more complicated usage. >It's unusual in the Nettle API to use NUL-terminated strings, we usually >> pass length and data. E.g., the pbkdf2 functions take the input password >> as size_t key_length, const uint8_t *key, even though it's usually an >> ascii string. It's not clear what's best here. Will the algorithm break >> down if we let it process a key input with NUL character in the middle? >I don't think it will break down, but I'd need to verify the code. >I understand that this would keep it consistent with the rest of the Nettle >conventions. I'll see what I can do. Changed in v4.0. >> The length input (first argument) seems redundant, since its only use >> is to check that it's >= BLOWFISH_BCRYPT_HASH_SIZE. When the sie really >> is fixed, it's better to document that and drop that argument. >Yes, this can be done. But here I specifically chose to do it this way so >that >anyway needing to program to the interface has to look up less reference >docs >(more consistent with the other Nettle conventions). >But if you insist, I can change this, of course. Changed in v4.0. >> If you would like to make some easy progress, you could split out the >> patch to create blowfish-internal.h and declare >> _nettle_blowfish_encround in that file. That has no api implications and >> would reduce the size of the main patch. >I'll see what I can do. Separated out in v4.0. The v4.0 patches have just been submitted. They're a three patch set now: 1. The harmless preparation patch. 2. The actual code, old style, with C-strings (I left it in, for documentation and verification purposes). 3. The amended binary string interface (no C-strings). -- Stephen. _______________________________________________ nettle-bugs mailing list [email protected] http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs
