CN113794558A - 一种XMSS算法中的L-tree计算方法、装置及系统 - Google Patents
一种XMSS算法中的L-tree计算方法、装置及系统 Download PDFInfo
- Publication number
- CN113794558A CN113794558A CN202111089426.5A CN202111089426A CN113794558A CN 113794558 A CN113794558 A CN 113794558A CN 202111089426 A CN202111089426 A CN 202111089426A CN 113794558 A CN113794558 A CN 113794558A
- Authority
- CN
- China
- Prior art keywords
- node
- tree
- nodes
- xmss
- hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims description 46
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000003860 storage Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种XMSS算法中的L‑tree计算方法、装置及系统,L‑tree作为XMSS算法的重要组成部分,其执行效率与资源消耗决定了XMSS算法的整体性能。其中,在XMSS的硬件实现仅有一个哈希核的前提下,目前的XMSS中L‑tree硬件实现需要指数级的存储空间;本发明提供一种针对XMSS算法中的L‑tree计算方法,在不降低算法性能的前提下能够将高度为l的L‑tree所需的存储资源指数级降低为线性,并且具有更高的安全性。
Description
【技术领域】
本发明涉及后量子加密算法XMSS算法领域,具体为一种XMSS算法中的L-tree计算方法、装置及系统。
【背景技术】
随着量子计算机的出现,未来数年内现有加密算法体系(标准)将不再安全。因此,推动下一代加密算法的研究、应用及标准化成为我国信息产业新基建中亟需解决的关键问题之一。
目前美国NIST的后量子加密标准化进程已经进入第三轮,美国国家安全局更是将后量子加密算法定义为解决后量子计算机时代信息安全问题的首选方案。国际上,Intel、IBM、Google等各大公司均在积极的开展相关技术的研究、应用与产业化。其中,Google已经初步完成立了后量子加密算法在Chrome浏览器中的嵌入与测试。IBM则已经将PQC嵌入至硬件安全模块中。目前国内针对后量子加密的研究主要集中于科研院所,华为在其未来研究方向中提及了后量子加密的重要性,但是目前未见其产业化应用的相关报道。
XMSS作为一种基于哈希的后量子密码算法,主要被应用于签名、验签业务。是最早被标准化的PQC算法之一。目前已经被NIST、IETF RFC等机构完成标准化,并被Autosar等安全架构所兼容,正在被应用于汽车安全芯片等相关领域。
目前,XMSS算法在应用中缺少硬件实现相关方案,如何在XMSS算法的软硬件实现中提升其执行效率、降低资源消耗成为XMSS算法广泛应用的前提。
L-tree作为XMSS算法的重要组成部分,其执行效率与资源消耗决定了XMSS算法的整体性能。其中,在XMSS的硬件实现仅有一个哈希核的前提下,目前的XMSS中L-tree硬件实现需要指数级的存储空间。
【发明内容】
本发明所要解决的技术问题是,在XMSS的硬件实现仅有一个哈希核的前提下,目前的XMSS中L-tree硬件实现需要指数级的存储空间的问题。
为实现上述目的,本发明采用如下技术方案:
第一方面,本发明提供了一种XMSS算法中的L-tree计算方法,基于(i,j)与(i,j+1)配对节点的串行哈希运算,具体的:
叶节点为所述L-tree中的底部的0级节点,从叶节点逐级计算生成(i,j)节点进行存储,从叶节点逐级计算至(i,j+1)生成后,取出(i,j)节点与(i,j+1)节点进行哈希运算生成父节点;其中i代表节点所在级数,取值为0,1,2…D;其中L为叶节点数量;j取值为从0开始的偶数,j的取值上限为小于L的最大偶数,通过i和j的取值组合确定L-tree中的各个节点。
优选的,L-tree中0级的各个叶节点的(0,j)和/或(0,j+1)是通过WOTS chain的哈希计算生成结果。
优选的,所述从叶节点逐级计算生成(i,j),具体包括:
L-tree中0级的(0,m)节点与(0,m+1)节点进行哈希计算得到L-tree中1级的(1,m/2)节点;若m/2为偶数,则满足L-tree中1级的存储条件,并将(1,m/2)节点进行存储;
若m/2为奇数,则取出存储的对应的配对节点(1,m/2-1)进行哈希运算生成父节点(2,(m/2-1)/2);
上述过程持续进行直到生成节点(i,j)。
优选的,所述计算方法中仅使用一个哈希核,用于执行(i,j)与(i,j+1)配对节点作为子节点生成父节点的哈希运算,以及用于执行WOTS chain生成叶节点(0,j)和/或(0,j+1)的哈希运算。
优选的,所述L-tree计算方法中,节点的存储是基于一个大小为(D+1)×nbyte的寄存器堆栈实现,堆栈地址被标注为P,其中,P=0,1,2,…D;n为单一节点的数据位宽大小。
优选的,将所述节点(i,j)具体存储于标注为P=i的寄存器堆栈地址中。
优选的,最后一个叶节点经过哈希运算生成后,所述叶节点向上生成对应的排序末位的节点,直至L-tree生成根节点(D,0),所述根节点被存储于标注为P=D的寄存器中,此时L-tree的所有计算完成。
优选的,当最后一个叶节点(0,L-1)生成后,如果L为奇数,则将叶节点(0,L-1)提升至(M,(L-1)/2M),M为确保(L-1)/2M为整数的最小整数。
第二方面,本发明提供了一种XMSS算法中的L-tree计算装置,针对XMSS算法的深度优先L-tree计算装置包括至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的针对XMSS算法中的L-tree计算方法。
第三方面,本发明提供了一种XMSS算法中的L-tree计算系统,包括哈希核单元、存储单元和处理单元,具体的:
所述哈希核单元用于在第一方面的XMSS算法中的L-tree计算方法,执行(i,j)与(i,j+1)配对节点作为子节点生成父节点的哈希运算,以及用于执行WOTS chain生成叶节点(0,j)和/或(0,j+1)的哈希运算;
所述处理单元用于调用哈希核单元完成L-tree中各个节点结算,在计算过程中调用存储单元进行L-tree中各级中偶数节点的缓存;其中,每一级节点的顺序编号默认都从0开始。
本发明提供了一种针对XMSS算法中的L-tree计算方法,极大地降低L-tree所需的存储空间,大大的节省了硬件资源消耗。在不降低算法性能的前提下能够将高度为l的L-tree所需的存储资源指数级降低为线性,并且具有更高的安全性。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种XMSS算法中的L-tree计算中节点标注方式示意图;
图2是本发明实施例提供的一种XMSS算法中的L-tree计算方法的XMSS架构图;
图3是本发明实施例提供的一种XMSS算法中的L-tree计算方法的流程图;
图4是本发明实施例提供的一种XMSS算法中的L-tree计算中哈希核计算顺序示意图;
图5是本发明实施例提供的一种XMSS算法中的L-tree计算方法的存储方法示意图;
图6是本发明实施例提供的传统的L-tree数据流与存储机制示意图;
图7是本发明实施例提供的一种针对XMSS算法中的L-tree计算方法的40nm UMC工艺下L-tree硬件实现的资源消耗对比图;
图8是本发明实施例提供的一种针对XMSS算法的深度优先L-tree计算装置的装置示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
如图1所示,一种针对XMSS算法中的L-tree计算方法,基于(i,j)与(i,j+1)配对节点的串行哈希运算,在本发明实施例中,采用i和j作为整个L-tree中各个节点的位置标识,如图2所示,其中,L-tree的最底层为其0级节点,此时,相应的i取值便为0,并且随着逐级往上升,相应的i的取值也逐级+1;而相应的j的取值,在每一级中都是从最左侧的0还是计数,例如图2中左下角的j取0值时对应的(0,0)与(0,1)作为得到的配对节点,相应的j取2时对应得到的配对节点即为(0,2)与(0,3),L-tree的每一级节点依此类推,具体的:
叶节点为所述L-tree中的底部的0级节点,从叶节点逐级计算生成(i,j)节点进行存储,从叶节点逐级计算至(i,j+1)生成后,取出(i,j)节点与(i,j+1)节点进行哈希运算生成父节点;其中i代表节点所在级数,取值为0,1,2…D;其中L为叶节点数量;j取值为从0开始的偶数,j的取值上限为小于L的最大偶数,通过i和j的取值组合确定L-tree中的各个节点。其中,符号的含义是对log2L进行向上取整。
通过上述的描述不难发现,其中j的取值为偶数,因此,每次进行存储的仅为当中相应i级的偶数节点(i,j),而作为奇数节点的(i,j+1)则无需进行存储,而直接调出在先存储的偶数节点进行父节点的计算,从而节约了存储空间。
所述计算方法中仅使用一个哈希核,用于执行(i,j)与(i,j+1)配对节点作为子节点生成父节点的哈希运算,以及用于执行WOTS chain生成叶节点(0,j)和/或(0,j+1)的哈希运算;哈希核总是被优先执行(i,j)与(i,j+1)配对节点作为子节点生成父节点的哈希运算。
本发明实施例提供了一种XMSS算法中的L-tree计算方法,极大地降低L-tree所需的存储空间,大大的节省了硬件资源消耗。在不降低算法性能的前提下能够将高度为l的L-tree所需的存储资源指数级降低为线性,并且具有更高的安全性。
接下来,将从L-tree的叶子节点的生成,以及以叶子节点所在的0级出发阐述本发明实施例中各级父节点生成的计算过程,以及相应的存储方式。如图2所示,为本发明实施例所提出的L-tree在一个较为完整的生态链里面的角色位置;其中,WOTS标注的环节是用于生成L-tree的各个叶子节点,而每一个L-tree的根节点又是作为Merkle-tree的叶子节点存在和被使用,如图3所示,参考图2所的L-tree结构,以生成如上述实施例1中的节点(i,j)为例,方法具体包括:
步骤201中,哈希核从左至右执行WOTS chain的哈希计算生成叶节点(0,m),(0,m+1)。其中,m为上述实施例中j的具体取值表现,其限定条件和上述j的限定条件一致。
如图2所示,WOTS部分的每个WOTS chain经过W-1次哈希运算得出L-tree需要的叶节点,即图2中有L-tree所标识范围内的最底层节点。其中,每一个位于L-tree叶节点之下的纵向节点链表关系就代表了一条WOTS chain,即对应生成一个L-tree叶节点过程。由于相应WOTS计算过程不属于本发明的侧重点,因此,不在此展开过多阐述。
其中,起始叶节点表现为(0,0),(0,1),上述的(0,m),(0,m+1)仅仅是为了普适性表达做的特殊处理。
步骤202中,L-tree中0级的(0,m)节点与(0,m+1)节点进行哈希计算得到他们位于L-tree中1级的父节点(1,m/2)。若m/2为偶数,跳转到步骤203中,若m/2为奇数,跳转到步骤204中。
至此,需要强调的是,在本发明实施例中,无论是上述利用WOTS计算得到L-tree叶子节点,还是此处计算父节点(1,m/2);整个过程都是基于一个哈希核(即hash计算单元)来完成的,因为整体是一个串行计算的过程,由此,也极大的压缩了计算所需占用的资源。
步骤203中,满足L-tree中1级的存储条件,并将(1,m/2)节点进行存储,跳转到L-tree中0级中后续的(0,m+2)节点与(0,m+3)节点进行哈希计算得到所述(1,m/2)节点的配对节点(1,m/2+1),以便哈希运算生成父节点(2,m/4)。进入步骤205。
以图4为例,此时若m取值为0,则上述步骤201所执行的内容是分别得到如图4所示的(0,0)节点和(0,1)节点,而作为本发明所拟定的存储策略,其中,(0,0)节点会被存储到寄存器中,而一旦串行计算得到(0,1)节点,边可以调取出之前存储的(0,0)节点,利用哈希核计算得到他们两者的父节点(1,0),图4中各个圆圈内包含的数值即表明了各个节点在哈希核中计算的顺序编号。
在图4中,一旦计算出节点(1,0),并在满足存j取值为偶数的储条件情况下被存储到寄存器后,便会跳转到L-tree中0级中后续的(0,2)节点与(0,3)节点进行哈希计算得到所述(1,1),由如图4中的圆圈所包含的编号4,5,6的过程。
上述跳转的文字表述其实还隐藏了相应(0,m+2)节点与(0,m+3)节点还各自需要分别依赖WOTS计算得到的过程内容。
步骤204中,取出存储的对应的配对节点(1,m/2-1)进行哈希运算生成父节点(2,(m/2-1)/2)。进入步骤205。
其中节点(i,j+2)为偶数节点,所以节点(i,j+2)同样需要存储;其中(i,j+2)与(i,j)为同级节点,为了保证同一级节点使用同一堆栈地址存储,所述(i,j+2)同样存储在堆栈地址P=i中。
步骤205中,在未得到配对节点情况下优先计算配对节点,在获取到配对节点优先计算父节点的规则下,以上述过程持续叠加m生成各配对节点的父节点,直到生成L-tree的(i,j)节点。
如图4所示的,其中的各个节点旁边圆圈所标注的在哈希核中的计算顺序便可以准确的应征上述步骤205的技术表述。
本发明所述的深度优先计算方法只存在一个哈希核,所述哈希核会优先执行L-tree中子节点生成父节点的哈希运算,其次执行WOTS chain生成叶节点的哈希运算,因此当一组配对节点都生成时,深度优先计算方法会将配对节点优先执行哈希运算生成父节点,所以无需将配对节点中的两个节点都进行存储。
通过本发明实施例步骤201-205过程,可以得出在本发明优选实现方案中,如图5所示,节点的存储是基于一个大小为(D+1)×n byte的寄存器堆栈实现,堆栈地址被标注为P,其中,P=0,1,2,…D;n为单一节点的数据位宽大小。即对于L-tree的每一级而言,进需要设置一个节点的存储位宽大小的寄存器即可,从而极大的缩减了整个计算过程的存储空间需求,这也是基于本发明实施例提出的配对计算父节点,并有策略的进存储每一级中其中j参数值为偶数的节点的方式才能得以有效实现。
由于一组配对节点作为子节点执行哈希运算生成父节点之后,所述配对节点便不再需要,以上面实施例为例,其中L-tree中用于存储0级节点的寄存器(即标注了P=0的寄存器),其在先存储了节点(0,m)后,便可以被后续生成的节点(0,m+2)覆盖(以图5为例,在存储了节点(0,m)后,相应的寄存器的最底层的节点内容将表现为(0,m),图5当前表现的是(0,0),而在被节点(0,m+2)覆盖后,相应的最底层的节点内容将表现为(0,m+2)),使得计算过程在性能基本不变的前提下,所需的存储资源消耗由指数级降低为线性。
本发明提出的L-tree实现方式由于可以将存储空间降低到极简的装填,因此可以使用寄存器来实现,消除了现有技术中RAM存储,使得系统能够更好的抵御针对RAM的侧信道攻击,具有更高的安全性。
如图2所示,当最后一个叶节点(0,L-1)通过哈希运算生成后,如果L为偶数,则所述叶节点(0,L-1)与配对节点进行哈希运算生成父节点;如果L为奇数,则将叶节点(0,L-1)提升至(M,(L-1)/2M),M为确保(L-1)/2M为偶数的最小整数。
当L为奇数时,最后一个叶节点不存在能与它配对进行计算的节点,因此对所述最后一个叶节点进行提升,逐步向上生成对应的排序末尾的节点。
最后一个叶节点经过哈希运算生成后,L-tree生成根节点(D,0),所述根节点被存储于地址P=D中,此时L-tree的所有计算完成。
当L-tree的所有计算完成后,所有节点数据便不需要了,可以被下一轮计算数据覆盖。
实施例2:
本发明实施例提出了一种针对XMSS算法中的L-tree计算方法,在实施例1的基础上,本实施例进一步使用一个具体的示例来阐述本发明的具体实施方式,并在该情景下使用现有技术与本发明分别执行并做出对比,进一步阐明本方案的优越性,相应的L-tree如图4所示,以下的步骤编号将与图4中圆圈所标注的数字序号相匹配,包括:
初始化阶段,WOTS生成15个WOTS public key,因此在本实施例子L=15。
在步骤301中,WOTS chain生成叶节点(0,0),并被存储于地址P=0中,即节点(0,0)可认为是排序第1的叶节点。
在步骤302中,WOTS chain生成节点(0,1);
在步骤303中,通过对节点(0,0)与节点(0,1)执行哈希运算生成其父节点(1,0),由于节点(0,1)生成后立即执行了哈希运算,因此该节点(0,1)不需要被存储,生成的父节点(1,0)被存储于标注为P=1的寄存器中。
在步骤304中,WOTS chain生成的新叶节点(0,2)便可以取代已经被执行哈希运算的节点(0,0)而被存储于标注为P=0的寄存器中。因为,此时节点(0,0)已经在步骤302中被使用掉,其存在标注为P=0的寄存器中意义已经不存在了。
在步骤305中,WOTS chain生成叶节点(0,3)。
在步骤306中,配对节点(0,2)与节点(0,3)便可以生成父节点(1,1),由于节点(1,1)的配对节点(1,0)已经在之前的步骤中被运算生成并被存储于标注为P=1的寄存器中,此时节点(1,1)便不需要被存储,直接从存储地址P=1中取出节点(1,0)进行哈希运算,从而生成父节点(2,0),并存储于标注为P=2的寄存器中。
后续方案执行以此类推,相应的步骤编号也可以对应图4中相应圆圈的数值一一对应进行。
由于L=15为奇数,因此WOTS chain生成的最后一个叶节点(0,14)将不存在对应的配对节点,参考将叶节点(0,14)提升至(M,(L-1)/2M),M为确保(L-1)/2M为整数的最小整数,将该节点直接提升为节点(1,7),并与存储于标注为p=2的寄存器中的节点(1,6)配对运算,得出节点(2,3)。
通过上述方法,如图3所示,由于深度优先的计算方法,获取的同一级的节点重复覆盖存储于相同的堆栈地址的数据单元中,大大减小了存储资源的消耗。
实施例3:
为了更好的阐述本发明所提出的存储方式,先介绍传统方案的存储实现,如图6所示,参考图4所示的L-tree实例场景,现有传统存储实现方式如下:
WOTS chain生成叶节点(0,0),(0,1),(0,2)…,(0,L-1)并一一对应被存储于图6中右侧矩阵中最下面一行标识为(0,0),(0,1),(0,2)…,(0,L-1)的寄存器中。
从左至右将叶节点两两配对,对两两配对的叶节点执行哈希运算生成父节点。
将父节点(1,0),(1,1)…,(1,(L-1)/2)一一对应存储于图6中右侧矩阵中最下面开始数的第二行,图6中标识为(1,0),(1,1),(1,2)…,(1,(L-1)/2)的寄存器中。依此类推从而完成现有技术中类似图6所示的节点生成和存储,并最终得到整个L-tree。
本发明实施例的存储方式已经在实施例2中做了完善的表述,在此不再赘述。
如图7所示,在UMC 40nm下,本发明和传统方案的设计的资源消耗及功耗对比,其中:
Comb.logic为组合逻辑面积;Seq.Logic为时序逻辑面积;Memory为存储器面积;Gates为将组合逻辑面积、时序逻辑面积与存储器面积转换为标准二输入与非门的个数;TotalArea为总面积;Fmax为最大频率;Power为功耗。
图7中,wang[25]所标注列数据为现有技术,Proposed所标注的为本发明的数据,对比可得出本发明相比较传统方案节省了接近40%的面积消耗,节省了72%的功耗。
本发明所示L-tree实现方式消除了RAM存储,使得系统能够更好的抵御针对RAM的侧信道攻击,具有更高的安全性。
实施例4:
如图8所示,是本发明实施例的一种针对XMSS算法的深度优先L-tree计算装置示意图。本实施例的一种XMSS算法的深度优先L-tree计算装置包括一个或多个处理器601以及存储器602。其中,图8中以一个处理器601为例。
处理器601和存储器602可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的XMSS算法中的L-tree计算方法。处理器601通过运行存储在存储器602中的非易失性软件程序和指令,从而执行XMSS算法中的L-tree计算方法。
存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至处理器601。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器602中,当被所述一个或者多个处理器601执行时,执行上述实施例1中的一种针对链路聚合组的双向转发检测方法方法,例如,执行以上描述的图3所示的各个步骤。
实施例5:
如图7所示,是本发明实施例的一种针对XMSS算法中的L-tree计算系统,其特征在于,包括哈希核单元、存储单元和处理单元,具体的:
所述哈希核单元用于在实施例1-实施例3的XMSS算法中的L-tree计算方法,执行(i,j)与(i,j+1)配对节点作为子节点生成父节点的哈希运算,以及用于执行WOTS chain生成叶节点(0,j)和/或(0,j+1)的哈希运算;
所述处理单元用于调用哈希核单元完成L-tree中各个节点结算,在计算过程中调用存储单元进行L-tree中各级中偶数节点的缓存;其中,每一级节点的顺序编号默认都从0开始。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
2.根据权利要求1所述的XMSS算法中的L-tree计算方法,其特征在于,L-tree中0级的各个叶节点的(0,j)和/或(0,j+1)是通过WOTS chain的哈希计算生成结果。
3.根据权利要求1所述的XMSS算法中的L-tree计算方法,其特征在于,所述从叶节点逐级计算生成(i,j),具体包括:
L-tree中0级的(0,m)节点与(0,m+1)节点进行哈希计算得到L-tree中1级的(1,m/2)节点;若m/2为偶数,则满足L-tree中1级的存储条件,并将(1,m/2)节点进行存储;
若m/2为奇数,则取出存储的对应的配对节点(1,m/2-1)进行哈希运算生成父节点(2,(m/2-1)/2);
上述过程持续进行直到生成节点(i,j)。
4.根据权利要求1所述的XMSS算法中的L-tree计算方法,其特征在于,所述计算方法中仅使用一个哈希核,用于执行(i,j)与(i,j+1)配对节点作为子节点生成父节点的哈希运算,以及用于执行WOTS chain生成叶节点(0,j)和/或(0,j+1)的哈希运算。
5.根据权利要求1所述的XMSS算法中的L-tree计算方法,其特征在于,所述L-tree计算方法中,节点的存储是基于一个大小为(D+1)×n byte的寄存器堆栈实现,堆栈地址被标注为P,其中,P=0,1,2,…D;n为单一节点的数据位宽大小。
6.根据权利要求5述的XMSS算法中的L-tree计算方法,其特征在于,将所述节点(i,j)具体存储于标注为P=i的寄存器堆栈地址中。
7.根据权利要求5所述的XMSS算法中的L-tree计算方法,其特征在于,最后一个叶节点经过哈希运算生成后,所述叶节点向上生成对应的排序末位的节点,直至L-tree生成根节点(D,0),所述根节点被存储于标注为P=D的寄存器中,此时L-tree的所有计算完成。
8.根据权利要求1-7任一所述的XMSS算法中的L-tree计算方法,其特征在于,当最后一个叶节点(0,L-1)生成后,如果L为奇数,则将叶节点(0,L-1)提升至(M,(L-1)/2M),M为确保(L-1)/2M为整数的最小整数。
9.一种XMSS算法中的L-tree计算装置,其特征在于,针对XMSS算法的深度优先L-tree计算装置包括至少一个处理器,以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-8所述的针对XMSS算法中的L-tree计算方法。
10.一种XMSS算法中的L-tree计算系统,其特征在于,包括哈希核单元、存储单元和处理单元,具体的:
所述哈希核单元用于在权利要求1-8中任一的XMSS算法中的L-tree计算方法,执行(i,j)与(i,j+1)配对节点作为子节点生成父节点的哈希运算,以及用于执行WOTS chain生成叶节点(0,j)和/或(0,j+1)的哈希运算;
所述处理单元用于调用哈希核单元完成L-tree中各个节点结算,在计算过程中调用存储单元进行L-tree中各级中偶数节点的缓存;其中,每一级节点的顺序编号默认都从0开始。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111089426.5A CN113794558B (zh) | 2021-09-16 | 2021-09-16 | 一种XMSS算法中的L-tree计算方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111089426.5A CN113794558B (zh) | 2021-09-16 | 2021-09-16 | 一种XMSS算法中的L-tree计算方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113794558A true CN113794558A (zh) | 2021-12-14 |
CN113794558B CN113794558B (zh) | 2024-02-27 |
Family
ID=78878658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111089426.5A Active CN113794558B (zh) | 2021-09-16 | 2021-09-16 | 一种XMSS算法中的L-tree计算方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113794558B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130029A1 (en) * | 2004-11-15 | 2006-06-15 | Sharp Kabushiki Kaisha | Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium |
CN101535993A (zh) * | 2006-10-30 | 2009-09-16 | 新叶股份有限公司 | 比特序列检索方法和程序 |
US20170293617A1 (en) * | 2016-04-06 | 2017-10-12 | Baidu Usa Llc | Unified storage system for online image searching and offline image analytics |
CN107330094A (zh) * | 2017-07-05 | 2017-11-07 | 湖南大学 | 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法 |
CN110169040A (zh) * | 2018-07-10 | 2019-08-23 | 深圳花儿数据技术有限公司 | 基于多层一致性哈希的分布式数据存储方法与系统 |
WO2019161453A1 (en) * | 2018-02-22 | 2019-08-29 | ScalaMed Pty Ltd | A computer system and a computer implemented method for determining fulfilment of an obligation to a user |
US20190319803A1 (en) * | 2019-06-28 | 2019-10-17 | Intel Corporation | Odd index precomputation for authentication path computation |
CN110489420A (zh) * | 2019-08-14 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种基于区块链的数据处理方法及装置 |
CN110602239A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块链信息存储方法及相关设备 |
CN110612700A (zh) * | 2019-03-15 | 2019-12-24 | 阿里巴巴集团控股有限公司 | 基于恢复的公钥进行认证 |
CN110989922A (zh) * | 2019-10-28 | 2020-04-10 | 烽火通信科技股份有限公司 | 一种分布式数据存储方法及系统 |
CN111076736A (zh) * | 2020-01-02 | 2020-04-28 | 清华大学 | 一种基于FPGA设计的车载系统和A star路径搜索方法 |
CN111309523A (zh) * | 2020-02-16 | 2020-06-19 | 西安奥卡云数据科技有限公司 | 数据读写方法、数据远程复制方法及装置、分布式存储系统 |
CN111522811A (zh) * | 2020-03-18 | 2020-08-11 | 大箴(杭州)科技有限公司 | 数据库的处理方法及装置、存储介质、终端 |
CN111625534A (zh) * | 2020-04-09 | 2020-09-04 | 中国人民解放军战略支援部队信息工程大学 | 用于哈希运算的数据结构及基于该结构的哈希表存储、查询方法 |
WO2020220540A1 (zh) * | 2019-04-28 | 2020-11-05 | 平安科技(深圳)有限公司 | 基于点对点网络的数据存储方法、装置、介质及终端设备 |
CN112380209A (zh) * | 2020-10-29 | 2021-02-19 | 华东师范大学 | 一种面向区块链多通道状态数据的聚集结构树方法 |
CN112947847A (zh) * | 2019-12-11 | 2021-06-11 | 伊姆西Ip控股有限责任公司 | 用于存储数据的方法、设备和计算机程序产品 |
-
2021
- 2021-09-16 CN CN202111089426.5A patent/CN113794558B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060130029A1 (en) * | 2004-11-15 | 2006-06-15 | Sharp Kabushiki Kaisha | Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium |
CN101535993A (zh) * | 2006-10-30 | 2009-09-16 | 新叶股份有限公司 | 比特序列检索方法和程序 |
US20170293617A1 (en) * | 2016-04-06 | 2017-10-12 | Baidu Usa Llc | Unified storage system for online image searching and offline image analytics |
CN107330094A (zh) * | 2017-07-05 | 2017-11-07 | 湖南大学 | 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法 |
WO2019161453A1 (en) * | 2018-02-22 | 2019-08-29 | ScalaMed Pty Ltd | A computer system and a computer implemented method for determining fulfilment of an obligation to a user |
CN110169040A (zh) * | 2018-07-10 | 2019-08-23 | 深圳花儿数据技术有限公司 | 基于多层一致性哈希的分布式数据存储方法与系统 |
CN110612700A (zh) * | 2019-03-15 | 2019-12-24 | 阿里巴巴集团控股有限公司 | 基于恢复的公钥进行认证 |
WO2020220540A1 (zh) * | 2019-04-28 | 2020-11-05 | 平安科技(深圳)有限公司 | 基于点对点网络的数据存储方法、装置、介质及终端设备 |
US20190319803A1 (en) * | 2019-06-28 | 2019-10-17 | Intel Corporation | Odd index precomputation for authentication path computation |
CN110489420A (zh) * | 2019-08-14 | 2019-11-22 | 深圳前海微众银行股份有限公司 | 一种基于区块链的数据处理方法及装置 |
CN110602239A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块链信息存储方法及相关设备 |
CN110989922A (zh) * | 2019-10-28 | 2020-04-10 | 烽火通信科技股份有限公司 | 一种分布式数据存储方法及系统 |
CN112947847A (zh) * | 2019-12-11 | 2021-06-11 | 伊姆西Ip控股有限责任公司 | 用于存储数据的方法、设备和计算机程序产品 |
CN111076736A (zh) * | 2020-01-02 | 2020-04-28 | 清华大学 | 一种基于FPGA设计的车载系统和A star路径搜索方法 |
CN111309523A (zh) * | 2020-02-16 | 2020-06-19 | 西安奥卡云数据科技有限公司 | 数据读写方法、数据远程复制方法及装置、分布式存储系统 |
CN111522811A (zh) * | 2020-03-18 | 2020-08-11 | 大箴(杭州)科技有限公司 | 数据库的处理方法及装置、存储介质、终端 |
CN111625534A (zh) * | 2020-04-09 | 2020-09-04 | 中国人民解放军战略支援部队信息工程大学 | 用于哈希运算的数据结构及基于该结构的哈希表存储、查询方法 |
CN112380209A (zh) * | 2020-10-29 | 2021-02-19 | 华东师范大学 | 一种面向区块链多通道状态数据的聚集结构树方法 |
Non-Patent Citations (2)
Title |
---|
刘文瑞;: "抗量子计算攻击密码体制发展分析", 通信技术, no. 05, 10 May 2017 (2017-05-10) * |
马占刚;李春雷;曹喜信;: "一种可扩展的区块链专用协处理器架构", 微纳电子与智能制造, no. 01, 15 March 2020 (2020-03-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN113794558B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698885B2 (en) | Method and device for writing service data in block chain system | |
US20180359083A1 (en) | Sm3 hash algorithm acceleration processors, methods, systems, and instructions | |
US11706020B2 (en) | Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms | |
US20190266193A1 (en) | Data processing method for bloom filter, and bloom filter | |
TW201732592A (zh) | 用於多位元錯誤偵測和校正之裝置和方法 | |
CN107818151A (zh) | 数据查找方法、装置、计算机设备和存储介质 | |
CN104361068B (zh) | 一种数据去重过程中的并行分块方法与系统 | |
WO2017097159A1 (zh) | 一种随机字符串生成方法及装置 | |
CN107257955B (zh) | 快速向量动态存储器冲突检测 | |
EP3933743A1 (en) | Method and device for blockchain transaction tracing | |
CN110086602A (zh) | 基于gpu的sm3密码散列算法的快速实现方法 | |
CN113794558A (zh) | 一种XMSS算法中的L-tree计算方法、装置及系统 | |
WO2017157038A1 (zh) | 数据处理的方法、装置和设备 | |
CN103260154B (zh) | 一种基于128-eia3的完整性保护增强方法 | |
US20190095442A1 (en) | Techniques to enable early detection of search misses to accelerate hash look-ups | |
CN114510217A (zh) | 处理数据的方法、装置和设备 | |
Ichihara et al. | State assignment for fault tolerant stochastic computing with linear finite state machines | |
TW201734855A (zh) | 基於截斷的確定性有限自動機(dfa)與硬體過濾器匹配的區域/能源複雜的正規表示法樣式 | |
CN113282800B (zh) | 一种基于信息熵的动态多模匹配方法及装置 | |
CN111476663B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
US20220113969A1 (en) | Techniques for use of a large scale multi-literal matching algorithm | |
Bukkapatnam et al. | VLSI implementation of low-power and area efficient parallel memory allocation with EC-TCAM | |
CN116074124A (zh) | 一种用于无固定偏移规则的攻击检测匹配方法及装置 | |
CN118250218A (zh) | 规则表的维护方法、装置、电子设备及存储介质 | |
Huang et al. | The Hardware Acceleration of SC Decoder for Polar Code towards HLS Optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |