一种执行密文计算指令的方法、装置和密文计算系统制造方法及图纸

技术编号:29940278 阅读:17 留言:0更新日期:2021-09-04 19:24
本发明专利技术实施例提供一种执行密文计算指令的方法、装置和密文计算系统。其中的方法包括:从请求消息队列中读取客户端发送的计算请求,计算请求中携带有密文计算指令、密文计算指令的输入数据在共享内存中的地址信息、以及密文计算指令所属密文计算任务的任务标识;其中,密文计算指令符合密文计算芯片提供的应用编程接口规范;调度密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。本发明专利技术实施例可以提高隐私计算的效率。效率。效率。

【技术实现步骤摘要】
一种执行密文计算指令的方法、装置和密文计算系统


[0001]本专利技术涉及计算机
,尤其涉及一种执行密文计算指令的方法、装置和密文计算系统。

技术介绍

[0002]在基于密码协议的隐私计算中,通常需要进行大整数模幂、模乘等基本运算。在大量的隐私计算中,计算过程是基于密文进行的(以保护用户隐私),明文中的加法、乘法操作,在密文中对应的是半同态、同态操作。
[0003]同态操作包括大整数模加、模乘、模幂、随机数生成及这些操作的衍生操作。这些操作的计算代价较高,直接通过软件进行计算,计算效率难以满足隐私计算在大数据量运算场景中的需求。

技术实现思路

[0004]本专利技术实施例提供一种执行密文计算指令的方法、装置和密文计算系统,可以提高隐私计算的效率。
[0005]为了解决上述问题,本专利技术实施例公开了一种执行密文计算指令的方法,应用于服务端,所述服务端配置有密文计算芯片,所述方法包括:从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。
[0006]另一方面,本专利技术实施例公开了一种执行密文计算指令的装置,应用于服务端,所述服务端配置有密文计算芯片,所述装置包括:消息读取模块,用于从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;调度执行模块,用于调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;通知发送模块,用于向所述客户端发送计算结果通知,以通知所述客户端从所述
共享内存中读取所述密文计算指令对应的计算结果。
[0007]再一方面,本专利技术实施例公开了一种密文计算系统,所述系统包括客户端和服务端,所述服务端配置有密文计算芯片;所述客户端,用于将待执行的密文计算指令的输入数据写入共享内存,并通过请求消息队列向服务端发送计算请求,所述计算请求中携带有所述密文计算指令、所述输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;所述服务端,用于从请求消息队列中读取客户端发送的计算请求,并调度所述密文计算芯片的计算资源执行所述密文计算指令,将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存,向所述客户端发送计算结果通知;所述客户端,还用于在接收到所述服务端发送的计算结果通知时,从所述共享内存读取所述密文计算指令对应的计算结果。
[0008]又一方面,本专利技术实施例公开了一种机器可读介质,其上存储有指令,当所述指令由装置的一个或多个处理器执行时,使得装置执行如前述一个或多个所述的执行密文计算指令的方法。
[0009]本专利技术实施例包括以下优点:在本专利技术实施例中,在客户端的密文计算应用产生密文计算指令时,可以向服务端发送计算请求,以请求服务端利用其密文计算芯片的计算资源执行该密文计算指令。相较于完全使用软件执行密文计算指令,本专利技术实施例将计算量较大的密文计算指令由硬件芯片来执行,利用芯片的高效计算能力,提高密文计算指令的执行效率。此外,客户端发送的密文计算指令需符合密文计算芯片提供的应用编程接口规范,客户端与服务端之间通过进程间通信的消息队列传输指令,以及通过共享内存传输数据,为客户端的密文计算应用使用服务端的密文计算芯片的计算资源提供了可行性,并且使得密文计算芯片可以对接不同的客户端。由此,通过本专利技术实施例可以极大提高密文计算任务的执行效率,以满足大数据量运算场景的需求,并且不受客户端应用的限制,适用范围广泛。
附图说明
[0010]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0011]图1是本专利技术的一种执行密文计算指令的方法实施例的步骤流程图;图2是一种在密文计算任务A和密文计算任务B的任务上下文之间切换的示意图;图3是本专利技术的一种密文计算系统实施例的结构框图;图4是本专利技术的一种执行密文计算指令的装置实施例的结构框图;图5是本专利技术的一些实施例中服务器的结构示意图。
具体实施方式
[0012]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0013]参照图1,示出了本专利技术的一种执行密文计算指令的方法实施例的步骤流程图,所述方法可应用于服务端,所述服务端配置有密文计算芯片,所述方法具体可以包括如下步骤:步骤101、从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;步骤102、调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;步骤103、向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。
[0014]本专利技术实施例提供的执行密文计算指令的方法可应用于服务端,所述服务端可以为密文计算系统中的计算节点,所述服务端配置有密文计算芯片,所述密文计算芯片可用于提供密文计算服务。
[0015]所述密文计算系统是一种保护数据隐私安全的计算系统。本专利技术实施例对所述密文计算系统采用的安全计算协议不做限制,例如,所述密文计算系统可以基于MPC(SecureMuti

Party Computation,多方安全计算)协议,在基于MPC协议的密文计算系统中,多个参与方可以在不泄漏自身数据的前提下,使用多方安全计算技术进行协同计算得到计算结果,参与计算的数据、中间结果、以及最终结果可以为密文。当然,所述密文计算系统还可以基于秘密分享、半同态、不经意传输等技术实现的安全计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种执行密文计算指令的方法,其特征在于,应用于服务端,所述服务端配置有密文计算芯片,所述方法包括:从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。2.根据权利要求1所述的方法,其特征在于,所述从请求消息队列中读取客户端发送的计算请求之后,所述方法还包括:从所述共享内存中获取所述任务标识对应的上下文初始化指令;若所述任务标识对应的密文计算任务还未创建,则根据所述上下文初始化指令创建所述任务标识对应的密文计算任务,并驱动所述密文计算任务进入初始状态;若所述任务标识对应的密文计算任务已创建,则将所述密文计算指令与所述任务标识对应的密文计算任务进行关联,并驱动所述密文计算任务的状态转换。3.根据权利要求2所述的方法,其特征在于,所述驱动所述密文计算任务的状态转换,包括:在所述密文计算任务下存在至少一个密文计算指令正在执行时,驱动所述密文计算任务进入活动状态;在所述密文计算任务占用所述密文计算芯片的至少一个通道,并等待后续密文计算指令到达时,驱动所述密文计算任务进入等待状态;在所述密文计算任务等待有效的密文计算指令超过预设时长时,驱动所述密文计算任务进入僵死状态。4.根据权利要求1所述的方法,其特征在于,所述密文计算芯片包括至少一个通道,所述调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,包括:对所述密文计算指令分配目标通道;根据所述地址信息从所述共享内存中获取所述密文计算指令的输入数据,并将所述密文计算指令和所述输入数据写入所述目标通道;通过调度所述目标通道中可用的计算资源,利用所述输入数据执行所述密文计算指令,得到计算结果。5.根据权利要求4所述的方法,其特征在于,所述对所述密文计算指令分配目标通道,包括:若所述任务标识对应的密文计算任务已创建,则对同属于所述密文计算任务的密文计算指令分配相同的目标通道。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述目标通道待处理的下一条密文计算指令与所述目标通道正在处理的当前密文计算指令属于不同的密文计算任务,则在所述目标通道的请求消息队列中所述下一条密文计算指令之前插入任务上下文切换指令;在所述目标通道执行到所述任务上下文切换指令时,将所述目标通道的任务上下文切换至所述下一条密文计算指令所属密文计算任务的任务上下文;通过所述目标通道执行所述下一条密文计算指令。7.根据权利要求1至6任一所述的方法,其特征在于,所述计算指令包括模加操作、模乘操作、模幂操作、模乘求和操作、模幂求积操作、模逆操作、生成随机数操作中的任意一项。8.一种密文计算系统,其特征在于,所述系统包括客户端和服务端,所述服务端配置有密文计算芯片;所述客户端,用于将待执行的密文计算指令的输入数据写入共享内存,并通过请求消息队列向服务端发送计算请求,所述计算请求中携带有所述密文计算指令、所述输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;所述服务端,用于从请求消息队列中读取客户端发送的计算请求,并调度所述密文计算芯片的计算资源执行所述密文计算指令,将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存,向所述客户端发送计算结果通知;所述客户端,还用于在接收到所述服务端发送的计算结果通知时,从所述共享内存读取所述密文计算指令对应的计算结果。9.根据权利要求8所述的系统,其特征在于,所述客户端,还用于初始化所述密文计算任务的任务上下文,所述任务上下文包括所述密文计算任务的任务标识、上下文初始化指令、以及所述密文计算任务包含的各密文计算指令的指令标识,并将所述上下文初...

【专利技术属性】
技术研发人员:陈洪博李艺
申请(专利权)人:华控清交信息科技北京有限公司
类型:发明
国别省市:

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

1