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