* * @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@ --- *
#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@ --- *