<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://posts.wolfssl.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://posts.wolfssl.com/" rel="alternate" type="text/html" /><updated>2026-06-09T22:57:10+00:00</updated><id>https://posts.wolfssl.com/feed.xml</id><title type="html">wolfSSL Blog</title><subtitle>Security, cryptography, and SSL/TLS insights from the wolfSSL team</subtitle><author><name>wolfSSL</name><email>info@wolfssl.com</email></author><entry><title type="html">NXP S32K3 Hardware Security Engine (HSE) support using wolfSSL</title><link href="https://posts.wolfssl.com/2026/06/08/nxp-s32k3-hardware-security-engine-hse-support-using-wolfssl/" rel="alternate" type="text/html" title="NXP S32K3 Hardware Security Engine (HSE) support using wolfSSL" /><published>2026-06-08T21:00:14+00:00</published><updated>2026-06-08T21:00:14+00:00</updated><id>https://posts.wolfssl.com/2026/06/08/nxp-s32k3-hardware-security-engine-hse-support-using-wolfssl</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/08/nxp-s32k3-hardware-security-engine-hse-support-using-wolfssl/"><![CDATA[<p>wolfSSL now supports hardware-accelerated cryptography on the NXP S32K3 family using the on-chip Hardware Security Engine (HSE). The HSE is a secure coprocessor integrated into NXP’s automotive S32K3 microcontrollers.</p>

<h4 id="the-hardware-security-engine-hse"><strong>The Hardware Security Engine (HSE)</strong></h4>

<p>The HSE runs its own firmware on a dedicated core and communicates with the application core over a Messaging Unit (MU). It is responsible for performing cryptographic operations, managing a protected key store, and enforcing access policies on those keys. Because the keys are held inside the HSE and referenced by handle rather than by value, sensitive material such as long-term private keys and SHE keys are never exposed to application memory.</p>

<h4 id="supported-hse-algorithms"><strong>Supported HSE Algorithms:</strong></h4>

<p><strong>Random number generation:</strong></p>

<ul>
  <li>Hardware TRNG</li>
</ul>

<p><strong>Hashing:</strong></p>

<ul>
  <li>
    <p>SHA-256 
<strong>Symmetric encryption:</strong></p>
  </li>
  <li>AES-CBC with 256-bit keys</li>
  <li>AES-GCM with 256-bit keys</li>
</ul>

<p><strong>Message authentication:</strong></p>

<ul>
  <li>AES-CMAC with 128, 192, and 256-bit keys</li>
</ul>

<p><strong>Asymmetric:</strong></p>

<ul>
  <li>RSA sign and verify on 2048-bit and 4096-bit</li>
  <li>ECDSA sign and verify on P-256 and P-521</li>
</ul>

<h4 id="she-secure-hardware-extension-support"><strong>SHE (Secure Hardware Extension) Support:</strong></h4>

<p>The port exposes the SHE interface through a set of <code class="language-plaintext highlighter-rouge">wc_SHE_*</code> APIs. SHE defines a standardized key layout and a secure key-update protocol used widely in automotive applications. The port supports loading and updating SHE keys using the M1 through M5 memory-update protocol with M4 and M5 verification, applying SHE key-usage and protection flags such as CMAC usage and write protection, AES and CMAC operations using SHE-managed keys, and reading the device identity. SHE keys live inside the HSE key store and are operated on by handle, so the application never sees the raw key bytes.</p>

<h4 id="secure-key-storage-with-the-hse-key-store"><strong>Secure Key Storage with the HSE Key Store:</strong></h4>

<p>A central benefit of the HSE is its protected key store. Keys are organized into NVM and RAM key catalogs, then provisioned into specific groups and slots. Once a key is in the store, wolfCrypt refers to it through a key identifier rather than a buffer of key material. In the port, the hardware-backed paths use the wolfCrypt <code class="language-plaintext highlighter-rouge">_Id</code> initialization APIs, which tell wolfSSL to operate on a stored key instead of a software key in RAM. This keeps private keys inside the HSE for their entire lifetime. You can provision a key once, then sign, verify, encrypt, or compute a MAC with it indefinitely without ever loading it into application memory.</p>

<h4 id="multi-threaded-and-parallel-operation"><strong>Multi-Threaded and Parallel Operation:</strong></h4>

<p>The port is built for concurrent use under an RTOS. By default it drives two Messaging Units in parallel, MU0 and MU1, each an independent request and response channel to the HSE. One thread can run AES-CBC on MU0 while another runs SHA-256 on MU1, so unrelated operations overlap instead of serializing through a single path. Each MU also exposes a pool of channels, where a channel is one in-flight HSE request, so multiple requests can be outstanding on the same MU at once. Responses are delivered by interrupt, and a requesting task yields to the scheduler while it waits, which keeps the core available to other work.</p>

<h4 id="benchmarks"><strong>Benchmarks:</strong></h4>

<p>The HSE is first and foremost a security module. The reason to use it is hardware-isolated key storage and cryptographic execution, where private keys and secrets live inside the engine and are referenced by handle rather than ever appearing in application memory. Raw throughput is a secondary concern. The HSE Port accelerates a specific subset of operations: AES-256 in CBC and GCM, SHA-256, AES-CMAC, RSA, and ECC. The charts below cover only the HSE-accelerated operations. These numbers were captured with the wolfCrypt benchmark on an S32K344 (Cortex-M7 @ 48 MHz) using 1024-byte blocks.</p>

<h4 id="public-key-operations-hse-accelerated"><strong>Public key operations (HSE-accelerated):</strong></h4>

<p><img src="/assets/images/blog-image-june-4-1.png" alt="" /> <img src="/assets/images/blog-image-june-4-2.png" alt="" /> <img src="/assets/images/blog-image-june-4-3.png" alt="" /></p>

<h4 id="aes"><strong>AES:</strong></h4>

<p><img src="/assets/images/blog-image-june-4-4.png" alt="" /></p>

<h4 id="hashing-and-message-authentication"><strong>Hashing and message authentication:</strong></h4>

<p><img src="/assets/images/blog-image-june-4-5.png" alt="" /></p>

<h4 id="questions-if-you-have-questions-about-any-of-the-above-please-contact-us-at-factswolfsslcom-or-call-us-at-1-425-245-8247-download-wolfssl-now"><strong>Questions?</strong> If you have questions about any of the above, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>. <strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></h4>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><category term="wolssl" /><summary type="html"><![CDATA[wolfSSL now supports hardware-accelerated cryptography on the NXP S32K3 family using the on-chip Hardware Security Engine (HSE). The HSE is a secure coprocessor integrated into NXP’s automotive S32K3 microcontrollers.]]></summary></entry><entry><title type="html">How AI Finds Vulnerabilities in Cryptographic Libraries</title><link href="https://posts.wolfssl.com/2026/06/08/how-ai-finds-vulnerabilities-in-cryptographic-libraries/" rel="alternate" type="text/html" title="How AI Finds Vulnerabilities in Cryptographic Libraries" /><published>2026-06-08T18:00:59+00:00</published><updated>2026-06-08T18:00:59+00:00</updated><id>https://posts.wolfssl.com/2026/06/08/how-ai-finds-vulnerabilities-in-cryptographic-libraries</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/08/how-ai-finds-vulnerabilities-in-cryptographic-libraries/"><![CDATA[<p>Can AI help uncover security issues that traditional testing, fuzzing, and code review miss?</p>

<p>AI-based code analysis tools are advancing rapidly, but questions remain about their effectiveness when applied to highly reviewed security-critical software.</p>

<p><a href="https://us02web.zoom.us/webinar/register/7217805298472/WN_Zt-iBD_fR8yGJAgzzCYkwQ">Join wolfSSL and AISLE</a> on June 11 at 9 AM PT for a technical discussion on AI-assisted vulnerability discovery. AISLE will share results from applying AI-assisted analysis to curl, followed by a technical review of findings identified within the wolfSSL codebase and discussion of how those results were evaluated.</p>

<p>This webinar will cover:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Applying AI-assisted analysis to security-critical open source software

Findings identified within the wolfSSL codebase

Technical review and evaluation of selected findings

Lessons learned from applying AI to vulnerability discovery
</code></pre></div></div>

<h4 id="ask-the-experts-answer-key-questions"><strong>Ask the Experts: Answer Key Questions</strong></h4>
<p><strong>Q: Can AI find issues in software that has already undergone extensive security review?</strong>
A: Results generated from applying AI-assisted analysis to curl provide a practical example of how these tools perform on widely used security-critical software.
<strong>Q: What findings were identified within the wolfSSL codebase?</strong>
A: Findings identified through AI-assisted analysis, along with the technical evaluation used to assess their significance.
<strong>Q: How should AI-generated security findings be interpreted?</strong>
A: The process of investigating AI-generated results, distinguishing meaningful findings from noise, and understanding where human expertise remains essential.</p>

<p> 
<a href="https://us02web.zoom.us/webinar/register/7217805298472/WN_Zt-iBD_fR8yGJAgzzCYkwQ">Register now</a>: PQC Update 2026: Standards, Performance, and Migration Reality
Date: June 11 | 9 AM PT</p>

<p>See what AI analysis uncovered when applied to real-world security-critical software.</p>

<p>If you have questions about any of the above, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>.</p>

<p><strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><summary type="html"><![CDATA[Can AI help uncover security issues that traditional testing, fuzzing, and code review miss?]]></summary></entry><entry><title type="html">PQC Update 2026: Standards, Performance, and Migration Reality</title><link href="https://posts.wolfssl.com/2026/06/08/pqc-update-2026-standards-performance-and-migration-reality/" rel="alternate" type="text/html" title="PQC Update 2026: Standards, Performance, and Migration Reality" /><published>2026-06-08T15:00:45+00:00</published><updated>2026-06-08T15:00:45+00:00</updated><id>https://posts.wolfssl.com/2026/06/08/pqc-update-2026-standards-performance-and-migration-reality</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/08/pqc-update-2026-standards-performance-and-migration-reality/"><![CDATA[<p>Post-quantum cryptography is moving from planning to deployment. With NIST standards finalized, CNSA 2.0 guidance emerging, and hybrid cryptography already appearing in production environments, engineering teams are now facing practical decisions around performance, interoperability, certification, and migration strategy.</p>

<p><a href="https://us02web.zoom.us/webinar/register/5017805200302/WN_wJUEC95BTW2lq91EoNq18w">Join us</a> on June 9 at 9 AM PT for a practical update on the PQC landscape in 2026. We’ll review where standards stand today, compare real-world performance data, examine emerging deployment strategies, and discuss the challenges organizations are encountering as they begin migration efforts.</p>

<p>This webinar will cover:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>PQC standards update: NIST, CNSA 2.0, and current IETF activity

Hybrid cryptography and current deployment approaches

PQC implementation status and support across the wolfSSL ecosystem

Performance analysis: ECC vs ML-KEM and ML-DSA benchmarking results

Migration challenges, interoperability concerns, and certification considerations
</code></pre></div></div>

<p><strong>Ask the Expert: Answers the Key Questions</strong></p>

<p> 
<strong>Q: Are organizations deploying PQC today, or is it still too early?</strong>
A: Hybrid cryptography is already being deployed as organizations gain operational experience while maintaining compatibility with existing infrastructure. Early deployments are helping teams understand migration requirements before broader adoption.</p>

<p><strong>Q: How much performance impact should engineers expect from PQC?</strong>
A: ML-KEM and ML-DSA introduce different performance and resource trade-offs than traditional ECC. We’ll review benchmark data and discuss what those differences mean for real-world deployments.</p>

<p><strong>Q: How do organizations start PQC migration without breaking existing systems?</strong>
A: Most organizations are adopting hybrid approaches that combine classical and post-quantum algorithms. This allows teams to gain operational experience while maintaining compatibility with current infrastructure.</p>

<p> 
Date: June 9 | 9 AM PT
Duration: 60 minutes</p>

<p><a href="https://us02web.zoom.us/webinar/register/5017805200302/WN_wJUEC95BTW2lq91EoNq18w">Register now</a> for a practical look at the decisions, trade-offs, and challenges shaping PQC adoption in 2026.</p>

<p>As always, our webinar will include Q&amp;A throughout. If you have questions about any of the above, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 452 8247</a>.</p>

<p><strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><summary type="html"><![CDATA[Post-quantum cryptography is moving from planning to deployment. With NIST standards finalized, CNSA 2.0 guidance emerging, and hybrid cryptography already appearing in production environments, engineering teams are now facing practical decisions around performance, interoperability, certification, and migration strategy.]]></summary></entry><entry><title type="html">Are You Still Stuck on OpenSSL 1.x.y? We Can Help.</title><link href="https://posts.wolfssl.com/2026/06/05/are-you-still-stuck-on-openssl-1xy-we-can-help/" rel="alternate" type="text/html" title="Are You Still Stuck on OpenSSL 1.x.y? We Can Help." /><published>2026-06-05T21:00:50+00:00</published><updated>2026-06-05T21:00:50+00:00</updated><id>https://posts.wolfssl.com/2026/06/05/are-you-still-stuck-on-openssl-1xy-we-can-help</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/05/are-you-still-stuck-on-openssl-1xy-we-can-help/"><![CDATA[<p>Many organizations still rely on legacy versions of OpenSSL because upgrading certified or long lifecycle products is not always simple. <a href="https://www.wolfssl.com/products/wolfssl/">wolfSSL</a> provides lightweight SSL/TLS and cryptography libraries designed for modern embedded and security-focused systems. For compliance-driven environments, wolfCrypt FIPS offers FIPS 140-3 validated cryptography with TLS 1.3 support. If your team is still using OpenSSL 1.x.y, wolfSSL can help with migration and long-term support.</p>

<p>If you have questions about any of the above, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>.</p>

<p><strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><category term="fips" /><category term="wolssl" /><summary type="html"><![CDATA[Many organizations still rely on legacy versions of OpenSSL because upgrading certified or long lifecycle products is not always simple. wolfSSL provides lightweight SSL/TLS and cryptography libraries designed for modern embedded and security-focused systems. For compliance-driven environments, wolfCrypt FIPS offers FIPS 140-3 validated cryptography with TLS 1.3 support. If your team is still using OpenSSL 1.x.y, wolfSSL can help with migration and long-term support.]]></summary></entry><entry><title type="html">wolfSSL Now Runs on CHERI</title><link href="https://posts.wolfssl.com/2026/06/05/wolfssl-now-runs-on-cheri/" rel="alternate" type="text/html" title="wolfSSL Now Runs on CHERI" /><published>2026-06-05T18:00:06+00:00</published><updated>2026-06-05T18:00:06+00:00</updated><id>https://posts.wolfssl.com/2026/06/05/wolfssl-now-runs-on-cheri</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/05/wolfssl-now-runs-on-cheri/"><![CDATA[<h4 id="executive-summary"><strong>Executive Summary</strong></h4>

<p><strong>Problem</strong> : Zynq UltraScale+ MPSoC secure boot authenticates the FSBL with RSA-4096 in immutable BootROM. CNSA 2.0 requires post-quantum algorithms for long-term software and firmware verification. RSA-4096 is not quantum-resistant, so the BootROM cannot be the final CNSA 2.0 firmware-authentication answer. <strong>Solution:</strong> Use wolfBoot as the system-level post-quantum authorization layer. Keep AMD secure boot enabled, encrypt the FSBL with the device AES-GCM key, minimize the FSBL, and require wolfBoot to verify all operational firmware with LMS, XMSS, or ML-DSA-87 before execution. <strong>Result:</strong> The ZynqMP BootROM remains RSA-based, but the deployed system can enforce CNSA 2.0-aligned firmware verification before protected software, bitstreams, update authority, secrets, or mission functions are released. <strong>Important caveat:</strong> wolfBoot does not make the ZynqMP BootROM quantum-safe. If the requirement is no attacker-controlled instruction can ever execute, then a ZynqMP-only software approach is not enough; the design needs an external PQC root of trust, a pre-boot supervisor, or silicon with native PQC boot authentication.</p>

<h4 id="cnsa-20-requirement"><strong>CNSA 2.0 Requirement</strong></h4>

<p>CNSA 2.0 addresses the risk that a cryptographically relevant quantum computer could break today’s public-key algorithms. For software and firmware signing, current NSA guidance identifies these post-quantum options:</p>

<table>
  <thead>
    <tr>
      <th>Algorithm</th>
      <th>Specification</th>
      <th>Use</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>LMS</td>
      <td>NIST SP 800-208</td>
      <td>Approved for firmware/software verification.</td>
    </tr>
    <tr>
      <td>XMSS</td>
      <td>NIST SP 800-208</td>
      <td>Approved for firmware/software verification.</td>
    </tr>
    <tr>
      <td>ML-DSA-87</td>
      <td>FIPS 204</td>
      <td>AES-256 equivalent stateless signature option.</td>
    </tr>
  </tbody>
</table>

<p><strong>Implication:</strong> A boot chain that relies only on RSA-4096 cannot be the long-term CNSA 2.0 trust story. The platform needs a post-quantum signature decision that an attacker cannot bypass after defeating RSA.</p>

<h4 id="zynqmp-constraint"><strong>ZynqMP Constraint</strong></h4>

<p><strong>Immutable BootROM:</strong> The ZynqMP BootROM supports AMD secure boot with RSA authentication and AES-GCM encryption, but it does not support LMS, XMSS, or ML-DSA-87 authentication of the FSBL. <strong>Attack model:</strong> If RSA-4096 can be forged in a post-quantum scenario, RSA authentication no longer proves that the FSBL came from the device owner. An attacker may be able to create a boot image with malicious FSBL metadata and a valid-looking RSA signature. <strong>Encryption still matters:</strong> AMD’s secure-boot design can encrypt boot partitions with AES-GCM using a protected device key in eFUSE, BBRAM, or PUF-protected form. UG1085 also states that the CSU locks out the protected AES key as a runtime AES source when the FSBL is not encrypted. This helps preserve confidentiality of encrypted partitions, even if RSA authentication is no longer trustworthy. <strong>Limit:</strong> Encryption protects access to protected code and data, but it does not by itself provide post-quantum authenticity. The missing piece is a PQC authorization decision before operational software runs.</p>

<h4 id="recommended-architecture"><strong>Recommended Architecture</strong></h4>

<p>Use <a href="https://www.wolfssl.com/products/wolfboot/">wolfBoot</a> as the mandatory post-quantum boot policy stage.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ZynqMP BootROM
  -&gt; RSA-4096 authentication + AES-GCM decryption

Encrypted minimal FSBL
  -&gt; Initialize only what is needed to reach wolfBoot

wolfBoot
  -&gt; Verify LMS, XMSS, or ML-DSA signature
  -&gt; Enforce rollback and update policy

Operational firmware
  -&gt; U-Boot, Linux, RTOS, bitstreams, or application payloads
</code></pre></div></div>

<p><strong>Boot policy:</strong></p>

<ol>
  <li><strong>BootROM:</strong> Use the strongest AMD secure-boot configuration available: RSA authentication plus encrypted FSBL.</li>
  <li><strong>FSBL:</strong> Keep this stage small, static, and reviewable. Avoid placing mission policy or update authority here.</li>
  <li><strong>wolfBoot:</strong> Verify the next image using a CNSA 2.0-approved PQC signature.</li>
  <li><strong>Runtime handoff:</strong> Boot only images that pass PQC verification and rollback checks.</li>
  <li><strong>Updates:</strong> Accept only PQC-signed firmware packages with valid version metadata.</li>
</ol>

<h4 id="why-wolfboot"><strong>Why wolfBoot</strong></h4>

<p><strong>wolfBoot</strong> is a small secure bootloader built for embedded systems. It provides:</p>

<ul>
  <li><strong>PQC signatures:</strong> LMS, XMSS, ML-DSA, and hybrid options.</li>
  <li><strong>Secure update:</strong> Authenticated firmware update and fallback recovery.</li>
  <li><strong>Anti-rollback:</strong> Signed version metadata prevents downgrade attacks.</li>
  <li><strong>Small trusted code base:</strong> Easier to review than a full second-stage bootloader.</li>
  <li><strong>Flexible payload support:</strong> Bare-metal apps, U-Boot, Linux images, RTOS payloads, and other firmware.</li>
  <li><strong>TPM integration path:</strong> Useful for measured boot, sealing, and remote attestation.</li>
</ul>

<p>For ZynqMP, wolfBoot provides the post-quantum enforcement point that the BootROM cannot provide.</p>

<h4 id="security-argument"><strong>Security Argument</strong></h4>

<p><strong>Core claim:</strong> wolfBoot does not replace the BootROM. It adds a post-quantum authorization boundary after the encrypted FSBL, so protected firmware cannot run unless it carries a valid CNSA 2.0-aligned signature. <strong>What this protects:</strong></p>

<ul>
  <li><strong>Operational software</strong> such as U-Boot, Linux, RTOS images, and applications.</li>
  <li><strong>FPGA bitstreams</strong> and other protected payloads.</li>
  <li><strong>Firmware update authority</strong> and rollback policy.</li>
  <li><strong>Secrets and credentials</strong> released only after expected software is verified.</li>
  <li><strong>Remote trust decisions</strong> when paired with TPM measurement or attestation.</li>
</ul>

<p><strong>Residual risk:</strong> If RSA is defeated, an attacker may still attempt to boot an arbitrary unencrypted FSBL. AMD AES-key lockout behavior helps prevent that FSBL from using the protected device AES key to decrypt protected partitions. However, preventing any attacker-controlled FSBL from executing requires an external pre-boot enforcement point or newer silicon.</p>

<h4 id="implementation-guidance"><strong>Implementation Guidance</strong></h4>

<p><strong>FSBL scope:</strong> Keep the FSBL minimal. It should initialize memory, clocks, storage, and the handoff path to wolfBoot. Move authorization, update, rollback, and mission-policy decisions into wolfBoot. <strong>Signature selection:</strong> Prefer LMS for near-term CNSA 2.0 firmware-signing alignment. XMSS is also approved. ML-DSA-87 is attractive where stateless signing is operationally important, subject to program validation and certification needs. <strong>Stateful signing:</strong> LMS and XMSS require careful signing-state management. The production signing system must prevent one-time key reuse and should provide audit, backup, and disaster-recovery controls. <strong>Key provisioning</strong> : Protect the ZynqMP AES key through eFUSE, BBRAM, or PUF-backed flows. Store the wolfBoot PQC public key so it cannot be replaced by an attacker, for example inside the encrypted wolfBoot image or protected authenticated metadata. <strong>TPM and attestation:</strong> A TPM strengthens the design but does not independently solve the FSBL trust problem. Use TPM measurements after the wolfBoot PQC decision to support sealing, remote attestation, and network access control.</p>

<h4 id="management-positioning"><strong>Management Positioning</strong></h4>

<p><strong>Clear answer:</strong> ZynqMP silicon cannot be made natively PQC at BootROM, but wolfBoot can enforce CNSA 2.0 firmware-signing policy before operational firmware runs. <strong>Recommended message to customers:</strong></p>

<ol>
  <li>Acknowledge the ZynqMP BootROM limitation: FSBL authentication is RSA-4096.</li>
  <li>Preserve AMD secure boot: encrypted FSBL and protected AES key storage.</li>
  <li>Minimize pre-PQC code: keep the FSBL small and static.</li>
  <li>Enforce PQC with wolfBoot: LMS, XMSS, or ML-DSA-87 verification.</li>
  <li>Protect updates: anti-rollback, signed metadata, and recovery behavior.</li>
  <li>Extend with TPM or external root of trust where policy requires stronger guarantees.</li>
</ol>

<h4 id="conclusion"><strong>Conclusion</strong></h4>

<p>wolfBoot provides the missing post-quantum authorization layer for ZynqMP systems facing CNSA 2.0 requirements. The practical architecture is to use AMD secure boot and AES-GCM encryption for the earliest stage, then use wolfBoot to verify all operational firmware with LMS, XMSS, or ML-DSA-87 before execution. This approach is honest about the silicon limitation while still giving customers a viable path: keep ZynqMP, preserve AMD hardware protections, and enforce CNSA 2.0 firmware signing at the system level.</p>

<h4 id="sources"><strong>Sources</strong></h4>

<p>####</p>

<ul>
  <li><a href="https://www.nsa.gov/Press-Room/Digital-Media-Center/Document-Gallery/igphoto/2003728741/">NSA, CNSA 2.0 Cybersecurity Advisory, September 2022</a></li>
  <li><a href="https://www.nsa.gov/Press-Room/Digital-Media-Center/Document-Gallery/igphoto/2003071836/">NSA, CNSA 2.0 FAQ, December 2024 update</a></li>
  <li><a href="https://www.nsa.gov/Portals/75/documents/CSfC%20CP%20Updates%202026/%28U%29%20Multi-Site%20Connectivity%20Capability%20Package%20v1.3.0.pdf">NSA CSfC, Multi-Site Connectivity Capability Package v1.3.0, Section 5.13</a></li>
  <li><a href="https://docs.amd.com/r/2020.2-English/ug1137-zynq-ultrascale-mpsoc-swdev/Encryption">AMD, Zynq UltraScale+ MPSoC Software Developer Guide UG1137, Encryption</a></li>
  <li><a href="https://www.wolfssl.com/products/wolfboot/">wolfSSL, wolfBoot Secure Bootloader</a></li>
  <li><a href="https://www.wolfssl.com/documentation/manuals/wolfboot/appendix08.html">wolfSSL, wolfBoot Manual: Post-Quantum Signatures</a></li>
</ul>

<p>If you have questions about any of the above, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>. <strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><category term="wolssl" /><summary type="html"><![CDATA[Executive Summary]]></summary></entry><entry><title type="html">wolfBoot for CNSA 2.0 Secure Boot on Zynq UltraScale+ MPSoC</title><link href="https://posts.wolfssl.com/2026/06/05/wolfboot-for-cnsa-20-secure-boot-on-zynq-ultrascale-mpsoc/" rel="alternate" type="text/html" title="wolfBoot for CNSA 2.0 Secure Boot on Zynq UltraScale+ MPSoC" /><published>2026-06-05T15:00:35+00:00</published><updated>2026-06-05T15:00:35+00:00</updated><id>https://posts.wolfssl.com/2026/06/05/wolfboot-for-cnsa-20-secure-boot-on-zynq-ultrascale-mpsoc</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/05/wolfboot-for-cnsa-20-secure-boot-on-zynq-ultrascale-mpsoc/"><![CDATA[<h4 id="executive-summary"><strong>Executive Summary</strong></h4>
<p><strong>Problem</strong>: Zynq UltraScale+ MPSoC secure boot authenticates the FSBL with RSA-4096 in immutable BootROM. CNSA 2.0 requires post-quantum algorithms for long-term software and firmware verification. RSA-4096 is not quantum-resistant, so the BootROM cannot be the final CNSA 2.0 firmware-authentication answer.</p>

<p><strong>Solution:</strong> Use wolfBoot as the system-level post-quantum authorization layer. Keep AMD secure boot enabled, encrypt the FSBL with the device AES-GCM key, minimize the FSBL, and require wolfBoot to verify all operational firmware with LMS, XMSS, or ML-DSA-87 before execution.</p>

<p><strong>Result:</strong> The ZynqMP BootROM remains RSA-based, but the deployed system can enforce CNSA 2.0-aligned firmware verification before protected software, bitstreams, update authority, secrets, or mission functions are released.</p>

<p><strong>Important caveat:</strong> wolfBoot does not make the ZynqMP BootROM quantum-safe. If the requirement is no attacker-controlled instruction can ever execute, then a ZynqMP-only software approach is not enough; the design needs an external PQC root of trust, a pre-boot supervisor, or silicon with native PQC boot authentication.</p>

<h4 id="cnsa-20-requirement"><strong>CNSA 2.0 Requirement</strong></h4>
<p>CNSA 2.0 addresses the risk that a cryptographically relevant quantum computer could break today’s public-key algorithms. For software and firmware signing, current NSA guidance identifies these post-quantum options:</p>

<p><strong>Algorithm</strong>
<strong>Specification</strong>
<strong>Use</strong></p>

<p>LMS
NIST SP 800-208
Approved for firmware/software verification.</p>

<p>XMSS
NIST SP 800-208
Approved for firmware/software verification.</p>

<p>ML-DSA-87
FIPS 204
AES-256 equivalent  stateless signature option.</p>

<p><strong>Implication:</strong> A boot chain that relies only on RSA-4096 cannot be the long-term CNSA 2.0 trust story. The platform needs a post-quantum signature decision that an attacker cannot bypass after defeating RSA.</p>

<h4 id="zynqmp-constraint"><strong>ZynqMP Constraint</strong></h4>
<p><strong>Immutable BootROM:</strong> The ZynqMP BootROM supports AMD secure boot with RSA authentication and AES-GCM encryption, but it does not support LMS, XMSS, or ML-DSA-87 authentication of the FSBL.</p>

<p><strong>Attack model:</strong> If RSA-4096 can be forged in a post-quantum scenario, RSA authentication no longer proves that the FSBL came from the device owner. An attacker may be able to create a boot image with malicious FSBL metadata and a valid-looking RSA signature.</p>

<p><strong>Encryption still matters:</strong> AMD’s secure-boot design can encrypt boot partitions with AES-GCM using a protected device key in eFUSE, BBRAM, or PUF-protected form. UG1085 also states that the CSU locks out the protected AES key as a runtime AES source when the FSBL is not encrypted. This helps preserve confidentiality of encrypted partitions, even if RSA authentication is no longer trustworthy.</p>

<p><strong>Limit:</strong> Encryption protects access to protected code and data, but it does not by itself provide post-quantum authenticity. The missing piece is a PQC authorization decision before operational software runs.</p>

<h4 id="recommended-architecture"><strong>Recommended Architecture</strong></h4>
<p>Use <a href="https://www.wolfssl.com/products/wolfboot/">wolfBoot</a> as the mandatory post-quantum boot policy stage.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
ZynqMP BootROM
  -&gt; RSA-4096 authentication + AES-GCM decryption

Encrypted minimal FSBL
  -&gt; Initialize only what is needed to reach wolfBoot

wolfBoot
  -&gt; Verify LMS, XMSS, or ML-DSA signature
  -&gt; Enforce rollback and update policy

Operational firmware
  -&gt; U-Boot, Linux, RTOS, bitstreams, or application payloads

</code></pre></div></div>

<p><strong>Boot policy:</strong></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>**BootROM:** Use the strongest AMD secure-boot configuration available: RSA authentication plus encrypted FSBL.

**FSBL:** Keep this stage small, static, and reviewable. Avoid placing mission policy or update authority here.

**wolfBoot:** Verify the next image using a CNSA 2.0-approved PQC signature.

**Runtime handoff:** Boot only images that pass PQC verification and rollback checks.

**Updates:** Accept only PQC-signed firmware packages with valid version metadata.
</code></pre></div></div>

<h4 id="why-wolfboot"><strong>Why wolfBoot</strong></h4>
<p><strong>wolfBoot</strong> is a small secure bootloader built for embedded systems. It provides:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>**PQC signatures:** LMS, XMSS, ML-DSA, and hybrid options.

**Secure update:** Authenticated firmware update and fallback recovery.

**Anti-rollback:** Signed version metadata prevents downgrade attacks.

**Small trusted code base:** Easier to review than a full second-stage bootloader.

**Flexible payload support:** Bare-metal apps, U-Boot, Linux images, RTOS payloads, and other firmware.

**TPM integration path:** Useful for measured boot, sealing, and remote attestation.
</code></pre></div></div>

<p>For ZynqMP, wolfBoot provides the post-quantum enforcement point that the BootROM cannot provide.</p>

<h4 id="security-argument"><strong>Security Argument</strong></h4>
<p><strong>Core claim:</strong> wolfBoot does not replace the BootROM. It adds a post-quantum authorization boundary after the encrypted FSBL, so protected firmware cannot run unless it carries a valid CNSA 2.0-aligned signature.</p>

<p><strong>What this protects:</strong></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>**Operational software** such as U-Boot, Linux, RTOS images, and applications.

**FPGA bitstreams** and other protected payloads.

**Firmware update authority** and rollback policy.

**Secrets and credentials** released only after expected software is verified.

**Remote trust decisions** when paired with TPM measurement or attestation.
</code></pre></div></div>

<p><strong>Residual risk:</strong> If RSA is defeated, an attacker may still attempt to boot an arbitrary unencrypted FSBL. AMD AES-key lockout behavior helps prevent that FSBL from using the protected device AES key to decrypt protected partitions. However, preventing any attacker-controlled FSBL from executing requires an external pre-boot enforcement point or newer silicon.</p>

<h4 id="implementation-guidance"><strong>Implementation Guidance</strong></h4>
<p><strong>FSBL scope:</strong> Keep the FSBL minimal. It should initialize memory, clocks, storage, and the handoff path to wolfBoot. Move authorization, update, rollback, and mission-policy decisions into wolfBoot.</p>

<p><strong>Signature selection:</strong> Prefer LMS for near-term CNSA 2.0 firmware-signing alignment. XMSS is also approved. ML-DSA-87 is attractive where stateless signing is operationally important, subject to program validation and certification needs.</p>

<p><strong>Stateful signing:</strong> LMS and XMSS require careful signing-state management. The production signing system must prevent one-time key reuse and should provide audit, backup, and disaster-recovery controls.</p>

<p><strong>Key provisioning</strong>: Protect the ZynqMP AES key through eFUSE, BBRAM, or PUF-backed flows. Store the wolfBoot PQC public key so it cannot be replaced by an attacker, for example inside the encrypted wolfBoot image or protected authenticated metadata.</p>

<p><strong>TPM and attestation:</strong> A TPM strengthens the design but does not independently solve the FSBL trust problem. Use TPM measurements after the wolfBoot PQC decision to support sealing, remote attestation, and network access control.</p>

<h4 id="management-positioning"><strong>Management Positioning</strong></h4>
<p><strong>Clear answer:</strong> ZynqMP silicon cannot be made natively PQC at BootROM, but wolfBoot can enforce CNSA 2.0 firmware-signing policy before operational firmware runs.</p>

<p><strong>Recommended message to customers:</strong></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Acknowledge the ZynqMP BootROM limitation: FSBL authentication is RSA-4096.

Preserve AMD secure boot: encrypted FSBL and protected AES key storage.

Minimize pre-PQC code: keep the FSBL small and static.

Enforce PQC with wolfBoot: LMS, XMSS, or ML-DSA-87 verification.

Protect updates: anti-rollback, signed metadata, and recovery behavior.

Extend with TPM or external root of trust where policy requires stronger guarantees.
</code></pre></div></div>

<h4 id="conclusion"><strong>Conclusion</strong></h4>
<p>wolfBoot provides the missing post-quantum authorization layer for ZynqMP systems facing CNSA 2.0 requirements. The practical architecture is to use AMD secure boot and AES-GCM encryption for the earliest stage, then use wolfBoot to verify all operational firmware with LMS, XMSS, or ML-DSA-87 before execution.</p>

<p>This approach is honest about the silicon limitation while still giving customers a viable path: keep ZynqMP, preserve AMD hardware protections, and enforce CNSA 2.0 firmware signing at the system level.</p>

<p><strong>Sources</strong></p>

<p><a href="https://www.nsa.gov/Press-Room/Digital-Media-Center/Document-Gallery/igphoto/2003728741/">NSA, CNSA 2.0 Cybersecurity Advisory, September 2022</a>
<a href="https://www.nsa.gov/Press-Room/Digital-Media-Center/Document-Gallery/igphoto/2003071836/">NSA, CNSA 2.0 FAQ, December 2024 update</a>
<a href="https://www.nsa.gov/Portals/75/documents/CSfC%20CP%20Updates%202026/%28U%29%20Multi-Site%20Connectivity%20Capability%20Package%20v1.3.0.pdf">NSA CSfC, Multi-Site Connectivity Capability Package v1.3.0, Section 5.13</a>
<a href="https://docs.amd.com/r/2020.2-English/ug1137-zynq-ultrascale-mpsoc-swdev/Encryption">AMD, Zynq UltraScale+ MPSoC Software Developer Guide UG1137, Encryption</a>
<a href="https://www.wolfssl.com/products/wolfboot/">wolfSSL, wolfBoot Secure Bootloader</a>
<a href="https://www.wolfssl.com/documentation/manuals/wolfboot/appendix08.html">wolfSSL, wolfBoot Manual: Post-Quantum Signatures</a></p>

<p>If you have questions about any of the above, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>.</p>

<p><strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="post-quantum" /><category term="uncategorized" /><category term="wolfboot" /><summary type="html"><![CDATA[Executive Summary Problem: Zynq UltraScale+ MPSoC secure boot authenticates the FSBL with RSA-4096 in immutable BootROM. CNSA 2.0 requires post-quantum algorithms for long-term software and firmware verification. RSA-4096 is not quantum-resistant, so the BootROM cannot be the final CNSA 2.0 firmware-authentication answer.]]></summary></entry><entry><title type="html">wolfBoot Now Supports the NXP Kinetis KL26 with Post-Quantum LMS Signatures</title><link href="https://posts.wolfssl.com/2026/06/04/wolfboot-now-supports-the-nxp-kinetis-kl26-with-post-quantum-lms-signatures/" rel="alternate" type="text/html" title="wolfBoot Now Supports the NXP Kinetis KL26 with Post-Quantum LMS Signatures" /><published>2026-06-04T21:00:22+00:00</published><updated>2026-06-04T21:00:22+00:00</updated><id>https://posts.wolfssl.com/2026/06/04/wolfboot-now-supports-the-nxp-kinetis-kl26-with-post-quantum-lms-signatures</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/04/wolfboot-now-supports-the-nxp-kinetis-kl26-with-post-quantum-lms-signatures/"><![CDATA[<p>wolfSSL is pleased to announce that wolfBoot, our secure bootloader, now ships with support for the <strong>NXP Kinetis KL26</strong> family (MKL26Z128), a Cortex-M0+ part running at 48 MHz with 128 KB of flash and 16 KB of SRAM. The port has been validated on the FRDM-KL26Z development board.</p>

<h4 id="post-quantum-secure-boot-on-a-cost-constrained-part"><strong>Post-Quantum Secure Boot on a Cost-Constrained Part</strong></h4>

<p>Embedded devices manufactured today will be in the field when large-scale quantum computers arrive. The signature algorithm chosen for the boot chain at manufacturing time effectively decides whether firmware updates can still be trusted a decade later. The KL26 is a deliberately constrained target for that conversation: a Cortex-M0+ at 48 MHz with 128 KB of flash, 16 KB of SRAM, no DSP instructions, no TrustZone, and no crypto accelerator. If post-quantum secure boot can run there, it can run on most of the embedded fleet that already ships. The KL26 port includes a working configuration based on <strong>LMS</strong> (Leighton-Micali Signatures, RFC 8554, NIST SP 800-208), one of the two NIST-approved stateful hash-based post-quantum signature schemes.</p>

<h4 id="whats-in-the-port"><strong>What’s in the Port</strong></h4>

<p>Three example configurations ship with the port:</p>

<ul>
  <li>kinetis-kl26.config – ECC256 over SHA256 (classical signatures)</li>
  <li>kinetis-kl26-lms.config – LMS over SHA256 with the production parameters L=1, H=20, W=8 (1,048,576 lifetime signatures, 1776-byte signature, multi-minute initial keygen)</li>
  <li>kinetis-kl26-lms-small.config – LMS with L=1, H=10, W=8 (1,024 signatures, 1,456-byte signature, sub-second keygen) for development and other situations where the H=20 cost is not warranted.</li>
</ul>

<p>All three have been exercised end-to-end on hardware, including the firmware update protocol with a v2 signed image, partition swap, and rollback verification.</p>

<h4 id="resource-footprint-on-the-chip"><strong>Resource Footprint on the Chip</strong></h4>

<p>Measurements taken on the FRDM-KL26Z:</p>

<table>
  <thead>
    <tr>
      <th>Resource</th>
      <th>ECC256 + SHA256</th>
      <th>LMS (1, 20, 8) + SHA256</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Bootloader code</td>
      <td>24.3 KB</td>
      <td>14.9 KB</td>
    </tr>
    <tr>
      <td>Static RAM (bss+data)</td>
      <td>1.3 KB</td>
      <td>4.3 KB</td>
    </tr>
    <tr>
      <td>Peak stack during verify</td>
      <td>6.4 KB</td>
      <td>1.4 KB</td>
    </tr>
    <tr>
      <td>Peak total RAM</td>
      <td>7.7 KB</td>
      <td>5.7 KB</td>
    </tr>
    <tr>
      <td>Signature size in image</td>
      <td>64 B</td>
      <td>1776 B</td>
    </tr>
  </tbody>
</table>

<p>Notably, LMS comes in lighter than ECC256 on both code size and peak stack: its iterative SHA256 hashing has a smaller per-frame working set than ECC’s big-number Montgomery routines, and the verifier itself is more compact. The ~3KB ECC advantage in static RAM is a layout consequence: LMS forces 4KB logical sectors to fit its larger image header, which sizes wolfBoot’s NVM_CACHE buffer accordingly.</p>

<h4 id="try-it"><strong>Try It</strong></h4>

<p>Documentation for the KL26 port is in docs/Targets.md under the “NXP Kinetis KL26Z” section, including SDK setup, OpenSDA-to-J-Link reflash instructions, and a full firmware-update walkthrough. For questions, custom integration work, or other targets, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>. <strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><category term="wolfboot" /><summary type="html"><![CDATA[wolfSSL is pleased to announce that wolfBoot, our secure bootloader, now ships with support for the NXP Kinetis KL26 family (MKL26Z128), a Cortex-M0+ part running at 48 MHz with 128 KB of flash and 16 KB of SRAM. The port has been validated on the FRDM-KL26Z development board.]]></summary></entry><entry><title type="html">wolfCOSE: CBOR and COSE on FIPS-Validated wolfCrypt: Announcing wolfCOSE for wolfCrypt</title><link href="https://posts.wolfssl.com/2026/06/04/wolfcose-cbor-and-cose-on-fips-validated-wolfcrypt-announcing-wolfcose-for-wolfcrypt/" rel="alternate" type="text/html" title="wolfCOSE: CBOR and COSE on FIPS-Validated wolfCrypt: Announcing wolfCOSE for wolfCrypt" /><published>2026-06-04T18:00:35+00:00</published><updated>2026-06-04T18:00:35+00:00</updated><id>https://posts.wolfssl.com/2026/06/04/wolfcose-cbor-and-cose-on-fips-validated-wolfcrypt-announcing-wolfcose-for-wolfcrypt</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/04/wolfcose-cbor-and-cose-on-fips-validated-wolfcrypt-announcing-wolfcose-for-wolfcrypt/"><![CDATA[<p>We are excited to announce wolfCOSE for wolfCrypt. It is a zero-allocation C library that implements CBOR (RFC 8949) and COSE (RFC 9052/9053). All six COSE message types are supported: Sign1, Sign, Encrypt0, Encrypt, Mac0, and Mac. Multi-signer, multi-recipient, and countersignature variants are included. Cryptographic operations use wolfCrypt under CMVP <a href="https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4718">certificate #4718</a>. That gives COSE a direct path to FIPS 140-3.</p>

<h4 id="post-quantum-built-in"><strong>Post-Quantum Built In</strong></h4>

<p>wolfCOSE is the only embedded C COSE library with native post-quantum signatures. ML-DSA (FIPS 204) at all three security levels (ML-DSA-44, ML-DSA-65, ML-DSA-87) is built in, not patched on. The COSE ML-DSA draft is at the RFC Editor queue. Algorithm IDs -48, -49, -50 track toward standardization.</p>

<h4 id="40-algorithms-all-six-cose-types"><strong>40 Algorithms, All Six COSE Types</strong></h4>

<table>
  <thead>
    <tr>
      <th>Category</th>
      <th>Algorithms</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Signing</td>
      <td>ES256/384/512, EdDSA (Ed25519, Ed448), PS256/384/512, ML-DSA-44/65/87</td>
    </tr>
    <tr>
      <td>Encryption</td>
      <td>AES-GCM (128/192/256), ChaCha20-Poly1305*, AES-CCM (8 variants)</td>
    </tr>
    <tr>
      <td>MAC</td>
      <td>HMAC-SHA256/384/512, AES-MAC (128/256, 64/128)</td>
    </tr>
    <tr>
      <td>Key Distribution</td>
      <td>Direct, AES Key Wrap (128/192/256), ECDH-ES+HKDF</td>
    </tr>
  </tbody>
</table>

<ul>
  <li>ChaCha20-Poly1305 is available in wolfCOSE but is not FIPS-approved. AES-GCM is the FIPS-compliant AEAD path.</li>
</ul>

<p>The full algorithm set compiles at 25.6 KB .text. A minimal Sign1+ECC build is 7.5 KB, with zero .data and zero .bss.</p>

<h4 id="fits-embedded-targets"><strong>Fits Embedded Targets</strong></h4>

<p>wolfCOSE uses no dynamic allocation. Every API takes caller-provided buffers. Stack crypto material is zeroized on every exit. A full COSE lifecycle (key decode, sign, encode, verify) runs in under 1 KB RAM. The library is MISRA C:2012 and C:2023 checked. CI runs Coverity, ASan, UBSan, and 15 workflows including a nightly wolfSSL-versions compatibility matrix. Code coverage is 99.3% on wolfcose.c and 100% on wolfcose_cbor.c.</p>

<h4 id="built-on-wolfcrypt"><strong>Built on wolfCrypt</strong></h4>

<p>wolfCOSE’s sole dependency is wolfCrypt. That is the same FIPS 140-3 validated core (#4718) used across the wolfSSL product line. wolfCOSE firmware manifests can be verified by wolfBoot during secure boot. COSE-encrypted IoT messages can flow through wolfMQTT. The full stack sits within the Full Linux FIPS programme, all under the same wolfCrypt FIPS boundary. wolfCOSE includes a purpose-built CBOR engine (502 lines, 2.7 KB .text). No second CBOR library is needed.</p>

<h4 id="build-instructions"><strong>Build Instructions</strong></h4>

<p>wolfCOSE requires wolfSSL 5.8.0 or later. Build wolfSSL first:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># wolfSSL with ECC + AES-GCM + SHA-384/512 + keygen
./configure --enable-ecc --enable-aesgcm \
            --enable-sha384 --enable-sha512 --enable-keygen
make &amp;&amp; sudo make install
</code></pre></div></div>

<p>For PQC support, add –enable-mldsa. Then build wolfCOSE:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://github.com/wolfSSL/wolfCOSE
</code></pre></div></div>

<p>Get wolfCOSE on GitHub at <a href="http://github.com/wolfSSL/wolfCOSE">github.com/wolfSSL/wolfCOSE</a>. The library is GPLv3 or commercial. Contact <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> for production support or an official wolfSSL product commitment.</p>

<p>If you have questions about any of the above, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>. <strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><category term="wolfcose" /><summary type="html"><![CDATA[We are excited to announce wolfCOSE for wolfCrypt. It is a zero-allocation C library that implements CBOR (RFC 8949) and COSE (RFC 9052/9053). All six COSE message types are supported: Sign1, Sign, Encrypt0, Encrypt, Mac0, and Mac. Multi-signer, multi-recipient, and countersignature variants are included. Cryptographic operations use wolfCrypt under CMVP certificate #4718. That gives COSE a direct path to FIPS 140-3.]]></summary></entry><entry><title type="html">SPDM Support for the wolfTPM Firmware TPM (fTPM)</title><link href="https://posts.wolfssl.com/2026/06/04/spdm-support-for-the-wolftpm-firmware-tpm-ftpm/" rel="alternate" type="text/html" title="SPDM Support for the wolfTPM Firmware TPM (fTPM)" /><published>2026-06-04T15:00:58+00:00</published><updated>2026-06-04T15:00:58+00:00</updated><id>https://posts.wolfssl.com/2026/06/04/spdm-support-for-the-wolftpm-firmware-tpm-ftpm</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/04/spdm-support-for-the-wolftpm-firmware-tpm-ftpm/"><![CDATA[<p><a href="https://www.wolfssl.com/products/wolftpm/">wolfTPM’s firmware TPM (fTPM)</a> now includes an SPDM responder in fwtpm_server, adding an authenticated, encrypted transport between a host and the software TPM 2.0. It supports both TCG certificate mode and DMTF DSP0274 pre-shared-key (PSK) mode, and is merged in <a href="https://github.com/wolfSSL/wolfTPM/pull/510">PR #510</a>.</p>

<h4 id="a-tpm-for-environments-without-hardware-tpm-support"><strong>A TPM for Environments Without Hardware TPM Support</strong></h4>

<p>The fTPM is a full software TPM 2.0 built on wolfCrypt. It exists for the systems where a discrete TPM chip is not an option: spacecraft and aerospace avionics, under-hood and high-vibration automotive electronics, and other thermal, radiation, or mechanical extremes that fall outside the ratings of a packaged TPM, as well as devices that simply ship without TPM silicon. In those systems, the TPM runs as software on a qualified SoC or companion MCU.</p>

<h4 id="an-authenticated-encrypted-link-to-the-tpm"><strong>An Authenticated, Encrypted Link to the TPM</strong></h4>

<p>When the TPM is software reachable over an internal bus or socket, SPDM (DMTF DSP0274) authenticates the endpoint and wraps every command and response in an encrypted, integrity-protected session. For a firmware TPM in a safety-critical system, that raises the assurance level of the link: the TPM answers an authenticated session rather than anything that can reach the bus. SPDM layers on top of the TPM’s own protections rather than replacing them.</p>

<h4 id="tcg-certificate-and-psk-modes"><strong>TCG Certificate and PSK Modes</strong></h4>

<p>The responder is exposed through the wolfSPDM_Resp* API and driven by the fTPM server. It negotiates SPDM 1.3 with Algorithm Set B (P-384, SHA-384, AES-256-GCM) and implements the full handshake in both modes: version, capability, and algorithm negotiation; the TCG certificate KEY_EXCHANGE / FINISH using a P-384 identity key generated at startup; the DSP0274 PSK exchange; the encrypted secured envelope; and VENDOR_DEFINED tunneling of TPM 2.0 commands. Vendor wire-format adapters for Nuvoton and Nations are available, with a runtime –vendor switch for dual-vendor builds.</p>

<p>Once SPDM-only mode is locked, the responder rejects plaintext TPM 2.0 frames with TPM_RC_DISABLED, matching how real Nuvoton and Nations silicon behave, so no unauthenticated command reaches the TPM.</p>

<h4 id="building-and-testing"><strong>Building and Testing</strong></h4>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>
./configure --enable-fwtpm --enable-spdm --enable-tcg --enable-psk
# optional vendor wire-format adapters:
#   --enable-nuvoton  --enable-nations   (runtime --vendor switch)

</code></pre></div></div>

<p>CI exercises the responder in software and on hardware. spdm-test.yml runs 8 build-only configurations plus 2 end-to-end modes, and the responder unit tests drive the requester and responder back-to-back across PSK, TCG, TCG+PSK, Nuvoton, and Nations. hw-spdm-test.yml keeps coverage on real silicon, so the same handshake runs in software and against hardware.</p>

<p>wolfTPM is dual-licensed (GPLv2+ or commercial); the source is in the public <a href="https://github.com/wolfSSL/wolfTPM">wolfSSL/wolfTPM</a> repository.</p>

<p>If you have questions about any of the above, please contact us at <a href="mailto:facts@wolfssl.com">facts@wolfssl.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>.</p>

<p><strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><category term="wolftpm" /><summary type="html"><![CDATA[wolfTPM’s firmware TPM (fTPM) now includes an SPDM responder in fwtpm_server, adding an authenticated, encrypted transport between a host and the software TPM 2.0. It supports both TCG certificate mode and DMTF DSP0274 pre-shared-key (PSK) mode, and is merged in PR #510.]]></summary></entry><entry><title type="html">wolfHSM Now Supports the Infineon AURIX™ TC4xx</title><link href="https://posts.wolfssl.com/2026/06/03/wolfhsm-now-supports-the-infineon-aurix-tc4xx/" rel="alternate" type="text/html" title="wolfHSM Now Supports the Infineon AURIX™ TC4xx" /><published>2026-06-03T20:00:02+00:00</published><updated>2026-06-03T20:00:02+00:00</updated><id>https://posts.wolfssl.com/2026/06/03/wolfhsm-now-supports-the-infineon-aurix-tc4xx</id><content type="html" xml:base="https://posts.wolfssl.com/2026/06/03/wolfhsm-now-supports-the-infineon-aurix-tc4xx/"><![CDATA[<p>We’re excited to announce that <a href="https://www.wolfssl.com/products/wolfhsm">wolfHSM</a> now supports <strong>Infineon’s AURIX™ TC4xx</strong>. We have wolfHSM running on the TC4xx, and an initial release is coming soon.</p>

<p>This brings wolfSSL’s portable, open-source HSM framework to Infineon’s next-generation AURIX platform, the successor to the widely deployed TC3xx family.</p>

<h4 id="why-aurix-tc4xx"><strong>Why AURIX TC4xx?</strong></h4>
<p>Infineon’s AURIX™ TC4xx is the next generation of the TriCore family, purpose-built for the most demanding automotive and industrial workloads — from electrification and ADAS to next-generation ECUs and gateways. It pairs high-performance multicore TriCore processing with functional safety and a dedicated, hardware-isolated HSM core for security. That combination of performance, safety, and built-in secure processing makes the TC4xx an ideal foundation for a modern, hardware-backed HSM application — and a natural next home for wolfHSM.</p>

<h4 id="built-on-a-proven-foundation"><strong>Built on a Proven Foundation</strong></h4>
<p>The TC4xx port is aligned with our field-proven TC3xx port. That means the same client-server architecture, the same wolfCrypt-backed cryptography, and the same developer experience teams already know from TC3xx — now carried forward to the new silicon.</p>

<p>If you’re familiar with wolfHSM on the AURIX TC3xx, you’ll feel right at home. The wolfHSM server runs on the secure HSM core, and your TriCore application links against the wolfHSM client library to offload all sensitive cryptographic operations to the HSM core as remote procedure calls — with no additional logic required in your application. Sensitive data never leaves the HSM’s isolated memory.</p>

<h4 id="why-wolfhsm-on-tc4xx"><strong>Why wolfHSM on TC4xx?</strong></h4>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>**Automotive HSM use cases:** secure boot, key storage, secure diagnostics, and OTA updates.

**Industrial HSM environments:** factory provisioning, secure communications, and machine authentication.

**Crypto agility and post-quantum readiness:** leverage any algorithm wolfCrypt supports, including post-quantum options like ML-DSA, ML-KEM, LMS, and XMSS — all under the protection of the HSM core.

**No vendor lock-in:** an open-source foundation you can tailor to your exact use case, with a roadmap toward FIPS 140-3 and CNSA 2.0 compliance.
</code></pre></div></div>

<h4 id="whats-next-wolfboot"><strong>What’s Next: wolfBoot</strong></h4>
<p>The wolfHSM port is just the first step. Next up, we’re bringing <a href="https://www.wolfssl.com/products/wolfboot/">wolfBoot</a> to the TC4xx, mirroring the complete solution we already deliver on the TC3xx. With wolfBoot and the wolfHSM server running together on the AURIX HSM core, the entire boot chain gains a hardware-backed root of trust — only cryptographically authenticated firmware runs, across both the HSM and TriCore domains.</p>

<h4 id="want-in"><strong>Want In?</strong></h4>
<p>With wolfHSM support for the AURIX TC4xx and wolfBoot on the way, we’d love to hear from teams building their next platform on it. Interested in early access or collaboration?</p>

<p>If you have questions about any of the above, please reach out to us at <a href="mailto:facts@wolfssl.com">facts@wolfSSL.com</a> or call us at <a href="tel:14252458247">+1 425 245 8247</a>.</p>

<p><strong><a href="https://www.wolfssl.com/download/">Download</a> wolfSSL Now</strong></p>]]></content><author><name>shizuka</name></author><category term="uncategorized" /><category term="wolfboot" /><category term="wolfhsm" /><summary type="html"><![CDATA[We’re excited to announce that wolfHSM now supports Infineon’s AURIX™ TC4xx. We have wolfHSM running on the TC4xx, and an initial release is coming soon.]]></summary></entry></feed>