本发明涉及地表裂缝测量,特别是一种北斗地灾监测数据加密和解密方法。
背景技术:
1、在电力系统中,地质灾害(如滑坡、泥石流、地面塌陷等)对电网设施的安全运行造成严重威胁。地质灾害的及时监测和预警对于确保电力设施安全和减少经济损失具有重要意义。北斗卫星导航系统在地质灾害监测中的应用逐渐受到关注,因为其可以提供实时、高精度的定位信息。然而,在电网地质灾害监测过程中,对北斗定位坐标数据的加密具有挑战性,尤其是在抗干扰能力方面。
2、现有的加密技术,如对称加密(如aes)和非对称加密(如rsa),虽然在保证数据的保密性和完整性方面取得了很好的效果,但在应对复杂传输环境中的干扰和噪声方面的能力有限。电力系统中的地质灾害监测通常涉及到大量传感器和监测设备,这些设备部署在不同的地理位置,数据传输过程中可能受到各种干扰,如电磁干扰、信号衰减、噪声等。这些干扰会降低加密定位坐标数据的传输可靠性,从而影响地质灾害监测的准确性。
技术实现思路
1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
2、鉴于上述和/或现有的北斗地灾监测数据加密和解密方法中存在的问题,提出了本发明。
3、因此,本发明所要解决的问题在于如何提供一种北斗地灾监测数据加密和解密方法。
4、为解决上述技术问题,本发明提供如下技术方案:一种北斗地灾监测数据加密方法,其包括,将等时间间距的北斗定位坐标数据按时间顺序切割为多份大小一定的定位数据包,并将定位数据包经过ascii编码转换为数值;对转换为数值的定位数据包进行傅里叶变换,将数据从时域信号转换到频域信号;将频域信号的实部和虚部分别转换为字节序列,使用加密算法对频域信号进行初步加密;基于预先共享的密钥生成一个伪随机序列,将加密后的频域信号与伪随机序列进行异或操作;将经过异或操作后的数据通过通信网络传输至接收端,完成对数据的完整加密。
5、作为本发明所述北斗地灾监测数据加密方法的一种优选方案,其中:所述进行傅里叶变换,公式如下:
6、x(k)=∑[x(n)*e(-j*2π*k*n/n)]
7、其中,x(k)表示定位数据包频域信号中的第k个频率分量,x(n)表示定位数据包时域信号中的第n个采样点,n表示定位数据包时域信号的长度,j为虚数,e为自然常数。
8、作为本发明所述北斗地灾监测数据加密方法的一种优选方案,其中:所述进行加密包括如下步骤,将原始密钥扩展为一个密钥调度表,用于后续的轮加密操作;将输入数据与密钥调度表的第一个密钥进行异或操作,使用一个非线性替换表替换输入数据的每个字节,循环左移输入数据的每一行;使用有限域上的矩阵乘法混淆输入数据的每一列;将输入数据与密钥调度表的当前轮密钥进行异或操作,使用一个非线性替换表替换输入数据的每个字节,循环左移输入数据的每一行;将输入数据与密钥调度表的当前轮密钥进行异或操作,将加密后的实部和虚部字节序列重新组合成加密后的频域信号。
9、作为本发明所述北斗地灾监测数据加密方法的一种优选方案,其中:所述密钥调度表包括,将使用128位,即16字节的原始密钥分为4个字,其中,一个字等于4字节或32位;对于第i个字,其中,i为4以上;若i除以4的余数为0,则对当前字的前一个字进行字节旋转操作,即将前一个字的4个字节循环左移一位;对字节旋转后的字执行字节代替操作;将字节代替后的字与轮常数进行异或操作;将上述操作的结果与第i-4个字进行异或操作,生成第i个字;重复上述步骤,直到生成44个字;其中,为了得到轮常数,将i除以4,使用得到的结果作为rcon数组的索引,从预定义的rcon数组中取对应的轮常数。
10、作为本发明所述北斗地灾监测数据加密方法的一种优选方案,其中:所述非线性替换表包括,是一个8位输入、8位输出的查找表,其将每个输入字节映射到一个唯一的输出字节。
11、作为本发明所述北斗地灾监测数据加密方法的一种优选方案,其中:所述伪随机序列包括,通过以下递归公式生成伪随机序列,
12、x(n+1)=(a*x(n)+c)mod m
13、其中,mod表示模运算;m表示模数,为一个大于0的质数;a表示乘数,为一个0<a<m的整数;c表示增量,为一个0<=c<m的整数;x(0)为预先共享的密钥,x(n)为第n次递归得到的伪随机序列;所述预先共享的密钥包括,获取当前时间戳并将精度精确到到分作为预先共享的密钥。
14、作为本发明所述北斗地灾监测数据加密方法的一种优选方案,其中:所述异或操作包括,根据加密后的频域信号的实部和虚部的数据类型和数值范围将伪随机序列映射到相应的范围;将加密后的频域信号对应的实部re与映射后的伪随机序列r进行逐元素异或操作,对于每个元素i,执行以下操作:
15、re'(i)=re(i)⊕r(i)
16、其中,re'(i)表示元素i对应的实部异或操作后得到的新实部;
17、将加密后的频域信号的虚部im与映射后的伪随机序列r进行逐元素异或操作,对于每个元素i,执行以下操作:
18、im'(i)=im(i)⊕r(i)
19、其中,im'(i)表示元素i对应的虚部异或操作后得到的新虚部;将异或操作后得到的新实部和新虚部重新组合成混淆后的加密频域信号。
20、为解决上述技术问题,本发明还提供如下技术方案:一种北斗地灾监测数据解密方法,其包括,将接收到的数据与基于相同原始密钥生成的伪随机序列进行异或操作,还原出加密后的频域信号;对加密后的频域信号进行解密获得未加密的频域信号;将未加密的频域信号通过傅里叶逆变换转换回时域,还原出原始的北斗定位坐标数据。
21、作为本发明所述北斗地灾监测数据解密方法的一种优选方案,其中:所述还原包括如下步骤,使用相同的预先共享的密钥和伪随机序列生成方法,生成与发送端相同的伪随机序列;根据接收到的频域信号的实部和虚部的数据类型和数值范围将伪随机序列映射到相应的范围;
22、将接收到的数据与在接收端生成的映射后的伪随机序列进行异或操作,具体为对于每个元素i,执行以下操作:
23、re”(i)=re'(i)⊕r'(i)
24、im”(i)=im'(i)⊕r'(i)
25、其中,re'(i)和im'(i)分别表示接收到的数据中的i元素的实部和虚部;re”(i)和im”(i)分别表示还原出的加密后频域信号的实部和虚部;r'(i)表示接收端生成的映射后的伪随机序列;将还原出的加密后频域信号的实部和虚部重新组合成完整的加密后频域信号。
26、作为本发明所述北斗地灾监测数据加密方法的一种优选方案,其中:所述进行解密包括,将原始密钥扩展为一个密钥调度表,用于后续的轮解密操作,这个密钥调度表与加密过程中使用的相同;将加密后的频域信号的实部和虚部字节序列分别提取出来;对于每个字节序列,执行以下操作:将输入数据与密钥调度表的最后一个轮密钥进行异或操作,循环右移输入数据的每一行,使用一个非线性逆替换表替换输入数据的每个字节;对于剩余的轮次,从倒数第二轮开始,执行以下操作:将输入数据与密钥调度表的当前轮密钥进行异或操作,使用有限域上的逆矩阵乘法混淆输入数据的每一列,循环右移输入数据的每一行,使用非线性逆替换表替换输入数据的每个字节;将输入数据与密钥调度表的第一个密钥进行异或操作,将解密后的实部和虚部字节序列重新组合成解密后的频域信号。
27、本发明有益效果为具有较好的抗干扰能力,由于傅里叶变换具有良好的抗干扰能力,即使在传输过程中受到一定程度的噪声干扰,通过适当的滤波处理,仍然可以较好地恢复原始明文,这使得该加密方法在传输过程中具有较高的鲁棒性;具有较好的安全性,傅里叶变换将明文数据从时域转换到频域,使得原始信息被隐藏在频域信号中,这使得在不知道正确密钥的情况下,很难从频域信号中还原出原始明文,从而增加了破解难度;通过使用预先共享的密钥生成一个伪随机序列,使得加密后的数据无规律可循,可对抗重放攻击;通过获取当前时间戳并将精度精确到到分作为预先共享的密钥,使得伪随机序列随时都在变化,并且无需再发送端和接收端之间传递关于伪随机序列任何相关的信息,在可对抗重放攻击的基础上还能保证安全性。