Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
21618 Discussions

Can you use the non-volatile key from the FPGA (Cyclone V) in a design?

TMayd
Novice
3,266 Views

So we would like to use the fused non-volatile key in the Cyclone V to provide our application with a seed for an SHA-256 algorithm. It's not clear to me if you can set this fuse and then access the value internally in the FPGA design? Primarily it would be nice to have a permanent secret key so that when we update the devices it doesn't need a specific bitstream file for each FPGA. Or am I misunderstanding the encrypted FPGA programming?

0 Kudos
1 Solution
Nooraini_Y_Intel
Employee
1,975 Views
Hi TMayd, Yes, the programmed non-volatile key is use to decrypt the configuration bitstream during the configuration process. The general process flow is shown in figure 1 from AN556. Once you program the non-volatile key, is it OTP, there is no way to repogram with a different value. You can generate multiple key files and encrypted image files . However once you program the non-volatile key into Cyclone V, the decryption engine can only decrypt the matching encrypted image. Regards, Nooraini

View solution in original post

0 Kudos
3 Replies
Nooraini_Y_Intel
Employee
1,975 Views
Hi TMayd, Yes, you can program a non-volatile key into the Cyclone V device. However the programmed key information cannot be read out since it is program into the polyfuse and not a register. For detials, you can refer to AN556:Using the Design Security Features in Intel® FPGAs document in the following link: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/an/an556.pdf Regards, Nooraini
0 Kudos
TMayd
Novice
1,975 Views

Hi, so since the value is not a register it's only primary use is de-encrypting the bit file? I can't use this value in a design to have a fixed value that won't change with a new bit file?

0 Kudos
Nooraini_Y_Intel
Employee
1,976 Views
Hi TMayd, Yes, the programmed non-volatile key is use to decrypt the configuration bitstream during the configuration process. The general process flow is shown in figure 1 from AN556. Once you program the non-volatile key, is it OTP, there is no way to repogram with a different value. You can generate multiple key files and encrypted image files . However once you program the non-volatile key into Cyclone V, the decryption engine can only decrypt the matching encrypted image. Regards, Nooraini
0 Kudos
Reply