CN111190569B - 一种基于Intel QAT的同态加密卸载方法 - Google Patents

一种基于Intel QAT的同态加密卸载方法 Download PDF

Info

Publication number
CN111190569B
CN111190569B CN201911396158.4A CN201911396158A CN111190569B CN 111190569 B CN111190569 B CN 111190569B CN 201911396158 A CN201911396158 A CN 201911396158A CN 111190569 B CN111190569 B CN 111190569B
Authority
CN
China
Prior art keywords
qat
encryption
homomorphic encryption
coroutine
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911396158.4A
Other languages
English (en)
Other versions
CN111190569A (zh
Inventor
华蓓
周慧凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN201911396158.4A priority Critical patent/CN111190569B/zh
Publication of CN111190569A publication Critical patent/CN111190569A/zh
Application granted granted Critical
Publication of CN111190569B publication Critical patent/CN111190569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/552Powers or roots, e.g. Pythagorean sums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于Intel QAT的同态加密卸载方法,特征是先搭建由QAT访问层、同态加密库与应用层组成的软件栈;在此基础上,通过协程封装应用层的同态加密任务,实现同态加密任务的QAT异步卸载;进一步的,通过在单次同态加密中以协程里内嵌协程,多协程的方法,并行化同态加密中的无关联运算,降低了单次同态加密的时延。采用本发明方法克服了简单同步方式卸载时系统吞吐量低的缺陷,使得CPU和QAT算力得到充分发挥,增强了同态加密任务的并行性,缩短了同态加密任务运行时延,提高了系统同态加密的吞吐量,为同态加密方法得到更加广泛、更大规模的应用提供了更好的可行性。

Description

一种基于Intel QAT的同态加密卸载方法
技术领域
本发明属于密码学同态加密技术领域,具体涉及在用于数据加密和压缩的专用硬件Intel QuickAssist Technology(以下简称QAT)上实现高效的同态加密卸载的方法。
背景技术
QAT是Intel公司针对加/解密任务以及压缩/解压缩任务推出的一款专用加速硬件(ASIC)。QAT封装了常规的加密算法(如RSA、AES、ECC算法)和常规的压缩算法(如Deflate算法),为调用这些算法提供了方便易用的编程接口。目前,基于QAT已经有了富有成效的工作,但这些工作都局限于常规加密和数据压缩领域,至今尚未见涉足同态加密领域。QAT提供了一个大数模幂运算接口,可兼容几个主流的基于模幂运算的半同态加密方案,如Paillier加密方案、ElGaml加密方案等。但该接口只是一个未经封装的低层调用接口,目前未见有任何工作利用这个接口来实现同态加密过程的硬件卸载。
利用QAT卸载加密运算的最直接方法是将加密函数库中的加密函数替换成对QAT加密运算接口的同步调用,这样上层应用几乎不需要修改,但是这种卸载方式的性能很低。这是因为在一般的软件加密方案中,对加密函数的调用是一个同步的阻塞调用,通过调用CPU资源进行加密运算,在加密阻塞操作完成之前应用层软件与加密库都不能进行后续操作。这种设计在只有CPU参与计算的情况下是合理的,但在上述卸载模式下会导致CPU和QAT的串行执行,QAT的利用率很低。一种可能的解决方法是开启大量线程进行同步调用,以此增大QAT的负载,并隐藏每个线程的卸载I/O开销。但是随着大量线程的引入,线程间切换的开销急剧增加,成为限制系统性能的重要因素。
发明内容
本发明的目的是提出一种基于Intel QAT的同态加密卸载方法,以克服简单同步方式卸载的上述缺陷,使得CPU和QAT算力得到充分发挥,增强同态加密任务的并行性,缩短同态加密任务运行时延,提高系统同态加密的吞吐量。
本发明基于Intel QAT的同态加密卸载方法,其特征在于:
先搭建如下软件栈:在QAT用户态驱动以上,软件栈从下往上分为QAT访问层、同态加密库、应用层三个层次;QAT访问层负责与QAT用户态驱动进行交互,实现数据格式转换、数据封装和提交请求;同态加密库负责同态加密算法的实现并调用QAT访问层进行QAT任务的异步提交;应用层将每一次同态加密任务封装为一个协程fibre并调用同态加密库提供的接口实现应用层同态加密的需求;
然后进行以下步骤:
第一步:任务封装与提交
每一次独立的同态加密被封装为一个包括获取数据、加密数据、写密文数据在内的加密任务,该封装由应用层实现;之后加密任务作为一个协程fibre被调用,协程/加密任务首先根据参数获取待加密的数据,然后调用同态加密库,同态加密库调用QAT访问层,QAT访问层通过异步API提交加密请求,之后该协程主动通过相关调用暂停自身的执行,将控制权返回给应用层;应用层调度下一个加密任务;
在该协程中如果对应的同态加密涉及到多次不相关的大数模幂运算,在进行最后一次大数模幂运算之前,每遇到一次大数模幂运算再生成一个新的协程,该新协程所做的仅仅是封装此次大数模幂运算进行QAT任务提交,在该新协程提交QAT任务之后将控制权返还原协程;注意当一次加密运算中涉及通过多个协程来提交QAT任务时,这些任务需要通过同一个QAT实例(QAT Instance)提交给QAT;
第二步:轮询与异步协程重入
为了确定加密请求是否完成,在提交的QAT异步任务达到QAT Instance所能承受的上限之前,应用层主动对QAT进行轮询;轮询获取到加密结果之后,QAT用户态驱动调用预设的回调函数;回调函数根据与加密结果相关联的协程句柄,直接重入到该协程,继续执行后续处理过程;
第三步:后处理
后处理包括软件栈中每一层相关的后续处理,对于QAT访问层来说是加密数据类型的转换、数据包装,对于同态加密库来说是进一步的加密过程处理,对于应用层来说是包括写加密数据在内的后续处理;重入协程完成全部的后处理之后,协程被终结,如果该协程是步骤一中协程/加密任务派生出的新协程,则该新协程所包含的大数模幂运算结果已获取,如果该协程是步骤一中的协程/加密任务本身,则该加密任务完成。
上述本发明的基于Intel QAT的同态加密卸载方法,先搭建由QAT访问层、同态加密库以及应用层组成的软件栈,在此基础上,采取了任务封装与提交、轮询与异步协程重入、以及后处理的步骤,通过协程封装应用层的同态加密任务,实现同态加密任务的QAT异步卸载。
本发明由于在步骤一中,通过将每一个同态加密任务封装为一个加密任务,以协程来进行加密任务提交的方式实现了加密任务的异步卸载。协程是用户态线程,以协作方式进行调度,并且调度也在用户态完成,从而避免了切换内核的开销,因此比内核态线程开销小。协程的最大优点是可以在任意位置中断,让出CPU,调度另一个协程运行,并可以在任意时间重入协程,直接从上次退出的执行点继续向下执行。该特性使得协程提供了一种自然的异步调用方式。因此本发明应用协程方式实现了在极低调度开销的情况下的大批量加密任务的高效异步卸载,与单线程同步方式相比,发挥了QAT的全部算力,同时CPU也不因同步提交QAT任务而被阻塞;与多线程同步方式相比,避免了大量线程切换产生的开销,在保证QAT高效利用的同时,减少了CPU的占用。
本发明在步骤一中,出于单次同态加密延时的考虑,还采用了在协程里内嵌协程的优化。根据同态加密算法,一次同态加密有时需要进行多次大数模幂运算,即需要进行多次QAT卸载。以两次大数模幂运算为例,来说明在协程里内嵌协程是如何降低同态加密的延时的:在简单方案中,两次大数模幂运算集成在一个协程/加密任务中,先通过协程提交第一次大数模幂运算请求,在第一次轮询回调中重入该协程提交第二次大数模幂运算请求,然后在第二次轮询回调中才能完成该次同态加密,这样两次异步卸载是完全串行的;考虑到大批量加密任务的并发提交,其单次加密的延时显著增加;然而事实上,同态加密的两次大数模幂运算之间并没有关系,可以并行实现;本发明将两次大数模幂运算解耦,作为两个协程来实现,第一个协程包装第一个大数模幂运算的提交,第二个协程包装第二个大数模幂运算的提交及整个同态加密的后续处理,按顺序依次提交这两个协程;两次大数模幂运算的并行处理可有效减少单次同态加密的延时;而两次协程中提交QAT任务需要提交给同一个QAT Instance是为了保证第二次模幂结果获取之后,进行后处理时第一个模幂结果已经取得,这样第二次模幂运算的后处理过程中即可以使用两次模幂运算的结果来获得最后的加密结果;这是因为在同一个QAT Instance下QAT的运行机制总是先提交的任务先取得结果,而如果通过不同QAT Instance来提交任务则不能保证先提交的先获取结果,这样就会导致第二次模幂结果获取后需要进行后处理整合两次模幂结果时第一次模幂结果还没有获取的情况。当一次同态加密需要进行两次以上的无相关大数模幂运算时可以此类推。
本发明的步骤二中,获取任务完成结果使用轮询方法而不是中断方法,是为了避免大批量任务中断时频繁的陷入内核而产生过高的开销,在大批量任务处理时使用轮询更为高效。
步骤三中,本发明通过预先设置给回调函数的协程句柄,可以方便的重新进入之前未完成的加密任务中,实现加密结果获取之后的其他处理。
附图说明
图1为本发明基于Intel QAT的同态加密卸载方法需要的软件栈。
图2为任务封装与提交流程示意图。
图3为轮询与异步协程重入流程示意图。
图4为后处理流程示意图。
具体实施方式
下面结合附图通过具体实施例对本发明基于Intel QAT的同态加密卸载方法作进一步的详细说明。
实施例1:
本实施例以Paillier同态加密方案为例来阐述基于Intel QAT的同态加密卸载方法。
先搭建如下软件栈:在QAT用户态驱动以上,软件栈从下往上分为QAT访问层、同态加密库、应用层三个层次;QAT访问层负责与QAT驱动进行交互,实现数据格式转换、数据封装和提交请求;同态加密库负责同态加密算法的实现并调用QAT访问层进行QAT任务的异步提交;应用层将每一次同态加密任务封装为一个协程fibre并调用同态加密库提供的接口实现应用层同态加密的需求。
图1给出了本发明基于Intel QAT的同态加密卸载方法需要的软件栈。图中软件栈在QAT用户态驱动
Figure GDA0003513526470000041
之上,从下往上分别是QAT访问层
Figure GDA0003513526470000042
同态加密库
Figure GDA0003513526470000043
和应用层
Figure GDA0003513526470000044
在本例中同态加密库
Figure GDA0003513526470000045
需要实现Paillier加密逻辑,而应用层
Figure GDA0003513526470000046
需要应用Paillier加密方法进行大量数据的同态加密;图中带箭头线段代表软件栈中各层之间的调用关系,实线与虚线是为了区别应用层中的加密任务1和加密任务2(应用层的加密需求被封装为加密任务1、加密任务2……加密任务n);图中应用层
Figure GDA0003513526470000047
首先调用同态加密库
Figure GDA0003513526470000048
同态加密库
Figure GDA0003513526470000049
将加密请求提交给QAT访问层
Figure GDA00035135264700000410
最后QAT访问层
Figure GDA00035135264700000411
通过QAT API将加密任务卸载给QAT用户态驱动
Figure GDA00035135264700000412
在上述搭建的软件栈基础上,本发明基于Intel QAT的同态加密卸载方法,具体包括以下步骤:
第一步:任务封装与提交
图2给出了任务封装与提交流程示意图,图中带箭头的线段代表流程中的每一个小的过程(图3、图4亦同),实线与虚线分别代表两个不同加密任务/协程:加密任务1/协程1和加密任务2/协程2的流程(图4亦同)。在本实施例中,应用层
Figure GDA00035135264700000413
的需求是要以Paillier同态加密方法来加密大批量的数据。下面以加密任务1为例来阐述处理流程。
首先将Paillier加密任务1封装为协程1过程①,协程内有三个步骤:根据参数读取明文数据,调用同态加密库
Figure GDA00035135264700000414
API来加密数据,将密文数据写到指定位置。然后调用该协程。
协程1在读取明文数据之后,开始调用同态加密库
Figure GDA00035135264700000415
API进行数据加密过程②。在本实施例中,选用libhcs库作为同态加密库
Figure GDA00035135264700000416
来实现基本Paillier加密逻辑。libhcs同态加密库
Figure GDA00035135264700000417
基于GMP库实现大数运算,将其对GMP库的大数模幂运算接口的调用替换为对QAT访问层
Figure GDA00035135264700000418
的相关调用。考虑到Paillier同态加密过程涉及两次无相关的大数模幂运算,在碰到第一次大数模幂运算时在协程1内另起一个新协程专门提交这一次运算,提交完成之后新协程返回到协程1中,在协程1中继续提交第二次大数模幂运算。
同态加密库
Figure GDA00035135264700000419
通过相关调用将加密请求提交给QAT访问层
Figure GDA00035135264700000420
过程③。前文提到libhcs库调用GMP库来实现大数相关运算,其内部所有数据皆以GMP中mpz_t格式存储,需要通过GMP提供的相关函数将mpz_t格式转换为QAT驱动所能接受的CpaFlatBuffer格式,最后通过QAT的大数模幂运算接口cpaCyLnModExp,以非阻塞加密API的方式来异步卸载任务给QAT用户态驱动过程④,后面QAT用户态驱动
Figure GDA00035135264700000421
将请求提交给QAT实例
Figure GDA00035135264700000422
由QAT实例
Figure GDA00035135264700000423
与QAT硬件即QAT加密引擎
Figure GDA00035135264700000424
进行交互,注意在调用cpaCyLnModExp接口时需要将当前协程1的句柄作为回调函数参数传递给cpaCyLnModExp。异步提交了大数模幂任务给QAT用户态驱动
Figure GDA00035135264700000425
后,协程1马上通过相关调用暂停自己的执行(暂停当前协程),将控制权返回给应用层
Figure GDA00035135264700000426
过程⑤,以继续提交下一个加密任务/协程:加密任务2/协程2(调用下一个协程)。
第二步:轮询与异步协程重入
图3为轮询与异步协程重入流程示意图,左边是轮询过程,按一定频率对QAT实例进行轮询;右边是异步协程重入的过程,完成之后便重入就绪协程。优选的,本实施例中在每提交了1000个同态加密任务之后,在应用层
Figure GDA0003513526470000051
通过QAT用户态驱动
Figure GDA0003513526470000052
中icp_sal_CyPollInstance接口向相应QAT实例
Figure GDA0003513526470000053
轮询新的加密结果过程⑥,当轮询发现QAT实例
Figure GDA0003513526470000054
中存在新的响应,即存在大数模幂运算结果时,QAT用户态驱动
Figure GDA0003513526470000055
会调用预先传递给cpaCyLnModExp接口的回调函数过程⑦,并将相应协程句柄传递给回调函数,在回调函数中重入就绪协程过程⑧。
第三步:后处理
图4为后处理流程示意图。每一个协程的后处理流程相同,此处首先以协程1为例。重入协程1时,协程1会在QAT访问层
Figure GDA0003513526470000056
被唤醒过程⑨,此时协程1中已经取得QAT运算结果,可以执行后续操作。在QAT访问层
Figure GDA0003513526470000057
中,将CpaFlatBuffer格式的运算结果重新转换为mpz_t格式返回到同态加密库
Figure GDA0003513526470000058
libhcs中过程⑩。如果协程1封装的是Paillier加密中的第一次大数模幂运算,则协程1的所有后处理到这里即已完成;如果协程1封装的是整体同态加密任务,即提交的是Paillier加密过程中的第二次大数模幂运算,则在得到第二次模幂运算的结果时,第一次模幂运算的结果也已经取得,同态加密库
Figure GDA0003513526470000059
会实现两次运算结果的整合得到Paillier加密的最终结果,此时同态加密库
Figure GDA00035135264700000510
后处理即已完成,在这之后还需要进入应用层
Figure GDA00035135264700000511
过程
Figure GDA00035135264700000512
进行应用层
Figure GDA00035135264700000513
的后处理。应用层
Figure GDA00035135264700000514
执行后处理时密文结果已经取得,需要做的就是将密文写入指定内存位置。至此所有后处理完成,协程1将控制权返还给调用回调函数的用户态驱动
Figure GDA00035135264700000515
中并结束当前协程,继续下一个轮询结果的处理,即开始协程2的重入与后处理过程。
在本实施例中,由基于Intel QAT的同态加密卸载方法,通过将每一次Paillier加密过程封装为一个协程来实现加密任务的高效QAT异步卸载,在增强系统同态加密卸载过程的并发性,提高系统吞吐量的同时,通过嵌套协程提交无关大数模幂运算任务的方式还进一步降低了单次同态加密的延时。对于由CPU和QAT组成的异构系统整体而言,异步方式还避免了CPU的无效阻塞,CPU因而可以去做更多的运算,最终CPU与QAT的算力都得到了充分应用。

Claims (1)

1.一种基于IntelQAT的同态加密卸载方法,其特征在于:
先搭建如下软件栈:在QAT用户态驱动以上,软件栈从下往上分为QAT访问层、同态加密库、应用层三个层次;QAT访问层负责与QAT驱动进行交互,实现数据格式转换、数据封装和提交请求;同态加密层负责同态加密算法的实现并调用QAT访问层进行QAT任务的异步提交;应用层将每一次同态加密任务封装为一个协程fibre并调用同态加密库提供的接口实现应用层同态加密的需求;
然后进行以下步骤:
第一步:任务封装与提交
每一次独立的同态加密被封装为一个包括获取数据、加密数据、写密文数据在内的加密任务,该封装由应用层实现;之后加密任务作为一个协程fibre被调用,协程/加密任务首先根据参数获取待加密的数据,然后调用同态加密库,同态加密库调用QAT访问层,QAT访问层通过异步API提交加密请求,之后该协程主动通过相关调用暂停自身的执行,将控制权返回给应用层;应用层调度下一个加密任务;
在该协程中如果对应的同态加密涉及到多次不相关的大数模幂运算,在进行最后一次大数模幂运算之前,每遇到一次大数模幂运算再生成一个新的协程,该新协程所做的仅仅是封装此次大数模幂运算进行QAT任务提交,在该新协程提交QAT任务之后将控制权返还原协程;当一次加密运算中涉及通过多个协程来提交QAT任务时,这些任务需要通过同一个QAT实例提交给QAT;
第二步:轮询与异步协程重入
为了确定加密请求是否完成,在提交的QAT异步任务达到QAT实例所能承受的上限之前,应用层主动对QAT进行轮询;轮询获取到加密结果之后,QAT用户态驱动调用预设的回调函数;回调函数根据与加密结果相关联的协程句柄,直接重入到该协程,继续执行后续处理过程;
第三步:后处理
后处理包括软件栈中每一层相关的后续处理,对于QAT访问层来说是加密数据类型的转换、数据包装,对于同态加密库来说是进一步的加密过程处理,对于应用层来说是包括写加密数据在内的后续处理;重入协程完成全部的后处理之后,协程被终结,如果该协程是步骤一中协程/加密任务派生出的新协程,则该新协程所包含的大数模幂运算结果已获取,如果该协程是步骤一中的协程/加密任务本身,则该加密任务完成。
CN201911396158.4A 2019-12-30 2019-12-30 一种基于Intel QAT的同态加密卸载方法 Active CN111190569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911396158.4A CN111190569B (zh) 2019-12-30 2019-12-30 一种基于Intel QAT的同态加密卸载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911396158.4A CN111190569B (zh) 2019-12-30 2019-12-30 一种基于Intel QAT的同态加密卸载方法

Publications (2)

Publication Number Publication Date
CN111190569A CN111190569A (zh) 2020-05-22
CN111190569B true CN111190569B (zh) 2022-05-13

Family

ID=70707905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911396158.4A Active CN111190569B (zh) 2019-12-30 2019-12-30 一种基于Intel QAT的同态加密卸载方法

Country Status (1)

Country Link
CN (1) CN111190569B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111538582A (zh) * 2020-04-26 2020-08-14 中国科学技术大学 基于Intel QAT的同态加密卸载方法
CN112162840B (zh) * 2020-09-29 2024-03-08 曹蕤 一种基于中断重入机制的协程处理及管理方法
CN114489848B (zh) * 2022-01-19 2024-02-02 华中科技大学 基于可计算存储架构的任务卸载方法及可计算存储系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799800A (zh) * 2011-05-23 2012-11-28 中国科学院计算技术研究所 一种安全加密协处理器及无线传感器网络节点芯片
WO2013129134A1 (ja) * 2012-03-02 2013-09-06 ソニー株式会社 演算装置、制御方法、及びプログラム
CN107566353A (zh) * 2017-08-21 2018-01-09 浙江大学 一种用于加密控制器实验研究的工业控制系统安全实验平台
CN108021449A (zh) * 2017-12-01 2018-05-11 厦门安胜网络科技有限公司 一种协程实现方法、终端设备及存储介质
CN108156181A (zh) * 2018-02-01 2018-06-12 杭州安恒信息技术股份有限公司 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统
CN110324365A (zh) * 2018-03-28 2019-10-11 网易(杭州)网络有限公司 无密钥前端集群系统、应用方法、存储介质、电子装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2972064B1 (fr) * 2011-02-25 2013-03-15 Inside Secure Procede de cryptographie comprenant une operation d'exponentiation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799800A (zh) * 2011-05-23 2012-11-28 中国科学院计算技术研究所 一种安全加密协处理器及无线传感器网络节点芯片
WO2013129134A1 (ja) * 2012-03-02 2013-09-06 ソニー株式会社 演算装置、制御方法、及びプログラム
CN107566353A (zh) * 2017-08-21 2018-01-09 浙江大学 一种用于加密控制器实验研究的工业控制系统安全实验平台
CN108021449A (zh) * 2017-12-01 2018-05-11 厦门安胜网络科技有限公司 一种协程实现方法、终端设备及存储介质
CN108156181A (zh) * 2018-02-01 2018-06-12 杭州安恒信息技术股份有限公司 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统
CN110324365A (zh) * 2018-03-28 2019-10-11 网易(杭州)网络有限公司 无密钥前端集群系统、应用方法、存储介质、电子装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于整数的多对一全同态加密方案;王彩芬等;《电子与信息学报》;20180620(第09期);全文 *

Also Published As

Publication number Publication date
CN111190569A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111190569B (zh) 一种基于Intel QAT的同态加密卸载方法
JP7074777B2 (ja) タスク並列処理方法、装置、システム、記憶媒体およびコンピュータ機器
JP7028745B2 (ja) 高効率ラーニングシステムのためのヘテロジニアスアクセラレータ
JP6381734B2 (ja) グラフィックス計算プロセススケジューリング
US20210073170A1 (en) Configurable heterogeneous ai processor
US9311157B2 (en) Method and apparatus for dynamic resource allocation of processing units on a resource allocation plane having a time axis and a processing unit axis
US10242420B2 (en) Preemptive context switching of processes on an accelerated processing device (APD) based on time quanta
CN105760237B (zh) 一种基于协程机制的通讯方法
CN1306642A (zh) 带外部协处理器可访问的上下文切换寄存器组的risc处理器
JP2006515690A (ja) 複数のプロセッサを有するデータ処理システムと、複数のプロセッサを有するデータ処理システムのためのタスクスケジューラと、タスクスケジューリングの対応する方法
US20140022263A1 (en) Method for urgency-based preemption of a process
JPH06250853A (ja) プロセス・スケジューリングの管理方法およびシステム
JP2013546099A (ja) ユーザモードからのグラフィックス処理ディスパッチ
JP2003263331A (ja) マルチプロセッサシステム
CN111538582A (zh) 基于Intel QAT的同态加密卸载方法
JP2003029969A (ja) 演算システム
JPH06131181A (ja) 階層並列処理型中央処理装置
JP2011013852A (ja) 情報処理装置及び並列動作制御方法
Engler et al. Filaments: Efficient support for fine-grain parallelism
US9760969B2 (en) Graphic processing system and method thereof
US20130166887A1 (en) Data processing apparatus and data processing method
Moisuc et al. Hardware event handling in the hardware real-time operating systems
US20020087827A1 (en) Architecture of psm-mpus and coprocessors
EP4357920A1 (en) Task scheduling method and apparatus
Keen et al. A comparison of concurrent programming and cooperative multithreading

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant