Simon Josefsson <si...@josefsson.org> writes: > Re the 3.0 plans, it seems that making a 3.0 release that implement the > first two items on the list (unsigned->size_t, memxor namespace) would > be possible to achieve relatively soon with modest investment in work.
I've done the memxor thing now, and I'm looking into size_t. When switching to size_t, should we use it for *all* lengths, or only all lengths which potentially are large? For an example, consider aes.h: I think it's clear that we ought to switch to size_t for void aes_encrypt(const struct aes_ctx *ctx, unsigned length, uint8_t *dst, const uint8_t *src); void aes_decrypt(const struct aes_ctx *ctx, unsigned length, uint8_t *dst, const uint8_t *src); (not that it seems particularly likely that those functions will be called with more than 4GB at a time, but the API shouldn't make it impossible). But what about void aes_set_encrypt_key(struct aes_ctx *ctx, unsigned length, const uint8_t *key); The length here must be one of the integers 16, 24 or 32. Should we stick to unsigned here, or use size_t for consistency? Other key sizes are a bit more subtle. E.g., hmac keys can be up to 2^64 bits (or whatever is the maximum size of the underlying hash function, like the ridiculously large limit of 2^128 bits for SHA512), but all keys used in practice are going to have a size which fit in 32 bits (or even 16 bits. RSA bitsizes are similarly unlimited in theory but pretty small in any reasonable practice. I think it would make some sense to adopt the principle that key sizes use unsigned (since keys by definition are small objects), and message sizes use size_t. Which would still leave some corner cases, like rsa_encrypt where only messages of small size (depending on the key size) are possible. Comments? Regards, /Niels -- Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26. Internet email is subject to wholesale government surveillance. _______________________________________________ nettle-bugs mailing list nettle-bugs@lists.lysator.liu.se http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs