1.一种基于ElGamal算法的无线传感器数据收集方法,其特征在于,包括步骤:步骤S1、传感器计算稀疏随机矩阵,并依据稀疏随机矩阵计算每一轮测量值收集过程中传输的数据;
步骤S2、将计算的数据通过El Gamal加密及压缩感知技术发送给基站;
步骤S3、基站在收集到足够的测量数据后,将密文恢复成明文的数据,再使用压缩感知技术计算每个传感器的原始数据。
2.根据权利要求1所述的数据收集方法,其特征在于,所述步骤S1具体为:步骤1.1:将2
整个网络归一化为边长是1的正方形,并进一步将网络划分成L 个边长为1/L的正方形蜂窝,其中, n为每个蜂窝内的节点数,且n不得为0,每个蜂窝内至少有1个节点,Cij(1≤i,j≤L)为第i行第j列的蜂窝蜂;
步骤1.2:令两个传感器节点之间的通信距离为 其中 将L个蜂窝Cij(j=1,
2,…,L)组成路径Pi(i=1,2,…,L);
步骤1.3:基站广播一个随机数产生种子,每个传感器N1,N2,…Nn在收到该种子后生成一个统一的稀疏随机矩阵A;其中每一个元素aij都是独立同分布地抽样于以下子高斯分布:步骤1.4:根据稀疏随机矩阵A,每个传感器确定在每轮测量值收集过程中的节点状态。
3.根据权利要求2所述的数据收集方法,其特征在于,所述节点状态包括O、I、R;所述步骤1.4具体为:如果aij等于零,那么传感器Ni进入状态O;如果aij非零,那么传感器Ni进入状态I;如果只有一个传感器是状态I,该传感器状态由I变为R;如果多个传感器都是状态O,随机选择的一个传感器将它的状态由O变为R;如果多个传感器都是状态I,随机选择一个传感器,将它的状态由I变为R。
4.根据权利要求1所述的数据收集方法,其特征在于,所述步骤S2包括:初始传感器通过ElGamal加密算法将位于该传感器的原始数据加密并传给之后的传感器,位于其后的传感器也用同样的方法加密自己的初始数据,然后将自己的密文和收到的数据密文相乘再传给之后的传感器,这些数据通过网络数据聚合技术发送给基站。
5.根据权利要求4所述的数据收集方法,其特征在于,
在每一轮数据传输的过程中,都将原始数据xi和根据随机数种子产生的系数a1i,a2i,…ami相乘所得的xia1i ,xia2i,…xiami转换为密文发送,最后将m个测量值发送给基站。
6.根据权利要求5所述的数据收集方法,其特征在于,所述步骤S2具体为:步骤2.1:蜂窝C11开始第1轮测量值收集过程,并收集数据通过ElGamal加密算法加密成密文 发送给蜂窝C12,随后蜂窝C11进入休眠状态。
步骤2.2:蜂窝C12将自身的数据也通过同样的方法加密生成密文 再与接收到的数据相乘得到 随后将融合的数据发送给蜂窝C13,蜂窝C1j(j=1,2,…,L)在第1轮测量值收集过程中重复类似操作。
步骤2.3:当蜂窝C15完成第1轮的数据发送之后,蜂窝C21马上开始第1轮的数据发送;在第1轮测量值收集过程中,路径Pi(i=2,…,L)上的所有蜂窝都重复类似的操作;
步骤2.4:在蜂窝C45完成第1轮数据发送后,蜂窝C11马上开始第2轮测量值收集过程,之后的每一轮测量值收集过程都重复类似的操作;
步骤2.5:在接收到蜂窝C11发送来的第2轮数据后,蜂窝C12先等待蜂窝C46完成第1轮的数据发送,然后才开始发送第2轮数据;之后的每一轮测量值收集过程都重复类似的操作;
步骤2.6:在蜂窝C15完成第2轮数据发送后,蜂窝C21马上开始发送第2轮数据;之后的每一轮测量值收集过程都重复类似的操作;
步骤2.7:在接收到蜂窝C21发送来的第2轮数据之后,蜂窝C22先等待蜂窝C16完成第2轮的数据发送,然后才开始发送第2轮数据;每个蜂窝在之后的每一轮测量值收集过程中都重复类似的操作;
步骤2.8:重复以上步骤直到基站收集到足够多的测量值。
7.根据权利要求6所述的数据收集方法,其特征在于,所述将密文恢复成明文的数据具体为:其中,yq表示基站在第q轮传输中接收到的数据。
8.根据权利要求7所述的数据收集方法,其特征在于,所述计算每个传感器的原始数据具体为:根据计算出测量值向量y=[y1,y2,…,yq]T,稀疏随机矩阵A=[aij]m×n,利用OMP算法等各种压缩感知数据恢复算法求解出原始数据向量x=[x1,x2,…xn]T。