掌桥专利:专业的专利平台
掌桥专利
首页

一种基于GPU的自适应安全两方计算方法及系统

文献发布时间:2024-04-18 19:58:26


一种基于GPU的自适应安全两方计算方法及系统

技术领域

本发明属于密码学和隐私保护技术领域,具体是涉及一种基于GPU的自适应安全两方计算方法及系统。

背景技术

随着大数据和人工智能的发展,数据隐私和安全问题日益成为关注的焦点。安全两方计算作为一种有效的隐私保护方案被广泛研究和应用。

安全两方计算(Secure Two-Party Computation,简称STPC)是一种重要的密码学技术,用于在不暴露私密数据的情况下进行计算。在STPC中,两个参与者通过互相协作完成计算任务,但是它们各自持有一部分私密数据,不希望将其透露给对方;但安全两方计算的一个主要挑战是计算密集型,需要进行大量的加密和解密操作,其在保证隐私安全的同时,也面临着计算效率低下、通信开销大等问题。

为了提高安全两方计算的效率和性能,研究者们提出了许多优化和改进方法,其中,基于GPU的加速技术是一种有效的手段。

如专利申请CN115333746A公开了一种基于GPU的多方安全计算方法、系统及电子设备,通过将CPU上的算法移植到GPU上并行计算,且将现有技术中的一系列算法拓展到矩阵运算,在提高机器学习使用的多方安全计算效率的同时保护了患者/用户隐私信息的安全;但其需要进行复杂的安全协议设计及考虑多方之间的信任关系、消息传递等问题;在处理大规模数据时,由于GPU的存储容量有限,可能需要进行数据切片和多次传输,增加了计算和通信开销;且其未考虑到对于不同类型的安全计算任务。

专利申请CN114398167A公开了一种针对CPU_GPU两级并行计算的自动负载均衡方法,其解决了具体如何调配CPU与GPU的计算任务,但该方法需要进行详细计算比较CPU与GPU的计算时间来进行调整计算任务的分配,计算耗时过长。

为了更好地适应复杂多变的网络环境,有必要提出一种基于GPU的自适应安全两方计算性能提升方法,使用CPU与GPU协同计算安全两方计算,使用自适应安全性技术针对计算任务的复杂性更快更智能地为CPU与GPU分配计算任务,提高计算效率和性能,并根据数据的敏感程度自适应调整相应的加密算法解决数据隐私和安全问题。

发明内容

为解决上述技术问题,本发明提供了一种基于GPU的自适应安全两方计算方法及系统,在同时使用CPU和GPU进行安全两方计算时,引入自适应安全性技术,根据硬件设备的情况和任务的特点,动态调整计算任务的分配和调度,大大提升了效率。

本发明所述的一种基于GPU的自适应安全两方计算方法,包括以下步骤:

步骤1、客户端确定计算任务,并根据计算任务的特点及数据敏感程度自适应地选择合适的安全性级别;

步骤2、客户端根据每步计算的复杂度自适应地为CPU和GPU分配计算任务;

步骤3、客户端对待进行计算的任务数据进行预处理,并将预处理后的任务数据根据安全性级别进行压缩并加密;

步骤4、客户端将压缩与加密后的任务数据分割并传输到不同的服务器端,各服务器端根据CPU及GPU被分配的任务进行并行运算;

步骤5、各个参与计算的服务器对步骤4的计算结果进行压缩与加密,并发送给客户端;客户端对计算结果进行合并处理,通过逆向压缩机逆向数据分割将数据还原为原始形式,得到最终结果。

进一步的,客户端确认计算任务,具体步骤为:

将计算任务中矩阵乘法的矩阵A随机分为矩阵A

C=A×B(1)

Z=U×V(2)

U=U

其次,服务器i计算E

E

E=E

接下来,两个服务器秘密重构得到E、F后,再使用它们的结果来计算每台服务器要求得的最终结果C

C

客户端将C

为减少计算开销,用加法运算代替乘法运算,将等式(6)转换为等式(7),

进一步的,步骤2中,根据分解规则规定:计算密集型乘法运算在GPU上完成,其余操作在CPU上完成;

具体为,在CPU上完成的操作有将矩阵A、B随机拆分成两个大小维度相同矩阵的操作、随机生成矩阵U、V、E

进一步的,采用多线程技术实现并行加速数据预处理,首先对待计算的矩阵A、B进行进行数据清洗,包括去除异常值、缺失值的处理、标准化和归一化。

进一步的,对需要进行安全计算的矩阵A、B根据其数据的敏感度选择合适的压缩比例及加密算法进行CSPD(基于交叉分段和并行扩散的加密压缩算法)压缩并加密。

进一步的,在数据解压缩与解密后,双方服务器根据给GPU与CPU分配的计算任务进行并行计算,其中,GPU计算等式(7)时需要将数据从CPU传到GPU上,采用双流水线的方法,将不相关的数据分别从两条流水线上进行传输,具体为:先传输E和A

一种基于GPU的自适应安全两方计算系统,用于实现上述的方法,包括:

计算任务分配模块,用于对CPU与GPU的计算任务进行分配,分配规则根据计算任务的特点和数据敏感程度进行调整;

自适应安全性技术模块,用于根据计算任务的特点和数据敏感程度为待计算数据选择合适的安全性级别为后续数据加密压缩等操作提供基础;

数据预处理模块,包括数据分割、加密和压缩等步骤,将数据清洗、分块、加密并压缩以增加数据安全性、提高传输效率和降低通信开销;

数据传输模块,用于将预处理后的数据由客户端传输至参与计算的两方服务器;

并行计算模块,用于将数据分块并分配给CPU和GPU进行并行计算,在计算过程中利用CPU和GPU各自的优势,充分发挥两者的计算能力;

数据合并模块,用于将并行计算后的结果合并为最终结果,并通过逆向压缩和逆向数据分割等步骤将数据还原为原始形式。

本发明所述的有益效果为:本发明所述方法及系统可以根据计算任务的复杂度,为CPU与GPU自动分配计算任务,自适应地调整CPU与GPU的计算过程,合理利用两者的计算优点,使得计算效率达到最优效果;并利用数据的敏感程度,选用效率高安全性相对较低的加解密算法与压缩算法还是安全性高的效率则偏低的加解密算法与压缩算法,智能地进行加密、解密、压缩和解压缩数据,从而提高数据的保密性和完整性,降低信息泄露和数据篡改的风险,同时减少数据传输的时间和成本。此发明具有自适应调节功能,可以降低人工操作,减轻工作负担,同时在确保数据安全性的前提下提高计算性能。

附图说明

图1为本发明完成安全两方计算的总体流程图;

图2为本发明的系统结构图;

图3为本发明实施例中所述完成矩阵乘法运算的流程图。

具体实施方式

为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。

如图1所示,本发明所述的一种基于GPU的自适应安全两方计算方法,包括以下步骤:

步骤1、客户端确定计算任务:提升矩阵乘法的计算性能。如图3所示,实现安全两方计算中的矩阵乘法可以通过三元组乘法来完成,具体步骤为:将计算任务中矩阵乘法的矩阵A随机分为矩阵A

C=A×B(1)

Z=U×V(2)

U=U

其次,服务器i计算E

E

E=E

接下来,两个服务器秘密重构得到E、F后,再使用它们的结果来计算每台服务器要求得的最终结果C

C

客户端将C

为减少计算开销,用加法运算代替乘法运算减少计算开销从而加快计算速度,将等式(6)转换为等式(7),

步骤2、确定哪些计算任务分别由CPU和GPU完成:确定哪些计算在CPU上完成哪些计算在GPU上完成,这里的分解规则可以自动规定为计算密集型乘法运算在GPU上完成,如矩阵运算、卷积操作等;其余操作如控制流程和其他较为复杂的任务,即内存密集型部分在CPU上完成;

计算密集型部分:通常是将密集矩阵乘法、FFT等计算密集型操作放到GPU上计算,以利用GPU的并行计算能力来加速计算;

内存密集型部分:通常是将数据加载、解密、排序等内存密集型操作放到CPU上处理,以利用CPU的内存带宽和缓存来优化计算性能;

根据计算任务的特点和数据的敏感程度,为每一步计算步骤自适应的地选择合适的安全性级别,并在计算过程中动态调整,以保证计算过程的安全性和计算效率的平衡。

具体为:在CPU上完成的操作有将矩阵A、B随机拆分成两个大小维度相同矩阵的操作、随机生成矩阵U、V、E

步骤3、采用多线程技术实现并行加速数据预处理,具体为对原始数据进行清洗、加密、分割等操作,以确保数据的安全性、完整性和一致性,并且确保数据能够被两个计算方正确地处理:首先进行数据清洗,在进行两方安全计算之前,需要对原始数据进行清洗。这包括去除异常值、缺失值的处理、标准化和归一化等操作,以确保数据的准确性和一致性。预处理过程可以在CPU上完成,采用多线程技术来实现并行加速。并将处理的数据拆分成多个块,分别分配到GPU和CPU上进行计算,这样可以避免对整个数据集进行频繁的复制和传输。在拆分数据时,需要综合考虑计算任务的特点和数据的大小,选择合适的数据块大小,以最大化计算效率和并行性能。

步骤4、对待计算的矩阵进行压缩并加密,以便更高效且安全地传输和处理数据;使用CSPD算法将数据压缩,以减少在安全两方计算过程中需要传输的数据量,从而减少通信延迟和带宽消耗。

具体为,在自适应安全性技术模块中,对需要进行安全计算的矩阵A、B根据其数据的敏感度选择合适的压缩比例进行CSPD压缩;使用合适的算法对数据加密,保护数据的隐私性防止在传输过程中出现数据泄露或被篡改的情况,根据计算任务的复杂度和数据的敏感程度自动选择合适的加密算法和密钥长度,从而减少加密解密的时间和计算开销,提高计算性能。

步骤5、将压缩与加密后的数据分割并传输到两个服务器端准备进行并行运算,传输使用TCP/IP协议来确保传输时数据的保密性与完整性,由于步骤S24已对数据加密,通过对其加入已加密的标记,在进行TCP/IP传输时就不需要再对数据进行加密,这可以加快数据传输的速度,同时使用轮询机制来检查数据的状态,随时同步数据,保证数据的正确性。而为了提高安全两方计算的性能,还需要对上述数据传输和同步机制进行优化,故本发明使用多线程传输机制来进一步提高数据传输效率,并减少传输时间。数据传输到两方服务器后,在计算之前先进行解压缩与解密。在数据解压缩与解密后,双方服务器根据步骤2给GPU与CPU分配的计算任务进行并行计算,其中,GPU计算等式(7)时需要将数据从CPU传到GPU上,为了节省数据传输的时间,可以采用双流水线的方法,将不相关的数据分别从两条流水线上进行传输,具体为:先传输E和A

在计算完成后,将计算结果自适应地再次进行CSPD压缩与加密,并发送给客户端,由客户端进行合并处理,通过逆向压缩和逆向数据分割等步骤将数据还原为原始形式,得到最终结果。

如图2所示,本发明所述的一种基于GPU的自适应安全两方计算系统100,用于实现上述方法,包括:

计算任务分配模块101用于对CPU与GPU的计算任务进行分配,分配规则根据计算任务的特点和数据敏感程度进行调整;

自适应安全性技术模块102用于根据计算任务的特点和数据敏感程度为待计算数据选择合适的安全性级别为后续数据加密压缩等操作提供基础;

数据预处理模块103包括数据分割、加密和压缩等步骤,将数据清洗、分块、加密并压缩以增加数据安全性、提高传输效率和降低通信开销;

数据传输模块104用于将预处理后的数据由客户端传输至参与计算的两方服务器;

并行计算模块105是将数据分块并分配给CPU和GPU进行并行计算,在计算过程中利用CPU和GPU各自的优势,充分发挥两者的计算能力;

数据合并模块106是将并行计算后的结果合并为最终结果,并通过逆向压缩和逆向数据分割等步骤将数据还原为原始形式。

以上所述仅为本发明的优选方案,并非作为对本发明的进一步限定,凡是利用本发明说明书及附图内容所作的各种等效变化均在本发明的保护范围之内。

相关技术
  • 一种基于两方协同签名计算的安全通信方法及系统
  • 一种基于CPU和GPU混合的高速并行地形遮蔽计算方法
  • 基于合作的高效安全两方计算系统及计算方法
  • 基于符号边值二叉决策图的安全两方计算方法和系统
技术分类

06120116487251