全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 可编程逻辑 >

深入分析intel FPAG AES应用笔记

时间:2021-07-27 14:19

人气:

作者:admin

标签: FPAG 

导读:FPGA在运行期间,把配置文件存储在SRAM中。SRAM是易失性的。掉电之后会丢失,所以FPGA每次上电都要从外部的Flash中加载数据到FPGA。这样在加载时Flash中的数据很有可能被拦截,被拦截的...

FPGA在运行期间,把配置文件存储在SRAM中。SRAM是易失性的。掉电之后会丢失,所以FPGA每次上电都要从外部的Flash中加载数据到FPGA。这样在加载时Flash中的数据很有可能被拦截,被拦截的数据如果没有被加密则很有可能被盗用。

通俗的讲加密的原理就是,用户用自己的密钥把配置文件进行加密,并把密钥烧写到FPGA;FPGA通过该密钥再对配置文件解密,并把解密后的数据存放在SRAM中。

aa2d2c34-e428-11eb-a97a-12bb97331649.png

这里以一个实验来描述AES的操作步骤,软件采用QuartusPrame 18.1 Standard版本,硬件采用的是arrow的Cylone V soc demo板。

步骤如下:

1、通过用户寄密钥生成.ekp 文件,并加密配置数据。

2、将用生成的密钥加密编程到FPGA 中。

3、配置FPGA 器件。

1、通过用户寄密钥生成.ekp 文件,并加密配置数据。

这里以Arria10为例。

在菜单File -》 Convert Programming File

选择sof烧写文件,点击Properties,打开Bitsteam Encryption对话框。

添加密钥的两种方式,一种是手动256位16进制数字,一种是添加文件。

(1)添加key文件。

key文件的后缀为.key。格式为:

The “#” symbol is used to denote comments. Each valid key line has the following format: 《key identity》《white space》《256-bit hexadecimal key》。

(2)通过按键输入密钥

点击Add。在这里Key Name我们命名为‘aa‘,Key要求256位,这里手动添加了’0123456789abcfef0123456789abcfef0123456789abcfef0123456789abcfef’。这让我想起以做加密的时候遇到的一个问题:就是数据的LSB是指0还是指f呢?当然这里是完全不需要关注的。

设置完成后点击ok,再Convert Programming File对话框中的Generate就生成了加密的.ekp和加密和配置文件(这里以jic为例)。

2、将用生成的密钥加密编程到FPGA 中。

FPGA 内嵌一个专用的解密模块,通过运用AES 算法对采用用户定义的256-bit 密钥的配置数据进行解密。您必须在接收到加密数据前将用户定义的256- bit 密钥写入器件中。

FPGA 支持易失性以及非易失性密钥存储。易失性密钥需要电池来存储和更新密钥,而

非易失性密钥存储仅支持对一个密钥进行编程,不需要电池。电池的供电PIN为VCCBAT.

并通过Tools-》Options-》Programmer来配置烧写的密钥寄存器位置。

勾选Configure volatile design security key when available来配置易失性密钥寄存器。

不勾选 Configure volatile design security key when available则配置非易失性密钥寄存器。

mode模式选择JTAG.先烧写.ekp文件到密钥寄存器,再烧写jic文件配置器件。

下图是烧写时可能遇到的错误。

ac9ab202-e428-11eb-a97a-12bb97331649.png

3、配置FPGA 器件。

FPGA 内嵌一个专用的解密模块,通过运用AES 算法对采用用户定义的256-bit 密钥的配置数据进行解密。FPGA上电之后会把配置芯片的数据加载到FPGA通过密钥和解密模块对加密的数据进行解密,再把解密后的配置数据加载到SRAM中去。

要说明的是成功地将易失性密钥编程到FPGA 器件中后,该器件既能够接受加密的配置数据,也能够接受未加密的配置数据。如果用带有使用错误的密钥进行加密的配置文件对FPGA 进行配置,都将导致配置的失败。如果这种情况发生,那么来自FPGA 的nSTATUS 信号将变低。

另外FPGA还可以设置篡改保护位,对FPGA的烧写应用会也有很大的影响。详细的文档说明请看an556,an556_cn.

文章出处:【微信公众号:FPGA及视频处理】欢迎添加关注!文章转载请注明出处。

编辑:jq

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信