We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Newbie yah1003
Registered: ‎08-12-2019

Device DNA anti-cloning mechanism confusion

Hi all,


I have been studying Device DNA anti-cloning for couple of days. I am not exactly sure if I understand correctly, hope someone can help (I am using Spartan 3A).


From the official document, it says each FPGA has a unique 57bits ID and this ID can be encrypted by an encryption algorithm, then the result can be stored externally to, for example, an external Flash. What I don't uderstand is why we need encryption and have the encryted result stored externally?


What I am thinking is we can just put the matching Device ID in bitstream, and every time when FPGA is given power, the bitstream gets loaded into FPGA and the circuit reads out the Device ID and compares to the matching ID, this is happened inside FPGA. Since the matching ID is stored in the bitstream, someone wants to clone does not know how to modify the bitstream for the matching ID. In another word, the bitstream is itself encryted.


If someone can reverse engineering the bitstream and modify the bitstream, then no matter what kind of encrytion algorithm you use, he can either bypass the comparison circuit by returning 'true' always or send the original device ID of the FPGA he copies from to the input of encryption circuit, so in either way, the encrytion circuit is totally useless!


What am I missing here?


0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
Registered: ‎03-07-2018

Re: Device DNA anti-cloning mechanism confusion

Hello @yah1003 

I believe WP266 (v1.1) can help you for most of the queries related to encryption fo Spartan-3 FPGA.

Currently you are working on old generation of FPGA, there are multiple features are added to make newer generation of FPGA tamper resistant.


Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos