一种基于北斗短报文的数据加密传输方法与流程

文档序号:34736099发布日期:2023-07-12 19:32阅读:205来源:国知局

本发明属于数据传输,尤其涉及一种基于北斗短报文的数据加密传输方法。


背景技术:

1、随着信息技术的不断发展,数据传输已经成为了我们日常生活中不可或缺的一部分。短报文通信是北斗卫星导航系统所特有的服务,相比于现有国外的gps、glonass、galileo等卫星导航系统,北斗卫星导航系统提供的rdss短报文通信服务可以支持双向通信,且无需基站参与,通信双方直接通过北斗卫星进行数据传输,有效克服了极端地理环境的限制。但是由于北斗短报文通信都是以明文进行传输,由于北斗卫星通信具有链路长,易受攻击等特点,明文在传输时将面临极大的安全隐患。现有技术的加密传输方式存在算法强度不足、易受到已知攻击方法影响、协议设计安全性不足、存在漏洞以及缺乏全面的审计机制、监测和检测安全事件。


技术实现思路

1、本发明要解决的技术问题:提供一种基于北斗短报文的数据加密传输方法,以解决现有技术存在的加密传输方式存在算法强度不足、易受到已知攻击方法影响等技术问题。

2、本发明技术方案是:

3、一种基于北斗短报文的数据加密传输方法,所述方法包括:

4、步骤1、将待传输的数据进行分组,对于一个长度为n的数据,分成k组,每组的长度为m;

5、步骤2、每组数据通过des加密算法进行加密;

6、步骤3、将每组加密后的数据报文组合成一个长度为n的密文,通过北斗短报文进行传输;

7、步骤4、接收数据并进行解密。

8、步骤1所述分组方法包括:假设待传输的数据为d,长度为n,则将d分为k组,每组的长度为m;具体分组方法包括:

9、步骤1.1、将d按照字节进行拆分,得到n个字节;

10、步骤1.2、将n个字节分为k组,每组的长度为m;

11、步骤1.3、如果n不能被m整除,则将最后一组数据补齐到m的长度,补齐的方式为在数据末尾添加0或添加特定的填充数据。

12、步骤2所述通过des加密算法进行加密的方法包括:

13、步骤2.1、将64位明文分为左右两个32位块,然后按照规则进行置换;

14、步骤2.2、将左右两个32位块进行交替迭代;

15、步骤2.3、将迭代结束后的64位块按照逆初始置换规则进行置换,得到加密后的64位密文。

16、步骤2.1所述按照规则进行置换的方法为:置换规则如下:

17、58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4

18、62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8

19、57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3

20、61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

21、对每个字节进行初始置换,即按照上述规则的规则重新排列每个字节的位,对每个字节,按照上述规则的规则将对应的位从输入明文中取出,并按照上述规则的指定位置放置。

22、步骤2.2所述将左右两个32位块进行交替迭代的方法为:

23、步骤2.2.1、将右边32位块扩展为48位,并与48位的轮子密钥进行异或;扩展规则为:32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 1213 12 13 14 15 16 17 16 17 18 19 2021 20 21 22 23 24 25 24 2526 27 28 29 28 29 30 31 32 1;

24、步骤2.2.2、将异或后的结果按照规则进行置换;置换规则为:

25、16 7 20 21 29 12 28 17

26、1 15 23 26 5 18 31 10

27、2 8 24 14 32 27 3 9

28、19 13 30 6 22 11 4 25;

29、步骤2.2.3、将置换后的结果分为8个6位块,分别进行s盒替换;

30、步骤2.2.4、将s盒替换后的结果按照规则进行置换;

31、置换规则为:

32、40 8 48 16 56 24 64 32

33、39 7 47 15 55 23 63 31

34、38 6 46 14 54 22 62 30

35、37 5 45 13 53 21 61 29

36、36 4 44 12 52 20 60 28

37、35 3 43 11 51 19 59 27

38、34 2 42 10 50 18 58 26

39、33 1 41 9 49 17 57 25;

40、步骤2.2.5、将右边32位块与左边32位块进行异或,并交换左右两个块的位置,得到下一轮迭代的明文;

41、步骤2.2.6、将迭代结束后的64位块按照逆初始置换规则进行置换,得到加密后的64位密文;逆初始置换规则为:

42、40 8 48 16 56 24 64 32

43、39 7 47 15 55 23 63 31

44、38 6 46 14 54 22 62 30

45、37 5 45 13 53 21 61 29

46、36 4 44 12 52 20 60 28

47、35 3 43 11 51 19 59 27

48、34 2 42 10 50 18 58 26

49、33 41 9 49 17 57 25。

50、步骤2.2.3、将置换后的结果分为8个6位块,分别进行s盒替换的方法为:将6位块的第1位和第6位组成的2位二进制数作为s盒的行数,共有8个s盒,每个s盒有4行;将6位块的第2~5位组成的4位二进制数作为s盒的列数;根据行列数查找对应的s盒中的值,并将其转换为4位二进制数;将8个s盒的输出结果合并成一个32位的二进制数。

51、步骤3所述组合方法为:将每组数据的密文按照顺序排列,得到长度为kn的二进制串;将长度为kn的二进制串按照8位一组进行分组,得到长度为kn/8的8位字节串;将长度为kn/8的8位字节串进行base64编码,得到长度为kn/6的编码串,即为最终的密文。

52、des加密算法采用循环移位混淆操作;所述循环移位混淆操作为:将二进制位序列循环左移或循环右移的操作,在循环左移中,位序列中的每一位向左移动固定的位数,并将最左边的位移出序列,再从右侧补充到最右边;在循环右移中,位序列中的每一位向右移动固定的位数,并将最右边的位移出序列,再从左侧补充到最左边。

53、des加密算法采用动态密钥生成方式,通过使用密码学安全的伪随机数生成算法,生成具有足够随机性的密钥。每次加密时生成的密钥不同,增加了算法的随机性;具体生成方法包括:选择一个合适的种子或密钥作为生成随机数的起始状态,种子是随机数、系统时间、熵源或者是一个预先共享的密钥;如果使用密钥作为种子,使用密钥派生函数对种子进行扩展;通过执行一个以上轮次的迭代过程来生成伪随机数序列,每一轮都采用特定的变换或算法来生成下一个随机数;选择输出整个伪随机数序列或只输出所需长度的随机数;在每个轮次中,根据生成的随机数更新当前的种子或状态,以便下一轮生成使用;重复操作,直到生成所需数量的随机数。

54、本发明有益效果是:

55、本发明通过对北斗短报文进行加密,加密可以有效地保护北斗短报文数据的机密性,确保只有授权的用户能够解密和访问敏感信息。这有助于防止数据泄露和未经授权的访问。通过加密传输北斗短报文数据,可以有效地抵御窃听、篡改和重放攻击等威胁。加密技术确保数据在传输过程中不被篡改或伪造,从而提高数据的完整性和可信度。通过加密传输北斗短报文数据,可以降低数据丢失或损坏的风险,提高系统的可靠性。加密技术可以有效地防止数据丢失或被篡改,确保数据传输的完整性和可用性。本发明采用先对数据进行分组,然后将分组后的数据按照一定规则进行加密,最后再进行传输。本发明采用的加密算法是改进的des加密算法,其具有高效、可靠、安全等优点。本发明不仅适用于北斗短报文的数据传输,也适用于其他短报文的数据传输,具有广泛的应用前景。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1