diff --git a/ChangeLog b/ChangeLog index 43dec6d04720fc9f8bd8516431c2d912b442daf6..6e21454ad4343c16577de75e081a4232f76ed8d7 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 0ffa332d60678bfb2c6461e7d1a53537ea294df6..8c8485ad0df7406934ff26e592faa7c6ce0f4d18 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 01ed0d377ce27d90314c0d5600555813f8109e45..c1d5f66c24d5bb07e30f37e9b3087468b3a9e1cb 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,