Skip to content

Commit e1fefcc

Browse files
committed
Remove deprecated liblms and libxmss
1 parent 71a8a55 commit e1fefcc

27 files changed

Lines changed: 445 additions & 3032 deletions

CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -700,10 +700,8 @@ add_option(WOLFSSL_LMSSHA256192
700700

701701
if (WOLFSSL_LMS)
702702
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_HAVE_LMS")
703-
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_WC_LMS")
704703

705704
set_wolfssl_definitions("WOLFSSL_HAVE_LMS" RESULT)
706-
set_wolfssl_definitions("WOLFSSL_WC_LMS" RESULT)
707705

708706
if (WOLFSSL_LMSSHA256192)
709707
list(APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_LMS_SHA256_192")

Docker/Dockerfile

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ RUN git clone --single-branch https://github.com/open-quantum-safe/liboqs.git &&
3434

3535
RUN mkdir /opt/sources
3636

37-
# install liblms
38-
RUN cd /opt/sources && git clone --single-branch https://github.com/cisco/hash-sigs.git && cd hash-sigs && git checkout b0631b8891295bf2929e68761205337b7c031726 \
39-
&& sed -i 's/USE_OPENSSL 1/USE_OPENSSL 0/g' sha256.h && make -j4 hss_lib_thread.a
40-
4137
# Install pkixssh to /opt/pkixssh for X509 interop testing with wolfSSH
4238
RUN mkdir /var/empty
4339
RUN cd /opt/sources && wget -q -O- https://roumenpetrov.info/secsh/src/pkixssh-15.1.tar.gz | tar xzf - && cd pkixssh-15.1 && ./configure --prefix=/opt/pkixssh/ --exec-prefix=/opt/pkixssh/ && make install

IDE/INTIME-RTOS/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,6 @@ INCL_TARGS := wolfssl/callbacks.h \
287287
wolfssl/wolfcrypt/integer.h \
288288
wolfssl/wolfcrypt/kdf.h \
289289
wolfssl/wolfcrypt/kyber.h \
290-
wolfssl/wolfcrypt/lms.h \
291290
wolfssl/wolfcrypt/logging.h \
292291
wolfssl/wolfcrypt/md2.h \
293292
wolfssl/wolfcrypt/md4.h \
@@ -327,11 +326,12 @@ INCL_TARGS := wolfssl/callbacks.h \
327326
wolfssl/wolfcrypt/visibility.h \
328327
wolfssl/wolfcrypt/wc_encrypt.h \
329328
wolfssl/wolfcrypt/wc_kyber.h \
329+
wolfssl/wolfcrypt/wc_lms.h \
330330
wolfssl/wolfcrypt/wc_pkcs11.h \
331331
wolfssl/wolfcrypt/wc_port.h \
332+
wolfssl/wolfcrypt/wc_xmss.h \
332333
wolfssl/wolfcrypt/wolfevent.h \
333334
wolfssl/wolfcrypt/wolfmath.h \
334-
wolfssl/wolfcrypt/xmss.h \
335335
wolfssl/wolfcrypt/port/nrf51.h \
336336
wolfssl/wolfcrypt/port/af_alg/afalg_hash.h \
337337
wolfssl/wolfcrypt/port/af_alg/wc_afalg.h \

IDE/INTIME-RTOS/wolfssl-lib.vcxproj

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,6 @@
8787
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|INtime'">true</ExcludedFromBuild>
8888
</ClCompile>
8989
<ClCompile Include="..\..\wolfcrypt\src\ext_kyber.c" />
90-
<ClCompile Include="..\..\wolfcrypt\src\ext_lms.c" />
91-
<ClCompile Include="..\..\wolfcrypt\src\ext_xmss.c" />
9290
<ClCompile Include="..\..\wolfcrypt\src\falcon.c" />
9391
<ClCompile Include="..\..\wolfcrypt\src\fe_448.c" />
9492
<ClCompile Include="..\..\wolfcrypt\src\fips.c" />

INSTALL

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -296,11 +296,7 @@ The wolfssl port in vcpkg is kept up to date by wolfSSL.
296296

297297
We also have vcpkg ports for wolftpm, wolfmqtt and curl.
298298

299-
17. Building with hash-sigs lib for LMS/HSS support [EXPERIMENTAL]
300-
301-
Deprecated. wolfSSL now has its own LMS/HSS implementation in wolfCrypt.
302-
303-
18. Building for Debian, Ubuntu, Linux Mint, and derivatives
299+
17. Building for Debian, Ubuntu, Linux Mint, and derivatives
304300

305301
To generate a .deb package, configure wolfSSL with the desired
306302
configuration. Then run `make deb` to generate a Debian package
@@ -309,16 +305,11 @@ We also have vcpkg ports for wolftpm, wolfmqtt and curl.
309305
resulting packages are placed in the root directory of the
310306
project.
311307

312-
19. Building for RHEL, Fedora, CentOS, SUSE, and openSUSE
308+
18. Building for RHEL, Fedora, CentOS, SUSE, and openSUSE
313309

314310
To generate a .rpm package, configure wolfSSL with the desired
315311
configuration. Then run `make rpm` to generate a .rpm package
316312
with the current configuration. To build the package inside a
317313
Docker container, use `make rpm-docker`. In both cases the
318314
resulting packages are placed in the root directory of the
319315
project.
320-
321-
20. Building with xmss-reference lib for XMSS/XMSS^MT support [EXPERIMENTAL]
322-
323-
Deprecated. wolfSSL now has its own XMMS/XMSS^MT implementation in
324-
wolfCrypt.

configure.ac

Lines changed: 2 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -1839,7 +1839,6 @@ do
18391839
done
18401840

18411841
# XMSS
1842-
ENABLED_WC_XMSS=no
18431842
AC_ARG_ENABLE([xmss],
18441843
[AS_HELP_STRING([--enable-xmss],[Enable stateful XMSS/XMSS^MT signatures (default: disabled)])],
18451844
[ ENABLED_XMSS=$enableval ],
@@ -1865,60 +1864,7 @@ do
18651864
esac
18661865
done
18671866

1868-
# libxmss
1869-
# Get the path to xmss-reference.
1870-
ENABLED_LIBXMSS="no"
1871-
trylibxmssdir=""
1872-
AC_ARG_WITH([libxmss],
1873-
[AS_HELP_STRING([--with-libxmss=PATH],[PATH to xmss-reference root dir. (requires --enable-experimental)!])],
1874-
[
1875-
AS_IF([ test "$ENABLED_EXPERIMENTAL" != "yes" ],[ AC_MSG_ERROR([libxmss requires --enable-experimental.]) ])
1876-
AC_MSG_CHECKING([for libxmss])
1877-
1878-
trylibxmssdir=$withval
1879-
1880-
if test -e $trylibxmssdir; then
1881-
libxmss_linked=yes
1882-
else
1883-
AC_MSG_ERROR([libxmss isn't found.
1884-
If it's already installed, specify its path using --with-libxmss=/dir/])
1885-
fi
1886-
if test "$XMSS_VERIFY_ONLY" = "yes"; then
1887-
if test -e $trylibxmssdir/xmss_verify_lib.a; then
1888-
CPPFLAGS="$AM_CPPFLAGS -DHAVE_LIBXMSS -I$trylibxmssdir"
1889-
LIB_STATIC_ADD="$LIB_STATIC_ADD $trylibxmssdir/xmss_verify_lib.a"
1890-
enable_shared=no
1891-
enable_static=yes
1892-
libxmss_linked=yes
1893-
else
1894-
AC_MSG_ERROR([xmss_verify_lib.a isn't found.
1895-
If it's already installed, specify its path using --with-libxmss=/dir/])
1896-
fi
1897-
elif test -e $trylibxmssdir/xmss_lib.a; then
1898-
CPPFLAGS="$AM_CPPFLAGS -DHAVE_LIBXMSS -I$trylibxmssdir"
1899-
LIB_STATIC_ADD="$LIB_STATIC_ADD $trylibxmssdir/xmss_lib.a"
1900-
enable_shared=no
1901-
enable_static=yes
1902-
libxmss_linked=yes
1903-
else
1904-
AC_MSG_ERROR([libxmss isn't found.
1905-
If it's already installed, specify its path using --with-libxmss=/dir/])
1906-
fi
1907-
1908-
XMSS_ROOT=$trylibxmssdir
1909-
1910-
AC_MSG_RESULT([yes])
1911-
AM_CPPFLAGS="$CPPFLAGS"
1912-
1913-
AM_CFLAGS="$AM_CFLAGS -DHAVE_LIBXMSS -I$trylibxmssdir"
1914-
ENABLED_LIBXMSS="yes"
1915-
AC_SUBST([XMSS_ROOT])
1916-
],
1917-
[XMSS_ROOT=""]
1918-
)
1919-
19201867
# LMS
1921-
ENABLED_WC_LMS=no
19221868
AC_ARG_ENABLE([lms],
19231869
[AS_HELP_STRING([--enable-lms],[Enable stateful LMS/HSS signatures (default: disabled)])],
19241870
[ ENABLED_LMS=$enableval ],
@@ -1953,74 +1899,6 @@ do
19531899
esac
19541900
done
19551901

1956-
# liblms
1957-
# Get the path to the hash-sigs LMS HSS lib.
1958-
ENABLED_LIBLMS="no"
1959-
tryliblmsdir=""
1960-
AC_ARG_WITH([liblms],
1961-
[AS_HELP_STRING([--with-liblms=PATH],[PATH to hash-sigs LMS/HSS install (default /usr/local) (requires --enable-experimental)!])],
1962-
[
1963-
AS_IF([ test "$ENABLED_EXPERIMENTAL" != "yes" ],[ AC_MSG_ERROR([liblms requires --enable-experimental.]) ])
1964-
AC_MSG_CHECKING([for liblms])
1965-
1966-
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <hss.h>]], [[ param_set_t lm_type; param_set_t lm_ots_type; hss_get_public_key_len(4, &lm_type, &lm_ots_type); ]])], [ liblms_linked=yes ],[ liblms_linked=no ])
1967-
1968-
if test "x$liblms_linked" = "xno" ; then
1969-
if test "x$withval" != "xno" ; then
1970-
tryliblmsdir=$withval
1971-
fi
1972-
if test "x$withval" = "xyes" ; then
1973-
tryliblmsdir="/usr/local"
1974-
fi
1975-
1976-
# 1. If verify only build, use hss_verify.a
1977-
# 2. If normal build, by default use single-threaded hss_lib.a
1978-
# 3. If 2 not found, then use the multi-threaded hss_lib_thread.a
1979-
if test "$LMS_VERIFY_ONLY" = "yes"; then
1980-
if test -e $tryliblmsdir/hss_verify.a; then
1981-
CPPFLAGS="$AM_CPPFLAGS -DHAVE_LIBLMS -I$tryliblmsdir"
1982-
LIB_STATIC_ADD="$LIB_STATIC_ADD $tryliblmsdir/hss_verify.a"
1983-
enable_shared=no
1984-
enable_static=yes
1985-
liblms_linked=yes
1986-
else
1987-
AC_MSG_ERROR([hss_verify.a isn't found.
1988-
If it's already installed, specify its path using --with-liblms=/dir/])
1989-
fi
1990-
elif test -e $tryliblmsdir/hss_lib.a; then
1991-
CPPFLAGS="$AM_CPPFLAGS -DHAVE_LIBLMS -I$tryliblmsdir"
1992-
LIB_STATIC_ADD="$LIB_STATIC_ADD $tryliblmsdir/hss_lib.a"
1993-
enable_shared=no
1994-
enable_static=yes
1995-
liblms_linked=yes
1996-
elif test -e $tryliblmsdir/hss_lib_thread.a; then
1997-
CPPFLAGS="$AM_CPPFLAGS -DHAVE_LIBLMS -I$tryliblmsdir"
1998-
LIB_STATIC_ADD="$LIB_STATIC_ADD $tryliblmsdir/hss_lib_thread.a"
1999-
enable_shared=no
2000-
enable_static=yes
2001-
liblms_linked=yes
2002-
else
2003-
AC_MSG_ERROR([liblms isn't found.
2004-
If it's already installed, specify its path using --with-liblms=/dir/])
2005-
fi
2006-
2007-
if test "x$liblms_linked" = "xno" ; then
2008-
AC_MSG_ERROR([liblms isn't found.
2009-
If it's already installed, specify its path using --with-liblms=/dir/])
2010-
fi
2011-
2012-
AC_MSG_RESULT([yes])
2013-
AM_CPPFLAGS="$CPPFLAGS"
2014-
AM_LDFLAGS="$LDFLAGS"
2015-
else
2016-
AC_MSG_RESULT([yes])
2017-
fi
2018-
2019-
AM_CFLAGS="$AM_CFLAGS -DHAVE_LIBLMS"
2020-
ENABLED_LIBLMS="yes"
2021-
]
2022-
)
2023-
20241902
# SLH-DSA
20251903
ENABLED_SLHDSA=yes
20261904
AC_ARG_ENABLE([slhdsa],
@@ -7539,28 +7417,12 @@ fi
75397417
if test "$ENABLED_XMSS" != "no"
75407418
then
75417419
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_XMSS"
7542-
7543-
# Use hash-sigs XMSS lib if enabled.
7544-
if test "$ENABLED_LIBXMSS" = "yes"; then
7545-
ENABLED_WC_XMSS=no
7546-
else
7547-
ENABLED_WC_XMSS=yes
7548-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WC_XMSS"
7549-
fi
75507420
fi
75517421
75527422
# LMS CFLAG processing (after FIPS section for sandwich pattern)
75537423
if test "$ENABLED_LMS" != "no"
75547424
then
75557425
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_HAVE_LMS"
7556-
7557-
# Use hash-sigs LMS lib if enabled.
7558-
if test "$ENABLED_LIBLMS" = "yes"; then
7559-
ENABLED_WC_LMS=no
7560-
else
7561-
ENABLED_WC_LMS=yes
7562-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_WC_LMS"
7563-
fi
75647426
fi
75657427
75667428
# SLH-DSA CFLAG processing (after FIPS section for sandwich pattern)
@@ -12186,8 +12048,8 @@ AM_CONDITIONAL([BUILD_FE448], [test "x$ENABLED_FE448" = "xyes" || test "x$ENABLE
1218612048
AM_CONDITIONAL([BUILD_GE448], [test "x$ENABLED_GE448" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1218712049
AM_CONDITIONAL([BUILD_CURVE448],[test "x$ENABLED_CURVE448" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1218812050
AM_CONDITIONAL([BUILD_CURVE448_SMALL],[test "x$ENABLED_CURVE448_SMALL" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
12189-
AM_CONDITIONAL([BUILD_WC_LMS],[test "x$ENABLED_WC_LMS" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
12190-
AM_CONDITIONAL([BUILD_WC_XMSS],[test "x$ENABLED_WC_XMSS" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
12051+
AM_CONDITIONAL([BUILD_WC_LMS],[test "x$ENABLED_LMS" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
12052+
AM_CONDITIONAL([BUILD_WC_XMSS],[test "x$ENABLED_XMSS" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1219112053
AM_CONDITIONAL([BUILD_WC_SLHDSA],[test "x$ENABLED_SLHDSA" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1219212054
AM_CONDITIONAL([BUILD_WC_MLKEM],[test "x$ENABLED_WC_MLKEM" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1219312055
AM_CONDITIONAL([BUILD_DILITHIUM],[test "x$ENABLED_DILITHIUM" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
@@ -12238,8 +12100,6 @@ AM_CONDITIONAL([BUILD_OCSP_STAPLING_MULTI],[test "x$ENABLED_CERTIFICATE_STATUS_R
1223812100
AM_CONDITIONAL([BUILD_OCSP_STAPLING_V2],[test "x$ENABLED_CERTIFICATE_STATUS_REQUEST_V2" = "xyes"])
1223912101
AM_CONDITIONAL([BUILD_CRL],[test "x$ENABLED_CRL" != "xno" || test "x$ENABLED_USERSETTINGS" = "xyes"])
1224012102
AM_CONDITIONAL([BUILD_CRL_MONITOR],[test "x$ENABLED_CRL_MONITOR" = "xyes"])
12241-
AM_CONDITIONAL([BUILD_LIBLMS],[test "x$ENABLED_LIBLMS" = "xyes"])
12242-
AM_CONDITIONAL([BUILD_LIBXMSS],[test "x$ENABLED_LIBXMSS" = "xyes"])
1224312103
AM_CONDITIONAL([BUILD_LIBOQS],[test "x$ENABLED_LIBOQS" = "xyes"])
1224412104
AM_CONDITIONAL([BUILD_WNR],[test "x$ENABLED_WNR" = "xyes"])
1224512105
AM_CONDITIONAL([BUILD_SRP],[test "x$ENABLED_SRP" = "xyes" || test "x$ENABLED_USERSETTINGS" = "xyes"])
@@ -12741,12 +12601,7 @@ echo " * CURVE448: $ENABLED_CURVE448"
1274112601
echo " * ED448: $ENABLED_ED448"
1274212602
echo " * ED448 streaming: $ENABLED_ED448_STREAM"
1274312603
echo " * LMS: $ENABLED_LMS"
12744-
echo " * LMS wolfSSL impl: $ENABLED_WC_LMS"
1274512604
echo " * XMSS: $ENABLED_XMSS"
12746-
echo " * XMSS wolfSSL impl: $ENABLED_WC_XMSS"
12747-
if test "$ENABLED_LIBXMSS" = "yes"; then
12748-
echo " * XMSS_ROOT: $XMSS_ROOT"
12749-
fi
1275012605
echo " * SLH-DSA $ENABLED_SLHDSA"
1275112606
echo " * MLKEM: $ENABLED_MLKEM"
1275212607
echo " * MLKEM wolfSSL impl: $ENABLED_WC_MLKEM"
@@ -12807,8 +12662,6 @@ echo " * Persistent session cache: $ENABLED_SAVESESSION"
1280712662
echo " * Persistent cert cache: $ENABLED_SAVECERT"
1280812663
echo " * Atomic User Record Layer: $ENABLED_ATOMICUSER"
1280912664
echo " * Public Key Callbacks: $ENABLED_PKCALLBACKS"
12810-
echo " * libxmss: $ENABLED_LIBXMSS"
12811-
echo " * liblms: $ENABLED_LIBLMS"
1281212665
echo " * liboqs: $ENABLED_LIBOQS"
1281312666
echo " * Whitewood netRandom: $ENABLED_WNR"
1281412667
echo " * Server Name Indication: $ENABLED_SNI"

examples/configs/user_settings_pq.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ extern "C" {
105105
/* ------------------------------------------------- */
106106
#if 0 /* LMS signatures */
107107
#define WOLFSSL_HAVE_LMS
108-
#define WOLFSSL_WC_LMS
109108
#ifndef LMS_LEVELS
110109
#define LMS_LEVELS 2
111110
#endif
@@ -122,7 +121,6 @@ extern "C" {
122121
/* ------------------------------------------------- */
123122
#if 0 /* XMSS signatures */
124123
#define WOLFSSL_HAVE_XMSS
125-
#define WOLFSSL_WC_XMSS
126124
#ifndef WOLFSSL_XMSS_MAX_HEIGHT
127125
#define WOLFSSL_XMSS_MAX_HEIGHT 20
128126
#endif

examples/configs/user_settings_wolfboot_keytools.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ extern "C" {
131131

132132
#if 1 /* LMS */
133133
#define WOLFSSL_HAVE_LMS
134-
#define WOLFSSL_WC_LMS
135134
#ifndef LMS_LEVELS
136135
#define LMS_LEVELS 1
137136
#endif
@@ -145,7 +144,6 @@ extern "C" {
145144

146145
#if 1 /* XMSS */
147146
#define WOLFSSL_HAVE_XMSS
148-
#define WOLFSSL_WC_XMSS
149147
#ifndef WOLFSSL_XMSS_MAX_HEIGHT
150148
#define WOLFSSL_XMSS_MAX_HEIGHT 32
151149
#endif

linuxkm/module_exports.c.template

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -158,21 +158,11 @@
158158
#endif
159159
#endif
160160
#if defined(WOLFSSL_HAVE_XMSS)
161-
#include <wolfssl/wolfcrypt/xmss.h>
162-
#ifdef HAVE_LIBXMSS
163-
#include <wolfssl/wolfcrypt/ext_xmss.h>
164-
#else
165161
#include <wolfssl/wolfcrypt/wc_xmss.h>
166162
#endif
167-
#endif
168163
#if defined(WOLFSSL_HAVE_LMS)
169-
#include <wolfssl/wolfcrypt/lms.h>
170-
#ifdef HAVE_LIBLMS
171-
#include <wolfssl/wolfcrypt/ext_lms.h>
172-
#else
173164
#include <wolfssl/wolfcrypt/wc_lms.h>
174165
#endif
175-
#endif
176166
#ifdef HAVE_DILITHIUM
177167
#include <wolfssl/wolfcrypt/dilithium.h>
178168
#endif

src/include.am

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1984,14 +1984,6 @@ src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ext_mlkem.c
19841984
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/port/liboqs/liboqs.c
19851985
endif
19861986

1987-
if BUILD_LIBLMS
1988-
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ext_lms.c
1989-
endif
1990-
1991-
if BUILD_LIBXMSS
1992-
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/ext_xmss.c
1993-
endif
1994-
19951987
if BUILD_LIBZ
19961988
src_libwolfssl@LIBSUFFIX@_la_SOURCES += wolfcrypt/src/compress.c
19971989
endif

0 commit comments

Comments
 (0)