【技术实现步骤摘要】
一种基于定制高级C语言的可重构密码算法的解释器
[0001]本专利技术涉及面向信息安全应用的可重构系统芯片编译器的设计,具体涉及一种基于定制高级C语言的可重构密码算法的解释器,属于信息安全
技术介绍
[0002]可重构处理器能效比优势明显,兼具了专用集成电路(Application Specific Integrated Circuit,ASIC)的高性能和通用处理器(General PurposeProcessors,GPP)的灵活性,从而受到各界广泛关注。对于可重构处理器来说,其灵活性体现在用户可以对硬件的计算功能进行配置,高性能的原因是采用硬件并行的计算方式,而在实现某个计算功能时,其配置方案往往成为影响计算性能的关键。由于可重构处理器的计算单元和存储资源在时间和空间上需要结合应用程序的特征,增加算法映射的难度。在这样的背景下,算法在可重构处理器上的映射过程常采用手动的方式完成。但人工配置的方式具有时间长、效果不稳定、错误率高等缺点,传统的编译技术主要针对基于指令集的串行通用处理器,无法满足基于数据流图(Da ...
【技术保护点】
【技术特征摘要】
1.一种基于定制高级C语言的可重构密码算法的解释器,其特征在于,包括密码算法定制语言的输入程序、编译优化模块、中间文件及数据流图的生成模块,映射模块以及阵列生成配置码模块;所述密码算法定制语言的输入程序为采用定制高级C语言编写的输入程序;所述编译优化模块包括软硬件划分单元、硬件代码优化单元、硬件代码编译单元以及软件编译链接单元,所述软硬件划分单元用于为循环体添加注释从而标记硬件代码;所述硬件代码优化单元用于根据硬件功能实现的代码规范,改写标记后的所述硬件代码;所述硬件代码编译单元包含源文件,并包含若干用于编译代码的功能单元;所述软件编译链接单元用于把不同编译单元中产生的符号联系起来,构成一个可执行的程序;所述中间文件生成模块用于将输入程序经过前端编译优化模块生成的数据包转化为固定格式的中间文件;所述映射模块用于将输入的中间文件按照固定的映射方式,映射为相应算法的流程图;所述阵列生成配置码模块用于从映射后的流程图提取配置信息,并将配置信息经过压缩转化为用于配置对应的硬件架构的配置码。2.根据权利要求1所述的基于定制高级C语言的可重构密码算法的解释器,其特征在于,所述硬件代码优化单元采用BFU,SBOX,BENES算子进行代码优化。3.根据权利要求2所述的基于定制高级C语言的可重构密码算法的解释器,其特征在于,所述采用BFU算子进行优化的过程包括:1:根据算法需要,确定需要进行运算的操作数、处理的模运算模式,分别赋值函数的3个输入A、B、T以及需要处理的模运算mode;2:根据BFU算子功能实现方案选择确定需要实现的BFU功能,并将参数传递给算子功能func,函数内部将根据该参数选择具体的计算算子;3:在函数底层对具体需要实现的算子,规定相关输入输出参数,根据BFU算子功能实现方案进行设定,并完成最后封装;4:将要输出的参数传递给结果输出X,旁路输出Y。4.根据权利要求2所述的基于定制高级C语言的可重构密码算法的解释器,其特征在于,所述采用SBOX算子进行优化的过程包括:1:尽可能利用查找表资源,每个查找表分为上下两...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。