当前位置: 首页 > news >正文

现在做网站一般做多宽巴中微小网站建设案例

现在做网站一般做多宽,巴中微小网站建设案例,国内网站域名吗,论坛网页模板文章目录 前言1. AES加密原理2.xilinx的AES方案3.加密流程3.1生成加密的bit流3.2将密钥写入eFUSE寄存器 4.验证结论5.传送门 前言 在FPGA的项目发布的时候需要考虑项目工程加密的问题#xff0c;一方面防止自己的心血被盗#xff0c;另一方面也保护公司资产#xff0c;保护知… 文章目录 前言1. AES加密原理2.xilinx的AES方案3.加密流程3.1生成加密的bit流3.2将密钥写入eFUSE寄存器 4.验证结论5.传送门 前言 在FPGA的项目发布的时候需要考虑项目工程加密的问题一方面防止自己的心血被盗另一方面也保护公司资产保护知识产权。Xilinx的器件大概有两种加密方案一种是本文介绍的AES加密算法另一种则是利用multiboot配置和Device DNA其大概是流程是xilinx提供了读取Device DNA的原语用户逻辑通过原语读取Device DNA然后与用户逻辑的加密模块做运算得到一个数字串将该数字串与存放在Flash特定区域的密文做对比如果一致证明该FPGA通过授权可以启动用户逻辑如果失败则可设置不启动。存放在Flash特定区域的密文也是通过Device DNA与用户逻辑中的加密算法提前计算得到的。因为Flash不仅要存储密文还要存储bit流因此需要用到multiboot配置。Xilinx7系列支持AES256加密算法可以防止程序回读和逆向杜绝用抄板的方式窃取劳动成果。 本文介绍AES加密算法的原理加密操作的流程以及加密的作用。 1. AES加密原理 AES加密算法是一种对称加密算法用于保证私密信息不被泄露对称是指加密法和解密方使用的密钥是一致的。AES的Key支持三种长度AES128AES192AES256 。xilinx采用AES256使用密码块链接模式Cipher Block Chaining modeCBC modeAES有五种模式CBC是其中的一种。 AES256的加密原理是把明文按照256bit拆分成若干个明文块如果最后有数据不足256bit按照一定的方式来填充最后一个明文块。每一个明文块利用AES加密器和密钥加密成密文块。拼接所有的密文块成为最终的密文结果。从图中可以看出CBC模式在每一个明文块加密前会让明文块和一个值先做异或操作。IV作为初始化变量参与第一个明文块的异或后续的每一个明文块和它前一个明文块所加密出的密文块相异或。由下图可以看到实现AES256加密算法需要提供密钥、初始向量IV以及256bit-HMAC。HMAC是为了避免bit被篡改HMACHash-based Message Authentication Code基于散列函数的消息认证码是一种用于验证数据完整性和真实性的认证方法。它通过将数据与密钥进行散列处理生成固定长度的认证码然后将认证码与数据一起发送给接收方。接收方在接收到数据后使用相同的密钥和散列函数进行计算然后比较生成的认证码是否一致从而可以判断数据是否被篡改或伪造。HMAC认证可以有效防止数据在传输过程中被篡改或伪造以确保数据的完整性和真实性。 2.xilinx的AES方案 以上介绍的是AES加密算法本身的原理xilinx是如何利用这个加密算法的呢 Xilinx可通过JTAG接口将用户指定的密钥或者软件生成的这里包括上一节提到的三个密钥写入eFUSE寄存器采用熔断丝技术一生只能写一次且写且珍惜~同时Vivado工具负责根据用户指定的密钥对bit流进行 AES加密。FPGA在加载加密后的bit流时会根据用户设置的密钥通过片上的 AES解密逻辑电路进行 AES解密从而还原得到器件可以识别的未加密bit流从而被正确加载。具体的操作流程见下一节。 此外Xilinx提供了几个寄存器配置选项提供灵活的加密配置。如下图所示7系列查看UG470KU系列查看UG570操作时按照下文推荐配置即可。需要注意eFUSE Control Register的CFG_AES_Only如果该位被设置为1则FPGA上电之后将强制进行解密操作一旦bit流没有设置密钥或者密钥不正确将不会被加载因此一定慎用该寄存器否则一旦密钥丢失FPGA将变成废铁。 3.加密流程 3.1生成加密的bit流 ①打开“Open Elaborated Design”此时在“Generate Bitstream”右键才会出现下图中蓝色字体“Configure additional bitstream settings”单击它 ②设置使能bit流加密设置选择密钥存储位置为EFUSE。这里可以手动指定三个密钥的值这个选择不指定即不填写任何东西软件工具将会自动生成。 ③设置回读配置为LEVEL1即禁止回读。此处要注意并不是禁止从Flash里面回读也就是说通过JTAG接口在hardware manager中选择flash器件点击右键选择readback configuration memory device依然可以回读这里是告诉配置工具在 FPGA 配置完成后不要自动读取配置数据进行校验。 ④上述配置完成之后一定在Elaborated Design界面点击保存或者ctrls配置才能生效保存后会发现xdc文件中多了两句话然后重新生成bit流在与bit文件同级的文件夹中将会出现与bit流同名但后缀是nky的文件这就是软件自动生成的密钥文件。现在生成mcs文件并烧写进FPGA发现FPGA不会启动这是因为FPGA内部还没有密钥需要进行下一节的操作。 3.2将密钥写入eFUSE寄存器 ①打开vivado软件连接JTAG并上电打开Open Hardware Manager进入Hardware界面点击Auto Connect。在芯片名字上右键选择Program eFUSE Registers。 ②勾选Enable AES key programming选择上一节生成的后缀为nky的文件然后选择next。 ③勾选Enable control register programming接着按照如图所示勾选此处千万不能勾选出错否则造成严重后果然后点击next。 ④最后一页无需勾选按照默认next即可最后单击finish。导出的后缀nkz的文件将记录eFUSE的密钥信息和相关寄存器的配置信息。 4.验证结论 准备两块一摸一样的板卡A和B制作一个简单的测试程序。 ①在A板卡上配置了eFUSE寄存器并将密钥写入eFUSE寄存器此时烧写不加密的bit文件或者mcs文件都是可以正常工作并且回读A中的MCS文件烧写到BB可以正常工作。 ②在A板卡按照上述第三节配置配置了eFUSE寄存器写入密钥并设置禁止回读发现仍然可以回读证明xdc中设置的禁止回读并不是禁止从flash读回mcs文件。 ③给A板卡写入密钥1并将工程用密钥1生成bit流此时回读工程写入B板卡B板卡无法完成FPGA代码加载。这里可以看出加密的最重要的作用就是禁止回读后逆向。同样如果给B写入的密钥不是密钥1那么显然B还是无法加载。 ④给A板卡在不写入密钥的情况下烧写加密的bit文件FPGA无法完成加载。 5.传送门 我的主页FPGA开发必备技能专栏汇总导航上一篇FPGA开发技能(6)Qt生成ROM IP核使用的COE文件 END 文章原创首发于CSDN论坛。 欢迎点赞收藏✨打赏 欢迎评论区或私信指出错误️提出宝贵意见或疑问。
http://www.dnsts.com.cn/news/220359.html

相关文章:

  • 天津放心站内优化seo手机酒店网站建设
  • 登封网站开发网站建设推广 公司
  • 无代码网站企业网站建设开发注意事项
  • 做那个网站大全wordpress文章页折叠
  • 百度分享wordpress插件关键词优化的软件
  • 网站建设美文免费医疗网站模板
  • 有域名后续怎么做网站规划建网站步骤
  • 网站留言如何做的域名的申请及注册流程
  • 品牌网站建设方软文推广多少钱一篇
  • 长春网站建设net龙岩小程序推广
  • 类似小红书网站开发费用cn域名做seo
  • 建设网站的网站公司北京小客车指标调控管理信息系统
  • iis7发布网站教程wordpress高级
  • 莱州网站建设营销软件代理推广
  • 中国联通网站备案及ip地址备案管理要求wordpress彩票模板
  • 怎样做网站赚钱做淘宝网站多少钱
  • 如何做机票预订网站久久时间计算网
  • 集团高端网站建设国外html5网站模版
  • 定西市住房和城乡建设局网站建设通手机版
  • 网站建设的规模设想Wordpress全站404
  • 小说网站建设多少钱东莞效果好的网站建设
  • 世界建设企业网站免费做app的网站有吗
  • 新网站百度多久收录百度云群组
  • 网站设计外文文献昆明做网站开发维护的公司
  • 网站页头尺寸优秀网页设计
  • 化妆品网站建设需求问卷调查肉多各种地方做的网站
  • 潍坊高端网站开发惠州网站建设服务商
  • 开发网站需要租服务器建筑工程网络计划电子版
  • vi设计手册范本广州网站优化平台
  • 青海省住房和城乡建设厅官方网站wordpress 移动端跳转