安全公司报告
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210940011.2 (22)申请日 2022.08.05 (71)申请人 京微齐力 (上海) 信息科技有限公司 地址 201210 上海市浦东 新区自由贸易试 验区盛夏路570号1幢409室 (72)发明人 杨堃 王海力  (74)专利代理 机构 深圳睿臻知识产权代理事务 所(普通合伙) 44684 专利代理师 张海燕 (51)Int.Cl. H04L 9/24(2006.01) H04L 9/08(2006.01) H04L 9/40(2022.01) (54)发明名称 一种配置FPGA的码流加、 解密实现方法、 系 统及设备 (57)摘要 本发明实施例提供了一种配置FPGA码流的 加、 解密实现方法、 系统及设备, 通过使用简单的 生成伪随机数设计, 降低原使用EFUSE保存密钥 的容量, 采用更小容量的E FUSE电路, 使得芯片生 成的良品率有大幅提升, 烧写EFUSE过程时间缩 短同时提高写EFUSE 的成功概率。 同时, 因EFUSE 容量减小, EFUSE 所占芯片面积比例也相应缩小, 使得FPGA芯片总面积也减小, 相应的提高了 FPGA 芯片的产量, 从而降低了FPGA生成成本。 因配置 码流在生成过程中有加密算法选择, 码流加扰, 完整性校验等步骤, 使得FPGA 配置码流的保密性 得到有效提升, 进而保护用户FPGA设计的安全不 易被窃取。 权利要求书3页 说明书9页 附图6页 CN 115378595 A 2022.11.22 CN 115378595 A 1.一种配置FPGA码流的加、 解密实现方法, 其特征在于, 所述方法包括在上位机执行以 下步骤: 选定目标加密算法并根据对应算法基于伪随机数自行生成相应的第一密钥; 利用所述第 一密钥对明文码流加密, 并利用目标加密算法编 号以及对应的密钥种子对 加密码流进行封装; 使用封装后的加密码流对FPGA芯片进行配置, 由FPGA芯片内部解密电路进行处理, 得 到明文码流, 完成对FPGA配置 。 2.如权利要求1所述的一种配置FPGA码流的加、 解密实现方法, 其特征在于, 选定目标 加密算法并根据对应算法基于伪随机数自行生成相应的第一密钥, 包括: 从多种加密算法中选取目标加密算法; 基于预设的加密算法编号映射表, 获取目标加密算法编号; 由伪随机数发生器根据选取的目标加密算法生成对应密钥种子; 由选定加密算法密钥需求长度结合密钥种子 长度, 确定迭代预设次数; 每次迭代将所述密钥种子向左/右 移一位以便生成与前次不同的伪随机数; 完成全部迭代后, 将所有伪随机数按照生成顺序、 逆序或乱序进行拼接, 得到所述第一 密钥。 3.如权利要求2所述的一种配置FPGA的码流加、 解密实现方法, 其特征在于, 利用目标 加密算法编号以及对应的密钥种子对加密码流进行封装, 包括: 将所述目标加密算法编 号以及对应的密钥种子按照前后顺序组合在一起, 产生原始包 头; 按照包头 长度定义对所述原 始包头进行补齐, 完成包头生成; 对补齐后的包头进行 数据加扰; 将加扰后的数据进行ECC计算, 得到ECC计算结果, 并将所述ECC结果附在加扰后的包头 后面; 将完成ECC计算后的包头和所述加密码流 拼接在一 起; 对拼接后的码流进行CRC计算, 得到CRC结果, 并将CRC结果附加在拼接后的码流后面, 完成对加密码流进行封装。 4.如权利要求3所述的一种配置FPGA的码流加、 解密实现方法, 其特征在于, 对补齐后 的包头进行 数据加扰, 包括: 采用将0, 1互相取反的方式, 对补齐后的包头进行 数据加扰; 或者 对数据中的0, 1个数进行统计, 将个数较多的项进行压缩, 对补齐后的包头进行数据加 扰。 5.如权利要求1至4中任一项所述的一种配置FPGA的码流加、 解密实现方法, 其特征在 于, 所述方法还 包括在所述FPGA芯片内部执 行以下步骤: 对封装后的加密码流进行解封装, 提取出所述目标加密算法编号以及对应的密钥种 子; 利用所述密钥种子生成与所述目标加密算法相对应的第二密钥; 其中, 所述第一密钥 和所述第二密钥的密钥生成算法相同; 利用所述第二密钥对解封装后的加密码流进行解密, 得到明文码流, 以利用所述明文权 利 要 求 书 1/3 页 2 CN 115378595 A 2码流对FPGA进行配置 。 6.如权利要求5所述的一种配置FPGA的码流加、 解密实现方法, 其特征在于, 对封装后 的加密码流进行解封装, 提取 出所述目标加密算法编号以及对应的密钥种子, 包括: 对接收到的封装后的加密码流进行CRC校验; 如果CRC校验失败, 置位CRC校验错 误, 停止后续 流程; 如果CRC校验成功, 根据包格式将对加扰的包头进行E CC校验; 如果ECC校验失败, 置位E CC校验错误, 停止后续 流程; 如果ECC校验成功, 对 包头进行解扰, 恢复出原 始包头信息; 按照包头组建方式, 提取 出所述目标加密算法编号以及对应的密钥种子的相关字段。 7.如权利要求6所述的一种配置FPGA的码流加、 解密实现方法, 其特征在于, 利用所述 密钥种子生成与所述目标加密算法相对应的第二密钥, 包括: 利用所述密钥种子和 加密算法作为基础, 确定生成密钥的迭代预设次数; 采用移位寄存器生成为随机数, 每次迭代将所述密钥种子向左/右移一位以便生成与 前次不同的伪随机数; 每次迭代产生的伪随机数使用另外的寄存器存 储, 完成全部迭代后, 将所有伪随机数按照生成顺序、 逆序或乱序拼接, 得到所述第二密 钥。 8.一种配置FPGA的码流加、 解密实现系统, 其特 征在于, 所述系统包括: 第一密钥生成模块, 用于选定目标加密算法并根据对应算法基于伪随机数自行生成相 应的第一密钥; 码流加密及封装模块, 用于利用所述第一密钥对明文码流加密, 并利用目标加密算法 编号以及对应的密钥种子对加密码流进行封装; 输出模块, 用于使用封装后的加密码流对FPGA芯片进行配置, 由FPGA芯片内部解密电 路进行处 理, 得到明文码流, 完成对FPGA配置; 其中, 所述第 一密钥生成模块、 所述码流加密及封装模块、 所述输出模块装载于所述上 位机。 9.如权利要求8所述的一种配置FPGA的码流加、 解密实现系统, 其特征在于, 所述系统 还包括: 接收模块, 用于从所述上位机 接收封装后的加密码流; 解封装模块, 用于对封装后的加密码流进行解封装, 提取出所述目标加密算法编号以 及对应的密钥种子; 第二密钥生成模块, 用于利用所述密钥种子生成与所述目标加密算法相对应的第 二密 钥; 其中, 所述第一密钥和所述第二密钥的密钥生成算法相同; 解密模块, 用于利用所述第二密钥对解封装后的加密码流进行解密, 得到明文码流; 配置模块, 用于利用所述明文码流对FPGA进行配置; 其中, 所述接收模块、 所述解封装模块、 所述第二密钥生成模块、 所述解密模块、 所述配 置模块装载于所述FPGA芯片内部 。 10.一种配置FPGA的码流加、 解密实现设备, 其特征在于, 所述设备包括: 处理器和存储 器;权 利 要 求 书 2/3 页 3 CN 115378595 A 3

PDF文档 专利 一种配置FPGA的码流加、解密实现方法、系统及设备

文档预览
中文文档 19 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种配置FPGA的码流加、解密实现方法、系统及设备 第 1 页 专利 一种配置FPGA的码流加、解密实现方法、系统及设备 第 2 页 专利 一种配置FPGA的码流加、解密实现方法、系统及设备 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:27:38上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。