From a66c79ac1b1905a111b725d6bc4c2f857060281a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se>
Date: Thu, 6 Feb 2014 15:03:47 +0100
Subject: [PATCH] New function blowfish128_set_key.

---
 ChangeLog  |  3 +++
 blowfish.c |  7 +++++++
 blowfish.h | 11 ++++++++---
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 43dec6d0..6e21454a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2014-02-06  Niels Möller  <nisse@lysator.liu.se>
 
+	* blowfish.c (blowfish128_set_key): New function.
+	* blowfish.h (BLOWFISH128_KEY_SIZE): New constant.
+
 	* cast128-meta.c (nettle_cast128): Deleted only use of
 	_NETTLE_CIPHER_FIX.
 
diff --git a/blowfish.c b/blowfish.c
index 0ffa332d..8c8485ad 100644
--- a/blowfish.c
+++ b/blowfish.c
@@ -9,6 +9,7 @@
 
 /* nettle, low-level cryptographics library
  *
+ * Copyright (C) 2014 Niels Möller
  * Copyright (C) 2010  Simon Josefsson
  * Copyright (C) 1998, 2001, 2002, 2003 Free Software Foundation, Inc.
  *  
@@ -412,3 +413,9 @@ blowfish_set_key (struct blowfish_ctx *ctx,
 
   return 1;
 }
+
+int
+blowfish128_set_key(struct blowfish_ctx *ctx, const uint8_t *key)
+{
+  return blowfish_set_key (ctx, BLOWFISH128_KEY_SIZE, key);
+}
diff --git a/blowfish.h b/blowfish.h
index 01ed0d37..c1d5f66c 100644
--- a/blowfish.h
+++ b/blowfish.h
@@ -5,8 +5,9 @@
 
 /* nettle, low-level cryptographics library
  *
+ * Copyright (C) 2014 Niels Möller
  * Copyright (C) 1998, 2001 FSF, Ray Dassen, Niels Möller
- *  
+ *
  * The nettle library is free software; you can redistribute it and/or modify
  * it under the terms of the GNU Lesser General Public License as published by
  * the Free Software Foundation; either version 2.1 of the License, or (at your
@@ -34,6 +35,7 @@ extern "C" {
 
 /* Name mangling */
 #define blowfish_set_key nettle_blowfish_set_key
+#define blowfish128_set_key nettle_blowfish128_set_key
 #define blowfish_encrypt nettle_blowfish_encrypt
 #define blowfish_decrypt nettle_blowfish_decrypt
 
@@ -46,6 +48,8 @@ extern "C" {
 /* Default to 128 bits */
 #define BLOWFISH_KEY_SIZE 16
 
+#define BLOWFISH128_KEY_SIZE 16
+
 #define _BLOWFISH_ROUNDS 16
 
 struct blowfish_ctx
@@ -54,11 +58,12 @@ struct blowfish_ctx
   uint32_t p[_BLOWFISH_ROUNDS+2];
 };
 
-/* On success, returns 1 and sets ctx->status to BLOWFISH_OK (zero).
- * On error, returns 0 and sets ctx->status to BLOWFISH_WEAK_KEY. */
+/* Returns 0 for weak keys, otherwise 1. */
 int
 blowfish_set_key(struct blowfish_ctx *ctx,
                  size_t length, const uint8_t *key);
+int
+blowfish128_set_key(struct blowfish_ctx *ctx, const uint8_t *key);
 
 void
 blowfish_encrypt(const struct blowfish_ctx *ctx,
-- 
GitLab