(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210679223.X (22)申请日 2022.06.15 (71)申请人 东南大学 地址 210000 江苏省南京市江宁区东 南大 学路2号 (72)发明人 葛伟 李重阳 郑雷动 王一飞  (74)专利代理 机构 南京经纬专利商标代理有限 公司 32200 专利代理师 朱小兵 (51)Int.Cl. G06F 8/41(2018.01) G06F 9/455(2006.01) G06F 9/445(2018.01) (54)发明名称 面向信息安全的可重构系统芯片编译器、 自 动编译方法 (57)摘要 本发明公开了一种面向信息安全应用的可 重构系统芯片编译器、 自动编译方法, 所述方法 包括如下步骤: 首先输入密码算法的源程序, 然 后执行源程序的软件编译功能语 法检查, 当检查 结果通过后采用编译器编译映射, 接着采用仿真 器运行仿真执行密码算法, 由仿真器阵列生成配 置码, 最后使用仿真器生 成的二进制配置码文件 来指导硬件 行为操作。 可重构系统芯片编译器包 括源程序输入模块、 软件编译功能验证模块、 编 译映射模块, 仿真执行模块、 配置码生成模块、 硬 件调试模块。 通过实施本发明, 解决现有映射技 术不够成熟的情况下, 对算法映射人员要求高, 算法映射时间周期长, 仿真调试困难以及对硬件 变化包容 性差的问题。 权利要求书2页 说明书6页 附图4页 CN 115080055 A 2022.09.20 CN 115080055 A 1.一种面向信息安全的可重构系统芯片编译器自动 编译方法, 其特 征在于, 包括: S1、 输入密码算法的源程序: 基于密码算法特征所设计的含有特殊标记 的高级语言来 描述源程序文件; S2、 执行源程序的软件编译功能语法检查: 针对输入的算法描述语言进行功能验证, 模 拟硬件的执 行行为, 并验证功能是否正确, 如果是则进入下一 步, 如果否, 则返回上一 步; S3、 进行编译器编译映射: 将功能验证正确的源文件通过编译器的编译得到具有数据 依赖关系的数据流图; S4、 通过仿真器运行仿真执行密码算法: 将编译器编译生成的具有数据依赖关系的数 据流图执 行得到仿真结果; S5、 由仿真器阵列生成配置码: 将运行结果正确的阵列映射生成硬件所能识别执行的 二进制语言文件, S6、 执行硬件调试: 使用仿真器生成的二进制配置码文件来指导硬件行为操作。 2.根据权利要求1所述的可重构系统芯片编译器自动编译方法, 其特征在于, 步骤S1 中, 运用带标记的高级C语言描述密码算法, 其最多支持两层For循环嵌套, 不支持包括 while的非规则循环, 使用特殊基本功能单元BFU、 查找单元SBOX、 比特置换单元BENES算子 函数进行编程。 3.根据权利要求1所述的可重构系统芯片编译器自动编译方法, 其特征在于, 步骤S2 中, 模拟硬件的执行行为包含硬件电路逻辑的执行规则以及执行 的方案, 其中包含基本功 能单元BFU算子编程函数、 查找单元SBOX算子编程函数、 比特置换单元BENES算子编程函数 的功能与硬件电路描述 一致的函数编写。 4.根据权利要求3所述的可重构系统芯片编译器自动编译方法, 其特征在于, BFU算子 编程函数能够实现多种运 算, 符合计算密集型的密码算法的特 征。 5.根据权利要求4所述的可重构系统芯片编译器自动编译方法, 其特征在于, BFU算子 编程函数能够实现加法AU, 逻辑运算LU, 移位运算SU以及乘法运算MU; 其中, 每个BFU单元有 3个32bit的输入, 有2个32bit的输出; BFU的3个输入分别命名为A、 B、 T, 输出命名为X, Y, 其 中X为结果输出, Y为旁路输出。 6.根据权利要求3所述的可重构系统芯片编译器自动编译方法, 其特征在于, 一个可重 构配置行内有 四个SBOX, 每个SBOX里有4个查找表, 每个查找表分为上下两张子查找表, 根 据不同的配置选择查找不同的子查找表, 同时SBOX有不同的查找模式, 分别实现不同的查 找功能。 7.根据权利要求3所述的可重构系 统芯片编译器自动编译方法, 其特征在于, BENES算 子编程函数的输入4个32b it操作数, 输出4个32bit数据, 实现128b it数据的任意b it置换, 每行可重构配置行包 含1个128位的BENES, 用于非线性的比特置换。 8.根据权利要求1所述的可重构系统芯片编译器自动编译方法, 其特征在于, 步骤S4 中, 仿真器将通过验证的源程序生成的具有 数据依赖关系的映射图翻译生成图形界面的形 式, 并生成目标硬件所识别的二进制机器代码供硬件所使用。 9.一种面向信息安全的可重构系统芯片编译器, 其特 征在于, 包括: 源程序输入模块, 其被配置用于: 基于密码算法特征所设计的含有特殊标记的高级语 言来描述源程序文件;权 利 要 求 书 1/2 页 2 CN 115080055 A 2软件编译功能验证模块, 其被配置用于: 针对输入的算法描述语言进行功能验证, 模拟 硬件的执 行行为, 并验证功能是否正确; 编译映射模块, 其被配置用于: 将将功能验证正确的源文件通过编译器的编译得到具 有数据依赖关系的数据流图; 仿真执行模块, 其被配置用于: 将编译器编译生成的具有数据依赖关系的数据流图执 行得到仿真结果; 配置码生成模块, 其被配置用于: 将运行结果正确的阵列映射生成硬件所能识别执行 的二进制语言文件; 硬件调试模块, 其被配置用于: 使用仿真器生成的二进制配置码文件来指导硬件行为 操作。 10.根据权利要求9所述的一种面向信息安全的可重构系统芯片编译器, 其特征在于, 软件编译功能验证模块, 包含输入输出FIFO模块, IMD立即数存储单元, 带移位的SREG存储 单元模块, MEM数据缓存模块, BFU算子计算模块, SBOX非线性查找表单元, BENES比特置换单 元模块的执 行函数; 其中 输入输出FIFO模块, 输入FIFO模块接收128bit宽度的数据, 存放到内部存储器里, 等待 算子读取接口上的数据之后更新数据; 输出 FIFO模块, 接收来自计算 算子的输出 数据; IMD立即数存 储单元, 用于存 储配置数据; 带移位的SREG存 储单元模块, 用于中间过程的缓存及移位计算; MEM数据缓存 模块, 用于存 储初始化的数据以及中间过程的缓存数据; BFU算子计算模块, 其被配置用于实现加法AU, 逻辑运算LU, 移位运算SU以及乘法运算 MU; 其中, 每个BFU单元有3个32bit的输入, 有2个32bit的输出; BFU的3个输入分别命名为A、 B、 T, 输出命名为X, Y, 其中X为结果输出, Y为旁路输出; SBOX非线性查找表单元, 其被配置用于根据不同的配置选择查找不同的子查找表, 并 根据不同的查找模式, 实现不同的查找 功能; BENES比特置换单元模块的执行函数, 其被配置用于输入4个32bit操作数, 输出4个 32bit数据, 实现128bit数据的任意bit置换, 每行可重构配置行包含1个128位的BENES, 用 于非线性的比特置换。权 利 要 求 书 2/2 页 3 CN 115080055 A 3

.PDF文档 专利 面向信息安全的可重构系统芯片编译器、自动编译方法

安全报告 > 其他 > 文档预览
中文文档 13 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 面向信息安全的可重构系统芯片编译器、自动编译方法 第 1 页 专利 面向信息安全的可重构系统芯片编译器、自动编译方法 第 2 页 专利 面向信息安全的可重构系统芯片编译器、自动编译方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常2024-03-18 00:08:01上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。