summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--blowfish.c7
-rw-r--r--blowfish.h11
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,