CN110235409B - 使用同态加密被保护的rsa签名或解密的方法 - Google Patents

使用同态加密被保护的rsa签名或解密的方法 Download PDF

Info

Publication number
CN110235409B
CN110235409B CN201780085864.XA CN201780085864A CN110235409B CN 110235409 B CN110235409 B CN 110235409B CN 201780085864 A CN201780085864 A CN 201780085864A CN 110235409 B CN110235409 B CN 110235409B
Authority
CN
China
Prior art keywords
key
fhe
rsa
intermediate value
encrypted
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
CN201780085864.XA
Other languages
English (en)
Other versions
CN110235409A (zh
Inventor
M.乔吉瓦
A.古热
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.)
Thales Digital Security France Easy Stock Co
Thales DIS Design Services SAS
Original Assignee
Gemalto SA
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 Gemalto SA filed Critical Gemalto SA
Publication of CN110235409A publication Critical patent/CN110235409A/zh
Application granted granted Critical
Publication of CN110235409B publication Critical patent/CN110235409B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • 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/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种通过服务器来生成安全RSA密钥的方法,其包括如下步骤:·生成(S1)私有RSA密钥d以及RSA模数整数N;·将秘密密钥整数d拆分(S2)到j个长度n的密钥共享物dJ中,其中j在
Figure 598858DEST_PATH_IMAGE002
中,J是整数,并且使得
Figure 702949DEST_PATH_IMAGE003
mod phi(N),其中每个密钥共享物dj等于
Figure 482686DEST_PATH_IMAGE005
,其中每个密钥共享分量
Figure 877896DEST_PATH_IMAGE007
Figure 692268DEST_PATH_IMAGE008
Figure 452413DEST_PATH_IMAGE009
中,并且i在
Figure 719447DEST_PATH_IMAGE010
中,b是小于n的整数,并且phi是欧拉函数;·通过使用包括索引对(i,j)的集合Ss的全同态加密秘密密钥ps、利用全同态加密(FHE)算法来对私有RSA密钥d的每个密钥共享分量
Figure 918347DEST_PATH_IMAGE011
进行加密(S3),以生成所述安全RSA密钥的经加密的密钥共享分量
Figure 587226DEST_PATH_IMAGE012
,所述集合Ss是在预定整数数目u的不相交集合{S1,S2 Ss,Ss+1,...Su}之中的整数对的集合,其被生成使得:
Figure 269005DEST_PATH_IMAGE013
={(i,j)使得i在
Figure 23334DEST_PATH_IMAGE014
中,j在
Figure 100004_DEST_PATH_IMAGE015
中},并且在
Figure 760346DEST_PATH_IMAGE016
之中的每个所述集合与全同态加密(FHE)秘密密钥相关联。

Description

使用同态加密被保护的RSA签名或解密的方法
技术领域
本发明涉及白盒环境中的RSA签名/解密的软件实现方式以及相关联的密码设备的领域,并且更具体地涉及密码设备,所述密码设备允许甚至当经受白盒攻击的时候也保持密码资产安全。
背景技术
密码学的第一应用是提供机制来保护诸如在通信信道上交换的消息之类的数据免于被未经授权的用户访问。数据的明文片段可以通过如下方式来保护:将它转换成密文,所述密文仅仅可以被拥有对于执行破译操作而言所需要的秘密密钥的某人或某个设备破译、即转换回到原始数据。
密码学的两个主要类别是秘密密钥密码学以及私有密钥-公共密钥密码学(在本文中简单地被称为公共密钥密码学)。在公共密钥密码学中,密文消息的接收者(即解密方)具有对于破译利用公共密钥所加密的密文消息而言所需要的私有密钥或秘密密钥。换言之,在特定的私有密钥与特定的公共密钥之间存在关联;它们形成密钥对。使得公共密钥可用于希望发送经加密的消息(密文消息)的任何人,而对应的秘密密钥被所意图的消息接收者保密。
公共密钥密码学还可以用于对消息的发布者进行认证。这样的发布者可以基于所述消息、通过使用他的私有密钥来生成签名。消息的接收者然后可以使用所断言的发布者的公共密钥来用于验证签名是通过使用相关联的私有密钥而生成的,即消息的发布者的确是他宣称是的那个人。广泛使用的公共密钥密码系统的示例是Rivest-Shamir-Adelson(RSA)密码系统。这样的密码系统基于对两个大素数的乘积进行因式分解的实际困难,并且使用公共密钥(e,N)以及私有密钥d使得e.d = 1模phi(N),其中N、d和e是整数,并且phi()是欧拉函数(Euler's totient function)。RSA密码系统允许公共地共享公共密钥(e,N)以用于产生密文,而同时使能实现:仅仅具有私有密钥d的知识的某人可以破译这样的密文并且了解被译密在其中的私有数据。私有密钥还可以用于针对消息生成签名。这样的签名然后可以由任何人通过使用相关联的公共密钥来验证。当然,私有密钥d必须保密,否则具有秘密密钥的知识的任何攻击者可以对利用公共密钥被译密的密文进行破译,并且经译密的数据的隐私性将不再有保障。这样的攻击者还可以生成消息的伪造签名,就好像他是私有密钥的真实拥有者那样。
传统上,为了确保秘密密钥保密,解密或签名算法应该仅仅在安全环境中被执行。假定信任执行这样的算法的设备,从而防止尝试破译秘密消息的任何攻击者进行访问。这被称为黑盒密码学。
然而,密码过程越来越多地被部署在开放设备上所执行的应用中。例如,诸如PC、平板设备、智能电话之类的许多用户设备现在具有对因特网的访问,并且可以用于播放诸如音频或视频文件之类的受版权保护的数字内容。这样的文件可以例如通过使用数字权限管理(DRM)文件而被密码地保护,以便使得只有用户如订购了在线多媒体流服务,所述文件才可用于该用户。
密码过程然后在如下环境中被执行:在所述环境中,不是所有用户或设备可以信任。这样的上下文通常被称为白盒攻击上下文。在这样的上下文中,诸如私有密钥的密码系统敏感数据易受攻击,因为攻击者具有对密码过程的软件实现方式的完全访问。这样的过程的二进制代码完全由攻击者可访问和可编辑,所述攻击者可以分析密码学应用以及例如在执行期间用于临时存储的存储器页面或寄存器的二进制代码。这样的操纵可以例如通过使用调试器和硬件仿真工具来执行。
已经寻求能够抵抗白盒攻击的密码系统的软件实现方式。在这样的实现方式中,私有密钥可以以如下方式被提供在订户的密码学设备(例如移动设备、诸如移动电话)上:私有密钥可以由设备用于解密或生成签名,而不向订户揭露密钥或算法。密钥可以以某种方式被隐藏在实现解密/签名算法的代码内,并且可以使算法模糊使得非常难以确定密钥被隐藏在哪里。密钥的值还可以被保护使得非常难以确定它。这被称为白盒密码学。
已知为全同态加密(FHE)的非常强大的密码学机制由Craig Gentry于2009年在[Gentry] Fully Homomorphic Encryption Using Ideal Lattices(在关于计算理论的第四十一年度ACM讨论会(STOC’09)的会议录中,pp.169-178. ACM,2009)中介绍。[Gentry]通过引用在其整体上并入本文中。宽泛地,在FHE中,可以在经加密的值上执行计算,其中结果被解密,以产生如同已经在对应的明文值上执行了计算那样相同的结果。FHE提供算术电路到密文集的应用,并且结果是经加密的值,所述经加密的值将会如同它已经在底层明文上被评估那样的相同。为了全同态地考虑,加密方案允许使用任意函数的计算,并且能够评估任何电路。
同态加密已经被考虑用于使用在白盒密码学中。参见例如(2009)Brecht Wyseur(COSIC) Ph.D.论文(2009),http://www.cosic.esat.kuleuven.be/publications/thesis-152.pdf(于2016年8月29日被访问)。
然而,被应用于RSA密码系统的FHE方案的当前性能是低的。对于通过使用FHE方案来执行RSA密码操作所需要的计算时间太高,以致不能使能实现在现存用户设备上的白盒环境中的RSA的实际安全实现方式。
因此,存在对于RSA密码系统的软件实现方式以及相关联的密码设备的需要,所述RSA密码系统在白盒环境中由FHE方案防护并且实现使能实现实际应用的计算时间。
发明内容
为此目的并且根据第一方面,本发明因此涉及一种通过服务器来生成安全RSA密钥的方法,所述方法包括如下步骤:
·生成私有RSA密钥d以及RSA模数整数N,其中N和d是整数;
·将私有密钥d拆分到J个长度n的密钥共享物dj中,其中n=log2N,j在
Figure 64541DEST_PATH_IMAGE002
中,J是整数,并且使得
Figure 168632DEST_PATH_IMAGE003
mod phi(N),其中每个密钥共享物dj等于
Figure 948369DEST_PATH_IMAGE005
,其中每个密钥共享分量
Figure 343579DEST_PATH_IMAGE007
Figure 157951DEST_PATH_IMAGE008
Figure 606512DEST_PATH_IMAGE009
中,并且i在
Figure 873545DEST_PATH_IMAGE010
中,b是小于n的整数,并且phi是欧拉函数;
·利用全同态加密(FHE)算法、通过使用与包括索引对(i,j) 的集合Ss相关联的全同态加密秘密密钥ps来对私有RSA密钥d的每个密钥共享分量
Figure 72445DEST_PATH_IMAGE011
进行加密,以生成所述安全RSA密钥的经加密的密钥共享分量
Figure 679007DEST_PATH_IMAGE012
·所述集合Ss是在预定整数数目u的不相交集合
Figure 672371DEST_PATH_IMAGE013
之中的整数对的集合,其被生成使得
Figure 426700DEST_PATH_IMAGE014
={(i,j)使得i在
Figure 350663DEST_PATH_IMAGE016
中,j在
Figure 874048DEST_PATH_IMAGE002
中},并且在
Figure 867674DEST_PATH_IMAGE017
之中的每个所述集合与全同态加密(FHE)秘密密钥相关联。
这样的方法使得能够在如下形式下生成RSA私有密钥:所述形式可以被安全地存储在客户端设备上,并且然后被安全地用于RSA签名生成或用于经RSA加密的消息解密。RSA私有密钥的确被拆分到多个密钥共享分量中,并且这样的分量通过使用多个秘密密钥来被FHE加密,从而使得对于攻击者而言甚至在白盒环境中也难以恢复客户端设备上的整个RSA私有密钥。
在第一实施例中,所述集合的所述FHE私有密钥可以是完全相同的。
它使得对于使用经加密的密钥共享分量的客户端设备而言没有必要使用由服务器所限定的集合。客户端设备然后可以限定其自己的集合,而同时保持能够执行对经FHE加密的值的FHE解密。
在第二实施例中,
Figure 109300DEST_PATH_IMAGE018
至少包括第一集合和第二集合使得与第一集合相关联的FHE秘密密钥不同于与第二集合相关联的FHE秘密密钥。
通过这样做,即使攻击者检索到与给定集合相关联的FHE秘密密钥,他将也不能够对所有密钥共享分量进行解密并且检索整个RSA私有密钥d。
全同态的加密算法可以是DGHV(Dijik,Gentry,Halevi,Vaikuntanathan)方案,使得利用FHE秘密密钥p而被FHE加密的针对ZN中的数据m的密文c等于
Figure 384423DEST_PATH_IMAGE019
(其中q是随机整数,r是随机整数,并且N是RSA模数),使得
Figure 214845DEST_PATH_IMAGE020
Figure 550011DEST_PATH_IMAGE021
(其中CS
Figure DEST_PATH_IMAGE023A
中任何集合SS的元素的最大数目),并且使得通过计算
Figure 905032DEST_PATH_IMAGE024
来对密文c进行破译。
这样的FHE方案使能实现在本文档中所描述的FHE操作的实际且高效的实现方式。
根据第二方面,本发明因此还涉及一种通过客户端设备、利用根据第一方面所生成的安全RSA密钥对消息m的RSA签名的安全生成方法,所述方法包括如下步骤:
·从服务器接收所生成的经加密的密钥共享分量
Figure 983846DEST_PATH_IMAGE025
,其中j在
Figure 544140DEST_PATH_IMAGE026
中并且i在
Figure 15921DEST_PATH_IMAGE027
中;
·根据其索引对(i,j)被包括在SS中的所述经加密的密钥共享分量
Figure 966560DEST_PATH_IMAGE028
以及根据所述消息m来针对
Figure DEST_PATH_IMAGE023AA
中的每个集合SS计算中间值YS,使得所述经计算的中间值是在经FHE加密的形式下的所述消息m的RSA签名的部分;
·通过组合针对所有集合的所述经计算的中间值来生成所述消息m的RSA签名。
这样的方法使得客户端设备能够在不曾公开RSA私有密钥d的情况下生成消息的RSA签名。密钥共享分量仅仅在经FHE加密的形式下被处置,从而确保其对抗任何攻击者的安全性。
根据第三方面,本发明因此还涉及一种通过客户端设备对利用公共RSA密钥加密的经RSA加密的消息c的安全RSA解密的方法,所述公共RSA密钥与根据第一方面所生成的安全私有RSA密钥形成密钥对,所述方法包括如下步骤:
·从服务器接收所生成的经加密的密钥共享分量
Figure 973699DEST_PATH_IMAGE029
,其中j在
Figure 326183DEST_PATH_IMAGE030
中并且i在
Figure 268731DEST_PATH_IMAGE031
中;
·根据其索引对(i,j)被包括在SS中的所述经加密的密钥共享分量
Figure 644349DEST_PATH_IMAGE028
以及根据所述经加密的消息c来针对
Figure DEST_PATH_IMAGE023AAA
中的每个集合SS计算中间值YS,使得所述经计算的中间值是在经FHE加密的形式下的经RSA解密的消息m的部分;
·通过组合针对所有集合的所述经计算的中间值来对经加密的消息c进行解密。
这样的方法使得客户端设备能够在不曾公开RSA私有密钥d的情况下对经RSA加密的消息进行解密。密钥共享分量仅仅在经FHE加密的形式下被处置,从而确保其对抗任何攻击者的安全性。
根据第二方面的消息m的RSA签名
Figure 753381DEST_PATH_IMAGE032
的安全生成方法的针对
Figure 225951DEST_PATH_IMAGE033
中的集合SS的中间值YS的计算可以包括:
·对于Ss中的所有(i, j),计算
Figure 339401DEST_PATH_IMAGE035
并且计算
Figure 326948DEST_PATH_IMAGE036
Figure 239672DEST_PATH_IMAGE038
·针对集合Ss中的所有(i, j)计算
Figure 301169DEST_PATH_IMAGE040
的乘积。
这样的操作使得能够将与每个集合相关联的所有经加密的密钥共享物组合成中间值,所述中间值适合用于生成RSA签名而不执行对密钥共享分量的FHE解密,并且因此不公开RSA私有密钥d。
对于
Figure 585519DEST_PATH_IMAGE041
中的每个w,从通过使用包括索引对(i, j)的所述集合Ss的FHE秘密密钥ps、利用所述FHE算法对每个密钥共享分量
Figure 998046DEST_PATH_IMAGE042
的w次幂
Figure 963728DEST_PATH_IMAGE044
的值的加密所得到的值
Figure 145311DEST_PATH_IMAGE045
可以被服务器计算并且存储,并且然后被传输到客户端设备以计算所述中间值。
或者对于
Figure 334984DEST_PATH_IMAGE046
中的每个w,从通过使用包括索引对(i, j)的所述集合Ss的FHE秘密密钥ps、利用所述FHE算法对值
Figure 234807DEST_PATH_IMAGE047
的加密所得到的值
Figure 987868DEST_PATH_IMAGE048
可以被服务器计算并且存储,并且然后被传输到客户端设备以计算所述中间值。
这样的预计算使得能够节省客户端设备侧上的计算资源,并且因此加速通过客户端设备对RSA签名的生成。
以之针对
Figure 289536DEST_PATH_IMAGE049
Figure 650110DEST_PATH_IMAGE050
中的每个集合SS计算中间值YS的次序可以是随机的。
它使得客户端设备能够在每次签名生成或消息解密时使用不同的次序,这使得对于攻击者而言更加难以从对多个签名生成或解密发生的攻击中学到信息,以及检索RSA私有密钥的密钥共享分量。
RSA签名的生成可以包括:
·对于针对
Figure 37229DEST_PATH_IMAGE051
Figure 344714DEST_PATH_IMAGE052
中的每个集合SS所计算的每个中间值YS,通过使用集合Ss的FHE秘密密钥ps对所述经计算的中间值YS的解密,
·以及所述经解密的中间值全部相乘在一起。
它使得客户端设备能够容易地组合中间值。
RSA签名的生成可以包括针对第一集合SS的第一中间值YS以及针对第二集合ST的第二中间值YT的组合,其中SS和ST
Figure 235310DEST_PATH_IMAGE049
Figure 32364DEST_PATH_IMAGE050
中,所述组合接连地包括:
a. 利用掩码来对第一中间值YS进行在先掩码化,所述掩码利用第一集合SS的FHE秘密密钥ps被FHE加密,
b. 利用第一集合SS的FHE秘密密钥pS来对所述经掩码化的第一中间值进行FHE解密,
c. 利用第二集合ST的FHE秘密密钥pT来对经解密的经掩码化的第一中间值同时进行解除掩码以及FHE-加密,
d. 步骤c的结果与第二中间值YT相乘。
这样的组合过程使得能够组合中间值,而同时总是将它们保持在经FHE加密或掩码化的形式下,尽管它们是利用不同的FHE私有密钥pS被加密的。因此,它增大所述方法对抗旨在检索RSA密钥共享分量的任何攻击的安全性。它还使得能够组合中间值。
RSA签名的生成可以包括:
·利用相关联于第一集合SS的第一FHE秘密密钥pS而被FHE加密的第一中间值YS与利用相关联于第二集合ST的第二FHE秘密密钥pT而被FHE加密的第二中间值YT的组合,其中SS和ST
Figure 641200DEST_PATH_IMAGE053
中的一个或多个集合的并集,
其中随机值kS已经利用第一FHE秘密密钥ps被FHE加密,以生成针对第一集合SS的经FHE加密的掩码eks
并且其中随机值kS的倒数或相反数invkS已经利用第二集合ST的第二FHE秘密密钥pT被FHE加密,以生成针对第一集合SS的经FHE加密的逆掩码einvks
所述组合包括如果第一集合SS的大小在预定值以下,则执行在所述第一集合SS与所述第二集合ST之间的密钥切换,包括:
Figure 503108DEST_PATH_IMAGE054
利用所述所生成的掩码来使第一中间值YS掩码化:
Figure 513789DEST_PATH_IMAGE056
Figure 481745DEST_PATH_IMAGE058
Figure 577877DEST_PATH_IMAGE054
利用第一FHE秘密密钥ps来对所述经掩码化的第一中间值zS进行FHE解密,以获得经解密的经掩码化的第一中间值mS
Figure 227165DEST_PATH_IMAGE054
利用第二FHE秘密密钥pT、通过以下操作对经解密的经掩码化的第一中间值mS同时进行解除掩码以及FHE加密:将所述经解密的经掩码化的第一中间值mS与针对第一集合SS的所述经FHE加密的逆掩码einvks相乘或求和,以获得第三中间值
Figure 92352DEST_PATH_IMAGE059
Figure 231210DEST_PATH_IMAGE060
Figure 1588DEST_PATH_IMAGE054
将第二中间值YT与第三中间值wS相乘以用于获得针对集合SS与ST的并集
Figure 251304DEST_PATH_IMAGE061
的第四中间值
Figure 236578DEST_PATH_IMAGE062
Figure 546336DEST_PATH_IMAGE063
·如果所述第一集合SS和所述第二集合ST的并集
Figure 554744DEST_PATH_IMAGE061
的大小大于所述预定值,则利用第二集合ST的第二FHE秘密密钥pT来对所述第四中间值
Figure 608150DEST_PATH_IMAGE062
进行FHE解密;
·否则通过以下操作来执行先前的步骤:使用第四中间值
Figure 447930DEST_PATH_IMAGE062
作为针对作为第一集合的并集
Figure 928590DEST_PATH_IMAGE061
的第一中间值,其中第二FHE秘密密钥PT作为第一FHE秘密密钥;并且使用第五中间值YV作为针对作为第二集合的第三集合SV的第二中间值,其中SV是没有已经被包括在并集
Figure 909447DEST_PATH_IMAGE061
中的
Figure 766544DEST_PATH_IMAGE053
中的一个或多个集合的并集。
它使得能够将多个中间值组合在一起,直到得到可以在足够小的如下风险的情况下被FHE解密的组合结果为止:即攻击者可以通过攻击在经FHE解密的形式下的所述组合结果来检索密钥共享分量,即RSA私有密钥的部分。
当所述集合的所述FHE秘密密钥全部相同的时候,通过客户端设备利用根据第一方面所生成的安全RSA密钥对消息m的RSA签名的安全生成方法可以包括如下步骤:
·从服务器接收所生成的经加密的密钥共享分量
Figure 460831DEST_PATH_IMAGE064
,其中j在
Figure 50075DEST_PATH_IMAGE030
中,并且i在
Figure 95392DEST_PATH_IMAGE065
中;
·生成预定整数数目v的不相交集合
Figure 490601DEST_PATH_IMAGE066
Figure 39394DEST_PATH_IMAGE068
,使得:
Figure 127436DEST_PATH_IMAGE069
={(i,j)使得i在
Figure 581420DEST_PATH_IMAGE070
中,j在
Figure 780320DEST_PATH_IMAGE026
中},并且
Figure 183619DEST_PATH_IMAGE071
之中的每个所述集合
Figure 442562DEST_PATH_IMAGE061
与服务器用于对所述密钥共享分量进行加密的全同态加密(FHE)秘密密钥ps相关联;
·根据其索引对(i, j)被包括在
Figure 134575DEST_PATH_IMAGE072
中的所述经加密的密钥共享分量
Figure 871587DEST_PATH_IMAGE073
以及根据所述消息m来针对
Figure 394972DEST_PATH_IMAGE074
中的每个集合
Figure 824816DEST_PATH_IMAGE072
计算中间值YS,使得所述经计算的中间值是在经FHE加密的形式下的所述消息m的RSA签名的部分;
·通过组合针对所有集合的所述经计算的中间值来生成所述消息m的RSA签名。
这样的RSA签名生成方法使得客户端设备能够限定其自己的将用于计算中间值的集合,而不是使用由服务器所限定的集合。它使得客户端设备能够在新RSA签名的每次生成时重限定新集合,因此增大所述方法的安全性水平。
所述不相交集合
Figure 489278DEST_PATH_IMAGE075
的生成可以取决于所述消息来被执行。
它使得客户端设备能够在每次针对新的消息生成RSA签名时容易地限定新的集合。
根据第四方面,本发明因此还涉及一种直接可加载到至少一个计算机的存储器中的计算机程序产品,其包括当所述产品在计算机上运行的时候用于执行根据第一、第二或第三方面的方法的步骤的软件代码指令。
根据第五方面,本发明因此还涉及一种服务器,其包括:处理器,其被配置成执行根据第一方面的方法的步骤;存储器,其被配置成存储所述安全RSA密钥的所述密钥共享分量;以及接口,其用于发送所述安全RSA密钥的所述密钥共享分量。
根据第六方面,本发明因此还涉及一种客户端设备,其包括:存储器;和处理器,所述处理器被配置成执行根据第二方面的方法的计算和生成步骤;以及用于接收所述安全RSA密钥的所述密钥共享分量的接口。
为了前述和有关目的的完成,一个或多个实施例包括在下文中充分被描述并且在权利要求中特别地被指出的特征。
附图说明
以下描述和附图详细地阐明了某些说明性方面并且指示但仅是可以以之采用实施例的原理的各种方式中的少数几个。其它优点和新颖特征在结合附图被考虑的时候从以下详细描述中将变得清楚,并且所公开的实施例意图包括所有这样的方面及其等同物。
·图1是根据本发明的实施例的、包括客户端设备以及一个或多个远程服务器的系统的示意性图示;
·图2是根据本发明的实施例的客户端设备的示意性图示;
·图3是被存储在图2的客户端设备的存储器中的程序和数据的示意性图示;
·图4示意性地图示了根据本发明的实施例的服务器;
·图5示意性地图示了根据本发明的实施例的生成安全RSA密钥的方法;
·图6示意性地图示了根据本发明的实施例的消息m的RSA签名的安全生成方法;
·图7示意性地图示了根据本发明的另一实施例的消息m的RSA签名的安全生成方法;
·图8示意性地图示了根据本发明的实施例的对经RSA加密的消息进行安全RSA解密的方法。
具体实施方式
在以下详细描述中,参考附图,所述附图作为图示而示出了在其中可以实践本发明的特定实施例。这些实施例被充分详细地描述以使得本领域技术人员能够实践本发明。将理解到,本发明的各种实施例尽管不同但不一定是互斥的。例如,在本文中结合一个实施例所描述的特定特征、结构或特性可以实现在其它实施例内,而不偏离本发明的精神和范围。此外,将理解到,在每个所公开的实施例内的个体元件的位置或布置可以被修改而不偏离本发明的精神和范围。以下详细的描述因此不要以限制性意义来理解,并且本发明的范围仅仅通过被适当解释的所附权利要求、连同权利要求被授权给的等同物的完整范围来限定。
在以下描述中,在形式
Figure 29981DEST_PATH_IMAGE076
Figure 673452DEST_PATH_IMAGE077
下的记号二者都用于取幂运算。
本发明旨在解决如下问题:在确保合理的性能的同时,在白盒环境中,利用RSA私有密钥d来安全地实现RSA取幂,以用于生成签名或对经RSA加密的消息进行解密。
为了该目的,本发明提供了一种密码系统,其通过使用模糊技术、抗篡改技术和FHE方案来实现这样的RSA取幂,从而防止任何攻击者恢复RSA密码系统的RSA私有密钥d。所述FHE方案由远程服务器用于对私有密钥d进行加密,并且然后由客户端设备用于通过在不对经加密的私有密钥进行破译的情况下使用它来计算RSA解密/签名。
为了实现可接受的计算时间而不使安全性水平降级,经加密的私有密钥的位被拆分在若干集合中。RSA签名的生成或经加密的消息的RSA解密于是基于针对经加密的密钥的位的每个集合的经签名或破译的消息的部分的单独计算,其独立于其它集合。
在以下段落中,用作形容词的表述“FHE”或“同态”用于修饰通过所述全同态加密方案的加密操作所加密的数据或修饰在这样的经加密的数据上所执行的操作。
图1是网络101的示意性图示,所述网络101将被称为客户端设备的密码设备102(例如移动电话、平板设备或个人计算机)连接到一个或多个远程服务器103。密码设备102由用户104操作并且与服务器103之一交互。
服务器103被配置成生成安全RSA密钥,并且将经FHE加密的安全RSA密钥部分发送到客户端设备。客户端设备然后代表用户104来执行密码操作,例如用于对经RSA译密的消息进行破译或用于对消息进行签名。这样的消息可以包括DRM保护的内容,诸如计算机程序或音乐库。
图2是客户端设备102(例如移动电话、平板设备或个人计算机)的示意性图示。客户端设备102可以包括处理器201,所述处理器201经由总线202连接到随机存取存储器(RAM)203、只读存储器(ROM)204、和/或非易失性存储器(NVM)205。客户端设备102还包括连接器206,所述连接器206连接到处理器,并且通过所述连接器206,客户端设备102可以连接到天线。这样的天线可以用于将客户端设备102连接到各种形式的无线网络,例如广域网、WiFi网络、或移动电话网络。可替换地,客户端设备102可以经由诸如以太网之类的有线网络连接而连接到网络。
ROM 204和/或NVM 205可以包括计算机程序301,如图3中所图示的。虽然在此处描绘了计算机程序301全部共同位于ROM 204或NVM 205中,但是在实际的实践中不存在这样的限制,因为程序可以在多个存储器之上展开并且甚至临时安装在RAM 203中。程序301包括被加载到客户端设备102上的操作系统程序302以及应用程序。客户端设备的存储器(ROM和/或NVM)的子部分可以存储敏感数据303,诸如RSA秘密密钥。这样的数据可以在如此处以下所描述的经FHE加密的格式下被存储。
客户端设备还可以包括输入/输出构件207,其向客户端设备的用户提供接口,诸如一个或多个屏幕、扬声器、鼠标、触觉表面、键盘等等。
如图4中所图示的,服务器103至少包括:处理器401,其用于执行对于生成安全RSA密钥而言所需要的操作;存储器402,诸如RAM、ROM和/或NVM;以及有线或无线网络接口403,其用于连接到网络101并且至少与客户端设备交换消息。
以下段落描述了如在图5上所描绘的、根据本发明的第一方面的由服务器103所执行的生成安全RSA密钥的方法的步骤。
在第一生成步骤S1中,服务器的处理器生成私有RSA密钥d以及RSA模数N,N和d二者都是整数。N例如可以等于1024或2048位。
在第二生成步骤S2中,为了使得RSA私有密钥d的提取更复杂,服务器的处理器将私有密钥d拆分到J个二进制长度为n的密钥共享物dj中,其中n=log2 N,j在
Figure 8618DEST_PATH_IMAGE030
中,J是整数,并且使得
Figure 737540DEST_PATH_IMAGE078
Figure 754037DEST_PATH_IMAGE079
,其中phi是欧拉函数。
每个密钥共享物dj可以被视为复数个长度为b的密钥共享分量
Figure 252015DEST_PATH_IMAGE081
的级联,其中b是小于n的整数。每个密钥共享物dj于是等于
Figure 758082DEST_PATH_IMAGE082
,其中每个密钥共享分量
Figure 974300DEST_PATH_IMAGE080
在其二进制形式下处于在
Figure 43756DEST_PATH_IMAGE083
中,并且i在
Figure 396240DEST_PATH_IMAGE084
中。
例如,如果J=2,则d被拆分成两个密钥共享物d1和d2,并且每个密钥共享物由长度为b位的密钥共享分量组成。因而,
Figure 338788DEST_PATH_IMAGE085
,其中
Figure 776723DEST_PATH_IMAGE086
,其中每个
Figure 135023DEST_PATH_IMAGE087
Figure 607593DEST_PATH_IMAGE088
中,并且
Figure 455463DEST_PATH_IMAGE090
Figure 380693DEST_PATH_IMAGE092
,其中
Figure 293417DEST_PATH_IMAGE093
Figure 620493DEST_PATH_IMAGE094
中。
在所述方法的以下步骤中,每个密钥共享分量将被单独地对待。因而,该拆分技术增大攻击者检索私有密钥d的所有部分的难度。
为了执行以下步骤,通过服务器的处理器来生成预定整数数目u的不相交的集合
Figure 904844DEST_PATH_IMAGE095
。每个所述集合Ss是整数对的集合,并且这样的集合被生成使得
Figure 317371DEST_PATH_IMAGE014
={(i,j)使得i在
Figure 79790DEST_PATH_IMAGE096
中,j在
Figure 199056DEST_PATH_IMAGE030
中}。作为结果,这样的集合限定(i, j)整数对的划分并且每个整数对(i, j)被包括在所生成的集合之一中,并且仅仅在一个集合中。在
Figure 654308DEST_PATH_IMAGE097
之中的每个所述集合Ss与全同态加密(FHE)秘密密钥ps相关联。在以下步骤中,这些集合将被用于针对形成RSA私有密钥d的一部分的密钥共享分量中的每一个选择FHE加密密钥。在描述的其余部分中,其索引对(i, j)被包括在集合SS中的密钥共享分量被称为“与集合SS相关联的密钥共享分量”。
集合
Figure 554131DEST_PATH_IMAGE098
可以至少包括第一集合和第二集合,使得与第一集合相关联的FHE秘密密钥不同于与第二集合相关联的FHE秘密密钥。可替换地,为了增大攻击者的难度,与集合
Figure 120242DEST_PATH_IMAGE098
中的每一个相关联的FHE秘密密钥可以全部不同于彼此。
我们在以下描述中考虑所有集合Ss具有相同的大小t。然而,所述集合还可以是不同的大小。如果t=2n/b,那么仅生成一个集合。然而,该选择导致在计算时间方面的最昂贵的选择,并且现在在当前现有技术的情况下,FHE方案不适合被使用在移动白盒环境中。更一般地,我们在以下描述中考虑
Figure 343281DEST_PATH_IMAGE099
在第三生成步骤S3中,服务器的处理器利用全同态加密(FHE)算法、通过使用全同态加密秘密密钥ps来对私有密钥d的每个密钥共享分量
Figure 969435DEST_PATH_IMAGE100
进行加密。用于对给定的密钥共享分量
Figure 356554DEST_PATH_IMAGE100
进行加密的FHE秘密密钥是与
Figure 460776DEST_PATH_IMAGE101
之中的包括索引对(i,j)的集合Ss相关联的秘密密钥ps。因而,针对私有密钥d的每个密钥共享分量生成经加密的密钥共享分量
Figure 554634DEST_PATH_IMAGE102
,并且所生成的经加密的密钥共享分量
Figure 351689DEST_PATH_IMAGE103
形成所述安全RSA密钥。
在以下段落中,在密钥pHE下利用(全/稍微)同态加密方案对x的加密将被注解为
Figure 960525DEST_PATH_IMAGE104
全同态加密算法可以得自DGHV(Dijik,Gentry,Halevi,Vaikuntanathan)方案((“Fully Homomorphic Encryption over the Integer”,Dijk等人[DGHV])。在这样的方案中,利用FHE秘密密钥p来被FHE加密的针对ZN中的数据m的密文c等于
Figure 134017DEST_PATH_IMAGE105
,其中q是随机整数,r是随机整数,并且N是RSA模数,使得
Figure 833114DEST_PATH_IMAGE020
Figure 801070DEST_PATH_IMAGE021
,其中Cs是
Figure 897202DEST_PATH_IMAGE106
中的任何集合SS的元素的最大数目,并且使得通过计算
Figure 343227DEST_PATH_IMAGE107
来破译密文c。在[DGHV]中,针对N=2来描述方案。
因而,利用DGHV方案,所述安全RSA密钥的经加密的密钥共享分量
Figure 473994DEST_PATH_IMAGE108
等于
Figure 550534DEST_PATH_IMAGE109
。系数
Figure 133962DEST_PATH_IMAGE110
可以是针对每个新的加密所随机选择的大数字,并且系数
Figure 383678DEST_PATH_IMAGE111
可以是针对每个新的加密所随机选择的小数字。
FHE秘密密钥pS是敏感的,因为它们允许对利用pS密钥被加密的所有密文值进行解密,模糊技术可以用于保护代码(即用于FHE密文解密的)中的FHE秘密密钥pS(及其使用)。
可以使用其它同态方案,诸如BGV(“(Leveled)Fully Homomorphic Encryptionwithout Bootstrapping”,Brakerski等人)或FV(“Somewhat Practical FullyHomomorphic Encryption”,Fan等人)。
可选地,为了改善其性能,在以下段落中所描述的所有同态操作可以以模Q执行,其中
Figure DEST_PATH_IMAGE113A
,其中p是FHE秘密密钥,并且q是随机数。Q可以是公共的。
以下段落描述了如在图6上所描绘的、根据本发明的第二方面的消息m的RSA签名的安全生成方法的步骤。客户端设备通过使用按根据本发明的第一方面的方法所生成的安全RSA密钥来执行该方法的步骤。
在第一签名步骤T1中,客户端设备的处理器经由将它连接到网络(诸如网络101)的其输入/输出接口207而从服务器接收所生成的经加密的密钥共享分量
Figure 555902DEST_PATH_IMAGE114
,其中j在
Figure 865661DEST_PATH_IMAGE026
中,并且i在
Figure 936385DEST_PATH_IMAGE115
中。
在第二签名步骤T2中,客户端设备的处理器针对
Figure 927475DEST_PATH_IMAGE116
中的每个集合SS计算中间值YS。根据其索引对(i, j)被包括在SS中的所述经加密的密钥共享分量
Figure 767255DEST_PATH_IMAGE117
以及根据所述消息m来计算该中间值YS。该中间值被计算使得它是在经FHE加密的形式下的所述消息m的RSA签名的部分。换言之,客户端设备针对每个集合SS单独地计算与同所述集合SS相关联的密钥共享分量
Figure 247915DEST_PATH_IMAGE118
相对应的签名的部分。
以之针对
Figure 540356DEST_PATH_IMAGE116
中的每个集合SS计算中间值YS的次序可以是随机的。
最后,在第三签名步骤T3中,客户端设备的处理器通过组合针对所有集合的所述经计算的中间值YS来生成所述消息m的RSA签名。
针对
Figure 74150DEST_PATH_IMAGE119
中的集合SS的中间值YS的计算可以包括:
-对于Ss中的所有(i, j),计算
Figure 768437DEST_PATH_IMAGE120
并且计算
Figure 419998DEST_PATH_IMAGE121
Figure 465314DEST_PATH_IMAGE122
-针对集合Ss中的所有(i, j)计算
Figure 798207DEST_PATH_IMAGE123
的乘积。
例如,当b=1的时候,针对
Figure 347000DEST_PATH_IMAGE119
中的集合SS的中间值YS的计算可以包括:
·针对[0到n-1]中的i计算
Figure 435041DEST_PATH_IMAGE124
·其中对于[0到n-1]中的i有
Figure 702075DEST_PATH_IMAGE125
,对于
Figure 635396DEST_PATH_IMAGE126
中的所有集合Ss,对于Ss中的所有(i, j),计算
Figure 491225DEST_PATH_IMAGE127
。这样的
Figure 750168DEST_PATH_IMAGE128
等于
Figure 238918DEST_PATH_IMAGE129
·对于
Figure 241509DEST_PATH_IMAGE126
中的所有集合Ss,针对集合Ss中的所有(i, j)计算
Figure 702578DEST_PATH_IMAGE130
的乘积。
例如,当b=2的时候,针对
Figure 866843DEST_PATH_IMAGE131
中的集合SS的中间值YS的计算包括:
·针对[0到n/2 -1]中的i计算
Figure 108468DEST_PATH_IMAGE132
·其中对于[0到n/2 -1]中的i有
Figure 649171DEST_PATH_IMAGE125
;对于
Figure 715478DEST_PATH_IMAGE126
中的所有集合Ss,对于Ss中的所有(i, j),计算
Figure 316224DEST_PATH_IMAGE133
Figure 779566DEST_PATH_IMAGE134
。这样的
Figure 123960DEST_PATH_IMAGE135
值等于
Figure 559620DEST_PATH_IMAGE136
·对于
Figure 65688DEST_PATH_IMAGE126
中的所有集合Ss,针对集合Ss中的所有(i, j)计算
Figure 281906DEST_PATH_IMAGE130
的乘积。
可选地,对于
Figure 164411DEST_PATH_IMAGE137
中的每个w,从通过使用包括索引对(i, j)的所述集合Ss的FHE秘密密钥ps、利用所述FHE算法对每个密钥共享分量
Figure 516895DEST_PATH_IMAGE138
的w次幂的值的加密所得到的值
Figure 380815DEST_PATH_IMAGE139
可以被服务器预计算并且存储,并且然后被传输到客户端设备以计算所述中间值。
可替换地,从通过使用包括索引对(i, j)的所述集合Ss的FHE秘密密钥ps、利用所述FHE算法对
Figure 818749DEST_PATH_IMAGE140
值(如果
Figure 504946DEST_PATH_IMAGE141
则等于1,并且否则等于0)的加密所得到的值
Figure 711936DEST_PATH_IMAGE142
可以被服务器预计算并且存储,并且然后被传输到客户端设备以计算所述中间值。
这样的通过服务器对这些值的预计算为客户端设备减小计算签名的成本,但是增大在客户端设备的存储器中所占据的存储器空间。
可替换地,这些值
Figure 763069DEST_PATH_IMAGE143
Figure 688299DEST_PATH_IMAGE144
可以在运行中(on-the-fly)被重计算,其取决于目标性能(计算时间或所存储的密钥大小)。
此外,与选择b=1相比,选择b=2可以有助于保护免受某些故障攻击。
可选地,在第一或第二签名步骤期间或其之前,客户端设备的处理器可以计算2n/b个值
Figure 912607DEST_PATH_IMAGE145
使得
Figure 239683DEST_PATH_IMAGE146
。然后在第二签名步骤期间,针对集合SS所计算的每个中间值可以在FHE加密之前通过其索引对(i, j)属于所述集合的
Figure 212450DEST_PATH_IMAGE145
值而被掩码化。例如,当b=1的时候,客户端设备可以针对
Figure 359397DEST_PATH_IMAGE147
中的所有集合Ss、针对Ss中的所有(i, j)计算
Figure 387396DEST_PATH_IMAGE148
,而不是计算
Figure 568979DEST_PATH_IMAGE149
。当所有中间值被组合的时候,
Figure 961914DEST_PATH_IMAGE150
值全部被相乘在一起并且消失。它使得对于攻击者而言更难以通过经由以下操作执行安全误差攻击来恢复密钥共享分量:简单地移除值
Figure 861737DEST_PATH_IMAGE151
并且然后检查结果是否已改变。
在第三签名步骤T3中,中间值YS被组合以便检索消息m的签名。取决于每个集合S中的元素的数目t,可以不同地执行该第三步骤T3。当每个集合S中的元素的数目t足够大(例如t=256或t=512)的时候,中间值
Figure 427847DEST_PATH_IMAGE152
可以被解密,并且然后结果可以彼此相乘以得到消息m的签名。的确,于是存在很小的如下风险:即攻击者可以从在形式
Figure 463937DEST_PATH_IMAGE153
下的经解密的中间值推断出与针对其计算了该中间值的集合相关联的密钥共享分量
Figure 90090DEST_PATH_IMAGE154
当每个集合S中的元素的数目t是小的(例如t=4或t=8)的时候,存在如下风险:即攻击者可以从经解密的中间值检索密钥共享分量
Figure 398580DEST_PATH_IMAGE154
,并且然后检索整个私有密钥d。在该情况下,中间值可以在同态加密的形式下被组合直到得到针对足够大数目的密钥共享分量所计算的中间值的等同物为止。由于与不同集合相关联的经加密的密钥共享分量可以是通过使用不同的FHE秘密密钥而被FHE加密的,所以当对于中间值组合而言需要解密的时候,敏感中间值可以在解密之前被掩码化。
更精确地,当每个集合S中的元素的数目t足够大(例如t=256或t=512)的时候,RSA签名的生成包括以下步骤。
在第四签名步骤T31中,对于针对在
Figure 768382DEST_PATH_IMAGE155
中的每个集合SS所计算的每个中间值YS,客户端设备的处理器通过使用集合Ss的FHE秘密密钥ps来执行对所述经计算的中间值YS的解密。
在第五签名步骤T32中,客户端设备的处理器执行将所述经解密的中间值全部相乘在一起。
因而利用DGHV方案,RSA签名的生成包括:
·在第四签名步骤T31中,针对
Figure 924557DEST_PATH_IMAGE155
中的每个集合Ss计算经解密的中间值DYs= YS模 ps 模 N,
·然后在第五签名步骤T32中,将签名
Figure 721611DEST_PATH_IMAGE156
mod N计算为所有DYs模N的乘积。
由于经解密的中间值DYS计算步骤使用集合SS的FHE秘密密钥,并且由于这样的秘密密钥是非常敏感的,所以模糊技术可以用于保护秘密密钥ps
当每个集合S中的元素的数目t是小的(例如t=4或t=8)的时候,存在以下风险:即攻击者可以从经解密的中间值DYS检索密钥共享分量
Figure 268130DEST_PATH_IMAGE157
,并且然后检索整个私有密钥d。为了解决该问题,在同态加密的形式下组合中间值。每个中间值是经FHE加密的值,其利用与针对其计算了中间值的集合相关联的FHE秘密密钥来被加密。由于与不同集合SS相关联的FHE秘密密钥可能不同,所以中间值在被组合之前必须被FHE解密。为了避免计算可以被攻击者读取的经解密的中间值,当对于中间计算而言需要解密的时候,敏感值在解密之前被掩码化。为了组合两个中间值,代替于对两个中间值进行解密,它们可以通过使用相同的FHE秘密密钥来进行加密。为了该目的,可以如下面描述那样来执行密钥切换。
为了组合经计算的中间值,RSA签名的生成T3可以包括针对第一集合SS的第一中间值YS与针对第二集合ST的第二中间值YT的组合,其中SS和ST
Figure 176044DEST_PATH_IMAGE158
中,所述组合接连地包括:
a. 利用掩码来对第一中间值YS进行在先掩码化,所述掩码利用第一集合SS的FHE秘密密钥ps来被FHE加密,
b. 利用第一集合SS的FHE秘密密钥ps来对所述经掩码化的第一中间值进行FHE解密,
c. 利用第二集合ST的FHE秘密密钥pT来对经解密的经掩码化的第一中间值同时进行解除掩码以及FHE加密,
d. 步骤c的结果与第二中间值YT相乘。
在步骤c的结束处,针对集合SS所计算的中间值不再利用与集合SS相关联的FHE秘密密钥pS、而是利用与集合ST相关联的FHE秘密密钥pT来被FHE加密,并且可以因此容易地与针对集合ST所计算的中间值YT组合,并且还利用与集合ST相关联的秘密密钥pT被FHE加密。
在步骤a/中所使用的掩码可以在签名过程开始之前被预计算,并且被客户端设备在经FHE加密的形式下存储。所述方法可以使用加法掩码化或乘法掩码化。可以在步骤c中在乘法掩码化的情况下用于解除掩码的掩码的倒数,或可以在步骤c中在加法掩码化的情况下用于解除掩码的掩码的相反数也可以被预计算并且在经FHE加密的形式下被存储。
可选地,可以针对每个集合预计算若干掩码,并且客户端设备可以针对每个集合、在步骤a/的开始处在所述预计算的掩码之中选择一个掩码以用于使针对所述集合所计算的中间值掩码化。
可选地,可以在每次执行时使经加密的掩码随机化。
在以下段落中,用于组合针对集合SS和ST所计算的两个中间值YS和YT的这样的步骤的实现方式的示例被给出用于DGHV方案。
使用与集合SS相关联的秘密密钥ps对随机值kS的FHE加密ekS可以被预计算:
Figure 186725DEST_PATH_IMAGE159
,其中qS是大随机数,并且rS是小随机数。
使用与集合ST相关联的秘密密钥pT的随机值kS的倒数或相反数invkS的FHE加密einvkS也可以被预计算:
Figure 154681DEST_PATH_IMAGE160
,其中在加法掩码化的情况下
Figure 939228DEST_PATH_IMAGE161
,或者在乘法掩码化的情况下
Figure 650832DEST_PATH_IMAGE162
然后可以执行从SS到ST的密钥切换:
·在步骤a中,通过在乘法掩码化的情况下计算
Figure 781599DEST_PATH_IMAGE163
,或者在加法掩码化的情况下计算
Figure 920457DEST_PATH_IMAGE164
来使中间值YS掩码化。它等于[通过kS被掩码化的
Figure 175989DEST_PATH_IMAGE165
]的
Figure 691284DEST_PATH_IMAGE166
·在步骤b中,结果可以被解密,以得到针对集合SS的经掩码化的经解密的中间值:在乘法掩码化的情况下
Figure 676557DEST_PATH_IMAGE167
,或者在加法掩码化的情况下
Figure 986316DEST_PATH_IMAGE168
·在步骤c中,结果mS可以被解除掩码,并且同时利用pT被同态加密,以便确保其保密性,在乘法掩码化的情况下
Figure 791461DEST_PATH_IMAGE169
Figure 31818DEST_PATH_IMAGE170
,或者在加法掩码化的情况下
Figure 871598DEST_PATH_IMAGE171
Figure 352258DEST_PATH_IMAGE172
·在步骤d中,对应于第一中间值YS、但是利用与ST相关联的FHE秘密密钥pT被加密的wS可以通过计算
Figure 910278DEST_PATH_IMAGE173
而与中间值YT组合。
甚至在组合了两个中间值之后,在步骤d/的结束处被考虑在所组合的中间值内的密钥共享分量的数目可能太小以致无法使能实现对它的安全FHE解密。迭代的过程可以被执行以便将多个中间值组合在一起直到组合结果可以在没有很多安全性风险的情况下被FHE解密。
更精确地,RSA签名的生成可以包括利用相关联于第一集合SS的第一FHE秘密密钥pS而被FHE加密的第一中间值YS与利用相关联于第二集合ST的第二FHE秘密密钥pT而被FHE加密的第二中间值YT的组合,其中SS和ST
Figure 439480DEST_PATH_IMAGE053
中的一个或多个集合的并集。
随机值kS可以已经利用第一FHE秘密密钥ps被FHE加密,以生成针对第一集合SS的经FHE加密的掩码eks,并且随机值kS的倒数或相反数invkS可以已经利用第二集合ST的第二FHE秘密密钥pT被FHE加密,以生成针对第一集合SS的经FHE加密的逆掩码einvks
YS和YT的所述组合可以包括如果第一集合SS的大小在预定值以下,则执行在所述第一集合SS与所述第二集合ST之间的密钥切换,包括:
·利用所述生成的掩码来使第一中间值YS掩码化:
Figure 399346DEST_PATH_IMAGE174
Figure 50907DEST_PATH_IMAGE175
Figure 830644DEST_PATH_IMAGE176
·利用第一FHE秘密密钥ps来对所述经掩码化的第一中间值zS进行FHE解密,以获得经解密的经掩码化的第一中间值mS
·利用第二FHE秘密密钥pT、通过以下操作对经解密的经掩码化的第一中间值mS同时进行解除掩码和FHE加密:将所述经解密的经掩码化的第一中间值mS与针对第一集合SS的所述经FHE加密的逆掩码einvks相乘或求和,以获得第三中间值
Figure DEST_PATH_IMAGE177
Figure 914269DEST_PATH_IMAGE178
·将第二中间值YT与第三中间值wS相乘以用于获得针对集合SS与ST的并集
Figure 728641DEST_PATH_IMAGE061
的第四中间值
Figure 551103DEST_PATH_IMAGE062
Figure DEST_PATH_IMAGE179
然后,如果所述第一集合SS与所述第二集合ST的并集
Figure 755820DEST_PATH_IMAGE061
的大小大于所述预定值,则利用第二集合ST的第二FHE秘密密钥pT来对所述第四中间值
Figure 954720DEST_PATH_IMAGE062
进行FHE解密;
否则,可以再次通过以下操作执行相同的步骤:使用第四中间值
Figure 623599DEST_PATH_IMAGE062
作为针对作为第一集合的并集
Figure 616963DEST_PATH_IMAGE061
的第一中间值,其中第二FHE秘密密钥pT作为第一FHE秘密密钥;并且使用第五中间值YV作为针对作为第二集合的第三集合SV的第二中间值,其中SV是没有已经被包括在并集
Figure 558243DEST_PATH_IMAGE061
中的
Figure 560834DEST_PATH_IMAGE180
中的一个或多个集合的并集。
为了能够预计算经FHE加密形式的用作掩码的随机数的倒数或相反数,可以预限定以之组合中间值的次序。客户端设备然后可以针对
Figure 84219DEST_PATH_IMAGE180
中的每个SS集合计算随机值及其倒数或相反值,所述随机值利用与集合SS相关联的秘密密钥被加密,所述倒数或相反值利用与遵循预限定的次序在集合SS之后的下一个集合相关联的秘密密钥来被加密。
一旦多个集合
Figure DEST_PATH_IMAGE181
的并集的大小足够大(例如与
Figure 248484DEST_PATH_IMAGE182
有关的密钥共享分量总计为256位或512位),在其中每个集合S中的元素的数目t足够大的情况下,就可以如上文所描述的那样利用其它经解密的值来对经组合的中间值进行解密和组合。
在此处上文所描述的实施例中,限定哪个FHE秘密密钥应当用于对每个密钥共享分量进行FHE加密的(i, j)对到集合
Figure DEST_PATH_IMAGE183
中的划分由服务器选择并且由客户端设备使用。这样的解决方案是高效的,但是具有是静态的主要缺陷。直到服务器限定了新集合为止,客户端设备将在随后的签名生成中使用相同的图案:集合中经加密的密钥共享分量分组将是相同的,并且在给定集合的所有密钥共享分量上执行计算的步骤将保持一个签名接一个签名地在相同的密钥共享分量上执行计算。攻击者可以利用这样的图案,并且在对若干签名生成的多个攻击之后检索密钥共享分量。
在另一实施例中,客户端设备可以无视由服务器生成的集合并且生成其自己的集合,可能地用于每个签名生成。然而,在这样的实施例中,服务器在生成安全RSA密钥的时候不知道在客户端侧上的相同集合中将收集哪些密钥共享分量。当针对给定的集合计算中间值的时候,与该集合相关联的这样的密钥共享分量将被组合在一起,如在此处上文的第二签名步骤T2中所描述的。为了这样做,并且由于这样的组合在经FHE加密的形式下被执行,所以在此处上文所描述的第三生成步骤S3中由服务器所生成的经加密的密钥共享分量应当全部利用单个FHE秘密密钥来被加密。作为结果,在该实施例中,集合Ss的FHE秘密密钥ps应当全部是相同的。
在该实施例中,客户端设备可以生成集合
Figure 427793DEST_PATH_IMAGE072
并且针对每个集合
Figure 968495DEST_PATH_IMAGE072
计算中间值YS。如在图7上所描绘的,根据本发明的第三方面的通过客户端设备对消息m的RSA签名的安全生成方法于是有一点不同于根据本发明的第二方面的安全生成方法。在应用该方法之前,服务器通过应用根据第一方面的方法来生成安全RSA密钥,并且其中集合Ss的FHE秘密密钥ps全部是相同的。
在第一可替换的签名步骤T’1中,客户端设备的处理器经由其天线而从服务器接收所生成的经加密的密钥共享分量
Figure 346387DEST_PATH_IMAGE184
,其中j在
Figure 635548DEST_PATH_IMAGE030
中,并且i在
Figure 98891DEST_PATH_IMAGE031
中。
在第二可替换的签名步骤T’2中,客户端设备的处理器生成预定整数数目v的不相交集合
Figure DEST_PATH_IMAGE185
,使得:
Figure 443284DEST_PATH_IMAGE069
={(i,j)使得i在
Figure 613366DEST_PATH_IMAGE031
中,j在
Figure 385013DEST_PATH_IMAGE030
中}。在
Figure 335651DEST_PATH_IMAGE186
之中的每个所述集合
Figure 218156DEST_PATH_IMAGE072
与服务器用来对密钥共享分量进行加密的全同态加密(FHE)秘密密钥ps相关联。
在第三可替换的签名步骤T’3中,客户端设备的处理器根据其索引对(i, j)被包括在
Figure DEST_PATH_IMAGE187
中的所述经加密的密钥共享分量
Figure 757591DEST_PATH_IMAGE188
以及根据所述消息m来针对
Figure DEST_PATH_IMAGE189
中的每个集合
Figure 700139DEST_PATH_IMAGE187
计算中间值YS,使得所述经计算的中间值是在经FHE加密的形式下的所述消息m的RSA签名的部分。
最后,在第四可替换的签名步骤T’4中,客户端设备的处理器通过组合针对所有集合
Figure 138074DEST_PATH_IMAGE187
的所述经计算的中间值来生成所述消息m的RSA签名。
除了使用集合
Figure 761953DEST_PATH_IMAGE190
而不是集合
Figure DEST_PATH_IMAGE191
之外,第三和第四可替换的签名步骤T’3和T’4的详细实现方式可以相应地与上文所描述的第二和第三签名步骤T2和T3的实现方式相同。
在实施例中,可以取决于所述消息m而执行所述不相交集合
Figure 968944DEST_PATH_IMAGE192
的生成。
以下段落描述了如在图8上所描绘的、根据本发明的第四方面的由客户端设备对经RSA加密的消息c进行安全RSA解密的方法的步骤。消息c已经利用公共RSA密钥而被加密,所述公共RSA密钥与按根据本发明的第一方面的方法所生成的安全私有RSA密钥形成密钥对。
在第一解密步骤D1中,客户端设备的处理器经由其天线而从服务器接收所生成的经加密的密钥共享分量
Figure DEST_PATH_IMAGE193
,其中j在
Figure 770809DEST_PATH_IMAGE030
中,并且i在
Figure 696039DEST_PATH_IMAGE031
中。
在第二解密步骤D2中,客户端设备的处理器根据其索引对(i, j)被包括在SS中的所述经加密的密钥共享分量
Figure 920347DEST_PATH_IMAGE193
以及根据所述经加密的消息c来针对
Figure 247423DEST_PATH_IMAGE194
中的每个集合SS计算中间值YS,使得所述经计算的中间值是在经FHE加密的形式下的经RSA解密的消息m的部分。
在第三解密步骤D3中,客户端设备的处理器通过组合针对所有集合的所述经计算的中间值来对经RSA加密的消息c进行解密。
除了在签名步骤中应用于消息m的计算被应用于经RSA加密的消息c之外,每个步骤的实现方式可以与上文描述的对应的签名步骤的实现方式相同。

Claims (17)

1.一种通过服务器(103)生成安全RSA密钥的方法,其包括如下步骤:
·生成(S1)私有RSA密钥d和RSA模数整数N,其中N和d是整数;
·将私有密钥d拆分(S2)到J个长度n的密钥共享物dj中,其中n = log2 N,j在
Figure DEST_PATH_IMAGE001
中,J是整数,并且使得
Figure DEST_PATH_IMAGE002
,其中每个密钥共享物dj等于
Figure DEST_PATH_IMAGE003
,其中每个密钥共享分量
Figure DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE005
中,并且i在
Figure DEST_PATH_IMAGE006
中,b是小于n的整数,并且phi是欧拉函数;
·通过使用与包括索引对(i, j)的集合Ss相关联的全同态加密秘密密钥ps、利用全同态加密(FHE)算法来对私有RSA密钥d的每个密钥共享分量
Figure DEST_PATH_IMAGE007
进行加密(S3),以生成所述安全RSA密钥的经加密的密钥共享分量
Figure DEST_PATH_IMAGE008
所述集合Ss是在预定整数数目u的不相交集合
Figure DEST_PATH_IMAGE009
之中的整数对的集合,其被生成使得:
Figure DEST_PATH_IMAGE010
={(i,j)使得i在
Figure DEST_PATH_IMAGE011
中,j在
Figure DEST_PATH_IMAGE012
中},并且
Figure DEST_PATH_IMAGE013
之中的每个所述集合与全同态加密(FHE)秘密密钥相关联。
2.根据权利要求1所述的方法,其中所述集合的所述FHE秘密密钥全部是相同的。
3.根据权利要求1所述的方法,其中
Figure 331417DEST_PATH_IMAGE013
至少包括第一集合和第二集合,使得与第一集合相关联的FHE秘密密钥不同于与第二集合相关联的FHE秘密密钥。
4.根据权利要求1所述的方法,其中所述全同态加密算法是DGHV(Dijik, Gentry,Halevi, Vaikuntanathan)方案,使得利用FHE秘密密钥p被FHE加密的针对ZN中的数据m的密文c等于
Figure DEST_PATH_IMAGE014
,其中q是随机整数,r是随机整数,N是RSA模数,并且ZN是模数N的整数环,使得
Figure DEST_PATH_IMAGE015
,其中CS
Figure 920662DEST_PATH_IMAGE013
中的任何集合SS的元素的最大数目,并且使得通过计算
Figure DEST_PATH_IMAGE016
来破译密文c。
5.一种通过客户端设备(102)利用根据权利要求1所生成的安全RSA密钥对消息m的RSA签名的安全生成方法,所述方法包括如下步骤:
·从服务器(103)接收(T1)所生成的经加密的密钥共享分量
Figure DEST_PATH_IMAGE017
,其中j在
Figure 638082DEST_PATH_IMAGE012
中,并且i在
Figure DEST_PATH_IMAGE018
中;
·根据其索引对(i, j)被包括在SS中的所述经加密的密钥共享分量
Figure 564450DEST_PATH_IMAGE017
以及根据所述消息m来针对
Figure 785346DEST_PATH_IMAGE013
中的每个集合SS计算(T2)中间值YS,使得所述经计算的中间值是在经FHE加密的形式下的所述消息m的RSA签名的部分;
·通过组合针对所有集合的所述经计算的中间值来生成(T3)所述消息m的RSA签名。
6.一种通过客户端设备(102)对利用公共RSA密钥被加密的经RSA加密的消息c进行安全RSA解密的方法,所述公共RSA密钥与根据权利要求1所生成的安全私有RSA密钥形成密钥对,所述方法包括如下步骤:
·从服务器(103)接收(D1)所生成的经加密的密钥共享分量
Figure DEST_PATH_IMAGE019
,其中j在
Figure 138967DEST_PATH_IMAGE012
中并且i在
Figure 671580DEST_PATH_IMAGE018
中;
·根据其索引对(i, j)被包括在SS中的所述经加密的密钥共享分量
Figure 509961DEST_PATH_IMAGE019
以及根据所述经加密的消息c来针对
Figure DEST_PATH_IMAGE020
中的每个集合SS计算(D2)中间值YS,使得所述经计算的中间值是在经FHE加密的形式下的经RSA解密的消息m的部分;
·通过组合针对所有集合的所述经计算的中间值来对经加密的消息c进行解密(D3)。
7.根据权利要求5所述的消息m的RSA签名
Figure DEST_PATH_IMAGE021
的安全生成方法,其中针对
Figure DEST_PATH_IMAGE022
中的集合SS的中间值YS的计算(T2)包括:
·对于Ss中的所有(i, j),计算
Figure DEST_PATH_IMAGE023
,并且计算
Figure DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE025
·针对集合Ss中的所有(i, j),计算
Figure DEST_PATH_IMAGE026
的乘积。
8.根据权利要求7所述的方法,其中对于
Figure DEST_PATH_IMAGE027
中的每个w,从通过使用包括索引对(i,j)的所述集合Ss的FHE秘密密钥ps、利用所述FHE算法对每个密钥共享分量
Figure DEST_PATH_IMAGE028
的w次幂
Figure DEST_PATH_IMAGE029
的值的加密所得到的值
Figure DEST_PATH_IMAGE030
被服务器计算并且存储,并且然后被传输到客户端设备以计算所述中间值,或者其中对于
Figure 962195DEST_PATH_IMAGE027
中的每个w,从通过使用包括索引对(i, j)的所述集合Ss的FHE秘密密钥ps、利用所述FHE算法对值
Figure DEST_PATH_IMAGE031
的加密所得到的值
Figure DEST_PATH_IMAGE032
被服务器计算并且存储,并且然后被传输到客户端设备以计算所述中间值。
9.根据权利要求5所述的方法,其中以之针对
Figure DEST_PATH_IMAGE033
中的每个集合SS计算中间值YS的次序是随机的。
10.根据权利要求5所述的方法,其中RSA签名的生成(T3)包括:
·对于针对
Figure DEST_PATH_IMAGE034
中的每个集合SS所计算的每个中间值YS,通过使用集合Ss的FHE秘密密钥ps来对所述经计算的中间值YS进行解密(T31),
·并且将所述经解密的中间值全部相乘(T32)在一起。
11.根据权利要求5所述的方法,其中RSA签名的生成(T3)包括针对第一集合SS的第一中间值YS与针对第二集合ST的第二中间值YT的组合,其中SS和ST
Figure 299767DEST_PATH_IMAGE013
中,所述组合接连地包括:
a. 利用掩码来对第一中间值YS进行在先掩码化,所述掩码利用第一集合SS的FHE秘密密钥ps来被FHE加密,
b. 利用第一集合SS的FHE秘密密钥ps来对所述经掩码化的第一中间值进行FHE解密,
c. 利用第二集合ST的FHE秘密密钥pT来对经解密的经掩码化的第一中间值同时进行解除掩码和FHE加密,
d. 将步骤c的结果与第二中间值YT相乘。
12.根据权利要求5所述的方法,其中RSA签名的生成(T3)包括:
·利用相关联于第一集合SS的第一FHE秘密密钥pS而被FHE加密的第一中间值YS与利用相关联于第二集合ST的第二FHE秘密密钥pT而被FHE加密的第二中间值YT的组合,其中SS和ST
Figure DEST_PATH_IMAGE035
中的一个或多个集合的并集,
其中随机值kS已经利用第一FHE秘密密钥ps被FHE加密以生成针对第一集合SS的经FHE加密的掩码eks
并且其中随机值kS的倒数或相反数invkS已经利用第二集合ST的第二FHE秘密密钥pT被FHE加密,以生成针对第一集合SS的经FHE加密的逆掩码einvks
所述组合包括如果第一集合SS的大小在预定值以下,则执行在所述第一集合SS与所述第二集合ST之间的密钥切换,包括:
Figure DEST_PATH_IMAGE036
利用所述所生成的掩码来使第一中间值YS掩码化:
Figure DEST_PATH_IMAGE037
Figure DEST_PATH_IMAGE038
Figure 788517DEST_PATH_IMAGE036
利用第一FHE秘密密钥ps来对所述经掩码化的第一中间值zS进行FHE解密,以获得经解密的经掩码化的第一中间值mS
Figure 165009DEST_PATH_IMAGE036
利用第二FHE秘密密钥pT来通过以下操作对经解密的经掩码化的第一中间值mS同时进行解除掩码以及FHE加密:将所述经解密的经掩码化的第一中间值mS与针对第一集合SS的所述经FHE加密的逆掩码einvks相乘或求和,以获得第三中间值
Figure DEST_PATH_IMAGE039
Figure DEST_PATH_IMAGE040
Figure 485132DEST_PATH_IMAGE036
将第二中间值YT与第三中间值wS相乘以用于获得针对集合SS与ST的并集
Figure DEST_PATH_IMAGE041
的第四中间值
Figure DEST_PATH_IMAGE042
Figure DEST_PATH_IMAGE043
·如果所述第一集合SS和所述第二集合ST的并集
Figure 259184DEST_PATH_IMAGE041
的大小大于所述预定值,则利用第二集合ST的第二FHE秘密密钥pT来对所述第四中间值
Figure 500810DEST_PATH_IMAGE042
进行FHE解密;
·否则通过以下操作来执行权利要求11的步骤:使用第四中间值
Figure 41512DEST_PATH_IMAGE042
作为针对作为第一集合的并集
Figure 950563DEST_PATH_IMAGE041
的第一中间值,其中第二FHE秘密密钥PT作为第一FHE秘密密钥;并且使用第五中间值YV作为针对作为第二集合的第三集合SV的第二中间值,其中SV是没有已经被包括在并集
Figure 426674DEST_PATH_IMAGE041
中的
Figure DEST_PATH_IMAGE044
中的一个或多个集合的并集。
13.一种通过客户端设备利用根据权利要求2所生成的安全RSA密钥对消息m的RSA签名的安全生成方法,所述方法包括如下步骤:
·从服务器接收(T’1)所生成的经加密的密钥共享分量
Figure DEST_PATH_IMAGE045
,其中j在
Figure 690401DEST_PATH_IMAGE012
中,并且i在
Figure DEST_PATH_IMAGE046
中;
·生成(T’2)预定整数数目v的不相交集合
Figure DEST_PATH_IMAGE047
Figure DEST_PATH_IMAGE048
,使得:
Figure DEST_PATH_IMAGE049
={(i,j)使得i在
Figure 238057DEST_PATH_IMAGE018
中,j在
Figure 876980DEST_PATH_IMAGE012
中},并且
Figure DEST_PATH_IMAGE050
之中的每个所述集合
Figure 179786DEST_PATH_IMAGE041
与服务器用于对所述密钥共享分量进行加密的全同态加密(FHE)秘密密钥ps相关联;
·根据其索引对(i, j)被包括在
Figure DEST_PATH_IMAGE051
中的所述经加密的密钥共享分量
Figure DEST_PATH_IMAGE052
以及根据所述消息m来针对
Figure DEST_PATH_IMAGE053
中的每个集合
Figure 333686DEST_PATH_IMAGE051
计算中间值YS,使得所述经计算的中间值是在经FHE加密的形式下的所述消息m的RSA签名的部分;
·通过组合针对所有集合
Figure 855672DEST_PATH_IMAGE051
的所述经计算的中间值来生成所述消息m的RSA签名。
14.根据权利要求13所述的方法,其中取决于所述消息来执行对所述不相交的集合
Figure DEST_PATH_IMAGE054
Figure DEST_PATH_IMAGE055
的生成。
15.一种计算机可读介质,在其上存储有软件代码指令,所述软件代码指令在被执行时使得计算机执行权利要求1或5的步骤。
16.一种服务器(103),其包括:被配置成执行权利要求1的步骤的处理器(401);被配置成存储所述安全RSA密钥的所述密钥共享分量的存储器(402);以及用于发送所述安全RSA密钥的所述密钥共享分量的接口(403)。
17.一种客户端设备(102),其包括:存储器(203, 204, 205);和处理器(201),所述处理器(201)被配置成执行权利要求5的计算和生成步骤;以及用于接收所述安全RSA密钥的所述密钥共享分量的接口(207)。
CN201780085864.XA 2016-12-08 2017-12-06 使用同态加密被保护的rsa签名或解密的方法 Active CN110235409B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16203039.9 2016-12-08
EP16203039.9A EP3334083A1 (en) 2016-12-08 2016-12-08 Method of rsa signature or decryption protected using a homomorphic encryption
PCT/EP2017/081756 WO2018104412A1 (en) 2016-12-08 2017-12-06 Method of rsa signature or decryption protected using a homomorphic encryption

Publications (2)

Publication Number Publication Date
CN110235409A CN110235409A (zh) 2019-09-13
CN110235409B true CN110235409B (zh) 2022-08-26

Family

ID=57544247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780085864.XA Active CN110235409B (zh) 2016-12-08 2017-12-06 使用同态加密被保护的rsa签名或解密的方法

Country Status (4)

Country Link
US (2) US11233659B2 (zh)
EP (2) EP3334083A1 (zh)
CN (1) CN110235409B (zh)
WO (1) WO2018104412A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184149B2 (en) * 2019-02-19 2021-11-23 International Business Machines Corporation Computing range queries over encrypted data
EP3713148B1 (en) * 2019-03-22 2022-08-03 Giesecke+Devrient Mobile Security GmbH White-box ecc implementation
US20220329439A1 (en) * 2019-08-05 2022-10-13 Securify Bilisim Teknolojileri Ve Guvenligi Egt. Dan. San. Ve Tic. Ltd. Sti. Method for generating digital signatures
WO2021041676A1 (en) * 2019-08-27 2021-03-04 Intertrust Technologies Corporation Multi-party cryptographic systems and methods
CN110650010B (zh) * 2019-09-24 2022-04-29 支付宝(杭州)信息技术有限公司 一种非对称密钥中的私钥生成和使用方法、装置和设备
CN110798313B (zh) * 2019-10-31 2020-10-02 武汉理工大学 基于秘密动态共享的包含秘密的数的协同生成方法及系统
CN111030811B (zh) * 2019-12-13 2022-04-22 支付宝(杭州)信息技术有限公司 一种数据处理的方法
EP3873023A1 (en) * 2020-02-25 2021-09-01 Thales Dis France Sa Method for testing if a data element belongs to a list of reference data elements
EP4154142A4 (en) * 2020-05-19 2023-10-25 Visa International Service Association SYSTEMS AND METHODS FOR BINDING A WHITEBOX DEVICE
CN111931207B (zh) * 2020-08-07 2024-04-09 北京百度网讯科技有限公司 获得隐私集合交集的方法、装置、设备及存储介质
CN112769539B (zh) * 2020-12-30 2023-09-22 航天信息股份有限公司 一种生成rsa密钥并协同rsa签名和解密的方法及系统
EP4300873A1 (de) * 2022-06-30 2024-01-03 Siemens Mobility GmbH Verfahren zur datenverarbeitung in einer rechenumgebung mit verteilten computern und bahntechnische applikation
CN115396103B (zh) * 2022-10-26 2023-03-24 杭州海康威视数字技术股份有限公司 基于白盒密钥的ai数据共享方法、系统和装置
CN115865349B (zh) * 2023-02-24 2023-05-09 蓝象智联(杭州)科技有限公司 一种一方加密多方联合解密的数据加解密方法
CN117134910B (zh) * 2023-10-24 2024-03-15 深圳市纽创信安科技开发有限公司 一种密钥共享方法、系统及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016141860A1 (en) * 2015-03-09 2016-09-15 Jintai Ding Hybrid fully homomorphic encryption (f.h.e.) systems
CN106161034A (zh) * 2015-05-08 2016-11-23 恩智浦有限公司 使用乘法秘密共享的rsa解密

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000049768A1 (en) * 1999-02-17 2000-08-24 Thomas Mittelholzer Method for signature splitting to protect private keys
FR2842052B1 (fr) * 2002-07-05 2004-09-24 France Telecom Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions
US20160365973A1 (en) * 2012-10-30 2016-12-15 Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno Secure Distribution of Watermarked Content
US9306738B2 (en) * 2012-12-21 2016-04-05 Microsoft Technology Licensing, Llc Managed secure computations on encrypted data
US9264221B2 (en) * 2014-01-31 2016-02-16 Google Inc. Systems and methods for faster public key encryption using the associated private key portion
US9680647B2 (en) * 2014-03-24 2017-06-13 Infineon Technologies Ag Method of using a token in cryptography
US9949115B2 (en) * 2014-06-10 2018-04-17 Qualcomm Incorporated Common modulus RSA key pairs for signature generation and encryption/decryption
FR3027177B1 (fr) * 2014-10-13 2016-11-04 Morpho Procede d'authentification d'un dispositif client aupres d'un serveur a l'aide d'un element secret

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016141860A1 (en) * 2015-03-09 2016-09-15 Jintai Ding Hybrid fully homomorphic encryption (f.h.e.) systems
CN106161034A (zh) * 2015-05-08 2016-11-23 恩智浦有限公司 使用乘法秘密共享的rsa解密

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A Privacy Preserving of Composite Private/Public Key in Cloud Servers;OS Nagesh;《International Journal of Computer Trends and Technology (IJCTT)》;20140325;全文 *

Also Published As

Publication number Publication date
EP3552338A1 (en) 2019-10-16
US11233659B2 (en) 2022-01-25
WO2018104412A1 (en) 2018-06-14
EP3334083A1 (en) 2018-06-13
US20200076614A1 (en) 2020-03-05
EP3552338B1 (en) 2021-07-28
US20220141038A1 (en) 2022-05-05
CN110235409A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
CN110235409B (zh) 使用同态加密被保护的rsa签名或解密的方法
US9954676B2 (en) Protecting a white-box implementation against attacks
EP2924677B1 (en) Splitting s-boxes in a white-box implementation to resist attacks
US10097342B2 (en) Encoding values by pseudo-random mask
US11063743B2 (en) Method of RSA signature of decryption protected using assymetric multiplicative splitting
EP3169017B1 (en) Split-and-merge approach to protect against dfa attacks
Iyer et al. A novel idea on multimedia encryption using hybrid crypto approach
US9485226B2 (en) Method for including an implicit integrity or authenticity check into a white-box implementation
CN107273724B (zh) 为白盒实施方案的输入和输出加水印
US9363244B2 (en) Realizing authorization via incorrect functional behavior of a white-box implementation
Kumar et al. A survey on current key issues and status in cryptography
US11870913B2 (en) Method for generating a digital signature of an input message
EP2960891B1 (en) Method for introducing dependence of white-box implementationon a set of strings
Cordova et al. Comparative analysis on the performance of selected security algorithms in cloud computing
Mateescu et al. A hybrid approach of system security for small and medium enterprises: Combining different cryptography techniques
Chavan et al. Data transmission using RSA algorithm
Al-Attab et al. Lightweight effective encryption algorithm for securing data in cloud computing
Dodmane A new hybrid symmetric-key technique to enhance data security of textual information using random number generator
US20230138384A1 (en) Method for securely performing a public key algorithm
EP2940919A1 (en) Realizing authorization via incorrect functional behavior of a white-box implementation
Haria et al. Enhanced image encryption using AES algorithm with CBC mode: a secure and efficient approach
Veeran et al. Cryptography Analysis Through Hybrid Model Algorithm
Barker et al. Techniques to Enhance Security of an Authentication Protocol
Boupo Hybrid Cloud: Multi-factor authentication, a solution to Hybrid cloud in an enterprise environment
Sun et al. Simple backdoors on RSA modulus by using RSA vulnerability

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
CP01 Change in the name or title of a patent holder

Address after: French Meudon

Patentee after: Thales Digital Security France

Address before: French Meudon

Patentee before: GEMALTO S.A.

CP01 Change in the name or title of a patent holder
TR01 Transfer of patent right

Effective date of registration: 20230406

Address after: French Meudon

Patentee after: Thales Digital Security France Easy Stock Co.

Address before: French Meudon

Patentee before: Thales Digital Security France

TR01 Transfer of patent right