Using HSM Mode - Using HSM Mode - 2026.1 English - UG1283

Bootgen User Guide (UG1283)

Document ID
UG1283
Release Date
2026-06-23
Version
2026.1 English
Note: Bootgen's Authenticated JTAG (AuthJTAG) HSM flow is supported on all Versal device families — Versal adaptive SoC, Versal AI Edge Series Gen 2, and Versal Prime Series Gen 2.

In current cryptography, all the algorithms are public, so it becomes critical to protect the private/secret key. The hardware security module (HSM) specifically protects the crypto key lifecycle and serves as a dedicated crypto-processing device. This module increases key handling security because it passes only public keys to Bootgen, not private or secure keys.

In some organizations, an infosec staff is responsible for the production release of a secure embedded product. The infosec staff might use the HSM for digital signatures and a separate secure server for encryption. The HSM and secure server typically reside in a secure area. The HSM is a secure key/signature generation device that generates private keys, signs the partitions using the private key, and provides the public part of the RSA key to Bootgen. The private keys reside in the HSM only.

In HSM mode, Bootgen uses only public keys and the signatures the HSM created to generate the boot image. The HSM accepts hash values of partitions generated by Bootgen and returns a signature block, based on the hash and the secret key.

In contrast to the HSM mode, Bootgen in its Standard mode uses AES encryption keys and the Secret keys provided through the BIF file, to encrypt and authenticate the partitions in the image, respectively. We output a single boot image that we encrypt and authenticate. For authentication, you have to provide both sets of public and private/secret keys. Bootgen uses the private/secret keys to sign the partitions and create signatures. The build process embeds these signatures along with the public keys into the final boot image.

For more information about the HSM mode for FPGAs, see the HSM Mode.

Using Advanced Key Management Options

The public keys associated with the private keys are ppk.pub and spk.pub. The HSM accepts hash values of partitions generated by Bootgen and returns a signature block, based on the hash and the secret key.

Note: Bootgen does not support the HSM flow with MCS-format boot images. Bootgen cannot parse .mcs files as input (it returns 'Parsing mcs format file is not supported'), and the HSM flow requires consuming intermediate boot images produced by earlier stages. Use the default .bin output throughout all HSM stages, and only convert the final assembled boot image to MCS (if needed) as a last step.