A method, an integrated circuit and a system for implementing a secure
chain of trust is disclosed. While executing secure boot code in a secure
boot mode, less-secure boot code may be authenticated using a secret key.
A secure key may also be calculated or generated during the secure boot
mode. After control is turned over to the authenticated less-secure boot
code, at least one application may be authenticated using the secure key.
Once authenticated in the less-secure boot mode, the application may be
executed by the programmable integrated circuit. In this manner, a secure
chain of trust may be implemented for the programmable integrated
circuit.