【技术实现步骤摘要】
一种基于SHA
‑
256算法的并行调度实现方法、系统、介质及设备
[0001]本专利技术属于网络安全
,具体涉及一种基于SHA
‑
256算法的并行调度实现方法、系统、介质及设备。
技术介绍
[0002]网络安全是一门综合性的学科,包含网络设备安全、网络信息安全和网络软件安全。信息的安全传输是网络信息安全中的一部分,主要涉及密码学的知识。密码学哈希算法在安全传输过程中必不可少的,用于安全且高效的获得消息的摘要,其中,安全哈希函数(Secure Hash Algorithms,SHAs)是最为广泛使用的密码学哈希函数。
[0003]安全哈希函数通常用于其他密码学算法中,如数字签名算法、键控哈希的消息认证码和随机数的产生中。安全哈希函数通过保证两种不可计算性来保证安全性,一是找到对应消息摘要的消息是不可计算的,二是找到两个产生相同消息摘要的不同消息是不可计算的。同时,安全哈希函数广泛的应用于抗量子计算密码中,这些密码可以用于抵抗量子计算机的攻击,但是这些算法通常需要更多计算量,对性 ...
【技术保护点】
【技术特征摘要】
1.一种基于SHA
‑
256算法的并行调度实现方法,其特征在于,包括以下步骤:S1、将SHA
‑
256算法的C代码移植到申威SW26010处理器上,并使用申威SW26010处理器的sw5gcc编译器分别编译从核和主核的代码;S2、使用优化后的DMA传输方式对步骤S1得到的从核代码和主核代码进行处理,得到经过DMA传输优化的主核代码和从核代码;S3、利用步骤S2得到的主核代码提供待传输数据接口,依据步骤S2得到的从核代码对SHA
‑
256算法的调度部分进行向量并行化,得到最终的并行调度结果,然后通过标量寄存器得到经过DMA传输优化和并行调度优化的从核代码;S4、依据步骤S3得到的经过DMA传输优化和并行调度优化的从核代码,对SHA
‑
256算法的Ch操作、Maj操作和循环移位操作的指令进行等价替换,得到经过DMA传输优化、并行调度优化和指令操作优化的从核代码;S5、对步骤S4得到的经过DMA传输优化、并行调度优化和指令操作优化的从核代码进行循环展开,调整汇编代码顺序,并限制中间寄存器的使用数量,实现申威26010处理器上SHA
‑
256算法的并行调度。2.根据权利要求1所述的基于SHA
‑
256算法的并行调度实现方法,其特征在于,步骤S1具体为:S101、将OpenSSL中SHA
‑
256算法的C代码移植到申威SW26010处理器上,提供函数接口,输入为消息长度和消息的指针,输出为消息摘要;S102、使用sw5gcc编译SHA
‑
256算法的主核代码,编译选项为
‑
O2,
‑
msimd;S103、使用sw5gcc编译器编译从核代码,编译选项为
‑
O2
‑
msimd
‑
funroll
‑
all
‑
loops
‑
mslave;S104、使用sw5gcc编译器将编译生成主核中间文件和从核中间文件进行链接,与调用函数接口的文件进行链接,生成可执行文件,并添加
‑
sw3run swrun
‑
5a运行参数用于运行sw5gcc编译生成的可执行文件。3.根据权利要求1所述的基于SHA
‑
256算法的并行调度实现方法,其特征在于,步骤S2具体为:S201、在申威SW26010处理器从核的局部存储器开辟静态空间供DMA传输使用;S202、对DMA传输接口使用的数据传输量进行调整,设定最大块数为M,对于块数小于M的消息,仅执行一次DMA传输,对于块数大于M的消息,执行多次DMA传输,得到经过DMA传输优化的从核代码。4.根据权利要求1所述的基于SHA
‑
256算法的并行调度实现方法,其特征在于,步骤S3具体为:S301、依据消息的块数判断调用的并行调度接口,对于长度大于8个块的消息,使用8个调度接口进行依次处理,当剩下的块数小于8个块时,依据剩下的块数,调用处理不同块数接口;对于长度小于等于8个块的消息,直接调用对应的接口;S302、将消息的S块加载到向量寄存器中,S≤8,将小端数据转换成大端数据,得到最终的消息调度结果;将调度结果卸载出向量寄存器,串行地完成消息压缩地计算,得到经过DMA传输优化和并行调度优化的从核代码。5.根据权利要求1所述的基于SHA
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。