X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a..HEAD:/base/keysz.h diff --git a/base/keysz.h b/base/keysz.h index 97ed144e..2986d614 100644 --- a/base/keysz.h +++ b/base/keysz.h @@ -55,12 +55,15 @@ * * @KSZ_SET@ requires that %$k \in {\,a_i\,}$%. */ +#define KSZ_OPMASK 0x1f /* Kinds of keysize specs */ enum { KSZ_ANY, /* Allows any key at all */ KSZ_RANGE, /* Allows keys within a range */ KSZ_SET /* Allows specific sizes of keys */ }; +#define KSZ_16BIT 0x20 /* Arguments are 16 bits long */ + /*----- Key sizes for symmetric algorithms --------------------------------*/ /* --- @keysz@ --- * @@ -85,6 +88,17 @@ extern size_t keysz(size_t /*sz*/, const octet */*ksz*/); #define KSZ_ASSERT(pre, sz) \ assert(((void)"Bad key size for " #pre, KSZ_CHECK(pre, sz))) +/* --- @keysz_pad@ --- * + * + * Arguments: @size_t sz@ = a proposed key size + * @const octet *ksz@ = pointer to key size table + * + * Returns: A key size, at least as large as @sz@, or zero if no such + * size is available. + */ + +extern size_t keysz_pad(size_t /*sz*/, const octet */*ksz*/); + /*----- Key size conversions ----------------------------------------------*/ /* --- @keysz_fromdl@, @_fromschnorr@, @_fromif@, @_fromec@ --- *