Support new key size interface.
[u/mdw/catacomb] / des3.c
diff --git a/des3.c b/des3.c
index 281d8ea..61d96c3 100644 (file)
--- a/des3.c
+++ b/des3.c
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: des3.c,v 1.1 1999/09/03 08:41:11 mdw Exp $
+ * $Id: des3.c,v 1.2 2000/06/17 10:52:32 mdw Exp $
  *
  * Implementation of double- and triple-DES
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: des3.c,v $
+ * Revision 1.2  2000/06/17 10:52:32  mdw
+ * Support new key size interface.
+ *
  * Revision 1.1  1999/09/03 08:41:11  mdw
  * Initial import.
  *
 #include "des-base.h"
 #include "des.h"
 #include "des3.h"
+#include "gcipher.h"
+
+/*----- Global variables --------------------------------------------------*/
+
+const octet des3_keysz[] = { KSZ_SET, 21, 7, 8, 14, 16, 24, 0 };
 
 /*----- Main code ---------------------------------------------------------*/
 
@@ -70,8 +78,7 @@ void des3_init(des3_ctx *k, const void *buf, size_t sz)
   size_t step;
   const octet *p = buf;
 
-  assert(((void)("des3 key length must be one of 7, 8, 14, 16, 21 or 24"),
-               (sz % 7 == 0 || sz % 8 == 0) && sz < 25));
+  KSZ_ASSERT(des3, sz);
 
   if (sz % 7 == 0)
     step = 7;