CN107852324B - 用于加密消息的方法和加密节点 - Google Patents

用于加密消息的方法和加密节点 Download PDF

Info

Publication number
CN107852324B
CN107852324B CN201580080353.XA CN201580080353A CN107852324B CN 107852324 B CN107852324 B CN 107852324B CN 201580080353 A CN201580080353 A CN 201580080353A CN 107852324 B CN107852324 B CN 107852324B
Authority
CN
China
Prior art keywords
encryption
node
message
noise factors
ciphertext
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.)
Expired - Fee Related
Application number
CN201580080353.XA
Other languages
English (en)
Other versions
CN107852324A (zh
Inventor
克里斯汀·约斯特
哈·拉姆
亚历山大·马克西莫夫
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN107852324A publication Critical patent/CN107852324A/zh
Application granted granted Critical
Publication of CN107852324B publication Critical patent/CN107852324B/zh
Expired - Fee Related 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/304Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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
    • 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

Landscapes

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

Abstract

一种用于根据所选择的加密方案提供消息m的加密的方法和加密节点(300)。事先由加密节点(300)根据随机数和所选择的加密方案的预定义的整数参数来预先计算(3:1)k个噪声因子的集合。保存(300a)该k个噪声因子,以便用于在客户端(302)稍后请求(3:2)时加密消息m。然后从预先计算的k个噪声因子的集合中选择(3:3)l个噪声因子的子集,并在通过计算密文c来加密(3:5)消息m时用作加密方案的输入,密文c作为加密消息被传送(3:6)到例如客户端(302)。因此,在接收到加密请求之后需要花费更少的时间来计算必要的噪声因子,并且因此可以实现要加密的消息的更高的吞吐量。特别地,该解决方案可以用于增加消息流的吞吐量。

Description

用于加密消息的方法和加密节点
技术领域
本公开总体上涉及用于提供消息的加密的方法和加密节点。
背景技术
在数据处理和分析领域,不同的公司、企业、组织和机构等客户需要硬件和软件资源以执行各种数据处理操作,例如,当分析与用户有关的各种记录的信息以从中提取知识和统计数据时便是如此。这种数据分析中涉及的处理可能相当复杂且计算量大,需要相当大的容量来执行数据处理。
传统上,客户自己可能拥有并维护他们所需的用于数据处理的所有资源,但这可能是相当昂贵和耗时的。例如,通常首先需要相当多的知识和技能来找出需要什么类型的资源,然后获取和安装这些资源。因此,客户通常需要雇用熟练的员工和/或聘请顾问来实现资源的有效部署。而且,随着计算机和软件领域中的技术的迅速发展和进步,购买或租用的资源往往很快就过时,必须经常用功能更好的新资源来取代,这当然也是昂贵和耗时的。
另一个问题是客户可能在非常有限的时间内需要大量的资源来进行一年一次或几次的例如与经济、统计或存货清单有关的某个大型计算操作,而在剩余时间内使用的资源很少。因此,客户必须对资源进行足够的投资以应对这种高峰使用,并且当需求和运营随时间而变化时进行应对。
近年来,客户可以租借并利用例如位于大型数据中心的资源进行数据处理,这些数据中心包括大量的处理器、计算机和数据存储设备,通常被称为云计算或简称为“云”,因此可以被许多客户共享。实际上,从这样的数据中心可以获得所有需要的资源,客户不必自己投资,而是可以将处理和分析外包给云中的资源或类似的资源。
有时候,要处理的数据可能包含对暴露程度敏感的元素或者在隐私和/或完整性方面敏感的元素,这意味着希望保护数据不被暴露给任何未授权方。因此,将未受保护的数据发送到隐私和完整性可能受到危害的任何环境(如云中的共享资源)可能被认为是不安全的。在这种情况下,可以认为云或类似的共享环境被认为是不可信的。解决这个问题的方法是在将数据发送到云或类似的共享环境之前加密数据。然而,今天的许多常见的加密方法具有这样的缺点,即在能够对加密的数据进行任何计算或分析之前,加密的数据必须被解密。通过使用所谓的同态加密方法,实际上可以对加密的数据进行某些计算而不必首先解密数据。
可以通过使用所谓的全同态加密(FHE)方案来实现这种加密,尽管目前已知的FHE方案相对复杂且执行时相当慢。因此,在实践中,实现在复杂性和时间方面具有更好性能的部分同态加密(PHE)方案有时会更具吸引力。
加法是在许多用例中需要的一些基本的计算操作之一。所谓的Paillier密码***在本领域是已知的,并且它是一个加法的PHE方案,可以用于对加密的数据执行加法操作,而不用解密数据。在本公开中,术语“消息”将被用于表示在进一步处理和分析之前要被加密的一组数据。因此在这个上下文中的消息包括可以用于加法计算的数值。
更详细地说,Paillier的PHE方案满足以下属性,
Enc(m1+m2)=Enc(m1)·Enc(m2)
其中m1和m2是明文中的两个不同的数据组或消息,而“Enc”是获取密文的加密函数。上面的属性使得可以通过根据上述表达式将相应的密文Enc(m1)和Enc(m2)相乘来计算明文之和m1+m2的加密。这个属性进而可以用来对加密数据执行计算,而不需要先解密数据。
Paillier密码***在发表于J.Stern,Ed.,Advances in Cryptology-EUROCRYPT’99.vol.1592 of Lecture Notes in Computer Science,pp.223-238,Springer-Verlag,1999中的Pascal Paillier的文章“Public-Key Cryptosystems Based on CompositeDegree Residuosity Classes”中有更详细的描述。Paillier密码***具有不同的变体,表示为“方案3”的变体能够提供上述属性。
因此,希望在云环境等中处理之前加密任何敏感消息,同时通过使用诸如上述Paillier密码***这样的同态加密来保持数据为加密形式。使用Paillier密码***的这种消息加密通常是相当复杂的操作,需要大量计算,并且经常采用专门的加密节点来代表客户端执行加密操作。图1示意性地示出了加密节点100在动作1∶1中从客户端102接收对消息m的加密请求。作为对此的响应,加密节点100在另一个动作1∶2中使用诸如上述Paillier密码***这样的同态加密,通过将消息m转换或翻译成密文c来执行消息的加密。
然后,加密节点100在动作1∶3中将密文c作为消息m的加密形式返回给客户端102,而最终动作1∶4则示出了客户端102向“云”104发送对用于处理加密形式的消息(即密文c)的处理资源的请求。如上所述,可以对用同态加密方案加密的密文执行某些处理操作。例如,当密文根据Paillier密码***进行了加密时,通过对相应的密文执行乘法,可以对消息执行加法。
然而,存在的问题是,使用上述Paillier密码***的加密操作涉及相当复杂和耗时的计算,在需要高数据吞吐量以实现某些分析操作的情况下可能无法采用这种加密操作。例如,可能需要加密具有高吞吐量的传入数据流。作为大数据分析中用例场景的一个例子,可能会发生如下情况,即数据集或消息从多个来源以高速发出,要对它们进行加密并发送到第三方的数据资源(例如在不受信任的云服务和数据库中)以供进一步分析。在这种情况下,Paillier密码***可能无法加密具有足够高的吞吐量的传入数据流,从而成为需要高数据吞吐量的应用的瓶颈。
发明内容
本文描述的实施例的目的是解决上面概述的至少一些问题和疑难。通过使用所附独立权利要求中定义的方法和加密节点可以实现该目的和其它目的。
根据一个方面,由通信***的加密节点执行一种用于根据所选择的加密方案提供消息m的加密的方法。在所述方法中,所述加密节点将k个噪声因子的集合{s1,...,sk}预先计算为
Figure BDA0001481020150000041
其中k和N是所选择的加密方案的预定义的整数参数,r1,...,rk是随机数。
当从客户端接收用于所述消息m的加密的请求时,所述加密节点从预先计算的k个噪声因子的集合中选择l个噪声因子的子集
Figure BDA0001481020150000042
并且对于随机值R,作为所选择的l个噪声因子的子集的乘积对N取模后的结果来计算hR mod N,其中R是l个噪声因子的子集中的随机数
Figure BDA0001481020150000043
的总和
Figure BDA0001481020150000044
使得
Figure BDA0001481020150000045
加密节点然后通过以如下方式计算密文c来加密所述消息m:
c=gm·hR mod N
其中g是所选择的加密方案的预定义的整数参数;并且将所述密文c作为加密消息进行传送。
根据另一个方面,加密节点被布置为根据所选择的加密方案在通信***中提供消息m的加密。所述加密节点包括处理器和包含所述处理器可执行的指令的存储器,由此所述加密节点被配置为:
-将k个噪声因子的集合{s1,...,sk}预先计算为
Figure BDA0001481020150000046
其中h和N是所选择的加密方案的预定义的整数参数,r1,...,rk是随机数;
-从客户端接收用于所述消息m的加密的请求;
-从预先计算的k个噪声因子的集合中选择l个噪声因子的子集
Figure BDA0001481020150000047
-对于随机值R,作为所选择的l个噪声因子的子集的乘积对N取模后的结果来计算hR mod N,其中R是l个噪声因子的子集中的随机数
Figure BDA0001481020150000048
的总和
Figure BDA0001481020150000049
使得
Figure BDA00014810201500000410
-通过以如下方式计算密文c来加密所述消息m:
c=gm·hR mod N
其中g是所选择的加密方案的预定义的整数参数;以及
-将所述密文c作为加密消息进行传送。
通过采用上述方法和加密节点,在接收到加密请求后,需要花费较少的时间来计算必要的噪声因子,从而可以实现要加密的消息的更高的吞吐量。特别地,上述方法和加密节点可以用于增加消息流的吞吐量。
上述方法和加密节点可以根据不同的可选实施例进行配置和实现,以实现更多的特征和优点,下面将对此进行描述。
还提供了一种包括指令的计算机程序存储产品,所述指令在加密节点的至少一个处理器上执行时,使所述至少一个处理器执行所述加密节点的上述方法。
附图说明
现在将利用示例性实施例并参考如下附图更详细地描述该解决方案,其中:
图1是示出根据现有技术的客户端如何获得要在处理资源的云中处理的消息的加密的通信场景。
图2是示出根据一些可能实施例的加密节点中的过程的流程图。
图3是示出了根据其他可能实施例的如何通过加密节点来使用该解决方案的示例的通信场景。
图4是更详细地示出了根据其他可能实施例的加密节点的框图。
具体实施方式
简而言之,提供了一种解决方案,以使得能够更加快速地加密要处理的消息,该消息例如要在隐私和完整性可能受到危害的潜在不安全或不可信的环境中处理(诸如当使用共享处理资源的云时)。在此解决方案中,如将在本文中更详细地描述的那样,作为对来自客户端的传入消息的加密,将预先计算的噪声因子用于计算密文,从而与先前的解决方案相比实现了更高的消息吞吐量。该解决方案可以用于基本使用噪声因子的密码***,所述噪声因子是一个固定整数的随机幂对另一个固定整数取模后的结果(例如根据Paillier密码***的方案3)。这种噪声因子的计算通常非常复杂和耗时,这通常限制了消息加密的吞吐量。因此,在该解决方案中,这些噪声因子的计算被预先执行,并且可以根据预先计算的噪声因子在短时间内“即时”产生用于消息加密的新的噪声因子,从而通常允许具有数据的消息的更高吞吐量。
将根据通信***的“加密节点”中的功能来描述该解决方案及其实施例,该“加密节点”可以看作可布置在一个或多个物理节点中的逻辑节点,并且该解决方案不限于任何特定的实际实现。为了实现上面概述的优点,现在将参考图2中的流程图来描述如何使用该解决方案的例子,该流程图示出了由加密节点执行的动作的过程。
加密节点可操作用于根据选择的加密方案提供消息m的加密。例如,消息m可以从希望使消息m以某种方式被处理和/或分析的客户端接收(其中消息m需要被保护以免于暴露在例如云环境或类似环境下),使得它可以以加密形式进行处理和/或分析,但是该解决方案不限于用于云处理。因此,无论消息m是以加密还是解密形式进行处理/分析,本文描述的解决方案及其实施例都是有用的。消息m的实际处理和/或分析不在本文描述的解决方案和实施例的范围内。
还将参考图3,图3示出了使用该解决方案的通信场景的示例,其中涉及加密节点300以及以数据流的方式发送对一系列消息m1,m2,m3,...的加密请求的客户端302。因此,在这种消息的数据流的加密中实现高吞吐量可能是有意义的(例如就数据速率而言),这可以通过以下述方式计算在加密操作中可以使用的噪声因子时节省时间来实现。因此可以这样说,在这个过程中,噪声因子的预先计算是“离线”的,而对例如作为数据流的一部分的传入消息m的加密是实时的。尽管本文的示例和实施例主要涉及“一个消息”的加密,但是可以理解的是,该过程可以应用于流的每个消息或者应用于任何数量的消息,例如,当在数据流中接收到要加密的消息时重复应用。
第一动作200示出加密节点预先计算可表示为{s1,...,sk}的k个噪声因子的集合。在该操作中,k个噪声因子被预先计算为
Figure BDA0001481020150000071
其中h和N是所选择的加密方案的预定义的整数参数,r1,...,rk是随机数,而“mod”是称为“取模”的公知数学运算的缩写。
该预先计算操作也被示为图3中的动作3∶1,其中h、N被用作预定义的输入参数,随机数r1,...,rk是由加密节点随机生成的整数。预定义的整数参数h和N可以用在Paillier密码***的上述方案3中,因此Paillier密码***的上述方案3可以是在该过程中用于加密的所选择的加密方案。在一个可能实施例中,上述预先计算中的预定义的整数参数N可以是合数,即能够分解成两个或更多个作为质数的整数因子的数字。因此,合数不是不能分解的质数。该实施例对于提高安全性可能是有用的,因为如果N是质数,则认为更容易例如非法地从给定的密文c导出消息m。
图3示出了预先计算的k个噪声因子的集合被保存在合适的存储器300a中以供稍后用于消息的加密。存储器300a可以如图3所示被布置为加密节点300的一部分,或者可以被布置为加密节点300能够访问的外部存储器。
在下一个动作202中,加密节点从客户端接收用于消息m的加密的请求,其也被示为图3中的动作3:2,其中加密节点300以数据流的方式从客户端302接收对一系列消息m1,m2,m3,...的加密请求。因此,针对每个消息和加密请求,执行图2中的动作200之后的过程。在这种情况下,接收“加密请求”因此可以在实践中被实现为接收要加密的消息m,而不一定伴随显式的请求消息等。在一个可能实施例中,加密节点因此可以在数据流中从客户端接收消息m。在这种通信中,可以使用适合于传输要加密的消息的任何协议,例如,IP(互联网协议)网络上的超文本传输协议http或文件传输协议ftp。
另一个动作204示出加密节点从预先计算的k个噪声因子的集合中选择l个噪声因子的子集,其中1,...,l个噪声因子可以分别表示为
Figure BDA0001481020150000072
它们将用于下面的对接收的消息m的加密中。预先计算的噪声因子的这种选择也被示为图3中的动作3∶3,其中加密节点300从存储器300a获取所选择的l个噪声因子的子集。在另一个可能实施例中,加密节点可以从预先计算的k个噪声因子的集合中随机地选择l个噪声因子的子集,或者可以根据某个预定义的选择顺序或方案来选择它们,该解决方案在此方面不进行限定。
在动作204中选择的噪声因子的数量l可以显著低于在动作200中预先计算的噪声因子的总数量k。因此,在另一个可能实施例中,预先计算的噪声因子的数量k可以相当高,所选择的噪声因子的数量l可以相当低,使得l<<k。所选择的噪声因子
Figure BDA0001481020150000081
中的随机数可以分别表示为
Figure BDA0001481020150000082
在下一个动作206中,加密节点对于随机值R,作为所选择的l个噪声因子的子集的乘积对N取模后的结果来计算表达式hR mod N(其中R是随机数
Figure BDA0001481020150000083
的总和
Figure BDA0001481020150000084
),使得
Figure BDA0001481020150000085
该计算操作也在图3中由动作3∶4示出,其相应地表示对hR mod N的计算。在以下对消息m进行加密的操作中,表达式hRmod N将被用作噪声因子。表达式hR mod N因此是从所选择的l个噪声因子的子集创建的“总”噪声因子,并且将被用于根据动作202中的请求对该特定消息进行加密。应该注意,对于下一个收到的消息,例如在消息m1之后接收的消息m2,选择新的预先计算的噪声因子,如上所述产生新的总噪声因子,并将其用于加密下一个消息,例如m2,使得每个新的传入消息由新计算的总噪声因子加密。
进一步的动作208示出加密节点通过以如下方式计算密文“c”来加密消息m:
c=gm·hR mod N
其中g是所选择的加密方案的预定义的整数参数。因此,通过将在动作206中计算的总噪声因子hR mod N与预定义的整数参数g的消息m次幂相乘并对N取模,来确定密文c。总噪声因子hR mod N由此用于有效地隐藏或“掩蔽”消息m。这也在图3中由动作3∶5示出,其表示每个传入消息m1,m2,m3,...的相应加密。
最终显示的动作210示出,加密节点最终将密文c作为加密消息根据实现方式传送到客户端或者直接传送到处理资源的云304。在该通信中,可以使用适合于传输密文c的任何协议,例如IP(互联网协议)网络上的超文本传输协议http或文件传输协议ftp。这也在图3中由动作3∶6示出,其表示可以响应于从客户端302接收到的一系列消息m1,m2,m3,...向客户端返回一系列密文c1,c2,c3,...,因此密文以数据流的方式返回。图3中的虚线箭头表示加密节点300可以替代地将消息m1,m2,m3,...直接传送到处理资源的云304。因此,对于每个传入消息m1,m2,m3,...,动作202-210和3∶2-3∶6分别可以以上述方式重复,而动作200和3∶1分别只需预先作为“准备步骤”执行一次。
上述过程的其他可能实施例将在下面进行概述和解释。在一个可能实施例中,预定义的整数参数g可以是乘法群(multiplicative group)
Figure BDA0001481020150000091
中的元素,该实施例对于允许或促进稍后对密文的解密是有用的。乘法群
Figure BDA0001481020150000092
是一个众所周知的数学对象,可以例如在密码学、群论和其他计算领域中使用。乘法群
Figure BDA0001481020150000099
包括与N的最大公约数是1的、从1到N-1的数字。
在另一个可能实施例中,预定义的整数参数h是乘法群
Figure BDA0001481020150000093
中的g的幂,h的阶数(order)大于1且小于
Figure BDA0001481020150000094
其中
Figure BDA0001481020150000095
是欧拉的phi函数,该函数在密码学、群论和其他计算领域中也是众所周知的。简单地说,
Figure BDA0001481020150000096
Figure BDA0001481020150000097
中的元素的数量,即与N的最大公约数是1的、从1到N-1的数字的数量。
在其他可能实施例中,所选择的加密方案可以对应于Paillier密码***的方案3,其中应用以下条件:
预定义的整数参数N被计算为N=p2·q2,其中,p和q是质数,
预定义的整数参数g是乘法群
Figure BDA0001481020150000098
中的元素,g的阶数是p·q的倍数,以及
预定义的整数参数h被计算为h=gp·q mod N。
现在将更详细地描述在上述过程中可以如何使用Paillier密码***的方案3。Paillier密码***的方案3本身一般可以如下描述。
在此过程中使用的参数包括私钥和公钥。对于非对称密码技术而言,通常,知道公钥的任何人都可以加密消息,但只有那些知道私钥的人才能解密该消息。私钥包括:两个质数p和q,以及一个整数α,它是λ的正除数,λ是p-1和q-1的最小公倍数。
公钥是n=p·q,以及
Figure BDA0001481020150000101
中的元素g满足g的阶数是α·n
明文消息m<n的加密通过选择随机数R<n并以如下方式确定密文c来实现:
c=gm·gn·R mod n2
因子gn·R mod n2可以被解释为噪声因子,因此是与表达式gm mod n2相乘的、上面提到的“总噪声因子”。当使用Paillier密码***时,N=n2并且h=gn mod N。
对于使用Paillier方案3的数据加密,需要大量的模乘运算来计算噪声因子gnRmod n2。在许多实际应用中,消息m比随机数R小得多。因此,与计算gm mod n2相比,需要数量大得多的模乘运算来计算噪声因子gnR mod n2。因此,当对上述从客户端302接收的诸如消息数据流m1,m2,m3,...的数据流进行加密时,实时计算gnR mod n2可能成为需要高吞吐量的应用的瓶颈。通过根据上述过程使用所选择的预先计算的噪声因子来产生“总”噪声因子gnRmod n2,由此可以避免或者至少减轻该瓶颈。
使用标准的固定基指数方法,可以通过预先计算g的幂和h=gn mod n2,来提高计算密文c的性能。因此,在“最差”的情况下,通过执行log2m+log2R次模乘运算来完成加密,在平均情况下,通过执行
Figure BDA0001481020150000102
次模乘运算来完成加密。
可以使用上述解决方案和实施例来减少用Paillier的方案3进行数据加密所需的乘法次数,其方法是通过:预先计算k个随机因子
Figure BDA0001481020150000103
(对应于动作200、3∶1),针对每个加密操作选择l个噪声因子的子集(对应于动作204、3∶3),并且作为这l个值的乘积mod n2来计算gnR(对应于动作206、3∶4)。这将使噪声部分的乘法次数从平均情况下的
Figure BDA0001481020150000111
减少到l-1。如果k足够大,则l可以非常小,由于
Figure BDA0001481020150000112
所以计算的噪声部分的乘法次数可以显著减少,从而使得加密操作大大加快。
具体示例
现在将描述如何在加密节点中使用Paillier密码***的方案3来加密消息m的具体示例。
在动作200、3∶1的预先计算操作中,因此计算并存储k个随机值
Figure BDA0001481020150000113
对于每次加密,如动作204、3∶3所示随机地选择这些值中的l个,并且作为这l个值的乘积来计算gnR,如下所示:
Figure BDA0001481020150000114
其中ai∈[1..k],i∈[1..l]。
因此,由此产生的噪声仍然是Paillier方案3中定义的gnR的形式,但是按照这种方式,计算gnR的乘法次数从平均情况下的
Figure BDA0001481020150000115
R减少到l-1。
为了提高加密性能,l应该比
Figure BDA0001481020150000116
小得多。但是,可能有必要确保噪声gnR足够随机。这可以通过选择大的k值来实现。于是,可能的gnR的数量是
Figure BDA0001481020150000117
作为一个实际的例子,假定随机值R大约为512比特长,并且对于噪声gnR而言安全参数的数量级希望在280的范围内,则参数k和l可以选择为k~221,l~4。这样,在传统解决方案中平均需要进行
Figure BDA0001481020150000118
次模乘运算,而所提出的解决方案只需要进行3次模乘运算。
一般示例
现在将描述如何在加密节点中使用该解决方案来加密消息m的更一般化的例子。
如以上所概述,该解决方案也可以用于生成形式为hR mod N的任何噪声,其中h和N是预定义的整数参数,并且R是随机数。更一般的方案的参数是整数g、h和N。对于Paillier密码***的特殊情况,选择N为n2,h为gn mod n2,g与通常的Paillier密码***中的相同,即g是
Figure BDA0001481020150000121
的元素,其阶数是n的倍数。消息m的加密通过将密文c计算为c=gmhR mod N来执行,其中R是随机数。因子hR mod N是这种更一般形式的c的噪声因子。
在本示例的更一般的预先计算操作中,计算并存储k个随机值
Figure BDA0001481020150000122
对于每次加密,例如随机地选择这些值中的l个
Figure BDA0001481020150000123
并且作为这l个值的乘积来计算hR mod N,如下所示:
Figure BDA0001481020150000124
其中ai∈[1..k],i∈[1..l]。
所得到的噪声仍然是如上所述的形式hR mod N,其中,通过显式地选择值
Figure BDA0001481020150000125
从而隐式地选择R为
Figure BDA0001481020150000126
这一步所需的乘法次数是l-1。
到目前为止,已经假定预定义的参数g,h和N是整数。但是,可以对这些参数规定更进一步的条件,以使加密功能更强。为了使解密成为难题,可以要求N应为合数,即非质数。在乘法群
Figure BDA0001481020150000127
中进行加密也是一个合理的条件,因此要求g和h都是群
Figure BDA0001481020150000128
的元素。此外,为了使h的幂对N取模是非平凡剩余,可以假设h的阶数不应是平凡的,即,既不是1也不是
Figure BDA0001481020150000129
其中
Figure BDA00014810201500001210
是欧拉的phi函数。等价地,可以假设h的阶数应该大于1并小于
Figure BDA00014810201500001211
图4中的框图示出了可以如何构造加密节点400以实现上述解决方案及其实施例的详细但非限制性的示例。在该图中,加密节点400因此可以被配置为在适当的情况下如下所述根据采用如上所述的解决方案的任何示例和实施例来操作。此示例中的加密节点400以包括处理器“P”、存储器“M”和通信电路“C”的结构示出,其具有用于以本文描述的方式接收和发送信息和数据的合适设备。
因此,加密节点400中的通信电路C包括被配置用于根据实现方式使用诸如http或ftp的一个或多个合适的通信协议与至少一个客户端(未示出)通信的设备。如在上面讨论的示例中那样,加密节点400可以被配置或布置为以上述方式至少执行图2和图3所示的过程的动作。这些动作可以如下通过加密节点400中的处理器P中的功能单元来执行。
加密节点400被配置为根据选择的加密方案在通信***中提供消息m的加密。因此加密节点400包括处理器P和存储器M,所述存储器包括可由所述处理器执行的指令,由此加密节点400可如下操作。
加密节点400被配置为将k个噪声因子的集合{s1,...,sk}预先计算为
Figure BDA0001481020150000131
其中h和N是所选择的加密方案的预定义的整数参数,r1,...,rk是随机数。该预先计算操作可以由加密节点400中的预先计算单元400a例如以上述动作200所述的方式执行。加密节点400还被配置为从客户端接收用于消息m的加密的请求。该接收操作可以由加密节点400中的接收单元400b例如以上述动作202所述的方式执行。
加密节点400还被配置为从预先计算的k个噪声因子的集合中选择l个噪声因子的子集
Figure BDA0001481020150000132
该操作可以由选择单元400c例如以上述动作204所述的方式执行。加密节点400还被配置为对于随机值R,作为所选择的l个噪声因子的子集的乘积对N取模后的结果而计算hR mod N(其中R是l个噪声因子的子集中的随机数
Figure BDA0001481020150000133
的总和
Figure BDA0001481020150000134
),使得
Figure BDA0001481020150000135
该操作可以由加密节点400中的计算单元400d例如以上述动作206所述的方式执行。
加密节点400还被配置为通过以如下方式计算密文c来加密消息m:
c=gm·hR mod N,
其中g是所选择的加密方案的预定义的整数参数。该操作可以由加密单元400e例如以上述动作208所述的方式执行。加密节点400还被配置为将密文c作为加密消息传送到客户端或者处理资源的云。该操作可以由加密节点400中的传送单元400f例如以上述动作210所述的方式执行。
应该注意,图4示出了加密节点400中的一些可能的功能单元,并且技术人员能够在实践中使用合适的软件和硬件来实现这些功能单元。因此,该解决方案通常不限于加密节点400的所示结构,并且功能单元400a-f可以被配置为在适当的情况下根据本公开中描述的任何特征来操作。
本文描述的实施例和特征因此可以在包括指令的计算机程序存储产品中实现,所述指令在至少一个处理器上执行时使所述至少一个处理器执行以上例如针对图2和图3中的任何一个所描述的动作和功能。下面概述了计算机程序存储产品可以如何在实践中实现的一些例子,并且进一步参考图4。
处理器P可以包括单个中央处理单元(CPU),或者可以包括两个或更多个处理单元。例如,处理器P可以包括通用微处理器、指令集处理器和/或相关芯片组和/或诸如专用集成电路(ASIC)的专用微处理器。处理器P还可以包括用于高速缓存目的的存储单元。
存储器M可以包括上面提到的计算机可读存储介质或载体,其上例如以计算机程序模块等形式存储有计算机程序。例如,存储器M可以是闪存、随机存取存储器(RAM)、只读存储器(ROM)或电可擦除可编程ROM(EEPROM)。在替代实施例中,程序模块可以分布在采用加密节点400内的多个存储器的形式的、不同的计算机程序产品上。
虽然已经参考具体的示例性实施例描述了该解决方案,但是该描述通常仅旨在说明本发明的概念,而不应被视为限制解决方案的范围。例如,在整个本公开中使用了术语“加密节点”、“消息”、“噪声因子”和“密文”,但是也可以使用具有本文描述的特征和特点的任何其他对应的实体、功能和/或参数。该解决方案由所附权利要求限定。

Claims (19)

1.一种由通信***的加密节点(300,400)执行的用于根据所选择的加密方案提供消息m的加密的方法,所述方法包括:
-将k个噪声因子的集合{s1,...,sk}预先计算(200,3:1)为
Figure FDA0002611872710000011
其中h和N是所选择的加密方案的预定义的整数参数,r1,...,rk是随机数,并且所述预定义的整数参数N是合数;
-从客户端(302)接收(202,3:2)用于所述消息m的加密的请求;
-从预先计算的k个噪声因子的集合中选择(204,3:3)l个噪声因子的子集
Figure FDA0002611872710000012
-对于随机值R,作为所选择的l个噪声因子的子集的乘积对N取模后的结果来计算(206,3:4)hRmod N,其中R是l个噪声因子的子集中的随机数
Figure FDA0002611872710000013
的总和
Figure FDA0002611872710000014
使得
Figure FDA0002611872710000015
-通过以如下方式计算密文c来加密(208,3:5)所述消息m:
c=gm·hRmod N
其中g是所选择的加密方案的预定义的整数参数;以及
-将所述密文c作为加密消息进行传送(210,3:6)。
2.根据权利要求1所述的方法,其中所述加密节点(300,400)在数据流中从所述客户端接收所述消息m。
3.根据权利要求1或2所述的方法,其中所述加密节点(300,400)将所述密文c传送到所述客户端(302)或处理资源的云(304)。
4.根据权利要求1或2所述的方法,其中所述预定义的整数参数g是乘法群
Figure FDA0002611872710000016
中的元素。
5.根据权利要求4所述的方法,其中所述预定义的整数参数h是乘法群
Figure FDA0002611872710000017
中g的幂,h的阶数大于1并且小于
Figure FDA0002611872710000018
其中
Figure FDA0002611872710000019
是欧拉的phi函数。
6.根据权利要求1或2所述的方法,其中所选择的加密方案对应于Paillier密码***的方案3,并且其中
N=p2·q2,p和q是质数,
g是乘法群
Figure FDA0002611872710000021
中的元素,g的阶数是p·q的倍数,并且
h=gp·qmod N。
7.根据权利要求1或2所述的方法,其中所述加密节点(300,400)从预先计算的k个噪声因子的集合中随机地选择l个噪声因子的子集。
8.根据权利要求1或2所述的方法,其中预先计算的噪声因子的数量k相当高,所选择的噪声因子的数量l相当低,使得l<<k。
9.根据权利要求1或2所述的方法,其中使用超文本传输协议http或文件传输协议ftp执行接收所述请求和传送所述密文c中的至少一个。
10.一种用于根据所选择的加密方案在通信***中提供消息m的加密的加密节点(400),所述加密节点(400)包括处理器(P)和包含所述处理器可执行的指令的存储器(M),由此所述加密节点(400)被配置为:
-将k个噪声因子的集合{s1,...,sk}预先计算(400a)为
Figure FDA0002611872710000022
其中h和N是所选择的加密方案的预定义的整数参数,r1,...,rk是随机数,并且所述预定义的整数参数N是合数;
-从客户端接收(400b)用于所述消息m的加密的请求;
-从预先计算的k个噪声因子的集合中选择(400c)l个噪声因子的子集
Figure FDA0002611872710000023
-对于随机值R,作为所选择的l个噪声因子的子集的乘积对N取模后的结果来计算(400d)hRmod N,其中R是l个噪声因子的子集中的随机数
Figure FDA0002611872710000024
的总和
Figure FDA0002611872710000025
使得
Figure FDA0002611872710000026
-通过以如下方式计算密文c来加密(400e)所述消息m:
c=gm·hRmod N
其中g是所选择的加密方案的预定义的整数参数;以及
-将所述密文c作为加密消息进行传送(400f)。
11.根据权利要求10所述的加密节点(400),其中所述加密节点(300,400)被配置为在数据流中从所述客户端接收所述消息m。
12.根据权利要求10或11所述的加密节点(400),其中所述加密节点(300,400)被配置为将所述密文c传送到所述客户端(302)或处理资源的云(304)。
13.根据权利要求10或11所述的加密节点(400),其中所述预定义的整数参数g是乘法群
Figure FDA0002611872710000031
中的元素。
14.根据权利要求13所述的加密节点(400),其中所述预定义的整数参数h是乘法群
Figure FDA0002611872710000032
中g的幂,h的阶数大于1并且小于
Figure FDA0002611872710000033
其由
Figure FDA0002611872710000034
是欧拉的phi函数。
15.根据权利要求10或11所述的加密节点(400),其中所选择的加密方案对应于Paillier密码***的方案3,并且其中
N=p2·q2,p和q是质数,
g是乘法群
Figure FDA0002611872710000035
中的元素,g的阶数是p·q的倍数,并且
h=gp·qmod N。
16.根据权利要求10或11所述的加密节点(400),其中所述加密节点(300,400)被配置为从预先计算的k个噪声因子的集合中随机地选择l个噪声因子的子集。
17.根据权利要求10或11所述的加密节点(400),其中预先计算的噪声因子的数量k相当高,而所选择的噪声因子的数量l相当低,使得l<<k。
18.根据权利要求10或11所述的加密节点(400),其中所述加密节点(300,400)被配置为,使用超文本传输协议http或文件传输协议ftp执行接收所述请求和传送所述密文c中的至少一个。
19.一种包括指令的计算机程序存储介质,所述指令在至少一个处理器上执行时使所述至少一个处理器执行根据权利要求1至9中任一项所述的方法。
CN201580080353.XA 2015-06-02 2015-06-02 用于加密消息的方法和加密节点 Expired - Fee Related CN107852324B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2015/050637 WO2016195551A1 (en) 2015-06-02 2015-06-02 Method and encryption node for encrypting message

Publications (2)

Publication Number Publication Date
CN107852324A CN107852324A (zh) 2018-03-27
CN107852324B true CN107852324B (zh) 2020-11-10

Family

ID=57441173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580080353.XA Expired - Fee Related CN107852324B (zh) 2015-06-02 2015-06-02 用于加密消息的方法和加密节点

Country Status (4)

Country Link
US (1) US10511434B2 (zh)
EP (1) EP3304803A4 (zh)
CN (1) CN107852324B (zh)
WO (1) WO2016195551A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107169914B (zh) * 2017-05-16 2018-04-20 宁波大学 一种用于图像隐写的密文信息生成方法
CN108933650B (zh) * 2018-06-28 2020-02-14 阿里巴巴集团控股有限公司 数据加解密的方法及装置
CN112653706B (zh) * 2020-12-29 2022-11-04 杭州趣链科技有限公司 基于中国剩余定理的数据传输方法、装置和***
CN114584284A (zh) * 2022-04-15 2022-06-03 支付宝(杭州)信息技术有限公司 同态加密操作方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998007253A1 (en) * 1996-08-16 1998-02-19 Bell Communications Research, Inc. Accelerating public-key cryptography by precomputing randomly generated pairs
CN103916248A (zh) * 2014-04-10 2014-07-09 东南大学 一种全同态加密公钥空间压缩方法
CN103986574A (zh) * 2014-05-16 2014-08-13 北京航空航天大学 一种基于身份的分层广播加密方法
CN104620533A (zh) * 2012-06-22 2015-05-13 联邦科学技术研究组织 用于数据库查询的同态加密

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762727B2 (en) * 2002-09-30 2014-06-24 Koninklijke Philips N.V. Verifying a node on a network
US20050216754A1 (en) * 2004-03-24 2005-09-29 Natan Ehud Method of encrypting digital items delivery through a communication network
CN102664885B (zh) * 2012-04-18 2014-08-06 南京邮电大学 一种基于生物特征加密和同态算法的身份认证方法
CN103475472B (zh) * 2013-07-22 2018-07-20 浙江万里学院 环lwe上ntru型的全同态加密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998007253A1 (en) * 1996-08-16 1998-02-19 Bell Communications Research, Inc. Accelerating public-key cryptography by precomputing randomly generated pairs
CN104620533A (zh) * 2012-06-22 2015-05-13 联邦科学技术研究组织 用于数据库查询的同态加密
CN103916248A (zh) * 2014-04-10 2014-07-09 东南大学 一种全同态加密公钥空间压缩方法
CN103986574A (zh) * 2014-05-16 2014-08-13 北京航空航天大学 一种基于身份的分层广播加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Public-Key Cryptosystems Based on Composite Degree Residuosity Classes;Springer;《Advances in Cryptology-EUROCRYPT’99》;19990531;第223至238页 *

Also Published As

Publication number Publication date
US20180159680A1 (en) 2018-06-07
WO2016195551A1 (en) 2016-12-08
US10511434B2 (en) 2019-12-17
EP3304803A4 (en) 2018-05-02
CN107852324A (zh) 2018-03-27
EP3304803A1 (en) 2018-04-11

Similar Documents

Publication Publication Date Title
Liu et al. Efficient and privacy-preserving outsourced calculation of rational numbers
US10211975B2 (en) Managed secure computations on encrypted data
US7853014B2 (en) Ring arithmetic method, system, and apparatus
US9590807B2 (en) Identity based public key cryptosystem
Caminata et al. Solving multivariate polynomial systems and an invariant from commutative algebra
Jabbar et al. Using fully homomorphic encryption to secure cloud computing
US9584320B1 (en) Blinding function in elliptic curve cryptography
CN107852324B (zh) 用于加密消息的方法和加密节点
US10615961B2 (en) Method and encryption node for encrypting message
Mohammed et al. An improved fully homomorphic encryption model based on N-primes
Thangavel et al. Improved secure RSA cryptosystem for data confidentiality in cloud
Arunkumar et al. Secure and Light Weight Elliptic Curve Cipher Suites in SSL/TLS.
CN112507349A (zh) 数据加密存储、加密搜索、应用的方法及其相关设备
Long et al. Secret sharing based SM2 digital signature generation using homomorphic encryption
Hayward et al. Parallelizing fully homomorphic encryption
Beyene et al. Performance Analysis of Homomorphic Cryptosystem on Data Security in Cloud Computing
Bansod et al. Secured and Quantum Resistant key Exchange Cryptography Methods–A Comparison
US11743039B2 (en) System and method for data encryption using key derivation
Kwadwo et al. An enhanced elliptic curve cryptosystem for securing data
Selvi An efficient hybrid cryptography model for cloud data security
Rebeiro et al. Modern cryptography
Alsheikhy et al. Parallelized Multi-Key Multi-Stage Cryptography
Khamg et al. Implementation and evaluation of new cryptography algorithm for e-mail applications
CN116094708A (zh) Dbscan算法的隐私保护方法、终端及存储介质
Chouhan et al. Security Based Issues in View of Cloud Based Storage System

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20201110