CN114521319B - 具有均匀秘密的基于格的签名 - Google Patents

具有均匀秘密的基于格的签名 Download PDF

Info

Publication number
CN114521319B
CN114521319B CN202080065383.4A CN202080065383A CN114521319B CN 114521319 B CN114521319 B CN 114521319B CN 202080065383 A CN202080065383 A CN 202080065383A CN 114521319 B CN114521319 B CN 114521319B
Authority
CN
China
Prior art keywords
vector
matrix
verification
signature
generating
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
Application number
CN202080065383.4A
Other languages
English (en)
Other versions
CN114521319A (zh
Inventor
D·马斯尼
Y·陈
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.)
Visa International Service Association
Original Assignee
Visa International Service Association
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 Visa International Service Association filed Critical Visa International Service Association
Publication of CN114521319A publication Critical patent/CN114521319A/zh
Application granted granted Critical
Publication of CN114521319B publication Critical patent/CN114521319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

公开了对基于后量子格的数字签名方案的改进。通过从均匀分布中采样密码材料,包括密码密钥矩阵和掩蔽向量,实施例消除了在生成数字签名向量期间进行安全性检查的需要。因此,可以更快地且以更低故障率生成数字签名。生成装置可以从均匀分布生成验证矩阵A和秘密矩阵S,并从特殊分布(例如,高斯分布)生成误差矩阵E。所述生成装置可组合三个矩阵以生成公用矩阵Y。第一和第四矩阵(A,Y)可以用作用于验证数字签名的公用密钥。第二和第三矩阵(S,E)可以用作用于生成数字签名的私用密钥。

Description

具有均匀秘密的基于格的签名
相关申请交叉引用
本申请是国际专利申请,其要求2019年9月26日提交的第62/906,569号美国临时专利申请的提交日的权益,所述美国临时专利申请出于所有目的以全文引用的方式并入本文中。
背景技术
当今许多密码体制--例如RSA加密--基于质数分解或模幂运算等问题。这些问题对于常规计算机来说是难以解决的,但对于量子计算机来说可能不是难以解决的。因此,量子计算的新进展可能会使基于这些问题的密码体制不安全。需要基于传统计算机和量子计算机均难以解决的问题的新密码体制。
基于格的问题可以用作密码体制的基础。格问题的一个实例可以是短整数解问题,其涉及在点的n维格中寻找最短向量。格问题对于常规计算机和量子计算机两者可能均是难以解决的。然而,针对基于格的密码体制计算密码密钥可能是计算昂贵的,并且可能会产生大的密钥,所述大的密钥还会使得难以对消息进行签名和验证消息。因此,需要使基于格的密码学更高效。
本公开的实施例单独地和共同地解决了这些和其它问题。
发明内容
本公开的实施例涉及密码学,包括基于格的签名方案。与例如使用高斯分布相比,均匀随机分布用于生成密码密钥和数字签名。使用均匀随机分布可以消除在生成签名期间进行安全性检查的需要,以及在签名验证期间进行签名检查的需要。因此,签名生成和验证都可以更快。这对其中应当快速生成和验证签名的低延时或高通量应用是有利的。
一个实施例涉及一种用于使用数字签名执行安全通信的方法,所述方法包括由计算机系统执行:生成包括第一多个元素的验证矩阵A,所述第一多个元素是从均匀分布中采样的;生成包括第二多个元素的秘密矩阵S,所述第二多个元素是从所述均匀分布中采样的;生成包括第三多个元素的误差矩阵E,所述第三多个元素是从特殊分布中采样的;基于所述验证矩阵A、所述秘密矩阵S、所述误差矩阵E和模量q的组合生成公用矩阵Y;生成包括所述验证矩阵A和所述公用矩阵Y的公用密钥;生成包括所述秘密矩阵S和所述误差矩阵E的私用密钥;以及将所述公用密钥发送给验证装置。
另一实施例涉及一种用于使用数字签名执行安全通信的方法,所述方法包括由验证装置执行:存储包括验证矩阵A和公用矩阵Y的公用密钥;从签名装置接收消息m以及包括签名向量z和第一质询向量c的数字签名;基于所述验证矩阵A、所述公用矩阵Y、所述签名向量z和所述第一质询向量c生成第一验证向量v;通过从所述验证向量v丢弃一个或多个最低有效位来生成舍入的验证向量w;通过对所述消息m和所述舍入的验证向量w进行散列来生成第二质询向量;将所述第一质询向量c与所述第二质询向量进行比较;以及响应于所述第一质询向量c匹配所述第二质询向量而验证所述签名装置。
其它实施例涉及一种计算机系统,其包括:处理器;以及耦合到所述处理器的非瞬态计算机可读介质,所述非瞬态计算机可读介质包括可由所述处理器执行以实施本文描述的方法中的任一个的代码。
术语
“服务器计算机”可以包括功能强大的计算机或计算机集群。例如,服务器计算机可以包括大型主机、小型计算机集群或作为一个单元运作的一组服务器。在一个实例中,服务器计算机可以包括耦合到网络服务器的数据库服务器。服务器计算机可以包括一个或多个计算设备,并且可使用多种计算结构、布置和编译中的任一种来服务来自一个或多个客户端计算机的请求。
“存储器”可以是可以存储电子数据的任何合适的装置或多个装置。合适的存储器可以包括非瞬态计算机可读介质,其存储可由处理器执行以实现期望方法的指令。存储器的实例可以包括一个或多个存储器芯片、磁盘驱动器等。此类存储器可使用任何合适的电、光和/或磁操作模式来操作。
“处理器”可指任何合适的一个或多个数据计算装置。处理器可包括一起工作以实现所要功能的一个或多个微处理器。处理器可以包括CPU,所述CPU包括至少一个高速数据处理器,所述高速数据处理器足以执行用于执行用户和/或系统生成的请求的程序组件。CPU可以是微处理器,例如AMD的Athlon、Duron和/或Opteron;IBM和/或摩托罗拉(Motorola)的PowerPC;IBM和索尼(Sony)的Cell处理器;英特尔(Intel)的Celeron、Itanium、Pentium、Xeon和/或XScale;和/或类似处理器。
术语“密码密钥”可以包括在加密或解密中使用的数据。密码密钥可以是对称的,在这种情况下,同一密钥用于加密和解密,或是不对称的,在这种情况下,不同密钥用于加密和解密。不对称密钥对可以包括公用密钥和私用密钥或秘密密钥。公用密钥可以公开提供给任何数目的实体,而私用密钥可以仅布到特定实体。不对称密钥对可以用作数字签名方案的基础。
“数字签名”可以指用于验证数字消息的来源或真实性的数据。数字签名可以使用密码密钥来实施。消息可以与对应数字签名一起发送给接收者。数字签名可包括使用对应于发送装置的私用密钥加密的消息的加密副本(或源自消息的加密副本的数据)。接收者可以使用对应的公用密钥来解密消息的加密副本,然后将加密副本与接收到的消息进行比较。如果消息匹配,并且私用密钥未被泄漏,则数字签名验证消息是由发送装置而不是由冒充者发送的。
“消息”可以指可在两个实体之间发送的任何数据。消息可以包括明文(未加密的)数据或密文(加密的)数据。消息可以包括字母数字序列(例如,“hello123”)或任何其它数据(例如,图像或视频文件)。消息可以在计算机或其它实体之间发送。
“散列函数”可以指可用于将任意长度或大小的数据映射到固定长度或大小的数据的任何函数。散列函数还可用于通过将数据用其对应的“散列值”替换来混淆数据。
“质询”可以指用于证明对某物(例如,数据)的了解或拥有的数据。例如,质询可以包括对应于数据元素的散列值。实体可以通过提供散列值来证明其拥有数据元素,因为在统计学上,实体不太可能在不拥有对应数据元素的情况下产生散列值。
术语“生成装置”可以指生成密码密钥的装置或计算机系统。这些可以包括用于实施数字签名方案的不对称密码密钥。生成装置可以将公用“验证”密钥分布到网络中的验证装置,使得所述验证装置可以使用所述公用密钥来验证数字签名。生成装置可以将私用“签名”密钥分布到网络中的签名装置,使得所述签名装置可以使用所述私用密钥来生成对应于消息的数字签名。
术语“签名装置”可以指使用私用签名密钥来生成数字签名的装置或计算机系统。在一些情况下,签名装置可以是生成装置,即,签名装置使用其自身生成的私用签名密钥来生成数字签名。
术语“验证装置”可以指使用公用验证密钥来验证由签名装置生成的数字签名的装置或计算机系统。在一些情况下,验证装置可以是生成装置,即验证装置使用其自身生成的公用验证密钥来验证数字签名。
术语“均匀分布”可以指概率分布(即,概率密度函数或概率质量函数),其中与随机变量相关联的可能值是同等可能的。公平切块是对应于均匀分布的系统的实例(因为任何两卷的概率相等)。术语“不均匀分布”可以指概率分布,其中所有可能的值或间隔不是同等可能的。高斯分布是不均匀分布的实例。
术语“用户装置”可以指由用户拥有或操作的装置。用户装置的实例包括智能手机、笔记本电脑、平板电脑、PDA和可穿戴装置,例如智能手表。用户装置可以是便携式的和手持式的。用户可以使用用户装置来执行与其它实体的交互。例如,用户可以使用用户装置参与与商家的电子商务交易(例如,经由商家的网站)。
术语“授权实体”或“授权计算机”可以指可以授权或批准交互的实体。授权实体可以指业务实体(例如银行),其维持用户的账户并且能够授权交互,例如支付交易,例如商品或服务的购买。授权实体可以操作授权计算机。
附图说明
图1示出根据一些实施例的模型数字签名系统的系统图。
图2示出根据本公开的一些实施例的涉及公用密钥(A,Y)和私用密钥(S,E)的数字签名的容错学习(LWE)问题。
图3示出根据本公开的实施例的密钥和数字签名的生成以及数字签名验证。
图4示出根据一些实施例的示例性密码密钥生成方法的流程图。
图5示出根据一些实施例的示例性数字签名生成方法的流程图。
图6示出根据一些实施例的示例性数字签名验证方法的流程图。
图7示出根据一些实施例的示例性数字签名应用的流程图。
图8示出根据一些实施例的计算机系统。
具体实施方式
本公开的一些实施例涉及用于产生和验证数字签名的基于格的签名方案的改进。这些数字签名方案是有用的,因为它们允许接收者验证数字消息的来源和正确性。因此,它们可用于通过例如互联网的开放网络进行安全通信。
许多数字签名方案是基于基础密码系统,而这些系统本身基于“计算困难”的数学问题。如果恶意行为者能够破坏基础密码系统(例如,通过解决基础问题和确定私用密码密钥),恶意行为者会形成数字签名。对于现有的计算机系统来说,这些计算困难的问题大多是不可行的,可能需要数百年或数千年的处理时间来破坏这些系统。然而,对于理论量子计算机来说,这些问题中的一些并不是计算困难的。例如,足够功能强大的量子计算机可以使用Shor的算法来执行质数分解、破坏RSA密码系统以及任何基于此的签名方案。
对于量子计算机和非量子计算机来说,基于格的问题,例如短整数解(SIS)、容错学习(LWE)和自适应有界距离解码(ABDD)问题是计算困难的。因此,这些问题可用作后量子数字签名方案的基础。其中一个方案被称为“利用中止的Fiat-Shamir技术”。然而,目前的基于格的密码系统存在性能问题,使其难以在实践中实施。例如,为基于格的密码系统生成密码密钥可能在计算上非常昂贵且耗时。另外,签名消息可能是概率性的并且容易失败,从而增加了签名和发送消息所需的时间总量。此外,密码密钥可能较大,并且可能难以使用这些密钥来对消息进行签名和验证。因此,当前基于量子的后量子签名方案不适合高通量或低时延系统。
基于格的方案尤其存在的一个问题是数字签名生成的概率性质。通常,在基于格的方案中,数字签名包括质询向量c和签名向量z。验证装置(即,验证数字签名的装置)使用签名向量z和公用密码密钥尝试并复制质询向量c。如果验证装置能够成功复制质询向量,则数字签名是合法的。然而,用于生成数字签名的过程不能确保生成可复制的质询向量c。此外,签名向量z有可能是不安全的,即,其揭露了有关用于生成数字签名的私用密钥的一些信息。
通常,数字签名生成过程涉及通过从高斯分布中采样来生成随机向量r,然后使用随机向量r连同私用密码密钥来生成质询向量c和签名向量z。然后,在正确性测试(即,验证数字签名是否可以正确验证)和安全性测试(即,验证签名向量z是否不会泄漏有关私用密码密钥的任何信息)方面检查质询向量c和签名向量z。如果一个或两个测试(检查)失败,则签名生成将重新开始,并对新的随机向量r进行采样,这一过程有时被称为“拒绝采样”。
因为签名生成过程中需要通过这两个测试,所以签名生成过程可能非常耗时。一些系统预计在生成有效且安全的签名之前至少要尝试10次。然而,本公开的实施例能够在不对签名向量z执行安全性检查的情况下生成正确、安全的数字签名。因此,生成有效签名的概率更高,并且生成有效数字签名所需的总时间减少。实施例的一些实施方案将生成正确签名所需的预期重复次数减少到1.52(参见下表3),从而允许将实施例用于高通量或低时延应用。
一些实施例可以通过使用与高斯随机性相反的均匀随机性来生成密码密钥和随机向量r,从而消除安全性检查的需要。均匀随机性的使用使得签名向量z不可能泄漏关于私用密码密钥的任何信息,从而消除了安全性检查的需要。
I.使用签名进行验证
图1示出根据本公开的一些实施例的数字签名系统100的系统和序列图。此系统包括四个装置,即生成装置102、签名装置104、攻击者106和验证装置108。通常,生成装置102生成用于生成数字签名和验证那些数字签名的密码密钥,包括公用验证密钥和私用签名密钥。签名装置104使用签名密钥对消息进行签名,并将签名的消息发送给验证装置108。验证装置108接收消息并使用公用验证密钥验证那些消息。系统中还包括攻击者106,所述攻击者是试图产生与真实签名无法区分的欺诈签名的恶意实体。
例如,签名装置104可以包括对应于账户持有人的用户装置。用户可能希望将资金从其账户转移到另一个账户(例如,为了支付商品或服务的费用,作为礼物等)。验证装置108可以与代表用户维护账户的发行方或发行银行相关联。签名装置104可以发送发起用户与其预期接收者之间的资金转移的消息。签名装置104可以对消息进行签名,以指示资金转移是由用户发起的。在此实例中,攻击者106可包括想要生成欺诈消息和签名的网络罪犯。使用这些欺诈消息和签名,攻击者106可试图说服验证装置108批准欺诈资金转移,例如,将其转入攻击者106拥有的账户。系统100的一个目的是确保生成的签名的安全性和正确性。也就是说,确保合法签名可以由验证装置108正确验证,但不能由攻击者106生成。
在步骤110,生成装置102可以生成公用验证密钥和私用(秘密)签名密钥。私用密钥可用于生成数字签名,且公用密钥可用于验证数字签名。由于私用密钥用于生成签名,因此它不被泄露或以其它方式揭露给攻击者106是很重要的。下文第II章节将更详细地描述用于生成这些密码密钥的示例性方法。通常,这些密码密钥包括成对矩阵,每个矩阵包括元素的集合。这些元素包括从随机(或密码安全伪随机)分布中采样的数字,随机分布包括均匀分布和不均匀分布(例如高斯分布)。
在生成密码密钥之后,在步骤112,生成装置102可以发布公用验证密钥。此发布可以包括例如通过在web服务器上托管公用密钥而使验证密钥可供特定网络(例如,互联网)中的所有装置自由使用。替代地,生成装置102可以将验证密钥发送给网络中的所有其它装置,即签名装置104、攻击者106和验证装置108。
在步骤114,生成装置102可以将签名密钥发送给签名装置104。拥有签名密钥使得签名装置104能够生成数字签名。不具有签名密钥的其它装置(即,攻击者106和验证装置108)不应能够生成可成功验证的数字签名。
值得注意的是,在一些实施例中,生成装置102和签名装置104可以包括单个装置,也就是说,同一装置可以生成并使用签名密钥来生成数字签名。类似地,在一些实施例中,生成装置102和验证装置108可以包括单个装置。
可选地,在步骤116,签名装置104可以接收消息m。例如,签名装置104的用户可以使用键盘或其它输入装置输入消息m。作为另一实例,签名装置104可以从将密码操作委托给签名装置104的另一装置接收消息m,例如不能执行计算要求高的密码操作的计算机系统。替代地,签名装置104可以自身生成消息m,并且在步骤116可以不接收消息。消息m可以包括能以电子形式发送的任何数据。因此,数字文件、数字介质(如电影、音频文件等)是消息。
在步骤118,签名装置104可以使用签名密钥生成消息m的数字签名。此数字签名(有时称为sig)可以包括两个向量:质询向量c和签名向量z。下面参考第III章节描述用于生成数字签名的示例性方法。简言之,签名装置104使用消息、公用验证密钥以及均匀随机向量(有时称为“掩蔽向量”)r作为散列函数H的输入,以产生质询向量c。使用质询向量c、私用密钥和随机向量r,签名装置104可以产生签名向量z。数字签名可以包括质询向量c和签名向量z两者。
在步骤120,签名装置104可能经由例如互联网之类的不安全网络向验证装置108发送消息和数字签名。此时,攻击者106可能拦截消息和签名。
在步骤122,攻击者106可能生成欺诈消息并试图生成欺诈性签名。攻击者106可能试图使用消息m、签名(c,z)和公用密钥来破坏签名系统。此外,攻击者106可能访问能够破坏传统密码系统(例如,能够在多项式时间内执行质数分解)的量子计算机。然而,由于签名是基于量子安全的、基于格的密码系统,因此攻击者106生成可正确验证的欺诈数字签名的概率极小。
在步骤124,攻击者106可能将其欺诈消息和试图欺诈的签名发送给验证装置108。如上所述,攻击者106可能产生并发送欺诈消息,以欺骗验证装置108的所有者或操作员。例如,攻击者106可能试图并欺骗验证装置108,以批准向攻击者106拥有的账户的进行欺诈资金转移。
在步骤126,验证装置108可尝试验证消息m和欺诈消息。验证装置108可以使用方法,例如下面参考第IV章节描述的方法,以便验证消息和欺诈消息。简而言之,验证装置108可尝试使用消息、公用验证密钥和数字签名创建其自身的质询向量。如果质询向量匹配包括在数字签名中的质询向量c,则验证装置108验证签名是合法的。
由于攻击者106无法确定随机向量r(用于生成质询向量c和签名向量z)或任何秘密密钥材料,因此攻击者106生成正确质询向量c或正确签名向量z的概率极小。因此,验证装置108将无法复制欺诈质询向量。结果,验证装置108可以标识欺诈消息和欺诈签名是欺诈的。
II.基于格的签名系统
由于量子计算机的出现,人们对具有后量子安全性的数字签名的发展产生了兴趣。一些构建签名方案的方法是基于与格相关的计算困难性假设。常见的假设是容错学习(LWE)问题或短整数解(SIS)问题的难度。这两个问题都与求解格中的最短向量问题有关[Reg09]。
基于格的签名的开始可以追溯到Goldreich等人[GGH97]和NTRU签名方案[HHP+03],其中公用验证密钥和秘密签名密钥是格的“不良”基础和“良好”基础。然而,由于签名泄露了关于秘密“良好”基础的信息,因此破坏了初始方案。通过获得足够多的签名,可以完全恢复秘密的“良好”基础[GS02,NR06]。
Gentry等人[GPV08]提出的陷门机制改变了这种情况。其陷门机制允许其按照全域散列范式安全地生成签名,而不会泄露签名密钥。当依赖于NTRU问题时,这种方法会产生高效的签名。对于(环)-LWE或(环)-SIS而言,这种方法的效果较差,因为它导致了较大的密钥和签名大小。
用于构建数字签名的另一种方法是称为Fiat-Shamir[FS86]的技术。Lyubashevsky[Lyu09]在他的著作“利用中止的Fiat-Shamir技术(Fiat-Shamir withAbort)”中,将这种方法应用于(环)-LWE和(环)-SIS领域。其中一个关键想法是在秘密密钥信息泄露的情况下中止。这种拒绝和重采样过程(即拒绝采样)有助于确保正确性和安全性,并产生了一系列基于(环)-LWE和(环)-SIS的签名方案[Lyu12,GLP12,DDLL13,BG14,DLL+18,KLS18,ABB+19]。
Dilithium[DLL+18]是NIST后量子密码标准化的候选者之一,其遵循“利用中止的Fiat-Shamir技术”方法,但也添加了一些优化,比如对公用密钥应用压缩技术,从而以略微增加签名大小为代价显著减少公用密钥大小。Dilithium还取代了签名生成过程中的高斯采样,使其不受针对此过程的攻击的影响。然而,与所有先前方法类似,签名在很大程度上依赖于拒绝采样。
从更具技术性的角度来看,“利用中止的Fiat-Shamir技术”的想法可以描述如下。由于Bai和Galbraith[BG14]在环设置中的作用,本文给出了Lyubashevsky方案[Lyu12]的简化版本。设A是中的环元素向量。密钥S是从Rq上的类高斯分布中采样的。公用密钥PK由A和Y≈SA组成。
要对消息m进行签名,需要执行以下三个步骤:
1.从Rq上的类高斯分布中采样r,计算w=高位(rA)。
2.计算H(w,pk,m)=c,其中c是Rq中的小环元素。
3.计算z=r+cS∈R,然后检查以下两个条件。如果满足,则输出签名(z,c);如果不满意,则从第一行重新开始。条件(a)是r+cS是否足够小且不泄露秘密S。条件(b)为是否是高位(zA-cY)=w。
如果z足够小且H(w,m)=c,则验证算法接受。为了方案的安全性,z小是很重要的,因为只有这样,破坏方案才会导致求解短整数解(SIS)。但这带来了挑战,即r也需要很小,因此可能无法完全掩蔽敏感项cs。精心定制的拒绝采样解决了这个问题。
所述方案有第二拒绝步骤,即需要保持高位(zA-cY)=高位(rA)。这对正确性很重要,但它在安全性方面也起着作用,因为它可能暴露干扰SA到Y的噪声项。
本公开的实施例对基于格的方案的“利用中止的Fiat-Shamir技术”方法进行了实质性更改。通常,签名需要小,这对方案的安全性很重要。然而,本公开的实施例包括情况并非如此的签名方案。这相比先前的方案有几个优点。本公开的实施例能够在步骤3.(a)中去除拒绝条件。这还允许实施例从均匀分布中采样秘密矩阵S和“掩蔽”项(即,随机向量)r。这有可能使其与掩蔽方案更兼容,以抵抗侧通道攻击,并使用秘密共享技术在不同实体之间分布秘密密钥。实施例还可以是通过学习与噪声的奇偶性来构建签名的步骤,其在二进制域上操作,其中小秘密,即低汉明权重,不能被也具有低汉明权重的另一个小项掩蔽。此外,本公开的实施例更容易在实践中实施和采用。
其中一个关键方面是依赖LWE问题,而不是SIS问题。此外,实施例使用舍入技术。这种舍入技术确保了正确性,并且干扰公用密钥部分的隐藏噪声项保持隐藏。
为了安全性分析,与现有基于FS的格签名方案相比,本公开的实施例可以使用不同的困难问题。具体来说,签名的安全性可以基于(环)-LWE和有界距离解码问题(ABDD)的自适应变量。第VII章节提供了两个参数设置实例。第一个使得ABDD问题为统计困难的,这使得所述方案在量子随机预言模型(QROM)模型中具有严密的安全性证明。另一个使得ABDD问题为计算困难的,这产生了具有较小公用密钥的方案。具体参数在公用密钥和签名大小、拒绝采样率和具体安全性之间提供了不同的权衡。
A.序言
符号和术语。在密码学中,安全性参数(表示为κ)是变量,其用于参数化密码算法或协议的计算复杂性,以及对手破坏安全性的概率。如果算法在κ上的(概率)多项式时间(ppt)内运行,则所述算法是“高效的”。
当从集合S中均匀随机抽取变量v时,其被表示为v←U(S)或≈s和≈c用作统计上接近且计算上无法区分的缩写。
是实数、整数和正整数的集合,用/>表示/>舍入运算定义为将a乘以p/q,并将结果舍入到最接近的整数。对于/>[n]:={1,...,n}。
中的向量(默认情况下以列形式表示)用粗体小写字母表示,例如v。对于向量v,v的第i个分量用vi表示。矩阵用粗体大写字母表示,例如A。A的第i个列向量用ai表示。向量的长度是/>-范数/>或由其最大项||v||:=maxi{|vi|}给出的无穷范数。矩阵的长度是其最长列的范数:||A||p:=maxi||ai||p。默认情况下,除非明确提及,否则使用/>-范数。除非明确提及,否则“小”或“短”向量或矩阵是指其范数,而不是其维数。“小”或“短”的阈值在必要时被精确地参数化。
格与容错学习问题。秩为k≤n的n维格Λ是的离散加法子群。给定k个线性无关的/>由B生成的格为
回顾决策性容错学习(LWE)问题。
定义2.1(决策性容错学习[Reg09])。对于n、和模量q≥2,秘密向量、公用矩阵和误差向量的分布为θ,π,/>通过采样S←θn,A←πn×m,E←χm获得LWE样本,并且输出(A,yt:=stA+Et mod q)。
如果算法将LWE样本与分布为的随机样本区分开来,并且概率大于1/2且不可忽略,则所述算法就可以求解LWEn,m,q,θ,π,χ
引理2.2(最坏情况下基于格问题的LWE难度[Reg09,Pei09,BLP+13,PRS17])。给定对于任何m=poly(n),q≤2poly(n),设/> 其中/>如果存在有效的(可能是量子的)算法来分解LWEn,m,q,θ,π,χ,则对于某一近似因子存在有效的(可能是量子的)算法来以压倒性的概率求解任意n维格上的GapSVPγ和SIVPγ。
数字签名。回顾数字签名方案的语法和安全性定义。
定义2.3(数字签名)。消息空间M的数字签名方案是三组ppt算法(KGen,Sign,Verify),语法如下:
KGen:KGen将1κ作为输入并输出密钥对(pk,sk)。
Sign:Sign将sk、消息m∈M作为输入并输出签名σ。
Verify:Verify将pk、消息m∈M、签名σ作为输入并在σ为消息m的根据pk的有效签名的情况下输出1。否则,其输出0。
有关正确性,对于任何m∈M,我们要求Verify(pk,m,σ)=1,其中(pk,sk)←KGen(1κ),σ←Sign(sk,m)。
定义2.4(选择消息攻击下存在性不可伪造(EUF-CMA)安全性)。如果所有算法A的运行时间最多为t,对签名预言进行最多qs个查询且对随机预言进行最多qH个查询,则签名方案SGN是(t,ε,qS,qH)-EUF-CMA安全的(选择消息攻击下存在性不可伪造的),
其中对于i∈[qS],在第i个查询m上,签名预言Sign(sk,·)对A返回且OH表示对随机预言的查询访问。
B.自适应有界距离解码
本公开的实施例可以基于自适应有界距离解码假设的安全性。对于某些参数的选择,这个问题具有统计难度,在这种情况下,签名构建在QROM模型中得到了严格的安全性证明。通过放宽参数,有可能只接收计算难度。
定义3.1(有界距离解码(BDD))。设q,n,公差集/>维数n和质询集/>的有界距离解码对于任何ppt算法A
均为ε安全的,其中对于i∈[qS],在第i个查询m上,签名预言Sign(sk,·)对A返回且OH表示对随机预言的查询访问。
定义3.2(自适应有界距离解码(ABDD))。设q,n,m,公差集/>维数n和质询集/>的自适应有界距离解码对于任何ppt算法A
均为ε安全的,其中st是算法A的状态。
在这两种方案中,即计算方案和统计参数方案,有界距离解码可以通过简单的倒带变量参数约化为自适应有界距离解码。应注意,在统计设置中,由于每个量子算法都可以由无界算法模拟,因此以下引理也适用于量子算法。
引理3.3。设存有可倒带算法A,其中ε在时间t内对于参数q、n、m、h、质询集Bh(其中两个元素的所有差异都是可逆的)和公差集破坏ABDD的安全性。然后有算法A′,其中ε′在时间t′内对于参数q、n、m和公差集/>破坏BDD的安全性,其中/>t′≤2t且|B2|≤2|B1|。
证明。算法A′接收BBD质询(A,Y)并且需要找到z*,使得y-z*A=E′,其中A对两个质询c1,/>进行采样。其对Y进行采样,使得(c2-c1)Y=y。这是可能的,除非c1=c2,其发生概率最多为1/|Bh|。否则给定c1、c2,Y是均匀分布的。
A′在输入A、Y上调用A以接收响应w*。这是倒带点。A′在c1上按时运行两次A以接收解以及在/>上按时运行两次A以接收/>A′输出/>
根据Jensen不等式,和/>至少在概率ε2下是正确的。在这种情况下,
对于z*,成立。因此,对于集(其中|B2|≤2|B1|),/>
C.数字签名方安概述
在基于FS范式的大多数基于格的签名方案(例如,[BG14,DLL+18])中,拒绝采样会进行两次:1)仅确保计算出的签名不会泄露秘密密钥的分布,但正确性不会受到影响;2)确保方案的正确性以及安全性。本公开的实施例通过从均匀随机分布中采样秘密矩阵S和掩蔽项r来克服第一拒绝采样。第VII章节讨论了当S和r均匀地随机时(环)LWE问题仍然困难的情况下的参数选择。然而,为了确保正确性,在一些实施例中可以使用类似的拒绝采样步骤。这种拒绝采样意味着正确性,其通过允许在不知道秘密密钥的情况下经由对随机预言进行编程来对消息进行签名,因而也有助于证明方案的安全性。
密钥生成算法可以从均匀分布中采样秘密矩阵S,且从有界分布D中采样误差E。要对消息m∈M进行签名,实施例可以首先从均匀随机分布中采样一次性掩蔽项r并计算如果/>可以重新开始此过程。集Good(例如,预定间隔集)由参数β参数化,所述参数由噪声项cE的范数确定。更准确地说,β:=||cE||。集Good是针对间隔集中的每一个位置i∈[m]。间隔的量可以由舍入函数/>产生的舍入边界的量来确定。可以有p个舍入边界位于/>中的q/p的p倍处。在每个舍入边界周围,长度间隔[-β,β]视为是不良的。所有剩余的间隔都可以定义集Good。更准确地说,举例而言,
可以定制Good的定义,使得签名生成中的拒绝采样确保 ,即,两个值rA和zA-cY在/>中舍入为相同值。因此,由Sign生成的签名以压倒性的概率进行验证。不同于其中z的范数是有界的先前基于FS的签名方案(例如,[BG14,DLL+18]),在实施例中,z的范数可以是无界的,并且验证不需要检查z的范数。
D.容错学习(LWE)
图2示出根据本公开的实施例的涉及公用密钥(A,Y)和私用密钥(S,E)的数字签名的LWE问题。据推测,LWE问题很难解。因此,根据本公开的一些实施例,LWE问题可以用作用于实施数字签名的密码系统的基础。LWE问题已被证明与包括例如非齐次短整数解(ISIS)问题在内的几个最坏情况下的格问题一样难解。ISIS问题涉及在n维点格中寻找最短向量,满足关系A·x=y mod q。在此实例中,向量y可以是消息或消息的散列,并且向量x可以是与消息相关联的签名。
图2图解地描绘了与公用密钥(A,Y)和私用密钥(S,E)的元素相关的公式。此关系使得使用私用密钥(S,E)生成的数字签名(见第III章节)能使用公用密钥(A,Y)进行验证(见第IV章节)。此外,图2列出了LWE问题的“搜索”和“决策”版本。当参数q为素数时,搜索和决策问题是等同的。
III.使用均匀分布的基于格的签名
如上所述,本公开的实施例可以使用均匀分布来生成密码材料。这可以包括使用均匀分布来生成用作密码密钥的矩阵(包括验证矩阵A和秘密矩阵S),以及用于生成数字签名的随机向量r。从均匀随机分布生成这些矩阵和向量消除了签名向量z(见第III章节)泄露有关秘密向量S的任何信息的可能性,从而确保了私用密钥的安全性。因此,在签名生成期间,使用均匀分布可能只需要一次拒绝检查,而不像某些其它技术那样需要两次拒绝步骤。
图3示出密钥生成、签名验证和签名验证的三个过程。框300对应于用于生成公用密钥PK(由于构成公用密钥的两个矩阵,也称为(A,Y))和私用密钥SK(由于构成私用密钥的两个矩阵,也称为(S,E))的密码密钥生成过程。框310示出用于使用公用密钥(A,Y)和秘密密钥(S,E)生成有关消息μ的数字签名的过程。框320示出验证数字签名的过程。在这些过程中,秘密矩阵S和随机向量r是从均匀随机分布而不是高斯分布中采样的。在一些实施例中,使用环从均匀分布中采样S。
如上所述,框300示出用于生成公用密钥(PK或(A,Y))和私用密钥(SK或(S,E))的方法。在步骤301,通过从由模量q定界的均匀分布中进行采样来生成验证矩阵A,使得随机采样值在范围[0,q-1]内,并且A具有维数n和m。在步骤302,从均匀分布生成秘密矩阵S,并且所述秘密矩阵具有维数h和n,其中h小于或等于n。从不均匀分布D(例如,高斯分布或另一峰值分布,例如拉普拉斯分布)生成误差矩阵E,并且所述误差矩阵具有维数h和m。在步骤303,使用秘密矩阵S、验证矩阵A、误差矩阵E和模量q生成公用矩阵Y。在步骤304,生成公用密钥并且所述公用密钥包括验证矩阵A和公用矩阵Y。同样生成私用密钥并且所述私用密钥包括秘密矩阵S和误差矩阵E。第II章节中将更详细地描述密码密钥生成。
框310示出用于使用公用密钥(A,Y)和秘密密钥(S,E)生成有关消息μ的数字签名的操作。在步骤311,从均匀分布中采样随机向量r。在步骤312,使用对消息μ进行操作的散列函数H来确定质询向量c,舍入的乘积向量(如括号所指示)对模量q进行模量化。舍入值可以丢弃指定数量的最低有效位。在步骤313,使用公式rA-cE生成验证向量v。使用验证向量v,确定是否拒绝当前公式。因此,步骤313视为拒绝步骤。拒绝步骤可以确保正确性和安全性。拒绝步骤可以确保舍入的乘积向量/>与舍入的值rA-cE相同。如果这两个向量不相同,则可以在步骤311重新开始所述方法,即,生成新的随机向量r、生成新的质询向量c等。在步骤314,使用公式z=r+cS生成签名向量z。数字签名可以包括质询向量c和签名向量z。可以将数字签名和消息μ发送给接收装置(也称为验证装置)。下面将更详细地描述数字签名生成。
框320示出用于数字签名验证的操作。验证装置可以存储包括验证矩阵A和公用矩阵Y的公用密钥。在步骤321,使用公式v′=zA-cY确定验证向量v′,所述公式组合了公用密钥和签名的元素。通过丢弃指定数量的最低有效位来确定舍入的验证向量w。在步骤322,生成与消息μ和舍入的验证向量w相对应的散列值,并将所述散列值与质询向量c进行比较。理想情况下,结果应等于质询向量c,因为根据步骤313,v'=zA-cY=(r+cS)A-cY=rA+cSA-cY=rA-c(Y-SA)=rA-cE,其在舍入时等于rA。下面将更详细地描述数字签名验证。
优点包括在签名期间不从特殊分布(例如,有界分布)中采样。实施例还可以在签名期间仅使用一个拒绝采样(一个检查点)。签名验证中可能不需要签名范数检查。此外,安全性依赖于LWE的内射性,并且可能不需要在证明中使用分叉引理。因此,实施例可以实现量子随机预言模型(QROM)中的安全性,并且可以实现更好的参数(例如,生成数字签名的预期重复次数更少、密钥大小更小等)。下表3提供了一些实例参数。
IV.数字签名方案
更详细地描述图3中的实例签名方案。
A.密码密钥生成
图4示出与根据一些实施例的生成密码密钥的示例性方法相对应的流程图。这些密码密钥包括公用验证密钥和私用签名密钥。签名密钥可用于生成数字签名,并且验证密钥可用于验证数字签名。这些密码密钥包括成对矩阵,每个矩阵包括从随机分布中采样的元素。这些随机分布可以包括均匀随机分布和不均匀随机分布。在一些实施例中,不均匀分布可包括高斯分布或另一峰值分布,例如拉普拉斯分布或双曲线分布。图4的方法可以由生成装置执行,例如来自图1的生成装置102。
在步骤402,生成装置可以生成包括第一多个元素的验证矩阵A,所述第一多个元素是从均匀分布中采样的。验证矩阵A可以包括公用验证密钥的一部分,并且稍后可以由验证装置用于验证数字签名。均匀分布可由模量q定界,使得第一多个元素中的每个元素小于或等于模量q。在一些实施例中,从均匀分布中随机采样产生范围[0,q-1]内的整数值,即,第一多个元素中的每个元素和第二多个元素中的每个元素是大于或等于0且小于或等于q-1的整数。出于安全性原因,更大的q值(例如,大于1,000,000)可能更优选。甚至更大的q值(例如,大于2^20)可能更优选。已使用q值223、227、229、231和245进行了性能测试(总结见下文第VII章节)。均匀分布可以实施为多项式环。
验证矩阵A可以包括n行和m列,总共n×m个元素。虽然本公开的实施例可以使用不同的n和m值来实施,但可能优选的是m大于n。如下文第VII章节所总结的,m可能约为n的2到4倍。因此,矩阵A可以包括“宽”矩阵,其列数是行数的2到4倍。
为了生成验证矩阵A,生成装置可以从均匀分布中随机采样总共n×m次,将采样值中的每一个分配给验证矩阵A中的第一多个元素中的元素。作为实例,生成装置可以顺序地(例如,逐行或逐列地)、随机地(例如,通过将采样值分配给矩阵中的随机未分配元素)或使用任何其它适当的分配方法来实现这一点。
在步骤404,生成装置可以生成包括第二多个元素的秘密矩阵S。可以从均匀分布(即,用于生成验证矩阵A的相同均匀分布)中采样第二多个元素。至于验证矩阵A,均匀分布可以由模量q定界,使得第二多个元素中的每个元素小于或等于模量q。对于总共h×n个元素,秘密矩阵S可以包括h行和n列。在一些实施例中,h小于或等于n。秘密矩阵S可以包括私用签名密钥的一部分,所述私用签名密钥稍后由签名装置用于生成数字签名。
秘密矩阵S可以用与验证矩阵A基本相同的方式生成,即,通过重复且随机地对均匀分布进行采样直到分配了秘密矩阵S的所有元素。在其它基于格的签名系统中,秘密矩阵S可以从高斯分布(即,不均匀分布)中采样。在数字签名生成过程期间,从均匀分布而不是高斯分布中采样提供了优势,因为它消除了对签名向量z进行安全性检查的需要(参见小节B)。
在步骤406,生成装置可以从不均匀分布生成误差矩阵E。在一些实施例中,不均匀分布包括高斯分布。不均匀分布还可以包括另一个分布,例如拉普拉斯分布或双曲线分布。误差矩阵E可以包括h行和m列,总共h×m个元素。误差矩阵E和秘密矩阵S包括私用签名密钥,并且可以稍后由签名装置在数字签名生成过程期间使用。误差矩阵E可以通过重复对不均匀分布进行采样直到分配了误差矩阵E的所有元素来生成。与均匀分布不同,不均匀分布不由模量q定界。
在步骤408,生成装置可以基于验证矩阵A、秘密矩阵S、误差矩阵E和模量q的组合来生成公用矩阵Y。在一些实施例中,通过公式Y=SA+Emod q确定公用矩阵Y。公用矩阵Y可以包括与误差矩阵E类似的h×m矩阵。公用矩阵Y连同验证矩阵A可以包括公用验证密钥。从公用密钥(A,Y)中确定S或E等同于“容错学习”搜索问题,这是即使对于足够功能强大的量子计算机也是计算困难的问题。因此,即使攻击者了解公用密钥(A,Y),攻击者也无法确定私用密钥(S,E)的任何一部分。
在步骤410,生成装置可以生成包括验证矩阵A和公用矩阵Y的公用密钥。生成装置可以通过创建包括这两个矩阵的数据包或其它合适的数据结构来实现这一点。类似地,在步骤412,生成装置可以生成包括秘密矩阵S和误差矩阵E的私用密钥。
在步骤414,生成装置可以通过使公用验证密钥(A,Y)对包括签名装置、验证装置和网络上的任何其它装置(例如与攻击者相关联的装置)的网络(例如,例如互联网的网络)上的所有装置自由可用来发布所述公用验证密钥。替代地,生成装置可以例如通过将公用密钥直接发送给验证装置和签名装置而用更有限的方式分布公用密钥。
在步骤416,生成装置可以使用安全传输协议将私用密钥(S,E)发送给签名装置。例如,生成装置和签名装置可以执行密钥交换(例如后量子安全密钥交换),然后生成装置可以加密私用密钥并将加密的私用密钥发送给签名装置,使得签名装置可以解密加密的私用密钥。在一些实施例中,生成装置可以是网络中的唯一签名装置,因此,将私用密钥发送给其它签名装置是可选步骤。
B.数字签名生成
图5示出根据本公开的一些实施例的用于生成数字签名的方法。图5的方法可以由签名装置(例如来自图1的签名装置104)执行。签名装置具有由生成装置(例如来自图1的生成装置102)生成的私用签名密钥,并使用所述私用签名密钥连同公用验证密钥来生成数字签名。在一些实施例中,生成装置和签名装置可以包括单个装置,例如,单个计算机系统。在这些实施例中,计算机系统既可以生成密码密钥,也可以使用密码密钥生成消息m的数字签名。
在步骤502,签名装置可以通过从均匀分布中采样来生成随机向量r。此均匀分布可以是用于生成密码密钥的相同均匀分布(例如,如上文所描述),并且可以由相同模量q定界。随机向量r可以包括1×n向量,并且可以通过重复且随机地对均匀分布进行n次采样来生成。
在步骤504,签名装置可以通过计算随机向量r和验证矩阵A的乘积来生成乘积向量rA。签名装置可以使用矩阵乘法来实现这一点,并且所得的第一乘积向量rA可以包括1×m向量。
在步骤506,签名装置可以通过从乘积向量rA的每个元素中丢弃一个或多个最低有效位来生成舍入的乘积向量。舍入乘积向量rA提高了验证装置能够复制质询向量c并成功验证数字签名的概率,舍入乘积向量rA也有助于模糊随机向量r的值。/>
在步骤508,签名装置可以通过对舍入的乘积向量的每个元素应用模运算符来计算中间向量/>mod q。这确保了中间向量的每个元素都在模量q定义的范围内。
在步骤510,签名装置可以通过散列消息m和中间向量mod q来生成质询向量c(即,c=H(m,/>mod q))。在签名验证期间(见第IV章节),验证装置可以尝试使用相同的消息和相同的散列函数H来生成另一个质询向量。如果散列函数H是抗冲突的,则装置在不成功复制中间向量或等于中间向量的向量的情况下复制质询向量c的概率极小。
在步骤512,签名装置可以基于第一乘积向量rA、质询向量c和误差矩阵E来计算验证向量v。在一些实施例中,使用公式v=rA-cE来计算验证向量v。验证向量v随后可用于步骤514的正确性检查。有效地,这种检查确定验证装置是否能够在签名验证期间复制质询向量。
在步骤514,签名装置可以验证验证向量v的多个元素是否在预定间隔的值内(例如,如上所述的Good值)。可以基于参数β(也称为有界参数)来确定预定间隔的值。参数β可以基于“噪声项”,即向量乘积cE,使得参数β以指定概率大于或等于质询向量c和误差矩阵E的乘积的无穷范数。在一个实施例中,指定概率包括大于99.99%的概率。在另一实施例中,指定概率包括大于1-2-128%的概率。指定概率和参数β会影响密码系统的安全性,以及成功生成签名的概率。预定间隔可由以下表达式给出: 其中p是由舍入函数(例如,在步骤506中应用)引起的舍入边界数目。
有效地,预定间隔的值确保生成的签名可以被成功验证。如果验证向量v的多个元素在预定间隔的值内,则在签名验证期间生成的舍入的验证向量(参见第IV章节)可能等于舍入的乘积向量/>。结果,验证装置可以复制质询向量c并验证数字签名。如果值不在预定间隔内,则两个向量/>和/>将是不相等的;并且验证装置将无法复制质询向量c,且因此无法验证数字签名。如果验证向量v的元素不在预定间隔的值内,则签名装置可以返回到步骤502并生成新的随机向量r。如果验证向量的元素在预定间隔的值内,则方法前进到步骤516。可以重复步骤502到514,直到验证向量v的多个元素在预定间隔的值内。
在一些实施例中,签名装置可以通过首先确定验证向量v的多个最低有效位(例如,与验证向量v的每个元素相对应的最低有效位)来验证验证向量v的多个元素是否在预定间隔的值内。随后,签名装置可以计算多个最低有效位的无穷范数,然后验证所述无穷范数是否在预定间隔的值内:其中GOOD1包括预定间隔的值,且/>是验证向量v的λ个最低有效位。通常,一个数目的最低有效数字或位会影响所述数字的舍入。因此,评估验证向量v的最低有效位可以是确定在签名验证期间是否可以验证数字签名的有效方法。
在步骤516,在验证验证向量v之后,签名装置可以生成签名向量z。在一些实施例中,根据公式z=r+cS生成签名向量。也就是说,签名向量z等于随机向量r与质询向量c和秘密矩阵S(私用签名密钥的一个分量)的乘积之和。值得注意的是,因为秘密矩阵S和随机向量r是从相同的随机分布中采样的,所以签名向量z不会泄露关于秘密矩阵S的任何信息。这与其中随机向量r和秘密矩阵S是从高斯分布中采样的一些其它基于格的签名方案不同。在这些其它方案中,签名向量z可能会泄露关于(秘密)秘密矩阵S的信息,这对签名系统带来安全性风险。因此,一些其它系统随后对签名向量z执行拒绝测试,类似于步骤314。如果签名向量z未通过测试(即,泄漏关于秘密矩阵S的信息),则生成新的随机向量r,并重复数字签名过程。然而,在本公开的实施例中,因为r和S是从相同的分布中采样的,所以z不会泄漏关于S的任何信息。因此,无需其它方案中使用的拒绝测试。
这将提高数字签名生成的速度。拒绝测试次数的减少自然会减少产生有效数字签名所需的平均重复次数。在一些其它系统中,可能需要多达10次尝试才能产生有效签名。在本公开的实施例中,如第VII章节所总结的,最坏情况下的预期重复次数为6.72次,而最佳情况下的预期重复次数为1.52次,这两种情况都小于常规系统中的预期10次重复。
在一些实施例中,数字签名包括质询向量c和签名向量z两者。在步骤518,签名装置可以将数字签名(c,z)和消息m发送给验证装置。随后,验证装置可以评估消息m并验证数字签名(c,z)。
C.数字签名验证
图6示出根据本公开的一些实施例的验证数字签名的方法。
在步骤602,验证装置可以存储包括验证矩阵A和公用矩阵Y的公用密钥。验证装置可以首先从生成装置(例如来自图1的生成装置102)接收公用密钥。替代地,验证装置可以从一些可公开访问的来源(例如配置成托管公用密钥的远程服务器计算机)检取公用密钥。
在步骤604,验证装置可以从签名装置接收消息m以及包括签名向量z和第一质询向量c的数字签名。消息m可以包括可以用数字方式发送的任何数据。具体地,消息m可以包括需要验证数据来源(即,签名装置)的数据。例如,消息m可以包括指示验证装置与用户装置或用户之间的交互(例如,交易)的授权状态的授权响应消息。验证装置或其操作员可能希望验证消息m是否来自合法的授权计算机,以便验证交易是否已被实际授权。验证装置可以使用消息m、签名向量z和第一质询向量c来执行签名验证。
在步骤606,验证装置可以基于验证矩阵A(从公用密钥检取)、公用矩阵Y(也从公用密钥检取)、签名向量z和第一质询向量c生成第一验证向量v′。在一些实施例中,验证装置可以基于公式v′=zA-cY生成第一验证向量v′。假设z=r+cS且Y=SA+E,则v=(r+cS)A-c(SA+E)=rA-cE。因此,由验证装置生成的第一验证向量v′可以等于由签名装置在数字签名生成期间生成的验证向量v。
在步骤608,验证装置可以通过从验证向量v′丢弃一个或多个最低有效位来生成舍入的验证向量w,类似于生成装置在签名验证期间生成舍入的乘积向量的方式(参见图5的步骤506)。如果签名有效,且验证向量v在签名生成期间通过了拒绝测试(参见图5的步骤512),则舍入的验证向量w应等于舍入的乘积向量/>
在步骤610,验证装置可以通过散列消息m和舍入的验证向量w来生成第二质询向量H(m,w),类似于生成装置用于生成质询向量c的方法。如果在签名生成和签名验证期间使用相同的散列函数H,并且如果舍入的验证向量w等同于舍入的乘积向量,第二质询向量H(m,w)应等于数字签名中包括的质询向量c。
在步骤612,验证装置可以将第一质询向量c与第二质询向量进行比较。验证装置可以通过将第一质询向量c的每个元素与第二质询向量的对应元素进行比较来执行此比较。在步骤614,验证装置可以确定质询向量是否匹配,即,第二质询向量的每个元素是否等于第一质询向量c的对应元素。
在步骤616,验证装置可以响应于第一质询向量c匹配第二质询向量来验证发送装置。替代地,如果质询向量不匹配,则在步骤618,验证装置可以确定发送装置、消息m或签名(c,z)或其任何组合是不合法的。
V.示例性应用
图7示出本公开中描述的方法和系统的示例性应用的系统框图。在图7中,用户装置708的用户710希望从操作资源提供商计算机702的资源提供商获取资源。这可以包括,例如,用户710使用用户装置708经由资源提供商计算机702从资源提供商购买商品或服务。例如,资源提供商计算机702可以包括与电子商务零售商相关联的web服务器,或者与数字流媒体服务相关联的web服务器。用户装置708可以包括个人计算机、平板电脑、PDA、智能手机等,用户710使用这些设备与资源提供商计算机702对接(例如,经由web浏览器)。
在步骤712,在选择用户710想要获取的资源(例如,用户想要购买的商品或服务)之后,用户装置708可以向资源提供商计算机702提供支付凭证(例如支付账号(PAN)),以及任何其它相关信息(例如,信用卡到期日期、验证值(CVV或CVV2)、邮政编码、账单地址等)。支付凭证可以与与用户710相关联的支付账户相关联,所述支付账户例如是支票账户或信用额度。此账户或信用额度可由发行银行(例如,发行与支付账号相关联的信用卡或借记卡的银行)管理或提供。发行银行可授权使用支付账号进行的交易,并可为此目的操作授权计算机706。
在步骤714,资源提供商计算机702可以生成包括支付凭证和任何其它相关信息(例如,如上文所描述)的授权请求消息。授权请求消息可以指示资源提供商计算机702希望资源提供商与用户710之间的交易被授权,使得资源提供商计算机702能够完成交易。资源提供商计算机702可以将授权请求消息发送给交互处理网络704。此交互处理网络704可包括支付处理网络,所述支付处理网络可包括用于支持和交付授权服务、例外文件服务以及清算和结算服务的数据处理子系统、网络和操作。示例性支付处理网络可以包括VisaNetTM。包括VisaNetTM在内的网络能够处理信用卡交易、借记卡交易和其它类型的商业交易。VisaNetTM尤其包括处理授权请求的集成支付系统以及执行清算和结算服务的Base II系统。交互处理网络704可以评估授权请求消息并标识与授权请求消息相关联的发行银行(和授权计算机706),然后将授权请求消息路由到授权计算机706。
在步骤716,交互处理网络704可以将授权请求消息发送给授权计算机706。随后,在步骤718,授权计算机706可以评估授权请求消息。此评估可包括评估授权请求消息中包括的信息。例如,授权计算机706可以评估支付凭证以标识与支付凭证相关联的账户。另外,授权计算机706可以评估授权请求消息,以标识支付凭证是否正在被欺诈地使用(例如,从用户710被盗)。例如,授权计算机706可以评估授权请求消息的地理来源,并将其与先前的授权请求消息进行比较,以确定用户710是否表现出不寻常的购买模式。在评估授权请求消息之后,在步骤720,授权计算机706可以生成授权响应消息,并经由交互处理网络704将授权响应消息发送给资源提供商计算机702。
授权响应消息可指示资源提供商计算机702与用户装置708或用户710之间的交互的授权状态(即,交互是否已被授权)。此外,授权响应消息可以包括与授权计算机706相对应的数字签名。数字签名可以使用本公开中描述的基于格的方法(例如,如参考图5所描述)生成,并且可以由资源提供商计算机702用于验证授权响应消息是否由合法授权计算机706生成。在不使用数字签名方案的情况下,欺诈者可能设想生成伪造的授权响应消息,以说服资源提供商完成未经授权的交易。
在步骤722,交互处理网络704可以将授权响应消息转发到资源提供商计算机702。随后,资源提供商计算机724可以评估授权响应消息。例如,这可能包括确定交易是已被批准还是已被拒绝。另外,交互处理网络704可以使用本公开中描述的方法(例如,如参考图6所描述)来验证授权响应消息中包括的数字签名。此验证过程使得资源提供商计算机702能够确定授权资源消息是否实际上是由授权计算机706而不是欺诈者生成。资源提供商计算机702可以使用与授权计算机706相关联的公用密钥来执行验证过程。
随后,在步骤726,资源提供商计算机702可以经由例如用户装置708向用户710提供期望的商品或服务。例如,资源提供商计算机702可以向用户装置708发送文件(例如数字音乐文件)。稍后,可以在与授权计算机相关联的发行银行和与资源提供商相关联的收单银行之间完成清算和结算过程。
VI.安全性分析
在下面的定理4.1中,我们证明了我们的签名方案是随机预言模型(ROM)中的EU-CMA(选择消息攻击下存在性不可伪造)。
定理4.1。设LWE是(tLWE,εLWE)-安全的,ABDD是(tABDD,εABDD)-安全的,并且。然后,根据实施例(例如,表1)的数字签名方案在可编程随机预言模型中是(tA,εA,qS,qH)-安全的,其中tA≈tLWE+tABDD,εA≤εLWE+qHεABDD+qH2ξ,且qH≥qS
证明。在高层级,这在两个混合方案中得到证明。在第一混合方案期间,使用了随机预言在不知道秘密密钥的情况下响应签名查询的可编程性。在不知道秘密密钥的情况下模拟签名的这一步骤依赖于拒绝采样条件。
表1:实例签名方案
在第二混合方案期间,用均匀随机性替换根据实施例的签名方案的公用密钥。在此混合方案中,没有允许对消息进行签名的秘密密钥。此外,如果对手不能对随机预言进行编程,则对手伪造签名是不可行的。
以下定义了这两种混合方案,并表明:1)通过统计变量参数,模拟签名同等地分布到由签名算法创建的签名,可以访问密码密钥,即在EUF-CMA博弈和混合方案1中,每种算法都具有相同的优势。2)在混合方案1和混合方案2中,没有任何算法具有不同的优势,除非它暗示打破了LWE假设。3)在混合方案2中,没有任何算法可以伪造签名,除非它暗示打破了ABDD假设。
总之,这证明了定理陈述。混合方案和EUF-CMA博弈的详细描述如表2所示。
表2:证明定理4.1的EUF-CMA安全性博弈和混合方案
正式变量参数首先表明,任何在EUF-CMA博弈中成功的对手在混合方案1中也是成功的。
引理4.2。假设有算法(t,ε,qS,qH)-破坏EUF-CMA安全性。然后,还有算法(t′,ε′,qS′,qH′)-在混合方案1中伪造签名,其中t′≈t,ε′=ε-qHqn,q′s=qs且q′H=qH
证明。EUF-CMA博弈和混合方案1之间的差异在于如何回答签名查询。在EUF-CMA博弈中,首先采样计算/>,如果/>则拒绝,然后计算z=r+cs。在混合方案1中,首先采样/>如果则拒绝,并且最终将点(/>,(A,Y),m)上的随机预言H编程为等于c,然后显示签名(z,c)具有相同的分布。
在EUF-CMA博弈中,rA-cE=zA-cY,因此两个博弈中的拒绝条件是相同的。根据正确性同样要求的Good的定义,成立。
接下来,假设没有在点(,(A,Y),m)上定义随机预言。除非对手已经在这一点上查询了随机预言(这需要对手正确地猜测rA),否则就是如此。由于最小熵/>给出A至少为ξ,则对手进行此查询的概率最多为qH2ξ。如果情况并非如此,则在EUF-CMA博弈和混合方案1中,c一致地以/>为条件。具体地,在混合方案1中,对随机预言进行编程(即,/>)与EUF-CMA博弈相比会改变c的分布。
剩下的表示z具有相同的分布。在博弈EUF-CMA中,z=r+cs,其中在混合方案1中,/>在混合方案1中,定义r=z-cs。因此,在EUF-CMA中,r是均匀的,且z由r、s和c决定,这总结了此引理的证明。
引理4.3。假设有算法(t,ε,qS,qH)-在混合方案1中伪造签名并且LWE为(tLWE,εLWE)-安全的。然后,还有算法(t′,ε′,qS′,qH′)-在混合方案2中伪造签名,其中t′≈t+tLWE,ε′≥ε-εLWE,q′s=qs且q′H=qH
证明。引理由LWE的约化而来。混合方案1与混合方案2之间的差异在于公用密钥(A,Y)的分布。在混合方案1中,其是LWE分布的,而在混合方案2中是均匀的。如果有算法使得在混合方案1中ε伪造且在混合方案2中ε′伪造,则LWE可以区分具有优势|ε-ε′|的均匀,即εLWE≥|ε-ε′|。
引理4.4。假设有算法(t,ε,qS,qH)-在混合方案2中伪造签名。然后,还有算法(tABDD,εABDD)-对ABDD求解,其中,
证明。通过在混合方案2中嵌入ABDD质询来证明这个引理,使得如果算法伪造成功,它就求解了ABDD问题。在混合方案2中使用ABDD质询A、Y作为公用密钥。猜测点(w,(A,y),m*)的随机预言查询,从ABDD质询者处请求查询w*=w的质询字符串c。通过设置H(w,(A,y),m*)=c对随机预言进行编程。概率为时,伪造将针对此c和消息m*。然后,有效签名(z,c)包括有效ABDD解z。
对于定理4.1的适用性,应证明。从技术上讲,这足以表明任何高效的对手针对A都难以计算/>。这就足够了,因为高效的对手只需要很难猜出随机预言将被编程的点即可。在此使用计算难解性会过于悲观。
相反,使用了类似于Bai和Galbraith[BG14,引理3]使用高斯启发式的方法。在这种情况下,有可能利用r是均匀随机选择的。
引理4.5。对于任何与可逆的A′∈Rq
其中
证明。由于A′是可逆的,
舍入函数会使得丢失log(q-B1),n个条目中每个条目的熵。
VII.参数
本章节提供根据本公开的一些实施例在两种设置下与数字签名相对应的具体参数。在第一设置中,参数的设置使得自适应有界距离解码问题(ABDD,参见定义3.2)在高斯启发式下即使对于计算上无界的对手也是困难的。此设置中的公用密钥是有损的,使得所述方案在根据[KLS18]的量子随机预言模型中具有严格的安全性证明。在第二设置中,参数的设置使得ABDD问题是计算困难的。此设置使得数字签名方案具有更小的公用密钥和更少的重复次数。
A.有损模式的参数估计
本小节首先讨论了假设在上定义数字签名方案的有损模式的公式,然后讨论了假设数字签名方案在/>(其中d是2的幂)上的模量上实例化的具体参数估计。
有损模式的公式。设q为较大模量,p为舍入后的较小模量。设h,n, 是维数,其中h≤n。设B表示质询向量c的每个条目的空间,即c∈B1×h。设B1表示舍入误差的每个条目的空间,其中/>
定理5.1。假设高斯启发式,如果qn-m|B1|m是可忽略的函数,那么除了可忽略的许多和/>以下陈述成立。对所有/> 使得zA-cY=v+E′(mod q)]≤negl(κ)
参数 1 2 3 4 5 6
log2q 23 45 31 27 27 29
d 256 512 256 1024 1024 512
l 3 4 4 1 1 3
k 14 8 12 3 4 9
n=d*l 768 2048 1024 1024 1024 1536
m=d*k 3586 4096 3072 3072 4096 4608
η(=||E||) 6 7 7 3 6 3
w=#1′s in c 60 46 60 36 36 46
log2(|B1|) 18 20 20 18 20 19
β 325 322 375 108 216 138
预期重复次数 85.3 3.51 3.00 3.54 2.33 3.36
LWE安全性 122.8 165.1 120.0 127.6 138.1 182.5
公用密钥大小(字节) 10336 23072 11936 10400 13856 16736
签名大小(字节) 2247 11589 4007.5 3588.5 3588.5 5765.8
表3:有损模式下根据实施例的数字签名方案的参数。参数集1和2根据[DKL+18]和[KLS18]中选择的q、d、l、η、w、β,然后倒数m、预期重复次数、LWE困难度等。参数集3到6使用不同的参数。参数集5和6的设计可与qTESLA-p-I&qTESLA-p-III[ABB+19]以及[KLS18]中的“推荐”和“非常高”的Dilithium-QROM的安全级别相当。
证据。首先注意,m大于n。否则,如果m=n且A是可逆的,则对于任何c∈B1×h都存在z。
为了理解小m,考虑以下格:
Λ的行列式是qm。定义集其是/>的凸子集。如果我们假设高斯启发式,那么对于任何/>修正向量使得[AT|YT|Im]·t=v(mod q),Λ+t∩S中的元素数预期为N:=qn·|B|h·|B1|m/qm
因此,如果N/|B|h可忽略不计,即qn·|B1|m/qm可忽略不计,则定理中的概率陈述成立。
具体参数。假设根据实施例的数字签名方案在上的模块上实例化,其中d是2的幂。设A∈Rl×k,(因此n=d·l,m=d·k,h=d)。按以下顺序确定参数:首先选择q,d,l,|B1|。然后选择m,这样:
根据[DKL+18,第27页],我们选择β,使得||cE||>β的概率小于2-128。这里的β要么与[DKL+18]中的β匹配,要么β选择为w·η,其中w是c的权重。
概率rA-cE∈Good的下限为
目前,参数估计不包括[DKL+18,第27页]中的公用密钥大小优化(即,通过从Y中删除位)。因此,PK包括256位种子以生成大小为m log2 q的A和Y。签名大小为n log2 q加上d+w位以存储质询c。
B.基于ABDD问题的参数估计
可以进一步减小参数m,即公用密钥的宽度,以减少公用密钥大小和拒绝次数,节省的成本是额外假设ABDD问题的难度。本小节首先解释使用BKZ算法估计ABDD问题的成本的模型,然后解释根据实施例的数字签名方案的参数。
估计使用BKZ求解ABDD问题的成本。求解ABDD的一种方法是将整个w+cY作为标准有界距离解码问题(参见定义3.1)的目标向量,然后使用BKZ求解BDD问题。
t=ATz+E(mod q)是此类BDD实例。为了表示攻击中使用的整数格的基础,BDD实例以其Hermite范式呈现。设/>为A的第一n×n部分,假设其是可逆的,则
其中k′是k的顶部n和底部m-n条目。
设/>则/>
因此可以通过在给定基础B和目标t的情况下运行近似CVP解算器或者在上运行近似-SVP解算器来求解问题。
估计BKZ运行时间以求解近似SVP的常见成本模型如下:设h为格的维数(h(B′)=m+1)。δ是近似因子。根据[APS15,ACD+18],使用筛选用作SVP预言,在块大小θ中时间复杂度为20.292θ+16.4。对于维数h的格,BKZ预计将返回长度为δhdet1/h的向量。因此,找到了实现与E的长度相对应的所需δ的最小块大小θ,其可从获得。
最后,使用启发式确定θ和δ之间的关系,并且块大小为θ、维数为h的BKZ的总时间复杂度为8h·time(SVP)=8h·20.292θ+16.4[Chel3,APS15]。
表4:根据实施例的假设ABDD难度的数字签名方法的参数。参数集1和2根据[DKL+18]和[KLS18]中选择的q、d、l、η、w、β,然后根据使用BKZ求解ABDD问题的难度推导出m、δ、θ、预期重复次数、ABDD和LWE难度。
具体参数。按以下顺序确定参数:首先选择q、d、l、|B1|,然后根据使用BKZ求解ABDD问题的难度推导出m、δ、θ、预期重复次数、ABDD和LWE难度。
VIII.计算机系统
本文中提及的任何计算机系统都可利用任何合适数目的子系统。图8中示出计算机系统800中的此类子系统的实例。在一些实施例中,计算机系统包括单一计算机设备,其中子系统可以是计算机设备的组件。在其它实施例中,计算机系统可以包括具有内部组件的多个计算机设备,每个计算机设备是子系统。计算机系统可以包括台式计算机和笔记本电脑、平板计算机、手机和其它移动装置。
图8中示出的子系统通过系统总线812互连。示出了例如打印机808、键盘818、存储装置820、耦合到显示适配器814的监视器824(例如,显示屏,例如LED)等等的额外子系统。耦合到输入/输出(I/O)控制器802的外围装置和I/O装置可以通过本领域中已知的各种构件连接到计算机系统,所述构件例如是输入/输出(I/O)端口816(例如USB、)。例如,I/O端口816或外部接口822(例如以太网、Wi-Fi等)可用于将计算机系统800连接到例如互联网的广域网、鼠标输入装置或扫描仪。经由系统总线812的互连允许中央处理器806与每个子系统连通且控制来自系统存储器804或存储装置820(例如固定磁盘,如硬盘驱动器或光盘)的多个指令的执行,以及子系统之间的信息交换。系统存储器804和/或存储装置820可体现计算机可读介质。另一子系统是数据收集装置810,例如照相机、麦克风、加速度计等等。在本文中提及的任何数据可从一个组件输出到另一组件并且可输出到用户。
计算机系统可以包括多个相同组件或子系统,所述组件或子系统例如通过外部接口822、通过内部接口或经由可装卸式存储装置连接在一起,所述可装卸式存储装置可以从一个组件连接和移除到另一组件。在一些实施例中,计算机系统、子系统或设备可通过网络通信。在此类情况下,一个计算机可以被视为客户端且另一个计算机被视为服务器,其中每台计算机都可以是同一计算机系统的一部分。客户端和服务器可各自包括多个系统、子系统或组件。
实施例的各个方面可以使用硬件电路(例如,专用集成电路或现场可编程门阵列)和/或以模块化或集成方式借助大体上可编程处理器使用计算机软件以控制逻辑的形式实施。如本文所使用,处理器可以包括单核处理器、在同一集成芯片上的多核处理器,或在单个电路板上或联网的多个处理单元,以及专用硬件。基于本文提供的公开内容和教导,本领域普通技术人员将知道并了解使用硬件以及硬件和软件的组合来实施本公开的实施方案的其它方式和/或方法。
本申请中描述的任何软件组件或功能可实施为使用例如Java、C、C++、C#、Objective-C、Swift等任何合适的计算机语言或例如Perl或Python等脚本语言使用例如常规的或面向对象的技术的由处理器执行的软件代码。软件代码可以作为一系列指令或命令存储在计算机可读介质上以进行存储和/或传输。合适的非瞬态计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、例如硬盘驱动器或软盘的磁性介质、或例如光盘(CD)或DVD(数字通用光盘)或蓝光光盘的光学介质、闪存存储器等。计算机可读介质可以是此类存储或传输装置的任何组合。
此类程序也可以使用载波信号来编码和发送,所述载波信号适合于经由符合多种协议的有线、光学和/或无线网络来发送,包括互联网。因此,可以使用以此类程序编码的数据信号来创建计算机可读介质。以程序代码编码的计算机可读介质可与兼容装置一起封装或与其它装置分开提供(例如,通过互联网下载)。任何此类计算机可读介质可以驻存在单个计算机产品(例如,硬盘驱动器,CD或整个计算机系统)之上或其内部,并且可以存在于系统或网络内的不同计算机产品上或其内部。计算机系统可以包括用于向用户提供本文中提及的任何结果的监视器、打印机或其它合适显示器。
本文所描述的任何方法可完全或部分地通过计算机系统执行,所述计算机系统包括可被配置以执行所述步骤的一个或多个处理器。因此,实施例可以涉及配置成执行本文中所描述的任何方法的步骤、可能具有执行相应步骤或相应步骤群组的不同组件的计算机系统。虽然呈现为带编号的步骤,但本文的方法的步骤可以同时或在不同时间或以不同次序执行。另外,这些步骤的部分可与其它方法的其它步骤的部分一起使用。另外,步骤的全部或部分可以是任选的。另外,任何方法的任一个步骤可以利用用于执行这些步骤的模块、单元、电路或系统的其它构件来执行。
可在不脱离本公开的实施例的精神和范围的情况下以任何合适方式组合特定实施例的具体细节。然而,本公开的其它实施例可针对与每个单独方面或这些单独方面的特定组合相关的具体实施例。
本公开的实例实施例的上述描述仅出于说明和描述的目的而呈现。其并不意图为详尽的或将本公开限制在所描述的精确形式,并且根据上文的教示许多修改和变化形式是可能的。
除非具体地相反指示,否则“一(a/an)”或“所述(the)”的叙述打算意指“一个或多个”。除非明确指示为相反情况,否则“或”的使用旨在表示“包括性的或”,而不是“排除性的或”。对“第一”组件的引用不一定要求提供第二组件。此外,除非明确说明,否则对“第一”或“第二”组件的引用并不将所引用的组件限制到特定位置。术语“基于”旨在表示“至少部分地基于”。
本文中所提及的所有专利、专利申请、公开案和描述都出于所有目的以全文引用的方式并入。并非承认它们是现有技术。
IX.参考
[ABB+19]Erdem Alkim、Palo S.L.M.Barreto、Nina Bindel、Patrick Longa和Jefferson E.Ricardini。基于格的数据签名方案qtesla(lattice-based digitalsignature scheme qtesla)。IACR密码研究预印本(IACR Cryptology ePrint Archive),2019:85,2019。
[ACD+18]Martin R.Albrecht、Benjamin R.Curtis、Amit Deo、Alex Davidson、Rachel Player、Eamonn W.Postlethwaite、Fernando Viridia和Thomas Wunder。估计所有{LWE,NTRU}方案!2018年9月5-7日在意大利阿马尔菲召开的SCN 2018,第11届国际会议--网络安全性与密码学,会议报告记录,第351-367页,2018。
[APS15]Martin R.Albrecht、Rachel Player和Sam Scott。论容错学习的具体难度(On the concrete hardness of learning with errors)。数学密码杂志(J.Mathematical Cryptology),9(3):169-203,2015。
[BG14]Shi Bai和Steven D.Galbraith。基于容错学习的改进的签名压缩技术(Animproved compression technique for signatures based on learning with errors)。CT-RSA,计算机科学讲义第8366卷,第28-47页,斯普林格出版社,2014。
[BLP+13]Zvika Brakerski、Adeline Langlois、Chris Peikert、Oded Regev和Damien Stehlé,经典容错学习难度(Classical hardness of learning with errors)。第45届ACM计算理论年度研讨会论文集,第575-584页。ACM,2013。
[Che13]Yuanmi Chen。Réduction de réseau et sécurité concréte duchiffrement complétement homomorphe。博士论文,巴黎,7月,2013。
[DDLL13]Léo Ducas、Alain Durmus、Tancrède Lepoint和Vadim Lyubashevsky。格签名和双峰高斯(Lattice signatures and bimodal gaussians)。CRYPTO(1),计算机科学讲义第8042卷,第40-56页,斯普林格出版社,2013。
[DKL+18]Léo Ducas、Eike Kiltz、Tancrède Lepoint、Vadim Lyubashevsky、Peter Schwabe、Gregor Seiler和Damien Stehlé。Crystals dilitium:基于格的数字签名方案(Crystals-dilitium:A lattice-based digital signature scheme)。IACR交易密码硬件嵌入式系统(IACR Trans.Cryptogr.Hardw.Embed.Syst.),2018(1):238-268,2018。
[DLL+18]Léo Ducas、Tancrède Lepoint、Vadim Lyubashevsky、Peter Schwabe、Gregor Seiler和Damien Stehle。Crystals-dilitum:来自模块格的数字签名(Crystals-dilitum:digital signatures from module lattices)。2018。
[FS86]Amos Fiat和Adi Shamir。如何证明自己:标识和签名问题的实用解决方案(How to prove yourself:Practical solutions to identification and signatureproblems)。CRYPTO第186-194页,1986。
[GGH97]Oded Goldreich、Shafi Goldwasser和Shai Halevi。基于格归约问题的公用密钥密码体制(Public-key cryptosystems from lattice reduction problems)。Burton S.Kaliski Jr.,编辑,密码学进展-1997年密码学(Advances in Cryptology-CRYPTO'97),第17届国际密码学年会会议记录,美国加利福尼亚州圣巴巴拉,1997年8月17日至21日,LNCS第1294卷,第112-131页,斯普林格出版社,1997。
[GLP12]Tim Güneysu、Vadim Lyubashevsky和Thomas基于格的实用密码学:嵌入式系统的签名方案(Practical lattice-based cryptography:Asignature scheme for embedded systems)。加密硬件和嵌入式系统-CHES 2012,第14届国际研讨会会议记录,比利时鲁汶,2012年9月9日至12日,第530-547页,2012。
[GPV08]Craig Gentry、Chris Peikert和Vinod Vaikuntanathan。硬格的陷门和新的密码结构(Trapdoors for hard lattices and new cryptographicconstructions)。STOC,第197-206页,2008。
[GS02]Craig Gentry和Mike Szydlo。修改后的NTRU签名方案的密码分析(Cryptanalysis of the revised NTRU signature scheme)。密码技术理论与应用国际会议,第299-320页,斯普林格出版社,2002。
[HHP+03]Jeffrey Hoffstein、Nick Howgrave-Graham、Jill Pipher、JosephH.Silverman和William Whyte。NRTUSIGN:使用NTRU格的数字签名(NRTUSIGN:digitalsignatures using the NTRU lattice)。CT-RSA,计算机科学讲义第2612卷,第122-140页,斯普林格出版社,2003。
[KLS18]Eike Kiltz、Vadim Lyubashevsky和Christian Schaffner。量子随机预言模型中的fiat-shamir签名的具体处理(A concrete treatment of fiat-shamirsignatures in the quantum random-oracle model)。密码技术理论与应用国际年会,第552-586页,斯普林格出版社,2018。
[Lyu09]Vadim Lyubashevsky。利用中止的Fiat-Shamir技术:应用于基于格和因子分解的签名(Fiat-shamir with aborts:Applications to lattice and fatoring-based signatures)。ASIACRYPT,计算机科学讲义第5912卷,第598-616页,斯普林格出版社,2009。
[Lyu12]Vadim Lyubashevsky。不带陷门的格签名(Lattice signatures withouttrapdoors)。EUROCRYPT,计算机科学讲义第7237卷,第738-755页,斯普林格出版社,2012。
[NR06]Phong Q.Nguyen和Oded Regev。学习并行管道:GGH和NTRU签名的密码分析(Learning a parallelpiped:Cryptanalysis of GGH and NTRU signatures)。密码学进展-EUROCRYPT 2006(Advances in Cryptology-EUROCRYPT 2006),第25届国际密码技术理论与应用年会会议记录,俄罗斯圣彼得堡,2006年5月28日至6月1日,第271-288页,2006。
[Pei09]Chris Peikert。最坏情况下最短向量问题的公用密钥密码系统:扩展摘要(Public-key cryptosystems from the worst-case shortest vector problem:extended abstract)。STOC,第333-342页,2009。
[PRS17]Chris Peikert、Oded Regeb和Noah Stephens-Davidowitz。任意环和模量的环LWE的伪随机性(Pseudorandomness of ring-lwe for any ring and modulus)。ZSTOC,第461-473页。ACM,2017。
[Reg09]Oded Regev。有关格、容错学习、随机线性编码和密码学(On lattices,learning with errors,random linear codes,and cryotography)。J.ACM,56(6),2009。

Claims (20)

1.一种用于执行安全通信的方法,所述方法包括由计算机系统执行:
生成包括第一多个元素的验证矩阵A,所述第一多个元素是从均匀分布中采样的;
生成包括第二多个元素的秘密矩阵S,所述第二多个元素是从所述均匀分布中采样的;
生成包括第三多个元素的误差矩阵E,所述第三多个元素是从不均匀分布中采样的;
使用模量q生成公用矩阵Y,为Y=SA+E mod q;
生成包括所述验证矩阵A和所述公用矩阵Y的公用密钥;
生成包括所述秘密矩阵S和所述误差矩阵E的私用密钥;以及
将所述公用密钥发送给验证装置。
2.根据权利要求1所述的方法,还包括将所述公用密钥和所述私用密钥发送给签名装置。
3.根据权利要求1所述的方法,其中所述均匀分布是使用环实施的。
4.根据权利要求1所述的方法,其中所述均匀分布由所述模量q定界,使得所述第一多个元素和所述第二多个元素中的每个元素小于或等于所述模量q。
5.根据权利要求1所述的方法,其中所述第一多个元素和所述第二多个元素中的每个元素是大于或等于0且小于或等于q-1的整数。
6.根据权利要求1所述的方法,其中所述不均匀分布包括高斯分布。
7.根据权利要求1所述的方法,其中:
所述验证矩阵A是n×m矩阵;
所述秘密矩阵S是h×n矩阵;
所述误差矩阵E是h×m矩阵;
h小于或等于n;并且
m大于n。
8.根据权利要求1所述的方法,其中所述计算机系统包括签名装置,其中所述方法还包括生成用于消息m的数字签名,包括:
(1)通过从所述均匀分布中采样来生成随机向量r;
(2)通过计算所述随机向量r和所述验证矩阵A的乘积来生成乘积向量rA;
(3)通过从所述乘积向量rA的每个元素丢弃一个或多个最低有效位来生成舍入的乘积向量;
(4)使用舍入的乘积向量模量q生成中间向量;
(5)通过对所述消息m和所述中间向量进行散列来生成质询向量c;
(6)基于所述乘积向量rA、所述质询向量c和所述误差矩阵E计算验证向量v;
(7)验证所述验证向量v的多个元素是否在预定间隔的值内;
(8)基于所述随机向量r、所述质询向量c和所述秘密矩阵S生成签名向量z,其中所述数字签名包括所述签名向量z和所述质询向量c;以及
(9)将所述数字签名和所述消息m发送给所述验证装置。
9.根据权利要求8所述的方法,还包括:
如果所述验证向量v的所述多个元素不在所述预定间隔的值内,则重复步骤(1)到(7)直到所述验证向量v的所述多个元素在所述预定间隔的值内。
10.根据权利要求8所述的方法,其中(6)计算所述验证向量v包括计算rA-cE。
11.根据权利要求8所述的方法,其中生成所述签名向量z包括计算r+cS。
12.根据权利要求8所述的方法,其中步骤(7)包括:
确定所述验证向量v的多个最低有效位;
计算所述多个最低有效位的范数;以及
验证所述范数是否在所述预定间隔的值内。
13.根据权利要求8所述的方法,其中所述预定间隔的值是基于参数β确定的,其中所述参数β大于或等于具有指定概率的所述质询向量c和所述误差矩阵E的乘积的范数。
14.根据权利要求13所述的方法,其中所述指定概率包括大于99.99%的概率。
15.根据权利要求8所述的方法,其中所述签名装置包括授权计算机,并且其中所述消息m包括授权响应消息,所述授权响应消息向所述验证装置指示所述验证装置与用户装置或所述用户装置的用户之间的交互的授权状态。
16.一种用于执行安全通信的方法,所述方法包括由验证装置执行:
获取包括验证矩阵A和公用矩阵Y的公用密钥,其中公用矩阵Y是使用所述验证矩阵A和包括秘密矩阵S和误差矩阵E的秘密密钥生成的,其中所述秘密矩阵S包括从均匀分布中采样的多个元素;
从签名装置接收消息m以及包括签名向量z和第一质询向量c的数字签名,其中所述数字签名是使用所述秘密密钥生成的;
基于所述验证矩阵A、所述公用矩阵Y、所述签名向量z和所述第一质询向量c生成第一验证向量v;
通过从所述验证向量v丢弃一个或多个最低有效位来生成舍入的验证向量w;
通过对所述消息m和所述舍入的验证向量w进行散列来生成第二质询向量;
将所述第一质询向量c与所述第二质询向量进行比较;以及
响应于所述第一质询向量c匹配所述第二质询向量而验证所述签名装置。
17.根据权利要求16所述的方法,其中所述舍入的验证向量w等于由所述签名装置生成的中间向量,其中所述中间向量等于舍入的乘积向量模量q,其中所述签名装置通过以下步骤生成所述舍入的乘积向量/>
通过从均匀分布中采样来生成随机向量r;
通过计算所述随机向量r和所述验证矩阵A的乘积来计算乘积向量rA;以及
通过将所述乘积向量rA的每个元素舍入到最接近的整数来生成所述舍入的乘积向量
18.根据权利要求16所述的方法,其中所述第一验证向量v=zA-cY。
19.根据权利要求16所述的方法,其中所述验证装置包括资源提供商计算机,其中所述签名装置包括授权计算机,其中所述消息m包括授权响应消息,并且其中所述方法还包括:
评估所述授权响应消息;以及
在验证所述签名装置并评估所述授权响应消息之后,执行与用户装置或所述用户装置的用户的交互。
20.一种计算机系统,其包括:
处理器;以及
耦合到所述处理器的非瞬态计算机可读介质,所述非瞬态计算机可读介质包括能由所述处理器执行以实施根据权利要求1至19中任一项所述的方法的代码。
CN202080065383.4A 2019-09-26 2020-09-23 具有均匀秘密的基于格的签名 Active CN114521319B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962906569P 2019-09-26 2019-09-26
US62/906,569 2019-09-26
PCT/US2020/052296 WO2021061833A1 (en) 2019-09-26 2020-09-23 Lattice based signatures with uniform secrets

Publications (2)

Publication Number Publication Date
CN114521319A CN114521319A (zh) 2022-05-20
CN114521319B true CN114521319B (zh) 2023-12-05

Family

ID=75166119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080065383.4A Active CN114521319B (zh) 2019-09-26 2020-09-23 具有均匀秘密的基于格的签名

Country Status (4)

Country Link
US (2) US11784825B2 (zh)
EP (1) EP4035306A4 (zh)
CN (1) CN114521319B (zh)
WO (1) WO2021061833A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6975361B2 (ja) * 2018-07-17 2021-12-01 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 鍵カプセル化プロトコル
JPWO2021070838A1 (zh) * 2019-10-11 2021-04-15
CN113660093B (zh) * 2021-07-30 2023-08-25 矩阵时光数字科技有限公司 一种基于序列发送高斯信号的量子数字签名系统及方法
CN113987558B (zh) * 2021-12-24 2022-04-01 杭州电子科技大学 离线/在线基于格的属性基加密方法
KR102474899B1 (ko) * 2022-09-01 2022-12-06 (주)노르마 양자 내성 암호화 알고리즘에 기초한 가상 사설 네트워크 형성 방법 및 이를 수행하는 가상 사설 네트워크 운용 시스템
US20240137214A1 (en) * 2022-10-06 2024-04-25 Nxp B.V. Fault detection in post-quantum cyptography
CN117081724B (zh) * 2023-10-18 2023-12-26 中国电子科技集团公司第三十研究所 一种带错误学习问题实例计算量的估算方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102822816A (zh) * 2010-03-30 2012-12-12 国际商业机器公司 用于双线性型的高效同态加密方案
KR101523053B1 (ko) * 2014-02-26 2015-05-27 고려대학교 산학협력단 래티스 기반 증명가능암호 서명 시스템 및 방법
CN106301789A (zh) * 2016-08-16 2017-01-04 电子科技大学 应用基于格的线性同态签名的云存储数据的动态验证方法
CN110100413A (zh) * 2016-12-30 2019-08-06 罗伯特·博世有限公司 用于认证的鲁棒计算模糊提取器及方法
CN110138549A (zh) * 2019-04-19 2019-08-16 北京信息科学技术研究院 一种基于格的数字签名方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7184551B2 (en) * 2002-09-30 2007-02-27 Micron Technology, Inc. Public key cryptography using matrices
WO2011083232A1 (fr) * 2009-12-22 2011-07-14 France Telecom Procede de chiffrement et de dechiffrement
US9246675B2 (en) 2012-04-12 2016-01-26 Jintai Ding Cryptographic systems using pairing with errors
US9634840B2 (en) 2013-07-23 2017-04-25 Security Innovation Inc. Digital signature technique
KR101621388B1 (ko) * 2014-01-03 2016-05-17 고려대학교 산학협력단 래티스에서의 아이디 기반 브로드캐스트 방법
US9722798B2 (en) 2014-02-10 2017-08-01 Security Innovation Inc. Digital signature method
US10277403B2 (en) 2016-02-25 2019-04-30 Onboard Security, Inc. Digital signature method and apparatus
US10129029B2 (en) 2016-06-16 2018-11-13 International Business Machines Corporation Proofs of plaintext knowledge and group signatures incorporating same
US10742413B2 (en) 2017-04-25 2020-08-11 International Business Machines Corporation Flexible verifiable encryption from lattices
EP3402118A1 (en) * 2017-05-10 2018-11-14 Koninklijke Philips N.V. Key agreement devices and method
US10630655B2 (en) * 2017-05-18 2020-04-21 Robert Bosch Gmbh Post-quantum secure private stream aggregation
EP3474484A1 (en) * 2017-10-17 2019-04-24 Koninklijke Philips N.V. Cryptographic device with updatable shared matrix

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102822816A (zh) * 2010-03-30 2012-12-12 国际商业机器公司 用于双线性型的高效同态加密方案
KR101523053B1 (ko) * 2014-02-26 2015-05-27 고려대학교 산학협력단 래티스 기반 증명가능암호 서명 시스템 및 방법
CN106301789A (zh) * 2016-08-16 2017-01-04 电子科技大学 应用基于格的线性同态签名的云存储数据的动态验证方法
CN110100413A (zh) * 2016-12-30 2019-08-06 罗伯特·博世有限公司 用于认证的鲁棒计算模糊提取器及方法
CN110138549A (zh) * 2019-04-19 2019-08-16 北京信息科学技术研究院 一种基于格的数字签名方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"An improved compression technique for signatures based on learning with errors";BAI,Shi等;《Lecture Notes in Computer Science》;正文第1、3、5节 *

Also Published As

Publication number Publication date
US20230412392A1 (en) 2023-12-21
US20220353089A1 (en) 2022-11-03
US11784825B2 (en) 2023-10-10
EP4035306A4 (en) 2022-11-16
EP4035306A1 (en) 2022-08-03
CN114521319A (zh) 2022-05-20
WO2021061833A1 (en) 2021-04-01

Similar Documents

Publication Publication Date Title
CN114521319B (zh) 具有均匀秘密的基于格的签名
US11842317B2 (en) Blockchain-based authentication and authorization
EP3563553B1 (en) Method for signing a new block in a decentralized blockchain consensus network
US9998445B2 (en) Authentication system
Brickell et al. Direct anonymous attestation
US10846372B1 (en) Systems and methods for trustless proof of possession and transmission of secured data
Arfaoui et al. A practical set-membership proof for privacy-preserving NFC mobile ticketing
US20160269397A1 (en) Reissue of cryptographic credentials
US20230319103A1 (en) Identifying denial-of-service attacks
Hartung Attacks on secure logging schemes
Sathya et al. A comprehensive study of blockchain services: future of cryptography
Agrawal et al. Game-set-MATCH: Using mobile devices for seamless external-facing biometric matching
Hamian et al. Blockchain-based User Re-enrollment for Biometric Authentication Systems
CN112422294B (zh) 基于环签名的匿名投票方法及装置、电子设备、存储介质
Fajiang et al. An efficient anonymous remote attestation scheme for trusted computing based on improved CPK
Ferradi et al. Slow motion zero knowledge identifying with colliding commitments
Biswas et al. An efficient post-quantum secure dynamic EPID signature scheme using lattices
US11856095B2 (en) Apparatus and methods for validating user data by using cryptography
CN114189329B (zh) 一种公钥认证可否认加密方法及系统
Ahubele et al. Towards a Scalable and Secure Blockchain Based on Post-Quantum Cryptography.
Hamila et al. Enhancing security in Fiat–Shamir transformation-based non-interactive zero-knowledge protocols for IoT authentication
Diop Cryptographic mechanisms for device authentication and attestation in the internet of things
Wang et al. Cryptography and Architecture Security
Strelkovskaya et al. TWO-FACTOR AUTHENTICATION PROTOCOL IN ACCESS CONTROL SYSTEMS
Kartha An Overview of Distributed Public Key Infrastructures (DPKIs)

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