From 89ae755da614975a84c65da6ffcf351dec60a690 Mon Sep 17 00:00:00 2001 From: mdw Date: Sat, 17 Jun 2000 10:52:32 +0000 Subject: [PATCH] Support new key size interface. --- blowfish.h | 9 +++++++-- des.c | 12 ++++++++++-- des.h | 7 ++++++- des3.c | 13 ++++++++++--- des3.h | 7 ++++++- 5 files changed, 39 insertions(+), 9 deletions(-) diff --git a/blowfish.h b/blowfish.h index f2f8b64..c8c0444 100644 --- a/blowfish.h +++ b/blowfish.h @@ -1,6 +1,6 @@ /* -*-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 * @@ -30,6 +30,9 @@ /*----- 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. * @@ -63,9 +66,11 @@ /*----- 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 { diff --git a/des.c b/des.c index cb73a8e..d48637b 100644 --- a/des.c +++ b/des.c @@ -1,6 +1,6 @@ /* -*-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 * @@ -30,6 +30,9 @@ /*----- 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. * @@ -47,6 +50,11 @@ #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 ---------------------------------------------------------*/ @@ -189,7 +197,7 @@ void des_init(des_ctx *k, const void *buf, size_t sz) * 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; diff --git a/des.h b/des.h index ac1461a..d62d72c 100644 --- a/des.h +++ b/des.h @@ -1,6 +1,6 @@ /* -*-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 * @@ -30,6 +30,9 @@ /*----- 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. * @@ -69,6 +72,8 @@ #define DES_KEYSZ 7 #define DES_CLASS (N, B, 64) +extern const octet des_keysz[]; + /*----- Data structures ---------------------------------------------------*/ typedef struct des_ctx { diff --git a/des3.c b/des3.c index 281d8ea..61d96c3 100644 --- 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. * @@ -48,6 +51,11 @@ #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; diff --git a/des3.h b/des3.h index d3bf294..0a276f3 100644 --- a/des3.h +++ b/des3.h @@ -1,6 +1,6 @@ /* -*-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 * @@ -30,6 +30,9 @@ /*----- 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. * @@ -70,6 +73,8 @@ #define DES3_KEYSZ 21 #define DES3_CLASS (N, B, 64) +extern const octet des3_keysz[]; + /*----- Data structures ---------------------------------------------------*/ typedef struct des3_ctx { -- 2.11.0