wolfMQTT Releases v1.19.1

wolfSSL is proud to announce the release of wolfMQTT v1.19.1!

This release fixes an issue in the Espressif example and corrects some documentation issues.

Release 1.19.1 has been developed according to wolfSSL’s development and QA process and successfully passed the quality criteria.

Check out the ChangeLog from the download for a full list of features and fixes, or contact us at facts@wolfSSL.com with any questions. While you’re there, show us some love and give the wolfMQTT project a Star!

Download the latest release or clone directly from our GitHub repository.

If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.

Download wolfSSL Now

Switching to wolfCrypt’s Implementations of Post-Quantum Algorithms

Have you been trying out post-quantum algorithms in wolfSSL’s products? As you probably know, here at wolfSSL we have a step-wise approach to post-quantum algorithm integration:

  1. Define an API in wolfCrypt.
  2. Do an integration with an existing reference implementation (ie.: liboqs, PQM4, hash-sigs liblms, xmss-reference).
  3. Use these APIs in higher level libraries and products (ie.: wolfssl, wolfssh, wolfmqtt, wolfboot) to implement features.
  4. Invest the time and effort to write and optimize our own production grade implementation of the algorithm.

For LMS, XMSS, ML-KEM and ML-DSA the time has finally come to switch to using wolfSSL’s implementations of these algorithms. It’s very simple to do so. If you are using any of the following configure-time flags simply remove them from your configure command-line:

--with-liblms
--with-libxmms
--with-liboqs

Then ensure you are enabling the relevant algorithm that you are interested in. Relevant flags are:

--enable-xmss
--enable-lms
--enable-dilithium
--enable-kyber

Once this is done, you will be using our professionally optimized and tested implementations of post-quantum algorithms.

If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.

Download wolfSSL Now

wolfTPM release: v3.6.0

We are proud to announce the next release of wolfTPM that includes minor bug fixes and some exciting new features. The v3.6.0 release is incremental and part of our quarterly release schedule. Each release goes through additional testing including tests on actual TPM 2.0 hardware.

This release includes minor bug fixes and new features such as:

  • Provisioning the initial device (IDevID) and initial attestation (IAK)
    • New key templates and examples
    • New build option –enable-provisioning or WOLFTPM_PROVISIONING
  • Improved support for parsing for all TPM2_GetCapability capabilities
  • Improved the TPM TLS examples for use with WOLFTPM_MFG_IDENTITY
  • New TPM2_Certify example
  • New wolfTPM2_CreatePrimaryKey_ex API for creation ticket
  • Tested support with Nations NS350 TPM

The minor issues fixed are:

  • Issue with TPM2_GetRCString and RC_WARN error codes (broken in v3.4.0)
  • Issue with TPM2_SetupPCRSel on some PCR selection edge cases
  • Improved building without ECC or RSA or file system

The new v3.6.0 release can be downloaded on our website or on GitHub.com/wolfssl/woltpm

If you have questions about ay of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.

Download wolfSSL Now

Java JSSE Support for DTLS 1.3

wolfSSL is exploring adding DTLS support, up to the current DTLS 1.3 level, to our Java JSSE provider, wolfJSSE. Are you interested in using DTLS 1.3 from Java? If so, we would like to hear more about your desired use case!

DTLS 1.3 is the latest version of the Datagram TLS (DTLS) standard, which builds upon the progressive changes of TLS 1.3. The native C implementation of the wolfSSL SSL/TLS library has supported DTLS 1.3 since June 2022 with the 5.4.0 release. Native wolfSSL supports DTLS 1.0, 1.2, and 1.3.

If you’re just learning about DTLS, a few helpful resources include our blog about What’s new in DTLS 1.3, DTLS 1.3 Benchmarks, and DTLS 1.3 Examples and Use Cases. We also have a nice webinar on “DTLS 1.3 Training” up on our YouTube channel.

If you’re interested in using DTLS from Java, reach out and let us know your preferred use case, JDK implementation, and platform at facts@wolfSSL.com.

If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.

Download wolfSSL Now

Do you need post quantum versions of Apache, NGINX, Lighttpd, cURL, or stunnel?

Our wolfSSL library has several post-quantum algorithms built in, but on their own, they aren’t always useful. How else can the PQC algorithms be used in production? Well, one of our areas of expertise is getting other open-source projects working with wolfSSL and then getting those integrations using post-quantum algorithms. We have post-quantum integrations with multiple web servers, a web client, and a secure tunneling solution. Read on to learn more!

For a more heavy-duty and reliable web server with professional production-ready code, we have a post-quantum integration with Apache.

For a lighter-weight yet fully featured and dependable alternative, you can turn to our post-quantum enabled Nginx integration.

Our wolfSSL library excels in constrained environments as does Lighttpd. For the most bare bones environments, our lighttpd post-quantum integration is likely the right choice.

And for the client side, we have also made the cURL web client quantum-safe! See this video for instructions on how to build.

If you’ve got an application where making changes is difficult due to legacy software, we’ve got our post-quantum integration with stunnel to make your migration a breeze.

Go ahead and try out these open source integrations! We are eager for your feedback, and happy to support your efforts Whether it be as part of a hackathon or as an experiment to understand feasibility or to gather benchmarking data, trying out these integrations is a great step in your plan for migration to post-quantum algorithms.

If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.

Download wolfSSL Now

wolfBoot release: v.2.3.0

wolfBoot 2.3.0 has finally been released! The universal secure bootloader extends its support to new platforms, improves existing ports, and introduces new groundbreaking features that set the pace to defining secure-boot for the next generation of embedded systems.

A New Era of Secure Boot with ML-DSA and Hybrid Authentication

The introduction of quantum resistant algorithms in the latest releases of wolfSSL has accelerated the integration of asymmetric cryptography in our secure boot solution. In 2023, wolfBoot v2.0.0 expanded its signature verification algorithms to include the hash-based stateful signatures LMS (+HSS) and XMSS (^MT). wolfBoot v2.3.0 further extends these options by introducing ML-DSA, as specified in FIPS-204, for verifying the authenticity of firmware and other critical components. Support for ML-DSA in wolfBoot is currently available in three variants: ML-DSA-44, ML-DSA-65 and ML-DSA-87, corresponding to NIST security category 2, 3 and 5, respectively.

Hybrid Authentication: Post-Quantum Meets Classic Cryptography

One of the most anticipated features in WolfBoot 2.3.0 is its support for hybrid authentication, a method that combines Post-Quantum Cryptography (PQC) algorithms with traditional cryptographic techniques like ECC and RSA. This hybrid approach strengthens security by combining the resilience of PQC, which resists quantum attacks, with the well-established reliability of classic algorithms. Pairing PQC algorithms with ECC521 offers a path toward CNSA 2.0 compliance, a set of guidelines for systems demanding the highest levels of security.

Hybrid authentication in WolfBoot secures the boot process by signing and validating boot images with a combination of PQC and traditional cryptography. This dual-layer protection approach ensures that even if one algorithm becomes vulnerable, the other remains resilient, offering a future-proof strategy for embedded systems as quantum computing capabilities grow.

Boot time optimization and performance monitoring

Thanks to the newly introduced assembly optimization for ARM in wolfCrypt, image verification times have been dramatically reduced. These ARM optimizations are now enabled by default on all Cortex-M devices.
New benchmark tools have been added to our continuous integration environment, to ensure that we can constantly monitor boot time, footprint size, runtime memory usage and other performance indicators.

Improved keystore and keyvault management

Starting with wolfBoot 2.3.0, it is now possible to store public keys of different sizes in the same trust anchor. This is a crucial feature to allow double signature verification in hybrid mode, or when integrating heterogeneous components in the boot chain, involving more than one cipher at a time.

PKCS11 key vault storage drivers have also been improved, and can now reliably store keys in non-volatile memories, ensuring compatibility with wolfPKCS11.

Hardware support

In this version, the following new targets have been added to the list of hardware platforms we support:

  • Infineon AURIX TriCore TC3xx
  • Microchip AT-SAMA5D3
  • Nordic nRF5340

Moreover, the support for some of the existing ports has been improved and stabilized. During the development of wolfBoot v. 2.3.0 we mostly worked on the following targets:

  • NXP i.MX-RT family: the capabilities have been extended, including the support for built-in High-Assurance Boot (HAB) mechanism, provided by the manufacturer. Flash interaction has improved, and DCACHE invalidation has been fine-tuned to increase performance
  • Renesas RX: improvements introduced for this family of microcontrollers include the introduction of a full-flash erase operation, a more efficient flash management and support for boot-time IRQ.
  • Raspberry Pi: added UART driver

Find out more about wolfBoot

Join our webinar “What’s new in wolfBoot” on November 21, 2024 to discover more details about wolfBoot 2.3.0 and our real-life scenarios for post-quantum cryptography adoption.

If you want to share your secure-boot experience with us or ask us anything on this topic, reach out via email at facts@wolfSSL.com or call us at +1 425 245 8247.

Download wolfSSL Now

What’s New in wolfSSH 1.4.19

The latest version of wolfSSH, 1.4.19, brings improvements, stability fixes and an additional feature! DH Group 14 with SHA-256 Key Exchange (KEX) support was added in with this release.

Along with this new feature some of the improvements that were added are: CI testing, macro guards around TTY modes, use of wolfSSL kyber implementation, and an update to the Espressif example. Among the fixes there were additions for gracefully handling non-existent directories with SFTP and handling of re-key/window full cases with wolfSSHd. For a full list of changes see the bundled ChangeLog.md

Contact facts@wolfSSL.com for more information regarding wolfSSL and wolfSSH.

If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.

Download wolfSSL Now

Live Webinar: Ensuring Security in Avionics with DO-178C Conformance

Learn about the critical role of DO-178C in ensuring the safety and security of avionics systems in our upcoming webinar! As the aviation industry continues to evolve, compliance with rigorous safety standards such as DO-178C becomes essential for avionics software development. wolfSSL Software Engineer Tesfa Meal will delve into how DO-178C conformance helps organizations meet stringent requirements and maintain the highest levels of security in their avionics software systems.

Register Now: Ensuring Security in Avionics with DO-178C Conformance
Date: November 6th | 10 AM PT

Discover the key components of DO-178C and its significance in avionics certification. We will explore the guidelines and objectives of DO-178C, focusing on how they ensure software reliability and safety in critical aviation applications. Additionally, attendees will gain insights into the features and benefits of wolfSSL’s DO-178C product certification, emphasizing its role in supporting secure avionics systems. A detailed customer use case will further illustrate how organizations can effectively implement DO-178C practices to enhance their avionics software security and compliance.

This webinar will cover:

  • Overview of wolfSSL and its certifications
  • Introduction to DO-178C standards and guidelines
  • wolfSSL’s DO-178C Product Certification process
  • Real-world DO-178C Customer Use Case and implementation strategies

Register now to secure your spot! Don’t miss this chance to deepen your understanding of DO-178C and its importance in the avionics industry. Take the first step towards ensuring security in your avionics systems and staying compliant with the latest safety standards.

As always, our webinars will include Q&A sessions throughout. If you have questions on any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.

Download wolfSSL Now

MAX32666 and MAX32665 Hardware Acceleration added to wolfSSL

wolfSSL now supports using the Trust Protection Unit (TPU), Modular Arithmetic Accelerator (MAA), and TRNG provided by Analog Devices MAX32666 and MAX32665 microcontrollers.

The implementation can be seen in PR #7777 to wolfSSL, and is in wolfSSL starting at 5.7.4!

The port offers various usage options: fully leveraging all hardware features, selectively enabling specific hardware acceleration like SHA acceleration, or utilizing Crypto Callbacks for mixed usage between hardware and software. For a guide on setting up the port please refer to the README.

Currently wolfSSL supports offloading the following algorithms and operations to the respective hardware:

TRNG:

  • RNG

TPU:

  • AES-CBC – 128/192/256
  • AES-GCM – 128/192/256
  • AES-ECB – 128/192/256
  • SHA-1
  • SHA-2 – 224/256/384/512

MAA (HW Accelerated Math Operations up to 2048 bits):

  • Modulate (mod)
  • Modular Addition (addmod)
  • Modular Subtraction (submod)
  • Modular Multiplication (mulmod)
  • Modular Exponentiation (expmod)
  • Modular Squaring (sqrmod)

Benchmarks:

These benchmarks were collected using a Cortex-M4 clocked at 96 Mhz included on the MAX32666 FTHR dev kit, and a bare metal implementation of our benchmark. The timer used for these benchmarks can be enabled with the addition of MAX3266X_RTC to user_settings.h for reproduction.

AES ECB/CBC/GCM:

AES-CBC and AES-ECB Hardware Acceleration provides a hefty 2x uplift in performance when compared to our Arm assembly acceleration and normal software implementations.
AES-GCM does not provide the same uplift due to the hardware not supporting GCM explicitly, but we take advantage of the ECB support of the hardware to still provide a speedup when compared to our standard software implementation.
You can enable this kind of speed up for other AES modes by adding HAVE_AES_ECB to user_settings.h.



All algorithms of SHA provide a consistent boost to performance. With our benchmark tool we see up to a 7x performance for SHA-384/512 when compared to our software implementations. As the algorithm gets simpler we see less of a performance increase, however the consistent throughput is still impressive.

Math Acceleration (RSA 2048 and ECDSA p256):

Using the Math Acceleration hardware we do see a decrease in performance for RSA 2048 and ECDSA p256 when compared to our software implementations. This is likely due to the setup and preprocessing that needs to happen before sending the operands down to the hardware.

 
 

Download:

For our official release please checkout our download page!

Questions?

For information about using MAX32666 or MAX32665 hardware acceleration in your project, or any general inquiries about supporting your project’s hardware, reach out to our support team at support@wolfSSL.com

If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.

Download wolfSSL Now

Posts navigation

1 2 3