Patent ID: 7783897

Claim:
A programmable logic device, comprising: a programmable array of logic elements which when loaded with a configuration program is operable to perform a process in accordance with a configuration of the logic elements by the configuration program; and a hardware decryption processor including a register having stored therein a first secret configuration key, and a non-volatile store arranged to store the configuration program which has been encrypted with the first secret configuration key, wherein the configuration program includes therein the first secret configuration key, and the hardware decryption processor is operable, when power is applied to the programmable logic device, to read the encrypted configuration program, to decrypt the encrypted configuration program using the first secret configuration key stored in the register, and to configure the programmable array of logic elements with the configuration program, the programmable array when configured with the configuration program being operable to read the encrypted configuration program from the non-volatile store, to decrypt the configuration program using the first secret configuration key provided with the configuration program, to generate a second secret key, to adapt the configuration program by inserting the second secret key into the configuration program, to re-encrypt the adapted configuration program using the first secret configuration key, and to replace the configuration program with the adapted and encrypted configuration program in the non-volatile store.