1. A method of configuring a programmable integrated circuit (IC), comprising: inputting encrypted configuration data to the programmable IC, wherein the programmable IC includes configurable logic and a configuration memory, and a state of the configuration memory controls functions of the configurable logic; storing the encrypted configuration data in the configuration memory of the programmable IC, wherein the configuration memory programs the configurable logic of the programmable IC; determining whether or not the encrypted configuration data is authentic; in response to the encrypted configuration data being authentic: reading the encrypted configuration data from the configuration memory; decrypting the encrypted configuration data into decrypted configuration data; storing the decrypted configuration data back in the configuration memory; and operating the programmable IC having the configurable logic of the programmable IC programmed by the decrypted configuration data in the configuration memory.