From: Michael Brown Date: Sat, 6 Jun 2026 15:51:20 +0000 (+0100) Subject: [crypto] Remove redundant ECDHE algorithm X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=HEAD;p=thirdparty%2Fipxe.git [crypto] Remove redundant ECDHE algorithm Remove the now-unused implementation of ECDHE that requires an underlying elliptic curve abstraction, since we now use a standalone key exchange algorithm abstraction instead. Signed-off-by: Michael Brown --- diff --git a/src/crypto/ecdhe.c b/src/crypto/ecdhe.c deleted file mode 100644 index 016253457..000000000 --- a/src/crypto/ecdhe.c +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 2025 Michael Brown . - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - * - * You can also choose to distribute this program under the terms of - * the Unmodified Binary Distribution Licence (as given in the file - * COPYING.UBDL), provided that you have satisfied its requirements. - */ - -FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); -FILE_SECBOOT ( PERMITTED ); - -/** @file - * - * Elliptic Curve Ephemeral Diffie-Hellman (ECDHE) key exchange - * - */ - -#include -#include -#include - -/** - * Calculate ECDHE key - * - * @v curve Elliptic curve - * @v partner Partner public curve point - * @v private Private key - * @v public Public curve point to fill in (may overlap partner key) - * @v shared Shared secret curve point to fill in - * @ret rc Return status code - */ -int ecdhe_key ( struct elliptic_curve *curve, const void *partner, - const void *private, void *public, void *shared ) { - int rc; - - /* Construct shared key */ - if ( ( rc = elliptic_multiply ( curve, partner, private, - shared ) ) != 0 ) { - DBGC ( curve, "CURVE %s could not generate shared key: %s\n", - curve->name, strerror ( rc ) ); - return rc; - } - - /* Construct public key */ - if ( ( rc = elliptic_multiply ( curve, curve->base, private, - public ) ) != 0 ) { - DBGC ( curve, "CURVE %s could not generate public key: %s\n", - curve->name, strerror ( rc ) ); - return rc; - } - - /* Check that partner and shared keys are not the point at infinity */ - if ( elliptic_is_infinity ( curve, shared ) ) { - DBGC ( curve, "CURVE %s constructed point at infinity\n", - curve->name ); - return -EPERM; - } - - return 0; -} diff --git a/src/include/ipxe/ecdhe.h b/src/include/ipxe/ecdhe.h deleted file mode 100644 index c6575678c..000000000 --- a/src/include/ipxe/ecdhe.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef _IPXE_ECDHE_H -#define _IPXE_ECDHE_H - -/** @file - * - * Elliptic Curve Ephemeral Diffie-Hellman (ECDHE) key exchange - * - */ - -FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); -FILE_SECBOOT ( PERMITTED ); - -#include - -extern int ecdhe_key ( struct elliptic_curve *curve, const void *partner, - const void *private, void *public, void *shared ); - -#endif /* _IPXE_ECDHE_H */ diff --git a/src/net/tls.c b/src/net/tls.c index c34c015e4..537954002 100644 --- a/src/net/tls.c +++ b/src/net/tls.c @@ -51,7 +51,6 @@ FILE_SECBOOT ( PERMITTED ); #include #include #include -#include #include #include