CN111352609B - 一种基于边缘计算的分布式外包模幂运算方法 - Google Patents

一种基于边缘计算的分布式外包模幂运算方法 Download PDF

Info

Publication number
CN111352609B
CN111352609B CN202010147207.7A CN202010147207A CN111352609B CN 111352609 B CN111352609 B CN 111352609B CN 202010147207 A CN202010147207 A CN 202010147207A CN 111352609 B CN111352609 B CN 111352609B
Authority
CN
China
Prior art keywords
task
result
target
modular exponentiation
edge
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
CN202010147207.7A
Other languages
English (en)
Other versions
CN111352609A (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.)
Qingdao University
Original Assignee
Qingdao University
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 Qingdao University filed Critical Qingdao University
Priority to CN202010147207.7A priority Critical patent/CN111352609B/zh
Publication of CN111352609A publication Critical patent/CN111352609A/zh
Application granted granted Critical
Publication of CN111352609B publication Critical patent/CN111352609B/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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • 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/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Abstract

本申请公开了一种基于边缘计算的分布式外包模幂运算方法,首先生成若干个随机化数对;利用这些数对对模幂运算任务进行盲化和转换,得到目标任务,以实现对底数或指数的逻辑拆分和盲化,保护用户隐私;将目标任务分割为多个子任务,且分割过程基于二进制形式实现,进一步降低了边缘服务器的计算量;最终合并各个边缘服务器的计算结果,并根据前述转换关系对合并得到的目标结果进行验证,以确保结果的正确性。实现了降低计算延时,保护用户隐私,并保证结果可验证的目的。此外,本申请还提供了一种基于边缘计算的分布式外包模幂运算装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应。

Description

一种基于边缘计算的分布式外包模幂运算方法
技术领域
本申请涉及计算机技术领域,特别涉及一种基于边缘计算的分布式外包模幂运算方法、装置、设备及可读存储介质。
背景技术
模幂运算是加密和签名系统中最基础的运算,由于模幂运算需要较大的计算成本,因此很多场景下需要将模幂运算任务外包会给云完成。外包使得资源受限制的用户能够将计算量大的计算任务交付给云上的服务器进行处理,减轻了个人计算的负担,避免了用户对本地软硬件和维护的大量投入。
在目前的模幂外包方案中,大部分都是将模幂运算任务外包给具有强大计算能力和存储能力的云服务器。云计算将数据和数据处理集中在云服务器上,是单节点上的集中式计算。但这些云服务器通常离用户很遥远,传输时延高,不能满足一些物联网设备实时性的要求。在工业、医疗、车联网等领域,存在大量的对实时性要求强和安全可靠性要高的物联网应用,云计算架构并不适用。
边缘计算可以很好的解决这一问题。边缘计算中的节点在网络拓扑中位置更低,距离终端用户更近,数据传输具有极低时延。而且边缘计算比云计算更加可靠,当某一区域服务异常时,用户请求可以快速转向其他临近区域。但是,边缘计算中的节点仅有有限的计算资源和存储资源,基于云的外包方案不适用于边缘计算。
因此,一方面,基于边缘计算设计模幂外包方案是十分有意义的;另一方面,如何降低边缘服务器的计算量十分重要。此外,边缘服务器可能是不诚实的和好奇的,外包数据可能包含有用户的敏感数据,边缘节点可能返回错误的结果,因此,如何保证用户隐私性并实现对结果的验证,是非常重要的。
综上,针对云服务器延时较高的问题,如何基于边缘计算设计一个可以验证结果的正确性并保护用户的隐私性的模幂运算外包方案,以降低延时,是亟待本领域解决的问题。
发明内容
本申请的目的是提供一种基于边缘计算的分布式外包模幂运算方法、装置、设备及可读存储介质,用以解决当前的模幂运算外包方案将计算任务外包给云服务器,导致延时较高的问题。其具体方案如下:
第一方面,本申请提供了一种基于边缘计算的分布式外包模幂运算方法,包括:
生成多个随机化数对;
利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;
基于二进制形式对所述目标任务进行分割,得到多个子任务;
将所述子任务发送至边缘服务器,并从所述边缘服务器获取所述子任务的计算结果,其中所述子任务与所述边缘服务器一一对应;
对所述多个子任务的计算结果进行合并,得到目标结果;
根据所述模幂运算任务与所述目标任务之间的转换关系,对所述目标结果进行验证,若验证通过,则得到模幂运算结果。
优选的,在底数固定指数可变的情况下,所述生成多个随机化数对;利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务,包括:
生成4个随机化数对:
Figure BDA0002401181480000021
其中,u为随机化的底数,k1,k2,k3,k4均为随机化的指数;
生成随机整数r∈(2,11);
根据所述4个随机化数对,将模幂运算任务中的ua和ura分别转换为
Figure BDA0002401181480000022
Figure BDA0002401181480000023
其中t1=(a-k1)/k2 mod q,t2=(ra-k3)/k4 mod q;
根据转换结果,确定目标任务为
Figure BDA0002401181480000024
Figure BDA0002401181480000025
优选的,在底数固定指数可变的情况下,所述基于二进制形式对所述目标任务进行分割,得到多个子任务,包括:
将所述目标任务中的
Figure BDA0002401181480000031
分割成k份,得到第一分割结果,所述第一分割结果为:
Figure BDA0002401181480000032
其中k为边缘服务器的总数量,
Figure BDA0002401181480000033
pi=iL/k,L为指数t1的比特长度;
将所述目标任务中的
Figure BDA0002401181480000034
分割成k份,得到第二分割结果,所述第二分割结果为:
Figure BDA0002401181480000035
其中k为边缘服务器的总数量,
Figure BDA0002401181480000036
oi=iJ/k,J为指数t2的比特长度;
根据所述第一分割结果和所述第二分割结果,确定待分配给第i个边缘服务器的子任务为
Figure BDA0002401181480000037
Figure BDA0002401181480000038
优选的,在底数固定指数可变的情况下,在所述将所述子任务发送至边缘服务器之后,还包括:
第i个边缘服务器接收到相应的子任务之后,根据第一边缘计算公式生成计算结果d1,i和d2,i,所述第一边缘计算公式如下:
Figure BDA0002401181480000039
Figure BDA00024011814800000310
其中,i∈[1,k]。
优选的,在底数固定指数可变的情况下,所述对所述多个子任务的计算结果进行合并,得到目标结果;根据所述模幂运算任务与所述目标任务之间的转换关系,对所述目标结果进行验证,包括:
根据合并公式对所述多个子任务的计算结果进行合并,得到目标结果,所述合并公式为:
Figure BDA00024011814800000311
Figure BDA00024011814800000312
根据所述模幂运算任务与所述目标任务之间的转换关系,利用验证公式对所述目标结果进行验证,所述验证公式为:
Figure BDA0002401181480000041
优选的,在底数指数均可变的情况下,所述生成多个随机化数对;利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务,包括:
生成6个随机化数对:
Figure BDA0002401181480000042
其中,g为随机化的底数,k1,k2,k3,k4,k5,k6均为随机化的指数;
生成随机整数r∈(2,11);
根据所述6个随机化数对,将模幂运算任务中的ua和ura分别转换为
Figure BDA0002401181480000043
Figure BDA0002401181480000044
其中,t1=(-k3-k1a)/k2 mod q,t2=(-k6-k4ra)/k5 mod q;
根据转换结果,确定目标任务为
Figure BDA0002401181480000045
Figure BDA0002401181480000046
优选的,在底数指数均可变的情况下,所述基于二进制形式对所述目标任务进行分割,得到多个子任务,包括:
将所述目标任务中的
Figure BDA0002401181480000047
分割成k份,得到第三分割结果,所述第三分割结果为:
Figure BDA0002401181480000048
其中k为边缘服务器的总数量,
Figure BDA0002401181480000049
pi=L(1-λi)/1-λk,λ=φ/(2+φ),φ为一次模乘与模幂的比值;
Figure BDA00024011814800000410
分成k份,分别得到第四分割结果、第五分割结果、第六分割结果;
根据所述第三分割结果、第四分割结果、第五分割结果、第六分割结果,确定待分配给第i个边缘服务器的子任务。
第二方面,本申请提供了一种基于边缘计算的分布式外包模幂运算装置,包括:
数对生成模块:用于生成多个随机化数对;
任务转换模块:用于利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;
任务分割模块:用于基于二进制形式对所述目标任务进行分割,得到多个子任务;
任务计算模块:用于将所述子任务发送至边缘服务器,并从所述边缘服务器获取所述子任务的计算结果,其中所述子任务与所述边缘服务器一一对应;
结果合并模块:用于对所述多个子任务的计算结果进行合并,得到目标结果;
结果认证模块:用于根据所述模幂运算任务与所述目标任务之间的转换关系,对所述目标结果进行验证,若验证通过,则得到模幂运算结果。
第三方面,本申请提供了一种基于边缘计算的分布式外包模幂运算设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的基于边缘计算的分布式外包模幂运算方法的步骤。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于边缘计算的分布式外包模幂运算方法的步骤。
本申请所提供的一种基于边缘计算的分布式外包模幂运算方法,包括:生成多个随机化数对;利用多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;基于二进制形式对目标任务进行分割,得到多个子任务;将子任务发送至边缘服务器,并从边缘服务器获取子任务的计算结果,其中子任务与边缘服务器一一对应;对多个子任务的计算结果进行合并,得到目标结果;根据模幂运算任务与目标任务之间的转换关系,对目标结果进行验证,若验证通过,则得到模幂运算结果。
可见,该方法首先生成若干个随机化数对,利用这些数对对模幂运算任务进行盲化和转换,得到目标任务,以实现对底数或指数的逻辑拆分和盲化,保护用户隐私;针对边缘服务器计算能力有限的问题,该方法将目标任务分割为多个子任务,且分割过程基于二进制形式实现,进一步降低了边缘服务器的计算量;最终合并各个边缘服务器的计算结果,并根据前述转换关系对合并得到的目标结果进行验证,以确保结果的正确性。实现了降低计算延时,保护用户隐私,并保证结果可验证的目的。
此外,本申请还提供了一种基于边缘计算的分布式外包模幂运算装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请所提供的一种基于边缘计算的分布式外包模幂运算方法实施例一的实现流程图;
图2为本申请所提供的一种基于边缘计算的分布式外包模幂运算方法实施例一的系统模型示意图;
图3为本申请所提供的一种基于边缘计算的分布式外包模幂运算方法实施例二的实现流程图;
图4为本申请所提供的一种基于边缘计算的分布式外包模幂运算方法实施例三的实现流程图;
图5为本申请所提供的一种基于边缘计算的分布式外包模幂运算装置实施例的功能框图;
图6为本申请所提供的一种基于边缘计算的分布式外包模幂运算设备实施例的结构示意图。
具体实施方式
本申请的核心是提供一种基于边缘计算的分布式外包模幂运算方法、装置、设备及可读存储介质,相对于外包给云服务器的方案,实现了降低计算延时,保护用户隐私,并保证结果可验证的目的。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面对本申请提供的一种基于边缘计算的分布式外包模幂运算方法实施例一进行介绍,参见图1,实施例一包括:
S101、生成多个随机化数对;
S102、利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;
S103、基于二进制形式对所述目标任务进行分割,得到多个子任务;
S104、将所述子任务发送至边缘服务器,并从所述边缘服务器获取所述子任务的计算结果,其中所述子任务与所述边缘服务器一一对应;
S105、对所述多个子任务的计算结果进行合并,得到目标结果;
S106、根据所述模幂运算任务与所述目标任务之间的转换关系,对所述目标结果进行验证,若验证通过,则得到模幂运算结果。
本实施例将模幂运算任务外包给若干个边缘服务器,利用边缘计算处理模幂运算任务。边缘计算将数据和数据处理集中于多个网络边缘设备,是多节点上的分布式计算。上述模幂运算任务为ua mod p,其中u从群Zp中选取,a从群Zq中选取,p和q是两个大素数,并且q是p的一个素因子。
本实施例的系统模型如图2所示,系统成员包括:客户端和边缘服务器,由客户端(数据拥有者和数据用户)与边缘服务器端进行交互实现。
方案包括7个阶段,分别为:预计算,问题转化,问题分割,边缘计算,合并结果,结果验证,结果恢复。其中,预计算阶段由客户端执行,生成形如(a,ua)的多个随机化数对;问题转化阶段由客户端执行,利用上一步生成的随机化数对对模幂运算任务进行逻辑拆分,生成目标任务,以保护用户的隐私;问题分割阶段由客户端执行,按照指数的二进制形式进行分割,并将分割得到的子任务分发给若干个边缘服务器;边缘计算阶段由边缘服务器执行,生成子任务对应的计算结果,并将计算结果返回给客户端;合并结果阶段由客户端执行,客户端在接收到各个边缘服务器返回的计算结果之后,合并得到目标结果;结果验证阶段由客户端执行,客户端根据问题转化阶段的转换关系验证目标结果的正确性;结果恢复阶段由客户端执行,若验证结果正确,客户端根据本地存储的信息进行结果恢复;若验证结果不正确,客户端生成错误提示信息。
值得一提的是,在问题转化阶段,具体过程如下:客户端生成一个随机数;利用该随机数对模幂运算任务的指数进行盲化;利用预计算阶段的随机化数对,对原始的模幂运算任务和盲化后的模幂运算任务进行转换;将转换结果中的部分信息存储在客户端本地,另一部分则作为目标任务传输至下一阶段。
在结果验证阶段,得到合并后的目标结果之后,根据问题转化阶段生成的随机数以及问题转化阶段存储在本地的部分信息,对目标结果进行验证。
在实际应用中,本申请可用于底数固定指数可变的模幂运算任务外包方案,也可用于底数指数均可变的模幂运算任务外包方案,本实施例对此不作限定。
本实施例所提供一种基于边缘计算的分布式外包模幂运算方法,首先生成若干个随机化数对,利用这些数对对模幂运算任务进行盲化和转换,得到目标任务,以实现对底数或指数的逻辑拆分和盲化,保护用户隐私;针对边缘服务器计算能力有限的问题,该方法将目标任务分割为多个子任务,且分割过程基于二进制形式实现,进一步降低了边缘服务器的计算量;最终合并各个边缘服务器的计算结果,并根据前述转换关系对合并得到的目标结果进行验证,以确保结果的正确性。实现了降低计算延时,保护用户隐私,并保证结果可验证的目的。
下面开始详细介绍本申请提供的一种基于边缘计算的分布式外包模幂运算方法实施例二,实施例二基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
具体的,实施例二以底数固定指数可变的模幂运算任务外包方案为例,对整个方案的实施过程进行详尽的描述。本实施例中,模幂运算任务为ua mod p,其中u从群Zp中选取,a从群Zq中选取,p和q是两个大素数,并且q是p的一个素因子。
参见图3,实施例二具体包括:
S301、生成4个随机化数对;
上述4个随机化的数对如下所示:
Figure BDA0002401181480000091
其中,u为随机化的底数,k1,k2,k3,k4均为随机化的指数。
S302、生成随机整数;根据所述4个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;
上述随机整数的取值范围为r∈(2,11)。
具体的,根据所述4个随机化数对,将模幂运算任务中的ua和利用r盲化后的ura分别转换为
Figure BDA0002401181480000092
Figure BDA0002401181480000093
其中t1=(a-k1)/k2 mod q,t2=(ra-k3)/k4 mod q;最终,根据转换结果,确定目标任务为
Figure BDA0002401181480000094
Figure BDA0002401181480000095
S303、将目标任务中的第一部分和第二部分分割成k份,得到第一分割结果和第二分割结果,从而确定分配给各个边缘服务器的子任务;
具体的,将所述目标任务中的
Figure BDA0002401181480000096
分割成k份,得到第一分割结果,所述第一分割结果为:
Figure BDA0002401181480000097
其中k为边缘服务器的总数量,
Figure BDA0002401181480000101
pi=iL/k,L为指数t1的比特长度
将所述目标任务中的
Figure BDA0002401181480000102
分割成k份,得到第二分割结果,所述第二分割结果为:
Figure BDA0002401181480000103
其中k为边缘服务器的总数量,
Figure BDA0002401181480000104
oi=iJ/k,J为指数t2的比特长度。
根据所述第一分割结果和所述第二分割结果,确定待分配给第i个边缘服务器的子任务为
Figure BDA0002401181480000105
Figure BDA0002401181480000106
可以理解的是,参数e1,i和e2,i的取值范围与分块的大小有关,假如e1,i或e2,i含有m个比特,那么其取值范围就是(0,2m-1)。
S304、边缘计算服务器根据子任务生成计算结果,客户端从边缘服务器获取计算结果;
具体的,第i个边缘服务器接收到相应的子任务之后,根据第一边缘计算公式生成计算结果d1,i和d2,i;所述第一边缘计算公式如下:
Figure BDA0002401181480000107
Figure BDA0002401181480000108
其中,i∈[1,k]。
S305、根据第一合并公式对所述多个子任务的计算结果进行合并,得到目标结果;
上述第一合并公式为:
Figure BDA0002401181480000109
Figure BDA00024011814800001010
S306、根据所述模幂运算任务与所述目标任务之间的转换关系,利用第一验证公式对所述目标结果进行验证;若验证失败,则输出错误提示信息,否则跳转至S307;
上述验证公式为:
Figure BDA00024011814800001011
S307、确定模幂运算结果。
Figure BDA0002401181480000118
下面开始详细介绍本申请提供的一种基于边缘计算的分布式外包模幂运算方法实施例三,实施例三基于前述实施例一实现,并在实施例一的基础上进行了一定程度上的拓展。
具体的,实施例三以底数指数均可变的模幂运算任务外包方案为例,对整个方案的实施过程进行详尽的描述。本实施例中,模幂运算任务为ua mod p,其中u从群Zp中选取,a从群Zq中选取,p和q是两个大素数,并且q是p的一个素因子。
参见图4,实施例三具体包括:
S401、生成6个随机化数对;
具体的,通过运行Rand算法六次,生成上述6个随机化数对,如下所示:
Figure BDA0002401181480000111
其中,g为随机化的底数,k1,k2,k3,k4,k5,k6均为随机化的指数。
S402、生成随机整数;根据所述6个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;
上述随机整数的取值范围为r∈(2,11)。
根据所述6个随机化数对,将模幂运算任务中的ua和利用r盲化后的ura分别转换为
Figure BDA0002401181480000112
Figure BDA0002401181480000113
其中,t1=(-k3-k1a)/k2 mod q,t2=(-k6-k4ra)/k5 mod q;根据转换结果,确定目标任务为
Figure BDA0002401181480000114
S403、将目标任务的第一部分、第二部分、第三部分、第四部分分割为k份,确定分配给各个边缘服务器子任务;
具体的,将所述目标任务中的
Figure BDA0002401181480000115
分割成k份,得到第三分割结果,所述第三分割结果为:
Figure BDA0002401181480000116
其中,k为边缘服务器的总数量,
Figure BDA0002401181480000117
pi=L(1-λi)/1-λk,λ=φ/(2+φ),φ为一次模乘与模幂的比值,即客户端做一次模乘所花费的时间与做一次模幂所花费时间的比值。
用相同的方式,将目标任务中的
Figure BDA0002401181480000121
分成k份,分别得到第四分割结果、第五分割结果、第六分割结果:
Figure BDA0002401181480000122
Figure BDA0002401181480000123
Figure BDA0002401181480000124
最终,根据所述第三分割结果、第四分割结果、第五分割结果、第六分割结果,确定待分配给第i个边缘服务器的子任务,如下所示:
Figure BDA0002401181480000125
S404、边缘计算服务器根据子任务和第二边缘计算公式生成计算结果,客户端从边缘服务器获取计算结果;
具体的,第i个边缘服务器接收到相应的子任务之后,根据第二边缘计算公式生成计算结果d1,i,d2,i,d3,i,d4,i;所述第二边缘计算公式如下:
Figure BDA0002401181480000126
Figure BDA0002401181480000127
Figure BDA0002401181480000128
Figure BDA0002401181480000129
其中,i∈[1,k]。
S405、根据第二合并公式对所述多个子任务的计算结果进行合并,得到目标结果;
上述第二合并公式为:
Figure BDA00024011814800001210
Figure BDA00024011814800001211
Figure BDA00024011814800001212
Figure BDA00024011814800001213
S406、根据所述模幂运算任务与所述目标任务之间的转换关系,利用第二验证公式对所述目标结果进行验证;若验证失败,则输出错误提示信息,否则跳转至S407;
上述第二验证公式为:
Figure BDA0002401181480000131
S307、确定模幂运算结果。
Figure BDA0002401181480000132
下面对本申请实施例提供的一种基于边缘计算的分布式外包模幂运算装置进行介绍,下文描述的一种基于边缘计算的分布式外包模幂运算装置与上文描述的一种基于边缘计算的分布式外包模幂运算方法可相互对应参照。
如图5所示,本实施例的基于边缘计算的分布式外包模幂运算装置,包括:
数对生成模块501:用于生成多个随机化数对;
任务转换模块502:用于利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;
任务分割模块503:用于基于二进制形式对所述目标任务进行分割,得到多个子任务;
任务计算模块504:用于将所述子任务发送至边缘服务器,并从所述边缘服务器获取所述子任务的计算结果,其中所述子任务与所述边缘服务器一一对应;
结果合并模块505:用于对所述多个子任务的计算结果进行合并,得到目标结果;
结果认证模块506:用于根据所述模幂运算任务与所述目标任务之间的转换关系,对所述目标结果进行验证,若验证通过,则得到模幂运算结果。
本实施例的基于边缘计算的分布式外包模幂运算装置用于实现前述的基于边缘计算的分布式外包模幂运算方法,因此该装置中的具体实施方式可见前文中的基于边缘计算的分布式外包模幂运算方法的实施例部分,例如,数对生成模块501、任务转换模块502、任务分割模块503、任务计算模块504、结果合并模块505、结果认证模块506,分别用于实现上述基于边缘计算的分布式外包模幂运算方法中步骤S101,S102,S103,S104,S105,S106。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的基于边缘计算的分布式外包模幂运算装置用于实现前述的基于边缘计算的分布式外包模幂运算方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种基于边缘计算的分布式外包模幂运算设备,如图6所示,包括:
存储器100:用于存储计算机程序;
处理器200:用于执行所述计算机程序,以实现如上文所述的基于边缘计算的分布式外包模幂运算方法的步骤。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的基于边缘计算的分布式外包模幂运算方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种基于边缘计算的分布式外包模幂运算方法,其特征在于,包括:
生成多个随机化数对;
利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;
基于二进制形式对所述目标任务进行分割,得到多个子任务;
将所述子任务发送至边缘服务器,并从所述边缘服务器获取所述子任务的计算结果,其中所述子任务与所述边缘服务器一一对应;
对所述多个子任务的计算结果进行合并,得到目标结果;
根据所述模幂运算任务与所述目标任务之间的转换关系,对所述目标结果进行验证,若验证通过,则得到模幂运算结果;
其中,在底数固定指数可变的情况下,所述生成多个随机化数对;利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务,包括:
生成4个随机化数对:
Figure FDA0003616476500000011
其中,u为随机化的底数,k1,k2,k3,k4均为随机化的指数;
生成随机整数r∈(2,11);
根据所述4个随机化数对,将模幂运算任务中的ua和ura分别转换为
Figure FDA0003616476500000012
Figure FDA0003616476500000013
其中t1=(a-k1)/k2 mod q,t2=(ra-k3)/k4 mod q;
根据转换结果,确定目标任务为
Figure FDA0003616476500000014
Figure FDA0003616476500000015
2.如权利要求1所述的方法,其特征在于,在底数固定指数可变的情况下,所述基于二进制形式对所述目标任务进行分割,得到多个子任务,包括:
将所述目标任务中的
Figure FDA0003616476500000016
分割成k份,得到第一分割结果,所述第一分割结果为:
Figure FDA0003616476500000017
其中k为边缘服务器的总数量,
Figure FDA00036164765000000111
L为指数t1的比特长度;
将所述目标任务中的
Figure FDA0003616476500000018
分割成k份,得到第二分割结果,所述第二分割结果为:
Figure FDA0003616476500000019
其中k为边缘服务器的总数量,
Figure FDA00036164765000000110
J为指数t2的比特长度;
根据所述第一分割结果和所述第二分割结果,确定待分配给第i个边缘服务器的子任务为
Figure FDA0003616476500000021
Figure FDA0003616476500000022
3.如权利要求2所述的方法,其特征在于,在底数固定指数可变的情况下,在所述将所述子任务发送至边缘服务器之后,还包括:
第i个边缘服务器接收到相应的子任务之后,根据第一边缘计算公式生成计算结果d1,i和d2,i,所述第一边缘计算公式如下:
Figure FDA0003616476500000023
Figure FDA0003616476500000024
其中,i∈[1,k]。
4.如权利要求3所述的方法,其特征在于,在底数固定指数可变的情况下,所述对所述多个子任务的计算结果进行合并,得到目标结果;根据所述模幂运算任务与所述目标任务之间的转换关系,对所述目标结果进行验证,包括:
根据合并公式对所述多个子任务的计算结果进行合并,得到目标结果,所述合并公式为:
Figure FDA0003616476500000025
Figure FDA0003616476500000026
根据所述模幂运算任务与所述目标任务之间的转换关系,利用验证公式对所述目标结果进行验证,所述验证公式为:
Figure FDA0003616476500000027
5.如权利要求1所述的方法,其特征在于,在底数指数均可变的情况下,所述生成多个随机化数对;利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务,包括:
生成6个随机化数对:
Figure FDA0003616476500000028
其中,g为随机化的底数,k1,k2,k3,k4,k5,k6均为随机化的指数;
生成随机整数r∈(2,11);
根据所述6个随机化数对,将模幂运算任务中的ua和ura分别转换为
Figure FDA0003616476500000029
Figure FDA00036164765000000210
其中,t1=(-k3-k1a)/k2 mod q,t2=(-k6-k4ra)/k5 mod q;
根据转换结果,确定目标任务为
Figure FDA0003616476500000031
6.如权利要求5所述的方法,其特征在于,在底数指数均可变的情况下,所述基于二进制形式对所述目标任务进行分割,得到多个子任务,包括:
将所述目标任务中的
Figure FDA0003616476500000032
分割成k份,得到第三分割结果,所述第三分割结果为:
Figure FDA0003616476500000033
其中k为边缘服务器的总数量,
Figure FDA0003616476500000038
pi=L(1-λi)/1-λk,λ=Φ/(2+Φ),Φ为一次模乘与模幂的比值;
Figure FDA0003616476500000034
分成k份,分别得到第四分割结果、第五分割结果、第六分割结果;
根据所述第三分割结果、第四分割结果、第五分割结果、第六分割结果,确定待分配给第i个边缘服务器的子任务。
7.一种基于边缘计算的分布式外包模幂运算装置,其特征在于,包括:
数对生成模块:用于生成多个随机化数对;
任务转换模块:用于利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务;
任务分割模块:用于基于二进制形式对所述目标任务进行分割,得到多个子任务;
任务计算模块:用于将所述子任务发送至边缘服务器,并从所述边缘服务器获取所述子任务的计算结果,其中所述子任务与所述边缘服务器一一对应;
结果合并模块:用于对所述多个子任务的计算结果进行合并,得到目标结果;
结果认证模块:用于根据所述模幂运算任务与所述目标任务之间的转换关系,对所述目标结果进行验证,若验证通过,则得到模幂运算结果;
其中,所述装置,还用于:在底数固定指数可变的情况下,所述生成多个随机化数对;利用所述多个随机化数对,对模幂运算任务进行盲化和转换,得到目标任务,生成4个随机化数对:
Figure FDA0003616476500000035
其中,u为随机化的底数,k1,k2,k3,k4均为随机化的指数;生成随机整数r∈(2,11);根据所述4个随机化数对,将模幂运算任务中的ua和ura分别转换为
Figure FDA0003616476500000036
Figure FDA0003616476500000037
其中t1=(a-k1)/k2 mod q,t2=(ra-k)3/k4mod q;根据转换结果,确定目标任务为
Figure FDA0003616476500000041
Figure FDA0003616476500000042
8.一种基于边缘计算的分布式外包模幂运算设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-6任意一项所述的基于边缘计算的分布式外包模幂运算方法的步骤。
9.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-6任意一项所述的基于边缘计算的分布式外包模幂运算方法的步骤。
CN202010147207.7A 2020-03-05 2020-03-05 一种基于边缘计算的分布式外包模幂运算方法 Active CN111352609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010147207.7A CN111352609B (zh) 2020-03-05 2020-03-05 一种基于边缘计算的分布式外包模幂运算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010147207.7A CN111352609B (zh) 2020-03-05 2020-03-05 一种基于边缘计算的分布式外包模幂运算方法

Publications (2)

Publication Number Publication Date
CN111352609A CN111352609A (zh) 2020-06-30
CN111352609B true CN111352609B (zh) 2022-06-14

Family

ID=71194256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010147207.7A Active CN111352609B (zh) 2020-03-05 2020-03-05 一种基于边缘计算的分布式外包模幂运算方法

Country Status (1)

Country Link
CN (1) CN111352609B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901110B (zh) * 2020-08-06 2023-05-23 中电科网络安全科技股份有限公司 白盒化模幂结果获取方法、装置、设备及存储介质
CN111984225B (zh) * 2020-09-07 2023-05-23 青岛大学 基于边缘计算的支持隐私保护的模幂运算任务外包方法
CN112182488B (zh) * 2020-10-13 2023-07-25 青岛大学 基于边缘计算的分布式外包计算处理方法及装置
CN117857040A (zh) * 2024-03-05 2024-04-09 建投物联股份有限公司 一种物联网设备安全辅助方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107453879A (zh) * 2017-08-14 2017-12-08 南京理工大学 一种基于单服务器的群上幂指数安全外包计算方法
CN107786580A (zh) * 2017-12-12 2018-03-09 南京航空航天大学 基于云计算平台的Paillier加密方法
CN108155994A (zh) * 2017-12-22 2018-06-12 青岛大学 应用于rsa解密的安全外包计算方法
CN108833161A (zh) * 2018-06-11 2018-11-16 北京航空航天大学 一种建立基于雾计算的智能合约微服务模型的方法
CN110765365A (zh) * 2019-10-25 2020-02-07 国网河南省电力公司信息通信公司 分布式边云协同缓存策略的实现方法、装置、设备和介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4626148B2 (ja) * 2004-01-07 2011-02-02 株式会社日立製作所 復号または署名作成におけるべき乗剰余算の計算方法
CN105068784B (zh) * 2015-07-16 2018-02-16 清华大学 实现基于蒙哥马利模乘的Tate对算法的电路
EP3188001B1 (en) * 2015-12-29 2020-08-12 Secure-IC SAS Modular multiplication device and method
CN106775576A (zh) * 2017-03-28 2017-05-31 青岛大学 可验证的矩阵乘法的安全外包计算方法及系统
CN109814838B (zh) * 2019-03-28 2024-04-12 贵州华芯半导体技术有限公司 获取加解密运算中的中间结果组的方法、硬件装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107453879A (zh) * 2017-08-14 2017-12-08 南京理工大学 一种基于单服务器的群上幂指数安全外包计算方法
CN107786580A (zh) * 2017-12-12 2018-03-09 南京航空航天大学 基于云计算平台的Paillier加密方法
CN108155994A (zh) * 2017-12-22 2018-06-12 青岛大学 应用于rsa解密的安全外包计算方法
CN108833161A (zh) * 2018-06-11 2018-11-16 北京航空航天大学 一种建立基于雾计算的智能合约微服务模型的方法
CN110765365A (zh) * 2019-10-25 2020-02-07 国网河南省电力公司信息通信公司 分布式边云协同缓存策略的实现方法、装置、设备和介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
仝乐 ; 郝蓉 ; 于佳.单服务器上的双线性配对安全外包方案.《计算机工程与应用》.2019, *
张佳乐 ; 赵彦超 ; 陈兵 ; 胡峰 ; 朱琨.边缘计算数据安全与隐私保护研究综述.《通信学报》.2018, *

Also Published As

Publication number Publication date
CN111352609A (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN111352609B (zh) 一种基于边缘计算的分布式外包模幂运算方法
US11595421B2 (en) Method and system that determine malicious nodes in a distributed computation network
CN108809623B (zh) 安全多方计算方法、装置及系统
JP7328237B2 (ja) コンピュータにより実施される投票処理およびシステム
CN107210006B (zh) 不一致检测方法、检测系统、检测装置以及记录介质
JP5968484B1 (ja) シェア復旧システム、シェア復旧方法、およびプログラム
EP3316235B1 (en) Device, method and program for secure multiparty comparison
CN113254272B (zh) 区块链网络的数据处理方法、装置、计算机设备和介质
CN111984990B (zh) 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法
CN113206830B (zh) 一种数据处理方法、装置和电子设备
CN112464155A (zh) 一种数据处理方法、多方安全计算系统和电子设备
CN113326475B (zh) 一种基于初等矩阵的矩阵求逆外包计算方法
CN113821373B (zh) 提高磁盘地址转换速度的方法、系统、设备和存储介质
Korupolu et al. Robust and probabilistic failure-aware placement
CN114139197A (zh) 一种代理安全多方计算方法、系统、处理设备及存储介质
CN112052954A (zh) 梯度提升树建模方法、装置以及终端
CN112054919B (zh) 容器集群无状态下的id生成方法、装置、存储介质及系统
CN113343291A (zh) 一种基于多方计算的秘密分享方法、装置及系统
CN111225045B (zh) 一种hive高可用预警方法,设备及计算机可读存储介质
CN112565314B (zh) 一种计算集群和计算集群中的计算节点
JP6933290B2 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
Li et al. Fault-tolerant computation meets network coding: Optimal scheduling in parallel computing
US11575744B2 (en) Computer-implemented system and method for controlling processing steps of distributed system
Morel et al. A novel heuristic for data distribution in massively parallel phylogenetic inference using site repeats
Lochter Blockchain as cryptanalytic tool

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