CN112152809A - 用于计算环境中经典和后量子数字签名方案的统一加速器 - Google Patents

用于计算环境中经典和后量子数字签名方案的统一加速器 Download PDF

Info

Publication number
CN112152809A
CN112152809A CN202010224031.0A CN202010224031A CN112152809A CN 112152809 A CN112152809 A CN 112152809A CN 202010224031 A CN202010224031 A CN 202010224031A CN 112152809 A CN112152809 A CN 112152809A
Authority
CN
China
Prior art keywords
hash
engine
signature
state machine
finite state
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.)
Pending
Application number
CN202010224031.0A
Other languages
English (en)
Inventor
S·马修
M·萨斯特里
S·高希
V·苏雷什
A·H·赖因德斯
R·库马尔
R·米索茨基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN112152809A publication Critical patent/CN112152809A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Electromagnetism (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

根据一个实施例,描述了一种用于促进计算环境中的经典和后量子数字签名方案的统一加速器的机制。如本公开所述,实施例的方法包括通过计算设备的可信平台托管的统一硬件加速器来统一经典密码术和后量子密码术。该方法可以还包括通过单个哈希引擎、一组寄存器文件库和模块化求幂引擎中的一个或多个来促进与经典密码术相关联的第一有限状态机和与后量子密码术相关联的第二有限状态机的统一。

Description

用于计算环境中经典和后量子数字签名方案的统一加速器
技术领域
本公开描述的实施例总体上涉及数据处理,并且更具体地涉及促进计算环境中用于经典和后量子数字签名方案的统一加速器。
背景技术
现有的公钥数字签名算法容易受到某些攻击,诸如使用量子计算机的攻击。正在努力开发可保护免受经典和后量子攻击二者的算法标准,但是这些提议采用了单独的硬件加速器,该加速器需要大的存储器和物理空间,并且效率低下,因为它们需要单独的计算(例如,哈希引擎)和存储器宏(例如注册文件)以启用任何签名方案。
此外,基于诸如使用量子计算机的Shor算法的算法,预计现有的公钥数字签名算法(诸如Rivest-Shamir-Adleman(RSA)和椭圆曲线数字签名算法(ECDSA))并不能保护免受暴力攻击。结果,密码术研究界和各种标准机构都在努力定义针对量子计算机安全的算法的新标准。
附图说明
在附图的图中以示例而非限制的方式示出了实施例,在附图中,相似的附图标记指代相似的元件。
图1A和1B分别示出了基于一次性哈希的签名方案和基于多次哈希的签名方案。
图2A和2B分别示出了一次性签名方案和多次签名方案。
图3示出根据一个实施例的采用统一硬件加速器和统一加速机制的计算设备。
图4示出根据一个实施例的统一硬件加速器和统一加速机制。
图5A示出根据一个实施例的采用多个哈希引擎的基于RSA的数字签名方案。
图5B示出根据一个实施例的概率签名方案到RSA引擎的映射。
图5C示出根据一个实施例的Winternitz一次性签名(WOTS+),作为用于密钥生成、签名/验证操作等的基础操作。
图5D示出根据一个实施例的WOTS+签名生成技术。
图5E示出根据一个实施例的WOTS+签名验证技术。
图6A示出根据一个实施例的统一硬件加速器的组织方案。
图6B示出根据一个实施例的基于WOTS+一次性签名生成技术的在WOTS+节点处的哈希操作。
图6C示出根据一个实施例的用于将图6B的WOTS+节点操作映射到图3的统一硬件加速器上的事务序列。
图6D示出根据一个实施例的使用统一硬件加速器和统一加速机制用于执行和映射经典和后量子操作的方法。
图7示出根据一些示例的适于实现各种实施例的示例性计算架构的实施例。
图8示出根据一些示例的包括第一设备和第二设备的安全环境的高级架构。
图9A是根据一些示例的Merkle树结构的示意图,其示出了签名操作。
图9B是根据一些示例的在验证期间的Merkle树结构900B的示意图。
具体实施方式
在以下描述中,阐述了许多具体细节。然而,可以在没有这些具体细节的情况下实践如本公开所述的实施例。在其它情况下,未详细示出公知的电路、结构和技术,以免混淆对本说明书的理解。
实施例提供了一种新技术,该技术采用统一硬件加速器(UHA)来,例如通过与后量子签名方案共享经典签名方案的数据路径和存储块来促进经典和/或后量子签名方案的安全措施。例如,对基于RSA的方案中的哈希引擎进行了调整,以扩展对执行可扩展Merkle签名方案(XMSS)哈希操作的支持,同时在两种签名方案之间重用存储块。哈希引擎可以基于简单的输入位以两种模式之一进行操作,该输入位然后可以由用户或应用进行编程。因此,本公开描述的主题通过提供实现统一硬件加速器的系统和方法来解决这些问题,该加速器可提供针对经典和后量子计算攻击的安全性。
XMSS是一种基于哈希的签名方案,该签名方案使用Winternitz一次性签名(WOTS)、一次性签名方案结合SHA2-256作为主要的基础哈希函数。XMSS的用户还可以使用SHA2-512、SHA3-SHAKE-256或SHA3-SHAKE-512作为可选的哈希函数。一些XMSS实现方式采用通用的SHA2-256哈希模块来执行XMSS特定的哈希函数,诸如伪随机函数(PRF)、链哈希(F)、树哈希(H)和消息哈希(H_msg)。LMS是一种基于哈希的签名方案,该方案使用Leighton/Micali一次性签名(LM_OTS)作为一次性签名构建块,该一次性签名构建块基于SHA2-256哈希函数。
后量子密码术
后量子密码术(也称为“防量子”、“量子安全”、“抗量子”或简称为“PQC”)采用了一种未来派和现实的密码术方法。它使负责密码术的人员以及最终用户了解密码术已经过时;相反,它需要发展以便能够成功地将不断发展的计算设备应用于量子计算和后量子计算。
众所周知,密码术允许保护在个人和实体之间在线通信并使用各种网络存储的数据。该数据的通信范围包括发送和接收电子邮件,在线购买商品或服务,使用网站访问银行业务或其它个人信息等。
在处理量子计算时,传统密码术及其典型的因式分解和困难数学场景的计算可能并不重要。这些数学问题,诸如离散对数、整数因式分解和椭圆曲线离散对数等,无法承受强大的量子计算机的攻击。参见Shor,P.W.“Algorithms for quantum computation:discretelogarithms and factoring”,第35届计算机科学基础年度研讨会议程,IEEE计算科学出版社doi:10.1109/sfcs.1994.365700.ISBN0818665807。尽管可以在当前的密码术上构建任何后量子密码术,但是这种新颖的方法仍需要足够智能、快速和精确,以抵抗和击败量子计算机的任何攻击。
今天的PQC主要集中在以下方法上:1)基于1979年Merkle哈希树公钥签名系统的基于哈希的密码术,该系统建立在Lamport和Diffie的单消息签名思想之上;2)基于代码的密码术,诸如McEliece的隐式Goppa代码公钥加密系统;3)基于1998年的Hoffstein-Pipher-Silverman公钥加密系统的基于格的密码术;4)基于1996年的Patarin的Hidden FieldEquation(HFE)公钥签名系统的多元二次方程密码术,该系统进一步基于Matumoto-Imai的建议;5)依靠超奇异椭圆曲线和超奇异同构图的超奇异椭圆曲线等值密码术;6)对称密钥量子电阻,诸如基于哈希的签名(HBS)。
图1A和1B分别示出了一次性基于哈希的签名方案和多次基于哈希的签名方案。如前所述,基于哈希的密码术是基于如Lamport签名、Merkle签名、扩展的Merkle签名方案(XMSS)、SPHINCS方案、SPHINCS+方案等的加密系统。随着量子计算的到来以及对它的发展的期待,人们一直担心量子计算可能带来的各种挑战,以及如何使用密码术领域来应对此类挑战。
由于这些方案已经存在了很长一段时间,并且拥有必要的基本要素,诸如依赖于对称密码术构建块(例如,哈希函数),因此正在被探索以应对量子计算挑战的一个领域是基于哈希的签名(HBS),以应对量子计数和后量子计算的挑战。HBS方案被认为是与快速平台安全启动配合使用的快速签名算法,该快速平台安全启动被认为最耐受量子攻击。
例如,如关于图1A所示,示出了HBS的方案,该方案使用Merkle树以及一次性签名(OTS)方案100,诸如使用私钥来对消息进行签名以及使用相应的公钥来验证OTS消息,其中私钥仅对单个消息进行签名。
类似地,如关于图1B所示,示出了另一种HBS方案,其中该方案涉及多次签名(MTS)方案150,其中私钥可以对多个消息进行签名。
图2A和2B分别示出了一次性签名方案和多次签名方案。继续图1A的基于HBS的OTS方案100和图1B的MTS方案150,相应地,图2A示出了Winternitz OTS(WOTS)方案200,该方案由斯坦福大学数学系的Robert Winternitz提供,而图2B示出了XMSS MTS方案250。
例如,图2A的WOTS方案200提供了将消息哈希和解析为M,该M具有[0,1,2,...,15]之间的67个整数,诸如私钥sk 205、签名s 210和公钥pk 215,每个都具有各自32字节的67个组件。
现在,例如,图2B示出了XMSS MTS方案250,该XMSS MTS方案250允许图2A的WOTS方案200和具有XMSS Merkle树270的XMSS方案255的组合。如先前关于图2A所讨论的,WOTS方案200是基于一次性公钥pk 215的,该公钥pk 215具有各自32个字节的67个组件,然后通过L-Tree压缩算法260进行处理,以使WOTS压缩的pk 267进行XMSS方案255的XMSS Merkle树270。预期XMSS签名验证可以包括计算WOTS验证和检查以确定重构的根节点是否与XMSS公钥匹配,诸如根节点=XMSS公钥。
用于后量子密码术的加速器
参考图8,其示出了根据一些示例的包括第一设备810和第二设备850的安全环境800的高级架构。参考图8,第一设备810和第二设备850中的每一个可被体现为能够执行本公开所述功能的任何类型的计算设备,诸如图8的计算设备800、图7的计算设备700等。例如,在一些实施例中,第一设备810和第二设备850中的每一个可以被体现为膝上型计算机、平板计算机、笔记本计算机、上网本、UltrabookTM、智能电话、蜂窝电话、可穿戴计算设备、个人数字助理、移动互联网设备、台式计算机、路由器、服务器、工作站和/或任何其它计算/通信设备。
第一设备810包括一个或多个处理器820和用于存储私钥824的存储器822。处理器820可以体现为能够执行本公开所述功能的任何类型的处理器。例如,处理器820可以体现为单核或多核处理器、数字信号处理器、微控制器或其它处理器或处理/控制电路。类似地,存储器822可以体现为能够执行本公开所述功能的任何类型的易失性或非易失性存储器或数据存储装置。在操作中,存储器822可以存储在第一设备810的操作期间使用的各种数据和软件,诸如操作系统、应用、程序、库和驱动器。存储器822通信地耦合到处理器820。在一些示例中,私钥824可以驻留在安全存储器中,该安全存储器可以是部分存储器822或者可以与存储器822分离。
第一设备810还包括认证逻辑830,该认证逻辑830包括存储器832、签名逻辑和验证逻辑836。哈希逻辑832被配置为对消息(M)进行哈希(即,向其应用哈希函数)以生成消息M的哈希值(m')。哈希函数可以包括但不限于安全哈希函数,例如安全哈希算法SHA2-256和/或SHA3-256等。SHA2-256可符合和/或兼容美国国家标准技术研究院(NIST)于2012年3月发布的标题为“安全哈希标准(SHS)”的联邦信息处理标准(FIPS)出版物180-4和/或本标准的更高版本和/或相关版本。SHA3-256可符合和/或兼容NIST于2015年8月发布的标题为“SHA-3标准:基于置换的哈希和可扩展输出函数”的FIPS出版物202和/或该标准的更高版本和/或相关版本。
签名逻辑832可以被配置为生成要发送的签名,即,发送的签名,和/或验证签名。在第一设备810是签名设备的情况下,发送的签名可以包括数量为L的发送的签名元素,其中每个发送的签名元素对应于相应的消息元素。例如,对于每个消息元素mi,签名逻辑832可以被配置为对私钥sk的每个私钥元素ski执行相应次数的选择签名操作,该相应次数与消息代表m'中包括的每个消息元素mi的值相关。例如,签名逻辑832可以被配置为将所选的哈希函数应用到对应的私钥元素ski mi次。在另一示例中,签名逻辑832可以被配置为将所选的链函数(其包含哈希函数)应用于对应的私钥元素ski mi次。因此,所选的签名操作可以对应于所选的基于哈希的签名方案。
基于哈希的签名方案可以包括但不限于Winternitz(W)一次性签名(OTS)方案、增强的Winternitz OTS方案(例如WOTS+)、Merkle多次签名方案、扩展的Merkle签名方案(XMSS)和/或扩展的Merkle多树签名方案(XMSS-MT)等。哈希函数可以包括但不限于SHA2-256和/或SHA3-256等。例如,XMSS和/或XMSS-MT可符合或兼容一个或多个互联网工程任务组(IETF.RTM.)发布的征求意见书(RFC),诸如RFC 8391,标题为SMSS:扩展的Merkle签名方案,于2018年5月发布。
Winternitz OTS被配置为生成签名并使用哈希函数验证接收到的签名。WinternitzOTS进一步被配置为使用私钥,并且因此使用每个私钥元素ski一次。例如,Winternitz OTS可以被配置为将哈希函数应用于每个私钥元素mi或N-mi次以生成签名,并将哈希函数应用于每个接收到的消息元素N-mi'或mi'次以生成对应的验证签名元素。Merkle多次签名方案是一种基于哈希的签名方案,该方案利用OTS,并且可使用私钥多于一次。例如,Merkle签名方案可以利用Winternitz OTS作为一次性签名方案。WOTS+被配置为利用哈希函数和链函数族。
XMSS、WOTS+和XMSS-MT是利用链函数的基于哈希的签名方案的示例。每个链函数被配置为封装对哈希函数的多个调用,并且可以进一步执行附加操作。包括在链函数中的哈希函数的调用次数可以是固定的。链函数可以提高相关联的基于哈希的签名方案的安全性。如本公开所述,基于哈希的签名平衡可以类似地平衡链函数操作。
密码术逻辑840被配置为代表签名设备810执行各种加密和/或安全功能。在一些实施例中,密码术逻辑840可以体现为加密引擎,签名设备810的独立安全协处理器、结合到处理器820中的密码加速器或独立软件/固件。在一些实施例中,密码术逻辑840可以生成和/或利用各种加密密钥(例如,对称/非对称加密密钥)来促进加密、解密、签名和/或签名验证。另外,在一些实施例中,密码术逻辑840可以促进通过通信链路与远程设备建立安全连接。进一步应该意识到,在一些实施例中,第一设备810的密码术模块840和/或另一模块可以建立可信的执行环境或安全位址空间(enclave),在该执行环境或安全位址空间内可以存储本公开描述的数据的一部分和/或可以执行本公开描述的许多功能。
在如上所述生成签名之后,消息M和签名然后可以由第一设备810例如经由通信逻辑842经由网络通信链路890发送到第二设备850。在实施例中,消息M在传输之前可能未加密。在另一个实施例中,消息M可以在传输之前被加密。例如,消息M可以由密码术逻辑840加密以产生加密的消息。
第二设备850还可以包括一个或多个处理器860和用于存储公钥864的存储器862。如上所述,处理器860可以体现为能够执行本公开所述功能的任何类型的处理器。例如,处理器860可以体现为单核或多核处理器、数字信号处理器、微控制器或其它处理器或处理/控制电路。类似地,存储器862可以体现为能够执行本公开所述功能的任何类型的易失性或非易失性存储器或数据存储装置。在操作中,存储器862可以存储在第二设备850的操作期间使用的各种数据和软件,诸如操作系统、应用、程序、库和驱动器。存储器862通信地耦合到处理器860。
在一些示例中,可以在先前的交换中将公钥864提供给验证者设备850。公钥pk被配置为包含数量为L的公钥元素,即,pk=[pk1,...,pkL]。公钥864可以被存储到例如存储器862。
第二设备850还包括认证逻辑870,该认证逻辑870包括哈希逻辑872、签名逻辑和验证逻辑876。如上所述,哈希逻辑872被配置为对消息(M)进行哈希(即,向其应用哈希函数)以生成哈希消息(m')。哈希函数可以包括但不限于安全哈希函数,例如安全哈希算法SHA2-256和/或SHA3-256等。SHA2-256可符合和/或兼容美国国家标准技术研究院(NIST)于2012年3月发布的标题为“安全哈希标准(SHS)”的联邦信息处理标准(FIPS)出版物180-4和/或本标准的更高版本和/或相关版本。SHA3-256可符合和/或兼容NIST于2015年8月发布的标题为“SHA-3标准:基于置换的哈希和可扩展输出函数”的FIPS出版物202和/或该标准的更高版本和/或相关版本。
在第二设备是验证设备的情况下,认证逻辑870被配置为至少部分地基于从第一设备接收的签名并且至少部分地基于接收到的消息代表(m')来生成验证签名。例如,认证逻辑870可以被配置为执行相同的签名操作,即,将与认证逻辑830的哈希逻辑832所应用的哈希函数或链函数相同的哈希函数或链函数应用于每个接收的消息元素N-mi'(或mi')次,以产生验证消息元素。然后可以确定验证签名(即,L个验证消息元素中的每一个)是否对应于对应的公钥元素pki。例如,验证逻辑870可以被配置为将每个验证消息元素与对应的公钥元素pki进行比较。如果验证消息元素中的每个验证消息元素与对应的公钥元素pki匹配,则验证对应于成功。换句话说,如果所有验证消息元素都与公钥元素pk1,......,pkL匹配,则验证对应于成功。如果任何验证消息元素与对应的公钥元素pki不匹配,则验证对应于失败。
如以下更详细描述的,在一些示例中,第一设备810的认证逻辑830包括一个或多个加速器838,该加速器838与哈希逻辑832、签名逻辑834和/或验证逻辑836协作以加速认证操作。类似地,在一些示例中,第二设备810的认证逻辑870包括一个或多个加速器878,该加速器878与哈希逻辑872、签名逻辑874和/或验证逻辑876协作以加速认证操作。加速器的示例在以下段落中并参考附图进行描述。
环境800的各种模块可以体现为硬件、软件、固件或其组合。例如,环境800的各种模块、逻辑和其它组件可以形成第一设备810的处理器820或第二设备850的处理器860或设备的其它硬件组件的一部分或以其它方式由它们建立。这样,在一些实施例中,环境800的一个或多个模块可以体现为电子设备的电路或集合(例如,认证电路、密码术电路、通信电路、签名电路和/或验证电路)。另外,在一些实施例中,一个或多个说明性模块可以形成另一模块的一部分,和/或一个或多个说明性模块可以彼此独立。
图9A是根据一些示例的Merkle树结构的示意图,其示出了签名操作。参考图9A,XMSS签名操作需要使用来自每个叶子WOTS节点910的本地公钥的Merkle树900A的构造,以生成全局公钥(PK)920。在一些示例中,认证路径和根节点值可以离线计算,使得这些操作不会限制性能。每个WOTS节点910具有唯一的秘钥“sk”,其仅用于对消息签名一次。XMSS签名包括为输入消息生成的签名和中间树节点的认证路径,以构造Merkle树的根。
图9B是根据一些示例的在验证期间的Merkle树结构900B的示意图。在验证期间,输入消息和签名用于计算WOTS节点的本地公钥920B,该本地公钥进一步用于使用认证路径计算树的根值。成功的验证将使计算出的树根值与签名实体共享的公钥PK相匹配。WOTS和L-Tree操作构成XMSS符号/验证等待时间的重要部分,从而定义了认证系统的总体性能。本公开描述了各种预计算技术,可以将其实施以加速WOTS和L-Tree操作,从而提高XMSS性能。该技术适于其它哈希选项,并且可以很好地针对软件和硬件实现方式进行缩放。
现在参考图3,图3示出了根据一个实施例的采用统一硬件加速器320和统一加速机制310的计算设备300。计算设备300表示通信和数据处理设备,该通信和数据处理设备包括(但不限于)智能语音命令设备、智能个人助理、家庭/办公室自动化系统、家用电器(例如洗衣机、电视机等)、移动设备(例如智能电话、平板计算机等)、游戏设备、手持设备、可穿戴设备(例如智能手表、智能手环等)、虚拟现实(VR)设备、头戴式显示器(HMD)、物联网(IoT)设备、膝上型计算机、台式计算机、服务器计算机、机顶盒(例如,基于互联网的有线电视机顶盒等)、基于全球定位系统(GPS)的设备、汽车信息娱乐设备等。
在一些实施例中,计算设备300包括或与任何数量和类型的其它智能设备一起工作或嵌入其中或促进其工作,诸如(但不限于)自主机器或人工智能代理,诸如机械代理或机器、电子代理或机器、虚拟代理或机器、机电代理或机器等。自主机器或人工智能代理的示例可包括(但不限于)机器人、自主车辆(例如,自驾驶汽车、自驾驶飞机、自航船等)、自主装备(自操作工程车、自操作医疗装备等)等。此外,“自主车辆”不限于汽车,而是它们可以包括任何数量和类型的自主机器,诸如机器人、自主装备、家庭自主设备等,以及与此类自主机器相关的任何一项或多项任务或操作可以与自主驾驶互换地引用。
此外,例如,计算设备300可以包括托管集成电路(“IC”)的计算机平台,诸如芯片上系统(“SoC”或“SOC”),其将计算设备300的各种硬件和/或软件组件集成在单个芯片上。例如,计算设备300包括具有一个或多个处理器的数据处理设备,该处理器包括(但不限于)共同地位于共同的半导体封装上的中央处理单元312和图形处理单元314。
如图所示,在一个实施例中,计算设备300可以包括任何数量和类型的硬件和/或软件组件,诸如(但不限于)图形处理单元(“GPU”或简称为“图形处理器”)314、图形驱动器(也称为“GPU驱动器”、“图形驱动器逻辑”、“驱动器逻辑”、用户模式驱动器(UMD)、UMD、用户模式驱动器框架(UMDF)、UMDF或简称为“驱动器”)316、中央处理单元(“CPU”或简称为“应用处理器”)312、存储器304、网络设备、驱动器等,以及输入/输出(I/O)源308,诸如触摸屏、触摸面板、触摸板、虚拟或常规键盘、虚拟或常规鼠标、端口、连接器等。计算设备300可以包括用作计算设备300的硬件和/或物理资源与用户之间的接口的操作系统(OS)306。
应当理解,对于某些实施方式,比上述示例更少或更多装备的系统可能是优选的。因此,计算设备300的任何配置可以取决于多种因素(诸如价格约束、性能要求、技术改进或其它情况)而变化。
实施例可以被实现为以下中的任何一种或组合:使用母板互连的一个或多个微芯片或集成电路、硬连线逻辑、由存储器设备存储并由微处理器执行的软件、固件、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。例如,术语“逻辑”、“模块”、“组件”、“引擎”、“电路”、“元件”和“机制”可以包括软件、硬件、固件和/或它们的组合。
在一个实施例中,如图所示,统一加速机制310可以由与计算设备300的I/O源308(诸如麦克风、扬声器等)通信的存储器304托管。在另一个实施例中,统一加速机制310可以是操作系统306的一部分或由操作系统306托管。在另一个实施例中,统一加速机制310可以由图形驱动器316托管或促进。在另一个实施例中,统一加速机制310可以由中央处理单元(“CPU”或简称为“应用处理器”)312和/或图形处理单元(“GPU”或简称为图形处理器”)314托管或嵌入其中,作为一种或多种硬件组件,诸如由一个或多个模拟或数字电路、逻辑电路、可编程处理器、可编程控制器、GPU、数字信号处理器(DSP)、专用集成电路(ASIC)、可编程逻辑设备(PLD)、现场可编程逻辑设备(FPLD)等实现。因此,可以预期,统一加速机制310的一个或多个部分或组件可以被采用或实现为硬件、软件、固件或其任何组合。
如进一步示出的,计算设备300包括托管包括硬件加速器的统一加速器320的可信平台315,其中可信平台315与应用处理器312和图形处理器314通信。如将在本公开件中进一步讨论的,在一个实施例中,UHA 320由可信平台315托管,而由统一加速机制310促进,以执行任何数量和类型的任务,以确保计算设备300和/或耦合到计算设备300或与之通信的任何其它计算设备的安全性,以抵抗经典计算机和后量子计算机二者的攻击。
如本公开中所使用的,短语“在通信中”(包括其变型)涵盖通过一个或多个中间组件的直接通信和/或间接通信,并且不需要直接物理(例如,有线)通信和/或恒定通信,但另外包括定期间隔、计划间隔、非周期性间隔和/或一次性事件的选择性通信。
计算设备300可以托管网络接口设备,以提供对网络的访问,诸如LAN、广域网(WAN)、城域网(MAN)、个人区域网(PAN)、蓝牙、云网络、移动网络(例如,第三代(3G)、第四代(4G)等)、企业内部网、互联网等。网络接口可以包括例如具有天线的无线网络接口,该天线可以表示一个或多个天线。网络接口还可以包括例如有线网络接口,以经由网络电缆与远程设备通信,该网络电缆可以是例如以太网电缆、同轴电缆、光纤电缆、串行电缆或平行电缆。
例如,可以提供实施例作为计算机程序产品,该计算机程序产品可以包括其上存储有机器可执行指令的一个或多个机器可读介质,该机器可执行指令在由诸如计算机、数据处理机、数据处理设备、计算机网络或其它电子设备的一个或多个机器执行时可导致一个或多个机器执行根据本公开所述实施例的操作。如参考图3所述,机器可以包括一个或多个处理器,诸如CPU、GPU等。机器可读介质可以包括但不限于软盘、光盘、压缩光盘-只读存储器(CD-ROM)、磁光盘、ROM、随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁卡或光卡、闪存,或适于存储机器可执行指令的其它类型的介质/机器可读介质。
例如,当阅读本专利的任何装置、方法或系统权利要求以涵盖纯软件和/或固件实现方式时,UHA 320和统一加速机制310中的至少一个可以明确地定义为包括:非暂态计算机可读存储设备或存储磁盘,诸如存储器、数字多功能磁盘(DVD)、光盘(CD)、蓝光磁盘等,包括软件和/或固件。
此外,UHA 320和/或统一加速机制310的一个或多个元件可以作为计算机程序产品下载,其中可以通过体现在载波或经由通信链接(例如,调制解调器和/或网络连接)的其它传播介质中和/或由载波或其它传播介质调制的一个或多个数据信号,将程序从远程计算机(例如服务器)传输到请求计算机(例如客户端)。
贯穿本公开件,术语“用户”可互换地称为“观看者”、“观察者”、“发言人”、“人”、“个人”、“最终用户”、“开发者”、“程序员”、“管理员”等。例如,在一些情况下,用户可以指最终用户,诸如访问客户端计算设备的消费者,而在一些其它情况下,用户可以包括访问充当客户端计算设备的工作站的开发者、程序员、系统管理员等。要注意的是,贯穿本公开件,如“图形域”的术语可以与“图形处理单元”、“图形处理器”或简称为“GPU”互换使用;类似地,“CPU域”或“主机域”可以与“计算机处理单元”、“应用处理器”或简称为“CPU”互换使用。
要注意的是,贯穿本公开件,诸如“节点”、“计算节点”、“服务器”、“服务器设备”、“云计算机”、“云服务器”、“云服务器计算机”、“机器”、“主机”、“设备”、“计算设备”、“计算机”、“计算系统”等可以互换使用。进一步要注意,贯穿本公开件,诸如“应用”、“软件应用”、“程序”、“软件程序”、“包”、“软件包”等的术语可以互换使用。
此外,贯穿本公开件,如“请求”、“查询”、“工作”、“作业”、“工作项”和“工作负载”的术语可互换引用。类似地,“应用”或“代理”可以指代或包括通过应用编程接口(API),诸如免费渲染API,诸如Open Graphics Library
Figure BDA0002427046320000141
Figure BDA0002427046320000142
等提供的计算机程序、软件应用、游戏、工作站应用等,其中“分发”可以互换地称为“工作单元”或“绘图”,而“应用”可以互换地称为“工作流程”或简称为“代理”。
例如,诸如三维(3D)游戏的工作负载的工作负载可以包括并发布任何数量和类型的“帧”,其中每帧可以表示图像(例如,帆船、人脸)。此外,每帧可以包括并提供任何数量和类型的工作单元,其中每个工作单元可以表示由其相应帧所表示的图像(例如,帆船、人脸)的一部分(例如,帆船的桅杆、人脸的前额)。然而,为了保持一致,贯穿本公开件,每个项目都可以用单个术语(例如“分发”、“代理”等)来引用。
在一些实施例中,如“显示屏”和“显示表面”的术语可互换地用于指代显示设备的可见部分,而其余的显示设备可被嵌入到诸如智能电话、可穿戴设备等的计算设备中。可以预期并且要注意,实施例不限于任何特定的计算设备、软件应用、硬件组件、显示设备、显示屏或表面、协议、标准等。例如,实施例可以应用于任何数量和类型的计算机(诸如台式机、膝上型计算机、平板计算机、智能电话、头戴式显示器和其它可穿戴设备等)上的任何数量和类型的实时应用,并且可以与它们一起使用。此外,例如,使用该新颖技术的高效性能的渲染场景的范围可以从简单的场景(诸如桌面合成)到复杂的场景(诸如三维(3D)游戏、增强现实应用等)。
图4示出了根据一个实施例的图3的UHA 320和统一加速机制310。为简洁起见,下面不再重复或讨论已经参考图3讨论的许多细节。在一个实施例中,统一加速机制310可以包括任何数量和类型的元件或组件,诸如(但不限于):检测和监视逻辑401;计算和映射逻辑403;提取和附加逻辑405;写入和决策逻辑407;以及通信/兼容性逻辑409。
计算设备300进一步示为包括用户界面419(例如,基于图形用户界面(GUI)的用户界面、Web浏览器、基于云的平台用户界面、基于软件应用的用户界面、其他用户或应用编程接口(API)等)。计算设备300可以还包括I/O源308,该I/O源308具有:输入组件431,诸如相机442(例如,
Figure BDA0002427046320000151
RealSenseTM相机)、麦克风441、传感器、检测器、键盘、鼠标等;以及输出组件433,诸如显示设备或简称显示器444(例如整体显示器、张量显示器、投影屏幕、显示屏等)、扬声器设备或简称扬声器等。
计算设备300进一步被图示为通过一个或多个通信介质430(例如网络,诸如邻近网络、云网络、内部网、互联网等)访问一个或多个数据库425和/或一个或多个其它计算设备并与之通信。
在一些实施例中,数据库425可以包括一个或多个存储介质或设备、存储库、数据源等,它们具有任何数量和类型的信息,诸如与任何数量和类型的应用相关的数据、元数据等,诸如与一个或多个用户、物理位置或区域、适用法律、政策和/或法规、用户偏好和/或配置文件、安全性和/或认证数据、历史和/或优选详细信息等相关的数据和/或元数据。
如前所述,如“逻辑”、“模块”、“组件”、“引擎”、“电路”、“元件”和“机制”的术语可包括例如软件、硬件、固件,和/或其任何组合。
如前所述,现有的公钥数字签名技术,诸如公钥密码术标准(PKCS)RSA、椭圆曲线数字签名算法(ECDSA)椭圆曲线密码术(ECC)等,容易受到攻击,诸如就像那些使用量子计算机的攻击一样。正在努力开发针对量子计算机安全的算法标准。例如,XMSS是互联网工程任务组(IETF)在RFC-8391中发布的第一个后量子安全公钥数字签名方案。用于执行RSA操作的加速器(诸如幂加速单元)具有专用哈希引擎(例如SHA2/SHA384)以支持作为PKCS#1v2的一部分标准化的各种算法,诸如光学非对称加密填充(OAEP)、概率签名方案(PSS)等。这些加速器还配备有大型的存储器宏(诸如寄存器文件)以保存诸如基本、指数、秘钥、中间结果和密文等的参数。
实施例提供了新颖的统一硬件加速器,诸如UHA 320,其例如通过有效地重用任何可用的存储器和哈希引擎来支持经典和后量子数字签名方案,从而导致相对于独立的硬件实现方式诸如30%的面积减少的显著面积减少。如统一加速机制310所促进的,该新颖的UHA320实现以可忽略的开销从经典签名方案到后量子数字签名方案的平滑过渡。
传统技术需要用于经典和后量子数字签名方案的硬件组件的单独实现方式,其包括单独的计算(例如,哈希引擎)和存储器宏(例如,寄存器文件)以启用签名方案。尽管数字签名方案的基础操作有相似之处,但这些单独的硬件实现方式需要大量的物理面积和功率开销。这些传统技术还涉及用于单独的硬件实现方式的大量设计和验证工作。
实施例提供了新颖的UHA 320,其与传统的单独的硬件实现方式相比提供了显著的减少,诸如减少超过30%(例如,285K的门数而不是400k的门数)。该面积减少还可以转化为类似的功率节省,并且此外,该新颖技术最小化任何设计和验证工作,因为在一个实施例中,可以对现有引擎进行调整(而无需添加附加引擎)以扩展对后量子数字签名方案的支持。如前所述,该新颖技术还支持任何经典的数字签名方案,同时具备充分的能力来基于量子计算的不断发展来处理后量子数字签名方案。
公钥数字签名方案用于验证消息的真实性,其中发送方采用私钥对消息签名,而验证方通过采用公钥解密签名来验证真实性。例如,如关于图5A所示,基于RSA的数字签名方案采用多个哈希引擎501、503,并执行消息填充,然后执行哈希操作以将消息压缩到合适的大小,如由图5A的基于RSA的公钥数字签名引擎(“RSA引擎”)500所促进的。然后,使用模块化求幂引擎507对该压缩消息进行模块化求幂,该模块化求幂引擎507形成RSA加密/解密的基础。当前使用的标准密钥大小是4096位,以增强对使用量子计算机的攻击的容忍度,使得RSA引擎500由8个寄存器文件库(诸如寄存器文件库505)组成,其中每个库包括32个128b字节的条目。例如,模块化求幂引擎507基于密钥位执行模乘和归约,并将结果写回到寄存器文件库505处的寄存器文件中。RSA引擎500支持由PKCS#1v2标准化的各种公钥密码算法,诸如OAEP、概率签名方案(PSS)、PKCS签名/验证等。这些算法中的关键操作之一是掩码生成函数(MGF),该掩码生成函数采用哈希引擎503(例如SHA2/SHA384/SHA512)以取决于操作扩展/压缩任何消息。
如图所示,图5A的RSA引擎500采用两个哈希引擎501、503,其中一个引擎(诸如哈希引擎503)嵌入RSA模块500内,而另一个哈希引擎501可在外部用于使用直接存储器访问(DMA)执行独立哈希操作,以及在数字签名操作期间执行消息压缩/扩展。类似地,RSA引擎500可通过提供直接访问路径以注册文件库505来执行消息签名/验证操作以及独立的RSA加密/解密操作。
参考图5B,其示出了PSS到RSA引擎(诸如图5A的RSA引擎500)的映射510。例如,PSS使用外部哈希引擎511、513使用两轮哈希操作将任意消息长度转换为已知长度。在第二轮哈希操作期间,压缩消息以随机生成的盐值(salt value)填充并被发送到哈希引擎513,其中两轮哈希后的压缩消息然后被发送到具有另一个哈希引擎515的RSA引擎,其中该消息经历消息扩展,然后用由相同盐值组成的填充消息进行模加。最终编码的消息是通过将模块化加法输出与原始哈希输入消息一起填充517到RSA引擎而构建。类似地,可以针对PSS验证和PKCS数字签名方案的其它模式执行映射。
由于任何现有的PKCS数字签名方案都容易受到使用量子计算机的攻击,因此正在进行各种努力来开发抗量子攻击的数字签名方案。基于结构化的基于哈希的签名的一种此类方案是扩展的Merkel签名方案(XMSS),其中XMSS使用WOTS+作为密钥生成、签名/验证操作的基础操作,如关于图5C的WOTS+一次性签名生成技术520所示。例如,WOTS+操作可涉及16个SHA2-256 HASH函数的67条并行链,每个链都具有秘钥sk[66:0]作为输入,如图5C中所示。
如图所示,链中的每个哈希操作(诸如哈希操作521)示为由使用SHA2-256以生成位掩码和密钥的两个伪随机函数组成。位掩码与先前的哈希值进行XOR运算,并与密钥相连接,作为第三次SHA2-256(3rd SHA2-256)哈希操作的输入消息,其中67x32字节的WOTS公钥pk[66:0]是通过在67个哈希链中对秘钥sk进行哈希生成。对于消息签名,对输入消息进行哈希和预处理,以计算67x4位的值,该值用作索引以选择每个链中的中间哈希值,如关于图5D的WOTS签名生成技术530所示。在验证期间,该消息再次被哈希以计算签名索引,并进一步计算每个链中剩余的HASH操作以计算WOTS公钥pk,如关于图5E的WOTS签名验证540所示。该技术与认证路径一起用于计算Merkle树的根,并且然后将其与共享公钥PK进行比较以验证消息。如本公开件中将进一步讨论的,加速SHA2操作可为XMSS提供最大的性能改进。
如将参考图6A、6B和6C进一步描述的,UHA 320指一种新颖的统一硬件加速器,其驻留在可信平台315或由其托管,该可信平台315与应用处理器312和图形处理器314中的一个或多个通信。在一个实施例中,统一加速机制310促进UHA 320执行任何相关操作以充当统一硬件加速器,该统一硬件加速器允许针对经典和后量子计算机攻击二者的有效安全性。例如,统一加速机制310包括检测和监视逻辑401;计算和映射逻辑403;提取和附加逻辑405;写入和决策逻辑407;以及通信/兼容性逻辑409。
在一个实施例中,触发检测和监视逻辑401以检测和监视经典和XMSS过程二者以及检测和监视UHA 320的各种组件和过程。在一个实施例中,如关于图6B-6C进一步示出的,触发计算和映射逻辑403以从ADDR和SEED计算位掩码并使用SHA2引擎写入RF Bank0,并且此外,计算和映射逻辑403继续从ADDR和SEED计算密钥并使用SHA2引擎写入RF Bank1
此外,例如,触发提取和附加逻辑405以从RF Bank2提取先前的哈希,并将其与来自RFBank0的位掩码相加,并且然后将任何结果附加至密钥并使用SHA2引擎计算哈希。然后,通过写入和决策逻辑407将结果写回到RF Bank2,同时确定签名/验证循环是否已经完成。如果签名/验证循环未完成,则写入和决策逻辑407将该过程从ADDR和SEED循环回位掩码的计算,并使用SHA引擎将位掩码写入RF Bank0。然而,如果签名/验证循环完成,则写入和决策逻辑407将该信息传送到提取和附加逻辑405,以通过DMA从RF Bank2提取结果。
参考I/O源308,可以预期,实施例不限于任何数量或类型的麦克风441、相机442、扬声器443、显示器444等,用于捕获或呈现数据。例如,如由检测和监视逻辑401所促进的,一个或多个麦克风441可用于同时检测来自诸如扬声器的用户的语音或声音。类似地,如检测和监视逻辑401所促进的,一个或多个相机442可以用于捕获地理位置(无论是在室内还是室外)及其相关联内容(例如家具、电子设备、人类、动物、树木、山脉等)的图像或视频,并形成一组图像或视频流。
类似地,如图所示,输出组件433可以包括任何数量和类型的扬声器或扬声器设备443,以用作输出设备,用于出于任何数量或类型的原因(诸如人的听力或消费)从计算设备300输出或发出音频。例如,扬声器443与麦克风441工作相反,其中,扬声器443将电信号转换为声音。
此外,输入组件431可以包括任何数量或类型的相机,诸如已知用于捕获媒体(诸如个人媒体)的静止和/或视频红绿蓝(RGB)和/或RGB深度(RGB-D)图像的深度感测相机或捕获设备(例如,
Figure BDA0002427046320000191
RealSenseTM深度感测相机)。具有深度信息的此类图像已被有效地用于各种计算机视觉和计算摄影效果,诸如(但不限于)场景理解、重新对焦、构图、电影照片等。类似地,例如,显示器可以包括任何数量和类型的显示器,诸如一体式显示器、张量显示器、立体显示器等,包括(但不限于)嵌入式或连接的显示屏、显示设备、投影仪等。
输入组件431可还包括以下一种或多种:振动组件、触觉组件、电导元件、生物度量传感器、化学检测器、信号检测器、脑电图、功能近红外光谱仪、波检测器、力传感器(例如,加速度计)、照明器、眼睛跟踪或凝视跟踪系统、头部跟踪系统等,它们可用于捕获任何数量和类型的视觉数据,诸如图像(例如,照片、视频、电影、音频/视频流等)以及非可视数据,诸如音频流或信号(例如,声音、噪声、振动、超声等)、无线电波(例如无线信号,诸如具有数据、元数据、标志等的无线信号)、化学变化或特性(例如湿度、体温等)、生物度量读数(例如图形打印等)、脑电波、脑循环、环境/天气状况、地图等。可以预期,“传感器”和“检测器”可贯穿本公开件互换引用。进一步预期,一个或多个输入组件431可以还包括用于捕获和/或感测数据的支撑或补充设备中的一个或多个,诸如照明器(例如,IR照明器)、灯具、发生器、声音阻挡器等。
进一步可以预期,在一个实施例中,输入组件431可以包括任何数量和类型的情境传感器(例如,线性加速度计),用于感测或检测任何数量和类型的情境(例如,估计与移动计算设备等相关的地平线、线性加速度等)。例如,输入组件431可以包括任何数量和类型的传感器,诸如(但不限于):加速度计(例如,用于测量线性加速度的线性加速度计等);惯性设备(例如惯性加速度计、惯性陀螺仪、微机电系统(MEMS)陀螺仪、惯性导航仪等);以及重力梯度仪,以研究和测量由于重力引起的重力加速度的变化等。
此外,例如,输入组件431可以包括(但不限于):音频/视频设备(例如,相机、麦克风、扬声器等);情境感知传感器(例如,温度传感器、可与音频/视频设备的一个或多个相机一起使用的面部表情和特征测量传感器、环境传感器(诸如用于感测背景颜色、光线等);生物度量传感器(诸如用于检测指纹等)、日历维护和读取设备等);全球定位系统(GPS)传感器;资源请求者;和/或TEE逻辑。TEE逻辑可以被单独采用,或者可以是资源请求者和/或I/O子系统等的一部分。输入组件431可以还包括语音识别设备、照片识别设备、面部和其它身体识别组件、语音文本转换组件等。
类似地,输出组件433可以包括具有触觉效应器的动态触觉触摸屏,作为呈现触摸可视化的示例,其中此类实施例可以是超声发生器,该超声发生器可以在空间中发送信号,当该信号到达时,例如,人的手指会引起触觉或手指上的类似感觉。此外,例如并且在一个实施例中,输出组件433可以包括(但不限于)光源、显示设备和/或屏幕、音频扬声器、触觉组件、电导元件、骨传导扬声器、嗅觉或气味视觉和/或非视觉呈现设备、触觉或触摸视觉和/或非视觉呈现设备、动画显示设备、生物度量显示设备、X射线显示设备、高分辨率显示器、高动态范围显示器、多视图显示器和用于虚拟现实(VR)和增强现实(AR)中的至少一种的头戴式显示器(HMD)等中的一个或多个。
可以预期,实施例不限于任何数量或类型的用例场景、架构布置或组件设置;然而,为了简洁和清楚起见,出于示例性目的贯穿本公开件提供和讨论了图示和描述,但是实施例不限于此。此外,贯穿本公开件,“用户”可以指有权访问一个或多个计算设备(诸如计算设备300)的人,并且可以与“人”、“个人”、“人类”、“他”、“她”、“孩子”、“成人”、“观看者”、“玩家”、“游戏者”、“开发者”、“程序员”等互换引用。
通信/兼容性逻辑409可以用于促进各种组件、网络、数据库425和/或通信介质430等与任何数量和类型的其它计算设备(诸如可穿戴计算设备、移动计算设备、台式计算机、服务器计算设备等)、处理设备(例如中央处理单元(CPU)、图形处理单元(GPU)等)、捕获/传感组件(例如非视觉数据传感器/检测器,诸如音频传感器、嗅觉传感器、触觉传感器、信号传感器、振动传感器、化学物质检测器、无线电波检测器、力传感器、天气/温度传感器、人体/生物传感器、扫描仪等,以及视觉数据传感器/检测器,诸如相机等)、用户/情境感知组件和/或标识/验证传感器/设备(诸如生物度量传感器/检测器、扫描仪等)、存储器或存储设备、数据源和/或数据库(诸如数据存储设备、硬盘驱动器、固态驱动器、硬盘、存储卡或设备、存储器电路等)、网络(例如,云网络、互联网、物联网、内联网、蜂窝网络、邻近网络,诸如蓝牙、低功耗蓝牙(BLE)、蓝牙智能、Wi-Fi邻近、射频识别、近场通信、人体局域网等)、无线或有线通信以及相关协议(例如
Figure BDA0002427046320000211
WiMAX、以太网等)、连接和位置管理技术、软件应用/网站(例如社交和/或商业联网网站、商业应用、游戏和其它娱乐应用等)、编程标准等之间的动态通信和兼容性,同时确保与变化的技术、参数、协议、标准等的兼容性。
贯穿本公开件,如“逻辑”、“组件”、“模块”、“框架”、“引擎”、“工具”、“电路”等的术语可以互换使用,并且包括例如软件、硬件、固件和/或其任何组合。在一个示例中,“逻辑”可以指代或包括与诸如计算设备300的计算设备的操作系统、图形驱动器等中的一个或多个一起工作的软件组件。在另一示例中,“逻辑”可以指代或包括能够与诸如计算设备300的计算设备的一个或多个系统硬件元件(诸如应用处理器、图形处理器等)一起或作为其一部分而被物理安装的硬件组件。在另一个实施例中,“逻辑”可以指代或包括能够作为诸如计算设备300的计算设备的系统固件(诸如应用处理器或图形处理器等的固件)的一部分的固件组件。
此外,对任何特定品牌、单词、术语、短语、名称和/或缩写(诸如“统一硬件加速器”、“UHA”、“统一加速器”、“UA”、“经典签名方案或攻击”、“后量子签名方案或攻击”、“RSA”、“XMSS”、“哈希引擎”、“计算”、“提取”、“附加”、“写入”、“创建”、“训练”、“推理”、“分类”、“估计”、“RealSenseTM相机”、“实时”、“自动”、“动态”、“用户界面”、“相机”、“传感器”、“麦克风”、“显示屏”、“扬声器”、“验证”、“认证”、“隐私”、“用户”、“用户个人资料”、“用户偏好”、“发送方”、“接收方”、“个人设备”、“智能设备”、“移动计算机”、“可穿戴设备”、“IoT设备”、“邻近网络”、“云网络”、“服务器计算机”等)的使用不应理解为将实施例限制为在产品或本公开件外部文献中带有该标签的软件或设备。
预期可以将任何数量和类型的组件添加到统一加速机制310和/或UHA 320中和/或从中移除,以促进包括添加、移除和/或增强某些特征的各种实施例。为了简洁、清楚和易于理解统一加速机制310和/或UHA 320,这里未示出或讨论许多标准和/或已知组件,诸如计算设备的组件。可以预期,如本公开所述的实施例不限于任何技术、拓扑、系统、架构和/或标准,并且具有足够的动态性以采用和适应于任何未来的变化。
图6A示出了根据一个实施例的图3的UHA 320的组织方案。为了简洁起见,下面将不再讨论或重复先前参考图1-5E提及或讨论的许多细节。示出的实施例呈现了UHA 320的组织设置,其映射了经典和后量子数字签名方案,通过例如减少30%的物理面积相对于传统的单独硬件实现方式显著改善。在一个实施例中,所示的UHA 320由与经典的PKCS FSM 603并行的XMSS有限状态机(FSM)601组成,其中基于可以基于应用进行编程的选择位来选择状态机。此外,如图所示,两个状态机601、603被示为使用模式选择位(“模式”)605与SHA或哈希引擎607进行通信,并使用DMA 613A、613B、613C通信到寄存器文件库609上。
在一个实施例中,该新颖的UHA 320包括单个哈希607引擎,而不是基线设计中的两个引擎,从而提供了附加面积节省。为了确保哈希引擎607可用于执行独立哈希操作,提供了DMA 613A、613B、613C以绕过PKCS数据路径。此外,相对于传统的PKCS方案,任何输入数据都要经历必要的哈希处理,并且然后写入寄存器文件库中,并在RSA引擎中经历模块化求幂。任何结果都会写回到寄存器文件库609处的寄存器文件中,并可以通过DMA 613A、613B、613C读出,其中寄存器文件库609还可以直接访问存储器以填充所需内容,诸如明文、秘钥、配置位等。该结果也通过模块化求幂引擎611进行模块求幂,并循环返回到寄存器文件库609。
此外,在一个实施例中,在XMSS后量子操作期间,使用模式605禁用任何经典签名数据路径(包括经典FSM 603),其中XMSS FSM601根据需要控制填充,并将数据馈送到SHA引擎607,如由图3的统一加速机制310所促进的。任何预处理数据优化由预处理数据路径执行,并且任何内容都被加载到寄存器文件库609中。
图6B示出了根据一个实施例的基于WOTS+一次性签名生成技术的在WOTS+节点620处的哈希操作621、623、625,而图6C示出了根据一个实施例的用于将图6B的WOTS+节点操作的651、653、655映射到图3的UHA 320上的事务序列650。为了简洁起见,下文中将不再讨论或重复先前参考图1-6A提及或讨论的许多细节。
如关于图6B所示,WOTS+节点620示为包括三个哈希操作621、623、625,其中第一哈希操作(诸如哈希操作621)将地址和种子作为输入并创建位掩码,而第二哈希操作(诸如哈希操作623)则产生密钥。然后,将所得的位掩码添加到先前的哈希消息中,并用密钥填充,并且然后将其馈送到第三哈希操作(诸如哈希操作625)中以生成当前哈希消息。
在一个实施例中,如关于图6C所示,图6B的哈希操作621、623、625依次执行,通过对应的映射事务651、653、655将任何所得的输出分别映射到并写入单独的RF库。例如,在第三映射事务655期间,先前的哈希消息671从RF Bank2 665读取,并添加有存储在RF Bank0661中的位掩码673,填充有存储在RF Bank1 663中的密钥675,并发送至哈希引擎679(诸如SHA2),其中该哈希引擎679的输出被写回到RF Bank2 665。
在一个实施例中,具有单独的库661、663、665减少了读取等待时间,使得所需的输入被同时读取。例如,图6B的WOTS+节点620中的签名大小包括67个条目,其中每个条目为32字节宽。XMSS中的认证路径可能需要输入10个条目×32字节的大小,并且因此总存储量可能是77个条目×32字节的大小。RSA引擎中的RF可能由256个条目组成,每个条目是16个字节宽。因此,图6B的WOTS+节点620可以被映射到RF库中的154个条目,而无需任何附加存储器。
传统的单独硬件实现方式可能会产生以下开销:RSA(包括存储器)需要250k门,SHA引擎需要35k门,XMSS需要115k门,总共需要480k门。
相反,在一个实施例中,图3的该新颖的UHA 320可能需要大量更少的门,诸如285k门,从而在物理面积和功率节省方面节省了约30%。此外,如关于图3所示,该新颖的UHA 320可以驻留在与CPU312和/或GPU 314通信的可信平台315中或由其托管,其中图3的该可信平台315可以指代专用平台,诸如现场可编程门阵列(FPGA)平台等。
图6D示出根据一个实施例的用于使用图3的UHA 320和统一加速机制310来执行和映射经典和后量子操作的方法680。为了简洁起见,下文中将不再讨论或重复先前参考图1-6C提及或讨论的许多细节。此外,可以预期,具有该附图和其它图示的任何过程或事务可以由处理逻辑来执行,该处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑等)、软件(诸如在处理设备上运行的指令)或其组合,如图1的统一加速机制110和/或UHA 320所促进的。为了简洁起见,可以线性顺序说明或叙述与该图示和其它图示相关的任何过程或事务;然而,可以预期,可以并行、异步或以不同顺序执行其中的任何数量。
如这里以及进一步关于图6C所示,方法680在框681处开始于在诸如WOTS+节点的节点处的哈希操作,其中使用哈希引擎(诸如SHA2引擎)从地址和种子计算位掩码并将位掩码写入诸如RF Bank0的库。在框683处,使用哈希引擎(诸如SHA2引擎)从地址和种子计算密钥并将其写入诸如RF Bank1的另一库。
在框685处,在一个实施例中,方法680继续从RF Bank2中提取先前的哈希并将所提取的哈希从RFBank0添加至位掩码。在框687处,将来自这些操作的任何结果附加到密钥,并使用哈希引擎进行计算,并且然后在框689处将结果写回到RF Bank2
在一个实施例中,方法680以关于签名和/或验证循环是否已经完成的确定在框691处继续。如果签名/验证循环还没有完成,则方法680在框681处采用位掩码的计算和映射循环回到起点。然而,如果签名/验证循环已经完成,则方法680在框693处继续,其中通过DMA从RF Bank2中提取结果,并且随后,方法680结束。
图7示出示例性计算架构的实施例,该示例性计算架构可以适于实现如先前所描述的各种实施例。实施例可以包括计算架构,该计算架构包括UHA 320和统一加速机制310,诸如关于图3至图6D所示。
在各种实施例中,计算架构700可以包括或被实现为电子设备的一部分。在一些实施例中,计算架构700可以代表例如实现上述操作环境的一个或多个组件的计算机系统。在一些实施例中,计算架构700可以代表实现本公开描述的一种或多种技术的深度神经网络(DNN)训练系统的一个或多个部分或组件。实施例不限于该上下文。
如本申请中所使用的,术语“系统”和“组件”以及“模块”旨在指与计算机有关的实体,可以是硬件、硬件和软件的组合、软件或正在执行的软件,示例性计算架构700提供了其示例。例如,组件可以是但不限于在处理器上运行的进程、处理器、硬盘驱动器或固态驱动器(SSD)、多个(光和/或磁存储介质的)存储驱动器、对象、可执行文件、执行线程、程序和/或计算机。作为说明,在服务器上运行的应用和服务器二者都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,组件可以通过各种类型的通信介质彼此通信地耦合以协调操作。协调可以涉及信息的单向或双向交换。例如,组件可以以在通信介质上传送的信号的形式传送信息。该信息可以被实现为分配给各种信号线的信号。在此类分配中,每个消息都是信号。然而,其它实施例可以可替代地采用数据消息。此类数据消息可以横跨各种连接发送。示例性连接包括并行接口、串行接口和总线接口。
计算架构700包括各种常见的计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件、电源等。然而,实施例不限于由计算架构700实现。
如图7中所示,计算架构700包括一个或多个处理器702和一个或多个图形处理器708,并且可以是单处理器台式机系统、多处理器工作站系统或具有大量处理器702或处理器核心707的服务器系统。在一个实施例中,系统700是结合在芯片上系统(SoC或SOC)集成电路内的处理平台,以用于移动、手持或嵌入式设备。
系统700的实施例可以包括或结合在基于服务器的游戏平台、包括游戏和媒体控制台的游戏控制台、移动游戏控制台、手持游戏控制台或在线游戏控制台内。在一些实施例中,系统700是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统700还可包括可穿戴设备,与可穿戴设备耦合或集成在可穿戴设备内,诸如智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备。在一些实施例中,数据处理系统700是电视或机顶盒设备,其具有一个或多个处理器702以及由一个或多个图形处理器708生成的图形界面。
在一些实施例中,该一个或多个处理器702各自包括一个或多个处理器核心707以处理指令,该指令在被执行时执行针对系统和用户软件的操作。在一些实施例中,一个或多个处理器核心707中的每个核心被配置为处理特定指令集709。在一些实施例中,指令集709可以促进复杂指令集计算(CISC)、精简指令集计算(RISC)或经由超长指令字(VLIW)的计算。多个处理器核心707可以各自处理不同的指令集709,该指令集709可以包括促进对其它指令集的仿真的指令。处理器核心707还可包括其它处理设备,诸如数字信号处理器(DSP)。
在一些实施例中,处理器702包括高速缓冲存储器704。取决于架构,处理器702可具有单个内部高速缓存或多层内部高速缓存。在一些实施例中,高速缓存存储器在处理器702的各个组件之间共享。在一些实施例中,处理器702还使用外部高速缓存(例如,三级(L3)高速缓存或最后一级高速缓存(LLC))(未示出),其可以使用已知的高速缓存一致性技术在处理器核心707之间共享。寄存器文件706另外包括在处理器702中,该处理器702可以包括用于存储不同类型的数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。一些寄存器可以是通用寄存器,而其它寄存器可以特定于处理器702的设计。
在一些实施例中,一个或多个处理器702与一个或多个接口总线710耦合,以在处理器702与系统中的其它组件之间传输通信信号,诸如地址、数据或控制信号。在一个实施例中,接口总线710可以是处理器总线,诸如直接媒体接口(DMI)总线的版本。然而,处理器总线不限于DMI总线,并且可以包括一个或多个外围组件互连总线(例如,PCI、PCI Express)、存储器总线或其它类型的接口总线。在一个实施例中,处理器702包括集成存储器控制器716和平台控制器集线器730。存储器控制器716促进存储器设备与系统700的其它组件之间的通信,而平台控制器集线器(PCH)730经由本地I/O总线提供到I/O设备的连接。
存储器设备720可以是动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备、闪存设备、相变存储器设备或具有适当性能以用作过程存储器的一些其它存储器设备。在一个实施例中,存储器设备720可以作为用于系统700的系统存储器操作,以存储数据722和指令721,以在一个或多个处理器702执行应用或进程时使用。存储器控制器集线器716还与可选的外部图形处理器712耦合,该外部图形处理器712可以与处理器702中的一个或多个图形处理器708通信以执行图形和媒体操作。在一些实施例中,显示设备711可以连接到处理器702。显示设备711可以是如在移动电子设备或膝上型计算机设备中的内部显示设备或者经由显示接口(例如DisplayPort等)附接的外部显示设备中的一个或多个。在一个实施例中,显示设备711可以是头戴式显示器(HMD),诸如用于虚拟现实(VR)应用或增强现实(AR)应用中的立体显示设备。
在一些实施例中,平台控制器集线器730使外围设备能够经由高速I/O总线连接到存储器设备720和处理器702。I/O外围设备包括但不限于音频控制器746、网络控制器734、固件接口728、无线收发机726、触摸传感器725、数据存储设备724(例如,硬盘驱动器、闪存等)。数据存储设备724可以经由存储接口(例如,SATA)或经由外围总线(诸如外围组件互连总线(例如,PCI、PCI Express))连接。触摸传感器725可以包括触摸屏传感器、压力传感器或指纹传感器。无线收发机726可以是Wi-Fi收发机、蓝牙收发机或诸如3G、4G、长期演进(LTE)或5G收发机的移动网络收发机。固件接口728实现与系统固件的通信,并且可以是例如统一的可扩展固件接口(UEFI)。网络控制器734可以启用到有线网络的网络连接。在一些实施例中,高性能网络控制器(未示出)与接口总线710耦合。在一个实施例中,音频控制器746是多通道高清晰度音频控制器。在一个实施例中,系统700包括可选的遗留I/O控制器740,用于将遗留(例如,个人系统2(PS/2))设备耦合到系统。平台控制器集线器730还可以连接到一个或多个通用串行总线(USB)控制器742,以连接输入设备,诸如键盘和鼠标743组合、相机744或其它USB输入设备。
可以使用一个或多个存储器芯片、控制器、CPU(中央处理单元)、微芯片或使用主板、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)互连的集成电路来实现实施例。术语“逻辑”例如可以包括软件或硬件和/或软件和硬件的组合。
对“一个实施例”、“实施例”、“示例实施例”、“各种实施例”等的引用指示如此描述的一个或多个实施例可以包括特定的特征、结构或特性,但不是每个实施例必须包括特定特征、结构或特性。此外,一些实施例可以具有针对其它实施例所描述的特征中的一些、全部或无特征。
在下面的描述和权利要求中,可以使用术语“耦合”及其派生词。“耦合”用于指示两个或多个元素相互协作或交互,但是它们之间可以具有或可以不具有物理或电气组件。
如权利要求中所使用的,除非另有说明,否则使用序数形容词“第一”、“第二”、“第三”等来描述共同的元件仅指示指代相似元件的不同实例,并且无意暗示如此描述的元件必须在时间、空间、排名或任何其它方式上都处于给定序列。
附图和以上描述给出了实施例的示例。本领域技术人员将理解,所描述的元件中的一个或多个可以很好地组合成单个功能元件。可替代地,某些元件可以被分成多个功能元件。来自一个实施例的元件可以被添加到另一实施例。例如,本公开描述的过程的顺序可以改变,并且不限于本公开描述的方式。此外,任何流程图的动作都不需要按照所示的顺序执行;也不必必须执行所有动作。此外,不取决于其它动作的那些动作可以与其它动作并行地执行。实施例的范围绝不受这些具体示例限制。无论是否在说明书中明确给出,许多变化都是可能的,诸如结构、尺寸和材料使用上的差异。实施例的范围至少与所附权利要求书所给的范围一样宽。
实施例可以被提供为例如一种计算机程序产品,该计算机程序产品可以包括一种或多种暂态或非暂态机器可读存储介质,其上存储有机器可执行指令,该机器可执行指令当由诸如计算机、计算机网络或其它电子设备的一个或多个机器执行时,可导致一个或多个机器执行根据本公开所述实施例的操作。机器可读介质可以包括但不限于软盘、光盘、CD-ROM(压缩光盘只读存储器)和磁光盘、ROM、RAM、EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器)、磁卡或光卡、闪存或适于存储机器可执行指令的其它类型的介质/机器可读介质。
以下条款和/或示例涉及另外的实施例或示例。在一个或多个实施例中的任何地方都可以使用示例中的细节。可以将不同实施例或示例的各种特征与包括的一些特征和排除的其它特征进行各种组合,以适应各种不同的应用。示例可以包括诸如方法的主题、用于执行该方法的动作的部件、至少一个机器可读介质,该至少一个机器可读介质包括指令,该指令当由机器执行时,使机器执行根据本公开所述的实施例和示例的用于促进混合通信的方法、装置或系统的动作。
与实施例1有关的一些实施例,其包括在计算环境中用于实现促进经典和后量子数字签名方案的统一加速器的装置,该装置包括:通过由计算设备的可信平台托管的统一硬件加速器来统一经典密码术和后量子密码术;以及通过单个哈希引擎、一组寄存器文件库和模块化求幂引擎中的一个或多个,促进与经典密码术相关联的第一有限状态机和与后量子密码术相关联的第二有限状态机的统一。
示例2包括示例1的主题,其中,第一有限状态机包括经典公钥密码术签名(PKCS)有限状态机,并且其中,第二有限状态机包括扩展的Merkle签名方案(XMSS)有限状态机,其中,可信平台包括与包括中央处理单元的一个或多个处理器耦合的现场可编程门阵列(FPGA)平台。
示例3包括示例1-2的主题,其中,一个或多个处理器进一步基于直接存储器访问,允许哈希引擎、一组寄存器文件库以及模块化求幂引擎访问存储器,其中,哈希引擎包括安全哈希算法(SHA)引擎。
示例4包括示例1-3的主题,其中,一个或多个处理器进一步用于:基于地址和种子来计算位掩码,并使用哈希引擎将位掩码写入一组寄存器文件库的第一库;以及基于地址和种子来计算密钥,并使用哈希引擎将密钥写入一组寄存器文件库的第二库。
示例5包括示例1-4的主题,其中,一个或多个处理器进一步从一组寄存器文件库的第三后端提取第一哈希函数,并将第一哈希函数添加到第一库中的位掩码。
示例6包括示例1-5的主题,其中,一个或多个处理器进一步用于:将第一哈希函数添加到位掩码的结果附加到密钥;使用哈希引擎基于结果计算第二哈希函数;将结果写入第三库;以及完成签名和验证循环后,通过直接存储器访问从第三库提取结果。
示例7包括示例1-6的主题,其中,一个或多个处理器包括中央处理单元和图形处理单元中的一个或多个,其中一个或多个处理器共同地位于共同的半导体上封装上。
与实施例8有关的一些实施例,其包括在计算环境中实施用于经典和后量子数字签名方案的统一加速器的方法,该方法包括:通过由计算设备的可信平台托管的统一硬件加速器来统一经典密码术和后量子密码术;以及通过单个哈希引擎、一组寄存器文件库和模块化求幂引擎中的一个或多个,促进与经典密码术相关联的第一有限状态机和与后量子密码术相关联的第二有限状态机的统一。
示例9包括示例8的主题,其中,第一有限状态机包括经典公钥密码术签名(PKCS)有限状态机,并且其中,第二有限状态机包括扩展的Merkle签名方案(XMSS)有限状态机,其中,可信平台包括耦合到包括中央处理单元的一个或多个处理器的现场可编程门阵列(FPGA)平台。
示例10包括示例8-9的主题,该示例还包括:基于直接存储器访问而允许哈希引擎、一组寄存器文件库和模块化求幂引擎访问存储器,其中,哈希引擎包括安全哈希算法(SHA)引擎。
示例11包括示例8-10的主题,该主题还包括:基于地址和种子来计算位掩码,并使用哈希引擎将位掩码写入一组寄存器文件库的第一库;以及基于地址和种子来计算密钥,并使用哈希引擎将密钥写入一组寄存器文件库的第二库。
示例12包括示例8-11的主题,该示例还包括:从一组寄存器文件库的第三后端提取第一哈希函数,并将第一哈希函数添加到第一库中的位掩码。
示例13包括示例8-12的主题,该示例还包括:将第一哈希函数添加到位掩码的结果附加到密钥;使用哈希引擎基于结果计算第二哈希函数;将结果写入第三库;以及完成签名和验证循环后,通过直接存储器访问从第三库提取结果。
示例14包括示例8-13的主题,其中,该方法由具有一个或多个处理器的计算设备来促进,该处理器包括中央处理器和图形处理单元中的一个或多个,其中,一个或多个处理器共同地位于共同的半导体封装上。
一些实施例涉及示例15,该示例15包括:包括存储器的数据处理系统;以及与存储器耦合的一个或多个处理器,该一个或多个处理器用于:通过由计算设备的可信平台托管的统一硬件加速器来统一经典密码术和后量子密码术;以及通过单个哈希引擎、一组寄存器文件库和模块化求幂引擎中的一个或多个,促进与经典密码术相关联的第一有限状态机和与后量子密码术相关联的第二有限状态机的统一。
示例16包括示例15的主题,其中,第一有限状态机包括经典公钥密码术签名(PKCS)有限状态机,并且其中,第二有限状态机包括扩展的Merkle签名方案(XMSS)有限状态机,其中,可信平台包括耦合到包括中央处理单元的一个或多个处理器的现场可编程门阵列(FPGA)平台。
示例17包括示例15-16的主题,其中,一个或多个处理器进一步基于直接存储器访问而允许哈希引擎、一组寄存器文件库和模块化求幂引擎访问存储器,其中,哈希引擎包括安全哈希算法(SHA)引擎。
示例18包括示例15-17的主题,其中,一个或多个处理器进一步用于:基于地址和种子来计算位掩码,并使用哈希引擎将位掩码写入一组寄存器文件库的第一库;以及基于地址和种子计算密钥,并且使用哈希引擎将密钥写入一组寄存器文件库的第二库。
示例19包括示例15-18的主题,其中,一个或多个处理器进一步从一组寄存器文件库的第三后端中提取第一哈希函数,并将第一哈希函数添加到第一库中的位掩码。
示例20包括示例15-19的主题,其中,一个或多个处理器进一步用于:将第一哈希函数添加到位掩码的结果附加到密钥;使用哈希引擎基于结果计算第二哈希函数;将结果写入第三库;以及在完成签名和验证循环后,通过直接存储器访问从第三库提取结果。
示例21包括示例15-20的主题,其中,一个或多个处理器包括中央处理单元和图形处理单元中的一个或多个,其中,一个或多个处理器共同地位于共同的半导体封装上。
与实施例22有关的一些实施例,其包括在计算环境中实施用于经典和后量子数字签名方案的统一加速器的装置,该装置包括:用于通过由计算设备的可信平台托管的统一硬件加速器来统一经典密码术和后量子密码术的部件;以及用于通过单个哈希引擎、一组寄存器文件库和模块化求幂引擎中的一个或多个来促进与经典密码术相关联的第一有限状态机和与后量子密码术相关联的第二有限状态机的统一的部件。
示例23包括示例22的主题,其中,第一有限状态机包括经典公钥密码术签名(PKCS)有限状态机,并且其中,第二有限状态机包括扩展的Merkle签名方案(XMSS)有限状态机,其中,可信平台包括与包括中央处理单元的一个或多个处理器耦合的现场可编程门阵列(FPGA)平台。
示例24包括示例22-23的主题,该示例还包括:用于基于直接存储器访问而允许哈希引擎、一组寄存器文件库以及模块化求幂引擎访问存储器的部件,其中,哈希引擎包括安全哈希算法(SHA)引擎。
示例25包括示例22-24的主题,该示例还包括:用于基于地址和种子来计算位掩码并使用哈希引擎将位掩码写入一组寄存器文件库的第一库的部件;以及用于基于地址和种子来计算密钥并使用哈希引擎将密钥写入一组寄存器文件库的第二库的部件。
示例26包括示例22-25的主题,该示例还包括用于从一组寄存器文件库的第三后端提取第一哈希函数并将第一哈希函数添加到第一库中的位掩码的部件。
示例27包括示例22-26的主题,该示例还包括:用于将第一哈希函数添加到位掩码的结果附加到密钥的部件;用于使用哈希引擎基于结果计算第二哈希函数的部件;用于将结果写入第三库的部件;以及完成签名和验证循环后,用于通过直接存储器访问从第三库提取结果的部件。
示例28包括示例22-27的主题,其中,该装置包括一个或多个处理器,该一个或多个处理器包括中央处理单元和图形处理单元中的一个或多个,其中,一个或多个处理器共同地位于共同的半导体封装上。
示例29包括至少一个非暂态或有形机器可读介质,该机器可读介质包括多个指令,该指令当在计算设备上执行时,用于实现或执行根据权利要求或示例8-14中任一项所述的方法。
示例30包括至少一个机器可读介质,该机器可读介质包括多个指令,该指令当在计算设备上执行时,用于实现或执行根据权利要求或示例8-14中任一项所述的方法。
示例31包括一种系统,该系统包括用于实现或执行根据权利要求或示例8-14中任一项所述的方法的机制。
示例32包括一种装置,该装置包括用于执行根据权利要求或示例8-14中任一项所述的方法的部件。
示例33包括被布置为实现或执行根据权利要求或示例8-14中任一项所述的方法的计算设备。
示例34包括被布置为实现或执行根据权利要求或示例8-14中任一项所述的方法的通信设备。
示例35包括至少一个机器可读介质,该机器可读介质包括多个指令,该指令当在计算设备上执行时,用于实现或执行如前述权利要求中任一项所述的方法或实现如前述权利要求中任一项所述的装置。
示例36包括至少一个非暂态或有形机器可读介质,该机器可读介质包括多个指令,该指令当在计算设备上执行时,用于实现或执行如前述权利要求中任一项所述的方法或实现如前述权利要求中任一项所述的装置。
示例37包括一种系统,该系统包括用于实现或执行如前述权利要求中任一项所述的方法或实现如前述权利要求中任一项所述的装置。
示例38包括一种装置,该装置包括执行如前述权利要求中任一项所述的方法的部件。
示例39包括一种计算设备,该计算设备被布置为实现或执行如前述权利要求中任一项所述的方法或实现如前述权利要求中任一项所述的装置。
示例40包括通信设备,该通信设备被布置为实现或执行如前述权利要求中任一项所述的方法或实现如前述权利要求中任一项所述的装置。
附图和前述描述给出了实施例的示例。本领域技术人员将理解,所描述的元件中的一个或多个可以很好地组合成单个功能元件。可替代地,某些元件可以被分成多个功能元件。来自一个实施例的元件可以被添加到另一实施例。例如,本公开描述的过程的顺序可以改变,并且不限于本公开描述的方式。此外,任何流程图的动作都不需要按照所示的顺序执行;也不必必须执行所有动作。此外,不取决于其它动作的那些动作可以与其它动作并行地执行。实施例的范围绝不受这些具体示例限制。无论是否在说明书中明确给出,许多变化都是可能的,例如结构、尺寸和材料使用上的差异。实施例的范围至少与所附权利要求书所给的范围一样宽。

Claims (15)

1.一种方法,包括:
通过由所述计算设备的可信平台托管的统一硬件加速器来统一经典密码术和后量子密码术;以及
通过单个哈希引擎、一组寄存器文件库和模块化求幂引擎中的一个或多个,促进与所述经典密码术相关联的第一有限状态机和与所述后量子密码术相关联的第二有限状态机的统一。
2.根据权利要求1所述的方法,其中,所述第一有限状态机包括经典公钥密码术签名(PKCS)有限状态机,并且其中,所述第二有限状态机包括扩展的Merkle签名方案(XMSS)有限状态机,其中,所述可信平台包括与包括中央处理单元的一个或多个处理器耦合的现场可编程门阵列(FPGA)平台。
3.根据权利要求1所述的方法,还包括:基于直接存储器访问,允许所述哈希引擎、所述一组寄存器文件库以及所述模块化求幂引擎访问存储器,其中,所述哈希引擎包括安全哈希算法(SHA)引擎。
4.根据权利要求1所述的方法,还包括:
基于地址和种子来计算位掩码,并使用所述哈希引擎将所述位掩码写入所述一组寄存器文件库的第一库;
基于所述地址和所述种子来计算密钥,并使用所述哈希引擎将所述密钥写入所述一组寄存器文件库的第二库;以及
从所述一组寄存器文件库的第三后端提取第一哈希函数,并将所述第一哈希函数添加到所述第一库中的所述位掩码。
5.根据权利要求4所述的方法,还包括:
将所述第一哈希函数添加到所述位掩码的结果附加到所述密钥;
使用所述哈希引擎基于所述结果来计算第二哈希函数;
将所述结果写入所述第三库;以及
完成签名和验证循环后,通过直接存储器访问从所述第三库提取所述结果;
其中,所述方法由具有一个或多个处理器的计算设备来促进,所述处理器包括中央处理器和图形处理单元中的一个或多个,其中,所述一个或多个处理器共同地位于共同的半导体封装上。
6.一种装置,包括:
一个或多个处理器,用于:
通过由所述计算设备的可信平台托管的统一硬件加速器来统一经典密码术和后量子密码术;以及
通过单个所述哈希引擎、一组寄存器文件库和模块化求幂引擎中的一个或多个,促进与所述经典密码术相关联的第一有限状态机和与所述后量子密码术相关联的第二有限状态机的统一。
7.根据权利要求6所述的装置,其中,所述第一有限状态机包括经典公钥密码术签名(PKCS)有限状态机,并且其中,所述第二有限状态机包括扩展的Merkle签名方案(XMSS)有限状态机,其中,所述可信平台包括耦合到包括中央处理单元的一个或多个处理器的现场可编程门阵列(FPGA)平台。
8.根据权利要求6所述的装置,其中,所述一个或多个处理器还用于:基于所述直接存储器访问而允许所述哈希引擎、所述一组寄存器文件库和所述模块化求幂引擎访问存储器,其中,所述哈希引擎包括安全哈希算法(SHA)引擎。
9.根据权利要求6所述的装置,其中,所述一个或多个处理器还用于:
基于地址和种子来计算位掩码,并使用所述哈希引擎将所述位掩码写入所述一组寄存器文件库的第一库;
基于所述地址和所述种子计算密钥,并且使用所述哈希引擎将所述密钥写入所述一组寄存器文件库的第二库;以及
从所述一组寄存器文件库的第三后端中提取第一哈希函数,并将所述第一哈希函数添加到所述第一库中的所述位掩码。
10.根据权利要求9所述的设备,其中,所述一个或多个处理器还用于:
将所述第一哈希函数添加到所述位掩码的结果附加到所述密钥;
使用所述哈希引擎基于所述结果计算第二哈希函数;将所述结果写入所述第三库;以及
在完成签名和验证循环后,通过直接存储器访问从所述第三库提取所述结果,其中,所述一个或多个处理器包括中央处理单元和图形处理单元中的一个或多个,其中,所述一个或多个处理器共同地位于共同的半导体封装上。
11.包括多个指令的至少一个机器可读介质,当在计算设备上执行所述指令时,用于实现或执行根据权利要求1-5任一项所述的方法。
12.一种系统,该系统包括用于实现或执行根据权利要求1-5任一项所述的方法的机制。
13.一种装置,该装置包括用于执行根据权利要求1-5任一项所述的方法的装置。
14.一种计算设备,被配置为实现或执行根据权利要求1-5任一项所述的方法。
15.一种通信设备,被配置为实现或执行根据权利要求1-5中任一项所述的方法。
CN202010224031.0A 2019-06-28 2020-03-26 用于计算环境中经典和后量子数字签名方案的统一加速器 Pending CN112152809A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/456,187 US11456877B2 (en) 2019-06-28 2019-06-28 Unified accelerator for classical and post-quantum digital signature schemes in computing environments
US16/456,187 2019-06-28

Publications (1)

Publication Number Publication Date
CN112152809A true CN112152809A (zh) 2020-12-29

Family

ID=68160466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010224031.0A Pending CN112152809A (zh) 2019-06-28 2020-03-26 用于计算环境中经典和后量子数字签名方案的统一加速器

Country Status (3)

Country Link
US (2) US11456877B2 (zh)
EP (1) EP3758289B1 (zh)
CN (1) CN112152809A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11456877B2 (en) 2019-06-28 2022-09-27 Intel Corporation Unified accelerator for classical and post-quantum digital signature schemes in computing environments
CN115297056A (zh) * 2022-09-28 2022-11-04 杭州芯旗电子技术有限公司 一种基于fpga实现的掩码匹配方法及系统

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI672932B (zh) * 2018-09-27 2019-09-21 國立交通大學 基於質數陣列的後量子非對稱密鑰產生方法及系統、加密方法、解密方法及加密通訊系統
US11343270B1 (en) 2019-09-10 2022-05-24 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11626983B1 (en) 2019-09-10 2023-04-11 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11477016B1 (en) 2019-09-10 2022-10-18 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11240014B1 (en) * 2019-09-10 2022-02-01 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
CN111464289B (zh) 2020-01-13 2021-07-27 华中科技大学 一种后量子密钥交换协议的实现方法、设备及系统
US11449799B1 (en) 2020-01-30 2022-09-20 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11533175B1 (en) 2020-01-30 2022-12-20 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography on a smartcard
US11322050B1 (en) * 2020-01-30 2022-05-03 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
US11838410B1 (en) * 2020-01-30 2023-12-05 Wells Fargo Bank, N.A. Systems and methods for post-quantum cryptography optimization
KR102222080B1 (ko) * 2020-02-24 2021-03-04 한국전자통신연구원 양자 개체 인증 장치 및 방법
US11716206B2 (en) 2020-11-02 2023-08-01 International Business Machines Corporation Certificate based security using post quantum cryptography
US11757659B2 (en) 2020-12-01 2023-09-12 International Business Machines Corporation Post-quantum certificate binding
US11632242B2 (en) * 2020-12-30 2023-04-18 Pqsecure Technologies, Llc Low footprint hardware architecture for Kyber-KEM
US11632246B2 (en) 2020-12-30 2023-04-18 International Business Machines Corporation Hybrid key derivation to secure data
CN113098691B (zh) * 2021-03-25 2021-11-23 北京百度网讯科技有限公司 数字签名方法、签名信息的验证方法、相关装置及电子设备
US11956370B2 (en) * 2021-06-23 2024-04-09 Blackberry Limited Method and system for digital signatures utilizing multiplicative semigroups
US11914757B2 (en) 2021-07-08 2024-02-27 International Business Machines Corporation Accelerated cryptographic-related processing
CN113407975B (zh) * 2021-07-20 2024-08-16 北京百度网讯科技有限公司 数字签名方法、签名信息的验证方法、相关装置及电子设备
US20230119304A1 (en) * 2021-10-18 2023-04-20 International Business Machines Corporation Post Quantum Secure Ingress/Egress Network Communication
US20230254133A1 (en) * 2022-02-09 2023-08-10 Verizon Patent And Licensing Inc. Systems and methods for device grouping based on quantum resistant encryption capability
CN115964755B (zh) * 2023-03-09 2023-05-26 北京百度网讯科技有限公司 数据授权及验证方法、装置、设备和存储介质
DE102023111612B3 (de) 2023-05-04 2024-07-25 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren und Vorrichtung zur Auslieferung einer Ware

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901509B1 (en) * 1996-05-14 2005-05-31 Tumbleweed Communications Corp. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US6748410B1 (en) * 1997-05-04 2004-06-08 M-Systems Flash Disk Pioneers, Ltd. Apparatus and method for modular multiplication and exponentiation based on montgomery multiplication
US6920562B1 (en) * 1998-12-18 2005-07-19 Cisco Technology, Inc. Tightly coupled software protocol decode with hardware data encryption
US7770008B2 (en) * 2002-12-02 2010-08-03 Silverbrook Research Pty Ltd Embedding data and information related to function with which data is associated into a payload
US7921300B2 (en) * 2003-10-10 2011-04-05 Via Technologies, Inc. Apparatus and method for secure hash algorithm
EP2276194B1 (en) * 2009-07-17 2014-11-26 Certicom Corp. System and method for reducing the computation and storage requirements for a Montgomery-style reduction
US7716179B1 (en) * 2009-10-29 2010-05-11 Wowd, Inc. DHT-based distributed file system for simultaneous use by millions of frequently disconnected, world-wide users
US8677150B2 (en) * 2012-02-01 2014-03-18 Intel Mobile Communications GmbH Low-power multi-standard cryptography processing units with common flip-flop/register banks
US10218496B2 (en) * 2014-08-04 2019-02-26 Cryptography Research, Inc. Outputting a key based on an authorized sequence of operations
US9363087B2 (en) * 2014-10-02 2016-06-07 Microsoft Technology Licensing, Inc. End-to-end security for hardware running verified software
US10678544B2 (en) * 2015-09-19 2020-06-09 Microsoft Technology Licensing, Llc Initiating instruction block execution using a register access instruction
US11029949B2 (en) * 2015-10-08 2021-06-08 Shanghai Zhaoxin Semiconductor Co., Ltd. Neural network unit
US10020934B2 (en) * 2015-11-05 2018-07-10 Intel Corporation Hardware accelerator for cryptographic hash operations
WO2017120270A1 (en) * 2016-01-04 2017-07-13 Gray Research LLC Massively parallel computer, accelerated computing clusters, and two dimensional router and interconnection network for field programmable gate arrays, and applications
US10313130B2 (en) * 2016-09-27 2019-06-04 Intel Corporation Hash-based signature balancing
KR102617354B1 (ko) * 2017-01-05 2023-12-26 삼성전자주식회사 보안 부트 시퀀서 및 보안 부트 장치
US20190140819A1 (en) * 2017-11-08 2019-05-09 Secret Double Octopus Ltd System and method for mekle puzzles symeteric key establishment and generation of lamport merkle signatures
US20210141697A1 (en) * 2018-03-06 2021-05-13 DinoplusAI Holdings Limited Mission-Critical AI Processor with Multi-Layer Fault Tolerance Support
US11005664B2 (en) * 2018-04-16 2021-05-11 R3 Ltd. Blockchain post-quantum signature scheme
US11121856B2 (en) * 2018-06-15 2021-09-14 Intel Corporation Unified AES-SMS4—Camellia symmetric key block cipher acceleration
US11169934B2 (en) * 2018-06-28 2021-11-09 Intel Corporation Systems, methods and apparatus for low latency memory integrity mac for trust domain extensions
US11533170B2 (en) * 2018-12-17 2022-12-20 Intel Corporation Hardware mechanisms for link encryption
US11416638B2 (en) * 2019-02-19 2022-08-16 Massachusetts Institute Of Technology Configurable lattice cryptography processor for the quantum-secure internet of things and related techniques
US10896141B2 (en) * 2019-03-26 2021-01-19 Intel Corporation Gather-scatter cache architecture having plurality of tag and data banks and arbiter for single program multiple data (SPMD) processor
DE102019116104A1 (de) * 2019-06-13 2020-12-17 Infineon Technologies Ag Kryptographieverarbeitungsvorrichtung und -verfahren zum kryptographischen verarbeiten von daten
US12058113B2 (en) * 2019-06-19 2024-08-06 Amazon Technologies, Inc. Hybrid key exchanges for double-hulled encryption
US20190319787A1 (en) * 2019-06-28 2019-10-17 Intel Corporation Hardware acceleration of bike for post-quantum public key cryptography
US11218320B2 (en) * 2019-06-28 2022-01-04 Intel Corporation Accelerators for post-quantum cryptography secure hash-based signing and verification
US11303429B2 (en) * 2019-06-28 2022-04-12 Intel Corporation Combined SHA2 and SHA3 based XMSS hardware accelerator
US11456877B2 (en) 2019-06-28 2022-09-27 Intel Corporation Unified accelerator for classical and post-quantum digital signature schemes in computing environments
US11205017B2 (en) * 2019-06-28 2021-12-21 Intel Corporation Post quantum public key signature operation for reconfigurable circuit devices
US11362835B2 (en) * 2019-06-28 2022-06-14 Intel Corporation Efficient post-quantum anonymous attestation with signature-based join protocol and unlimited signatures

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11456877B2 (en) 2019-06-28 2022-09-27 Intel Corporation Unified accelerator for classical and post-quantum digital signature schemes in computing environments
CN115297056A (zh) * 2022-09-28 2022-11-04 杭州芯旗电子技术有限公司 一种基于fpga实现的掩码匹配方法及系统

Also Published As

Publication number Publication date
EP3758289B1 (en) 2022-07-27
US11456877B2 (en) 2022-09-27
US20190319804A1 (en) 2019-10-17
EP3758289A1 (en) 2020-12-30
US20230017447A1 (en) 2023-01-19

Similar Documents

Publication Publication Date Title
EP3758289B1 (en) Unified accelerator for classical and post-quantum digital signature schemes in computing environments
US11917053B2 (en) Combined SHA2 and SHA3 based XMSS hardware accelerator
US11770262B2 (en) Odd index precomputation for authentication path computation
US11405213B2 (en) Low latency post-quantum signature verification for fast secure-boot
US11575521B2 (en) Fast XMSS signature verification and nonce sampling process without signature expansion
US11750402B2 (en) Message index aware multi-hash accelerator for post quantum cryptography secure hash-based signing and verification
US11516008B2 (en) Efficient post-quantum secure software updates tailored to resource-constrained devices
US11575515B2 (en) Post-quantum secure remote attestation for autonomous systems
US12047514B2 (en) Digital signature verification engine for reconfigurable circuit devices
US20220131708A1 (en) Efficient hybridization of classical and post-quantum signatures
US20220109558A1 (en) Xmss management to address randomized hashing and federal information processing standards
WO2023107775A1 (en) Computation of xmss signature with limited runtime storage
EP3972188A1 (en) Low circuit depth homomorphic encryption evaluation
US20240031164A1 (en) Hybridization of dilithium and falcon for digital signatures
US20240171403A1 (en) Integrity-based implementation of content using digitally signed secure quick response code
US20220416998A1 (en) Side channel protection for sha3 cryptographic functions
US20240106805A1 (en) On-premises augmented and virtual reality processing and privacy preserving infrastructure

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