CN111984990B - 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 - Google Patents

基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 Download PDF

Info

Publication number
CN111984990B
CN111984990B CN202010928199.XA CN202010928199A CN111984990B CN 111984990 B CN111984990 B CN 111984990B CN 202010928199 A CN202010928199 A CN 202010928199A CN 111984990 B CN111984990 B CN 111984990B
Authority
CN
China
Prior art keywords
matrix
encryption
sub
input
calculation
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
CN202010928199.XA
Other languages
English (en)
Other versions
CN111984990A (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 CN202010928199.XA priority Critical patent/CN111984990B/zh
Publication of CN111984990A publication Critical patent/CN111984990A/zh
Application granted granted Critical
Publication of CN111984990B publication Critical patent/CN111984990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法,应用于物联网设备,能够将物联网设备上的矩阵乘法运算任务外包给一定数量的边缘服务器执行,降低了时间复杂度,减小了物联网设备的计算压力;而且利用基础变换矩阵对两个输入矩阵进行盲化加密,避免了信息泄露,提升数据安全性;最后能够对边缘服务器的子计算结果进行验证,避免得出错误的运算结果,提升外包方案的可靠性。此外,本申请还提供了一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置、物联网设备及可读存储介质,其技术效果与上述方法的技术效果相对应。

Description

基于边缘计算的支持隐私保护的矩阵乘法任务外包方法
技术领域
本申请涉及计算机技术领域,特别涉及一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法、装置、物联网设备及可读存储介质。
背景技术
物联网(IoT)中的各种设备实现了联网,并且应用通常涉及复杂的计算,而这些计算可能会超出某些资源受限的物联网设备的计算能力。因此,如何使资源受限的物联网设备有效,安全地完成复杂的计算就显得至关重要。
近年来,安全外包计算已经得到了广泛的研究,这使计算能力有限的设备能够以安全且可验证的方式将繁重的工作负载外包给计算能力强的一方。现有研究集中于将任务外包给一台或两台云服务器,这些服务器与最终物联网用户的距离很远。但是也带来一定的问题,长距离的传输导致用户与云之间的通信延迟很大。在许多社交物联网系统中,例如智能交通,参与者需要实时数据处理和传输,而云计算就无法即时满足数据需求。
另一方面,目前边缘计算在学术和工业领域都越来越受到关注。边缘服务器位于用户或数据附近。通过将计算服务放置在更靠近这些位置的位置,用户可以得到更快且更可靠的服务,而公司则受益于混合云计算的灵活性。边缘计算使智能应用程序和设备几乎可以立即与数据进行交互,这自然而然地适合物联网应用程序。
矩阵乘法是被广泛用于图像处理和机器学习等领域的科学的计算。它的时间复杂度很高,会给执行的服务造成繁重的计算负担,尤其当矩阵规模很大时,需要消耗巨大的计算资源。因此,设计一个能运行资源受限的服务,从而安全的将矩阵乘法委托给计算能力强大的边缘服务器具有重要的意义。
发明内容
本申请的目的是提供一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法、装置、物联网设备及可读存储介质,用以解决当前物联网设备缺乏完成矩阵乘法运算任务的计算能力的问题。其具体方案如下:
第一方面,本申请提供了一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法,应用于物联网设备,包括:
获取第一输入矩阵和第二输入矩阵;
生成所述第一输入矩阵的基础变换矩阵和所述第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合;
利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵;利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵;
根据边缘服务器的总数量和所述第一加密矩阵的总行数,确定目标行数,将所述第一加密矩阵按照行进行拆分,每所述目标行数拆分为一个子矩阵;根据边缘服务器的总数量和所述第二加密矩阵的总列数,确定目标列数,将所述第二加密矩阵按照列进行拆分,每所述目标列数拆分为一个子矩阵;
对所述第一加密矩阵的子矩阵和所述第二加密矩阵的子矩阵进行组合,将组合结果作为子计算任务发送至相应的边缘服务器;接收边缘服务器返回的子计算结果;
对各个边缘服务器的子计算结果进行验证;若均验证通过,则根据全部边缘服务器返回的子计算结果,合成加密计算结果;
生成所述第一基础变换矩阵集合和所述第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵,得到第一逆矩阵集合和第二逆矩阵集合;利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果。
优选的,所述根据边缘服务器的总数量和所述第一加密矩阵的总行数,确定目标行数,包括:
按照行数计算公式,根据边缘服务器的总数量和所述第一加密矩阵的总行数,计算得到目标行数,所述行数计算公式为:
Figure BDA0002669205110000031
其中,m′为目标行数,m为第一加密矩阵的总行数,k为边缘服务器的总数量,
Figure BDA0002669205110000032
为向上取整函数,
Figure BDA0002669205110000033
为向下取整函数;
相应的,所述根据边缘服务器的总数量和所述第二加密矩阵的总列数,确定目标列数,包括:
按照列数计算公式,根据边缘服务器的总数量和所述第二加密矩阵的总列数,计算得到目标列数,所述列数计算公式为:
Figure BDA0002669205110000034
其中,l′为目标列数,l为第二加密矩阵的总列数。
优选的,所述生成所述第一输入矩阵的基础变换矩阵和所述第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合,包括:
生成随机数S;
对于所述第一输入矩阵
Figure BDA0002669205110000035
生成S个基础变换矩阵,得到第一基础变换矩阵集合SKP={P1,P2,...,PS},对于任意s∈[1,S]满足
Figure BDA0002669205110000036
对于所述第二输入矩阵
Figure BDA0002669205110000037
生成S个基础变换矩阵,得到第二基础变换矩阵集合SKQ={Q1,Q2,...,QS},对于任意s∈[1,S]满足
Figure BDA0002669205110000038
优选的,所述利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵,包括:
利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵,其中所述第一加密矩阵A′=P1P2...PSA;
相应的,所述利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵,包括:
利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵,其中所述第二加密矩阵B′=BQS...Q2Q1
优选的,在所述接收边缘服务器返回的子计算结果之前,还包括:
利用边缘服务器对子计算任务进行处理,得到子计算结果,其中所述子计算结果R′ij=A′iB′j,A′i和B'j分别为从第一加密矩阵A′i拆分出来的第i个子矩阵和从第二加密矩阵B'j拆分出来的第j个子矩阵,
Figure BDA0002669205110000041
R′ij为与A′i和B'j对应的子计算结果。
优选的,所述利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果,包括:
利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果,其中所述乘法运算结果
Figure BDA0002669205110000042
R′为所述加密计算结果,
Figure BDA0002669205110000043
为所述第一基础变换矩阵集合中各个基础变换矩阵的逆矩阵,
Figure BDA0002669205110000044
为所述第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵。
优选的,所述对各个边缘服务器的子计算结果进行验证,包括:
生成随机向量;
根据所述随机向量,判断边缘服务器的子计算结果是否满足结果验证公式,所述结果验证公式为:
rA′iB'j=rR′ij
其中,r为随机向量,
Figure BDA0002669205110000045
m′为目标行数;A′i和B'j分别为从第一加密矩阵A′i拆分出来的第i个子矩阵和从第二加密矩阵B'j拆分出来的第j个子矩阵,
Figure BDA0002669205110000051
R′ij为边缘服务器返回的与A′i和B'j对应的子计算结果;
若满足,则判定所述边缘服务器的子计算结果验证通过。
第二方面,本申请提供了一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置,应用于物联网设备,包括:
输入模块:用于获取第一输入矩阵和第二输入矩阵;
密钥生成模块:用于生成所述第一输入矩阵的基础变换矩阵和所述第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合;
加密模块:用于利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵;利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵;
任务拆分模块:用于根据边缘服务器的总数量和所述第一加密矩阵的总行数,确定目标行数,将所述第一加密矩阵按照行进行拆分,每所述目标行数拆分为一个子矩阵;根据边缘服务器的总数量和所述第二加密矩阵的总列数,确定目标列数,将所述第二加密矩阵按照列进行拆分,每所述目标列数拆分为一个子矩阵;
收发模块:用于对所述第一加密矩阵的子矩阵和所述第二加密矩阵的子矩阵进行组合,将组合结果作为子计算任务发送至相应的边缘服务器;接收边缘服务器返回的子计算结果;
验证合成模块:用于对各个边缘服务器的子计算结果进行验证;若均验证通过,则根据全部边缘服务器返回的子计算结果,合成加密计算结果;
解密模块:用于生成所述第一基础变换矩阵集合和所述第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵,得到第一逆矩阵集合和第二逆矩阵集合;利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果。
第三方面,本申请提供了一种物联网设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上所述的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法的步骤。
第四方面,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法的步骤。
本申请所提供的一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法,应用于物联网设备,能够在获取到矩阵乘法运算任务中的两个输入矩阵之后,生成基础变换矩阵,并利用基础变换矩阵对两个输入矩阵进行加密;然后根据边缘服务器的总数量对加密后的输入矩阵进行拆分,将拆分结果作为子计算任务发送至对应的边缘服务器,接收边缘服务器返回的子计算结果;最后对子计算结果进行验证、合成和解密,得到矩阵乘法运算任务的运算结果。
可见,该方法能够将物联网设备上的矩阵乘法运算任务外包给一定数量的边缘服务器执行,降低了时间复杂度,减小了物联网设备的计算压力;而且利用基础变换矩阵对两个输入矩阵进行盲化加密,避免了信息泄露,提升数据安全性;最后能够对边缘服务器的子计算结果进行验证,避免得出错误的运算结果,提升外包方案的可靠性。
此外,本申请还提供了一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置、物联网设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为边缘计算的系统模型示意图;
图2为基于边缘计算的计算任务外包模型示意图;
图3为本申请所提供的一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法实施例的流程图;
图4为本申请所提供的一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置实施例的功能框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是边缘计算的系统模型。在物联网系统中,设备(包括传感器、智能电话和可穿戴设备等)连接以实现各种应用程序的使用和交互,但是这些设备的计算和存储容量有限。在边缘计算中,计算资源位于网络边缘,靠近终端设备。这些边缘服务器为终端设备提供足够的计算和存储服务。将计算资源放置在靠近用户的位置可以有效减少通信延迟,从而更好地支持需要实时通信的物联网应用程序,可以节省网络带宽。同样,移动性是边缘计算的另一个优势。边缘计算可以支持具有地理分布应用程序的设备,这确实是物联网部署的关键功能。
图2是基于边缘计算的计算任务外包模型。图2中,用户是指具有低计算能力的物联网设备,而该设备需要执行复杂的计算任务。边缘服务器是提供计算服务的强大计算方,因此,物联网设备将计算任务F()委派给边缘服务器。但是,边缘服务器可能会对输入数据感到好奇,而物联网应用程序通常涉及敏感信息,例如患者的健康状况等,这些信息不应泄露给未经授权的第三方。
因此,为了保护输入和输出的私密性,物联网设备将原始输入x盲化为x′,然后将x′分为k部分,并将它们分配给k个边缘服务器。边缘服务器i(此处i是边缘服务器的索引)执行F(x′i)并返回子计算结果y′i。最后,物联网设备汇总返回的子计算结果,并获得盲化加密的计算结果y′。值得注意的是,边缘服务器可能有意或无意返回无效结果。因此,物联网设备在获得y′后,会验证其正确性。最终物联网设备根据y′恢复真实结果y。
本申请在边缘计算的基础上,提供一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法、装置、物联网设备及可读存储介质,使外包任务在执行过程中服务器不会泄露给未经授权的第三方,并保证边缘服务器结果的正确性,从而实现算法外包的安全性和效率的优化。
具体的,本申请利用边缘计算能缩短数据传输中的时间消耗,同时能将计算过程外包给多个服务器的特点,实现对矩阵乘法运算任务的外包,该矩阵乘法运算任务如下:
Figure BDA0002669205110000081
下面对本申请提供的一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法实施例进行介绍,参见图3,该实施例应用于物联网设备,包括:
S101、获取第一输入矩阵和第二输入矩阵;
S102、生成第一输入矩阵的基础变换矩阵和第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合;
S103、利用第一基础变换矩阵集合对第一输入矩阵进行加密,得到第一加密矩阵;利用第二基础变换矩阵集合对第二输入矩阵进行加密,得到第二加密矩阵;
S104、根据边缘服务器的总数量和第一加密矩阵的总行数,确定目标行数,将第一加密矩阵按照行进行拆分,每目标行数拆分为一个子矩阵;根据边缘服务器的总数量和第二加密矩阵的总列数,确定目标列数,将第二加密矩阵按照列进行拆分,每目标列数拆分为一个子矩阵;
S105、对第一加密矩阵的子矩阵和第二加密矩阵的子矩阵进行组合,将组合结果作为子计算任务发送至相应的边缘服务器;接收边缘服务器返回的子计算结果;
S106、对各个边缘服务器的子计算结果进行验证;若均验证通过,则根据全部边缘服务器返回的子计算结果,合成加密计算结果;
S107、生成第一基础变换矩阵集合和第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵,得到第一逆矩阵集合和第二逆矩阵集合;利用第一逆矩阵集合和第二逆矩阵集合对加密计算结果进行解密,得到第一输入矩阵和输入矩阵的乘法运算结果。
在矩阵乘法运算任务外包的场景下,输入矩阵通常包含一些敏感信息,例如军事数据和医疗保健数据等。因此,当将计算任务委派给边缘服务器时,需要保护输入矩阵A和B以及输出R的私密性。为了盲化输入矩阵,本实施例利用基础变换矩阵对矩阵A和B进行了加密。
其中,基础变换是矩阵的基本运算,包括以下运算方式:
方式一、重新排列两行(列);
方式二、将非零数字乘以矩阵的所有行(列)元素;
方式三、将矩阵中乘以相同的非零数的两行(列)相加。
通过执行这些运算操作,输入矩阵中元素的值将被替换。而且,基础变换的复杂度为O(n2),远低于对两个输入矩阵直接进行矩阵乘法运算的复杂度。基于此,本实施例通过对输入矩阵进行基础变换,以实现加密,进而实现对矩阵乘法运算的外包。
具体的,上述生成第一输入矩阵的基础变换矩阵和第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合的过程,具体包括以下步骤:生成随机数S;对于第一输入矩阵
Figure BDA0002669205110000091
生成S个基础变换矩阵,得到第一基础变换矩阵集合SKP={P1,P2,...,PS},对于任意s∈[1,S]满足
Figure BDA0002669205110000092
对于第二输入矩阵
Figure BDA0002669205110000101
生成S个基础变换矩阵,得到第二基础变换矩阵集合SKQ={Q1,Q2,...,QS},对于任意s∈[1,S]满足
Figure BDA0002669205110000102
在得到第一基础变换矩阵集合和第二基础变换矩阵集合之后,对第一输入矩阵和第二输入矩阵的加密过程如下所示:利用第一基础变换矩阵对第一输入矩阵进行加密,得到第一加密矩阵,其中第一加密矩阵如下所示:A′=P1P2...PSA;利用第二基础变换矩阵对第二输入矩阵进行加密,得到第二加密矩阵,其中第二加密矩阵如下所示:B′=BQS...Q2Q1
然后是任务拆分的过程。分别对第一加密矩阵A′和第二加密矩阵B′进行拆分,假设边缘服务器的总数量为k,根据矩阵乘法运算规则,应该将第一加密矩阵A′和第二加密矩阵B′分别拆分为
Figure BDA0002669205110000103
份。值得注意的是,第一加密矩阵A′按照行数划分,而第二加密矩阵B′按列数划分。假设m′是第一加密矩阵A′划分的每个部分的行数,l′是第二加密矩阵B′划分的每个部分的列数,物联网设备将第一加密矩阵A′划分为满足
Figure BDA0002669205110000104
Figure BDA0002669205110000105
个矩阵,记为
Figure BDA0002669205110000106
将第二加密矩阵B′划分为满足
Figure BDA0002669205110000107
Figure BDA0002669205110000108
个矩阵,记为
Figure BDA0002669205110000109
对于小于等于
Figure BDA00026692051100001010
的正整数i和j,物联网设备将(A′i,B'j)作为子计算任务外包给边缘服务器Eij
利用边缘服务器对子计算任务进行处理,得到子计算结果,其中子计算结果R′ij=A′iB′j,R′ij为与A′i和B'j对应的子计算结果。
上述对各个边缘服务器的子计算结果进行验证的过程,包括:生成随机向量;根据所述随机向量,判断边缘服务器的子计算结果是否满足结果验证公式,若满足,则判定所述边缘服务器的子计算结果验证通过。所述结果验证公式为:
rA′iB'j=rR′ij
其中,r为随机向量,
Figure BDA00026692051100001011
m′为目标行数;A′i和B'j分别为从第一加密矩阵A′i拆分出来的第i个子矩阵和从第二加密矩阵B'j拆分出来的第j个子矩阵。
验证通过之后,对全部边缘服务器返回的子计算结果进行合并,得到加密计算结果。即,将
Figure BDA0002669205110000111
组装成为
Figure BDA0002669205110000112
然后对加密计算结果进行解密,具体包括:利用第一逆矩阵集合和第二逆矩阵集合对所述加密计算结果进行解密,得到两个输入矩阵的乘法运算结果,其中乘法运算结果如下所示:
Figure BDA0002669205110000113
其中R′为加密计算结果,
Figure BDA0002669205110000114
为所述第一基础变换矩阵集合中各个基础变换矩阵的逆矩阵,
Figure BDA0002669205110000115
为所述第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵。
本实施例所提供一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法,能够将物联网设备上的矩阵乘法运算任务外包给一定数量的边缘服务器执行,降低了时间复杂度,减小了物联网设备的计算压力;而且利用基础变换矩阵对两个输入矩阵进行盲化加密,避免了信息泄露,提升数据安全性;最后能够对边缘服务器的子计算结果进行验证,避免得出错误的运算结果,提升外包方案的可靠性。
下面以实际应用为例,对本申请提供的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法进行介绍。
输入:两个大规模矩阵
Figure BDA0002669205110000116
边缘服务器数量k。
输出:
Figure BDA0002669205110000117
S201、密钥生成;
物联网设备随机生成2S个基础变换矩阵:
Figure BDA0002669205110000118
Figure BDA0002669205110000119
得到两组密钥,如下所示:
SKP={P1,P2,...,PS}
SKQ={Q1,Q2,...,QS}
S202、任务加密;
物联网设备按照以下方式计算得到两个加密矩阵:
A′=P1P2...PSA
B′=BQS...Q2Q1
S203、任务分割;
物联网设备给定的边缘服务器数量,计算目标行数和目标列数:
Figure BDA0002669205110000121
Figure BDA0002669205110000122
其中,m′为目标行数,m为第一加密矩阵A′的总行数,k为边缘服务器的总数量,
Figure BDA0002669205110000123
为向上取整函数,
Figure BDA0002669205110000124
为向下取整函数;l′为目标列数,l为第二加密矩阵B′的总列数。
其中向下取整函数
Figure BDA0002669205110000125
用于实现输入实数,输出小于或等于该实数的最大整数的功能;而向上取整函数
Figure BDA0002669205110000126
用于实现将一个实数映射到大于或等于该实数的最小整数的功能。
然后,按照目标行数,将第一加密矩阵A′划分为满足
Figure BDA0002669205110000127
Figure BDA0002669205110000128
个矩阵,分别记为
Figure BDA0002669205110000129
按照目标列数,将第二加密矩阵B′划分为满足
Figure BDA00026692051100001210
Figure BDA00026692051100001211
个矩阵,记为
Figure BDA00026692051100001212
S204、发送子计算任务并接收子计算结果;
对于满足任意i,j小于等于
Figure BDA00026692051100001213
的正整数,物联网设备将(Ai',B'j)外包给边缘服务器Eij。边缘服务器Eij按照下式生成子计算结果:
R′ij=A′iB′j
然后,边缘服务器将子计算结果返回给物联网设备。
S205、结果验证;
选择一个随机向量
Figure BDA00026692051100001214
物联网设备对每一个返回的结果R′ij,判断下式是否成立:
rA′iB′j=rR′ij
如果成立就进入S206,否则输出结果为“error”。
注意rA′iB'j和rR′ij是从左往右计算的,所以时间复杂度是O(n2)。
S206、结果恢复。
根据各个边缘服务器返回的子计算结果
Figure BDA0002669205110000131
组装成矩阵
Figure BDA0002669205110000132
进而根据密钥SKP和SKQ将R′恢复为R:
Figure BDA0002669205110000133
可见,本实施例提供的一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法,显著减少矩阵乘法在物联网设备的计算量,降低了时间复杂度,从而提高工作效率;将计算任务分配给多个服务器,所以每个服务器的工作量就显著降低;通过随机生成2S个基础变换矩阵,实现了输入输出的加密,使得外包计算更加安全可靠;通过对计算结果进行验证,如果恶意服务器行为不当,则可以检测到该行为不当的可能性为1。
下面对本申请实施例提供的一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置进行介绍,下文描述的一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置与上文描述的一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法可相互对应参照。
如图4所示,本实施例的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置,应用于物联网设备,包括:
输入模块01:用于获取第一输入矩阵和第二输入矩阵;
密钥生成模块02:用于生成所述第一输入矩阵的基础变换矩阵和所述第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合;
加密模块03:用于利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵;利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵;
任务拆分模块04:用于根据边缘服务器的总数量和所述第一加密矩阵的总行数,确定目标行数,将所述第一加密矩阵按照行进行拆分,每所述目标行数拆分为一个子矩阵;根据边缘服务器的总数量和所述第二加密矩阵的总列数,确定目标列数,将所述第二加密矩阵按照列进行拆分,每所述目标列数拆分为一个子矩阵;
收发模块05:用于对所述第一加密矩阵的子矩阵和所述第二加密矩阵的子矩阵进行组合,将组合结果作为子计算任务发送至相应的边缘服务器;接收边缘服务器返回的子计算结果;
验证合成模块06:用于对各个边缘服务器的子计算结果进行验证;若均验证通过,则根据全部边缘服务器返回的子计算结果,合成加密计算结果;
解密模块07:用于生成所述第一基础变换矩阵集合和所述第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵,得到第一逆矩阵集合和第二逆矩阵集合;利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果。
本实施例的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置用于实现前述的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法,因此该装置中的具体实施方式可见前文中的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法的实施例部分,例如,输入模块01、密钥生成模块02、加密模块03、任务拆分模块04、收发模块05、验证合成模块06、解密模块07,分别用于实现上述基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法中步骤S101,S102,S103,S104,S105,S106,S107。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
另外,由于本实施例的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置用于实现前述的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法,因此其作用与上述方法的作用相对应,这里不再赘述。
此外,本申请还提供了一种物联网设备,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如上文所述的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法的步骤。
最后,本申请提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法,其特征在于,应用于物联网设备,包括:
获取第一输入矩阵和第二输入矩阵;
生成所述第一输入矩阵的基础变换矩阵和所述第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合;
利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵;利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵;
根据边缘服务器的总数量和所述第一加密矩阵的总行数,确定目标行数,将所述第一加密矩阵按照行进行拆分,每所述目标行数拆分为一个子矩阵;根据边缘服务器的总数量和所述第二加密矩阵的总列数,确定目标列数,将所述第二加密矩阵按照列进行拆分,每所述目标列数拆分为一个子矩阵;
对所述第一加密矩阵的子矩阵和所述第二加密矩阵的子矩阵进行组合,将组合结果作为子计算任务发送至相应的边缘服务器;接收边缘服务器返回的子计算结果;
对各个边缘服务器的子计算结果进行验证;若均验证通过,则根据全部边缘服务器返回的子计算结果,合成加密计算结果;
生成所述第一基础变换矩阵集合和所述第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵,得到第一逆矩阵集合和第二逆矩阵集合;利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果。
2.如权利要求1所述的方法,其特征在于,所述根据边缘服务器的总数量和所述第一加密矩阵的总行数,确定目标行数,包括:
按照行数计算公式,根据边缘服务器的总数量和所述第一加密矩阵的总行数,计算得到目标行数,所述行数计算公式为:
Figure FDA0002669205100000021
其中,m′为目标行数,m为第一加密矩阵的总行数,k为边缘服务器的总数量,
Figure FDA0002669205100000022
为向上取整函数,
Figure FDA0002669205100000023
为向下取整函数;
相应的,所述根据边缘服务器的总数量和所述第二加密矩阵的总列数,确定目标列数,包括:
按照列数计算公式,根据边缘服务器的总数量和所述第二加密矩阵的总列数,计算得到目标列数,所述列数计算公式为:
Figure FDA0002669205100000024
其中,l′为目标列数,l为第二加密矩阵的总列数。
3.如权利要求1所述的方法,其特征在于,所述生成所述第一输入矩阵的基础变换矩阵和所述第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合,包括:
生成随机数S;
对于所述第一输入矩阵
Figure FDA0002669205100000025
生成S个基础变换矩阵,得到第一基础变换矩阵集合SKP={P1,P2,...,PS},对于任意s∈[1,S]满足
Figure FDA0002669205100000026
对于所述第二输入矩阵
Figure FDA0002669205100000027
生成S个基础变换矩阵,得到第二基础变换矩阵集合SKQ={Q1,Q2,...,QS},对于任意s∈[1,S]满足
Figure FDA0002669205100000028
4.如权利要求3所述的方法,其特征在于,所述利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵,包括:
利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵,其中所述第一加密矩阵A′=P1P2...PSA;
相应的,所述利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵,包括:
利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵,其中所述第二加密矩阵B′=BQS...Q2Q1
5.如权利要求4所述的方法,其特征在于,在所述接收边缘服务器返回的子计算结果之前,还包括:
利用边缘服务器对子计算任务进行处理,得到子计算结果,其中所述子计算结果R'ij=A'iB'jj,A'i和B'j分别为从第一加密矩阵A'i拆分出来的第i个子矩阵和从第二加密矩阵B'j拆分出来的第j个子矩阵,
Figure FDA0002669205100000031
R'ij为与A'i和B'j对应的子计算结果。
6.如权利要求5所述的方法,其特征在于,所述利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果,包括:
利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果,其中所述乘法运算结果
Figure FDA0002669205100000032
R′为所述加密计算结果,
Figure FDA0002669205100000033
为所述第一基础变换矩阵集合中各个基础变换矩阵的逆矩阵,
Figure FDA0002669205100000034
为所述第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵。
7.如权利要求1-6任意一项所述的方法,其特征在于,所述对各个边缘服务器的子计算结果进行验证,包括:
生成随机向量;
根据所述随机向量,判断边缘服务器的子计算结果是否满足结果验证公式,所述结果验证公式为:
rA'iB'j=rR'ij
其中,r为随机向量,
Figure FDA0002669205100000035
m′为目标行数;A'i和B'j分别为从第一加密矩阵A'i拆分出来的第i个子矩阵和从第二加密矩阵B'j拆分出来的第j个子矩阵,
Figure FDA0002669205100000036
R'ij为边缘服务器返回的与A'i和B'j对应的子计算结果;
若满足,则判定所述边缘服务器的子计算结果验证通过。
8.一种基于边缘计算的支持隐私保护的矩阵乘法运算任务外包装置,其特征在于,应用于物联网设备,包括:
输入模块:用于获取第一输入矩阵和第二输入矩阵;
密钥生成模块:用于生成所述第一输入矩阵的基础变换矩阵和所述第二输入矩阵的基础变换矩阵,得到第一基础变换矩阵集合和第二基础变换矩阵集合;
加密模块:用于利用所述第一基础变换矩阵集合对所述第一输入矩阵进行加密,得到第一加密矩阵;利用所述第二基础变换矩阵集合对所述第二输入矩阵进行加密,得到第二加密矩阵;
任务拆分模块:用于根据边缘服务器的总数量和所述第一加密矩阵的总行数,确定目标行数,将所述第一加密矩阵按照行进行拆分,每所述目标行数拆分为一个子矩阵;根据边缘服务器的总数量和所述第二加密矩阵的总列数,确定目标列数,将所述第二加密矩阵按照列进行拆分,每所述目标列数拆分为一个子矩阵;
收发模块:用于对所述第一加密矩阵的子矩阵和所述第二加密矩阵的子矩阵进行组合,将组合结果作为子计算任务发送至相应的边缘服务器;接收边缘服务器返回的子计算结果;
验证合成模块:用于对各个边缘服务器的子计算结果进行验证;若均验证通过,则根据全部边缘服务器返回的子计算结果,合成加密计算结果;
解密模块:用于生成所述第一基础变换矩阵集合和所述第二基础变换矩阵集合中各个基础变换矩阵的逆矩阵,得到第一逆矩阵集合和第二逆矩阵集合;利用所述第一逆矩阵集合和所述第二逆矩阵集合对所述加密计算结果进行解密,得到所述第一输入矩阵和所述输入矩阵的乘法运算结果。
9.一种物联网设备,其特征在于,包括:
存储器:用于存储计算机程序;
处理器:用于执行所述计算机程序,以实现如权利要求1-7任意一项所述的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-7任意一项所述的基于边缘计算的支持隐私保护的矩阵乘法运算任务外包方法的步骤。
CN202010928199.XA 2020-09-07 2020-09-07 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 Active CN111984990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010928199.XA CN111984990B (zh) 2020-09-07 2020-09-07 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010928199.XA CN111984990B (zh) 2020-09-07 2020-09-07 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法

Publications (2)

Publication Number Publication Date
CN111984990A CN111984990A (zh) 2020-11-24
CN111984990B true CN111984990B (zh) 2022-02-25

Family

ID=73447703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010928199.XA Active CN111984990B (zh) 2020-09-07 2020-09-07 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法

Country Status (1)

Country Link
CN (1) CN111984990B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995189B (zh) * 2021-03-08 2022-01-21 北京理工大学 一种基于隐私保护的公开验证矩阵乘法正确性的方法
CN115208597B (zh) * 2021-04-09 2023-07-21 中国移动通信集团辽宁有限公司 一种异常设备确定方法、装置、设备及计算机存储介质
CN113938508B (zh) * 2021-09-13 2023-06-02 杭州大杰智能传动科技有限公司 用于智能塔吊远程控制的低延迟通信方法和系统
CN116841750B (zh) * 2023-08-29 2023-12-12 恒辉信达技术有限公司 集成加密算法的边缘计算设备
CN117874825B (zh) * 2024-03-11 2024-05-28 建投物联股份有限公司 基于lu分解的用户隐私保护方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775576A (zh) * 2017-03-28 2017-05-31 青岛大学 可验证的矩阵乘法的安全外包计算方法及系统
CN109460536A (zh) * 2018-11-16 2019-03-12 青岛大学 大规模矩阵运算的安全外包算法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170230171A1 (en) * 2015-08-25 2017-08-10 Massachusetts Institute Of Technology System and method of masking and computing on masked data in a data store

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775576A (zh) * 2017-03-28 2017-05-31 青岛大学 可验证的矩阵乘法的安全外包计算方法及系统
CN109460536A (zh) * 2018-11-16 2019-03-12 青岛大学 大规模矩阵运算的安全外包算法

Also Published As

Publication number Publication date
CN111984990A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
CN111984990B (zh) 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法
Liu et al. An efficient privacy-preserving outsourced computation over public data
EP3396894B1 (en) Apparatus and method for performing operation being secure against side channel attack
CN110445797B (zh) 一种具有隐私保护的两方多维数据比较方法和系统
US10235506B2 (en) White-box modular exponentiation
KR20120028432A (ko) 타원곡선암호를 위한 연산 장치 및 방법
Fu et al. Secure outsourcing algorithms of modular exponentiations with optimal checkability based on a single untrusted cloud server
CN109190395B (zh) 一种基于数据变换的全同态加密方法及系统
Kumar et al. Privacy preserving, verifiable and efficient outsourcing algorithm for matrix multiplication to a malicious cloud server
Zhang et al. Cloud-assisted privacy-conscious large-scale Markowitz portfolio
EP3125145B1 (en) White-box elliptic curve point multiplication
CN114760052A (zh) 银行物联网平台密钥生成方法、装置、电子设备及介质
Meng et al. Publicly verifiable and efficiency/security-adjustable outsourcing scheme for solving large-scale modular system of linear equations
Li et al. Secure outsourcing of large-scale convex optimization problem in internet of things
Yassein et al. A comparative performance analysis of NTRU and its variant cryptosystems
Chakraborty et al. A secure cloud computing authentication using cryptography
Zakerolhosseini et al. Secure transmission of mobile agent in dynamic distributed environments
Lei et al. Securely and efficiently perform large matrix rank decomposition computation via cloud computing
Gondim et al. Steerable Fourier number transform with application to image encryption
CN111984225B (zh) 基于边缘计算的支持隐私保护的模幂运算任务外包方法
US10361855B2 (en) Computing a secure elliptic curve scalar multiplication using an unsecured and secure environment
Erfan et al. Secure and efficient publicly verifiable outsourcing of matrix multiplication in online mode
Li et al. Secure outsourcing for normalized cuts of large-scale dense graph in internet of things
Chaudhari et al. Survey on securing IoT data using homomorphic encryption scheme
Kong et al. Cloud outsourcing computing security protocol of matrix multiplication computation based on similarity transformation

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhang Hanlin

Inventor after: Yu Jia

Inventor after: Yu Qing

Inventor after: Li Yue

Inventor after: Li Xinliang

Inventor before: Zhang Hanlin

Inventor before: Yu Jia

Inventor before: Yu Qing

Inventor before: Li Yue

Inventor before: Li Xinliang