vivado 加密
Vivado / Xilinx FPGA 的 bitstream 加密常见核心是AES 加密具体用哪种要看 FPGA 系列。## 1. 7 系列 / Kintex-7 / Artix-7 / Virtex-7 / Zynq-7000常用AES-256-CBC也就是 256bit AES 密钥加密 bitstream。key 可以存在BBRAM或eFUSE## 2. UltraScale / UltraScale也主要是AES-256同时通常支持更强的认证/完整性保护比如HMAC / RSA / SHA具体跟器件、启动方式、安全配置有关。## 3. Versal安全机制更完整通常涉及AES-GCMRSA/ECDSA 认证PUF/eFUSE/BBRAM但如果你是普通 FPGA 项目多数不是 Versal。## 4. 为什么用 AES因为 bitstream 里包含 FPGA 内部设计逻辑。如果不加密别人拿到 .bit/.bin 后虽然不能轻易还原 RTL但仍然可能- 复制产品- 克隆设备- 分析内部结构- 修改配置流- 绕过授权逻辑- 盗用算法/IP。AES 加密是为了保护 FPGA 逻辑设计不被复制简单说 没有 key 的 FPGA即使拿到加密 bit/bin也加载不起来。## 5. BBRAM key 和 eFUSE key 怎么选### BBRAM特点可重新写 key掉电需要电池保持适合调试/开发优点- 烧错了可以重写- 开发阶段安全- 不会永久锁死器件。缺点- 需要电池/备用电源- 电池掉电 key 会丢。### eFUSE特点一次性烧写不可擦除适合量产优点- 不需要电池- 掉电不丢- 适合产品出厂。缺点- 烧错不可恢复- 操作风险高- 一旦设置某些安全位JTAG/回读可能受限。## 6. 实际项目怎么选一般建议### 开发调试阶段用BBRAM key原因可重写风险低### 量产出货阶段用eFUSE key原因掉电不丢不需要电池安全性更适合产品
