当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于区块链的全同态加密算法的安全外包方法及系统技术方案

技术编号:27298015 阅读:37 留言:0更新日期:2021-02-06 12:08
本发明专利技术公开了一种基于区块链的全同态加密算法的安全外包方法及系统,该方法包括:在本地服务器生成参数并将计算任务发送到区块链网络执行,返回计算结果后生成密钥;对数据进行加密并通过区块链网络和本地服务器分别执行多项式乘法任务和多项式加法任务,得到加密后的数据;根据密钥对加密后的数据进行解密并将多项式乘法任务发送到区块链网络执行,返回计算结果后得到解密数据。该系统包括:本地服务器和区块链网络。通过使用本发明专利技术,降低全同态加密算法的本地运算复杂度,使其能在计算能力有限的设备上更具实用性。本发明专利技术作为一种基于区块链的全同态加密算法的安全外包方法及系统,可广泛应用于安全计算领域。可广泛应用于安全计算领域。可广泛应用于安全计算领域。

【技术实现步骤摘要】
一种基于区块链的全同态加密算法的安全外包方法及系统


[0001]本专利技术属于安全计算领域,尤其涉及一种基于区块链的全同态加密算法的安全外包方法及系统。

技术介绍

[0002]由于区块链拥有不可篡改、可追溯等特性,利用区块链网络的计算能力进行安全计算外包能增加安全性,降低云端作弊的可能,但是,目前对加密算法的安全外包的研究非常稀少,首先是因为,如果加密过程中涉及的参数泄漏,很可能导致最终加密密钥的泄漏,其次,普通加密算法的复杂度并没有全同态加密算法高,而且目前大多数设备都能承受传统的加密算法的复杂度。在现有的基于区块链的通用安全计算外包方案中,都存在本地运行全同态加密算法复杂度过高的问题,导致其难以在运算资源有限的设备上应用。

技术实现思路

[0003]为了解决上述技术问题,本专利技术的目的是提供一种基于区块链的全同态加密算法的安全外包方法及系统,通过将基于隐理想格的全同态加密算法中的部分复杂运算安全外包给区块链网络,降低全同态加密算法的本地运算复杂度。
[0004]本专利技术所采用的第一技术方案是:一种基于区块链的全同态加密算法的安全外包方法,包括以下步骤:
[0005]在本地服务器生成参数并将计算任务发送到区块链网络执行,返回计算结果后生成密钥;
[0006]对数据进行加密并通过区块链网络和本地服务器分别执行多项式乘法任务和多项式加法任务,得到加密后的数据;
[0007]根据密钥对加密后的数据进行解密并将多项式乘法任务发送到区块链网络执行,返回计算结果后得到解密数据
[0008]进一步,所述在本地服务器生成参数并将计算任务发送到区块链网络执行,返回计算结果后生成密钥这一步骤,其具体包括:
[0009]根据预设规则在本地服务器生成参数并发送数据至区块链网络;
[0010]基于区块链网络对数据执行多项式乘法计算并返回第一计算结果;
[0011]本地服务器对第一计算结果进行验证并将验证结果反馈给区块链;
[0012]基于区块链网络对数据执行欧几里得算法计算并返回第二计算结果;
[0013]本地服务器对第二计算结果进行验证并将验证结果反馈给区块链。
[0014]进一步,所述基于区块链网络对数据执行多项式乘法计算并返回第一计算结果这一步骤,其具体包括:
[0015]向区块链网络发送向量并发布傅里叶变换任务;
[0016]计算节点选择傅里叶变换任务并在任务完成后将变换后的结果返回给区块链,再由区块链将变换后的计算结果发送至本地服务器;
[0017]向区块链网络发送向量并发布傅里叶逆变换任务;
[0018]计算节点选择傅里叶逆变换任务并在任务完成后将逆变换后的结果返回给区块链,再由区块链将逆变换后的计算结果发送至本地服务器。
[0019]进一步,所述欧几里得算法包括多项式乘法运算和幂运算,所述基于区块链网络对数据执行欧几里得算法计算并返回第二计算结果这一步骤,其具体包括:
[0020]基于区块链网络对数据执行多项式乘法计算并返回结果;
[0021]发布数据和幂运算任务到区块链网络;
[0022]计算节点选择幂运算任务并将幂运算后的结果返回给区块链,再由区块链将幂运算后的结果发给本地。
[0023]进一步,将验证结果反馈给区块链后,具体还包括:
[0024]判断到验证结果正确,本地服务器接受该结果,区块链执行交易;
[0025]判断到验证结果不正确,本地服务器不接受该结果,区块链检查计算节点并对计算节点进行相应惩罚。
[0026]进一步,所述计算节点选择傅里叶变换任务具体为选择待处理向量并对其进行傅里叶变换任务,所述计算节点选择傅里叶逆变换任务具体为选择待处理向量并对其进行傅里叶逆变换任务,所述计算节点选择幂运算任务具体为选择待处理数据并对其进行幂运算。
[0027]进一步,所述在本地服务器生成参数具体包括生成8个随机数、3个随机向量和4个随机矩阵。
[0028]进一步,向区块链网络发送的向量具体为从随机矩阵中获得的向量。
[0029]本专利技术所采用的第二技术方案是:一种基于区块链的全同态加密算法的安全外包系统,包括:
[0030]本地服务器,用于生成参数、发布计算任务、执行普通计算和验证;
[0031]区块链网络,用于接收来自本地服务器发布的计算任务、返回计算结果、并由其计算节点选择计算任务、承担计算工作和返回计算结果。
[0032]本专利技术方法及系统的有益效果是:通过将基于隐理想格的全同态加密算法中的部分复杂运算安全外包给区块链网络,降低全同态加密算法的本地运算复杂度,从而使其能在计算能力有限的设备上更具实用性。
附图说明
[0033]图1是本专利技术一种基于区块链的全同态加密算法的安全外包的步骤流程图;
[0034]图2是本专利技术一种基于区块链的全同态加密算法的安全外包系统的示意图。
具体实施方式
[0035]下面结合附图和具体实施例对本专利技术做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0036]如图1所示,本专利技术提供了一种基于区块链的全同态加密算法的安全外包方法,该方法包括以下步骤:
[0037]S1、在本地服务器生成参数并将计算任务发送到区块链网络执行,返回计算结果后生成密钥;
[0038]S2、对数据进行加密并通过区块链网络和本地服务器分别执行多项式乘法任务和多项式加法任务,得到加密后的数据;
[0039]S3、根据密钥对加密后的数据进行解密并将多项式乘法任务发送到区块链网络执行,返回计算结果后得到解密数据。
[0040]参照图2可得,本专利技术中用到的外包云平台为区块链网络。在基于隐理想格的全同态加密算法的运行过程中,运行至多项式乘法就可以将该运算外包给区块链网络;运行至扩展欧几里得算法,也可以将该算法中涉及的多项式乘法和幂运算分别根据多项式乘法和幂运算的安全外包算法外包给区块链网络。进而减少本地运算负担。
[0041]进一步作为本方法的优选实施例,所述在本地服务器生成参数并将计算任务发送到区块链网络执行,返回计算结果后生成密钥这一步骤,其具体包括:
[0042]根据预设规则在本地服务器生成参数并发送数据至区块链网络;
[0043]基于区块链网络对数据执行多项式乘法计算并返回第一计算结果;
[0044]本地服务器对第一计算结果进行验证并将验证结果反馈给区块链;
[0045]基于区块链网络对数据执行欧几里得算法计算并返回第二计算结果;
[0046]本地服务器对第二计算结果进行验证并将验证结果反馈给区块链。
[0047]进一步作为本方法的优选实施例,所述基于区块链网络对数据执行多项式乘法计算并返回第一计算结果这一步骤,其具体包括:
[0048]向区块链网络本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的全同态加密算法的安全外包方法,其特征在于,包括以下步骤:在本地服务器生成参数并将计算任务发送到区块链网络执行,返回计算结果后生成密钥;对数据进行加密并通过区块链网络和本地服务器分别执行多项式乘法任务和多项式加法任务,得到加密后的数据;根据密钥对加密后的数据进行解密并将多项式乘法任务发送到区块链网络执行,返回计算结果后得到解密数据。2.根据权利要求1所述一种基于区块链的全同态加密算法的安全外包方法,其特征在于,所述在本地服务器生成参数并将计算任务发送到区块链网络执行,返回计算结果后生成密钥这一步骤,其具体包括:根据预设规则在本地服务器生成参数并发送数据至区块链网络;基于区块链网络对数据执行多项式乘法计算并返回第一计算结果;本地服务器对第一计算结果进行验证并将验证结果反馈给区块链;基于区块链网络对数据执行欧几里得算法计算并返回第二计算结果;本地服务器对第二计算结果进行验证并将验证结果反馈给区块链。3.根据权利要求2所述一种基于区块链的全同态加密算法的安全外包方法,其特征在于,所述基于区块链网络对数据执行多项式乘法计算并返回第一计算结果这一步骤,其具体包括:向区块链网络发送向量并发布傅里叶变换任务;计算节点选择傅里叶变换任务并在任务完成后将变换后的结果返回给区块链,再由区块链将变换后的计算结果发送至本地服务器;向区块链网络发送向量并发布傅里叶逆变换任务;计算节点选择傅里叶逆变换任务并在任务完成后将逆变换后的结果返回给区块链,再由区块链将逆变换后的计算结果发送至本地服务器。4.根据权利要求3所述一种基于区块链的全同态加密算法的安全外包方法,其特征在于,所述欧几里得算法包括多...

【专利技术属性】
技术研发人员:宋明洋桑应朋
申请(专利权)人:中山大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1