CN113922955B - 一种xmss算法的全硬件实现架构及其系统 - Google Patents
一种xmss算法的全硬件实现架构及其系统 Download PDFInfo
- Publication number
- CN113922955B CN113922955B CN202111167369.8A CN202111167369A CN113922955B CN 113922955 B CN113922955 B CN 113922955B CN 202111167369 A CN202111167369 A CN 202111167369A CN 113922955 B CN113922955 B CN 113922955B
- Authority
- CN
- China
- Prior art keywords
- module
- sub
- tree
- wots
- signature
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 59
- 238000000034 method Methods 0.000 claims description 55
- 238000012795 verification Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 description 36
- 230000006870 function Effects 0.000 description 13
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 4
- 101100328518 Caenorhabditis elegans cnt-1 gene Proteins 0.000 description 3
- 101100328519 Caenorhabditis elegans cnt-2 gene Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method 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
- H04L9/0858—Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/3247—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 involving digital signatures
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Mathematics (AREA)
- Power Engineering (AREA)
- Electromagnetism (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及信息安全技术领域,提供了一种XMSS算法的全硬件实现架构及其系统。其中服务侧中Addr子模块与L‑tree子模块和Merkle子模块两两互通从而构成密钥生成的主体功能组件;所述第一消息子模块、Sig子模块与BDS子模块互通从而构成签名生成的主体功能组件;所述控制模块用于控制数据传输通道在上述各子模块之间进行切换,从而完成密钥生成功能及签名功能。本发明将XMSS算法的硬件实现分为公钥生成的相关模块与签名生成的相关模块两部分,从而实现了公钥生成的相关模块与签名生成的相关模块的资源复用,降低了资源消耗。
Description
【技术领域】
本发明涉及信息安全技术领域,特别是涉及一种XMSS算法的全硬件实现架构及其系统。
【背景技术】
随着量子计算机的出现,未来数年内现有加密算法体系(标准)将不再安全。因此,推动下一代加密算法的研究、应用及标准化成为我国信息产业新基建中亟需解决的关键问题之一。
XMSS作为一种基于哈希的后量子密码算法,主要被应用于签名、验签业务。是最早被标准化的PQC算法之一。目前已经被NIST、IETF RFC等机构完成标准化,并被Autosar等安全架构所兼容,正在被应用于汽车安全芯片等相关领域。
目前,XMSS算法在应用中缺少硬件实现相关方案,如何在XMSS算法的软硬件实现中提升其执行效率、降低资源消耗成为XMSS算法广泛应用的前提。
【发明内容】
本发明要解决的技术问题是XMSS算法在应用中缺少硬件实现相关方案,如何在XMSS算法的软硬件实现中提升其执行效率、降低资源消耗成为XMSS算法广泛应用的前提。
本发明采用如下技术方案:
第一方面,本发明提供了一种XMSS算法的服务器侧的全硬件实现架构,包括Addr子模块、L-tree子模块、Merkle子模块、Sig子模块、BDS子模块、WOTS子模块、第一消息子模块和控制模块,具体的:
所述Addr子模块与L-tree子模块和Merkle子模块两两互通从而构成密钥生成的主体功能组件;
所述第一消息子模块、Sig子模块与BDS子模块互通从而构成签名生成的主体功能组件;
其中,所述WOTS子模块分别与Addr子模块、L-tree子模块、Sig子模块和BDS子模块建立有数据传输通道,从而被所述密钥生成主体功能组件与签名生成主体功能组件分时调用;
所述控制模块用于控制数据传输通道在上述各子模块之间进行切换,从而完成密钥生成功能及签名功能。
优选的,所述密钥生成,具体包括:
Addr子模块根据输入的secret seed生成WOTS子模块的私钥ski;WOTS子模块基于public seed和私钥ski,进行WOTS运算生成pki,所述pki作为L-tree的叶节点,i为相应叶节点的序号,i的范围属于[0,L-1];
L-tree子模块,将L个叶节点逐级哈希运算生成根节点并作为Merkle-tree的叶节点;2^h个Merkle-tree的叶节点逐级哈希运算得到XMSS的公钥;其中,h为Merkle-tree的高度。
优选的,所述签名的生成,包括signature的生成和auth_path的生成,具体的:
一次Signature的生成,包括L次的WOTS chain计算,L次计算结果依次拼接形成完整的signature;
优选的,所述Merkle-tree输出其内部节点信息完成BDS子模块的初始化。
优选的,还包括哈希核模块,所述WOTS chain计算、L-tree计算、Merkle-tree计算中涉及的哈希运算均为串行执行,分时调用所述哈希核模块。
优选的,所述的控制模块,包括mx1、mx2和mx3一个选择控制模块;mx1和mx2分别位于WOTS子模块的输入侧和输出侧;所述的mx3位于L-tree的输出侧;所述的选择控制模块用于控制mx1和mx2;所述控制模块还接收控制信号mod,所述控制信号mod用于触发选择控制模块对mx3的控制,从而实现密钥生成与签名生成的选择。
第二方面,本发明还提供了一种XMSS算法的客户侧的全硬件实现架构,包括WOTS子模块、L-tree子模块、第二消息子模块、哈希核模块和Auth子模块;所述WOTS子模块、L-tree子模块和Auth子模块逐级相连,各自还分别与所述第二消息子模块相连,具体的:
WOTS子模块基于signature和msg_dig进行L次的WOTS运算,作为L-tree的叶节点;L-tree计算生成根节点,输出给Auth子模块;
所述Auth子模块根据所述L-tree根节点和auth_path的内容逐级哈希运算得到根节点;匹配所述根节点与所述XMSS公钥,相同则验签通过。
优选的,所述第二消息子模块分别将signature存储入堆栈sig中,将msg_dig存储至堆栈g中,将auth_path存储入堆栈Auth中,具体包括:
所述第二消息子模块将signature以n bytes为单位,依次存储入堆栈sig的地址1至L中;将msg_dig以log(w)bits为数据单位,并被依次存储至堆栈g的地址1至L中;将auth_path以n bytes为单位,依次存储入堆栈Auth的地址1至h中;其中,L为一个L-tree的叶节点数量,w代表是一条WOTS chain的级数。
优选的,所述WOTS子模块通过同时获取堆栈g和堆栈sig中内容计算得到L-tree叶子节点,并传递给L-tree子模块,具体包括:
所述WOTS子模块逐一的分别从堆栈g和堆栈sig中获取数据块di和数据块sigi,根据所述数据块di和数据块sigi,通过WOTS chain计算获得L-tree子模块所需的L-tree叶子节点;其中,di是第i+1次WOTS chain计算的起始级数;sigi是第i+1次WOTS chain计算的起始级数下的WOTS chain值;其中,i∈(0,L-1)。
优选的,所述WOTS chain计算的输入参数包括计算的起始级数,初始值和结束的级数。
第三方面,本发明还提供了一种XMSS算法的全硬件系统,包括如第一方面所述的服务侧的XMSS算法的全硬件实现架构实现的服务设备和如第二方面所述的客户侧的XMSS算法的全硬件实现架构实现的终端设备;
所述服务设备用于生成公钥和签名,并将所述签名发送给终端设备;
所述终端设备用于根据signature、auth-path、msg-dig、public seed运算,输出与所述公钥进行匹配,相同则验签通过。
优选的,所述的服务设备有一端,所述的终端设备有n端。
本发明将XMSS算法的硬件实现分为公钥生成的相关模块与签名生成的相关模块两部分,从而实现了公钥生成的相关模块与签名生成的相关模块的资源复用,降低了资源消耗。
进一步,在优选的方案中,在密钥生成的同时便完成BDS算法的初始化,从而提升了系统的执行效率。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种XMSS的数据架构示意图;
图2是本发明实施例提供的一种XMSS算法的服务侧全硬件实现架构示意图;
图3是本发明实施例提供的一种服务侧带选择器的XMSS密钥生成及签名模块架构;
图4是本发明实施例提供的一种XMSS算法的服务侧全硬件实现方法流程示意图;
图5是本发明实施例提供的一种XMSS算法的服务侧全硬件的签名过程示意图;
图6是本发明实施例提供的一种终端侧XMSS验签模块架构;
图7是本发明实施例提供的一种XMSS算法的终端侧全硬件的验签过程示意图;
图8是本发明实施例提供的一种验签过程数据架构示意图;
图9是本发明实施例提供的一种本发明实施例与已有方案的资源消耗及效率对比图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。
图1示出了XMSS算法的算法架构。该算法由WOTS chain计算、L-trees计算以及Merkle-tree计算三部分组成。在实际情况中,由于WOTS chain计算、L-trees计算以及Merkle-tree计算三部分的计算结果分别会作为后者的计算基础,因此,当前图1标注的L-trees下部其实应该包含图1中黑色方块,而相应的Merkle-tree标注的下部其实应该包含图1中交叉线标注的那一行方块。
XMSS的关键参数主要包括L、w与h。其中L为L-tree的叶节点个数;因此,L个WOTSchain(对应图中WOTS中的一列过程)的计算结果构成一个L-tree的叶节点。w为WOTS模块的计算的步数关联参数,以图1为例其真实的步数为w-1,则相应的w直接表征的是图1中一条WOTS chain从最下方的初始值(图1中以斜线填充的方块)到最上方的最终值(图1中以黑色填充的方块)一共包含的数据块对象个数;h为Merkle-tree的高度,其中,在只有Merkle-tree的根节点的情况下,所述h值为0,则以图1为例,Merkle-tree的叶节点总数为2^h个。因此,通过二叉树的高度和相应节点数的关系,可以推导出2h个L-tree的根节点将构成一个Merkle-tree的所有叶节点。
目前暂未见XMSS算法的全硬件实现架构。本发明旨在提供一种XMSS算法的全硬件实现方案,从而提升XMSS在芯片及FPGA层面的实现、应用、测试及产业化。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
本发明实施例1提供了一种XMSS算法的全硬件实现架构,如图2所示,包括Addr子模块、L-tree子模块、Merkle子模块、Sig子模块、BDS子模块、WOTS子模块、第一消息子模块和控制模块,具体的:
所述Addr子模块与L-tree子模块和Merkle子模块两两互通从而构成密钥生成的主体功能组件;
所述第一消息子模块、Sig子模块与BDS子模块互通从而构成签名生成的主体功能组件;
其中,所述WOTS子模块分别与Addr子模块、L-tree子模块、Sig子模块和BDS子模块建立有数据传输通道,从而被所述密钥生成主体功能组件与签名生成主体功能组件所分时调用;
所述控制模块用于控制数据传输通道在上述各子模块之间进行切换,从而完成密钥生成功能及签名功能。
本发明将XMSS算法的硬件实现分为公钥生成的相关模块与签名生成的相关模块两部分,从而实现了公钥生成的相关模块与签名生成的相关模块的资源复用,降低了资源消耗。
在本发明实施例中,所述密钥(即Merkle-tree的根节点,在本发明实施例中也被称呼为公钥)生成,具体包括:
Addr子模块用于根据输入的secret seed生成WOTS子模块的私钥ski;WOTS子模块基于public seed和私钥ski,进行WOTS运算生成pki,所述pki作为L-tree的叶节点(即图1中的WOTS public key方块所示的对象),i为相应L-tree叶节点的序号,i的范围属于[0,L-1];
L-tree子模块,将L个叶节点逐级哈希运算生成根节点并作为Merkle-tree的叶节点;2^h个Merkle-tree的叶节点逐级哈希运算得到XMSS的公钥(即图1中所示的位于最上方的方块对象);其中,h为Merkle-tree的高度。
在本发明实施例的具体实现过程中,通常还会提供一个或者多个哈希核模块作为上述各个子模块共用的哈希算法加速核。例如:哈希核模块可以表现为物理实体的SHA256、SHAKE256、SHAKE512、SHAKE128、SHA512等等。其中,若所述哈希核模块数量为一个的情况下,以分时复用的方式被其他子模块调用。
在本发明实施例中,上述的哈希核模块所服务的对象内容主要表现为:WOTSchain的哈希运算过程、L-tree的叶节点生成一个L-tree的根节点过程,以及Merkle-tree的叶节点生成Merkle-tree的根节点的计算过程都是通过所述哈希核模块分时复用计算完成。
在本发明实施例中,所述签名的生成,可以分为signature的生成和auth_path的生成,具体的:
一次Signature的生成,包括L次的WOTS chain计算;
其中,在L次的WOTS chain计算中,第i次的WOTS chain计算输出的结果所在的级数与签名摘要中记录的参数di相同;在本发明实施例中,以WOTS chain的总级数w为4为例,此时的参数di由2bits表征,具体di可以是0,1,2,3中的某一值,即对应了一条WOTS chain中具体第di级的方块数据。在本发明实施例中,WOTS chain计算是被密钥计算和Signature生成两个过程分时复用的,两个过程的差异在于密钥计算过程中,WOTS chain计算是从初始的1级私钥ski完成w-1步哈希运算生成得到w级的pki,并将pki作为L-tree的叶节点;而在Signature生成过程中则是根据前面摘要中记录的参数di,仅计算到第di+1级输出为该次WOTS chain计算结果。
其中,Signature的生成其实对应着一颗L-tree的φindex,此处描述的对应含义是,将Signature中L次的WOTS chain计算结果,将每次WOTS chain计算按照w级数计算完全后,便会得到上述L-tree的叶节点,进一步逐级哈希计算便可以得到所述φindex。
在auth_path的生成过程中,导入所述φindex,经由BDS子模块生成auth_path。其中,所述φindex表征的就是经由上述Signature生成得到L-tree根节点位于类似图8所示Merkle-tree的叶节点的编号位置。auth_path的生成过程的原理是以生成的Signature所位于的L-tree,确认所述所关联的叶节点,并以逐级h-1次哈希运算得到Merkle-tree的根节点设定,将当前针对所述逐级h-1次哈希运算缺失的节点补全得到所述auth_path,相应的,可以参考图6和图8所示的验签过程流程来理解,其中的Auth0,Auth1,...,Authh-1即为上述auth_path包含的路径信息。
在本发明实施例的上述扩展方案中,由于在密钥生成的同时便完成BDS算法的初始化,从而提升了系统的执行效率。
结合本发明实施例,为了进一步支撑上述方法过程的实现,如图3所示,所述的控制模块,包括mx1、mx2和mx3一个选择控制模块;mx1和mx2分别位于WOTS子模块的输入侧和输出侧;所述的mx3位于L-tree的输出侧;所述的选择控制模块用于控制mx1和mx2;所述控制模块还接收控制信号mod,所述控制信号mod用于触发选择控制模块对mx3的控制,从而实现密钥生成与签名生成的选择。
进一步的,所述选择器1通过选择Addr子模块或消息子模块与WOTS子模块,分别完成WOTS子模块计算WOTS chain步数w的设置,以及签名地址在WOTS子模块中的导入;
所述选择器2通过选择WOTS子模块与L-tree子模块或Sig子模块的导通,分别完成L-tree的叶子节点导出和签名导出;
所述选择器3通过选择L-tree子模块与Merkle子模块或BDS子模块的导通,分别完成L-tree根节点向Merkle子模块的导入和L-tree子模块输出L-tree根节点给BDS子模块。在具体实现过程中,选择器3的选择可以是基于mod信号来完成,即mod为计算root模式时,选择器3通过选择L-tree子模块与Merkle子模块的导通,完成L-tree根节点向Merkle子模块的导入;mod为计算auth_path模式时,选择器3通过选择L-tree子模块与BDS子模块的导通,L-tree子模块输出L-tree根节点给BDS子模块,从而使用BDS计算出上述的auth_path内路径信息Auth0,Auth1,...,Authh-1。
常规的算法需要遍历整个Merkle-tree才能找对对应的路径,但这种产生签名的方式所耗时间较长,所以本发明实施例在XMSS算法中使用BDS算法,用于高效遍历并计算当前信息的真实路径。例如图8中Merkle-tree里的路径节点原来是需要从底下往上算的,但是用BDS算法可以省去这一操作,可以通过图8中的auth_path直接补全Merkle-tree计算中的灰度方框所表现的计算过程。
如图6所示,在本发明实施例中,所述WOTS chain计算的输入参数包括计算的起始级数,计算的起始级数下的初始值和WOTS chain的结束的级数。在图6中,参数<sigi,di,w>中的sigi为计算的起始级数下的初始值,di为计算的起始级数,w为WOTS chain的结束的级数。在以图3为例的密钥计算过程中(即Merkle-tree的根节点计算过程),上述的参数<sigi,di,w>则因此时场景具体表现为<ski,0,w>,并且,在图3中分别表现为<0,w>和ski两部分。
实施例2:
在本发明实施例1中,提供了一种XMSS算法的服务侧的全硬件实现架构,这种架构通常实现在服务器设备中;本发明实施例2则是提供了一种XMSS算法的客户侧的全硬件实现架构,而所述客户侧的全硬件实现架构通常实现在终端设备中,从而与实施例1中的服务器设备形成验签全过程。在本发明实施例中,XMSS算法的客户侧的全硬件实现架构包括WOTS子模块、L-tree子模块、第二消息子模块、哈希核模块和Auth子模块;所述WOTS子模块、L-tree子模块和Auth子模块逐级相连,各自还分别与所述第二消息子模块相连,所述哈希核模块为分别为所述WOTS子模块、L-tree子模块和Auth子模块提供哈希计算功能,在获取到包含signature、msg_dig和auth_path后,具体的:
WOTS子模块基于signature和msg_dig进行L次的WOTS运算,作为L-tree的叶节点;L-tree计算生成根节点,输出给Auth子模块。
通常表现为,所述WOTS子模块通过同时获取signature和msg_dig中内容计算得到L-tree叶子节点,并传递给L-tree子模块;所述L-tree子模块根据所述WOTS子模块传递过来的L-tree叶子节点生成L-tree根节点后,将所述L-tree根节点传递给Auth子模块。
所述Auth子模块根据所述L-tree根节点和auth_path的内容逐级哈希运算得到根节点;匹配所述根节点与所述XMSS公钥,相同则验签通过。
本发明实施例在签名验签机制的典型应用场景中,公钥生成的相关模块与签名生成的相关模块通常分布于服务器端,而验签的相关模块则通常被集成于客户端。因此,本发明沿用了实施例1中的设计理念,实现了验签过程中的资源复用,降低了资源消耗。
在本发明实施例中,对于XMSS公钥而言,可以是随signature、msg_dig和auth_path一起通过签名文件作为载体发送给客户端,也可以是通过其他方式传递到客户端,在此不做特殊限定。
在本发明实施例中,如图6所示,所述第二消息子模块分别将signature存储入堆栈sig中,将msg_dig存储至堆栈g中,将auth_path存储入堆栈Auth中,具体包括:
所述第二消息子模块将signature以n bytes为单位分块,依次存储入堆栈sig的地址1至L中,此处对应着实施例1中生成signature中表述的进行L次WOTS chain计算;将msg_dig以log(w)bits为数据宽度分块,并被依次存储至堆栈g的地址1至L中,此处用log(w)计算的含义就是确定bit位数量,从而能够适用二进制表达总计算步数为w-1的WOTSchain中的每一级位置;将auth_path以n bytes为单位分块,依次存储入堆栈Auth的地址1至h中;其中,L为一个L-tree的叶节点数量,w代表是一条WOTS chain的级数。
在本发明实施例中,涉及的验签过程中具体细节包括,所述WOTS子模块通过同时获取堆栈g和堆栈sig中内容计算得到L-tree叶子节点,并传递给L-tree子模块,具体包括:
所述WOTS子模块逐一的分别从堆栈g和堆栈sig中获取数据块di和数据块sigi,根据所述数据块di和数据块sigi,通过WOTS chain计算获得L-tree子模块所需的L-tree叶子节点;其中,di是第i+1次WOTS chain计算的起始级数;sigi是第i+1次WOTS chain计算的起始级数下的WOTS chain值;其中,i∈(0,L-1)。以图8作为示例解释,并且以i为0进行具体描述,此时,d0的值为2,表明图8中位于第一列的斜线阴影的数据块位于该WOTS chain中的第3个位置,此时的w值为4,即图8示例的,相应的sig0只需要一次哈希运算就可以生成得到图8所示的L-tree中的第一个叶节点。
所述WOTS chain计算的输入参数包括计算的起始级数,计算的起始级数下的初始值和WOTS chain的结束的级数。在本发明实施例中,如图6中,参数<sigi,di,w>中的sigi为计算的起始级数下的初始值,di为计算的起始级数,w为WOTS chain的结束的级数。
实施例3:
本发明实施例是基于实施例1和实施例2基础上,提出的一种XMSS算法的全硬件系统,包括如实施例1所述的服务侧的XMSS算法的全硬件实现架构实现的服务设备和如实施例2所述的客户侧的XMSS算法的全硬件实现架构实现的终端设备;
所述服务设备用于生成公钥和签名,并将所述签名发送给终端设备;
所述终端设备用于根据签名输出根节点,并匹配所述根节点和所述公钥,相同则验签通过。
本发明实施例在签名验签机制的典型应用场景中,公钥生成的相关模块与签名生成的相关模块通常分布于服务器端,而验签的相关模块则通常被集成于客户端。本发明将XMSS算法的硬件实现分为公钥生成的相关模块与签名生成的相关模块两部分,从而实现了公钥生成的相关模块与签名生成的相关模块的资源复用,同时,也在客户端侧使用了等同的技术实现,降低了资源消耗。
在本发明实施例中,在所述终端设备数量为多个时,在服务设备中还包括:
服务设备的Sig子模块在输出新一轮的signature时,对index进行递增操作后传递给服务设备的BDS子模块,以便服务设备的BDS子模块根据所述index,输出与所述新一轮的signature所对应的认证路径auth_path;
将包含有所述新一轮的signature和对应auth_path发送给相应验签方的终端设备。
此时,对于服务器中的所述第一消息子模块、Sig子模块与BDS子模块两两互通从而实现签名功能,具体包括:
所述消息子模块用于获取签名摘要,用于生成每一个签名的WOTS chain中步数参数,以便传递给WOTS子模块向Sig子模块输出签名内容;
所述Sig子模块用于存储XMSS的签名结果,并更新签名次数index变量(此处的index即实施例1中所涉及的中的下标,两者为同一index),所述index变量用于BDS子模块定位需要计算的auth_path;其中,所述签名结果是从所述密钥生成过程中提取指定过程内容生成的路径;
所述BDS子模块用于执行BDS算法,Merkle子模块输出其内部节点信息以完成BDS子模块的初始化;所述BDS子模块公开当前签名次数的index信息,在XMSS签名过程中,需要输出当前签名的auth_path(从原理上讲,每个index所指定的φindex都有属于自己的唯一auth_path,以图8为例,其中auth_path方格即构成了一条auth_path),以便验签方将签名还原得到XMSS的根节点。
以图8的验签过程为例,其中的WOTS Signature和Merkle-tree auth_path构成了签名的内容,这些签名的内容都是本发明实施例上述计算XMSS公钥期间算到过的;换个说法XMSS密钥生成若表述为:A→B→C,即A、B和C之间是依次计算得到的过程;相应的签名过程表示为:A→B时,则验签过程可以表示为:B→C所以这个签名结果是计算公钥C用到的中间数据。
实施例4:
本发明实施例提供了一种XMSS算法的全硬件实现方法,使用如实施例1所述的XMSS算法的全硬件实现架构,参照图3所示的架构图,计数器cnt1被置为L;计数器cnt2被置为2h;如图4所示,方法包括:
在步骤201中,Addr子模块基于输入的secret seed参数生成ski,i∈(0,L-1),并输入至WOTS子模块;WOTS子模块基于输入的ski,i∈(0,L-1)、public seed以及参数w生成WOTS公钥pki,i∈(0,L-1);其中,pki经过选择器2的选择作用输入至L-tree子模块,作为L-tree的叶节点,i指代pki在L-tree中叶节点的位置。以图1为例,其中,图中标识有WOTSprivate key的方块即上述的ski,图中位于WOTS chain各个步中相应的白色底色的方块即public seed作为输入的伪随机函数计算结果,图中黑色标识有WOTS public key的即上述的pki。
在步骤202中,L-tree子模块基于输入的pki数据,调用哈希核模块进行计算,生成L-tree的根节点每输入一个ski,并完成相应的计算得到一个pki,计数器cnt1执行减一操作,并反馈至Addr子模块,以记录L-tree中叶节点的生成状态,直至cnt1为0时,WOTS子模便完成了一个L-tree的全部叶节点生成。以图1为例,其中,图中标注有L-tree roots的方块即上述生成的L-tree的根节点/>
在步骤203中,通过选择器3的选通作用,被输入至Merkle子模块;上述L-tree的根节点/>生成过程重复2h次,L-tree子模块便可以生成Merkle子模块所需的所有叶节点;其中,通过每次L-tree子模块生成一次L-tree的根节点(即Merkle获取一个叶节点),计数器cnt2实行减一运算并反馈至Addr子模块,以便Addr子模块获取Merkle子模块的状态,直至cnt2为0;Merkle子模块自叶节点开始依次调用哈希核模块,执行相应的计算,最终生成Merkle-tree的根节点,作为XMSS的公钥。以图1为例,其中,图中标注有XMSS publickey的方块即上述的XMSS的公钥。
本发明实施例在签名验签机制的典型应用场景中,公钥生成的相关模块与签名生成的相关模块通常分布于服务器端,而验签的相关模块则通常被集成于客户端。因此,本发明将XMSS算法的硬件实现分为公钥生成的相关模块与签名生成的相关模块两部分。从而实现了公钥生成的相关模块与签名生成的相关模块的资源复用,降低了资源消耗。
在本发明实施例中,所述参数w的传递方法具体包括:
选择器1选通Addr子模块用于将生成的参数<0,w>输入至WOTS子模块;其中,w为WOTS子模块中WOTS chain计算的步数参数值,用于设定WOTS子模块自底向上的执行步数为w-1步,其中每一步均为调用哈希核模块执行一次计算。
实施例5:
在实施例4的实现基础之上,本发明实施例还提供了相应的签名过程的实现细节,参考如图3所示的架构,如图5所示,具体包括以下步骤:
在步骤301中,签名数据msg_dig以log(w)为长度,且单位为bits方式划分为L块,并存储至消息子模块的堆栈d的地址0至L-1中。
在步骤302中,计数器cnt3此时为初始值i=0;取消息子模块的堆栈d的地址0的数据d0传输至选择器1。
在步骤303中,选择器1将数据<0,di>传输至WOTS子模块,Addr子模块基于secretseed参数生成对应的ski,i∈(0,L-1),并输入至WOTS子模块。
在步骤304中,WOTS子模块基于输入的ski,i∈(0,L-1)以及<0,di>进行运算;其中,<0,di>用于控制WOTS子模块中WOTS chain的计算从最低层的0级运算至di-1级,以生成的数据sigi,i∈(0,L-1),经选择器2被依次存储于Sig子模块中。
在步骤305中,重复上述步骤301-步骤304过程,当计数器cnt3中的i=L时,表示Sig子模块已经输出了全部msg_dig的签名;此时存储器存储的签名次数Au_num被传输至BDS子模块。
常规的算法需要遍历整个Merkle-tree才能找对对应的路径,但这种产生签名的方式所耗时间较长,所以本发明实施例在XMSS算法中使用BDS算法,用于高效遍历并计算当前信息的真实路径。例如图8中Merkle-tree里的路径节点原来是需要从底下往上算的,但是用BDS算法可以省去这一操作。
实施例6:
在实施例4的实现基础之上,本发明实施例还提供了相应的验签过程,如图6所示的,此时,实现架构中还包含有验签模块,所述验签模块的输入包括:数据签名signature、数据摘要msg_dig、签名轮数index,以及认证路径auth_path,数据签名signature被输入至堆栈sig,并以n bytes为单位分块,依次存储入堆栈sig的地址1至L中;数据摘要msg_dig被以log(w)bits为数据宽度分块,并被依次存储至堆栈g的地址1至L中;地址L同样被存储入数据块的个数;认证路径auth_path被存储入堆栈Auth中;计数器cnt4与cnt5依次被置为0,验签过程中,如图7所示,具体的:
在步骤401中,根据计数器cnt4当前状态i,依次将堆栈sig以及堆栈g内对应地址的内容sigi、gi以及参数w输入至验签模块中的WOTS子模块中,此处gi和w表示WOTS子模块中的WOTS chain计算自第di-1级开始执行,执行至w-1级。
在步骤402中,WOTS子模块计算生成pki,i∈(0,L-1),并依次输入至验签模块中的L-tree子模块。
在步骤403中,L-tree子模块基于输入的pki,i∈(0,L-1)计算生成L-tree的根节点φindex。
在步骤404中,验签模块中的Auth子模块基于φindex以及auth_path逐级哈希计算得到结果Output。
在具体实现过程中,如图8所示,通常步骤404中涉及需要生成φindex的,此处只需要执行一次,生成一个φindex即可;这样可以较大的简化计算复杂度,以及签名的复杂度。
在步骤405中,若所述Output与XMSS的公钥相同则签名验证通过,否则签名验证失败。
所以本发明实施例在XMSS算法的验签过程中使用auth_path,用于高效寻址和补全Merkle-tree计算过程中的节点内容,例如图8中Merkle-tree里的路径节点原来是需要从底下往上算的,但是用auth_path可以省去这一操作,可以通过图8中的auth_path直接补全Merkle-tree计算中的灰度方框所表现的计算过程。
其中,在实际实现过程中,若所述验签模块和上述的实施例1所阐述的实现架构是位于同一主板上的,则上述的WOTS子模块和L-tree子模块也可以复用实施例1中所阐述的WOTS子模块和L-tree子模块。
实施例7:
图9列出了已知的XMSS算法软硬件实现方案与本发明实施例4-实施例6所描述的在XMSS算法的全硬件实现架构基础上的实现方法,在资源消耗与性能上的对比。
参数选择{n,h,w}={32,10,16},{32,16,16},{32,20,16}三组进行测试,其中,各参数值的定义沿用上述各实施例中的描述,n为如图8所示每个数据块规定的长度,单位为byte;h为Merkle-tree的高度,这里的高度在只有单一根节点时其值为0,当有了第一级叶节点时,其值为1,以此类推;w为WOTS chain的计算总级数,转换为计算的步数的话就是w-1步。目前,已有方案中暂未发现XMSS的全硬件实现。图9中所示出的方案大都是基于高性能处理器的软件实现或基于SoC的软硬协同方案等。而本发明实施例则是基于Artix-7 FPGA的全硬件实现方案。
已有的设计大多针对参数{n,h,w}={32,10,16},实现平台有基于嵌入式系统STM32、开源指令集(MURAX/SVU),也有依赖传统CPU核(ARM/Intel),而实现的方式则有纯软件设计、软硬协同设计两种。目前表现最好的是软硬协同的设计,它是已有方案中周期数最小的设计。本发明实施例第一个提出纯硬件实现XMSS的方案,并将性能列入图表中以进行对比。任何一组参数都可以体现本发明实施例设计的计算效果,本发明实施例具体结合图9中{n,h,w}={32,20,16}这一参数说明。通过使用已公开的reference执行XMSS密钥计算,签名,验签需要的时钟周期分别为4574×109,44.9×106,2.5×106,而现有最好的解决方案即软硬协同设计架构需要的周期数为330×109,6.48×106,0.58×106,本发明实施例的设计需要的周期数为327×109,2.83×106,0.19×106。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种XMSS算法的服务器侧的全硬件实现架构的服务设备,其特征在于,包括Addr子模块、L-tree子模块、Merkle子模块、Sig子模块、BDS子模块、WOTS子模块、第一消息子模块和控制模块,具体的:
所述Addr子模块与L-tree子模块和Merkle子模块两两互通从而构成密钥生成的主体功能组件;
所述第一消息子模块、Sig子模块与BDS子模块互通从而构成签名生成的主体功能组件;
其中,所述WOTS子模块分别与Addr子模块、L-tree子模块、Sig子模块和BDS子模块建立有数据传输通道,从而被所述密钥生成主体功能组件与签名生成主体功能组件分时调用;
所述控制模块用于控制数据传输通道在上述各子模块之间进行切换,从而完成密钥生成功能及签名功能;
其中,Addr子模块用于根据输入的密钥种子secret seed生成WOTS子模块的私钥;L-tree子模块用于将L个叶节点生成根节点作为Merkle-tree的叶节点;Merkle子模块用于生成Merkle-tree的根节点,作为XMSS的公钥;Sig子模块用于输出数据签名signature;BDS子模块用于输出signature所对应的认证路径auth_path;WOTS子模块用于进行WOTS运算;第一消息子模块用于获取签名摘要,用于生成每一个签名的WOTS chain中步数参数,以便传递给WOTS子模块向Sig子模块输出签名内容。
2.根据权利要求1所述的XMSS算法的服务器侧的全硬件实现架构的服务设备,其特征在于,所述密钥生成,具体包括:
Addr子模块根据输入的密钥种子secret seed生成WOTS子模块的私钥ski;WOTS子模块基于公共种子public seed和私钥ski,进行WOTS运算生成pki,所述pki作为L-tree的叶节点,i为相应叶节点的序号,i的范围属于[0,L-1];其中,L是叶节点个数;
4.根据权利要求3所述的XMSS算法的服务器侧的全硬件实现架构的服务设备,其特征在于,所述Merkle-tree输出其内部节点信息完成BDS子模块的初始化。
5.根据权利要求1-4任一所述的XMSS算法的服务器侧的全硬件实现架构的服务设备,其特征在于,还包括哈希核模块,所述WOTS chain计算、L-tree计算、Merkle-tree计算中涉及的哈希运算均为串行执行,分时调用所述哈希核模块;其中,所述哈希核模块用于提供哈希计算。
6.根据权利要求1所述的XMSS算法的服务器侧的全硬件实现架构的服务设备,其特征在于,所述的控制模块,包括选择器mx1、选择器mx2和选择器mx3一个选择控制模块;mx1和mx2分别位于WOTS子模块的输入侧和输出侧;所述的mx3位于L-tree的输出侧;所述的选择控制模块用于控制mx1和mx2;所述控制模块还接收控制信号mod,所述控制信号mod用于触发选择控制模块对mx3的控制,从而实现密钥生成与签名生成的选择。
7.一种XMSS算法的客户侧的全硬件实现架构的终端设备,其特征在于,包括WOTS子模块、L-tree子模块、第二消息子模块、哈希核模块和Auth子模块;所述WOTS子模块、L-tree子模块和Auth子模块逐级相连,各自还分别与所述第二消息子模块相连,具体的:
WOTS子模块基于数据签名signature和数据摘要msg_dig进行L次的WOTS运算,作为L-tree的叶节点;L-tree计算生成根节点,输出给Auth子模块;
所述Auth子模块根据所述L-tree根节点和认证路径auth_path的内容逐级哈希运算得到根节点;匹配所述根节点与所述XMSS公钥,相同则验签通过;
其中,L-tree子模块用于根据所述WOTS子模块传递过来的L-tree叶子节点生成L-tree根节点后,将所述L-tree根节点传递给Auth子模块;第二消息子模块用于将signature存储入堆栈sig中,将数据摘要msg_dig存储至堆栈g中,将auth_path存储入堆栈Auth中;哈希核模块用于提供哈希计算。
8.根据权利要求7所述的XMSS算法的客户侧的全硬件实现架构的终端设备,其特征在于,具体包括:
所述第二消息子模块将signature以n bytes为单位,依次存储入堆栈sig的地址1至L中;将msg_dig以log(w) bits为数据单位,并被依次存储至堆栈g的地址1至L中;将auth_path以n bytes为单位,依次存储入堆栈Auth的地址1至h中;其中,L为一个L-tree的叶节点数量,w代表是一条WOTS chain的级数。
10.根据权利要求7-9任一所述的XMSS算法的客户侧的全硬件实现架构的终端设备,其特征在于,所述WOTS chain计算的输入参数包括计算的起始级数,初始值和结束的级数。
11.一种XMSS算法的全硬件系统,其特征在于,包括如权利要求1-6任一所述的服务侧的XMSS算法的全硬件实现架构实现的服务设备和如权利要求7-9任一所述的客户侧的XMSS算法的全硬件实现架构实现的终端设备;
所述服务设备用于生成公钥和签名,并将所述签名发送给终端设备;
所述终端设备用于根据数据签名signature、认证路径auth-path、数据摘要msg-dig、公钥种子public seed运算,输出与所述公钥进行匹配,相同则验签通过。
12.根据权利要求11所述的XMSS算法的全硬件系统,其特征在于,所述的服务设备有一端,所述的终端设备有n端,其中,n为自然数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111167369.8A CN113922955B (zh) | 2021-10-06 | 2021-10-06 | 一种xmss算法的全硬件实现架构及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111167369.8A CN113922955B (zh) | 2021-10-06 | 2021-10-06 | 一种xmss算法的全硬件实现架构及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113922955A CN113922955A (zh) | 2022-01-11 |
CN113922955B true CN113922955B (zh) | 2023-07-07 |
Family
ID=79237849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111167369.8A Active CN113922955B (zh) | 2021-10-06 | 2021-10-06 | 一种xmss算法的全硬件实现架构及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113922955B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808972A (zh) * | 2005-01-19 | 2006-07-26 | 国际商业机器公司 | 记录装置以及生成信息流的记录的方法 |
CN103368746A (zh) * | 2013-07-24 | 2013-10-23 | 飞天诚信科技股份有限公司 | 一种签名方法 |
CN104052601A (zh) * | 2013-12-30 | 2014-09-17 | 国家电网公司 | 一种密钥隔离签密方法 |
CN106027240A (zh) * | 2016-07-01 | 2016-10-12 | 南京邮电大学 | 一种基于属性的密钥隔离签名方法 |
CN112152793A (zh) * | 2019-06-28 | 2020-12-29 | 英特尔公司 | 用于认证路径计算的奇数索引预计算 |
CN112152785A (zh) * | 2019-06-28 | 2020-12-29 | 英特尔公司 | 基于sha2和sha3组合的xmss硬件加速器 |
CN112351408A (zh) * | 2021-01-08 | 2021-02-09 | 北京电信易通信息技术股份有限公司 | 一种智能网联电动车的数据安全传输方法和系统 |
CN112560017A (zh) * | 2020-12-21 | 2021-03-26 | 福建新大陆支付技术有限公司 | 一种使用三级证书认证实现apk统一签名的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2834361B1 (fr) * | 2001-12-28 | 2004-02-27 | Bull Sa | Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature |
US10291408B2 (en) * | 2016-12-23 | 2019-05-14 | Amazon Technologies, Inc. | Generation of Merkle trees as proof-of-work |
US11405213B2 (en) * | 2019-06-28 | 2022-08-02 | Intel Corporation | Low latency post-quantum signature verification for fast secure-boot |
US11218320B2 (en) * | 2019-06-28 | 2022-01-04 | Intel Corporation | Accelerators for post-quantum cryptography secure hash-based signing and verification |
US11516008B2 (en) * | 2020-12-23 | 2022-11-29 | Intel Corporation | Efficient post-quantum secure software updates tailored to resource-constrained devices |
-
2021
- 2021-10-06 CN CN202111167369.8A patent/CN113922955B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1808972A (zh) * | 2005-01-19 | 2006-07-26 | 国际商业机器公司 | 记录装置以及生成信息流的记录的方法 |
CN103368746A (zh) * | 2013-07-24 | 2013-10-23 | 飞天诚信科技股份有限公司 | 一种签名方法 |
CN104052601A (zh) * | 2013-12-30 | 2014-09-17 | 国家电网公司 | 一种密钥隔离签密方法 |
CN106027240A (zh) * | 2016-07-01 | 2016-10-12 | 南京邮电大学 | 一种基于属性的密钥隔离签名方法 |
CN112152793A (zh) * | 2019-06-28 | 2020-12-29 | 英特尔公司 | 用于认证路径计算的奇数索引预计算 |
CN112152785A (zh) * | 2019-06-28 | 2020-12-29 | 英特尔公司 | 基于sha2和sha3组合的xmss硬件加速器 |
CN112560017A (zh) * | 2020-12-21 | 2021-03-26 | 福建新大陆支付技术有限公司 | 一种使用三级证书认证实现apk统一签名的方法 |
CN112351408A (zh) * | 2021-01-08 | 2021-02-09 | 北京电信易通信息技术股份有限公司 | 一种智能网联电动车的数据安全传输方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113922955A (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109493020B (zh) | 基于区块链的安全交易方法和装置 | |
US10924285B2 (en) | Method and server for providing notary service with respect to file and verifying file recorded by the notary service | |
US10372942B1 (en) | Method and server for providing notary service for file and verifying file recorded by notary service | |
EP4300323A1 (en) | Data processing method and apparatus for blockchain network, computer device, computer readable storage medium, and computer program product | |
US20160006570A1 (en) | Generating a key derived from a cryptographic key using a physically unclonable function | |
CN107086907A (zh) | 用于量子密钥分发过程的密钥同步、封装传递方法及装置 | |
Kumar et al. | Post-quantum secure boot | |
US10581616B1 (en) | Managing nodes of a cryptographic hash tree in a hash-based digital signature scheme | |
CN109245899B (zh) | 一种基于sm9密码算法信任链设计方法 | |
CN110781140B (zh) | 区块链中数据签名的方法、装置、计算机设备及存储介质 | |
US11750403B2 (en) | Robust state synchronization for stateful hash-based signatures | |
CN113312630B (zh) | 实现可信调度的方法及装置 | |
CN109272316A (zh) | 一种基于区块链网络下的区块实现方法及系统 | |
CN115516454B (zh) | 硬件安全模块和系统 | |
CN111640018A (zh) | 一种区块链交易存在性验证方法及装置 | |
CN112948867A (zh) | 加密报文的生成与解密方法、装置及电子设备 | |
CN111800260A (zh) | 兼容rsa及国产商用密码算法的智能密匙签名方法 | |
WO2023070831A1 (zh) | 一种区块确认方法及装置 | |
CN113922955B (zh) | 一种xmss算法的全硬件实现架构及其系统 | |
CN110585727B (zh) | 一种资源获取方法及装置 | |
CN107133517B (zh) | 一种基于内存中数据加密和计算的数据还原方法 | |
Lewi et al. | Securing update propagation with homomorphic hashing | |
CN116684070A (zh) | 一种可用于tls协议的抗量子密钥封装方法与系统 | |
WO2020165249A1 (en) | Distributed computing system and method of operation thereof | |
US20230163975A1 (en) | Certifying Public Keys for Multiple Cryptographic Hash Trees |
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 |