一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

后量子公钥的盲化技术的制作方法

2022-08-17 02:31:04 来源:中国专利 TAG:

后量子公钥的盲化技术


背景技术:

1.本公开整体涉及后量子密码学,并且具体涉及用于后量子公钥的盲化技术。
2.密码协议和技术用于各种上下文中的数据安全和身份认证。某些密码技术,包括许多加密和数字签名算法,依赖于这样一种假设,即对基础数学问题的算法解决方案需要太多的计算机处理时间才能在实践中发挥作用。“太多”时间通常以时间复杂度为特征,其表达解决输入大小问题的时间量的缩放行为(例如,具有特定位数的密码密钥)。在一个表征中,“困难的”问题是需要指数时间来解决的问题,而“简单的”问题可能需要多项式时间来解决。因此,对于给定的输入大小n,指数时间解决方案可能需要数年,而多项式时间解决方案可能需要不到一秒或不到一小时。当今许多常用的密码技术,包括公钥加密,都基于离散对数问题,这是现有二进制算法的指数时间问题。
3.与现有二进制计算机不同的量子计算机目前正在开发中,预计将变得越来越容易使用。量子计算机在量子位(“量子比特”)上运行,该量子位可以叠加状态存在,而不仅仅是经典计算机中位的二进制(0和1)状态。通过利用叠加和纠缠的量子特性,量子计算机可以实现二进制计算机无法实现的算法。此类量子算法能够比二进制算法更快地解决某些问题。例如,1994年制定的shor算法(shor,peter w.,“量子计算算法:离散对数和因式分解”,1994年计算机科学基础,第35届年度研讨会,ieee1994)是一种用于因式分解整数的量子算法,与只能在指数或次指数时间内解决问题的经典算法相比,它可用于在多项式时间内解决公钥密码学的离散对数问题。因此,量子计算机可以打破适用于执行二进制算法的二进制计算机的密码安全性的假设。因此,可能需要不同的密码技术。


技术实现要素:

4.本文所公开的实施方案涉及可用于混淆或以其他方式修改量子安全公钥(以及对应的私钥或密钥)的盲化技术。在一些实施方案中,可以使用基于格的技术来实施量子安全公钥/私钥对。公钥的盲化可以包括选择可以是向量或矩阵的盲化参数,以及将盲化参数应用于公钥。可以将对应的修改应用于私钥或密钥,使得可以使用盲化的私钥或密钥来解密使用盲化的公钥加密的数据。可以使用各种特定的盲化技术;在一些情况下,盲化技术可以取决于公钥/私钥对的类型。当装置需要以明文发送公钥时,例如在建立安全通信会话的过程中,装置可以从其静态(或持久的)公钥生成盲化的公钥,并且发送盲化的密钥而不是静态公钥。如果需要静态公钥,则可以在建立安全通信会话之后以加密形式发送。
5.一些实施方案涉及由第一电子装置执行的方法。方法可包括获得包括静态密钥和静态公钥的静态密钥对,其中静态密钥对符合基于格的密钥封装机制。方法还可以包括选择盲化参数,其中盲化参数包括通过从与基于格的密钥封装机制相关联的分布中的随机采样来选择的至少一个向量或矩阵。方法还可以包括使用静态公钥和盲化参数来计算盲化的公钥,以及使用静态密钥和盲化参数来计算盲化的密钥。方法还可以包括:将盲化的公钥发送给第二电子装置;从第二电子装置接收加密消息;以及使用盲化的密钥来解密加密消息。
6.一些实施方案涉及一种电子装置,该电子装置可包括存储系统、网络接口,以及耦
合到存储系统和网络接口的处理器。存储系统可被配置为存储包括静态密钥和静态公钥的静态密钥对,其中静态密钥对符合基于格的密钥封装机制。网络接口可被配置为与另一电子装置通信。处理器可被耦合到存储系统和网络接口。处理器可被配置为:选择盲化参数,其中该盲化参数包括通过从与基于格的密钥封装机制相关联的分布中的随机采样来选择的至少一个向量或矩阵;使用静态公钥和盲化参数来计算盲化的公钥;使用静态密钥和盲化参数来计算盲化的密钥;将盲化的公钥发送给另一电子装置;从另一电子装置接收第一加密消息;并且使用盲化的密钥来解密第一加密消息。
7.一些实施方案涉及一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,程序指令在由第一电子装置的处理器执行时,使处理器执行方法,该方法可包括:从存储系统检取静态密钥对,该静态密钥对包括静态密钥和静态公钥,其中静态密钥对符合基于格的密钥封装机制;选择盲化参数,其中该盲化参数包括通过从与基于格的密钥封装机制相关联的分布中的随机采样来选择的至少一个向量或矩阵;使用静态公钥和盲化参数来计算盲化的公钥;使用静态密钥和盲化参数来计算盲化的密钥;将盲化的公钥发送给第二电子装置;从第二电子装置接收加密消息;并且使用盲化的密钥来解密加密消息。
8.以下详细描述与附图一起将提供对所要求保护的发明的本质和优点的更好理解。
附图说明
9.图1示出了在两个实体之间提供量子安全公钥加密的基于格的密钥封装机制(kem)的流程图。
10.图2示出了使用基于格的密钥在两个实体之间进行单向认证的过程的流程图。
11.图3示出了使用基于格的密钥在两个实体之间进行双向认证的过程的流程图。
12.图4示出了根据一些实施方案的用于对a型的基于格的公钥/私钥对进行盲化的过程的流程图。
13.图5示出了根据一些实施方案的用于对b型的基于格的公钥/私钥对进行盲化的过程的流程图。
14.图6示出了根据一些实施方案的用于对a型或b型的基于格的公钥/私钥对进行盲化的过程的流程图。
15.图7是根据一些实施方案的用于在实体之间通信的过程的流程图。
16.图8示出了根据一些实施方案的使用基于格的密钥在两个实体之间进行单向认证的过程的流程图。
17.图9示出了根据一些实施方案的使用基于格的密钥在两个实体之间进行双向认证的过程的流程图。
18.图10示出了根据一些实施方案的被配置为执行各种过程的通用计算机系统的简化框图。术语
19.本文中可以使用以下术语。
[0020]“服务器计算机”可以包括功能强大的计算机或计算机群集。例如,服务器计算机可以是大型主机、小型计算机集群或作为一个单元运作的一组服务器。在一个示例中,服务器计算机可以是耦合到网络服务器的数据库服务器。服务器计算机可包括一个或多个计算
设备,并且可使用各种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。
[0021]“客户端”或“客户端计算机”可包括与服务器计算机通信以对服务器计算机发出请求并且接收响应的计算机系统或其他电子装置。例如,客户端可以是膝上型计算机或台式计算机、移动电话、平板电脑、智能扬声器、智能家居管理装置或任何其他用户可操作的电子装置。
[0022]“存储器”可包括可存储电子数据的合适的一个或多个装置。合适的存储器可包括非瞬态计算机可读介质,该非瞬态计算机可读介质存储可由处理器执行以实施所需方法的指令。存储器的示例可包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可使用任何合适的电气、光学和/或磁性操作模式来操作。
[0023]“处理器”可以包括任何合适的一个或多个数据计算装置。处理器可包括一起工作以实现所需功能的一个或多个微处理器。处理器可以包括cpu,该cpu包括至少一个高速数据处理器,该高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序组件。cpu可以是微处理器,例如amd的速龙(athlon)、钻龙(duron)和/或皓龙(opteron);ibm和/或摩托罗拉(motorola)的powerpc;ibm和索尼(sony)的cell处理器;英特尔(intel)的赛扬(celeron)、安腾(itanium)、奔腾(pentium)、至强(xeon)和/或xscale;和/或类似处理器。
[0024]“通信装置”可包括可以提供通信能力的任何电子装置,包括通过移动电话(无线)网络、无线数据网络(例如,3g、4g或类似网络)、wi-fi、wi-max或可提供对网络诸如互联网或专用网络的访问的任何其他通信介质。通信装置的示例包括移动电话(例如,蜂窝电话)、pda、平板计算机、上网本、膝上型计算机、个人音乐播放器、手持式专用阅读器、可穿戴装置(例如手表)、车辆(例如,汽车)等。通信装置可包括用于执行此类功能的任何合适的硬件和软件,并且还可包括多个装置或组件(例如,当装置通过系固到另一装置(即,使用另一装置作为中继器)而远程访问网络时,合在一起的两个装置可以被视为单个通信装置)。
[0025]
本文使用术语“后量子”和“量子安全”来表征被设计成量子和二进制计算机都难以解决或不切实际的密码密钥和加密方案,这意味着目前没有已知的量子或二进制算法可用于在合理的时间(例如,多项式时间或更快)内解决潜在的密码问题。
[0026]“加密密钥”可以包括适合于用密码加密数据的任何数据值或其他信息。“解密密钥”可以包括适合于解密加密数据的任何数据值或其他信息。在一些情况下,用于加密数据的同一密钥还可以用于解密数据。此类密钥被称为“对称加密密钥”。
[0027]
术语“公钥/私钥对”(也称为“密钥对”)可包括由“拥有”密钥对的实体(例如,计算机、通信装置或其他电子装置)生成或提供给该实体的一对链接的密码密钥。公钥/私钥对可以与不对称加密算法一起使用,使得使用该对的“公共”密钥加密的数据可以使用该对的“私有”或“秘密”密钥进行解密(反之亦然)。密钥对的公钥可以被提供给其他实体并且用于公共功能,诸如加密待发送给密钥对所有者的消息,或者用于验证据称由密钥对的所有者生成的数字签名。公钥通常由被称为证书颁发机构(ca)的机构授权或验证,该证书颁发机构将公钥存储在数据库中并且将其分发给请求它的任何实体。私钥或密钥通常被存储在安全存储介质中,并且只有密钥对的所有者知晓。应理解,一些密码系统可提供密钥恢复机制,用于恢复丢失的密钥并且避免数据丢失。
[0028]“临时密钥对”可包括被生成用于单个交易或其他通信会话(在此之后通常删除临
时密钥对)的公钥(“临时公钥”)和密钥(“临时密钥”或“临时私钥”)。用于生成密钥对的任何适当的密码技术都可以用来生成临时密钥对。
[0029]“静态密钥对”,也被称为“持久密钥对”,可包括在一段时间内由实体维护并且可以在不同的交易或与不同实体的其他通信会话中重复使用的公钥(“静态公钥”或“持久公钥”)和密钥(“静态密钥”或“持久密钥”)。通常,尽管不是必须的,但静态密钥可以被安全地存储,例如存储在硬件安全模块(hsm)或安全元件(se)中,这些可能需要密码或其他形式的授权(除了仅拥有存储静态密钥的装置之外)来启用对静态密钥的访问。静态公钥可以通过使用数字证书绑定到身份。
[0030]“盲化的密钥”,诸如“盲化的公钥”或“盲化的密钥”可包括静态密钥,该静态密钥已经通过与另一数据元素的组合而被混淆或以其他方式修改其原始值,所述另一数据元素在本文中被称为“盲化参数”,可以是向量元素、矩阵元素或向量元素和矩阵元素的组合。下文描述了后量子公钥和密钥的盲化参数的示例。
[0031]“数字签名”可以指基于公钥/私钥对(通常是静态密钥对)来应用算法的结果,这种算法允许签名实体(或“证明器”)显示,并且允许验证实体(或“验证器”)验证消息或文档的真实性和完整性。证明器通过应用私钥来加密消息,并且验证器通过应用公钥来解密加密消息。假设只有证明器拥有私钥,则验证器解密消息的能力可被视为对签名者身份和消息或文档完整性的认证。证书或包括签名实体的数字签名的其他数据被称为是由签名实体“签名的”。
[0032]“证书”或“数字证书”可以包括使用数字签名将静态公钥与关联身份的其他数据绑定的电子文件或数据文件。证书可包括各种数据字段,诸如身份的合法名称、证书的序列号、证书的有效日期范围(例如,颁发和到期日期)、证书相关的权限等。证书还可以包含证书中包括数据字段的数据的散列。证书通常由证书颁发机构签名。
[0033]“证书颁发机构”(ca)可包括可操作地耦合以向实体发布证书的一个或多个服务器计算机。ca可使用ca证书证明其身份,ca证书包括ca的公钥。ca证书可以由另一ca的私钥或同一个ca的私钥(“自签名”证书)签名。ca可以维护由ca发行的所有证书的数据库,并且还可以维护被撤销的证书的列表。在一个典型过程中,ca从其身份为ca已知的实体接收未签名的证书。未签名的证书包括实体的公钥、一个或多个数据字段,以及证书中的数据的散列。ca用与ca证书中所包括的公钥相对应的私钥对证书进行签名。ca然后可以将签名的证书存储在数据库中,并且将签名的证书发行给实体。在某些情况下,ca可以根据请求将其数据库中已签名证书的副本提供给请求它的实体。
[0034]“共享秘密”可以包括只对安全通信中的被授权方已知的任何数据值或其他信息。共享秘密可以用任何适当方式由任何适当数据生成。在当前实践中,可以使用基于diffie-hellman的算法,诸如elliptic-curve diffie-hellman(ecdh)。然而,ecdh被认为是量子不安全的。下文描述的一些示例涉及以量子安全方式建立共享密钥。
[0035]“会话密钥”可以包括在通信会话期间生成的任何密钥,以加密和/或解密通信会话中在参与者之间传送的数据。例如,可以从安全通信会话的双方已知的共享密钥生成会话密钥。例如,会话密钥可以使用密钥导出函数和共享秘密来导出。在一些情况下,会话密钥是对称加密密钥,但这并非是必需的,并且会话密钥可以包括加密密钥和对应的解密密钥。
[0036]“随机数”(或“密码随机数”)可以包括任何数字、字符串、位序列、或旨在关联单个通信会话使用的其他数据值。在一些情况下,随机数可以是随机或伪随机生成的。通常,随机数具有足够的长度(或大小),以使多次独立生成同一随机数值的可能性并不显著。
具体实施方式
[0037]
出于说明和描述的目的呈现对本发明的示例性实施方案的以下描述。以下描述不旨在是详尽的,或将本发明局限为所描述的精确形式,并且本领域的普通技术人员将了解,可能有许多修改和变化。选择和描述实施方案是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够在各种实施方案中最好地利用本发明并且进行各种修改,以适合于预期的特定用途。
[0038]
本文所述的某些实施方案涉及可应用于后量子或量子安全的公钥/私钥对以按照能够提供进一步安全性增强的方式“盲化”密钥的技术。此类密钥对可以与常规的公钥/私钥对类似地使用,例如,在使用零知识证明向“验证器”证明被认证的一方(“证明器”)拥有秘密(私钥或密钥)而不泄露秘密的认证操作中。在一些实施方案中,基于格的密钥封装机制(kem)用于提供后量子公钥加密,并且提供基于格的kem的简要描述以建立上下文。在建立该上下文之后,将描述与基于格的公钥的盲化相关的实施方案。使用基于格的密钥对的量子安全交易
[0039]
生成量子安全数字签名的一个选项是使用基于格的单向函数,所述单向函数依赖于数字签名的“误差学习”问题。与离散对数问题不同,对于量子计算机来说,误差学习的问题很难解决(例如,由于需要指数时间而无法解决)。误差学习的假设断言,在给定均匀采样矩阵和分布χ的情况下,基于格的单向函数很难反转,其中格函数等于矩阵a乘以秘密向量(例如,秘密值/密钥)加上从分布χ中采样的误差向量(例如,秘密值/密钥)加上从分布χ中采样的误差向量
[0040]
在该示例中,对应于秘密向量(例如,“原像”)的公共向量(例如,“图像”)通过将格函数应用于秘密向量来确定。格技术可用于执行零知识验证。在基于格的示例中,证明器可以基于由验证器选择的随机值向量使用承诺来向验证器证明其拥有秘密向量其中在此,验证器拥有对应于秘密向量的公共向量
[0041]
证明器基于矩阵a、随机值向量和误差向量来确定承诺来确定承诺然后,证明器将承诺发送给验证器。
[0042]
响应于接收到承诺验证器确定承诺c的随机或伪随机值并且将承诺c发送给证明器。响应于接收到承诺c,证明器基于秘密向量承诺c和随机向量来确定响应来确定响应
[0043]
证明器将响应发送给验证器。响应于接收到响应验证器可以确定矩阵a乘以响应是否大致等于公共向量加上承诺以便确定证明器是否拥有秘密向量
[0044]
验证器的确定使用(≈)近似值(而不是等值(=),因为公共向量基于误差向量因为
[0045]
基于格的密码学在regev,oded.的“on lattices,learning with errors,random linear codes,and cryptography”acm杂志(jacm)56.6(2009):34中进行了进一步的描述,据此全文以引用方式并入本文。
[0046]
在各种实施方式中,基于格的密码学并入了两种不同类型的公钥/私钥对,在本文中被称为“a型”和“b型”密钥对。在a型的公钥/私钥对中,可以将私钥或密钥(sk)定义为向量并且可以将对应的公钥(pk)定义为:用于均匀采样的矩阵和小噪声向量在b型的公钥/私钥对中,可以将私钥或密钥sk定义为小矩阵并且可以将对应的公钥pk定义为:pk=ra
ꢀꢀ
(6)用于均匀采样的矩阵
[0047]
图1示出了在两个实体(“实体1”和“实体2”)之间提供量子安全公钥加密的基于格的密钥封装机制(kem)过程100的流程图。实体1和实体2可以是例如两个计算机系统或交换加密消息的其他电子装置。在框102处,实体1(例如,通过从安全存储器生成或检取)获得定义为向量的密钥。在框104处,实体1(例如,通过从安全或其他存储装置生成或检取)获得参数矩阵和噪声向量在框106处,实体1可以生成公钥在某些情况下,静态密钥对的生成可以执行一次,其中密钥对和参数矩阵被存储以供稍后在过程100的后续执行中重复使用。在框108处,实体1可以将参数矩阵a和公钥pk发送给实体2。
[0048]
在框110处,实体2可以从实体1接收a和pk。在框112处,实体2可以选择随机值向量其中在框114处,实体2可以生成消息m,该消息可以是例如随机的随机数。在框116处,实体2可以通过使用作为密钥来加密通过计算创建的消息来生成表示为enc(pk2;m)的加密消息。应注意,数量由实体1作为公钥pk提供,并且实体2不知晓或不知晓在框118处,实体2可以将加密消息发送给实体1。
[0049]
在框120处,实体1可以从实体2接收加密消息enc(pk2;m)。在框122处,实体1可以根据以下等式来计算(近似的)解密消息:实体1知道a、s和e,因此可以在不知道的情况下解决m。
[0050]
图1的过程可以提供量子安全公钥加密。在一些情况下,期望利用数字证书和数字签名的概念来提供认证能力。为了支持认证,待认证实体的公钥和密钥可能需要是在多个
交易或其他通信会话中使用的持久的或静态的密钥。在一些情况下,公钥可以存储在数字证书中。
[0051]
图2示出了使用基于格的密钥在两个实体(“实体1”和“实体2”)之间进行单向认证的过程200的流程图。实体1和实体2可以是例如参与安全通信会话的两个计算机系统或其他电子装置。假设实体1期望认证实体2。还假设实体2具有基于静态格的公钥/私钥对(pk2、sk2)和数字证书(cert),而实体1具有临时的基于格的公钥/私钥对(pke、ske)。例如,可以例如响应于实体1确定应该与实体2建立安全通信会话来生成临时密钥对。
[0052]
过程200可以在消息202处开始,其中实体2将其公钥pk2发送给实体1。公钥pk2可以是a型或b型的基于格的公钥,并且发送基于格的公钥可以包括发送与公钥相关联的参数矩阵a(例如,如上所述的参数矩阵a)。在框204处,实体1可以选择任意参数k1,该参数可以是适合用作对称密钥的随机值。在框206处,实体1可以使用公钥pk2和表示为函数pqenc(
·
)的后量子加密算法来加密参数k1。函数pqenc(
·
)可以实施基于格的公钥加密,例如,如上文参考图1所述。在消息208处,实体1可以将其临时公钥pke和加密的k1发送给实体2。实体2具有密钥sk2,并且可以解密k1。
[0053]
在框210处,实体2可以选择另一任意参数k2,该参数也可以是适合用作对称密钥的随机值。在框212处,实体2可以例如通过使用散列函数h(k1,k2)来生成会话密钥(k)。在框214处,实体2可以使用经由消息208接收的临时公钥pk和后量子加密算法pqenc(
·
)来加密参数k2。在框216处,实体2还可以使用会话密钥k和表示为函数enc(
·
)的加密算法来加密其证书(cert)。函数enc(
·
)可以依赖于会话密钥k的保密性,并且可以是例如常规的对称加密算法。在消息218处,实体2可以将加密参数k2和加密证书发送给实体1。
[0054]
在框220处,实体1可以使用其临时密钥ske来解密加密参数k2。在框222处,实体1可以使用与在框212处的实体2所使用的计算相同的计算来生成会话密钥k。此后,实体1可以解密包含证书的消息,并且可以使用适当的密码技术继续进行证书确认和/或数字签名验证。(例如,所涉及的所有密钥可以是量子安全密钥,并且如上文所描述的量子安全技术可用于执行签名验证。)一旦验证完成,实体1和实体2就可以继续使用会话密钥k安全地通信。
[0055]
虽然图2示出了单向认证的示例,但在一些情况下可能需要双向认证。图3示出了使用基于格的密钥在两个实体(“实体1”和“实体2”)之间进行双向认证的过程300的流程图。实体1和实体2可以是例如参与安全通信会话的两个计算机系统或其他电子装置。假设实体1期望认证实体2,反之亦然。还假设实体1具有静态后量子公钥/私钥对(pk1、sk1)和数字证书(cert1),并且实体2也具有后量子公钥/私钥对(pk2、sk2)和数字证书(cert2)。在该示例中,实体1还使用临时后量子公钥/私钥对(pke、ske),类似于图2。
[0056]
过程300可以在消息302处开始,其中实体2将其公钥pk2发送给实体1。公钥pk2可以是a型或b型的基于格的公钥,并且发送基于格的公钥可以包括发送与公钥相关联的参数矩阵a(例如,如上所述的参数矩阵a)。在框304处,实体1可以选择任意参数k1,该参数可以是适合用作对称密钥的随机值。在框306处,实体1可以使用公钥pk2和后量子加密算法pqenc(
·
)来加密参数k1。在消息308处,实体1可以将其静态临时公钥pk1、其临时公钥pke和加密的k1发送给实体2。实体2具有密钥sk2,并且可以解密k1。
[0057]
在框310处,实体2可以选择两个附加的任意参数k2和k3,其中每个参数可以是适
合用作对称密钥的随机值。在框312处,实体2可以例如通过使用散列函数h(k1,k2,k3)来生成会话密钥(k)。在框314处,实体2可以使用经由消息308接收的临时公钥pke和后量子加密算法pqenc(
·
)对参数k2进行加密,并且使用经由消息308接收的静态公钥pk1和后量子加密算法pqenc(
·
)对参数k3进行加密。在消息316处,实体2可以将加密参数k2和k3发送给实体1。
[0058]
在框318处,实体1可以使用其临时秘密密钥ske来解密参数k2,并且使用其静态秘密密钥sk1来解密参数k3。在框320处,实体1可以使用与在框312处的实体2所使用的计算相同的计算来生成会话密钥k。此后,实体1和实体2可以交换使用会话密钥k加密的数字证书,如消息322、324所示。每个实体可以解密包含证书的消息,并且可以使用适当的密码技术继续进行证书确认和/或数字签名验证。(例如,所涉及的所有密钥可以是量子安全密钥,并且如上文所描述的量子安全技术可用于执行签名验证。)一旦验证完成,实体1和实体2就可以继续使用会话密钥k安全地通信。用于基于格的密钥对的盲化协议
[0059]
应注意,过程200和过程300包括以明文发送静态公钥。例如,在过程200中,实体2在消息202处以明文发送其静态公钥pk2。在过程300中,实体2在消息302处以明文发送其静态公钥pk2,并且实体1在消息308处以明文发送其静态公钥pk1。
[0060]
在密码学的某些应用中(包括常规的以及后量子密码学),实体可能希望避免以明文重复公开相同的公钥。例如,可以在交易中跟踪向与不同交易有关的不同实体提供相同公钥的装置(或实体),这可以允许第三方收集关于装置(或与装置相关联的用户)活动的信息。此外,如果密钥对被破坏(例如,通过黑客攻击),使用该密钥对的所有装置交易可能不再安全。一个选项是为每个交易生成临时密钥对。然而,临时密钥对可能不支持身份认证,因为临时密钥对与身份没有持久的关联。另外,生成密钥对在计算上价格高昂,并且可能不适合某些装置,包括诸如支付卡等低功率装置等。
[0061]
因此,本发明的一些实施方案提供了可应用于量子安全密钥并且具体地应用于基于格的密钥对的盲化技术。如本文所用,密钥的“盲化”是指通过与本文中被称为“盲化参数”的另一数据元素组合来混淆或修改密码密钥。可针对每个交易随机地选择盲化参数。与生成临时密钥对相比,盲化修改在计算上可以是简单的。可以明文发送盲化的公钥而不是静态公钥,并且用于执行操作以建立会话密钥,诸如图2和图3中所示的操作。一旦建立会话密钥,就可以在加密消息中发送实际公钥并且用于认证。在wo 2017/004470 a1中描述了用于非量子安全公钥的盲化技术的示例;然而,这些技术可能不会为量子安全密钥对诸如基于格的密钥对提供盲化。现在将描述可应用于量子安全密钥对,特别是用于基于格的密钥对的盲化技术的示例。在一些实施方案中,盲化技术可以取决于密钥对是a型还是b型(如上所述)。
[0062]
图4示出了根据一些实施方案的用于对a型的基于格的公钥/私钥对进行盲化的过程400的流程图。过程400可以由参与安全通信并且使用a型基于格的静态密钥对的任何实体(例如,计算机系统或其他电子装置)执行。过程400可以在框402处开始,获得基于格的静态密钥对。如上所述,对于a型基于格的密钥对,私钥或密钥(sk)可以被定义为向量,并且对应的公钥(pk)可以被定义为。这可以是静态密钥对。在一些实施方案中,密钥可存储在只有拥有密钥对的实体可访问的安全存储装置中,而公钥(和参数矩阵a)可存储在实体的本地
存储装置中以及/或者存储在证书颁发机构(ca)处。获得静态密钥对可以包括读取所存储的密钥和公钥。
[0063]
在框404处,选择盲化参数。在该示例中,盲化参数为盲化向量该盲化向量可以通过对与向量相同的分布进行随机采样来选择,以及盲化误差向量该盲化误差向量可以通过对与向量相同的分布进行随机采样来选择。在框406处,盲化的公钥(pkb)可以被计算为:在框408处,盲化的密钥skb可以被计算为:一旦生成,就可以使用盲化的公钥/私钥对与其他实体通信。例如,在建立会话密钥的过程中,可以将盲化的公钥pkb发送给另一实体,代替未盲化的公钥pk。在一些实施方案中,其他实体不需要知晓公钥已经被盲化。如果另一实体需要静态公钥,例如用于认证,则最初提供盲化的公钥的实体可以在已建立会话密钥之后发送公钥,其中公钥以加密消息发送而不是以明文发送。
[0064]
过程400使给定参数矩阵a的a型公钥集合中的公钥被盲化,但不一定使不同参数矩阵a和a'中的公钥被盲化。(例如,给定两个盲化的公钥pkb和pkb′
由两个不同的参数矩阵a和a

生成,可能确定两个盲化的公钥不对应于相同的静态公钥,特别是在参数矩阵与公钥一起传送的情况下;然而,只要所有盲化的公钥都由相同的参数矩阵生成,关于静态公钥的信息就无法推断。)还应当注意,在不知晓盲化参数和的情况下,无法根据盲化的公钥计算未盲化的公钥。因此,执行过程400的实体可以明文提供盲化的公钥pkb而不揭示静态公钥pk。与未盲化的密钥对(pk、sk)一样,盲化的密钥对(pkb、skb)具有使用pkb加密的消息可以使用skb解密的特性。因此,实体可以使用过程400为实体参与的每个交易或其他通信会话生成新的盲化密钥对(pkb、skb)。
[0065]
过程400是微创盲化过程的示例,因为误差项(其表示噪声吧当其变得较大时可导致错误结果)被控制。因此,盲化过程400的使用可以对加密/解密操作的正确性产生最小的影响。
[0066]
过程400适用于a型基于格的密钥对。图5示出了根据一些实施方案的用于对b型的基于格的公钥/私钥对进行盲化的过程500的流程图。过程500可以由参与安全通信并且使用b型基于格的静态密钥对的任何实体(例如,计算机系统或其他电子装置)执行。过程500可以在框502处开始,获得基于格的静态密钥对。如上所述,对于b型基于格的密钥对,私钥或密钥(sk)可以被定义为小矩阵的sk=r,并且对应的公钥pk可以被定义为参数矩阵a的pk=ra。在框504处,选择盲化参数。在该示例中,盲化参数为矩阵可以通过随机采样与矩阵r相同的分布来选择。在框506处,盲化的公钥pkb可以计算为:pkb=pk rba.
ꢀꢀ
(10)在框508处,盲化的密钥skb可以被计算为:skb=sk rb.
ꢀꢀ
(11)
一旦生成,就可以使用盲化的公钥/私钥对与其他实体通信,例如如上文参考图4所述。
[0067]
类似于过程400,过程500使给定参数矩阵a的b型公钥集合中的公钥被盲化,但不一定使不同参数矩阵a和a'中的公钥被盲化。也就是说,在不知道盲化参数rb的情况下,无法从盲化的公钥计算盲化的公钥。因此,执行过程500的实体可以明文提供盲化的公钥pkb而不揭示静态密钥pk。与未盲化的密钥对(pk、sk)一样,盲化的密钥对(pkb、skb)具有使用pkb加密的消息可以使用skb解密的特性。因此,实体可以使用过程500为实体参与的每个交易或其他通信会话生成新的盲化密钥对(pkb、skb)。
[0068]
类似于过程400,过程500是微创盲化过程的示例,因为误差项(其表示噪声吧当其变得较大时可导致错误结果)被控制。因此,盲化过程500对加密/解密操作的正确性具有最小的影响。
[0069]
过程400和过程500中的每一个过程适用于特定类型的基于格的密钥对。一些实施方案提供了可应用于任一类型的密钥的盲化过程;然而,此类过程可能不是微创的。图6示出了根据一些实施方案的用于对a型或b型的基于格的公钥/私钥对进行盲化的过程600的流程图。过程600可以由参与安全通信并且使用a型或b型的基于格的静态密钥对的任何实体(例如,计算机系统或其他电子装置)执行。过程600可以在框602处开始,获得基于格的静态密钥对,可以是a型的密钥对或b型的密钥对。在框604处,选择盲化参数。在该示例中,盲化参数为矩阵,可以通过随机采样与矩阵r相同的分布来选择。在框606处,盲化的公钥pkb可以计算为:pkb=rb·
pk.
ꢀꢀ
(12)对于a型的密钥对,等式(12)产生:并且对于b型的密钥对,等式(12)产生:pkb=rb·
ra.
ꢀꢀ
(14)在框608处,盲化参数矩阵ab可以被计算为:ab=rb·
a.
ꢀꢀ
(15)在框610处,可以计算盲化的密钥。对于a型的密钥对,盲化的密钥可以计算为:skb=sk rb,
ꢀꢀ
(16a)并且对于b型的密钥对,盲化的密钥可以计算为:skb=rb·
r.
ꢀꢀ
(16b)
[0070]
一旦生成,就可以使用盲化的公钥/私钥对与其他实体通信,例如如上文参考图4所述。
[0071]
在一些实施方案中,过程600可以跨不同的参数矩阵a和a'盲化公钥。与本文所述的其他实施方案一样,在不知道盲化参数rb的情况下,无法从盲化的密钥对计算未盲化的密钥对。与过程400和过程500不同,过程600并非是微创的,因为等式(12)可以引入多重噪声,这可以导致显著的误差增长。适当的公钥加密参数的选择可以将误差增长控制到期望的程度。
[0072]
应了解,本文所述的盲化处理是说明性的并且变化或修改是可能的。例如,可以在不同时间执行参考单个框描述的操作,可以将参考不同框描述的操作组合成单个操作,可
以改变操作顺序(除非逻辑另有规定),并且可以完全省略一些操作。
[0073]
在一些实施方案中,由实体生成的盲化的公钥/私钥对可以由该实体用于与其他实体通信。举例来说,图7是根据一些实施方案的用于与第二实体通信的过程700的流程图。过程700可以由参与与第二实体的安全通信并且使用基于格的静态密钥对的任何实体(例如,计算机系统或其他电子装置)执行。过程700可以在框702处开始,获得基于格的静态密钥对。在一些实施方案中,静态密钥对的密钥可以存储在只有拥有密钥对的实体可访问的安全存储装置中,而公钥可以存储在实体的本地存储装置(可以是安全存储装置)和/或证书颁发机构(ca)处。获得静态密钥对可以包括读取所存储的密钥和公钥。
[0074]
在框704处,生成盲化的公钥/私钥对。例如,在框706处,可以选择一个或多个盲化参数,包括至少一个向量或至少一个矩阵。盲化参数可以是例如一对向量(其可以在过程400的框404处选择)或矩阵(其可以在过程500的框504或过程600的框604处选择)。在其他实施方案中,除了上述盲化参数之外或代替上述盲化参数,可以选择其他盲化参数。每个盲化参数可以通过从与基于格的密钥封装机制相关联的分布进行随机采样来选择,如上文所述的示例中那样。在框708处,可以根据静态公钥和一个或多个盲化参数生成盲化的公钥,并且在框710处,可以根据静态密钥和一个或多个盲化参数生成盲化的密钥。框708和框710处的操作可包括例如上文参考过程400的框406和框408;过程500的框506和框508;或过程600的框606、框608和框610描述的任何操作。
[0075]
在框712处,可以将盲化的公钥发送给第二实体,该第二实体可以是执行过程700的实体意图安全地与其通信的任何计算机系统或其他电子装置。在一些实施方案中,发送基于格的公钥可包括发送与公钥相关联的参数矩阵a(例如,如上所述的参数矩阵a)。在框714处,可以从第二实体接收加密消息。加密消息被推定为已经使用盲化的公钥加密。在框716处,可以使用盲化的密钥来解密加密消息。
[0076]
应了解,过程700是说明性的,并且可能有变化或修改。例如,可以在不同时间执行参考单个框描述的操作,可以将参考不同框描述的操作组合成单个操作,可以改变操作顺序(除非逻辑另有规定),并且可以完全省略一些操作。可在框704处应用适用于基于格的密钥的任何类型的盲化操作,包括上述操作中的任一个操作或它们的组合。本文所述的密钥盲化技术可用于基于格的密钥参数和r的不同类型的分布,包括高斯分布、小区间内的均匀分布和二项分布。盲化密钥的安全性取决于同一参数方案下的基于格的公钥加密的安全性以及基于格的密钥参数和r的分布选择。
[0077]
在一些实施方案中,可以将盲化的公钥并入图2和图3中所示的类型的安全通信会话协议中。现在将描述示例。
[0078]
图8示出了根据一些实施方案的使用基于格的密钥在两个实体(“实体1”和“实体2”)之间进行单向认证的过程800的流程图。实体1和实体2可以是例如参与安全通信会话的两个计算机系统或其他电子装置。假设实体1期望认证实体2。还假设实体2具有基于静态格的公钥/私钥对(pk2、sk2)和数字证书(cert),而实体1具有临时的基于格的公钥/私钥对(pke、ske)。每个密钥对可以是a型或b型。例如,可以例如响应于实体1确定应该与实体2建立安全通信会话来生成临时密钥对。
[0079]
过程800可以在框802处开始,其中实体2可以从其静态密钥对(pk2、sk2)生成盲化的密钥对(pk
2b
、sk
2b
),例如,使用上面参考图4至图7描述的任何技术。在消息804处,实体2
可以将盲化的公钥pk
2b
发送给实体1。在一些实施方案中,发送基于格的公钥可包括发送与公钥相关联的参数矩阵a(例如,如上所述的参数矩阵a)。在框806处,实体1可以选择任意参数k1,该参数可以是适合用作对称密钥的随机值。在框808处,实体1可以使用盲化的公钥pk
2b
和可以实施基于格的公钥加密的后量子加密算法pqenc(
·
)来加密参数k1。在消息810处,实体1可以将其临时公钥pke和加密的k1发送给实体2。实体2具有盲化的密钥sk
2b
,并且可以解密k1。
[0080]
在框812处,实体2可以选择另一任意参数k2,该参数可以是适合用作对称密钥的另一随机值。在框814处,实体2可以例如通过使用散列函数h(k1,k2)来生成会话密钥(k)。在框816处,实体2可以使用经由消息810接收的临时公钥pke和后量子加密算法pqenc(
·
)来加密k2。在框818处,实体2还可以使用会话密钥k和加密算法enc(
·
)来加密其静态(非盲化)公钥pk2、证书cert,以及用于生成盲化的公钥pk
2b
(在附图中由参数b表示)的一个或多个盲化参数,该加密算法可以是例如常规对称密钥加密算法enc(
·
)。在消息820处,实体2可以将加密参数k2和加密公钥、证书和盲化的参数发送给实体1。
[0081]
在框822处,实体1可以使用其临时密钥ske来解密加密参数k2。在框824处,实体1可以使用与在框212处的实体2所使用的计算相同的计算来生成会话密钥k。此后,实体1可以解密包含证书、静态公钥pk2和盲化参数的消息,并且可以使用适当的密码技术继续进行证书确认和/或数字签名验证。(例如,所涉及的所有密钥可以是量子安全密钥,并且如上文所描述的量子安全技术可用于执行签名验证。)在一些实施方案中,确认和验证过程可包括确认在消息804处接收的盲化的公钥pk
2b
对应于将在消息820处接收的盲化参数应用于静态公钥pk2的结果。一旦验证完成,实体1和实体2就可以继续使用会话密钥k安全地通信。
[0082]
图9示出了根据一些实施方案的使用基于格的密钥在两个实体(“实体1”和“实体2”)之间进行双向认证的过程900的流程图。实体1和实体2可以是例如参与安全通信会话的两个计算机系统或其他电子装置。假设实体1期望认证实体2,反之亦然。还假设实体1具有静态后量子公钥/私钥对(pk1、sk1)和数字证书(cert1),并且实体2也具有静态的后量子公钥/私钥对(pk2、sk2)和数字证书(cert2)。在该示例中,实体1还使用临时后量子公钥/私钥对(pke、ske),类似于图8。每个密钥对可以是a型或b型。
[0083]
过程900可以在框902处开始,其中实体1可以从静态密钥对(pk1、sk1)生成盲化的密钥对(pk
1b
、sk
1b
),例如,使用上面参考图4至图7描述的任何技术。类似地,在框904处,实体2可以从静态密钥对(pk2、sk2)生成盲化的密钥对(pk
2b
、sk
2b
),例如,使用上面参考图4至图7描述的任何技术。在消息906处,实体2可以将其盲化的公钥pk
2b
发送给实体1。在一些实施方案中,发送基于格的公钥可包括发送与公钥相关联的参数矩阵a(例如,如上所述的参数矩阵a)。
[0084]
在框908处,实体1可以选择任意参数k1,该参数可以是适合用作对称密钥的随机值。在框910处,实体1可以使用盲化的公钥pk
2b
和可以实施基于格的公钥加密的后量子加密算法pqenc(
·
)来加密参数k1。在消息912处,实体1可以将其盲化的公钥pk
1b
、其临时公钥pke和加密的k1发送给实体2。实体2具有盲化的密钥sk
2b
,并且可以解密k1。
[0085]
在框914处,实体2可以选择两个附加的任意参数k2和k3,其中每个参数可以是适合用作对称密钥的随机值。在框916处,实体2可以例如通过使用散列函数h(k1,k2,k3)来生成会话密钥(k)。在框918处,实体2可以使用经由消息308接收的临时公钥pke和后量子加密
算法pqenc(
·
)对参数k2进行加密,并且使用经由消息308接收的盲化的公钥pk
1b
和后量子加密算法pqenc(
·
)对参数k3进行加密。在消息920处,实体2可以将加密参数k2和k3发送给实体1。
[0086]
在框922处,实体1可以使用其临时密钥ske来解密参数k2,并且使用其盲化的密钥sk
1b
来解密参数k3。在框924处,实体1可以使用与在框916处的实体2所使用的计算相同的计算来生成会话密钥k。此后,实体1和实体2可以使用使用会话密钥k加密的消息交换数字证书cert1和cert2、静态公钥pk1和pk2,以及盲化参数(在附图中由参数b1和b2表示),如消息926、928所示。每个实体都可以解密包含另一实体的证书和静态公钥的消息,并且可以使用适当的密码技术进行证书确认和/或数字签名验证。(例如,所涉及的所有密钥可以是量子安全密钥,并且如上文所描述的量子安全技术可用于执行签名验证。)在一些实施方案中,由实体1执行的确认和验证过程可包括确认在消息906处接收的盲化的公钥pk
2b
对应于将在消息928处接收的盲化参数应用于静态公钥pk2的结果。同样,由实体2执行的确认和验证过程可包括确认在消息912处接收的盲化的公钥pk
1b
对应于将在消息926处接收的盲化参数应用于静态公钥pk1的结果。一旦确认和验证完成,实体1和实体2就可以继续使用会话密钥k安全地通信。
[0087]
应了解,过程800和过程900是说明性的,并且可能有变化或修改。例如,可以在不同时间执行参考单个框描述的操作,可以将参考不同框描述的操作组合成单个操作,可以改变操作顺序(除非逻辑另有规定),并且可以完全省略一些操作。适合基于格的密钥对的任何类型的盲化操作都可以结合过程800或过程900使用。在过程900的情况下,每个实体都可以使用相同的密钥盲化操作(具有独立选择的盲化参数)或不同的密钥盲化操作。可以根据需要修改交换的秘密参数(k1、k2、k3等)的数量。例如,在使用双向认证的一些实施方案中,可以省略参数k2,在这种情况下也可以省略临时密钥pke和ske。替代地,可以交换更多数量的秘密参数,并且可以针对每个此类参数使用不同的盲化的或临时密钥对。可以根据需要选择用于从秘密参数生成会话密钥的特定算法,并且一个或多个会话密钥可以根据需要包括对称密钥和/或不对称密钥对。由一个装置使用的一个或多个盲化参数可以是但不需要被提供给另一装置。如果没有提供一个或多个盲化参数,则可以省略将盲化的公钥与对应的静态公钥进行比较。
[0088]
与过程200和过程300不同,过程800和过程900不需要以明文发送任何静态密钥。在一些实施方案中,只有以明文发送的密钥可以是假定为每个会话重新生成的临时公钥和一个或多个盲化的公钥,这些又被假定为每个会话重新生成。因此,可以避免基于实体的静态公钥在多个通信会话或交易中对实体进行第三方跟踪。此外,如果不使用静态公钥加密消息,则管理获得静态密钥的第三方将无法解密授权交易的通信。计算机实施方式
[0089]
本文所述的过程可以在任何类型的计算机系统或其他具有通信能力并且实施基于格的kem等后量子加密技术的电子装置中实施。在一些实施方案中,计算机系统包括单个计算机设备,其中子系统可以是计算机设备的组件。计算机设备可以具有各种形式因素,包括例如智能电话、平板电脑、膝上型计算机、台式计算机等。在其他实施方案中,计算机系统可以包括多个计算机设备,每个计算机设备都是具有内部组件的子系统。
[0090]
图10示出了根据一些实施方案的被配置为执行各种过程的通用计算机系统1000
的简化框图。计算机系统1000包括处理器1002、存储系统1004、用户界面1006和通信接口1008。处理器1002可包括一个或多个微处理器或微控制器,该一个或多个微处理器或微控制器被编程以执行各种操作,包括本文所述的操作。例如,处理器1002可以执行实施后量子密钥盲化模块1010的程序代码(其可以实施上述过程400、500或600中的任何或所有过程的一部分);执行后量子加密模块1012,其例如使用基于格的kem执行后量子加密和解密过程;以及执行常规加密模块1014,其实施常规的加密和解密过程。处理器1002还可以实施其他操作模块,诸如管理交易的模块、处理在交易中接收的数据,等等。
[0091]
存储系统1004可包括用于数据(包括程序代码)的非瞬态存储硬件的任何组合,诸如磁盘、光盘、闪存存储器、dram、sram、可编程只读存储器,等等。存储系统1004可以存储用于由处理器1002执行的程序代码以及可由处理器1002消耗或产生的数据。存储系统1004的一部分可以提供安全存储介质,诸如硬件安全模块或安全元件。在一些实施方案中,由存储子系统1004存储的数据可以包括静态后量子公钥/私钥对(pk、sk)1016和计算机系统1000的数字证书(cert)1018。在一些实施方案中,密钥sk可以存储在安全存储介质中,而公钥pk和数字证书cert存储在安全存储介质或另一存储介质中。
[0092]
用户界面1006可包括常规硬件组件,诸如显示器、键盘、小键盘、触摸屏、扬声器、麦克风和/或可操作以从用户接收输入以及/或者向用户呈现输出的任何其他组件。在一些实施方案中,用户界面1006可以是最小的或不存在的。
[0093]
通信接口1008可包括常规硬件组件,诸如天线,以及根据需要使用标准协议,诸如蓝牙、wi-fi或nfc和/或专有协议来无线通信的支持基带的硬件。另外或替代地,通信接口1008可包括用于有线通信的硬件组件,诸如usb连接器、以太网连接器或一个或多个其他连接器。通信接口1008还可包括支持控制逻辑以操作通信硬件;此类控制逻辑可使用专用逻辑装置(例如,fpga或asic)和/或在合适的处理器上执行的程序代码来实施,该合适的处理器可以是处理器1002或不同的可编程微处理器。根据实施方式,通信接口1008可以支持点对点通信或经由局域网或广域网(包括互联网)的通信。
[0094]
计算机系统可以包括例如由外部接口或由内部接口连接在一起的多个组件或子系统。在一些实施方案中,计算机系统、子系统或设备可以通过网络进行通信。在此类情况下,一个计算机可被视为客户端,并且另一个计算机可被视为服务器,其中每台计算机可以是同一计算机系统的一部分。客户端和服务器可以各自包括多个系统、子系统或组件。
[0095]
计算机系统可以多种形式实施,从服务器群到台式计算机或膝上型计算机,到专用装置,诸如销售点(pos)终端,到移动装置,诸如智能电话、平板电脑或可穿戴装置。在一些实施方案中,计算机系统可具有超级紧凑且低功率的设计。例如,“智能卡”可以并入nfc接口以用于与另一装置进行短程通信,另一装置为诸如pos终端、用于密钥对和证书的安全存储装置,以及实施与其他装置通信所需的盲化、加密、解密和其他操作的逻辑电路。在一些实施方案中,智能卡可以从pos终端或另一外部源的近场电磁辐射汲取操作功率。
[0096]
应理解,本发明的任何实施方案都可以使用硬件(例如,专用集成电路或现场可编程门阵列)和/或使用计算机软件以控制逻辑的形式实现,其中通用可编程处理器是模块化的或集成的。如本文所用,处理器包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或网络化的多个处理单元。基于本公开和本文中所提供的教示,本领域的普通技术人员将知道并且了解使用硬件和硬件与软件的组合来实施本发明的实施方案的其
他方式和/或方法。
[0097]
本技术中描述的任何软件组件或功能可实施为使用例如java、c、c 、c#、objective-c、swift的任何合适的计算机语言或例如perl或python的脚本语言使用例如常规的或面向对象的技术由处理器执行的软件代码。软件代码可作为一系列指令或命令存储在计算机可读介质上以供存储和/或传递,合适的介质包括随机存取存储器(ram)、只读存储器(rom)、磁性介质诸如硬盘驱动器或软盘,或光学介质诸如光盘(cd)或dvd(数字通用盘)、闪存存储器等。计算机可读介质可以是此类存储或传输装置的任何组合。
[0098]
此类程序还可以使用适应于经由包括互联网的符合多种协议的有线、光学和/或无线网络进行传输的载波信号来编码和传输。因此,根据本发明的实施方案的计算机可读介质可以使用以此类程序编码的数据信号来创建。用程序代码编码的计算机可读介质可以与兼容装置一起封装或与其他装置分开提供(例如,经由互联网下载)。任何此类计算机可读介质可以驻留于单个计算机产品(例如,硬盘驱动器、cd或整个计算机系统)上或内,并且可存在于系统或网络内的不同计算机产品上或内。计算机系统可包括用于将本文中所提及的任何结果提供给用户的监视器、打印机或其他合适的显示器。
[0099]
本文所述的任何方法可以完全地或部分地用包括可被配置为执行这些步骤的一个或多个处理器的计算机系统执行。因此,实施方案可涉及被配置为执行本文描述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。尽管以编号的步骤呈现,但是本文中的方法步骤也可以同时执行或以不同的次序执行。另外,这些步骤的部分可以与来自其他方法的其他步骤的部分一起使用。同样,一个步骤的全部或部分可以是可选的。另外,任何方法的任何步骤可以用模块、电路或用于执行这些步骤的其他手段来执行。附加的实施方案
[0100]
本文所述的实施方案为后量子(或量子安全)公钥和通信协议提供盲化技术,其包括使用盲化的公钥以避免以明文发送公钥。此类技术可以在其中两个电子装置使用后量子加密技术来传送信息的任何环境中实施。在不偏离本发明的实施方案的精神和范围的情况下,具体实施方案的特定细节可以任何合适方式组合。然而,本发明的其他实施方案可涉及与每个单独的方面相关的特定实施方案,或者这些单独的方面的特定组合。
[0101]
在上述示例中,为每个通信会话生成新的盲化的公钥(和对应的盲化的密钥);然而,不排除盲化的密钥的存储和重复使用。例如,产生盲化的密钥的装置可以存储和重复使用盲化的密钥(例如,用于与相同的对应装置进行的后续交易)。在此类情况下,可能通过重复使用相同的盲化的公钥的实例来对装置进行第三方跟踪。
[0102]
在上述示例中,在装置之间传送的信息可用于生成用于安全通信会话的对称会话密钥。只要两个实体都希望保持会话,安全通信会话就可以继续。可以在安全通信会话内交换任何数量和类型的数据,包括但不限于证书和数字签名。
[0103]
除非明确指示有相反的意思,否则叙述“一个/种”或“该/所述”旨在表示“一个/种或多个/种”。除非明确指示为相反情况,否则“或”的使用旨在表示“包括性的或”,而不是“排除性的或”。
[0104]
本文中提及的所有专利、专利申请、公开和描述出于所有目的以引用方式全部并入本文。并非承认它们是现有技术。
[0105]
以上描述是说明性的并且不是限制性的。在所属领域的技术人员阅读了本公开后,本发明的许多变化将变得显而易见。因此,专利保护的范围不应参考以上描述来确定,而是应参考所附权利要求书以及其完整范围或等效物来确定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献