vivado 高级编程功能1

- 密钥位置会嵌入加密比特流中。
- 当加密比特流下载至器件后 它会指令 FPGA 使用已加载到 BBR eFUSE 密钥寄存器中的密钥来对加密的 比特流进行解密。
Enable obfuscated key load ”可设置为“ ENABLE ”或“ DISABLE ”。
- 启用此项后 此用户生成的密钥将先经过加密 随后再被存储到 BBRAM 中。如果禁用此项 那么此密钥将 “按现状”直接存储到 BBRAM 中。
• “ Key Settings
Starting AES encryption key (key0) ”用于指定对比特流进行加密时要使用的加密密钥。您可使用最多 64 个十 六进制字符来指定 256 位密钥。
- 此密钥将写入含 .nky 文件扩展名的文件中。将该密钥加载到 BBR 中时 或者将该密钥编程到 eFUSE 密钥 寄存器中时, 请使用此文件。
注释 除非指定输入加密文件 否则该值将存储在当前工程约束文件中。要避免将该值存储在约束文件中 请 指定输入加密文件。
Input encryption file ”用于指定输入加密文件。
- 指定现有 .nky 文件即可获取加密密钥设置。该字段为可选字段 如果手动指定 AES HMAC CBC 则 可省略该字段。
Starting AES initial vector (IV0) value ”用于指定输入加密文件。
- 对应第一个密钥的初始化矢量。请注意 每个密钥都需要 1 个独立的初始化矢量值 该值可通过输入加密文 件来提供。
注释 该值将存储在当前工程约束文件中。要避免将该值存储在约束文件中 请指定输入加密文件。
Starting obfuscate initial vector (Obfuscate IV0) value ”用于指定输入加密文件。
- 对应模糊密钥的初始化矢量。
注释 该值将存储在当前工程约束文件中。要避免将该值存储在约束文件中 请指定输入加密文件。
• “ Key Rolling Settings
如需生成调试文件以报告 KDF 模式下生成的所有密钥 请指定“ debug file to report all the keys generated in KDF mode”。
Fixed Input Data for KDF keyrolling ”可指定用于 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 寄存器中 然后再下载加密比特流。
上一篇:微信小程序开发【从入门到精通】——页面导航-????(1) 声明导航


下一篇:堆积排序算法C代码