1.一种面向边缘计算的多维度查询方法,其特征在于,包括以下步骤:用户初始化系统公私钥后,将自身每次多维度查询的查询范围映射入矩阵中并向量化,生成查询陷门和加密参数并发送给雾设备,雾设备收到查询陷门和加密参数后,将查询陷门下发给各传感器;
传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备,雾设备接受并聚合传感器的计算结果信息;
在用户解析阶段,用户接受并解析雾设备发来的计算结果信息以获得查询结果;
所述用户初始化系统公私钥具体包括:
101、初始化算法,给定安全参数 合数阶双线性映射参数组 由生成器生成,大合数阶双线性参数生成器 是一种概率算法,其以安全参数 作为输入值,输出一个五元组 此处大合数 是两个 比特的素数,
是两个 阶的群, 是 的一个生成元, 是一个非退化性的、可
以高效计算的双线性映射;
q
102、公私钥生成,设h=g ,此时h是 的一个随机p阶生成元,那么,公钥私钥sk=p;
所述用户将自身每次多维度查询的查询范围映射入矩阵中并向量化,具体包括:
103、查询矩阵生成,用户首先对其查询区间进行映射,每次查询时,任一维度设定为第一区间,之后按照规则依次确定每个区间在查询序列中的开始点 和结束点 以最后一个区间的结束点作为本次查询序列的总长度,则将 转为 的形式以得到一个完全平方数,并以m为阶数生成一个矩阵,当此值不是完全平方数时,则扩增至下一个完全平方数来生成查询矩阵,之后,构建一个m×m矩阵,对于一个查询下界为Bquery,上界为Tquery的查询区间(Bquery,Tquery)而言,其查询区间内第k个元素uk满足uk=Bquery+k;
104、元素拆分和映射,每个查询区间的数据偏移β可以由查询区间的开始点来确定,设偏移后该查询区间内第k个元素为vk,则β,vk可以表示为: vk=uk+β,将vk拆分成矩阵内元素R(i,j)的形式;
105、矩阵向量化,用户以特定规则,由矩阵生成四种向量X,Y,X′,Y′,此时,所有矩阵内元素均可以向量形式表示,即 故通过生成的向量进行运算即可完成矩阵重构,其中,n为总体参与计算的向量个数,ykj为向量Yk的第j位元素,x′ki、x′Ci为向量Xk,XC中的第i位元素;为了便于此后计算,计算 用以替代原Yk向量,ykm表示Yk, 中的第m位元素;
所述生成查询陷门具体包括步骤:
106、查询陷门生成,对生成的向量进行加密后,在原有的 向量中添加两个值,来表达这条向量所查询的维度γ和代表这条向量在运算时所需要的偏移量β,计算处理后的向量 的哈希值 将其作为查询所用查询陷门α的一部分,此时有E(X′)={E(X′1),E(X′2),...,E(X′i)},H={H1,H2,...,Hi}, E(X′)、E(X′C)为加密后的 X',X'C向量组成的集合,H为各加密向量的哈希值Hi的集合。
2.根据权利要求1所述的一种面向边缘计算的多维度查询方法,其特征在于,所述传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备,具体包括:
107、传感器端哈希和维度比对,与用户端发送的维度标识值γ相对应,每个传感器设备Dk拥有自己的维度标识γ′k,传感器设备依次提取用户发送的查询陷门α中的 和其对应的哈希值Hi来进行计算和比对,首先,传感器设备计算 的哈希值H′i,并与用户发来的Hi进行比对,若一致则进而自 中提取这条向量内的维度标识值γi与设备自身的维度标识γ′k比对,经过比对,传感器设备得以筛选出符合自身维度的查询并将相关联的向量一同自查询陷门中提取出来并组装成queryVector查询向量进行下一步计算;
108、传感器端计算,在获取了queryVector后,传感器设备首先从中提取出查询的本次查询的偏移量βk来对自身的观测数据vk进行数据偏移得到偏移后的值v′k,使用ElementShift函数得到其在矩阵中的位置(i,j),此时,传感器设备根据(i,j)从queryVector提取对应的向量值进行计算,将传感器所观测的值vk转换表示为查询矩阵对应位置的值在 群的映射ck和聚合结果sk,将计算结果和本组结果的标识值ck,sk,γ′k聚合为ωi并发送给传感器所属物联网域的雾设备FD。
3.根据权利要求2所述的一种面向边缘计算的多维度查询方法,其特征在于,所述雾设备接受并聚合传感器的计算结果信息,具体包括:
109、雾设备端处理,雾设备FDi接收到其下属的k个传感器发来的ωk后,从中提取出传感器对本次n维度查询的结果ck并进行计算,雾设备将所有维度数据ck相乘,根据BGN算法的同态性,得到的结果即是k个维度上反馈的所有结果之和,FDi本次查询的匹配程度σi即为此和值与用户发来的经加密的查询维度信息ET(n)的差值;FDi将σi和所有ωk的值构建成ζi发送给用户。
4.根据权利要求3所述的一种面向边缘计算的多维度查询方法,其特征在于,所述用户接受并解析雾设备发来的计算结果信息以获得查询结果,具体包括:
110、用户解析,用户在收到FDi发来的数据ζi后,首先提取出查询匹配程度值σi并解密,当且仅当σi值等于0时,雾设备FDi所返回的结果完全与查询匹配;用户对完全匹配的雾设备发来的数据ζi分维度进行累乘,并计算得到完全匹配的设备个数C和维度γ下符合查询条件数据的和 此处k为维度γ下符合查询条件数据的个数。
5.一种存储介质,该存储介质内部存储计算机程序,其特征在于,所述计算机程序被处理器读取时,执行上述权利要求1~4任一项的方法。
6.一种采用权利要求1‑4任一项所述方法的面向边缘计算的多维度查询系统,其特征在于,包括:用户端:用户初始化系统公私钥后,将自身每次多维度查询的查询范围映射入矩阵中并向量化,生成查询陷门和加密参数并发送给雾设备,此后,在用户解析阶段,用户接受并解析雾设备发来的计算结果信息以获得查询结果;
雾设备端:雾设备收到查询陷门和加密参数后,将查询陷门下发给各传感器;此后,雾设备接受并聚合传感器的计算结果信息;
传感器端:传感器设备收到查询陷门并进行计算,将其计算的结果反馈给雾设备;
所述用户初始化系统公私钥具体包括:
101、初始化算法,给定安全参数 合数阶双线性映射参数组 由生成器生成,大合数阶双线性参数生成器 是一种概率算法,其以安全参数 作为输入值,输出一个五元组 此处大合数 是两个 比特的素数,
是两个 阶的群, 是 的一个生成元, 是一个非退化性的、可
以高效计算的双线性映射;
q
102、公私钥生成,设h=g,此时h是 的一个随机p阶生成元,那么,公钥私钥sk=p;
所述用户将自身每次多维度查询的查询范围映射入矩阵中并向量化,具体包括:
103、查询矩阵生成,用户首先对其查询区间进行映射,每次查询时,任一维度设定为第一区间,之后按照规则依次确定每个区间在查询序列中的开始点 和结束点 以最后一个区间的结束点作为本次查询序列的总长度,则将 转为 的形式以得到一个完全平方数,并以m为阶数生成一个矩阵,当此值不是完全平方数时,则扩增至下一个完全平方数来生成查询矩阵,之后,构建一个m×m矩阵,对于一个查询下界为Bquery,上界为Tquery的查询区间(Bquery,Tquery)而言,其查询区间内第k个元素uk满足uk=Bquery+k;
104、元素拆分和映射,每个查询区间的数据偏移β可以由查询区间的开始点来确定,设偏移后该查询区间内第k个元素为vk,则β,vk可以表示为: vk=uk+β,将vk拆分成矩阵内元素R(i,j)的形式;
105、矩阵向量化,用户以特定规则,由矩阵生成四种向量X,Y,X′,Y′,此时,所有矩阵内元素均可以向量形式表示,即 故通过生成的向量进行运算即可完成矩阵重构,其中,n为总体参与计算的向量个数,ykj为向量Yk的第j位元素,x′ki、x′Ci为向量Xk,XC中的第i位元素;为了便于此后计算,计算 用以替代原Yk向量,ykm表示Yk, 中的第m位元素。