一种同态密文转换方法及系统与流程

未命名 07-27 阅读:105 评论:0


1.本发明涉及同态加密技术领域,具体为一种同态密文转换方法及系统。


背景技术:

2.同态加密是一种可以直接进行密文计算操作的密码技术,被称为密码学的圣杯。当前,同态加密算法种类多样,而又缺乏相应的技术标准。然而每种同态加密适用的场景有所不同。
3.现有技术中,比如半同态、部分同态以及全同态等多种类型。比如,半同态加密性能较高,但是计算种类有限。而在全同态类算法中中,主要以ckks和tfhe两大类方案为主。
4.但是,上述两种方案差异较大,前者可以支持浮点数运算,但是公私钥较大,而且只能计算多项式型运算,而后者适用于基础电路型非多项式计算,但是大数的计算效率很低。


技术实现要素:

5.本发明的目的在于提供一种同态密文转换方法及系统,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:一种同态密文转换方法,所述同态密转换方法包括以下步骤:
7.数据拥有者基于客户端生成一个随机数r1,并利用pk1对“m+r
1”进行加密;
8.将“密文+加密类型+签名”通过客户端上传到密文代理服务;
9.密文代理服务验签合法后,通过根据hash:密文+托管时间戳,生成数据全局唯一的数据id,并将“数据id+密文+加密类型+签名+托管时间”存放到数据库中;并返回相关信息给客户端。
10.优选的,数据拥有者基于客户端生成一个随机数r1,并利用pk1对“m+r
1”进行加密,即密文[m+r1]1;其中,pk1为密文代理服务的公钥。
[0011]
优选的,将“密文+加密类型+签名”通过客户端上传到密文代理服务;上传后的密文只有数据拥有者可以更新、删除操作。
[0012]
优选的,客户端设置链上存证,则密文代理服务将“数据id+加密类型+时间”存储在区块链服务器中。
[0013]
优选的,随机数r1作为特殊的密钥数据,需要用户自己保存;为了防止随机数r1本地丢失,采用加密托管方式,将自己的私钥进行同态加密[r1]0后托管在代理服务中。
[0014]
一种同态密文转换方法用的同态密文转换系统,所述系统由用户模块、系统模块、模型模块以及参数模块构成。
[0015]
优选的,所述用户模块包括数据拥有者、密文代理服务商以及数据使用者;
[0016]
数据拥有者:拥有一对同态加密公私钥,负责对原始数据进行同态加密he、并将密文进行上传;当收到合法的用户请求数据时,生成对应的转换密钥;
[0017]
密文代理服务商:负责密文的托管和密文转化,支持各种主流的同态加密算法;
[0018]
数据使用者:进行密文或者密文计算申请、下载计算结果以及解密。
[0019]
优选的,所述系统模块包括普通客户端、密文代理服务以及密文数据库;
[0020]
普通客户端:不局限于app、web端或专有客户端,支持一种同态加密算法的加密和解密;
[0021]
密文代理服务:对密文进行密文的托管、转化、密文计算以及密文更新的服务;
[0022]
密文数据库:提供密文的安全存储服务。
[0023]
优选的,所述模型模块采用半诚实的参考模型,各参与方之间不会发起合谋攻击;假设数据所有者作为数据提供方,支持多种类型的同态加密算法能力;否则,需要引入额外的代理服务,由两个代理联合完成密文转化。
[0024]
优选的,所述参数模块中,m代表原始数据,r代表随机数,也是数据所有者用于密文更新和密文转化的临时密钥,sk1和pk1代表一对同态加密的密钥对,sk2和pk2代表另一对同态加密的密钥对;其中,密码算法既是两种相同类型的同态加密算法,也可是两种不同类型的加密算法;[*]1表示数据经过pk1同态加密后的密文,将[*]1由密文代理服务进行密文转化后得到密文[*]2。
[0025]
与现有技术相比,本发明的有益效果是:
[0026]
本发明提出的同态密文转换方法及系统适用于一方面可以实现不同同态算法之间的相互转化,也可以实现相同算法不同用户之前密文的转化;本发明密文转换过程中,无需数据拥有者对计算后的密文进行解密,降低数据拥有者的本地计算量;支持密文动态更新,大大增加密文的安全性,进一步防止数据使用方逆向破解原始数据;本发明通过控制信道和数据信道分离,大大提升密文转化效率和安全性;本发明只有代理服务器收到数据所有者的授权,即生成转化密钥后,代理才能正确完成密文的转化。
附图说明
[0027]
图1为本发明结构系统框图;
[0028]
图2为本发明密文托管流程图;
[0029]
图3为本发明密文转化流程图。
具体实施方式
[0030]
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]
实施例一
[0032]
请参阅图2至图3,本发明提供一种技术方案:一种同态密文转换方法,所述同态密转换方法包括以下步骤:
[0033]
a.数据拥有者基于客户端生成一个随机数r1,并利用pk1对“m+r
1”[0034]
进行加密,即密文[m+r1]1;其中,pk1为密文代理服务的公钥;
[0035]
b.将“密文+加密类型+签名”通过客户端上传到密文代理服务;
[0036]
上传后的密文只有数据拥有者可以更新、删除操作;
[0037]
c.密文代理服务验签合法后,通过根据hash(密文+托管时间戳)生成数据全局唯一的数据id,并将“数据id+密文+加密类型+签名+托管时间”存放到数据库中;并返回相关信息给客户端;
[0038]
d.可选的,如客户端设置链上存证,则密文代理服务将“数据id+
[0039]
加密类型+时间”存储在区块链服务器中;
[0040]
其中,随机数r1作为特殊的密钥数据,需要用户自己保存;为了防止随机数r1本地丢失,可以采用加密托管方式,将自己的私钥进行同态加密[r1]0后托管在代理服务中。
[0041]
实施例二
[0042]
参照附图1,在实施例一的基础上,一种同态密文转换方法用的同态密文转换系统,所述系统由用户模块、系统模块、模型模块以及参数模块构成。
[0043]
用户模块包括数据拥有者、密文代理服务商以及数据使用者;数据拥有者:拥有一对同态加密公私钥,负责对原始数据进行同态加密he、并将密文进行上传;当收到合法的用户请求数据时,生成对应的转换密钥;密文代理服务商:负责密文的托管和密文转化,支持各种主流的同态加密算法;数据使用者:进行密文或者密文计算申请、下载计算结果以及解密。
[0044]
系统模块包括普通客户端、密文代理服务以及密文数据库;普通客户端:不局限于app、web端或专有客户端,支持一种同态加密算法的加密和解密;密文代理服务:对密文进行密文的托管、转化、密文计算以及密文更新的服务;密文数据库:提供密文的安全存储服务。
[0045]
模型模块采用半诚实的参考模型,各参与方之间不会发起合谋攻击;假设数据所有者作为数据提供方,支持多种类型的同态加密算法能力;否则,需要引入额外的代理服务,由两个代理联合完成密文转化。
[0046]
参数模块中,m代表原始数据,r代表随机数,也是数据所有者用于密文更新和密文转化的临时密钥,sk1和pk1代表一对同态加密的密钥对,sk2和pk2代表另一对同态加密的密钥对;其中,密码算法既是两种相同类型的同态加密算法,也可是两种不同类型的加密算法;[*]1表示数据经过pk1同态加密后的密文,将[*]1由密文代理服务进行密文转化后得到密文[*]2。
[0047]
实施例三
[0048]
在实施例二的基础上,为了实现密文数据托管转化,
[0049]
a.参照附图3,数据使用者通过客户端b向密文代理服务发起密文转化申请,请求内容:“数据id+转换后加密类型+使用者公钥pk
2”;
[0050]
b.密文代理服务检验请求合法后,转发申请请求给该数据所有者客户端;
[0051]
c.数据拥有者授权同意后,客户端将随机数r通过数据使用者的公钥pk2进行加密,返回[r1]2;
[0052]
d.托管服务收到[r1]2后,从密文数据库读取相应的密文[m+r1]1,解密[m+r1]1,对m+r1利用使用者公钥pk2进行加密[m+r1]2,然后计算
[0053]
[m+r1]
2-[r1]2得到[m]2,完成密文转化;
[0054]
e.经过步骤d,可以将一系列的密文{[m1]1,[m2]1,...,[mn]1}转化为{[m1]2,[m2]2,...,[mn]2},其中n代表相应的编号。
[0055]
说明:托管服务可以解密获得m+r1,但是由于经过随机数r1的盲化,所以托管服务无法获得m的任何数据。
[0056]
实施例四
[0057]
在实施例三的基础上,为了实现密文数据更新,随机数r1作为临时密钥,为了避免随机数泄露,需建立定期更新机制,同时相应密文进行定期更新,提升方案安全性。
[0058]
情况一:随机数本地加密存储场景,
[0059]
只需要采用密文更新方案即可,步骤如下:
[0060]
a.数据所有者向密文代理服务申请密文更新,即本地生成随机数
[0061]
r2,并加密[r2]1,并将密文+签名发送给代理。同时,密文更新记录链上存证;如果,随机数r1本地存储,则本地更新随机数r=r1+r2即可;
[0062]
b.代理服务收到密文更新请求后,[m+r1]1+[r2]1=[m+r1+r2]1。
[0063]
情况二:随机数密文托管场景
[0064]
为了防止随机数密文丢失,如果随机数的密文[r1]0托管在代理服务,同时需要进行随机数密文更新。
[0065]
随机数密文更新步骤如下:
[0066]
a.数据所有者向密文代理服务申请随机数密文更新,即加密[r2]0,
[0067]
并将密文+签名发送给代理。同时,密文更新记录链上存证;
[0068]
代理服务收到密文更新请求后,更新随机数密文为[r1]0+[r2]0。这里随机数密文只有数据所有者能解密。
[0069]
实施例五
[0070]
在实施例四的基础上,为了实现密文计算,
[0071]
a.数据使用者向密文托管服务申请密文计算申请,请求内容:“数据id={id1,...,idm}+密文类型+计算方式f+使用者公钥pk
2”;数据id确定本次计算参与的对象。
[0072]
b.代理服务获得请求之后,选择相应的密文数据id,进行密文计算f,则此时,托管服务进行密文计算f([m1]2,[m2]2,...,[mn]2),并返回给数据使用者客户端;
[0073]
数据使用者下载相应的密文,然后利用自己的私钥解密即可获得结果。
[0074]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:
1.一种同态密文转换方法,其特征在于:所述同态密转换方法包括以下步骤:数据拥有者基于客户端生成一个随机数r1,并利用pk1对“m+r
1”进行加密;将“密文+加密类型+签名”通过客户端上传到密文代理服务;密文代理服务验签合法后,通过根据hash:密文+托管时间戳,生成数据全局唯一的数据id,并将“数据id+密文+加密类型+签名+托管时间”存放到数据库中;并返回相关信息给客户端。2.根据权利要求1所述的一种同态密文转换方法,其特征在于:数据拥有者基于客户端生成一个随机数r1,并利用pk1对“m+r
1”进行加密,即密文[m+r1]1;其中,pk1为密文代理服务的公钥。3.根据权利要求1所述的一种同态密文转换方法,其特征在于:将“密文+加密类型+签名”通过客户端上传到密文代理服务;上传后的密文只有数据拥有者可以更新、删除操作。4.根据权利要求1所述的一种同态密文转换方法,其特征在于:客户端设置链上存证,则密文代理服务将“数据id+加密类型+时间”存储在区块链服务器中。5.根据权利要求1所述的一种同态密文转换方法,其特征在于:随机数r1作为特殊的密钥数据,需要用户自己保存;为了防止随机数r1本地丢失,采用加密托管方式,将自己的私钥进行同态加密[r1]0后托管在代理服务中。6.一种根据权利要求1-5任意一项所述的一种同态密文转换方法用的同态密文转换系统,其特征在于:所述系统由用户模块、系统模块、模型模块以及参数模块构成。7.根据权利要求6所述的一种同态密文转换系统,其特征在于:所述用户模块包括数据拥有者、密文代理服务商以及数据使用者;数据拥有者:拥有一对同态加密公私钥,负责对原始数据进行同态加密he、并将密文进行上传;当收到合法的用户请求数据时,生成对应的转换密钥;密文代理服务商:负责密文的托管和密文转化,支持各种主流的同态加密算法;数据使用者:进行密文或者密文计算申请、下载计算结果以及解密。8.根据权利要求6所述的一种同态密文转换系统,其特征在于:所述系统模块包括普通客户端、密文代理服务以及密文数据库;普通客户端:不局限于app、web端或专有客户端,支持一种同态加密算法的加密和解密;密文代理服务:对密文进行密文的托管、转化、密文计算以及密文更新的服务;密文数据库:提供密文的安全存储服务。9.根据权利要求6所述的一种同态密文转换系统,其特征在于:所述模型模块采用半诚实的参考模型,各参与方之间不会发起合谋攻击;假设数据所有者作为数据提供方,支持多种类型的同态加密算法能力;否则,需要引入额外的代理服务,由两个代理联合完成密文转化。10.根据权利要求6所述的一种同态密文转换系统,其特征在于:所述参数模块中,m代表原始数据,r代表随机数,也是数据所有者用于密文更新和密文转化的临时密钥,sk1和pk1代表一对同态加密的密钥对,sk2和pk2代表另一对同态加密的密钥对;其中,密码算法既是两种相同类型的同态加密算法,也可是两种不同类型的加密算法;[*]1表示数据经过pk1同态加密后的密文,将[*]1由密文代理服务进行密文转化后得到密文[*]2。

技术总结
本发明涉及同态加密技术领域,具体为一种同态密文转换方法及系统,包括以下步骤:数据拥有者基于客户端生成一个随机数r1,并利用PK1对“m+r


技术研发人员:孙宗臣 罗清彩 李锐
受保护的技术使用者:山东浪潮科学研究院有限公司
技术研发日:2023.05.04
技术公布日:2023/7/25
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐