多谢回复。 我现在可以把DNA序列号在代码里读出了,然后在opencores找了一个最简单的加密算法,
这个算法的输入输出口如下:
entity tea64 is
port(
key : in std_logic_vector(127 downto 0);
text : in std_logic_vector(63 downto 0);
cipher : out std_logic_vector(63 downto 0)
);
end tea64;
按照我的理解:128bit的key 是一个密钥,我在代码里直接固定成一个常数, text是我FPGA的DNA序列号,对每一个fpga板子,我读出DNA,然后经过这个算法,算出一个cipher, 我也要在代码里把cipher固定成常数,最后比较cipher的实际输出和我预设的cipher值,如果相等则启动功能逻辑。简单的加密算法是这个逻辑不? 另外我在代码里固定了两个常数, 生成mcs文件后,这两个数据是不是可以从mcs文件里找到?
【 在 zzlthuscu 的大作中提到: 】
: 我的理解是 FPGA板子别人拿到后,FPGA的 DNA号都可以通过JTAG读出, 如果我只是在代码里简单判断是不是这个DNA序列号的话,这个序列号是不是也会出现在MCS文件里,如果别人修改MCS文件里的这个序列号去匹配新的FPGA, 那所谓的加密就没意义了吧?
:
--
FROM 202.122.36.*