数字签名方法、装置、SPHINCS+架构、设备及存储介质与流程
本技术涉及信息安全,特别涉及数字签名方法、装置、sphincs+架构、设备及存储介质。
背景技术:
1、sphincs+是nist(美国国家标准与技术研究院)于后量子密码标准化项目中选定的基于哈希的数字签名方案,其安全性仅依赖底层哈希函数的抗碰撞性,对量子计算攻击具有良好抵抗能力。
2、现有以sloth等单加速器架构为代表的硬件/软件协同设计方案未能充分挖掘sphincs+在fors、wots+和xmss超树各层级中天然存在的并行性。为满足v2x(车联网)、安全启动等实时性敏感场景的低时延签名需求,可以考虑将单加速器架构扩展为多加速器架构以追求更高加速比,但拓展后的多加速器架构往往存在以下技术缺陷。
3、fors树调度瓶颈:fors(随机子集森林)由k棵高度为a的独立二叉merkle树(即fors树)构成,单棵树需进行2a次叶节点哈希和2a-1次内部节点合并,每次哈希操作均需由处理器核通过mmio(内存映射输入/输出)寄存器进行触发、轮询以及相关消息块和地址配置。当多个加速器并行执行时,处理器核必须在多个加速器之间频繁进行软件层面的上下文切换,成为整个fors计算的串行化瓶颈。实际应用中,由软件调度的双加速器配置相对单加速器仅获得微弱提升,远低于理论上线性的双倍加速效果。
4、xmss超树层间空闲:xmss超树包含d层xmss子树,每层xmss子树签名结束时需沿签名叶节点到根节点的路径进行多次串行的认证路径合并。在此合并阶段,p个加速器中仅有一个能参与计算,其余p-1个加速器在每个层间切换边界均处于空闲状态,造成显著的硬件资源浪费。
5、wots+链调度不均衡:wots+签名基于l条独立的wots+链生成,每条wots+链需迭代0至w次哈希运算,w为winternitz参数。在简单fifo动态调度下,调度队列尾部wots+链的期望长度大于平均链长,导致各加速器之间的停顿时间增大,影响整体签名时延。
6、上述缺陷致使简单的多加速器扩展方案无法获得理论上的线性加速比。此外,若通过复制完整处理器核来回避调度瓶颈,则面积开销随处理器核数线性增加,不适合hsm(硬件安全模块)等对面积、功耗严格受限的部署形态。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种数字签名方法、装置、sphincs+架构、设备及存储介质,在不复制处理器核的条件下,克服上述fors树调度瓶颈、xmss超树层间空闲缺陷以及wots+链调度不均衡问题,使单个处理器核能够高效协调多个哈希加速器实现签名加速,以满足v2x、安全启动等实时性敏感场景的低时延签名需求。
2、为实现上述目的,本技术提供如下技术方案:
3、第一方面,本技术提供了一种数字签名方法,基于sphincs+架构,包括如下步骤:
4、s1.获取随机掩码、消息摘要和私钥种子,基于所述消息摘要确定各fors树、各xmss子树和各xmss子树的签名叶节点,基于所述私钥种子派生fors私钥和各xmss子树的签名叶节点的wots+私钥;
5、s2.基于所述fors私钥对所述消息摘要进行签名,得到fors签名,并调度多个哈希加速器并行执行各fors树的叶节点逐层哈希合并运算,得到fors公钥;
6、s3.基于底层xmss子树的签名叶节点的wots+私钥,对所述fors公钥执行wots+签名算法,得到所述fors公钥的wots+签名;
7、s4.调度多个哈希加速器并行生成第n层xmss子树的公钥叶节点;
8、s5.调度一个哈希加速器执行第n层xmss子树的叶节点逐层哈希合并运算,得到第n层xmss子树的根节点和认证路径,同时调度其余哈希加速器并行预生成第n+1层xmss子树的公钥叶节点;
9、s6.基于第n+1层xmss子树的签名叶节点的wots+私钥,对第n层xmss子树的根节点执行wots+签名算法,得到第n层xmss子树的wots+签名;
10、s7.将底层xmss子树作为第0层xmss子树,从底层xmss子树开始逐层向上地重复所述步骤s4-s6,直至在所述步骤s5中得到顶层xmss子树的根节点和认证路径;
11、s8.基于各xmss子树的认证路径和wots+签名生成xmss超树签名,基于所述随机掩码、所述fors签名和所述xmss超树签名生成sphincs+签名。
12、可选地,所述步骤s1,包括:
13、s11.获取随机掩码、消息摘要和私钥种子;所述消息摘要由原始消息、公钥种子、公钥根值和随机掩码通过哈希函数计算得到;
14、s12.按比特位划分所述消息摘要,得到各fors树的索引、各xmss子树的索引和各xmss子树的签名叶节点的索引,以根据索引确定对应的fors树、xmss子树或xmss子树的签名叶节点;
15、s13.基于所述私钥种子,通过伪随机函数派生fors私钥和各xmss子树的签名叶节点的wots+私钥。
16、可选地,所述步骤s2,包括:
17、s21.基于所述fors私钥,计算各fors树的叶节点公钥,并构建各fors树的叶节点到根节点的merkle认证路径,得到fors签名;
18、s22.调度多个哈希加速器,通过各哈希加速器内置的fors树fsm并行执行各fors树的叶节点逐层哈希合并运算,得到fors公钥。
19、可选地,在所述步骤s3和所述步骤s6中,所述wots+签名算法,包括:
20、基于wots+私钥将对应的fors公钥或xmss子树的根节点转换为wots+消息数字序列;所述wots+消息数字序列包括l条w进制的wots+链;
21、遍历所述wots+消息数字序列,将小于链长阈值τ的wots+链依次置于所述wots+消息数字序列尾部,将不小于链长阈值τ的wots+链依次置于所述wots+消息数字序列头部,以将所述wots+消息数字序列重构为wots+链调度队列;
22、遍历所述wots+链调度队列,通过链函数依次对各所述wots+链对应的所述wots+私钥的分量进行哈希迭代,生成对应的签名分量;
23、按生成顺序对各所述签名分量进行组合,得到对应于fors公钥或xmss子树的wots+签名。
24、可选地,所述链长阈值τ的计算公式为:
25、τ=ceil(w×m/l);
26、式中,m表示并行处理的wots+链数量,ceil(·)表示向上取整函数。
27、可选地,在所述步骤s4-s5中,xmss子树的公钥叶节点生成任务均匀分配至各哈希加速器并行执行。
28、第二方面,本技术提供了一种数字签名装置,基于sphincs+架构,包括:
29、摘要处理模块,用于获取随机掩码、消息摘要和私钥种子,基于所述消息摘要确定各fors树、各xmss子树和各xmss子树的签名叶节点,基于所述私钥种子派生fors私钥和各xmss子树的签名叶节点的wots+私钥;
30、fors签名模块,用于基于所述fors私钥对所述消息摘要进行签名,得到fors签名,并调度多个哈希加速器并行执行各fors树的叶节点逐层哈希合并运算,得到fors公钥;
31、公钥签名模块,用于基于底层xmss子树的签名叶节点的wots+私钥,对所述fors公钥执行wots+签名算法,得到所述fors公钥的wots+签名;
32、wots+签名模块,用于调度多个哈希加速器并行生成第n层xmss子树的公钥叶节点;调度一个哈希加速器执行第n层xmss子树的叶节点逐层哈希合并运算,得到第n层xmss子树的根节点和认证路径,同时调度其余哈希加速器并行预生成第n+1层xmss子树的公钥叶节点;基于第n+1层xmss子树的签名叶节点的wots+私钥,对第n层xmss子树的根节点执行wots+签名算法,得到第n层xmss子树的wots+签名;将底层xmss子树作为第0层xmss子树,从底层xmss子树开始逐层向上地重复上述步骤,直至在上述步骤中得到顶层xmss子树的根节点和认证路径;
33、签名封装模块,用于基于各xmss子树的认证路径和wots+签名生成xmss超树签名,基于所述随机掩码、所述fors签名和所述xmss超树签名生成sphincs+签名。
34、第三方面,本技术提供了一种sphincs+架构,应用于如上所述的数字签名方法或数字签名装置,包括:
35、哈希加速引擎,包括多个哈希加速器,各哈希加速器独立配置地址生成器、寄存器组和fors树fsm;
36、risc-v核,与所述哈希加速引擎通信连接,用于通过mimo寄存器向所述哈希加速引擎下发命令和参数;
37、存储子系统,与所述哈希加速引擎和所述risc-v核分别通信连接,用于存储fors树数据、xmss子树数据,以及所述哈希加速引擎和所述risc-v核产生的数据;
38、其中,哈希加速器配置为keccak加速器。
39、第四方面,本技术提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的数字签名方法。
40、第五方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的数字签名方法。
41、本技术采用上述技术方案,与现有技术相比,其有益效果在于:
42、本技术可以在不复制处理器核的条件下,通过多个哈希加速器并行执行每棵fors树的全部叶节点逐层哈希合并运算,将软件调度操作下沉至硬件执行,消除软件调度的mimo瓶颈,优化加速效果;利用xmss子树的签名叶节点索引由消息摘要导出的性质,通过一个哈希加速器合并出当前层xmss子树的认证路径,同时将剩余哈希加速器分配至下一层xmss子树执行公钥叶节点生成任务,消除xmss超树的层间空闲间隙,减少硬件资源浪费;在生成wots+签名时,采用基于长链优先调度、短链最后调度的wots+签名算法,显著减小wots+链调度队列中尾部wots+链的期望长度,降低整体签名时延;单个处理器核由此能够高效协调多个哈希加速器,在面积适度增加的代价下实现接近线性的签名加速,从而满足v2x、安全启动等实时性敏感场景的低时延签名需求。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com