/* -*-c-*-
*
- * $Id: blowfish.h,v 1.2 1999/12/10 23:29:48 mdw Exp $
+ * $Id: blowfish.h,v 1.3 2000/06/17 10:48:13 mdw Exp $
*
* The Blowfish block cipher
*
/*----- Revision history --------------------------------------------------*
*
* $Log: blowfish.h,v $
+ * Revision 1.3 2000/06/17 10:48:13 mdw
+ * Support new key size interface.
+ *
* Revision 1.2 1999/12/10 23:29:48 mdw
* Change header file guard names.
*
/*----- Magical numbers ---------------------------------------------------*/
#define BLOWFISH_BLKSZ 8
-#define BLOWFISH_KEYSZ 0
+#define BLOWFISH_KEYSZ 32
#define BLOWFISH_CLASS (N, B, 64)
+extern const octet blowfish_keysz[];
+
/*----- Data structures ---------------------------------------------------*/
typedef struct blowfish_ctx {
/* -*-c-*-
*
- * $Id: des.c,v 1.1 1999/09/03 08:41:11 mdw Exp $
+ * $Id: des.c,v 1.2 2000/06/17 10:52:32 mdw Exp $
*
* The Data Encryption Standard
*
/*----- Revision history --------------------------------------------------*
*
* $Log: des.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 "blkc.h"
#include "des-base.h"
#include "des.h"
+#include "gcipher.h"
+
+/*----- Global variables --------------------------------------------------*/
+
+const octet des_keysz[] = { KSZ_SET, 7, 8, 0 };
/*----- Main code ---------------------------------------------------------*/
* table.
*/
- assert(((void)"DES key must be 56 or 64 bits", sz == 7 || sz == 8));
+ KSZ_ASSERT(des, sz);
if (sz == 8) {
const octet *p = buf;
/* -*-c-*-
*
- * $Id: des.h,v 1.2 1999/12/10 23:29:48 mdw Exp $
+ * $Id: des.h,v 1.3 2000/06/17 10:52:32 mdw Exp $
*
* The Data Encryption Standard
*
/*----- Revision history --------------------------------------------------*
*
* $Log: des.h,v $
+ * Revision 1.3 2000/06/17 10:52:32 mdw
+ * Support new key size interface.
+ *
* Revision 1.2 1999/12/10 23:29:48 mdw
* Change header file guard names.
*
#define DES_KEYSZ 7
#define DES_CLASS (N, B, 64)
+extern const octet des_keysz[];
+
/*----- Data structures ---------------------------------------------------*/
typedef struct des_ctx {
/* -*-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
*
/*----- 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 ---------------------------------------------------------*/
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;
/* -*-c-*-
*
- * $Id: des3.h,v 1.2 1999/12/10 23:29:48 mdw Exp $
+ * $Id: des3.h,v 1.3 2000/06/17 10:52:32 mdw Exp $
*
* Implementation of double- and triple-DES
*
/*----- Revision history --------------------------------------------------*
*
* $Log: des3.h,v $
+ * Revision 1.3 2000/06/17 10:52:32 mdw
+ * Support new key size interface.
+ *
* Revision 1.2 1999/12/10 23:29:48 mdw
* Change header file guard names.
*
#define DES3_KEYSZ 21
#define DES3_CLASS (N, B, 64)
+extern const octet des3_keysz[];
+
/*----- Data structures ---------------------------------------------------*/
typedef struct des3_ctx {