Skip to content

Commit 967f520

Browse files
authored
Merge pull request #9408 from anhu/stateful_integ_deprecate
Deprecate LMS and XMSS integrations.
2 parents 0fa2274 + 0771bc4 commit 967f520

1 file changed

Lines changed: 3 additions & 103 deletions

File tree

INSTALL

Lines changed: 3 additions & 103 deletions
Original file line numberDiff line numberDiff line change
@@ -295,63 +295,7 @@ We also have vcpkg ports for wolftpm, wolfmqtt and curl.
295295

296296
17. Building with hash-sigs lib for LMS/HSS support [EXPERIMENTAL]
297297

298-
Using LMS/HSS requires that the hash-sigs lib has been built on
299-
your system. We support hash-sigs lib at this git commit:
300-
b0631b8891295bf2929e68761205337b7c031726
301-
At the time of writing this, this is the HEAD of the master
302-
branch of the hash-sigs project.
303-
304-
Currently the hash-sigs project only builds static libraries:
305-
- hss_verify.a: a single-threaded verify-only static lib.
306-
- hss_lib.a: a single-threaded static lib.
307-
- hss_lib_thread.a: a multi-threaded static lib.
308-
309-
The multi-threaded version will mainly have speedups for key
310-
generation and signing.
311-
312-
The default LMS build (--enable-lms) will look for
313-
hss_lib.a first, and hss_lib_thread.a second, in a specified
314-
hash-sigs dir.
315-
316-
The LMS verify-only build (--enable-lms=verify-only) will look
317-
for hss_verify.a only, which is a slimmer library that includes
318-
only the minimal functions necessary for signature verification.
319-
320-
How to get and build the hash-sigs library:
321-
$ mkdir ~/hash_sigs
322-
$ cd ~/hash_sigs
323-
$ git clone https://github.com/cisco/hash-sigs.git src
324-
$ cd src
325-
$ git checkout b0631b8891295bf2929e68761205337b7c031726
326-
327-
In sha256.h, set USE_OPENSSL to 0:
328-
#define USE_OPENSSL 0
329-
330-
To build the single-threaded version:
331-
$ make hss_lib.a
332-
$ ls *.a
333-
hss_lib.a
334-
335-
To build multi-threaded:
336-
$ make hss_lib_thread.a
337-
$ ls *.a
338-
hss_lib_thread.a
339-
340-
To build verify-only:
341-
$ make hss_verify.a
342-
$ ls *.a
343-
hss_verify.a
344-
345-
Build wolfSSL with
346-
$ ./configure \
347-
--enable-static \
348-
--disable-shared \
349-
--enable-lms \
350-
--with-liblms=<path to dir containing hss_lib.a or hss_lib_thread.a>
351-
$ make
352-
353-
Run the benchmark against LMS/HSS with:
354-
$ ./wolfcrypt/benchmark/benchmark -lms_hss
298+
Deprecated. wolfSSL now has its own LMS/HSS implementation in wolfCrypt.
355299

356300
18. Building for Debian, Ubuntu, Linux Mint, and derivatives
357301

@@ -373,49 +317,5 @@ We also have vcpkg ports for wolftpm, wolfmqtt and curl.
373317

374318
20. Building with xmss-reference lib for XMSS/XMSS^MT support [EXPERIMENTAL]
375319

376-
Experimental support for XMSS/XMSS^MT has been achieved by integration
377-
with the xmss-reference implementation from RFC 8391 (XMSS: eXtended
378-
Merkle Signature Scheme). We support a patched version of xmss-reference
379-
based on this git commit:
380-
171ccbd26f098542a67eb5d2b128281c80bd71a6
381-
At the time of writing this, this is the HEAD of the master branch of
382-
the xmss-reference project.
383-
384-
How to get the xmss-reference library:
385-
$ mkdir ~/xmss
386-
$ cd ~/xmss
387-
$ git clone https://github.com/XMSS/xmss-reference.git src
388-
$ cd src
389-
$ git checkout 171ccbd26f098542a67eb5d2b128281c80bd71a6
390-
$ git apply <path to xmss reference patch>
391-
392-
The patch may be found in the wolfssl-examples repo here:
393-
pq/stateful_hash_sig/0001-Patch-to-support-wolfSSL-xmss-reference-integration.patch
394-
395-
To build patched xmss-reference:
396-
$ make xmss_lib.a
397-
398-
To build verify-only patched xmss-reference:
399-
$ make xmss_verify_lib.a
400-
401-
Note that this patch changes xmss-reference to use wolfCrypt SHA256 hashing,
402-
by registering a SHA callback function in xmss-reference. It
403-
thus benefits from all the same asm speedups as wolfCrypt SHA hashing.
404-
Depending on architecture you may build with --enable-intelasm, or
405-
--enable-armasm, and see 30-40% speedups in XMSS/XMSS^MT.
406-
407-
For full keygen, signing, verifying, and benchmarking support, build
408-
wolfSSL with:
409-
$ ./configure \
410-
--enable-xmss \
411-
--with-libxmss=<path to xmss src dir>
412-
$ make
413-
414-
Run the benchmark against XMSS/XMSS^MT with:
415-
$ ./wolfcrypt/benchmark/benchmark -xmss_xmssmt
416-
417-
For a leaner xmss verify-only build, build with
418-
$ ./configure \
419-
--enable-xmss=verify-only \
420-
--with-libxmss=<path to xmss src dir>
421-
$ make
320+
Deprecated. wolfSSL now has its own XMMS/XMSS^MT implementation in
321+
wolfCrypt.

0 commit comments

Comments
 (0)