UltraScale 和 UltraScale+ 生成已加密文件和已经过身份验证的文件

注释 :如需了解更多信息,请参阅《使用加密和身份验证确保 UltraScale/UltraScale+ FPGA 比特流的安全》
(XAPP1267)。
要生成加密比特流,请在 Vivado IDE 中打开已实现的设计。在主工具栏中,依次选择“Flow” → “Bitstream
Settings”(流程 > 比特流设置),这样即可显示“Settings”(设置)对话框。在此对话框顶部,单击“Configure
Additional Bitstream Settings”(配置其他比特流设置)。

这样会显示“Edit Device Properties”(编辑器件属性)对话框。选择左侧窗格中的“Encryption”(加密)

在“Edit Device Properties”对话框中,指定“Encryption Settings”(加密设置)和“Key Settings”(密钥设置),
如下所示。
Encryption Settings(加密设置)
• 将“Enable Bitstream Encryption”(启用比特流加密)设为“YES”(是)。

 将“Select location of encryption key”(选择加密密钥位置)设为“BBRAM”或“EFUSE”。
○ 密钥位置会嵌入加密比特流中。
○ 当加密比特流下载至器件后,它会指令 FPGA 使用已加载到 BBR 或 eFUSE 密钥寄存器中的密钥来对加密的比
特流进行解密。
Key Settings(密钥设置)
• 指定加密比特流时要使用的“Starting AES encryption key (key0)”(起始 AES 加密密钥 (key0))。您可使用最多
64 个十六进制字符来指定 256 位密钥。
○ 此密钥将写入含 .nky 文件扩展名的文件中。将该密钥加载到 BBR 中时,或者将该密钥编程到 eFUSE 密钥寄存
器中时,请使用此文件。
注释 :除非指定输入加密文件,否则该值将存储在当前工程约束文件中。要避免将该值存储在约束文件中,请指定
输入加密文件。
• Specify Input encryption file(指定输入加密文件):指定现有 .nky 文件即可获取加密密钥设置。该字段为可选字
段,如果手动指定 AES、HMAC 和 CBC,则可省略该字段。
• 指定“Starting AES initial vector (IV0) value”(起始 AES 初始矢量 (IV0) 值)。选择对应第一个密钥的初始化矢
量。
注释 :每个密钥都需要 1 个独立的初始化矢量值,该值可通过输入加密文件来提供。
注释 :该值将存储在当前工程约束文件中。要避免将该值存储在约束文件中,请指定输入加密文件。
• 指定“Starting obfuscate initial vector (Obfuscate IV0)”(起始模糊初始矢量(模糊 IV0))值。选择对应模糊密
钥的初始化矢量。
注释 :该值将存储在当前工程约束文件中。要避免将该值存储在约束文件中,请指定输入加密文件。
Key Rolling Settings(密钥滚动设置)
• 指定是否应生成调试文件以报告 KDF 模式下生成的所有密钥。
• 指定“Fixed Input Data for KDF key rolling”(用于 KDF 密钥滚动的固定输入数据)。该值为可选 60 字节固定输
入值,并指定为 120 位十六进制值。此 60 字节输入搭配 4 字节计数器即可通过 RAND_bytes 充当 KDF 虚拟随机
固定输入值的 64 字节输入。
• 指定“Seed for KDF Keyrolling”(用于 KDF 密钥滚动的种子值)。该值为 KDF 的可选 32 字节种子值,指定为
64 位十六进制值。
• 指定“Number of encryption blocks per key”(每个密钥的加密块数)和“Number of frames per AES-256 key”
(每个 AES-256 密钥的帧数)。加密块数和帧数用于指定使用不同密钥将每个比特流分成多少节。
要执行身份验证设置,请选择左侧窗格中的“Authentication”(身份验证)

在“Edit Device Properties - Authentication”(编辑器件属性 - 身份验证)对话框中,指定如下加密和密钥设置:
Authentication Settings
• 将“Enable Bitstream Authentication”(启用比特流身份验证)设置为“YES”(是)。
• 指定“Input file containing RSA Private Key”(包含 RSA 专用密钥的输入文件)。
• 指定加密和身份验证设置后提供 RSA 专用密钥,单击“OK”(确定),这样即可将这些设置应用于工程。重新运
行实现,并重新生成比特流文件。成功完成 write_bitstream 操作后,生成的 .nky 加密密钥文件将显示在加
密比特流文件所在目录中。
您可通过使用 256 位高级加密标准 (AES) 密钥加密比特流,下载这些比特流,并仅在经授权的 FPGA 上运行来保护比
特流中的 IP。具体方法是将 256 位密钥编程到经授权的 FPGA 的 BBR 寄存器中,然后再下载加密比特流

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610265.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决在eclipse2021中,用mysql-connector-java-8.0.18.jar不兼容,导致无法访问数据库问题

1.环境场景 组件版本mysql5.7.44mysql-connector-java80.18 2. 问题描述 报mysql-connector-java 驱动连不上mysql数据库。 3. 可能的原因分析 查看数据库连接句柄是否对 如果数据库连接句柄中没有 useSSLfalse 的话可能会导致这样的问题。 就像下面这样: jdb…

c# 类的方法链接例子

在这个示例中,我们创建了一个名为 Calculator 的类,它具有一些简单的数学运算方法,如 Add()、Subtract()、Multiply() 和 Divide()。每个方法都会对内部的 result 成员变量进行相应的操作,并返回 Calculator 对象本身,…

FRPS配置服务端(腾讯云)、客户端(PC电脑Windows、树莓派Debian)并设置虚拟域名

1.服务端(腾讯云):frps.ini [common] bind_port 7000 vhost_http_port8080 vhost_https_port44344 dashboard_port 7500 privilege_token your_password subdomain_host example.com use_encryption true encryption_method tls dashb…

搭建zuul网关

1. 路由知识 有关网关的很多知识我们都在04.gateway讲解了,有关网关的详细知识可以到上节详细了解。本节我们主要来讲解下另一个网关zuul。本节结合之前的章节网关搭建的项目案例上实现zuul的搭建,侧重于实战。 2. Zuul现状 zuul官方文档 zuul截止clo…

【ZooKeeper高手实战】ZooKeeper 工业级的场景(配置中心、日志系统、数据同步系统)

🌈🌈🌈🌈🌈🌈🌈🌈 欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术 的推送 发送 资料 可领取 深入理…

深入理解 Hadoop (五)YARN核心工作机制浅析

概述 YARN 的核心设计理念是 服务化(Service) 和 事件驱动(Event EventHandler)。服务化 和 事件驱动 软件设计思想的引入,使得 YARN 具有低耦合、高内聚的特点,各个模块只需完成各自功能,而模…

熟悉HDFS常用操作

1. 利用Hadoop提供的Shell命令完成下列任务 (1)向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件。 #检查文件是否存在./bin/hdfs dfs -test -e text.txt echo $? #结果是1 代表已存在 #根据结果判断出文件已存…

dubbo与seata集成

1.seata是什么? Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。 2.seata的注解 GlobalTransactional:全局事务注解,添加了以后可实现分布式事务的回滚和提交,用法与spring…

VMware虚拟机安装Ubuntu

准备:Ubuntu的镜像文件,VMware,手. 1.新建虚拟机,选择自定义,下一步。 2.硬件兼容性,选择Workstation 16.x,下一步。 3.选择安装程序光盘映像文件,路径为映像文件所在文件夹,下一步。 4. 创建用户和设置密…

hive 函数使用详解

一、前言 在任何一种编程语言中,函数可以说是必不可少的,像mysql、oracle中,提供了很多内置函数,或者通过自定义函数的方式进行定制化使用,而hive作为一门数据分析软件,随着版本的不断更新迭代,也陆续出现了很多函数,以满足日常数据查询与分析的各种场景。 二、hive 函…

GEE中导入研究区shape

找到Assets,新建NEW 等待上传完成 从Assets列表中找到导入文件,复制ID

Docker 方式安装 RabbitMQ

安装步骤 安装 Docker 和 Docker Compose:首先,确保您的 Linux 系统已安装 Docker 和 Docker Compose。如果未安装,您可以通过官方 Docker 文档找到安装指南。 创建 docker-compose.yml 文件:接下来,创建一个 docker-…

106短信群发如何发送会员通知

106短信群发可以通过以下步骤发送会员通知: 1.确定通知内容:首先需要确定要发送的通知内容,包括通知的主题、内容、时间、地点等信息。 2.设计通知模板:根据通知内容,设计通知模板。模板应包括短信的格式、语言风格、…

【华为OD机试真题2023CD卷 JAVAJS】贪吃的猴子

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 贪吃的猴子 知识点数组 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 一只贪吃的猴子,来到一个果园,发现许多串香蕉排成一行,每串香蕉上有若干根香蕉。每串香蕉的根数由数组numbers给出。猴子获取香蕉,…

AI教我学编程之C#入门程序详解与拓展

与AI肩并肩 前言一、一个简单的C#程序补充说明对话AI 二、标识符三、关键字四、Main五、空白1. 缩进2. 代码块的间距3. 操作符的空格4. 换行5. 一致性 六、语句七、从程序输出文本主题:从程序中输出文本1. Write 和 WriteLine 方法2. 格式字符串3. 多重标记和值4. 格…

Banner设计专家详细解释和使用技巧!

一、banner的作用 宝安在运营工作中具有吸引注意力、提高转化率、传达信息、提升品牌形象、引导用户行为、营造活动氛围等多种功能。因此,在运营工作中,需要根据具体需要和目标精心设计和合理使用宝安,才能达到更好的运营效果。 二、banner…

前端工程师常用的ChatGPT通用提示词模板

HTML/CSS基础:如何熟练掌握HTML/CSS基础,包括常用标签、布局方式、样式应用等? JavaScript深入理解:如何深入理解JavaScript语言特性,包括变量类型、函数、闭包、异步编程等? 前端框架学习:如…

【读书笔记】网空态势感知理论与模型(七)

通过网络级对象依赖关系揭示0Day攻击路径 1. 研究动机 0Day攻击是攻击者和防御者之间信息不对称的结果。赛门铁克研究人员认为,典型的0Day攻击平均隐藏312天才会被觉察。 受到SKRM模型启发,Patrol系统以全局视野来调查在某一个路径上的0Day攻击行为。从…

思科路由器忘记密码怎么重置

断电重启路由器,在开机过程中按下CtrlPause/break,或者只按下Pause/break(没有测试),在PT(Cisco Packet Tracert)中则需要按CtrlC。路由器会进入rommon >模式。 切换到0x2142模式&#xff0…

k8s-存储 11

一、configmapu存储 首先,确保集群正常,节点都处于就绪状态 Configmap用于保存配置数据,以键值对形式存储。configMap资源提供了向 Pod 注入配置数据的方法,旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用…