CN110535873B - 应用于数据协同加密系统的加密方法、解密方法 - Google Patents

应用于数据协同加密系统的加密方法、解密方法 Download PDF

Info

Publication number
CN110535873B
CN110535873B CN201910868281.5A CN201910868281A CN110535873B CN 110535873 B CN110535873 B CN 110535873B CN 201910868281 A CN201910868281 A CN 201910868281A CN 110535873 B CN110535873 B CN 110535873B
Authority
CN
China
Prior art keywords
data access
data
access terminal
ciphertext
public key
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
CN201910868281.5A
Other languages
English (en)
Other versions
CN110535873A (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.)
BEIJING CERTIFICATE AUTHORITY
Original Assignee
BEIJING CERTIFICATE AUTHORITY
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 BEIJING CERTIFICATE AUTHORITY filed Critical BEIJING CERTIFICATE AUTHORITY
Priority to CN201910868281.5A priority Critical patent/CN110535873B/zh
Publication of CN110535873A publication Critical patent/CN110535873A/zh
Application granted granted Critical
Publication of CN110535873B publication Critical patent/CN110535873B/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
    • 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/0478Network 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 multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

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

Abstract

本申请实施例公开了应用于数据协同加密系统的加密方法、解密方法。该加密方法的一具体实施方式包括:数据管理端对明文数据进行加密,得到第一密文,并将第一密文发送至数据服务端;数据访问端集群根据各个数据访问端分别对应的私钥,生成协同公钥,并将协同公钥发送至数据管理端,其中,数据访问端集群中的每个数据访问端的私钥不共享;数据管理端基于协同公钥生成重加密密钥,并将重加密密钥发送至数据服务端;数据服务端基于第一密文和重加密密钥,生成第二密文。该实施方式实现了对协同解密的支持,提高了数据传输的安全性,并且使得数据分享策略更加灵活,能够支持任意个用户。

Description

应用于数据协同加密系统的加密方法、解密方法
技术领域
本申请实施例涉及计算机技术领域,具体涉及应用于数据协同加密系统的加密方法、解密方法。
背景技术
数据分享是云计算环境下一个非常重要的应用,而云服务商往往是不能完全信任的第三方服务商。要保证数据的安全分享,需要将待分享数据加密后再上传。传统的加密机制,加密时需要用到解密方的密钥,而基于云计算的数据分享场景下,加密时往往尚无法确定解密者,因此并不适用。
代理重加密机制下,半可信代理人能够通过授权人产生的转换密钥将用授权人的公钥加密的密文转换为用被授权人的公钥加密的密文。在转换过程中,代理人无法得到数据的明文信息。因此,代理重加密机制可用于云计算环境下的数据分享场景。
同时,在一些应用场合,存在需要多个解密者协作才能成功解密获取明文的需求。使用密钥分割技术可以实现协同地解密,但是密钥分割技术采用的密钥分量是由加密密钥生成的,密钥分量需要通过安全的信道传输给解密者集群,存在密钥安全分发的困难。
发明内容
本申请实施例的目的在于提出了一种改进的应用于数据协同加密系统的加密方法、解密方法,来解决以上背景技术部分提到的技术问题。
第一方面,本申请实施例提供了一种应用于数据协同加密系统的加密方法,系统包括:数据访问端集群、数据管理端、数据服务端;该加密方法包括:数据管理端对明文数据进行加密,得到第一密文,并将第一密文发送至数据服务端;数据访问端集群根据各个数据访问端分别对应的私钥,生成协同公钥,并将协同公钥发送至数据管理端,其中,数据访问端集群中的每个数据访问端的私钥不共享;数据管理端基于协同公钥生成重加密密钥,并将重加密密钥发送至数据服务端;数据服务端基于第一密文和重加密密钥,生成第二密文。
在一些实施例中,数据访问端集群中的数据访问端分别对应的私钥,预先根据如下步骤生成:对于数据访问端集群中的每个数据访问端,该数据访问端从预设的数据集合中选择数据作为该数据访问端对应的私钥。
在一些实施例中,对明文数据进行加密,得到第一密文,包括:获取数据管理端对应的公钥,以及从预设的数据数据集合中选择数据作为加密用数据基于数据管理端对应的公钥和加密用数据,对明文数据进行加密,生成第一密文。
在一些实施例中,基于协同公钥生成重加密密钥,包括:基于协同公钥和数据管理端对应的私钥,生成重加密密钥。
在一些实施例中,根据各个数据访问端分别对应的私钥,生成协同公钥,包括:数据访问端集群中的第一解密数据访问端基于对应的私钥,生成中转公钥;第一解密数据访问端从数据访问端集群中的未生成中转公钥的其他数据访问端中确定第一目标数据访问端;第一解密数据访问端将所生成的中转公钥发送至第一目标数据访问端;第一目标数据访问端执行如下生成步骤:第一目标数据访问端利用接收的中转公钥和对应的私钥,生成新的中转公钥;确定数据访问端集群中是否存在未生成中转公钥的数据访问端;如果不存在,将最近一次生成的中转公钥确定为协同公钥;如果存在,从数据访问端集群中的未生成中转公钥的其他数据访问端中重新确定第一目标数据访问端;重新确定的第一目标数据访问端继续执行生成步骤。
在一些实施例中,系统还包括系统管理端;以及在数据管理端对明文数据进行加密,得到第一密文之前,方法还包括:系统管理端对系统进行初始化操作。
在一些实施例中,数据服务端为云服务端。
第二方面,本申请实施例提供了一种应用于数据协同加密系统的解密方法,该解密方法包括:数据访问端集群中的第一解密数据访问端从数据服务端获取第一密文和第二密文,其中,第一解密数据访问端为用于协同解密的首个数据访问端;基于第一密文和第二密文,由数据访问端集群中的数据访问端分别利用对应的私钥协同地进行解密,由第二目标数据访问端得到明文数据,其中,第二目标数据访问端为待获得明文数据的数据访问端。
在一些实施例中,由数据访问端集群中的数据访问端分别利用对应的私钥协同地进行解密,得到明文数据,包括:第一解密数据访问端基于对应的私钥和第二密文,生成中转密文;第一解密数据访问端从数据访问端集群中的未生成中转密文的其他数据访问端中确定下一个数据访问端,并将所生成的中转密文发送至下一个数据访问端;下一个数据访问端执行如下解密步骤:利用接收的中转密文和对应的私钥,生成新的中转密文;确定数据访问端集群中是否存在未生成中转密文的数据访问端;如果不存在,基于最近一次生成的中转密文和第一密文进行解密,得到明文数据;如果存在,从数据访问端集群中的未生成中转密文的其他数据访问端中重新确定下一个数据访问端;重新确定的下一个数据访问端继续执行解密步骤。
本申请实施例提供的应用于数据协同加密系统的加密方法、解密方法,通过数据管理端对明文数据进行加密,得到第一密文,数据访问端集群根据各个数据访问端分别对应的私钥,生成协同公钥,数据管理端基于协同公钥生成重加密密钥,数据服务端基于第一密文和重加密密钥,生成第二密文,解密时,多个数据访问端协同地对第二密文进行解密,从而基于代理重加密技术,实现了对协同解密的支持,提高了数据传输的安全性,并且使得数据分享策略更加灵活,能够支持任意个用户。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的应用于数据协同加密系统的加密方法的一个实施例的时序图;
图3是根据本申请的应用于数据协同加密系统的解密方法的一个实施例的流程图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请实施例的数据协同加密系统的示例性系统架构100。
如图1所示,系统架构100可以包括数据访问端集群101、数据管理端102、数据服务端103和网络104。网络104用以在数据访问端集群101、数据管理端102、数据服务端103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
数据服务端103可以是提供各种服务的服务器,例如对数据管理端102上传的文件提供服务的云端服务器。
数据访问端集群101包括的数据访问端可以是供用户使用的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机、台式计算机等。
应该理解,图1中的数据访问端集群101、数据管理端102、数据服务端103和网络104的数目仅仅是示意性的。根据实现需要,可以具有任意数目的数据访问端集群101、数据管理端102、数据服务端103和网络104。
继续参考图2,其示出了根据本申请的应用于数据协同加密系统的加密方法的一个实施例的时序图200。其中,数据协同加密系统包括:数据访问端集群、数据管理端、数据服务端(如图1所示),该方法包括以下步骤:
步骤201,数据管理端对明文数据进行加密,得到第一密文,并将第一密文发送至数据服务端。
在本实施例中,数据管理端(即待加密的文件的属主)可以按照各种方法对明文数据进行加密,得到第一密文,并将第一密文发送至数据服务端。作为示例,数据管理端可以利用椭圆曲线加密算法对明文数据进行加密。
在本实施例的一些可选的实现方式中,上述系统还包括系统管理端。在步骤201之前,该方法还可以包括:
系统管理端对系统进行初始化操作。初始化操作可以为数据管理端、数据访问端集群设置数据加密、解密的机制。例如,可以采用现有的椭圆曲线加密算法,设置大素数p,椭圆曲线群G,G1。其中,G和G1的为p阶椭圆曲线群。G的生成元为g。定义双线性映射e:G×G→G1,计算Z=e(g,g)。公开g、e、G、G1、Z。
在本实施例的一些可选的实现方式中,数据管理端可以按照如下步骤对明文数据进行加密,得到第一密文:
首先,获取数据管理端对应的公钥,以及从预设的数据集合中选择数据作为加密用数据。其中,数据集合可以是系统管理者预先生成的。例如,数据集合可以包括区间为[0,p-1]中的数。数据管理端对应的私钥也可以是预先从数据集合中选择的。作为示例,假设明文为M,数据管理端的公钥为
Figure BDA0002201947620000053
其中,do为数据管理端对应的私钥,d0∈Zp。数据管理端随机选择k∈Zp,k即为加密用私钥。
然后,基于数据管理端对应的公钥和加密用数据,对明文数据进行加密,生成第一密文。继续上述示例,计算
Figure BDA0002201947620000051
Figure BDA0002201947620000052
c3=MZk。得到第一密文(c1,c2,c3),并将(c1,c2,c3)上传至数据服务端。
在本实施例的一些可选的实现方式中,数据服务端可以为云服务端。使用云服务端,可以使用户的加密后的文件的存储更加方便快捷,提高用户管理文件的效率。
步骤202,数据访问端集群根据各个数据访问端分别对应的私钥,生成协同公钥,并将协同公钥发送至数据管理端。
在本实施例中,数据访问端集群可以根据各个数据访问端分别对应的私钥,生成协同公钥,并将协同公钥发送至数据管理端,其中,数据访问端集群中的每个数据访问端的私钥不共享。
具体地,数据访问端集群可以按照各种方法生成协同公钥。例如,第一个数据访问端根据预设的算法对其对应的私钥进行计算,得到计算结果,将计算结果发送至下一个数据访问端,下一个数据访问端利用接收的计算结果和对应的私钥,继续进行计算,得到新的计算结果,将计算得到的计算结果再发送至下一个数据访问端,以此类推,直到最后一个数据访问端计算得到计算结果,将该计算结果确定为协同公钥。
在本实施例的一些可选的实现方式中,可以按照如下步骤生成协同公钥:
步骤一,数据访问端集群中的第一解密数据访问端基于对应的私钥,生成中转公钥。其中,第一解密数据访问端可以是数据访问端集群中的任一个。作为示例,第一解密数据访问端可以是编号为1的数据访问端。第一解密数据访问端可以按照预设的算法,生成中转公钥。例如,假设第一解密数据访问端为u1,则其生成的中转公钥为D1=gd1。
步骤二,第一解密数据访问端从数据访问端集群中的未生成中转公钥的其他数据访问端中确定第一目标数据访问端。具体地,第一解密数据访问端可以按照各种方式确定第一目标数据访问端。作为示例,可以按照数据访问端的编号顺序确定第一目标数据访问端。
步骤三,第一解密数据访问端将所生成的中转公钥发送至第一目标数据访问端。第一目标数据访问端执行如下生成步骤(包括步骤四-步骤六)。
步骤四,第一目标数据访问端利用接收的中转公钥和对应的私钥,生成新的中转公钥。作为示例,假设第一目标数据访问端为uj,其中,j为第一目标数据访问端的编号。其生成的中转公钥可以为
Figure BDA0002201947620000071
其中,D123...j-1为接收的来自上一个数据访问端的中转公钥。dj为uj的私钥。
步骤五,确定数据访问端集群中是否存在未生成中转公钥的数据访问端。作为示例,第一目标数据访问端可以确定其对应的编号是否为最大的编号,如果是,则数据访问端集群中不存在未生成中转公钥的数据访问端。
步骤六,如果不存在,将最近一次生成的中转公钥确定为协同公钥。作为示例,假设最近一次生成中转公钥的第一目标数据访问端的编号为n,其中,n为数据访问端集群中的数据访问端的数量。则协同公钥可以为
Figure BDA0002201947620000072
步骤七,如果存在,从数据访问端集群中的未生成中转公钥的其他数据访问端中重新确定第一目标数据访问端;重新确定的第一目标数据访问端继续执行上述生成步骤(即步骤四-步骤六)。
作为示例,可以按照数据访问端的编号顺序,从数据访问端集群中重新确定第一目标数据访问端。
在本实施例中,上述数据访问端集群中的每个数据访问端对应于一个私钥。私钥不公开。私钥可以是数据访问端预先根据现有的各种密钥生成算法生成的密钥。
在本实施例的一些可选的实现方式中,数据访问端集群中的数据访问端分别对应的私钥,可以预先根据如下步骤生成:
对于数据访问端集群中的每个数据访问端,该数据访问端从预设的数据集合中选择数据(例如随机选择出的随机数)作为该数据访问端对应的私钥。其中,数据集合可以是系统管理者预先生成的。例如,数据集合可以包括区间为[0,p-1]中的数。作为示例,数据集合可以为上述Zp,假设某个数据访问端的编号为i,该数据访问端可以随机选择di∈Zp,di为i的私钥。数据访问端还可以根据私钥计算对应的公钥,例如计算
Figure BDA0002201947620000073
Di即i的公钥。其中,公开Di,保密di
步骤203,数据管理端基于协同公钥生成重加密密钥,并将重加密密钥发送至数据服务端。
在本实施例中,数据管理端可以基于协同公钥生成重加密密钥,并将重加密密钥发送至数据服务端。具体地,数据管理端可以按照各种现有的数据加密方法对协同公钥进行加密。
在本实施例的一些可选的实现方式中,数据管理端可以基于协同公钥和数据管理端对应的私钥,生成重加密密钥。作为示例,数据管理端可以按照如下公式对协同公钥进行加密,得到重加密密钥Re-key:
Figure BDA0002201947620000081
其中,D123...n为协同公钥,d0为数据管理端的私钥。
步骤204,数据服务端基于第一密文和重加密密钥,生成第二密文。
在本实施例中,数据服务端基于第一密文和重加密密钥,生成第二密文。
具体地,数据服务端可以按照如下公式生成第二密文:
Figure BDA0002201947620000082
其中,上述公式中的各参数可以参考上述各示例,这里不再赘述。
本申请的上述实施例提供的方法,通过数据管理端对明文数据进行加密,得到第一密文,数据访问端集群根据各个数据访问端分别对应的私钥,生成协同公钥,数据管理端基于协同公钥生成重加密密钥,数据服务端基于第一密文和重加密密钥,生成第二密文,从而基于代理重加密技术,实现了对协同解密的支持,提高了数据传输的安全性,并且使得数据分享策略更加灵活,能够支持任意个用户。
进一步参考图3,其示出了根据本申请的应用于如图1所示的数据协同加密系统的解密方法的一个实施例的流程300。该方法包括以下步骤:
步骤301,数据访问端集群中的第一解密数据访问端从数据服务端获取第一密文和第二密文。
在本实施例中,数据访问端集群中的第一解密数据访问端从数据服务端获取第一密文和第二密文。其中,第一解密数据访问端为用于协同解密的首个数据访问端。通常,第一解密数据访问端可以是数据访问端集群中的任一个。例如,可以从数据访问端集群中随机选择一个数据访问端作为第一解密数据访问端。当用户欲通过其使用的数据访问端获得明文数据时,系统可以首先以随机的方式选择第一解密数据访问端,第一解密数据访问端可以从数据服务端获取预先对明文数据进行加密生成的第一密文和第二密文。
步骤302,基于第一密文和第二密文,由数据访问端集群中的数据访问端分别利用对应的私钥协同地进行解密,由第二目标数据访问端得到明文数据。
在本实施例中,数据访问端集群中的数据访问端可以分别利用对应的私钥协同地进行解密,由第二目标数据访问端得到明文数据。其中,第二目标数据访问端为待获得明文数据的数据访问端。数据访问端集群中的部分或全部数据访问端可以参与协同解密,通常,数据访问端集群中的所有数据访问端均参与协同解密。具体地,数据访问端集群可以按照各种方法对第一密文和第二密文进行协同地解密。例如,第一解密数据访问端利用其对应的私钥,对第一密文和第二密文进行解密计算,得到计算结果,将计算结果发送至下一个数据访问端。下一个数据访问端利用接收的计算结果和对应的私钥,继续进行解密计算,得到新的计算结果,将计算得到的计算结果再发送至下一个数据访问端,以此类推,直到最后一个数据访问端计算得到计算结果,将该计算结果确定为明文数据。其中,上述最后一个数据访问端即为第二目标数据访问端。通常,上述协同解密的方法中,可以随机地确定下一个数据访问端。
在本实施例的一些可选的实现方式中,数据访问端集群可以按照如下步骤得到明文数据:
步骤一,第一解密数据访问端基于对应的私钥和第二密文,生成中转密文。如上述图2对应实施例中描述的内容,第二密文如下式所示:
Figure BDA0002201947620000101
第一解密数据访问端u1执行运算
Figure BDA0002201947620000102
其中,d1为u1的私钥,c1”为中转密文。
步骤二,第一解密数据访问端从数据访问端集群中的未生成中转密文的其他数据访问端中确定下一个数据访问端,并将所生成的中转密文发送至下一个数据访问端。具体地,第一解密数据访问端可以按照各种方式确定下一个数据访问端。作为示例,可以按照随机地确定下一个数据访问端。需要说明的是,由于第二目标数据访问端为待获得明文数据的数据访问端,因此,将第二目标数据访问端作为最后一个执行解密步骤的数据访问端。下一个数据访问端执行如下解密步骤(包括步骤三-步骤五)。
步骤三,利用接收的中转密文和对应的私钥,生成新的中转密文。作为示例,假设下一个数据访问端为u2,其生成的中转密文可以为
Figure BDA0002201947620000103
依此类推,假设下一个数据访问端为uj,其中,j为下一个数据访问端的编号,其生成的中转密文可以为
Figure BDA0002201947620000104
其中,c12...j-1″为接收的中转密文。dj为uj的私钥。
步骤四,下一个数据访问端确定数据访问端集群中是否存在未生成中转公钥的数据访问端。
步骤五,如果不存在,基于最近一次生成的中转密文和第一密文进行解密,得到明文数据。作为示例,假设最近一次生成中转密文的数据访问端为un,则un计算得到的中转密文为c12...n″=Zk。根据公式c3=MZk,计算明文数据
Figure BDA0002201947620000105
需要说明的是,当不存在未生成中转公钥的数据访问端时,最后一个执行步骤五的数据访问端即为第二目标数据访问端。
步骤六,如果存在,从数据访问端集群中的未生成中转密文的其他数据访问端中重新确定下一个数据访问端;重新确定的下一个数据访问端继续执行解密步骤(即步骤三-步骤五)。
通过循环地执行上述解密步骤,每个数据访问端均参与了解密过程,从而提高了数据加密的安全性。
本申请的上述实施例提供的方法,通过数据访问端集群中的数据访问端分别利用对应的私钥协同地进行解密,得到明文数据,从而实现了解密过程由多个终端完成,提高了解密过程的复杂程度,有利于提高数据传输的安全性。此外,本申请实施例不存在需要传输的秘密信息。各解密者使用本地生成的私钥完成解密。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (8)

1.一种应用于数据协同加密系统的加密方法,其特征在于,所述系统包括:数据访问端集群、数据管理端、数据服务端;
所述加密方法包括:
所述数据管理端对明文数据进行加密,得到第一密文,并将所述第一密文发送至数据服务端;
所述数据访问端集群根据各个数据访问端分别对应的私钥,生成协同公钥,并将所述协同公钥发送至所述数据管理端,其中,所述数据访问端集群中的每个数据访问端的私钥不共享;
所述数据管理端基于所述协同公钥生成重加密密钥,并将所述重加密密钥发送至所述数据服务端;
所述数据服务端基于所述第一密文和所述重加密密钥,生成第二密文;
所述根据各个数据访问端分别对应的私钥,生成协同公钥,包括:
所述数据访问端集群中的第一解密数据访问端基于对应的私钥,生成中转公钥;第一解密数据访问端从所述数据访问端集群中的未生成中转公钥的其他数据访问端中确定第一目标数据访问端;第一解密数据访问端将所生成的中转公钥发送至第一目标数据访问端;
第一目标数据访问端执行如下生成步骤:第一目标数据访问端利用接收的中转公钥和对应的私钥,生成新的中转公钥;确定所述数据访问端集群中是否存在未生成中转公钥的数据访问端;如果不存在,将最近一次生成的中转公钥确定为协同公钥;
如果存在,从所述数据访问端集群中的未生成中转公钥的其他数据访问端中重新确定第一目标数据访问端;重新确定的第一目标数据访问端继续执行所述生成步骤。
2.根据权利要求1所述的方法,其特征在于,所述数据访问端集群中的数据访问端分别对应的私钥,预先根据如下步骤生成:
对于所述数据访问端集群中的每个数据访问端,该数据访问端从预设的数据集合中选择数据作为该数据访问端对应的私钥。
3.根据权利要求1所述的方法,其特征在于,所述对明文数据进行加密,得到第一密文,包括:
获取所述数据管理端对应的公钥,以及从预设的数据集合中选择数据作为加密用数据;
基于所述数据管理端对应的公钥和所述加密用数据,对所述明文数据进行加密,生成第一密文。
4.根据权利要求1所述的方法,其特征在于,所述基于所述协同公钥生成重加密密钥,包括:
基于所述协同公钥和所述数据管理端对应的私钥,生成重加密密钥。
5.根据权利要求1-4之一所述的方法,其特征在于,所述系统还包括系统管理端;以及在所述数据管理端对明文数据进行加密,得到第一密文之前,所述方法还包括:所述系统管理端对所述系统进行初始化操作。
6.根据权利要求1-4之一所述的方法,其特征在于,所述数据服务端为云服务端。
7.一种基于权利要求1所述应用于数据协同加密系统的加密方法的解密方法,其特征在于,所述解密方法包括:
数据访问端集群中的第一解密数据访问端从数据服务端获取第一密文和第二密文,其中,所述第一解密数据访问端为用于协同解密的首个数据访问端;基于所述第一密文和第二密文,由所述数据访问端集群中的数据访问端分别利用对应的私钥协同地进行解密,由第二目标数据访问端得到明文数据,其中,所述第二目标数据访问端为待获得明文数据的数据访问端。
8.根据权利要求7所述的解密方法,其特征在于,所述基于所述第一密文和第二密文,由所述数据访问端集群中的数据访问端分别利用对应的私钥协同地进行解密,由第二目标数据访问端得到明文数据,包括:
所述第一解密数据访问端基于对应的私钥和所述第二密文,生成中转密文;所述第一解密数据访问端从所述数据访问端集群中的未生成中转密文的其他数据访问端中确定下一个数据访问端,并将所生成的中转密文发送至下一个数据访问端;
下一个数据访问端执行如下解密步骤:利用接收的中转密文和对应的私钥,生成新的中转密文;确定所述数据访问端集群中是否存在未生成中转密文的数据访问端;如果不存在,基于最近一次生成的中转密文和所述第一密文进行解密,得到明文数据;
如果存在,从所述数据访问端集群中的未生成中转密文的其他数据访问端中重新确定下一个数据访问端;重新确定的下一个数据访问端继续执行所述解密步骤。
CN201910868281.5A 2019-09-16 2019-09-16 应用于数据协同加密系统的加密方法、解密方法 Active CN110535873B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910868281.5A CN110535873B (zh) 2019-09-16 2019-09-16 应用于数据协同加密系统的加密方法、解密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910868281.5A CN110535873B (zh) 2019-09-16 2019-09-16 应用于数据协同加密系统的加密方法、解密方法

Publications (2)

Publication Number Publication Date
CN110535873A CN110535873A (zh) 2019-12-03
CN110535873B true CN110535873B (zh) 2021-11-05

Family

ID=68668566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910868281.5A Active CN110535873B (zh) 2019-09-16 2019-09-16 应用于数据协同加密系统的加密方法、解密方法

Country Status (1)

Country Link
CN (1) CN110535873B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113408A (zh) * 2014-07-11 2014-10-22 西安电子科技大学 一种实现及时用户属性撤销的基于密文策略属性加密方法
CN108199835A (zh) * 2018-01-19 2018-06-22 北京江南天安科技有限公司 一种多方联合私钥解密方法及系统
CN109818741A (zh) * 2017-11-22 2019-05-28 航天信息股份有限公司 一种基于椭圆曲线的解密计算方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10581812B2 (en) * 2015-12-01 2020-03-03 Duality Technologies, Inc. Device, system and method for fast and secure proxy re-encryption
CN109660555B (zh) * 2019-01-09 2020-07-14 上海交通大学 基于代理重加密的内容安全分享方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113408A (zh) * 2014-07-11 2014-10-22 西安电子科技大学 一种实现及时用户属性撤销的基于密文策略属性加密方法
CN109818741A (zh) * 2017-11-22 2019-05-28 航天信息股份有限公司 一种基于椭圆曲线的解密计算方法及装置
CN108199835A (zh) * 2018-01-19 2018-06-22 北京江南天安科技有限公司 一种多方联合私钥解密方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
适用于多方云计算的同态代理重加密方案;谭镇林等;《小型微型计算机系统》;20150815;第36卷(第8期);第1-4页 *

Also Published As

Publication number Publication date
CN110535873A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
US10785019B2 (en) Data transmission method and apparatus
Fan et al. One secure data integrity verification scheme for cloud storage
US9426131B2 (en) Server apparatus and program to re-encrypt ciphertext data
CN109831430B (zh) 一种云计算环境下的安全可控高效的数据共享方法及系统
Shao et al. Fine-grained data sharing in cloud computing for mobile devices
US8429408B2 (en) Masking the output of random number generators in key generation protocols
WO2019101134A1 (zh) 一种多分布式的sm9解密方法与介质及密钥生成方法
CN109246098B (zh) 一种支持备份服务器同步密文比较的方法
CN106656997B (zh) 一种基于移动社交网络代理重加密跨域交友隐私保护方法
TWI807125B (zh) 用以分配數位簽署資料之份額的電腦實施系統及方法
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN104158880A (zh) 一种用户端云数据共享解决方法
CN111030821B (zh) 一种基于双线性映射技术的联盟链的加密方法
JP2020532177A (ja) データの高度なセキュリティ、高速暗号化および、伝送のためのコンピュータ実装システムおよび方法
TW202025666A (zh) 用於共享公共秘密之電腦實施系統及方法
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及系统
CN104144057B (zh) 一种生成安全解密密钥的cp‑abe方法
US10880278B1 (en) Broadcasting in supersingular isogeny-based cryptosystems
CN116318696B (zh) 一种双方无初始信任情况下代理重加密数字资产授权方法
CN117240433A (zh) 一种基于代理重加密的信息分享方法及装置
EP2395698B1 (en) Implicit certificate generation in the case of weak pseudo-random number generators

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