A system and method are provided for securely providing configuration
information, that is, programming, to programmable hardware such as a
Field Programmable Gate Array (FPGA) or a Programmable Logic Device
(PLD). Security is provided by first verifying authority to enter
configuration information via the decryption of an encrypted certificate
of authority. The decryption is carried out using a cryptography engine
disposed on the chip containing the programmable hardware. Additionally,
the configuration information is itself provided in an encrypted form
which requires recognition of the certificate of authority in order to
decrypt it and to place it in storage locations within the programmable
hardware. In this manner, the flexibility advantages of programmable
hardware are fully met without the disadvantage of the programmable
hardware being compromised by other users.