Described are various methods and systems for preventing unauthorized
access to decryption keys on programmable logic devices. In one example,
a key memory can operate in a secure mode or a non-secure mode. The
non-secure mode allows decryption keys to be read or written freely; the
secure mode bars read and write access to the decryption keys. The key
memory can support secure and non-secure modes on a key-by-key basis.