【技术实现步骤摘要】
一种执行密文计算指令的方法、装置和密文计算系统
[0001]本专利技术涉及计算机
,尤其涉及一种执行密文计算指令的方法、装置和密文计算系统。
技术介绍
[0002]在基于密码协议的隐私计算中,通常需要进行大整数模幂、模乘等基本运算。在大量的隐私计算中,计算过程是基于密文进行的(以保护用户隐私),明文中的加法、乘法操作,在密文中对应的是半同态、同态操作。
[0003]同态操作包括大整数模加、模乘、模幂、随机数生成及这些操作的衍生操作。这些操作的计算代价较高,直接通过软件进行计算,计算效率难以满足隐私计算在大数据量运算场景中的需求。
技术实现思路
[0004]本专利技术实施例提供一种执行密文计算指令的方法、装置和密文计算系统,可以提高隐私计算的效率。
[0005]为了解决上述问题,本专利技术实施例公开了一种执行密文计算指令的方法,应用于服务端,所述服务端配置有密文计算芯片,所述方法包括:从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。
[0 ...
【技术保护点】
【技术特征摘要】
1.一种执行密文计算指令的方法,其特征在于,应用于服务端,所述服务端配置有密文计算芯片,所述方法包括:从请求消息队列中读取客户端发送的计算请求,所述计算请求中携带有密文计算指令、所述密文计算指令的输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,并将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存;向所述客户端发送计算结果通知,以通知所述客户端从所述共享内存中读取所述密文计算指令对应的计算结果。2.根据权利要求1所述的方法,其特征在于,所述从请求消息队列中读取客户端发送的计算请求之后,所述方法还包括:从所述共享内存中获取所述任务标识对应的上下文初始化指令;若所述任务标识对应的密文计算任务还未创建,则根据所述上下文初始化指令创建所述任务标识对应的密文计算任务,并驱动所述密文计算任务进入初始状态;若所述任务标识对应的密文计算任务已创建,则将所述密文计算指令与所述任务标识对应的密文计算任务进行关联,并驱动所述密文计算任务的状态转换。3.根据权利要求2所述的方法,其特征在于,所述驱动所述密文计算任务的状态转换,包括:在所述密文计算任务下存在至少一个密文计算指令正在执行时,驱动所述密文计算任务进入活动状态;在所述密文计算任务占用所述密文计算芯片的至少一个通道,并等待后续密文计算指令到达时,驱动所述密文计算任务进入等待状态;在所述密文计算任务等待有效的密文计算指令超过预设时长时,驱动所述密文计算任务进入僵死状态。4.根据权利要求1所述的方法,其特征在于,所述密文计算芯片包括至少一个通道,所述调度所述密文计算芯片的计算资源根据所述地址信息存储的输入数据执行所述密文计算指令,包括:对所述密文计算指令分配目标通道;根据所述地址信息从所述共享内存中获取所述密文计算指令的输入数据,并将所述密文计算指令和所述输入数据写入所述目标通道;通过调度所述目标通道中可用的计算资源,利用所述输入数据执行所述密文计算指令,得到计算结果。5.根据权利要求4所述的方法,其特征在于,所述对所述密文计算指令分配目标通道,包括:若所述任务标识对应的密文计算任务已创建,则对同属于所述密文计算任务的密文计算指令分配相同的目标通道。6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述目标通道待处理的下一条密文计算指令与所述目标通道正在处理的当前密文计算指令属于不同的密文计算任务,则在所述目标通道的请求消息队列中所述下一条密文计算指令之前插入任务上下文切换指令;在所述目标通道执行到所述任务上下文切换指令时,将所述目标通道的任务上下文切换至所述下一条密文计算指令所属密文计算任务的任务上下文;通过所述目标通道执行所述下一条密文计算指令。7.根据权利要求1至6任一所述的方法,其特征在于,所述计算指令包括模加操作、模乘操作、模幂操作、模乘求和操作、模幂求积操作、模逆操作、生成随机数操作中的任意一项。8.一种密文计算系统,其特征在于,所述系统包括客户端和服务端,所述服务端配置有密文计算芯片;所述客户端,用于将待执行的密文计算指令的输入数据写入共享内存,并通过请求消息队列向服务端发送计算请求,所述计算请求中携带有所述密文计算指令、所述输入数据在共享内存中的地址信息、以及所述密文计算指令所属密文计算任务的任务标识;其中,所述密文计算指令符合所述密文计算芯片提供的应用编程接口规范;所述服务端,用于从请求消息队列中读取客户端发送的计算请求,并调度所述密文计算芯片的计算资源执行所述密文计算指令,将所述密文计算芯片执行所述密文计算指令得到的计算结果存入所述共享内存,向所述客户端发送计算结果通知;所述客户端,还用于在接收到所述服务端发送的计算结果通知时,从所述共享内存读取所述密文计算指令对应的计算结果。9.根据权利要求8所述的系统,其特征在于,所述客户端,还用于初始化所述密文计算任务的任务上下文,所述任务上下文包括所述密文计算任务的任务标识、上下文初始化指令、以及所述密文计算任务包含的各密文计算指令的指令标识,并将所述上下文初...
【专利技术属性】
技术研发人员:陈洪博,李艺,
申请(专利权)人:华控清交信息科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。