RSA eFUSE registration is covered in detail in Programming eFUSEs for AES and RSA Cryptographic Functions in the Programming BBRAM and RSA_EN eFUSEs [Ref 3] , so only a summary pertaining to this application note is covered here.
1. Right-click on the platform.spr that is located under ZCU102_XAPP1333 platform in the Explorer view and click Open .
2. Select Board Support Package under standalone on psu_cortexa53_0 in the platform view that just opened and select Libraries tab in Operating Systems section.
3. Scroll to the bottom of the libraries tab and click Import Examples for the xilskey library.
4. Check the xilskey_efuseps_zynqmp_example project and click OK . This adds the associated project to your workspace.
5. Open the xilskey_efuseps_zynqmp_input.h file in the src folder under the fully expanded xilskey_efuseps_zynqmp_example_1_system in the Project Explorer tab.
6. Change the definition of XSK_EFUSEPS_RSA_ENABLE to TRUE . This permanently forces the use of RSA authentication.
7. Change the definition of XSK_EFUSEPS_PPK0_WR_LOCK to TRUE . This prevents any modifications to the PPK0 hash stored in eFUSEs.
The first set of settings are shown in the figure below:
8. In the next section of the configuration, change the definition of XSK_EFUSEPS_WRITE_PPK0_HASH to TRUE .
9. Change the definition of XSK_EFUSEPS_PPK0_HASH to the value stored in sha3.txt that was created by bootgen (or copied form the Keys directory) from the previous section.
The second set of settings are shown in This Figure . These settings using the examples keys are included in the design files in the xilskey_efuseps_zynqmp_input.h file in the rsa_registration folder. The second RSA authentication key (PPK1) is not written for this application note but it can be done by changing the value of XSK_EFUSEPS_PPK1_WR_LOCK and XSK_EFUSEPS_PPK1_HASH .
10. To save changes to xilskey_efuseps_zynqmp_input.h click File -> Save in the main toolbar.