xilinx FPGA bit 文件加密

当你的项目终于做完了,到了发布的关键节点,为了防止自己的心血被别人利用,最好对产品进行bit加密。首先咱们来了解一下加密的优点,xilinx的v6和7全系列fpga支持aes256加密,加密的好处: 1. 可以防止别人回读或者对你的程序进行逆向; 2. 防止更改烧写的bit文件。 如果仅仅是防止回读,可以简单设置bitstream.readback.security,其中level1是禁止回读,level2禁止回读和重新烧写fpga。 但如果对手的逆向能力很强,比如说在fpga上电加载bit的时候用逻辑分析仪把用bit文件“读”出来,这个简单的设置肯定就不行了。这时候可以使用aes256加密。aes算法简介:aes即高级加密标准,是一种区块加密,当然也是对称加密。区块固定为128bit,秘钥为128,192或256bit。aes有5种加密模式,xliinx采用的是cbc模式。有一个128bit初始向量iv(startcbc),先利用初始向量iv与第一组数据进行异或后再进行加密运算生成c1。将c1作为初始向量与第二组数据进行异或后再进行加密运算生成c2。以此类推,当最后一组数据加密完毕后,将加密结果拼接为最终结果,c = c1c2c3……cn。 所以采用cbc模式的256aes需要两个东西,128bit-startcbc和256bit-aes key。 到这里还没完,完成了bit加密还没有认证,万一别人把烧进去bit文件篡改了怎么办?(重新烧了新的bit文件)。所以xilinx又提供了hmac的认证,这个就跟校验差不多了,检查消息的完整性。所以还需要提供256bit-hmac,加上128bit-startcbc和256bit-aes key,一共是三个。这三个key可以自己生成,也可以指定空的 .nky文件,由软件随机生成好。 for example ··· device xc7a35t; key 0 0f2ec1178ae0d04c8c1431afe8266d08e799b01c5c486c2567f3621f47319aaf; key startcbc a6262d508c338eeab815340a7832436d; key hmac d82e72733a7bd7904c802d13db37187b8ad20b972ac163470c5a4d239bce6308; ··· 加密的aes key可以存到fpga内部易失性的bbr或只能烧写一次(otp)的efuse中。 bbr需要电池供电,可以多次编程。efuse不需要电池,但只能烧写一次。这里使用efuse. efuse寄存器 首先来看一下efuse寄存器:
要打开edit device properties,先要打开sythesized design 或者implement design,然后在generate bitstream右键设置

谷歌兄弟公司Wing获政府牌照
5G频谱的划分,给联通和电信带来了利好消息
什么是SRM?SRM系统有哪些选择策略
三星Galaxy S21 Ultra首发全新OLED屏:功耗降低16%以上
简单了解矩阵键盘扫描的方法原理
xilinx FPGA bit 文件加密
西门子SMART系列PLC在血液透析水处理设备中的应用设计
织物透湿量测试仪的技术特点是什么
无线蓝牙耳机哪个牌子的好,口碑最好的蓝牙耳机
5G硬件致生产成本上升,苹果或将削减电池成本减小面积
荣耀9什么时候上市?荣耀9最新消息:荣耀8继承者荣耀9来袭,华为用最良心价格造出最良心旗舰
可再生能源成为“新宠”
美光股价在降冰点「中性」评级将不保
集成电路相关参数和故障表现
单电源PD放大电路有无偏置电压会有多大的影响?
设计应用于蓝牙天线上的蛇形倒F PCB天线的资料说明
HFA3783芯片在类零中频接收机中的应用
搭载高通骁龙™845移动平台的黑鲨游戏手机 Helo正式发布
PicoG24K和iQUT奇遇2哪个最好
爆料称特斯拉国产Model Y有望继续降价