@@ -295,63 +295,7 @@ We also have vcpkg ports for wolftpm, wolfmqtt and curl.
295295
29629617. 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
35630018. Building for Debian, Ubuntu, Linux Mint, and derivatives
357301
@@ -373,49 +317,5 @@ We also have vcpkg ports for wolftpm, wolfmqtt and curl.
373317
37431820. 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