CN114398658A - 数据处理方法及设备 - Google Patents

数据处理方法及设备 Download PDF

Info

Publication number
CN114398658A
CN114398658A CN202210073827.XA CN202210073827A CN114398658A CN 114398658 A CN114398658 A CN 114398658A CN 202210073827 A CN202210073827 A CN 202210073827A CN 114398658 A CN114398658 A CN 114398658A
Authority
CN
China
Prior art keywords
encryption
result
data
decryption
target
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.)
Pending
Application number
CN202210073827.XA
Other languages
English (en)
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202210073827.XA priority Critical patent/CN114398658A/zh
Publication of CN114398658A publication Critical patent/CN114398658A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供一种数据处理方法及设备,涉及数据安全技术领域。该方法包括:加密设备获取预先生成的中间密文,该中间密文中包括在加密过程中可预先进行的运算对应的运算结果,中间密文可重复使用;加密设备根据中间密文、公钥和预设的访问策略对待加密数据进行加密得到目标加密结果,包括对待加密数据加密得到的加密数据和用于对目标加密结果进行验证的第一校验信息;加密设备将目标加密结果存储到云存储服务器。本公开可以将加密过程中可预先进行的运算预先进行得到中间密文,并存储该中间密文。从而需要加密时,获取该中间密文并在该中间密文之上进行一些简单的运算即可解密得到目标数据。这样,减少了真正加密时的运算量,提高了加密效率。

Description

数据处理方法及设备
技术领域
本公开实施例涉及数据安全技术领域,尤其涉及一种数据处理方法及设备。
背景技术
数据加密技术是数据安全领域中的常用技术,可以保证数据的安全性和隐私性。随着云计算技术的发展和成熟,云计算技术对数据的安全性和隐私性的要求也日益增大,从而需要在云计算服务器上使用合适的数据加密技术。属性基加密算法是云计算服务器上常用的一种算法。
现有技术中,密文策略属性基加密(CP-ABE,ciphertext policy attributebased encryption)算法是属性基加密算法中的一种常用算法,其加密解密过程包括:首先,加密设备将待加密数据、公钥输入到加密算法中,加密算法用于通过公钥对待加密数据进行加密得到密文;然后,加密设备将密文和访问策略发送给解密设备;最后,解密设备可以将密文、前述公钥对应的私钥、前述访问策略和属性集合输入到解密算法中,得到数据。其中,访问策略中包括对解密者的限定条件,只有属性集合满足该限定条件的解密者才可以解密成功。
然而,上述CP-ABE算法的加密效率较低。
发明内容
本公开实施例提供一种数据处理方法及设备,可以提高CP-ABE的加密效率。
第一方面,本公开实施例提供一种数据处理方法,包括:
加密设备获取预先生成的中间密文,所述中间密文中包括在加密过程中可预先进行的运算对应的运算结果,所述中间密文可重复使用;
所述加密设备根据所述中间密文、公钥和预设的访问策略对待加密数据进行加密,得到目标加密结果,所述目标加密结果中包括对所述待加密数据加密得到的加密数据和用于对所述目标加密结果进行验证的第一校验信息;
所述加密设备将所述目标加密结果存储到云存储服务器中。
第二方面,本公开实施例提供一种数据处理方法,包括:
第一解密设备从云存储服务器中获取目标加密结果,所述目标加密结果中包括加密数据和第一校验信息;
所述第一解密设备将预先生成的盲化私钥和所述目标加密结果发送给第二解密设备,所述盲化私钥是所述第一解密设备预先对私钥进行盲化处理得到的;
所述第一解密设备接收所述第二解密设备发送的中间解密结果,所述中间解密结果中包括中间解密数据和第二校验信息,所述中间解密数据是解密时所需要进行的部分计算得到的数据;
若所述第二校验信息与所述第一校验信息一致,且通过所述第二校验信息对所述中间解密数据验证成功,则所述第一解密设备根据所述中间解密数据和公钥,对所述加密数据进行解密得到目标数据。
第三方面,本公开实施例提供一种数据处理方法,包括:
第二解密设备接收第一解密设备发送的盲化私钥和目标加密结果,所述盲化私钥是所述第一解密设备预先对私钥进行盲化处理得到的;
针对访问策略中的每个叶子节点,所述第二解密设备根据所述盲化私钥、所述目标加密结果中的所述叶子节点的节点加密结果和所述叶子节点的取值,还原出所述叶子节点的秘密值,并根据所述叶子节点的秘密值还原出根节点的秘密值;
所述第二解密设备根据所述根节点的秘密值和所述盲化私钥、所述目标加密结果中的第二中间结果计算中间解密数据;
所述第二解密设备向所述第一解密设备发送中间解密结果,所述中间解密结果中包括:所述中间解密数据和第二校验信息,所述第二校验信息与所述目标加密结果中的第一校验信息一致。
第四方面,本公开实施例提供一种加密设备,包括:
中间密文获取模块,用于获取预先生成的中间密文,所述中间密文中包括在加密过程中可预先进行的运算对应的运算结果,所述中间密文可重复使用;
加密模块,用于根据所述中间密文、公钥和预设的访问策略对待加密数据进行加密,得到目标加密结果,所述目标加密结果中包括对所述待加密数据加密得到的加密数据和用于对所述目标加密结果进行验证的第一校验信息;
目标加密结果存储模块,用于将所述目标加密结果存储到云存储服务器中。
第五方面,本公开实施例提供一种第一解密设备,包括:
目标加密结果获取模块,用于从云存储服务器中获取目标加密结果,所述目标加密结果中包括加密数据和第一校验信息;
目标加密结果发送模块,用于将预先生成的盲化私钥和所述目标加密结果发送给第二解密设备,所述盲化私钥是所述第一解密设备预先对私钥进行盲化处理得到的;
中间解密结果接收模块,用于接收所述第二解密设备发送的中间解密结果,所述中间解密结果中包括中间解密数据和第二校验信息,所述中间解密数据是解密时所需要进行的部分计算得到的数据;
第一解密模块,用于若所述第二校验信息与所述第一校验信息一致,且通过所述第二校验信息对所述中间解密数据验证成功,则根据所述中间解密数据和公钥,对所述加密数据进行解密得到目标数据。
第六方面,本公开实施例提供一种第二解密设备,包括:
目标加密结果接收模块,用于接收第一解密设备发送的盲化私钥和目标加密结果,所述盲化私钥是所述第一解密设备预先对私钥进行盲化处理得到的;
秘密值还原模块,用于针对访问策略中的每个叶子节点,根据所述盲化私钥、所述目标加密结果中的所述叶子节点的节点加密结果和所述叶子节点的取值,还原出所述叶子节点的秘密值,并根据所述叶子节点的秘密值还原出根节点的秘密值;
第二解密模块,用于根据所述根节点的秘密值和所述盲化私钥、所述目标加密结果中的第二中间结果计算中间解密数据;
中间解密结果发送模块,用于向所述第一解密设备发送中间解密结果,所述中间解密结果中包括:所述中间解密数据和第二校验信息,所述第二校验信息与所述目标加密结果中的第一校验信息一致。
第七方面,本公开实施例提供一种加密设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述加密设备实现如第一方面所述的方法。
第八方面,本公开实施例提供一种第一解密设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述第一解密设备实现如第二方面所述的方法。
第九方面,本公开实施例提供一种第二解密设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述第二解密设备实现如第三方面所述的方法。
第十方面,本公开实施例提供一种数据处理系统,包括:如第四方面或第七方面所述的加密设备、如第五方面或第八方面所述的第一解密设备,以及如第六方面或第九方面所述的第二解密设备。
第十一方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,使计算设备实现如第一方面或第二方面或第三方面所述的方法。
第十二方面,本公开实施例提供一种计算机程序,所述计算机程序用于实现如第一方面或第二方面或第三方面所述的方法。
本公开实施例提供了一种数据处理方法及设备,该方法包括:加密设备获取预先生成的中间密文,该中间密文中包括在加密过程中可预先进行的运算对应的运算结果,中间密文可重复使用;加密设备根据中间密文、公钥和预设的访问策略对待加密数据进行加密,得到目标加密结果,目标加密结果中包括对待加密数据加密得到的加密数据和用于对目标加密结果进行验证的第一校验信息;加密设备将目标加密结果存储到云存储服务器中。本公开实施例可以将加密过程中可预先进行的运算预先进行得到中间密文,并存储该中间密文。从而需要加密时,获取该中间密文并在该中间密文之上进行一些简单的运算即可解密得到目标数据。这样,减少了需要加密时的运算量,提高了加密效率。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种数据处理系统的结构示意图;
图2是本公开实施例提供的一种数据处理方法的步骤流程图;
图3是本公开实施例提供的一种访问策略的结构示意图;
图4是本公开实施例提供的另一种数据处理方法的步骤流程图;
图5是本公开实施例提供的另一种数据处理方法的步骤流程图;
图6是本公开实施例提供的一种加密设备的结构框图;
图7是本公开实施例提供的一种第一解密设备的结构框图;
图8是本公开实施例提供的一种第二解密设备的结构框图;
图9是本公开实施例提供的一种电子设备的结构框图;
图10是本公开实施例提供的另一种电子设备的结构框图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
正如背景技术所述,现有技术的加密效率较低。经发明人研究发现,现有技术在加密时需要进行的计算较多,导致这些运算需要消耗较长的时间,从而导致加密效率较低。
为了解决上述问题,本公开实施例考虑将加密过程中可预先进行的运算预先进行,并存储其运算结果,这部分也就是离线加密过程。从而在在线加密时,获取这部分运算结果,并在该运算结果之上进行一些简单的运算即可得到解密结果,也就是还原出来的目标数据。
下面以具体地实施例对本公开实施例的技术方案以及本公开的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本公开实施例进行描述。
图1是本公开实施例提供的一种数据处理系统的结构示意图。参照图1所示,该数据处理系统100中可以包括:加密设备101、云存储服务器102、第一解密设备103、第二解密设备104和可信设备105。
其中,上述图1中的可信设备105是数据处理系统中的密钥管理设备,可以用于生成公钥、主私钥和私钥,并将公钥和主私钥发送给加密设备101,以及将私钥发送给第一解密设备103。
具体地,可信设备105可以通过一个初始化算法生成上述公钥和主私钥。上述初始化算法的运行过程可以包括多个步骤:
首先,可信设备105确定一个生成元g和阶数p,并根据g和p生成两个循环群G和Gt,该循环群是进行双线性运算的群。
然后,可信设备105确定一个质数群Zp,并从该质数群Zp中选取四个质数:第二质数μ、第三质数ω、第五质数x和第六质数y。
再然后,可信设备105确定一个密钥派生函数KDF、密码学上抗碰撞攻击的散列函数H和双线性函数e,KDF可输出长度为l的派生结果。
最后,可信设备105生成公钥PK、主私钥MSK,其中,PK=(e,g,p,gω,e(g,g)μ,G,Gt,x,y,KDF,l,H),MSK=(μ,ω)。
可以看出,上述方法相当于执行了一次初始化函数setup(1λ)->(PK,MSK),其中的λ用于区分不同次的初始化。
在得到上述主私钥之后,可信设备105还可以通过以下过程生成私钥:
首先,可信设备105可以从上述质数群中随机选取一个质数r,并进行以下运算:
A=g(μ+r)/ω (1)
然后,对于解密者的第j个属性aj,可信设备105均为该属性aj从质数群Zp中随机选取一个质数rj,并对该属性aj进行以下运算:
Figure BDA0003483099490000061
Figure BDA0003483099490000071
最后,封装私钥SK=(L,A,{Aj,Bj}1≤j≤J),其中,L为解密者的各属性的可取值集合,J为属性的总数量。
可以看出,上述生成私钥的方法可以理解为一个函数KeyGen(PK,MSK,L)->SK。
加密设备101用于通过公钥和主私钥对待加密数据进行加密,并将加密结果存储到云存储服务器102中。当然,在本公开实施例中,这里的加密分为两部分:离线加密过程和在线加密过程。其中,离线加密过程用于生成中间密文,在线加密过程用于通过中间密文、公钥和访问策略对待加密数据进行加密得到加密结果。
第一解密设备103用于从云存储服务器102中获取加密结果,并将加密结果和盲化私钥发送给第二解密设备104,并根据第二解密设备104解密得到的中间解密结果对加密结果进行进一步解密得到完全解密的目标数据。
可以看出,上述第二解密设备104用于对加密结果进行部分解密,这部分解密包括一些较复杂的解密运算,第二解密设备104的运算性能通常比第一解密设备103的运算性能好,从而调用第二解密设备104进行这部分较复杂的解密运算,可以缩短解密所需要的时长,有助于进一步提高解密效率。
此外,上述第一解密设备还可以将私钥进行盲化得到的盲化私钥发送给第二解密设备,这样,可以避免调用第二解密设备进行部分解密时,私钥泄露,有助于提高私钥的安全性。
基于图1所示的数据处理系统,图2是本公开实施例提供的一种数据处理方法的步骤流程图,该方法应用于加密设备。参照图2所示,该数据处理方法包括:
S201:加密设备获取预先生成的中间密文,该中间密文中包括在加密过程中可预先进行的运算对应的运算结果,中间密文可重复使用。
可以理解的是,加密过程就是一个对数据进行运算的过程,在现有技术中,在需要对待加密数据进行加密时,通过公钥对待加密数据以及其他信息进行加密得到加密结果。也就是说,现有技术中的加密是完全在线进行的,所有运算都是在有待加密数据时才进行的。
而在本公开实施例中,将现有的加密过程划分为离线加密和在线加密。
其中,离线加密是加密设备预先进行的,得到的中间密文是可以重复使用的,也就是说,对于同一个加密设备,该加密设备在不同时间对不同待加密数据进行加密时,可以重复使用这部分中间密文。这样,在每次对待加密数据进行加密时,就可以省略一些运算步骤,从而节约了加密时间,提高了加密效率。
当然,为了尽可能的提高加密效率,我们可以尽可能的将所有能预先进行的运算都预先进行。主要思想是将一些不针对变化数据的运算可以预先进行,这里的变化数据是指不同次加密所涉及的不同数据,可以包括但不限于待加密数据。
在加密过程中,需要对待加密数据进行加密,还需要生成用于该加密结果进行验证的第一校验信息。此外,现有技术中,访问策略是不经过加密的,从而,访问策略是暴露在网络中,会导致访问策略的安全性较低。相对于现有技术,本公开实施例还对访问策略进行加密,以保证访问策略的安全性。从而,在加密过程中可预先进行的运算包括以下至少一种:对待加密数据进行加密时可预先进行的运算、生成第一校验信息时可预先进行的运算、对访问策略加密时可预先进行的运算。
其中,访问策略用于限制解密设备,只有满足该访问策略的解密设备才被允许对该加密结果解密。图3是本公开实施例提供的一种访问策略的结构示意图。参照图3所示,访问策略是一个树状结构,解密设备的用户需要满足的条件是:部门是“研发部”并且性别是“男”或“女”,也就是说,该加密结果只有研发部的男同事或女同事才可以解密。图3仅是一种示例,不构成对访问策略的限制。
下面具体说明几种中间密文的生成过程。
第一种中间密文的生成过程可以包括:首先,加密设备从公钥PK的质数群Zp中随机选取第一质数q;然后,加密设备根据公钥PK中的双线性函数e对第一质数q和主私钥MSK中的第二质数μ进行双线性运算得到第一中间结果C1’;最后,加密设备根据第一中间结果生成中间密文。
其中,第一中间结果可以通过以下公式计算得到:
C1’=e(g,g)q·μ (4)
其中,g是PK中的生成元。
可以理解的是,在得到上述第一中间结果之后,中间密文就可以包括该第一中间结果。
在通过离线加密得到包括上述第一中间结果的中间密文之后,在线加密时可以直接使用该第一中间结果对待加密数据进行加密,从而可以减少在线加密所要进行的运算量,从而缩短对待加密数据进行加密所需要消耗的时长,提高加密效率。根据该第一中间结果对待加密数据进行加密的详细过程在后面S202中进行详细说明。
第二种中间密文的生成过程可以包括:首先,加密设备根据第一质数q、主私钥中的第三质数ω和公钥中的生成元g计算得到第二中间结果C0;然后,加密设备根据第二中间结果C0生成中间密文。
其中,第二中间结果C0可以通过以下公式计算得到:
C0=gω·q (5)
可以理解的是,在得到上述第二中间结果之后,中间密文就可以包括该第二中间结果。
在通过离线加密得到包括上述第二中间结果的中间密文之后,在线加密时可以直接将该第二中间结果添加到加密结果中,以在解密时使用,从而可以避免在线加密时再进行这部分运算,有助于减少在线加密所要进行的运算量,从而缩短进行加密所需要消耗的时长,提高加密效率。
第三种中间密文的生成过程可以包括:首先,针对图3所示的访问策略中的每个节点,加密设备从公钥PK的质数群Zp中随机选取一个质数bi,t作为该第i个节点的第四质数;然后,针对每个节点,加密设备根据对应的第四质数bi,t和公钥PK中的生成元g生成该节点的第三中间结果Ci,t,以及,根据对应的第四质数bi,t、该节点的取值ai,t的哈希值和公钥PK中的生成元生成第四中间结果Di,t;最后,加密设备根据第一质数q、各节点的节点中间结果,生成中间密文,节点中间结果包括:第三中间结果Ci,t、第四中间结果Di,t和第四质数bi,t
其中,第三中间结果Ci,t可以按照以下公式计算得到:
Figure BDA0003483099490000091
第四中间结果Di,t可以按照以下公式计算得到:
Figure BDA0003483099490000092
其中,H(ai,t)是PK中的散列函数H对ai,t生成的哈希值。
可以理解的是,在得到上述节点中间结果之后,中间密文就可以包括各个节点的节点中间结果{Ci,t,Di,t,bi,t}。
在通过离线加密得到包括上述节点中间结果的中间密文之后,在线加密时可以通过该节点中间结果对访问策略进行加密,从而可以有助于减少在线加密时对访问策略加密所要进行的运算量,从而缩短进行加密所需要消耗的时长,提高加密效率。
当然,可以将上述第一至第三种中的至少两种中间密文的生成过程结合起来,得到包括不同内容的中间密文。例如,可以将第一种和第二种结合起来,得到包括第一中间结果C1’和第二中间结果C0的中间密文,还可以将第一种和第三种结合起来得到包括第一中间结果C1’和各节点的节点中间结果{Ci,t,Di,t,bi,t}的中间密文,也可以将第二种和第三种结合起来得到包括第二中间结果C0和各节点的节点中间结果{Ci,t,Di,t,bi,t}的中间密文,还可以将三种结合起来得到包括第一中间结果C1’、第二中间结果C0和各节点的节点中间结果{Ci,t,Di,t,bi,t}的中间密文。当然,三种都结合得到的中间密文ICT=(q,C0,C1’,{Ci,t,Di,t,bi,t}1≤i≤I)可以最大限度的提高加密效率。其中,I是访问策略中的节点数量。
S202:加密设备根据中间密文、公钥和预设的访问策略对待加密数据进行加密,得到目标加密结果,目标加密结果中包括对待加密数据加密得到的加密数据和用于对目标加密结果进行验证的第一校验信息。
其中,目标加密结果可以包括:访问策略、第二中间结果、加密数据、访问策略中的各个叶子节点的节点解密结果、第一校验信息。目标加密结果中包括的至少一种信息可以是通过中间密文运算得到的,以提高加密效率,其余信息可以是现有技术中加密过程得到的。当然,当中间密文是(q,C0,C1’,{Ci,t,Di,t,bi,t}1≤i≤I)时,可以最大限度的提高目标加密结果的生成效率。
可以理解的是,对于不同的中间密文,S202的加密过程也不同。
对应于前述S201中的第一种中间密文的生成过程,生成目标加密结果的第一种过程可以包括:首先,加密设备通过第一中间结果对待加密数据进行加密得到加密数据;然后,加密设备根据访问策略和加密数据生成目标加密结果。
其中,加密数据可以是第一中间结果C1’和待加密数据的乘积,具体可以参照以下公式计算得到:
C1=m·C1’ (8)
其中,m是待加密数据。
在得到加密数据之后,就可以生成包括加密数据的目标加密结果。
可以看出,上述第一中间结果可以用于对待加密数据进行加密,减少了在线加密时对待加密数据进行加密所需要的运算量,提高了在线加密时待加密数据的加密效率。
上述第一中间结果除了可以用于对待加密数据进行加密之外,还可以用于在线加密时生成第一校验信息。具体地,加密设备通过公钥PK中的密钥派生函数KDF生成第一中间结果C1’的派生结果KDF(C1’,l);然后,加密设备通过公钥PK中的第五质数x、第六质数y和上述派生结果生成第一校验信息
Figure BDA0003483099490000111
从而,加密设备可以根据访问策略T、加密数据C1和第一校验信息
Figure BDA0003483099490000112
生成目标加密结果。
可选地,第一校验信息
Figure BDA0003483099490000113
可以通过以下公式计算得到:
Figure BDA0003483099490000114
其中,H是PK中的散列函数,VKEY和η是从派生结果中提取出来的,VKEY和η通常是固有长度,例如,长度为l的派生结果中前M位为VKEY,M+1至l位为η,其中,M是可以根据实际场景预设的,不同场景可以设置不同的取值。
可以看出,上述第一中间结果可以减少在线加密时生成第一校验信息所需要进行的运算量,从而提高生成第一校验信息所需要的时长,进而提高加密效率。
对应于前述S201中的第二种中间密文的生成过程,生成目标加密结果的第二种过程可以包括:加密设备根据访问策略、第二中间结果、加密数据和第一校验信息生成目标加密结果。从而,不需要在线加密时生成该第二中间结果,有助于进一步降低加密时的运算量,提高加密效率。
对应于前述S201中的第三种中间密文的生成过程,生成目标加密结果的第二种过程可以包括:首先,针对访问策略的每个叶子节点,加密设备将中间密文中的第一质数q作为该叶子节点的秘密值,并确定该秘密值和叶子节点的第四质数bθ之间的差异程度参数rθ=q-bi,t;然后,加密设备根据访问策略、第二中间结果、加密数据、各叶子节点的节点加密结果和第一校验信息,生成目标加密结果,该节点加密结果中包括:第三中间结果、第四中间结果、差异程度参数。
其中,目标加密结果CT=(T,C0,C1,{Cθ,Dθ,rθ}1≤θ≤I1),Cθ是叶子节点的第三中间结果,Dθ是叶子节点的第四中间结果,bθ是叶子节点的第四质数,Cθ、Dθ和bθ可以直接从中间密文中的节点中间结果中提取得到。
可以看出,上述中间密文中的节点中间结果可以用于对访问策略的叶子节点进行加密,从而在线加密时仅需要进行秘密值和叶子节点的第四质数的差值运算,运算量很少,从而有助于降低访问策略的叶子节点的加密所需要的时长,提高了加密效率。
S203:加密设备将目标加密结果存储到云存储服务器中。
其中,云存储服务器用于存储目标加密结果,以使第一解密设备可以从云存储服务器中获取到目标加密结果以进行解密。
上述生成中间密文的离线加密过程可以理解为一个函数Encryptoffline(PK)->ICT,上述基于中间密文进行在线加密的过程可以理解为一个函数Encryptonline(PK,ICT,T,m)->CT。
与上述图2所示的方法对应,图4是本公开实施例提供的一种数据处理方法的步骤流程图,该方法应用于第一解密设备。参照图4所示,该数据处理方法包括:
S301:第一解密设备从云存储服务器中获取目标加密结果,目标加密结果中包括加密数据和第一校验信息。
可以理解的是,在云存储服务器中存在待解密的目标加密结果时,第一解密设备可以从中获取到目标解密结果。
S302:第一解密设备将预先生成的盲化私钥和云存储服务器中的目标加密结果发送给第二解密设备,盲化私钥是第一解密设备预先对私钥进行盲化处理得到的。
其中,盲化私钥是第一解密设备在接收到可信设备发送的私钥之后生成的,具体的生成算法可以参照以下公式:
A*=Az (10)
Figure BDA0003483099490000131
Figure BDA0003483099490000132
从而,盲化私钥
Figure BDA0003483099490000133
其中,A、Aj和Bj是可信设备生成的私钥SK中的信息,z是从Zp中随机选取的质数,z是盲化因子。
可以看出,上述生成盲化私钥的过程可以理解为一个函数GenTkout(PK,SK)->TK。
S303:第一解密设备接收第二解密设备发送的中间解密结果,中间解密结果中包括中间解密数据和第二校验信息,中间解密数据是解密时所需要进行的部分计算得到的数据。
第二解密设备的具体解密过程可以参照图5所示的方法实施例,在此不再赘述。
S304:若第二校验信息与第一校验信息一致,且通过第二校验信息对中间解密数据验证成功,则第一解密设备根据中间解密数据和公钥,对加密数据进行解密得到目标数据。
其中,第一解密设备通过第二校验信息对中间解密数据进行验证的过程可以包括:首先,第一解密设备对中间解密数据W做乘方操作得到会话密钥
Figure BDA0003483099490000136
z是前述从Zp中随机选取的盲化因子;然后,第一解密设备使用密钥派生函数KDF,将会话密钥DK映射为长度为l的比特流KDF(DK,l),并从KDF(DK,l)得到的比特流中提取VEKY和η,并验证通过公式(9)计算得到的结果是否等于第二校验信息。如果等于,那么验证成功;如果不等于,那么验证失败。
在进行验证成功之后,才可以进行解密,从而可以保证数据的安全性。具体地,解密得到目标数据的步骤可以包括:首先,第一解密设备先通过公钥PK中选取的盲化因子z对中间解密数据W求乘方操作,得到
Figure BDA0003483099490000134
然后,第一解密设备计算加密数据和
Figure BDA0003483099490000135
的比值,得到目标数据,该目标数据也就是前面的待加密数据。
本公开实施例可以通过运算性能更好的第二解密设备进行较复杂的部分运算,运算性能较差的第一解密设备仅需要进行一些简单的运算即可,从而可以提高解密效率。但在这个委托第二解密设备进行部分解密的过程中,本公开实施例可以使第二解密设备用盲化私钥进行部分解密,从而不仅可以提高解密效率,还可以避免第一解密设备的私钥泄露,有助于提高私钥的安全性。
可以看出,上述图4所示的步骤流程是第一解密设备的解密流程,上述过程可以相当于一个函数Decrypt(CT,CT’,z,bool)->m,这里的bool是根据前述验证第一校验信息、第二校验信息、通过第二校验信息对中间解密数据验证的结果确定的,也就是执行该函数verify(CT’,CT,PK)->bool。若第二校验信息与第一校验信息一致,且通过第二校验信息对中间解密数据验证成功,则bool=1,代表验证成功;否则,bool=0,代表验证失败。验证成功时,才能解密得到目标数据m。
与上述图4所示的方法对应,图5是本公开实施例提供的一种数据处理方法的步骤流程图,该方法应用于第二解密设备。参照图5所示,该数据处理方法包括:
S401:第二解密设备接收第一解密设备发送的盲化私钥和目标加密结果,盲化私钥是第一解密设备预先对私钥进行盲化处理得到的。
这里的盲化私钥可以参照S301的详细说明。
S402:针对访问策略中的每个叶子节点,第二解密设备根据盲化私钥、目标加密结果中的叶子节点的节点加密结果和叶子节点的取值,还原出叶子节点的秘密值,并根据叶子节点的秘密值还原出根节点的秘密值。
其中,叶子节点的秘密值Eθ可以通过以下公式计算得到:
Figure BDA0003483099490000141
按照访问策略的树状结构,可以根据上述叶子节点的秘密值逐个计算得到上一层节点的秘密值,直至最后得到根节点的秘密值Eroot=e(g,g)rs·q,其中,e是公钥PK中的双线性函数,g是公钥PK中的生成元,r是Zp中的一个质数,也就是公式(1)中使用的r,q是第一质数。
S403:第二解密设备根据根节点的秘密值和盲化私钥、目标加密结果中的第二中间结果计算中间解密数据。
其中,中间解密数据W可以按照以下公式计算得到:
Figure BDA0003483099490000142
S404:第二解密设备向第一解密设备发送中间解密结果,中间解密结果中包括:中间解密数据和第二校验信息,第二校验信息与目标加密结果中的第一校验信息一致。
具体地,第二解密设备将目标加密结果中的第一校验信息作为第二校验信息,并将中间解密数据和第二校验信息添加到中间解密结果中即可。
可以看出,上述图4所示的步骤流程是第二解密设备的解密流程,上述中间解密结果的生成过程可以理解为一个函数PreDecrypt(CT,TK,PK)->CT’,上述过程中使用到了公钥PK中的部分信息。
上述图2、图4和图5所示的加密、解密流程可以结合起来得到对数据的完整加解密流程。上述完整加解密流程可以包括:
S501:加密设备获取预先生成的中间密文,该中间密文中包括在加密过程中可预先进行的运算对应的运算结果,中间密文可重复使用。
S502:加密设备根据中间密文、公钥和预设的访问策略对待加密数据进行加密,得到目标加密结果,目标加密结果中包括对待加密数据加密得到的加密数据和用于对目标加密结果进行验证的第一校验信息。
S503:加密设备将目标加密结果存储到云存储服务器中。
S504:第一解密设备从云存储服务器中获取目标加密结果,目标加密结果中包括加密数据和第一校验信息。
S505:第一解密设备将预先生成的盲化私钥和云存储服务器中的目标加密结果发送给第二解密设备,盲化私钥是第一解密设备预先对私钥进行盲化处理得到的。
相应地,第二解密设备接收第一解密设备发送的盲化私钥和目标加密结果。
S506:针对访问策略中的每个叶子节点,第二解密设备根据盲化私钥、目标加密结果中的叶子节点的节点加密结果和叶子节点的取值,还原出叶子节点的秘密值,并根据叶子节点的秘密值还原出根节点的秘密值。
S507:第二解密设备根据根节点的秘密值和盲化私钥、目标加密结果中的第二中间结果计算中间解密数据。
S508:第二解密设备向第一解密设备发送中间解密结果,中间解密结果中包括:中间解密数据和第二校验信息,第二校验信息与目标加密结果中的第一校验信息一致,中间解密数据是解密时所需要进行的部分计算得到的数据。
相应地,第一解密设备接收第二解密设备发送的中间解密结果。
S509:若第二校验信息与第一校验信息一致,且通过第二校验信息对中间解密数据验证成功,则第一解密设备根据中间解密数据和公钥,对加密数据进行解密得到目标数据。
对应于上文实施例图2所示的数据处理方法,图6是本公开实施例提供的一种加密设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图6所示,上述加密设备101包括:中间密文获取模块1011、加密模块1012和目标加密结果存储模块1013。
其中,中间密文获取模块1011,用于获取预先生成的中间密文,所述中间密文中包括在加密过程中可预先进行的运算对应的运算结果,所述中间密文可重复使用。
加密模块1012,用于根据所述中间密文、公钥和预设的访问策略对待加密数据进行加密,得到目标加密结果,所述目标加密结果中包括对所述待加密数据加密得到的加密数据和用于对所述目标加密结果进行验证的第一校验信息。
目标加密结果存储模块1013,用于将所述目标加密结果存储到云存储服务器中。
可选地,所述在加密过程中可预先进行的运算包括以下至少一种:对所述待加密数据进行加密时可预先进行的运算、生成第一校验信息时可预先进行的运算、对访问策略加密时可预先进行的运算。
可选地,所述中间密文是通过以下模块预先生成的:
第一质数选取模块,用于从公钥的质数群中随机选取第一质数。
第一中间运算模块,用于根据公钥中的双线性函数对所述第一质数和主私钥中的第二质数进行双线性运算得到第一中间结果。
中间密文生成模块,用于根据所述第一中间结果生成所述中间密文。
相应地,所述加密模块1012还用于:
通过所述第一中间结果对所述待加密数据进行加密得到加密数据;根据所述访问策略和所述加密数据生成所述目标加密结果。
可选地,所述加密模块1012还用于:
通过公钥中的密钥派生函数生成所述第一中间结果的派生结果;所述加密设备通过公钥中的第五质数、第六质数和所述派生结果生成第一校验信息;所述加密设备根据所述访问策略、所述加密数据和所述第一校验信息生成所述目标加密结果。
可选地,所述中间密文生成模块还用于:
根据所述第一质数、主私钥中的第三质数和公钥中的生成元计算得到第二中间结果;根据所述第一中间结果和所述第二中间结果生成所述中间密文。
相应地,所述加密模块1012还用于:
根据所述访问策略、所述第二中间结果、所述加密数据和所述第一校验信息生成所述目标加密结果。
可选地,所述访问策略为树状结构,所述中间密文生成模块还用于:
针对所述访问策略中的每个节点,所述加密设备从所述公钥的质数群中随机选取一个质数作为所述节点的第四质数;针对每个所述节点,所述加密设备根据对应的所述第四质数和所述公钥中的生成元生成所述节点的第三中间结果,以及,根据对应的所述第四质数、所述节点的取值的哈希值和所述公钥中的生成元生成第四中间结果;所述加密设备根据所述第一质数、所述第二中间结果、所述第一中间结果、各所述节点的节点中间结果,生成所述中间密文,所述节点中间结果包括:所述第三中间结果、所述第四中间结果和所述第四质数。
相应地,所述加密模块1012还用于:
针对所述访问策略的每个叶子节点,将所述中间密文中的所述第一质数作为所述叶子节点的秘密值,并确定所述秘密值和所述叶子节点的第四质数之间的差异程度参数;根据所述访问策略、所述第二中间结果、所述加密数据、各所述叶子节点的节点加密结果和所述第一校验信息,生成所述目标加密结果,所述节点加密结果中包括:所述第三中间结果、所述第四中间结果、所述差异程度参数。
本实施例提供的加密设备,可用于执行上述图2所示的方法实施例的步骤,其实现原理和技术效果类似,本实施例此处不再赘述。
对应于上文实施例图4所示的数据处理方法,图7是本公开实施例提供的一种第一解密设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图7所示,上述第一解密设备103包括:目标加密结果获取模块1031、目标加密结果发送模块1032、中间解密结果接收模块1033和第一解密模块1034。
目标加密结果获取模块1031,用于从云存储服务器中获取目标加密结果,所述目标加密结果中包括加密数据和第一校验信息。
目标加密结果发送模块1032,用于将预先生成的盲化私钥和所述目标加密结果发送给第二解密设备,所述盲化私钥是所述第一解密设备预先对私钥进行盲化处理得到的。
中间解密结果接收模块1033,用于接收所述第二解密设备发送的中间解密结果,所述中间解密结果中包括中间解密数据和第二校验信息,所述中间解密数据是解密时所需要进行的部分计算得到的数据。
第一解密模块1034,用于若所述第二校验信息与所述第一校验信息一致,且通过所述第二校验信息对所述中间解密数据验证成功,则根据所述中间解密数据和所述公钥,对所述加密数据进行解密得到目标数据。
本实施例提供的第一解密设备,可用于执行上述图4所示的方法实施例的步骤,其实现原理和技术效果类似,本实施例此处不再赘述。
对应于上文实施例图5所示的数据处理方法,图8是本公开实施例提供的一种第二解密设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图8所示,上述第二解密设备104包括:目标加密结果接收模块1041、秘密值还原模块1042、第二解密模块1043和中间解密结果发送模块1044。
目标加密结果接收模块1041,用于接收第一解密设备发送的盲化私钥和目标加密结果,所述盲化私钥是所述第一解密设备预先对私钥进行盲化处理得到的。
秘密值还原模块1042,用于针对所述访问策略中的每个叶子节点,根据所述盲化私钥、所述目标加密结果中的所述叶子节点的节点加密结果和所述叶子节点的取值,还原出所述叶子节点的秘密值,并根据所述叶子节点的秘密值还原出根节点的秘密值。
第二解密模块1043,用于根据所述根节点的秘密值和所述盲化私钥、所述目标加密结果中的第二中间结果计算中间解密数据。
中间解密结果发送模块1044,用于向所述第一解密设备发送中间解密结果,所述中间解密结果中包括:所述中间解密数据和第二校验信息,所述第二校验信息与所述目标加密结果中的第一校验信息一致。
本实施例提供的第二解密设备,可用于执行上述图5所示的方法实施例的步骤,其实现原理和技术效果类似,本实施例此处不再赘述。
上述加密设备、第一解密设备和第二解密设备可以统称为电子设备,图9是本公开实施例提供的一种电子设备600的结构框图。该电子设备600包括存储器602和至少一个处理器601。
其中,存储器602存储计算机执行指令。
至少一个处理器601执行存储器602存储的计算机执行指令,使得电子设备601实现前述图2或图4或图5中的方法。
此外,该电子设备还可以包括接收器603和发送器604,接收器603用于接收从其余装置或设备的信息,并转发给处理器601,发送器604用于将信息发送到其余装置或设备。
进一步地,参考图10,其示出了适于用来实现本公开实施例的电子设备900的结构示意图,该电子设备900可以为终端设备。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable MediaPlayer,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图10示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(Read Only Memory,简称ROM)902中的程序或者从存储装置908加载到随机访问存储器(Random Access Memory,简称RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图10示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从ROM902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
加密设备获取预先生成的中间密文,所述中间密文中包括在加密过程中可预先进行的运算对应的运算结果,所述中间密文可重复使用;
所述加密设备根据所述中间密文、公钥和预设的访问策略对待加密数据进行加密,得到目标加密结果,所述目标加密结果中包括对所述待加密数据加密得到的加密数据和用于对所述目标加密结果进行验证的第一校验信息;
所述加密设备将所述目标加密结果存储到云存储服务器中。
2.根据权利要求1所述的方法,其特征在于,所述在加密过程中可预先进行的运算包括以下至少一种:对所述待加密数据进行加密时可预先进行的运算、生成所述第一校验信息时可预先进行的运算、对所述访问策略加密时可预先进行的运算。
3.根据权利要求2所述的方法,其特征在于,所述中间密文是通过以下步骤预先生成的:
所述加密设备从所述公钥的质数群中随机选取第一质数;
所述加密设备根据所述公钥中的双线性函数对所述第一质数和主私钥中的第二质数进行双线性运算得到第一中间结果;
所述加密设备根据所述第一中间结果生成所述中间密文;
所述加密设备根据所述中间密文、公钥和预设的访问策略对待加密数据进行加密,得到目标加密结果,包括:
所述加密设备通过所述第一中间结果对所述待加密数据进行加密得到加密数据;
所述加密设备根据所述访问策略和所述加密数据生成所述目标加密结果。
4.根据权利要求3所述的方法,其特征在于,所述加密设备根据所述访问策略和所述加密数据生成所述目标加密结果,包括:
所述加密设备通过所述公钥中的密钥派生函数生成所述第一中间结果的派生结果;
所述加密设备通过所述公钥中的第五质数、第六质数和所述派生结果生成所述第一校验信息;
所述加密设备根据所述访问策略、所述加密数据和所述第一校验信息生成所述目标加密结果。
5.根据权利要求4所述的方法,其特征在于,所述加密设备根据所述第一中间结果生成所述中间密文,包括:
所述加密设备根据所述第一质数、所述主私钥中的第三质数和所述公钥中的生成元计算得到第二中间结果;
所述加密设备根据所述第一中间结果和所述第二中间结果生成所述中间密文;
所述加密设备根据所述访问策略、所述加密数据和所述第一校验信息生成所述目标加密结果,包括:
所述加密设备根据所述访问策略、所述第二中间结果、所述加密数据和所述第一校验信息生成所述目标加密结果。
6.根据权利要求5所述的方法,其特征在于,所述访问策略为树状结构,所述加密设备根据所述第一中间结果和所述第二中间结果生成所述中间密文,包括:
针对所述访问策略中的每个节点,所述加密设备从所述公钥的质数群中随机选取一个质数作为所述节点的第四质数;
针对每个所述节点,所述加密设备根据对应的所述第四质数和所述公钥中的生成元生成所述节点的第三中间结果,以及,根据对应的所述第四质数、所述节点的取值的哈希值和所述公钥中的生成元生成第四中间结果;
所述加密设备根据所述第一质数、所述第二中间结果、所述第一中间结果、各所述节点的节点中间结果,生成所述中间密文,所述节点中间结果包括:所述第三中间结果、所述第四中间结果和所述第四质数;
所述加密设备根据所述访问策略、所述第二中间结果、所述加密数据和所述第一校验信息生成所述目标加密结果,包括:
针对所述访问策略的每个叶子节点,所述加密设备将所述中间密文中的所述第一质数作为所述叶子节点的秘密值,并确定所述秘密值和所述叶子节点的第四质数之间的差异程度参数;
所述加密设备根据所述访问策略、所述第二中间结果、所述加密数据、各所述叶子节点的节点加密结果和所述第一校验信息,生成所述目标加密结果,所述节点加密结果中包括:所述第三中间结果、所述第四中间结果、所述差异程度参数。
7.一种数据处理方法,其特征在于,包括:
第一解密设备从云存储服务器中获取目标加密结果,所述目标加密结果中包括加密数据和第一校验信息;
所述第一解密设备将预先生成的盲化私钥和所述目标加密结果发送给第二解密设备,所述盲化私钥是所述第一解密设备预先对私钥进行盲化处理得到的;
所述第一解密设备接收所述第二解密设备发送的中间解密结果,所述中间解密结果中包括中间解密数据和第二校验信息,所述中间解密数据是解密时所需要进行的部分计算得到的数据;
若所述第二校验信息与所述第一校验信息一致,且通过所述第二校验信息对所述中间解密数据验证成功,则所述第一解密设备根据所述中间解密数据和公钥,对所述加密数据进行解密得到目标数据。
8.一种数据处理方法,其特征在于,所述方法包括:
第二解密设备接收第一解密设备发送的盲化私钥和目标加密结果,所述盲化私钥是所述第一解密设备预先对私钥进行盲化处理得到的;
针对访问策略中的每个叶子节点,所述第二解密设备根据所述盲化私钥、所述目标加密结果中的所述叶子节点的节点加密结果和所述叶子节点的取值,还原出所述叶子节点的秘密值,并根据所述叶子节点的秘密值还原出根节点的秘密值;
所述第二解密设备根据所述根节点的秘密值和所述盲化私钥、所述目标加密结果中的第二中间结果计算中间解密数据;
所述第二解密设备向所述第一解密设备发送中间解密结果,所述中间解密结果中包括:所述中间解密数据和第二校验信息,所述第二校验信息与所述目标加密结果中的第一校验信息一致。
9.一种加密设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述加密设备实现如权利要求1至6任一项所述的方法。
10.一种第一解密设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述第一解密设备实现如权利要求7所述的方法。
CN202210073827.XA 2022-01-21 2022-01-21 数据处理方法及设备 Pending CN114398658A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210073827.XA CN114398658A (zh) 2022-01-21 2022-01-21 数据处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210073827.XA CN114398658A (zh) 2022-01-21 2022-01-21 数据处理方法及设备

Publications (1)

Publication Number Publication Date
CN114398658A true CN114398658A (zh) 2022-04-26

Family

ID=81232957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210073827.XA Pending CN114398658A (zh) 2022-01-21 2022-01-21 数据处理方法及设备

Country Status (1)

Country Link
CN (1) CN114398658A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208626A (zh) * 2022-06-02 2022-10-18 北京交大微联科技有限公司 铁路信号系统中基于安全通信密文传输的通信方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208626A (zh) * 2022-06-02 2022-10-18 北京交大微联科技有限公司 铁路信号系统中基于安全通信密文传输的通信方法及装置
CN115208626B (zh) * 2022-06-02 2023-12-01 北京交大微联科技有限公司 铁路信号系统中基于安全通信密文传输的通信方法及装置

Similar Documents

Publication Publication Date Title
US11784801B2 (en) Key management method and related device
US11706026B2 (en) Location aware cryptography
CN113033828B (zh) 模型训练方法、使用方法、系统、可信节点及设备
CN109246098B (zh) 一种支持备份服务器同步密文比较的方法
JP6507171B2 (ja) 関連付けられた秘密鍵部分を用いた高速公開鍵暗号化のためのシステムおよび方法
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
CN113162752B (zh) 基于混合同态加密的数据处理方法和装置
CN111783129A (zh) 一种保护隐私的数据处理方法及系统
CN113742709B (zh) 信息的处理方法、装置、可读介质和电子设备
CN109413084A (zh) 一种口令更新方法、装置及系统
CN117061105A (zh) 数据处理方法、装置、可读介质及电子设备
US20150071435A1 (en) Identity based encryption
CN114398658A (zh) 数据处理方法及设备
CN117560150A (zh) 密钥确定方法、装置、电子设备和计算机可读存储介质
CN111786955B (zh) 用于保护模型的方法和装置
CN117914483A (zh) 安全通信方法、装置、设备和介质
Mohammed et al. Secure third party auditor (tpa) for ensuring data integrity in fog computing
CN115883212A (zh) 信息处理方法、装置、电子设备和存储介质
US20230239149A1 (en) Data storage method, data read method, electronic device, and program product
CN113206745B (zh) 一种数字证书管理方法和装置
CN114244502A (zh) 基于sm9算法的签名密钥生成方法、装置和计算机设备
CN115426195B (zh) 数据传输方法、装置、计算机设备和存储介质
CN116015620B (zh) 一种卫星影像数据加密和解密方法和系统
CN117650883B (zh) 一种基于动态密钥采样的连续安全密钥派生方法和系统
CN114095157B (zh) 密钥管理方法、装置、计算机设备及可读存储介质

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