CN116170131B - 密文处理方法、装置、存储介质及可信执行设备 - Google Patents
密文处理方法、装置、存储介质及可信执行设备 Download PDFInfo
- Publication number
- CN116170131B CN116170131B CN202310425295.6A CN202310425295A CN116170131B CN 116170131 B CN116170131 B CN 116170131B CN 202310425295 A CN202310425295 A CN 202310425295A CN 116170131 B CN116170131 B CN 116170131B
- Authority
- CN
- China
- Prior art keywords
- user
- ciphertext
- homomorphic
- key
- conversion
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及同态加密技术领域,公开了一种密文处理方法、装置、存储介质及可信执行设备,包括:获取第一用户对第一数据进行同态加密后得到的第一同态密文;第一同态密文包含第一用户私钥参数;获取由第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用转换密钥将第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对第一同态密文进行转换,得到转换后同态密文;转换后同态密文包含第二用户私钥参数;将转换后同态密文发送至第二用户,以便第二用户对转换后同态密文与第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。本申请能够实现不同用户的同态密文之间的同态计算。
Description
技术领域
本发明涉及同态加密技术领域,特别涉及一种密文处理方法、装置、存储介质及可信执行设备。
背景技术
同态加密(HE,Homomorphic Encryption)是指将原始数据经过同态加密后,对得到的密文进行特定的运算(同态计算),然后将计算结果再进行同态解密后得到的明文等价于原始明文数据直接进行相同计算所得到的数据结果。同态加密作为隐私计算技术中具有最高安全性的先进方法,能够在数据采集后进行加密,并在后续的同态计算中保护和增强数据的隐私安全。然而,上述同态计算过程是基于同一用户来实现的,即同一用户使用同一密钥进行同态加密,不同用户使用不同密钥加密后的数据无法实现直接的同态计算。
因此,如何实现不同用户的同态密文之间的同态计算是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种密文处理方法、装置、存储介质及可信执行设备,能够实现不同用户的同态密文之间的同态计算。其具体方案如下:
本申请的第一方面提供了一种密文处理方法,包括:
获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;
获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;
将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。
可选的,所述转换密钥包括所述第一用户的第一转换密钥和所述第二用户的第二转换密钥;所述第一转换密钥为第一用户私钥参数与中间转换密钥的第一逻辑运算结果,所述第二转换密钥为第二用户私钥参数与所述中间转换密钥的第二逻辑运算结果。
可选的,所述中间转换密钥为在所述第二用户向所述第一用户发送授权请求时通过密钥协商方式确定出的密钥。
可选的,所述获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,包括:
如果所述第一用户和所述第二用户能够通过密钥协商方式确定出所述中间转换密钥,则获取通过对第一用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第一转换密钥和通过对第二用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第二转换密钥;
如果所述第一用户和所述第二用户不能通过密钥协商方式确定出所述中间转换密钥,则直接获取第一用户私钥参数作为所述第一转换密钥,并直接获取第二用户私钥参数作为所述第二转换密钥。
可选的,所述中间转换密钥为第一私钥包和第二私钥包的第三逻辑运算结果;所述第一私钥包由所述第一用户将第一用户私钥参数与随机因子进行逻辑运算得到,所述第二私钥包由所述第二用户将第二用户私钥参数与随机因子进行逻辑运算得到;
相应的,所述第一转换密钥为将第一用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第二用户私钥参数与随机因子的密钥表达式;
所述第二转换密钥为将第二用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第一用户私钥参数与随机因子的密钥表达式。
可选的,所述中间转换密钥的生成公式为:
tk12=F(s1,s2,r1,r2)
其中,F为密钥生成函数,F对应的逻辑运算为加法或者减法,s1为第一用户私钥参数,s2为第二用户私钥参数,r1和r2为随机因子。
可选的,所述通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,包括:
利用所述第一同态密文、所述第一转换密钥和所述第二转换密钥构建具有私钥参数可消除关系的密文转换关系式;
基于所述密文转换关系式将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数。
可选的,所述获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥之后,还包括:
获取认证信息;
根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,如果是,则执行通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换的步骤。
可选的,所述认证信息为利用所述中间转换密钥对所述第一同态密文进行签名后得到的数字签名;
所述根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,包括:
利用所述中间转换密钥对所述数字签名进行验签,如果验签通过,则判定所述第二用户为经过所述第一用户授权的用户。
可选的,所述转换密钥及所述认证信息存储于可信执行设备中的可信执行环境;
获取所述转换密钥和所述认证信息,包括:
从所述可信执行环境中获取所述转换密钥和所述认证信息。
可选的,所述密文处理方法,还包括:
在所述可信执行环境中构建安全认证信息表,并利用所述安全认证信息表对所述转换密钥、所述认证信息进行存储;所述安全认证信息表中还存储有所述第一同态密文及认证方式。
可选的,所述密文处理方法,还包括:
按照可信环境基本规范对所述可信执行设备进行初始化操作,以构建所述可信执行环境。
可选的,所述可信执行环境分为公共计算区域和可信计算区域。
可选的,所述转换密钥及所述认证信息存储于所述可信计算区域。
可选的,所述根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,包括:
在所述可信计算区域中执行根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户的步骤。
可选的,所述获取第一用户对第一数据进行同态加密后得到的第一同态密文,包括:
从所述第一用户获取所述第一用户利用同态加密算法对所述第一数据进行同态加密后得到的所述第一同态密文;
相应的,所述第二同态密文由所述第二用户利用所述同态加密算法对所述第二数据进行同态加密后得到。
可选的,所述第一同态密文由所述第一用户利用所述同态加密算法对所述第一数据的第一编码数据进行同态加密后得到;所述第一编码数据为所述第一用户对所述第一数据执行编码操作后得到的符合同态加密输入数据格式的编码数据。
可选的,所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算之后,还包括:
所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文。
可选的,所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文之后,还包括:
所述第二用户对解密后明文执行解码操作,得到相应的解码后数据;所述解码后数据与对所述第一数据和所述第二数据直接执行与同态计算相同的计算得到的结果一致。
本申请的第二方面提供了一种可信执行设备,所述可信执行设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述密文处理方法。
可选的,所述处理器构建有包括公共计算区域和可信计算区域的可信执行环境。
本申请的第三方面提供了一种密文处理装置,包括:
密文获取模块,用于获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;
密钥获取及密文转换模块,用于获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;
密文发送模块,用于将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述密文处理方法。
本申请中,先获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;然后获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;最后将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。可见,本申请通过密文转换的方式将一个用户的同态密文转换成另一个用户能够进行同态计算的同态密文,从而无需数据所有权用户执行复杂的计算和管理,实现不同用户的同态密文之间的同态计算。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种密文处理方法流程图;
图2为本申请提供的一种具体的密文处理方法示意图;
图3为本申请提供的一种密文处理装置结构示意图;
图4为本申请提供的一种可信执行设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有同态加密技术中的同态计算过程是基于同一用户来实现的,即同一用户使用同一密钥进行同态加密,不同用户使用不同密钥加密后的数据无法实现直接的同态计算。针对上述技术缺陷,本申请提供一种密文处理方案,通过密文转换的方式将一个用户的同态密文转换成另一个用户能够进行同态计算的同态密文,从而无需数据所有权用户执行复杂的计算和管理,实现不同用户的同态密文之间的同态计算。
图1为本申请实施例提供的一种密文处理方法流程图。参见图1所示,该密文处理方法包括:
S11:获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数。
本实施例中,先获取第一用户对第一数据进行同态加密后得到的第一同态密文。其中,所述第一同态密文包含第一用户私钥参数。进一步的,所述第一同态密文由所述第一用户利用同态加密算法对所述第一数据进行同态加密后得到的密文。需要说明的是,为了提高同态计算的可信度,上述步骤S11及下述实施例中的密文处理步骤可以在可信执行环境中来执行,所述可信执行环境可以由可信执行设备提供,这里的可信执行设备是独立于第一用户和第二用户的一个计算设备,主要提供一个可信执行环境来进行可信计算。
可以理解,同态加密的密钥对包含私钥(表示为sk)和公钥(表示为pk),密钥对需要提前生成,具体可以按照同态加密算法为***生成用户公开参数p、私钥sk、公钥pk以及后续阶段所需的其他***公开参数para。随机选择数组S、a、e,设置***用户U的私钥为sk,公开公钥pk。这里将所述第一用户表示为U1、U1的私钥sk1为(1,s1),U1的私钥pk1为(b,a),其中,b=-as1+e,这里的s1为第一用户私钥参数。同理,可以将所述第二用户表示为U2,其他参数的表示方式相同。所述第一用户U1按照同态加密算法对第一数据(明文m1)执行加密操作后输出的所述第一同态密文为:
C1=v·pk1+(m1+e0,e1)=(-vas1+ve+ m1+e0,va+e1)
其中,v 、e0、e1为随机因子。
S12:获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数。
本实施例中,进一步获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文。在可信执行环境下,由可信执行设备获取所述转换密钥及执行密文转换。同样的,所述转换后同态密文包含第二用户私钥参数,具体的,所述第二同态密文由所述第二用户利用所述同态加密算法对所述第二数据进行同态加密后得到。本实施例中,进行密文转换的结果是使得所述转换后同态密文不包含第一用户私钥参数,仅包含第二用户私钥参数,即将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数,如此一来,所述转换后同态密文相当于是所述第二用户对所述第一数据进行同态加密后得到的数据,这样便可以进行同态计算了。
本实施例中,所述转换密钥包括所述第一用户的第一转换密钥和所述第二用户的第二转换密钥;所述第一转换密钥为第一用户私钥参数与中间转换密钥的逻辑运算结果,所述第二转换密钥为第二用户私钥参数与所述中间转换密钥的逻辑运算结果。逻辑运算可以为加减乘除等,本实施例对此不进行限定,所述中间转换密钥表示为tkij(i、j表示用户),例如,所述第一转换密钥最终可以表示为s1-tk12、所述第二转换密钥最终可以表示为s2-tk12。进一步的,所述中间转换密钥为在所述第二用户向所述第一用户发送授权请求时通过密钥协商方式确定出的密钥,即所述中间转换密钥为在数据授权使用阶段生成的。当然,所述中间转换密钥也可以像私钥一样由第三方机构下发,这种方式下所述中间转换密钥为在所述第二用户向所述第一用户发送授权请求时触发第三方机构生成的密钥,上述第三方机构可以为银行等可信机构。
这里需要特别说明的是,为了避免私钥泄露导致的安全隐患,第一用户U1和第二用户U2在进行密钥协商确定所述中间转换密钥时,不将各自的私钥共享出去,而是进一步生成一个私钥包,通过将私钥包共享出去来确定所述中间转换密钥,如此一来便可以避免直接共享私钥。也就是说,所述中间转换密钥为第一私钥包和第二私钥包的第三逻辑运算结果,其中,所述第一私钥包由所述第一用户将第一用户私钥参数与随机因子进行逻辑运算得到,所述第二私钥包由所述第二用户将第二用户私钥参数与随机因子进行逻辑运算得到。在此基础上,所述第一转换密钥为将第一用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第二用户私钥参数与随机因子的密钥表达式;所述第二转换密钥为将第二用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第一用户私钥参数与随机因子的密钥表达式。也就是说,将第一用户私钥参数与第三逻辑运算结果执行逻辑运算的目的是消除掉第一用户私钥参数,使得所述第一转换密钥中仅包含第二用户私钥参数与随机因子的密钥表达式。同样的,将第二用户私钥参数与第三逻辑运算结果执行逻辑运算的目的是消除掉第二用户私钥参数,使得所述第二转换密钥中仅包含第一用户私钥参数与随机因子的密钥表达式。这是后续密文转换的实现基础。
例如,当第一用户U1授权第二用户U2获得密文C1的解密、计算等使用权限时,双方通过密钥协商等安全形式生成共享的中间转换密钥tk12,中间转换密钥的生成公式如下:
tk12=F(s1,s2,r1,r2)
其中,F为密钥生成函数,F对应的逻辑运算为加法或者减法,r1和r2为随机因子。
当F对应的第三逻辑运算为加法时:
tk12=F(s1,s2,r1,r2)=(s1+ r1)+(s2+ r2)
其中,s1+ r1即为第一私钥包、s2+ r2即为第二私钥包,这里的F使得第三逻辑运算结果为将s1+ r1和s2+ r2进行加和的结果。
在这个例子之下,为了使得所述第一转换密钥中仅包含第二用户私钥参数,所述第一转换密钥的密钥表达式只能为s1-tk12。同样的,为了使得所述第二转换密钥中仅包含第一用户私钥参数,所述第二转换密钥的密钥表达式只能为s2-tk12。本实施例对各逻辑运算进行不进行限定,只要能得到相应的所述所述第一转换密钥和所述第二转换密钥即可。例如,当tk12=F’(s1,s2,r1,r2)=(s2+ r2)-(s1+ r1),所述第一转换密钥的密钥表达式为s1+tk12,所述第二转换密钥的密钥表达式为s2+tk12。
本实施例中,如果所述第一用户和所述第二用户能够通过密钥协商方式确定出所述中间转换密钥,则获取通过对第一用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第一转换密钥和通过对第二用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第二转换密钥。如果所述第一用户和所述第二用户不能通过密钥协商方式确定出所述中间转换密钥,则直接获取第一用户私钥参数作为所述第一转换密钥,并直接获取第二用户私钥参数作为所述第二转换密钥。在第三方机构的架构下,如果所述第一用户和所述第二用户能够通过密钥协商方式确定出所述中间转换密钥,则从所述第三方机构获取所述第一转换密钥和所述第二转换密钥;所述第一转换密钥由所述第三方机构对第一用户私钥参数与所述中间转换密钥进行逻辑运算得到,所述第二转换密钥由所述第三方机构对第二用户私钥参数与所述中间转换密钥进行逻辑运算得到,即上述方式。如果所述第一用户和所述第二用户不能通过密钥协商方式得到所述中间转换密钥,则从所述第三方机构获取所述第一转换密钥和所述第二转换密钥;所述第三方机构直接将第一用户私钥参数作为所述第一转换密钥并将第二用户私钥参数作为所述第二转换密钥。即当参与方无法实现安全的密钥协商时,另tkij为0,参与方与可信执行设备安全共享各自私钥。
在此基础上,在进行密文转换之前,先需要利用所述第一同态密文、所述第一转换密钥和所述第二转换密钥构建具有私钥参数可消除关系的密文转换关系式,然后基于所述密文转换关系式将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数。本实施例中的所述密文转换关系式可以构建如下:
-vas1+ve+m1+e0+(va+e)(s1-tk12)-(va+e)(s2-tk12)
对上述密文转换关系式进行简化计算后的关系式为:
-vas2+ve+ m1+e0+e s1+e s2
将es= e0+ e s1+e s2视为噪音干扰项(可忽略不计),最终转化如下:
-vas2+ve+ m1+es
最后,将-vas2+ve+m+es替换C1中-vas1+ve+m+e0,得到所述转换后同态密文。
这里需要说明的是,对于授权用户群组UJ(J={j,j+1,...,j+n-1},n为授权用户群组中用户数量),解密、计算等使用权限时,转换密钥生成函数扩展为:
tk12=F(si,sj,sj+1,...,sj+n-1,rj,rj+1,...,rj+n-1)
本实施例对于授权用户群组,进一步可以基于可信执行环境设计了不同密钥加密的同态密文之间的转换方法,在数据授权使用阶段生成共享的转换密钥,并将该密钥安全存储在可信执行设备,该转换密钥能够在可信执行设备的可信执行环境中将相同版本/安全等级的所有同态密文批量转换为授权用户群组可解密/计算的同态密文,这极大降低数据所有权用户的计算、管理负担,同时提升数据共享分析与使用的用户友好性和实用性。
S13:将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。
本实施例中,在进行密文转换之后,便可以将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。
可见,本申请实施例中先获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;然后获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;最后将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。本申请实施例将一个用户的同态密文转换成另一个用户能够进行同态计算的同态密文,从而无需数据所有权用户执行复杂的计算和管理,实现不同用户的同态密文之间的同态计算。
图2为本申请实施例提供的一种具体的密文处理方法流程图。参见图2所示,该密文处理方法包括:
S21:从第一用户获取所述第一用户利用同态加密算法对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数。
本实施例中,关于上述步骤S21的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。这里需要补充的是,所述第一用户在执行同态加密之前,还需要对所述第一数据执行编码操作,使得得到的第一编码数据符合同态加密输入数据格式。即所述第一同态密文由所述第一用户利用所述同态加密算法对所述第一数据的第一编码数据进行同态加密后得到;所述第一编码数据为所述第一用户对所述第一数据执行编码操作后得到的符合同态加密输入数据格式的编码数据。即按照同态加密算法将***用户U的数据编码为符合加密输入要求的明文。
S22:从可信执行设备中的可信执行环境中获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥和认证信息。
本实施例中,需要从所述可信执行设备中的可信执行环境中获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥和认证信息。可信执行环境是通过软硬件方法在所述可信执行设备的处理器中构建一个安全区域,保证其内部加载的程序和数据在机密性和完整性上得到保护。具体的,可以按照可信环境基本规范对所述可信执行设备进行初始化操作,以构建所述可信执行环境,所述转换密钥及所述认证信息存储于所述可信执行设备中的可信执行环境。进一步的,所述可信执行环境分为公共计算区域和可信计算区域,所述转换密钥及所述认证信息存储于所述可信计算区域。
即按照可信环境基本规范将所述可信执行设备进行初始化,设置公共计算区域和可信计算区域,并将转换密钥安全存储至可信计算区域存储设备,同时初始化转换密钥、密文、认证信息(签名/版本/安全等级等)等。本实施例中,还可以在所述可信执行环境中构建安全认证信息表,并利用所述安全认证信息表对所述转换密钥、所述认证信息进行存储,另外,所述安全认证信息表中还存储有所述第一同态密文及认证方式。下表为安全认证信息表的示例:
S23:根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,如果是,则通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文。
本实施例中,在获取到转换密钥和认证信息之后,根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,如果是,则通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文。其中,在所述可信计算区域中执行根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户的步骤。也就是说,由可信执行环境通过消息认证函数认证消息的可靠性,若通过验证,则可信执行环境读取转换密钥,然后可信执行环境将第一用户的密文转换为第二用户的密文。
本实施例中,所述认证信息可以为利用所述中间转换密钥对所述第一同态密文进行签名后得到的数字签名,此时的认证方式为签名(如上表)。在进行验证时,利用所述中间转换密钥对所述数字签名进行验签,如果验签通过,则判定所述第二用户为经过所述第一用户授权的用户。可信执行设备收到授权用户的密文转换请求后,先查询可信执行环境中的安全认证信息表,若认证信息(签名)验证通过,即执行密文转换,否则退出。
S24:将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算,并对同态计算后得到的密文进行同态解密,得到解密后明文。
本实施例中,关于上述步骤S24具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。需要补充的是,在得到所述解密后明文之后,同样需要对解密后明文执行解码操作,得到相应的解码后数据;所述解码后数据与对所述第一数据和所述第二数据直接执行与同态计算相同的计算得到的结果一致。
参见图3所示,本申请实施例还相应公开了一种密文处理装置,包括:
密文获取模块11,用于获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;
密钥获取及密文转换模块12,用于获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;
密文发送模块13,用于将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。
可见,本申请实施例中先获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;然后获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;最后将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。本申请实施例通过密文转换的方式将一个用户的同态密文转换成另一个用户能够进行同态计算的同态密文,从而无需数据所有权用户执行复杂的计算和管理,实现不同用户的同态密文之间的同态计算。
在一些具体实施例中,所述密文处理装置还包括:
认证信息获取模块,用于获取认证信息;
认证模块,用于根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,如果是,则执行通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换的步骤。
在一些具体实施例中,所述密文处理装置中的所述转换密钥包括所述第一用户的第一转换密钥和所述第二用户的第二转换密钥;所述第一转换密钥为第一用户私钥参数与中间转换密钥的第一逻辑运算结果,所述第二转换密钥为第二用户私钥参数与所述中间转换密钥的第二逻辑运算结果。
在一些具体实施例中,所述密文处理装置中的所述中间转换密钥为在所述第二用户向所述第一用户发送授权请求时通过密钥协商方式确定出的密钥。
在一些具体实施例中,所述密文获取模块11,具体包括:
第一获取单元,用于如果所述第一用户和所述第二用户能够通过密钥协商方式确定出所述中间转换密钥,则获取通过对第一用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第一转换密钥和通过对第二用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第二转换密钥;
第二获取单元,用于如果所述第一用户和所述第二用户不能通过密钥协商方式确定出所述中间转换密钥,则直接获取第一用户私钥参数作为所述第一转换密钥,并直接获取第二用户私钥参数作为所述第二转换密钥。
在一些具体实施例中,所述密文处理装置中的所述中间转换密钥为第一私钥包和第二私钥包的第三逻辑运算结果;所述第一私钥包由所述第一用户将第一用户私钥参数与随机因子进行逻辑运算得到,所述第二私钥包由所述第二用户将第二用户私钥参数与随机因子进行逻辑运算得到;
相应的,所述第一转换密钥为将第一用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第二用户私钥参数与随机因子的密钥表达式;
所述第二转换密钥为将第二用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第一用户私钥参数与随机因子的密钥表达式。
在一些具体实施例中,所述密文处理装置中的所述中间转换密钥的生成公式为:
tk12=F(s1,s2,r1,r2)
其中,F为密钥生成函数,F对应的逻辑运算为加法或者减法,s1为第一用户私钥参数,s2为第二用户私钥参数,r1和r2为随机因子。
在一些具体实施例中,所述密钥获取及密文转换模块12,具体还包括:
关系式构建子模块,用于利用所述第一同态密文、所述第一转换密钥和所述第二转换密钥构建具有私钥参数可消除关系的密文转换关系式;
转换子模块,用于基于所述密文转换关系式将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数。
在一些具体实施例中,所述认证信息为利用所述中间转换密钥对所述第一同态密文进行签名后得到的数字签名;
所述认证模块,具体用于利用所述中间转换密钥对所述数字签名进行验签,如果验签通过,则判定所述第二用户为经过所述第一用户授权的用户。
在一些具体实施例中,所述密文处理装置中的所述转换密钥及所述认证信息存储于所述可信执行设备中的可信执行环境。
在一些具体实施例中,所述密文处理装置,还包括:
表构建模块,用于在所述可信执行环境中构建安全认证信息表,并利用所述安全认证信息表对所述转换密钥、所述认证信息进行存储;所述安全认证信息表中还存储有所述第一同态密文及认证方式;
初始化模块,用于按照可信环境基本规范对所述可信执行设备进行初始化操作,以构建所述可信执行环境。
在一些具体实施例中,所述密文处理装置中的所述可信执行环境分为公共计算区域和可信计算区域,所述转换密钥及所述认证信息存储于所述可信计算区域。
在一些具体实施例中,所述认证模块具体用于在所述可信计算区域中执行根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户的步骤。
在一些具体实施例中,密文获取模块11,还用于:
从所述第一用户获取所述第一用户利用同态加密算法对所述第一数据进行同态加密后得到的所述第一同态密文;
相应的,所述第二同态密文由所述第二用户利用所述同态加密算法对所述第二数据进行同态加密后得到;
所述第一同态密文由所述第一用户利用所述同态加密算法对所述第一数据的第一编码数据进行同态加密后得到;所述第一编码数据为所述第一用户对所述第一数据执行编码操作后得到的符合同态加密输入数据格式的编码数据。
在一些具体实施例中,密文处理装置,还包括:
解密模块,用于所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文;
解码模块,用于所述第二用户对解密后明文执行解码操作,得到相应的解码后数据,所述解码后数据与对所述第一数据和所述第二数据直接执行与同态计算相同的计算得到的结果一致。
进一步的,本申请实施例还提供了一种可信执行设备。图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种可信执行设备20的结构示意图。该可信执行设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以至少实现如下步骤:
获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;
获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;
将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。
可见,本申请实施例中的所述可信执行设备先获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;然后获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;最后将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。本申请实施例将可信执行技术和同态加密技术进行融合应用,可信执行设备通过密文转换的方式在安全环境下将一个用户的同态密文转换成另一个用户能够进行同态计算的同态密文,从而无需数据所有权用户执行复杂的计算和管理,实现不同用户的同态密文之间的同态计算。
可选的,所述转换密钥包括所述第一用户的第一转换密钥和所述第二用户的第二转换密钥;所述第一转换密钥为第一用户私钥参数与中间转换密钥的第一逻辑运算结果,所述第二转换密钥为第二用户私钥参数与所述中间转换密钥的第二逻辑运算结果。
可选的,所述中间转换密钥为在所述第二用户向所述第一用户发送授权请求时通过密钥协商方式确定出的密钥。
可选的,所述获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,包括:
如果所述第一用户和所述第二用户能够通过密钥协商方式确定出所述中间转换密钥,则获取通过对第一用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第一转换密钥和通过对第二用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第二转换密钥;
如果所述第一用户和所述第二用户不能通过密钥协商方式确定出所述中间转换密钥,则直接获取第一用户私钥参数作为所述第一转换密钥,并直接获取第二用户私钥参数作为所述第二转换密钥。
可选的,所述中间转换密钥为第一私钥包和第二私钥包的第三逻辑运算结果;所述第一私钥包由所述第一用户将第一用户私钥参数与随机因子进行逻辑运算得到,所述第二私钥包由所述第二用户将第二用户私钥参数与随机因子进行逻辑运算得到;
相应的,所述第一转换密钥为将第一用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第二用户私钥参数与随机因子的密钥表达式;
所述第二转换密钥为将第二用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第一用户私钥参数与随机因子的密钥表达式。
可选的,所述中间转换密钥的生成公式为:
tk12=F(s1,s2,r1,r2)
其中,F为密钥生成函数,F对应的逻辑运算为加法或者减法,s1为第一用户私钥参数,s2为第二用户私钥参数,r1和r2为随机因子。
可选的,所述通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,包括:
利用所述第一同态密文、所述第一转换密钥和所述第二转换密钥构建具有私钥参数可消除关系的密文转换关系式;
基于所述密文转换关系式将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数。
可选的,所述获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥之后,还包括:
获取认证信息;
根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,如果是,则执行通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换的步骤。
可选的,所述认证信息为利用所述中间转换密钥对所述第一同态密文进行签名后得到的数字签名;
所述根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,包括:
利用所述中间转换密钥对所述数字签名进行验签,如果验签通过,则判定所述第二用户为经过所述第一用户授权的用户。
可选的,所述转换密钥及所述认证信息存储于可信执行设备中的可信执行环境;
获取所述转换密钥和所述认证信息,包括:
从所述可信执行环境中获取所述转换密钥和所述认证信息。
可选的,所述密文处理方法,还包括:
在所述可信执行环境中构建安全认证信息表,并利用所述安全认证信息表对所述转换密钥、所述认证信息进行存储;所述安全认证信息表中还存储有所述第一同态密文及认证方式。
可选的,所述密文处理方法,还包括:
按照可信环境基本规范对所述可信执行设备进行初始化操作,以构建所述可信执行环境。
可选的,所述可信执行环境分为公共计算区域和可信计算区域。
可选的,所述转换密钥及所述认证信息存储于所述可信计算区域。
可选的,所述根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,包括:
在所述可信计算区域中执行根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户的步骤。
可选的,所述获取第一用户对第一数据进行同态加密后得到的第一同态密文,包括:
从所述第一用户获取所述第一用户利用同态加密算法对所述第一数据进行同态加密后得到的所述第一同态密文;
相应的,所述第二同态密文由所述第二用户利用所述同态加密算法对所述第二数据进行同态加密后得到。
可选的,所述第一同态密文由所述第一用户利用所述同态加密算法对所述第一数据的第一编码数据进行同态加密后得到;所述第一编码数据为所述第一用户对所述第一数据执行编码操作后得到的符合同态加密输入数据格式的编码数据。
可选的,所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算之后,还包括:
所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文。
可选的,所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文之后,还包括:
所述第二用户对解密后明文执行解码操作,得到相应的解码后数据;所述解码后数据与对所述第一数据和所述第二数据直接执行与同态计算相同的计算得到的结果一致。
本实施例中,电源23用于为可信执行设备20上的各硬件设备提供工作电压;通信接口24能够为可信执行设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作***221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制可信执行设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是WindowsServer、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由可信执行设备20执行的密文处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223可以包括电子设备20收集到的第一同态密文。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,至少实现如下步骤:
获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;
获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;
将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算。
可选的,所述转换密钥包括所述第一用户的第一转换密钥和所述第二用户的第二转换密钥;所述第一转换密钥为第一用户私钥参数与中间转换密钥的第一逻辑运算结果,所述第二转换密钥为第二用户私钥参数与所述中间转换密钥的第二逻辑运算结果。
可选的,所述中间转换密钥为在所述第二用户向所述第一用户发送授权请求时通过密钥协商方式确定出的密钥。
可选的,所述获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,包括:
如果所述第一用户和所述第二用户能够通过密钥协商方式确定出所述中间转换密钥,则获取通过对第一用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第一转换密钥和通过对第二用户私钥参数与所述中间转换密钥进行逻辑运算得到的所述第二转换密钥;
如果所述第一用户和所述第二用户不能通过密钥协商方式确定出所述中间转换密钥,则直接获取第一用户私钥参数作为所述第一转换密钥,并直接获取第二用户私钥参数作为所述第二转换密钥。
可选的,所述中间转换密钥为第一私钥包和第二私钥包的第三逻辑运算结果;所述第一私钥包由所述第一用户将第一用户私钥参数与随机因子进行逻辑运算得到,所述第二私钥包由所述第二用户将第二用户私钥参数与随机因子进行逻辑运算得到;
相应的,所述第一转换密钥为将第一用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第二用户私钥参数与随机因子的密钥表达式;
所述第二转换密钥为将第二用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第一用户私钥参数与随机因子的密钥表达式。
可选的,所述中间转换密钥的生成公式为:
tk12=F(s1,s2,r1,r2)
其中,F为密钥生成函数,F对应的逻辑运算为加法或者减法,s1为第一用户私钥参数,s2为第二用户私钥参数,r1和r2为随机因子。
可选的,所述通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,包括:
利用所述第一同态密文、所述第一转换密钥和所述第二转换密钥构建具有私钥参数可消除关系的密文转换关系式;
基于所述密文转换关系式将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数。
可选的,所述获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥之后,还包括:
获取认证信息;
根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,如果是,则执行通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换的步骤。
可选的,所述认证信息为利用所述中间转换密钥对所述第一同态密文进行签名后得到的数字签名;
所述根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,包括:
利用所述中间转换密钥对所述数字签名进行验签,如果验签通过,则判定所述第二用户为经过所述第一用户授权的用户。
可选的,所述转换密钥及所述认证信息存储于可信执行设备中的可信执行环境;
获取所述转换密钥和所述认证信息,包括:
从所述可信执行环境中获取所述转换密钥和所述认证信息。
可选的,所述密文处理方法,还包括:
在所述可信执行环境中构建安全认证信息表,并利用所述安全认证信息表对所述转换密钥、所述认证信息进行存储;所述安全认证信息表中还存储有所述第一同态密文及认证方式。
可选的,所述密文处理方法,还包括:
按照可信环境基本规范对所述可信执行设备进行初始化操作,以构建所述可信执行环境。
可选的,所述可信执行环境分为公共计算区域和可信计算区域。
可选的,所述转换密钥及所述认证信息存储于所述可信计算区域。
可选的,所述根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,包括:
在所述可信计算区域中执行根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户的步骤。
可选的,所述获取第一用户对第一数据进行同态加密后得到的第一同态密文,包括:
从所述第一用户获取所述第一用户利用同态加密算法对所述第一数据进行同态加密后得到的所述第一同态密文;
相应的,所述第二同态密文由所述第二用户利用所述同态加密算法对所述第二数据进行同态加密后得到。
可选的,所述第一同态密文由所述第一用户利用所述同态加密算法对所述第一数据的第一编码数据进行同态加密后得到;所述第一编码数据为所述第一用户对所述第一数据执行编码操作后得到的符合同态加密输入数据格式的编码数据。
可选的,所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算之后,还包括:
所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文。
可选的,所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文之后,还包括:
所述第二用户对解密后明文执行解码操作,得到相应的解码后数据;所述解码后数据与对所述第一数据和所述第二数据直接执行与同态计算相同的计算得到的结果一致。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的密文处理方法、装置、存储介质及可信执行设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (21)
1.一种密文处理方法,其特征在于,包括:
获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;
获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;
将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算;
所述获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,包括:如果所述第一用户和所述第二用户能够通过密钥协商方式确定出中间转换密钥,则获取通过对第一用户私钥参数与所述中间转换密钥进行逻辑运算得到的第一转换密钥和通过对第二用户私钥参数与所述中间转换密钥进行逻辑运算得到的第二转换密钥;如果所述第一用户和所述第二用户不能通过密钥协商方式确定出中间转换密钥,则直接获取第一用户私钥参数作为第一转换密钥,并直接获取第二用户私钥参数作为第二转换密钥;
所述通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,包括:利用所述第一同态密文、所述第一转换密钥和所述第二转换密钥构建具有私钥参数可消除关系的密文转换关系式;基于所述密文转换关系式将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数。
2.根据权利要求1所述的密文处理方法,其特征在于,所述转换密钥包括所述第一用户的第一转换密钥和所述第二用户的第二转换密钥;所述第一转换密钥为第一用户私钥参数与中间转换密钥的第一逻辑运算结果,所述第二转换密钥为第二用户私钥参数与所述中间转换密钥的第二逻辑运算结果。
3.根据权利要求2所述的密文处理方法,其特征在于,所述中间转换密钥为在所述第二用户向所述第一用户发送授权请求时通过密钥协商方式确定出的密钥。
4.根据权利要求2所述的密文处理方法,其特征在于,所述中间转换密钥为第一私钥包和第二私钥包的第三逻辑运算结果;所述第一私钥包由所述第一用户将第一用户私钥参数与随机因子进行逻辑运算得到,所述第二私钥包由所述第二用户将第二用户私钥参数与随机因子进行逻辑运算得到;
相应的,所述第一转换密钥为将第一用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第二用户私钥参数与随机因子的密钥表达式;
所述第二转换密钥为将第二用户私钥参数与第三逻辑运算结果进行逻辑运算后得到的仅包含第一用户私钥参数与随机因子的密钥表达式。
5.根据权利要求4所述的密文处理方法,其特征在于,所述中间转换密钥的生成公式为:
tk12=F(s1,s2,r1,r2)
其中,F为密钥生成函数,F对应的逻辑运算为加法或者减法,s1为第一用户私钥参数,s2为第二用户私钥参数,r1和r2为随机因子。
6.根据权利要求2所述的密文处理方法,其特征在于,所述获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥之后,还包括:
获取认证信息;
根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,如果是,则执行通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换的步骤。
7.根据权利要求6所述的密文处理方法,其特征在于,所述认证信息为利用所述中间转换密钥对所述第一同态密文进行签名后得到的数字签名;
所述根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,包括:
利用所述中间转换密钥对所述数字签名进行验签,如果验签通过,则判定所述第二用户为经过所述第一用户授权的用户。
8.根据权利要求6所述的密文处理方法,其特征在于,所述转换密钥及所述认证信息存储于可信执行设备中的可信执行环境;
获取所述转换密钥和所述认证信息,包括:
从所述可信执行环境中获取所述转换密钥和所述认证信息。
9.根据权利要求8所述的密文处理方法,其特征在于,还包括:
在所述可信执行环境中构建安全认证信息表,并利用所述安全认证信息表对所述转换密钥、所述认证信息进行存储;所述安全认证信息表中还存储有所述第一同态密文及认证方式。
10.根据权利要求8所述的密文处理方法,其特征在于,还包括:
按照可信环境基本规范对所述可信执行设备进行初始化操作,以构建所述可信执行环境。
11.根据权利要求8所述的密文处理方法,其特征在于,所述可信执行环境分为公共计算区域和可信计算区域。
12.根据权利要求11所述的密文处理方法,其特征在于,所述转换密钥及所述认证信息存储于所述可信计算区域。
13.根据权利要求9所述的密文处理方法,其特征在于,所述根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户,包括:
在可信计算区域中执行根据所述认证信息判断所述第二用户是否为经过所述第一用户授权的用户的步骤。
14.根据权利要求1至13任一项所述的密文处理方法,其特征在于,所述获取第一用户对第一数据进行同态加密后得到的第一同态密文,包括:
从所述第一用户获取所述第一用户利用同态加密算法对所述第一数据进行同态加密后得到的所述第一同态密文;
相应的,所述第二同态密文由所述第二用户利用所述同态加密算法对所述第二数据进行同态加密后得到。
15.根据权利要求14所述的密文处理方法,其特征在于,所述第一同态密文由所述第一用户利用所述同态加密算法对所述第一数据的第一编码数据进行同态加密后得到;所述第一编码数据为所述第一用户对所述第一数据执行编码操作后得到的符合同态加密输入数据格式的编码数据。
16.根据权利要求1至13任一项所述的密文处理方法,其特征在于,所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算之后,还包括:
所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文。
17.根据权利要求16所述的密文处理方法,其特征在于,所述第二用户对同态计算后得到的密文进行同态解密,得到解密后明文之后,还包括:
所述第二用户对解密后明文执行解码操作,得到相应的解码后数据;所述解码后数据与对所述第一数据和所述第二数据直接执行与同态计算相同的计算得到的结果一致。
18.一种可信执行设备,其特征在于,所述可信执行设备包括处理器和存储器;其中所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至17任一项所述的密文处理方法。
19.根据权利要求18所述的可信执行设备,其特征在于,所述处理器构建有包括公共计算区域和可信计算区域的可信执行环境。
20.一种密文处理装置,其特征在于,包括:
密文获取模块,用于获取第一用户对第一数据进行同态加密后得到的第一同态密文;所述第一同态密文包含第一用户私钥参数;
密钥获取及密文转换模块,用于获取由所述第一用户和第二用户通过密钥协商方式得到的转换密钥,并通过利用所述转换密钥将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数的方式对所述第一同态密文进行转换,得到转换后同态密文;所述转换后同态密文包含第二用户私钥参数;
密文发送模块,用于将所述转换后同态密文发送至所述第二用户,以便所述第二用户对所述转换后同态密文与所述第二用户对第二数据进行同态加密后得到的第二同态密文进行同态计算;
所述密钥获取及密文转换模块具体还包括:第一获取单元,用于如果所述第一用户和所述第二用户能够通过密钥协商方式确定出中间转换密钥,则获取通过对第一用户私钥参数与所述中间转换密钥进行逻辑运算得到的第一转换密钥和通过对第二用户私钥参数与所述中间转换密钥进行逻辑运算得到的第二转换密钥;第二获取单元,用于如果所述第一用户和所述第二用户不能通过密钥协商方式确定出所述中间转换密钥,则直接获取第一用户私钥参数作为第一转换密钥,并直接获取第二用户私钥参数作为第二转换密钥;所述密钥获取及密文转换模块具体还包括:关系式构建子模块,用于利用所述第一同态密文、所述第一转换密钥和所述第二转换密钥构建具有私钥参数可消除关系的密文转换关系式;转换子模块,用于基于所述密文转换关系式将所述第一同态密文中的第一用户私钥参数转换为第二用户私钥参数。
21.一种计算机可读存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至17任一项所述的密文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310425295.6A CN116170131B (zh) | 2023-04-20 | 2023-04-20 | 密文处理方法、装置、存储介质及可信执行设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310425295.6A CN116170131B (zh) | 2023-04-20 | 2023-04-20 | 密文处理方法、装置、存储介质及可信执行设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116170131A CN116170131A (zh) | 2023-05-26 |
CN116170131B true CN116170131B (zh) | 2023-07-14 |
Family
ID=86416616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310425295.6A Active CN116170131B (zh) | 2023-04-20 | 2023-04-20 | 密文处理方法、装置、存储介质及可信执行设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116170131B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117992989B (zh) * | 2024-03-29 | 2024-06-11 | 浪潮(北京)电子信息产业有限公司 | 一种解密方法、***、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113162752A (zh) * | 2021-04-26 | 2021-07-23 | 建信金融科技有限责任公司 | 基于混合同态加密的数据处理方法和装置 |
CN113612597A (zh) * | 2021-07-26 | 2021-11-05 | 京东科技控股股份有限公司 | 数据计算方法、装置、***及电子设备 |
CN114020842A (zh) * | 2021-11-04 | 2022-02-08 | 长春理工大学 | 一种基于同态加密技术的数据共享方法及装置 |
WO2022082893A1 (zh) * | 2020-10-22 | 2022-04-28 | 香港中文大学(深圳) | 一种基于隐私区块链的车联网保护方法和移动终端 |
-
2023
- 2023-04-20 CN CN202310425295.6A patent/CN116170131B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022082893A1 (zh) * | 2020-10-22 | 2022-04-28 | 香港中文大学(深圳) | 一种基于隐私区块链的车联网保护方法和移动终端 |
CN113162752A (zh) * | 2021-04-26 | 2021-07-23 | 建信金融科技有限责任公司 | 基于混合同态加密的数据处理方法和装置 |
CN113612597A (zh) * | 2021-07-26 | 2021-11-05 | 京东科技控股股份有限公司 | 数据计算方法、装置、***及电子设备 |
CN114020842A (zh) * | 2021-11-04 | 2022-02-08 | 长春理工大学 | 一种基于同态加密技术的数据共享方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116170131A (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11271730B2 (en) | Systems and methods for deployment, management and use of dynamic cipher key systems | |
CN111314089B (zh) | 一种基于sm2的两方协同签名方法及解密方法 | |
US6292896B1 (en) | Method and apparatus for entity authentication and session key generation | |
JP2019507510A (ja) | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 | |
CN111079128A (zh) | 一种数据处理方法、装置、电子设备以及存储介质 | |
US20120054491A1 (en) | Re-authentication in client-server communications | |
CN109274502B (zh) | 公钥加密及密钥签名的创建方法、设备及可读存储介质 | |
KR102432356B1 (ko) | 키 생성 장치 및 방법, 암호화 장치 및 방법 | |
EP3673610B1 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN114726546B (zh) | 数字身份认证方法、装置、设备和存储介质 | |
CA2819211C (en) | Data encryption | |
CN116170131B (zh) | 密文处理方法、装置、存储介质及可信执行设备 | |
US20200235915A1 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
Jain | Security in Computer Networks | |
Mohammed et al. | Advancing cloud image security via AES algorithm enhancement techniques | |
CN113468582A (zh) | 一种抗量子计算加密通信方法 | |
KR100984275B1 (ko) | 안전하지 않은 통신 채널에서 비인증서 공개키를 사용한 보안키 생성 방법 | |
CN116346336B (zh) | 一种基于多层密钥生成中心的密钥分发方法及相关*** | |
CN115102689B (zh) | 两方协同的s盒生成方法、加密方法和存储介质 | |
Arora et al. | Handling Secret Key Compromise by Deriving Multiple Asymmetric Keys based on Diffie-Hellman Algorithm | |
JP2012019327A (ja) | 本人性証明システム、検証装置、本人性証明方法 | |
CN116866029B (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
Surya et al. | Single sign on mechanism using attribute based encryption in distributed computer networks | |
CN115460020B (zh) | 数据共享方法、装置、设备及存储介质 | |
WO2024057538A1 (ja) | サーバ、認証システム、認証方法及びプログラム |
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 |