本发明总体上涉及数字签名,并且更具体地涉及用于保护数字签名以抵抗具有量子能力的对手的方法和系统。
背景技术:
1、非对称密钥加密法是由全世界的系统使用以维护数字领域中各方之间信任的工具。数字签名的使用使通信各方能够彼此认证、检查所交换数据的完整性、并且在否认的情况下证明数据的来源。美国国家标准与技术研究院(nist)的数字签名标准中描述了三种经典的数字签名算法,并且这三种经典的数字签名算法包括基于离散对数加密法的数字签名算法(dsa)、里维斯特-沙米尔-阿德尔曼(rsa)算法、和基于椭圆曲线加密法(ecc)椭圆曲线数字签名算法(ecdsa)。dsa和ecdsa的安全性基于在超大数的有限域上求解离散对数,而rsa的安全性则基于在超大数的有限域上进行整数分解的难度。
2、然而,大型容错量子计算机的出现给使用这些经典数字签名算法的系统带来了巨大风险。秀尔算法在o(logn)多项式时间内既能解决dsa和ecdsa所基于的离散对数问题,也能解决rsa所基于的整数分解问题。这意味着,任何拥有足够大的量子计算机的对手,在得到用户公钥的情况下,都能在数小时内计算出用户的私人签名密钥,并且由此生成有效的数字签名来冒充所述用户。此外,之前由所述用户签名的数据也无法再证明其真实性和可信性。
3、虽然随着新数字签名标准的发展,业界可能会鼓励新的系统实施方案来考虑,但是现有或即将推出的系统所面临的挑战提出了以下专门针对数字签名的问题:面对量子计算机数字签名击溃能力,已经数字签名的文件如何保持可信性?这些文件是否需要使用新算法进行会签?由于会签人可能是交易中无利害关系的第三方,那么会签人要为验证方承担什么责任?无法迁移的遗留系统怎么办?验证方预计何时准备好验证新算法?如果现有的非量子安全签名通过了验证,但验证方无法验证新的量子安全签名,这对验证方有何法律影响?使用数字签名的系统运营商是否应该开始向基于散列的有状态的签名进行加密迁移,而不是等待行业标准化?
4、因此,需要用于数字签名的系统和方法,以克服现有数字签名系统的缺点并保护数字签名免受具有量子能力的对手的影响。此外,其他期望的特征和特性将从随后的详细描述和所附权利要求书并结合本公开的附图和上述背景技术而变得显而易见。
技术实现思路
1、根据本发明实施例的至少一个方面,提供了一种抗量子数字签名系统。该抗量子数字签名系统包括数字签名系统和抗量子保护层。所述数字签名系统包括公钥和私钥,其中所述公钥与所述私钥相关联。所述数字签名系统还包括响应于数据和所述私钥生成的数字签名。所述抗量子保护层适用于数字签名系统,并且包括由签名方提供的关于所述私钥的预映射的量子安全知识证明。
2、根据本发明实施例的另一方面,提供了一种用于抗量子数字签名数据的方法。该方法响应于安全参数生成公钥和预映射参数,并且生成私钥,其中所述私钥是响应于所述预映射参数生成的并且与所述公钥相关联。该方法还包括:响应于数据和所述私钥而生成签名;生成预映射参数的知识证明;以及利用签名和预映射参数的知识证明两者对所述数据进行数字签名。
3、根据本发明实施例的另一个方面,提供了一种通过验证私钥来验证抗量子数字签名以认证数据源的方法。该方法包括通过使用与私钥相关联的公钥和预映射参数的知识证明两者进行验证以验证与数据对应的数字签名是否响应于私钥而生成,来认证所述数据源。
1.一种抗量子数字签名系统,包括:
2.根据权利要求1所述的抗量子数字签名系统,其中,所述私钥的计算包括折叠散列函数。
3.根据权利要求1和权利要求2所述的抗量子数字签名系统,其中,具有预定强度的加密密钥生成所述公钥和所述私钥两者。
4.根据权利要求1至3中任一项所述的抗量子数字签名系统,其中,由签名方提供的关于所述私钥的预映射的量子安全知识证明包括零知识证明。
5.根据权利要求1至3中任一项所述的抗量子数字签名系统,其中,由签名方提供的关于所述私钥的预映射的量子安全知识证明包括部分知识证明。
6.根据权利要求1至5中任一项所述的抗量子数字签名系统,其中,由签名方提供的关于所述私钥的预映射的量子安全知识证明是响应于所述私钥的至少一部分而生成的。
7.根据权利要求1至6中任一项所述的抗量子数字签名系统,其中,所述抗量子保护层通过提供所述私钥的预映射的多个知识证明来支持多于一方,所述私钥的预映射的多个知识证明具有预定义的证书层次结构。
8.一种用于抗量子数字签名数据的方法,包括:
9.根据权利要求8所述的方法,其中,对所述数据进行数字签名包括将所述签名与零知识证明分开存储,以便并行验证。
10.根据权利要求8或权利要求9所述的方法,其中,生成所述私钥包括使用折叠散列函数来生成所述私钥。
11.根据权利要求8至10中任一项所述的方法,其中,所述安全参数包括具有预定强度的加密密钥。
12.根据权利要求8至11中任一项所述的方法,其中,所述预映射参数的知识证明包括零知识证明。
13.根据权利要求8至11中任一项所述的方法,其中,所述预映射参数的知识证明包括部分知识证明。
14.根据权利要求8至13中任一项所述的方法,其中,所述预映射参数的知识证明是响应于所述私钥的至少一部分而生成的。
15.根据权利要求8至14中任一项所述的方法,其中,生成所述私钥包括通过对所述预映射参数执行散列密钥推导、对所述预映射参数执行单向函数密钥推导、或者对所述预映射参数执行对称密钥推导来生成所述私钥中的一种或多种。
16.根据权利要求8至15中任一项所述的方法,其中,生成所述公钥和所述预映射参数包括通过对所述预映射参数执行散列密钥推导来生成所述公钥、通过对所述预映射参数执行单向函数密钥推导来生成所述公钥、或者通过对所述预映射参数执行对称密钥推导来生成所述公钥中的一种或多种。
17.根据权利要求8至16中任一项所述的方法,其中,所述数据包括消息,所述方法还包括发送数字签名消息,其中所述预映射参数的知识证明是由所述消息的接收者可访问的。
18.根据权利要求17所述的方法,其中,发送所述数字签名消息包括与(i)所述预映射参数的知识证明或(ii)用于识别数字存储位置的位置信息中的一个或两个一起发送数字签名消息,从所述数字存储位置能够访问所述预映射参数的知识证明。
19.根据权利要求17或权利要求18所述的方法,还包括发送所述公钥,其中发送所述公钥包括将数字签名消息与所述公钥一起发送到数字存储位置或将所述公钥发送到数字存储位置,所述数字存储位置包括认证机构或公共存储库。
20.一种通过验证私钥来验证抗量子数字签名以认证数据源的方法,所述方法包括:
21.根据权利要求20所述的方法,其中,所述预映射参数的知识证明包括零知识证明。
22.根据权利要求20和权利要求21所述的方法,其中,认证步骤包括并行处理使用所述公钥进行的验证和使用所述预映射参数的知识证明进行的验证。
23.根据权利要求22所述的方法,其中,并行处理使用所述公钥进行的验证和使用所述预映射参数的知识证明进行的验证包括:
24.根据权利要求20至23中任一项所述的方法,其中,对数据源进行认证包括当且仅当所述数字签名被确定为是响应于所述私钥而生成的、并且所述预映射参数的知识证明被确定为是根据所述预映射参数计算的有效证明两者时,接受对所述数据的验证。