数据发送方法、数据接收方法及网络设备与流程

文档序号:32005531发布日期:2022-11-02 13:00阅读:105来源:国知局
数据发送方法、数据接收方法及网络设备与流程

1.本公开涉及通信技术领域,特别涉及一种数据发送方法、数据接收方法及网络设备。


背景技术:

2.在保密通信系统中,发送方的明文数据经过加密封装和处理后生成待发送密文信息。然后,对密文信息进行校验生成循环冗余校验(cyclic redundancy check,crc)校验码,并附加在密文信息后进行信道传输。接收方可通过比对接收到的crc校验码和对接收到的密文信息校验生成的crc校验码,来判断密文信息是否正确传输。如果两个crc校验码不一致,接收方可通过自动重传请求(automatic repeat request,arq)协议,请求发送方重发该数据。
3.密文信息一般包括工作密钥号、消息密钥和密文数据。其中工作密钥号和消息密钥均为明文数据,密文数据由工作密钥和消息密钥对明文数据加密后产生。通信双方本地预置有相同的密钥库,通过相同的工作密钥号通信双方可选择到相同的工作密钥。
4.上述通信虽然可以保证数据的加密、校验及解密,但由密文信息和crc校验码组成的数据帧,造成传输开销大,使得该方案在应用于带宽受限的窄带保密通信系统中时效果不佳。


技术实现要素:

5.本公开实施例提供了一种数据发送方法、数据接收方法及网络设备,能够节省传输开销。所述技术方案如下:
6.本公开至少一实施例提供了一种数据发送方法,所述数据发送方法包括:
7.获取消息密钥;
8.将所述消息密钥和待传输的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码;
9.采用所述crc校验码作为工作密钥号,从密钥库中获取与所述工作密钥号对应的工作密钥;
10.采用所述工作密钥和所述消息密钥对所述明文数据进行加密运算,生成密文数据;
11.将所述消息密钥和所述密文数据组成数据帧,并发送给接收方。
12.可选地,所述获取消息密钥,包括:
13.获取噪声源产生的随机数作为所述消息密钥。
14.本公开至少一实施例提供了一种数据接收方法,所述数据接收方法包括:
15.接收发送方发送的数据帧,所述数据帧包括消息密钥和密文数据;
16.根据工作密钥号的位宽,穷举工作密钥号;
17.采用穷举得到的所述工作密钥号在密钥库中查找对应的工作密钥;
18.采用查找出的所述工作密钥对所述密文数据进行解密,得到待验证的明文数据;
19.将所述消息密钥和所述待验证的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码;
20.确定所述crc校验码和对应的所述工作密钥号一致时,使用的所述工作密钥号;
21.采用确定出的所述工作密钥号对应的所述工作密钥解密出的所述待验证的明文数据,作为明文数据。
22.可选地,所述采用穷举得到的所述工作密钥号在密钥库中查找对应的工作密钥;采用查找出的所述工作密钥对所述密文数据进行解密,得到待验证的明文数据;将所述消息密钥和所述待验证的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码,包括:
23.穷举工作密钥号,每穷举一个工作密钥号后,采用穷举得到的所述工作密钥号对应的工作密钥解密得到所述待验证的明文数据,并采用所述消息密钥和所述待验证的明文数据计算所述crc校验码,直到所述crc校验码和所述工作密钥号一致。
24.本公开至少一实施例提供了一种数据发送装置,所述数据发送装置包括:
25.获取模块,用于获取消息密钥;
26.校验模块,用于将所述消息密钥和待传输的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码;
27.所述获取模块,还用于采用所述crc校验码作为工作密钥号,从密钥库中获取与所述工作密钥号对应的工作密钥;
28.加密模块,用于采用所述工作密钥和所述消息密钥对所述明文数据进行加密运算,生成密文数据;
29.发送模块,用于将所述消息密钥和所述密文数据组成数据帧,并发送给接收方。
30.可选地,所述获取模块,用于获取噪声源产生的随机数作为所述消息密钥。
31.本公开至少一实施例提供了一种数据接收装置,所述数据接收装置包括:
32.接收模块,用于接收发送方发送的数据帧,所述数据帧包括消息密钥和密文数据;
33.解密模块,用于根据工作密钥号的位宽,穷举工作密钥号;采用穷举得到的所述工作密钥号在密钥库中查找对应的工作密钥;采用查找出的所述工作密钥对所述密文数据进行解密,得到待验证的明文数据;
34.校验模块,用于将所述消息密钥和所述待验证的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码;
35.确定模块,用于确定所述crc校验码和对应的所述工作密钥号一致时,使用的所述工作密钥号;
36.所述解密模块,还用于采用确定出的所述工作密钥号对应的所述工作密钥解密出的所述待验证的明文数据,作为明文数据。
37.可选地,所述解密模块,用于穷举工作密钥号,每穷举一个工作密钥号后,采用穷举得到的所述工作密钥号对应的工作密钥解密得到所述待验证的明文数据,并采用所述消息密钥和所述待验证的明文数据计算所述crc校验码,直到所述crc校验码和所述工作密钥号一致。
38.本公开至少一实施例提供了一种网络设备,所述网络设备包括处理器和存储器,
所述存储器存储有至少一条程序代码,所述程序代码由所述处理器加载并执行以实现如前所述的方法。
39.本公开至少一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如前任一项所述的方法。
40.本公开实施例提供的技术方案带来的有益效果是:
41.在本公开实施例中,发送方和接收方采用相同的密钥库,发送方对消息密钥和待传输的明文数据拼接组帧数据进行crc校验码的计算,然后使用crc校验码作为工作密钥号,从密钥库中获取对应的工作密钥,使用消息密钥和工作密钥进行明文数据的加密,最后将消息密钥和密文数据组成数据帧发送给接收方。接收方在收到后,穷举工作密钥号,使用穷举的工作密钥号对应的工作密钥进行解密,得到待验证的明文数据,然后利用消息密钥和待验证的明文数据计算crc校验码,如果和工作密钥号一致,则采用该工作密钥号对应的工作密钥解密出来的待验证的明文数据作为最终的明文数据。可以看出,该方案在进行数据帧传输时,无需携带工作密钥号和crc校验码,通过接收方根据密钥库中工作密钥号进行穷举,利于工作密钥号和crc校验码相同的特点,完成crc校验以及解密,减小了传输开销,使得该方案适用于带宽受限的窄带保密通信系统。
附图说明
42.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1是本公开实施例提供的一种数据发送方法的流程图;
44.图2是本公开实施例提供的一种数据接收方法的流程图;
45.图3是本公开实施例提供的一种数据传输方法的流程图;
46.图4是本公开实施例提供的一种数据发送装置的结构示意图;
47.图5是本公开实施例提供的一种数据接收装置的结构示意图;
48.图6是本公开实施例提供的一种网络设备的结构框图。
具体实施方式
49.为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
50.除非另作定义,此处使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开专利申请说明书以及权利要求书中使用的“第一”、“第二”、“第三”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现在“包括”或者“包含”前面的元件或者物件涵盖出现在“包括”或者“包含”后面列举的元件或者物件及其等同,并不排除其他元件或者物件。
51.图1是本公开实施例提供的一种数据发送方法的流程图。参见图1,由通信系统中的发送方(设备)执行,该数据发送方法包括:
52.101:获取消息密钥。
53.示例性地,该消息密钥可以是随机数,应用于数据加密算法中。
54.102:将所述消息密钥和待传输的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码。
55.在本公开一种可能的实现方式中,crc计算得到的crc校验码的位数和密钥库中工作密钥号的位数相同。
56.例如,密钥库中工作密钥号的位数为10位,crc计算采用crc10算法进行计算,得到10位crc校验码。
57.在本公开另一种可能的实现方式中,crc计算得到的crc校验码的位数大于密钥库中工作密钥号的位数。
58.例如,密钥库中工作密钥号的位数为10位,crc计算采用crc16算法进行计算,得到16位crc校验码。
59.103:采用所述crc校验码作为工作密钥号,从密钥库中获取与所述工作密钥号对应的工作密钥。
60.这里,当crc计算得到的crc校验码的位数和密钥库中工作密钥号的位数相同时,采用整个crc校验码作为工作密钥号。当crc计算得到的crc校验码的位数大于密钥库中工作密钥号的位数时,采用crc校验码的部分作为工作密钥号。
61.例如,crc校验码的位数为16位,密钥库中工作密钥号的位数为10位,采用crc校验码的高10位或低10位作为工作密钥号。
62.在本公开实施例中,发送方和接收方采用完全相同的密钥库,从而使得发送方和接收方可以采用相同的工作密钥进行加密,使用相同的工作密钥号进行crc校验。
63.104:采用所述工作密钥和所述消息密钥对所述明文数据进行加密运算,生成密文数据。
64.示例性地,该加密运算可以是对称加密运算,也可以是其他类型的加密运算。
65.105:将所述消息密钥和所述密文数据组成数据帧,并发送给接收方。
66.在本公开实施例中,发送方和接收方采用相同的密钥库,发送方对消息密钥和待传输的明文数据拼接组帧数据进行crc校验码的计算,然后使用crc校验码作为工作密钥号,从密钥库中获取对应的工作密钥,使用消息密钥和工作密钥进行明文数据的加密,最后将消息密钥和密文数据组成数据帧发送给接收方。接收方在收到后,穷举工作密钥号,使用穷举的工作密钥号对应的工作密钥进行解密,得到待验证的明文数据,然后利用消息密钥和待验证的明文数据计算crc校验码,如果和工作密钥号一致,则采用该工作密钥号对应的工作密钥解密出来的待验证的明文数据作为最终的明文数据。可以看出,该方案在进行数据帧传输时,无需携带工作密钥号和crc校验码,通过接收方根据密钥库中工作密钥号进行穷举,利于工作密钥号和crc校验码相同的特点,完成crc校验以及解密,减小了传输开销,使得该方案适用于带宽受限的窄带保密通信系统。
67.图2是本公开实施例提供的一种数据接收方法的流程图。参见图2,由通信系统中的接收方(设备)执行,该数据接收方法包括:
68.201:接收发送方发送的数据帧,所述数据帧包括消息密钥和密文数据。
69.202:根据工作密钥号的位宽,穷举工作密钥号。
70.在本公开实施例中,穷举工作密钥号,也即是逐个获取密钥库的工作密钥号。
71.203:采用穷举得到的所述工作密钥号在密钥库中查找对应的工作密钥。
72.在本公开实施例中,发送方和接收方采用完全相同的密钥库,从而使得发送方和接收方可以采用相同的工作密钥进行加密,使用相同的工作密钥号进行crc校验。
73.204:采用查找出的所述工作密钥对所述密文数据进行解密,得到待验证的明文数据。
74.205:将所述消息密钥和所述待验证的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码。
75.206:确定所述crc校验码和对应的所述工作密钥号一致时,使用的所述工作密钥号。
76.这里,当crc计算得到的crc校验码的位数和密钥库中工作密钥号的位数相同时,比较时比较整个crc校验码和工作密钥号是否一致。当crc计算得到的crc校验码的位数大于密钥库中工作密钥号的位数时,比较时比较crc校验码的部分和工作密钥号是否一致。
77.例如,crc校验码的位数为16位,密钥库中工作密钥号的位数为10位,比较crc校验码的高10位或低10位和工作密钥号是否一致,其中,比较crc校验码哪个部分根据发送方加密时选择crc校验码的哪个部分而定。
78.207:采用确定出的所述工作密钥号对应的所述工作密钥解密出的所述待验证的明文数据,作为明文数据。
79.在本公开实施例中,发送方和接收方采用相同的密钥库,发送方对消息密钥和待传输的明文数据拼接组帧数据进行crc校验码的计算,然后使用crc校验码作为工作密钥号,从密钥库中获取对应的工作密钥,使用消息密钥和工作密钥进行明文数据的加密,最后将消息密钥和密文数据组成数据帧发送给接收方。接收方在收到后,穷举工作密钥号,使用穷举的工作密钥号对应的工作密钥进行解密,得到待验证的明文数据,然后利用消息密钥和待验证的明文数据计算crc校验码,如果和工作密钥号一致,则采用该工作密钥号对应的工作密钥解密出来的待验证的明文数据作为最终的明文数据。可以看出,该方案在进行数据帧传输时,无需携带工作密钥号和crc校验码,通过接收方根据密钥库中工作密钥号进行穷举,利于工作密钥号和crc校验码相同的特点,完成crc校验以及解密,减小了传输开销,使得该方案适用于带宽受限的窄带保密通信系统。
80.图3是本公开实施例提供的一种数据传输方法的流程图。参见图3,由通信系统中的发送方(设备)和接收方(设备)执行,该方法包括:
81.301:发送方获取噪声源产生的随机数作为所述消息密钥。
82.示例性地,发送方从噪声源获得本次传输的消息密钥mk。
83.302:发送方将所述消息密钥和待传输的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码。
84.示例性地,发送方将mk、明文数据mt附接组帧为mk||mt,并对组帧后的数据进行crc校验运算得到校验码v
crc
,其中v
crc
=crc10(mk||mt)。
85.303:发送方采用所述crc校验码作为工作密钥号,从密钥库中获取与所述工作密
钥号对应的工作密钥。
86.在本公开实施例中,发送方和接收方采用完全相同的密钥库,从而使得发送方和接收方可以采用相同的工作密钥进行加密,使用相同的工作密钥号进行crc校验。
87.以10比特工作密钥号为例,表1为具有1024条工作密钥的密钥库。其中工作密钥号包括(wkn0、wkn1、

、wkn
1023
),对应的工作密钥包括(wk0、wk1、

、wk
1023
),wkni和wki与之一一对应。
88.表1密钥库
[0089][0090][0091]
例如,发送方计算的crc校验码为0x003,则从密钥库中选择工作密钥号为wkn3(0x003)对应的工作密钥wk3。
[0092]
304:发送方采用所述工作密钥和所述消息密钥对所述明文数据进行加密运算,生成密文数据。
[0093]
示例性地,发送方可以采用对称密钥算法对明文数据进行加密,从而生成密文数据。
[0094]
其中,明文数据可以是发送方待传输的任何数据,例如用户信息等。
[0095]
例如,发送方采用工作密钥wk3和消息密钥mk对待传输的用户信息明文pt,进行对称加密运算得到密文数据ct。其中ct=e
wk3,mk
(pt)。其中,e表示加密算法。
[0096]
305:发送方将所述消息密钥和所述密文数据组成数据帧,并发送给接收方。接收
方接收发送方发送的数据帧。
[0097]
示例性地,发送方将mk和ct附接组帧为mk||ct,并作为信道传输的数据发送给接收方。
[0098]
示例性地,本公开实施例中传输的数据帧的结构可以如下表2所示:
[0099]
表2数据帧的结构
[0100]
消息密钥密文数据
[0101]
示例性地,接收方在接收到数据帧后,按照表2中的结构获得其中的消息密钥和密文数据。
[0102]
306:接收方根据工作密钥号的位宽,穷举工作密钥号。
[0103]
示例性地,接收方根据工作密钥号的位宽10比特,穷举最多可以生成1024个工作密钥号,得到(wkn0、wkn1、

)工作密钥号集合。
[0104]
307:接收方每穷举一个工作密钥号后,采用穷举得到的所述工作密钥号对应的工作密钥解密得到所述待验证的明文数据,并采用所述消息密钥和所述待验证的明文数据计算所述crc校验码,直到所述crc校验码和所述工作密钥号一致。
[0105]
示例性地,接收方穷举出的工作密钥号wkni对应的工作密钥为wki,接收方采用wki、mk对密文数据ct进行解密运算,得到待验证的明文数据pti,其中pti=d
wki,mk
(ct)。其中,d表示解密算法。
[0106]
接收方将mk、pti进行附接组帧为mk||pti,并对上述组帧数据进行crc校验运算得到校验码v
icrc
,其中v
icrc
=crc10(mk||pti)。比较v
icrc
和wkni的值是否一致,进而确定工作密钥号。
[0107]
例如,若v
3crc
=wkn3,则确定工作密钥号为wkn3。
[0108]
在该实施例中,接收方是每穷举一个工作密钥号,就采用穷举得到的工作密钥号对应的工作密钥解密得到待验证的明文数据,然后采用消息密钥和待验证的明文数据计算crc校验码,当计算出的crc校验码和工作密钥号一致时,则停止穷举,这样可以使得整个计算量最小。
[0109]
在穷举过程中,可以按照从最大到最小,或者从最小到最大,或者以某个值作为节点向两侧穷举,或者在范围内随机等方式完成穷举。
[0110]
其中,以某个值作为节点向两侧穷举,可以如下:在最大值和最小值之间确定中间值,以中间值为起点,同时向两侧进行穷举。比如,中间值为wkna,则穷举的顺序可以为wkna、wkn
a+1
、wkn
a-1
、wkn
a+2
、wkn
a-2
……

[0111]
在其他实施例中,接收方也可以先穷举出所有的工作密钥号,并且采用穷举出的每个工作密钥号对应的工作密钥分别解密密文数据得到多个待验证的明文数据,然后采用消息密钥分别和各个待验证的明文数据计算出多个crc校验码,然后再查找出多个crc校验码中和工作密钥号一致的crc校验码。
[0112]
308:接收方确定所述crc校验码和对应的所述工作密钥号一致时,使用的所述工作密钥号。
[0113]
需要说明的是,如果穷举所有工作密钥号计算的crc校验码和工作密钥号均不一致,则crc校验失败,接收方通过arq协议,请求发送方重传数据帧。
[0114]
309:接收方采用确定出的所述工作密钥号对应的所述工作密钥解密出的所述待
验证的明文数据,作为明文数据。
[0115]
示例性地,若确定工作密钥号为wkn3,得到明文数据pt=pt3=d
wk3,mk
(ct)。
[0116]
图4是本公开实施例提供的一种数据发送装置的结构示意图。参见图4,所述数据发送装置包括:获取模块401、校验模块402、加密模块403和发送模块404,
[0117]
获取模块401,用于获取消息密钥;
[0118]
校验模块402,用于将所述消息密钥和待传输的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码;
[0119]
所述获取模块401,还用于采用所述crc校验码作为工作密钥号,从密钥库中获取与所述工作密钥号对应的工作密钥;
[0120]
加密模块403,用于采用所述工作密钥和所述消息密钥对所述明文数据进行加密运算,生成密文数据;
[0121]
发送模块404,用于将所述消息密钥和所述密文数据组成数据帧,并发送给接收方。
[0122]
可选地,所述获取模块401,用于获取噪声源产生的随机数作为所述消息密钥。
[0123]
需要说明的是:上述实施例提供的数据发送装置在进行数据发送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据发送装置与数据发送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0124]
图5是本公开实施例提供的一种数据接收装置的结构示意图。参见图5,所述数据接收装置包括:接收模块501、解密模块502、校验模块503和确定模块504,
[0125]
接收模块501,用于接收发送方发送的数据帧,所述数据帧包括消息密钥和密文数据;
[0126]
解密模块502,用于根据工作密钥号的位宽,穷举工作密钥号;采用穷举得到的所述工作密钥号在密钥库中查找对应的工作密钥;采用查找出的所述工作密钥对所述密文数据进行解密,得到待验证的明文数据;
[0127]
校验模块503,用于将所述消息密钥和所述待验证的明文数据拼接组帧,对组帧后的数据进行crc计算,得到crc校验码;
[0128]
确定模块504,用于确定所述crc校验码和对应的所述工作密钥号一致时,使用的所述工作密钥号;
[0129]
所述解密模块502,还用于采用确定出的所述工作密钥号对应的所述工作密钥解密出的所述待验证的明文数据,作为明文数据。
[0130]
可选地,所述解密模块502,用于穷举工作密钥号,每穷举一个工作密钥号后,采用穷举得到的所述工作密钥号对应的工作密钥解密得到所述待验证的明文数据,并采用所述消息密钥和所述待验证的明文数据计算所述crc校验码,直到所述crc校验码和所述工作密钥号一致。
[0131]
需要说明的是:上述实施例提供的数据接收装置在进行数据接收时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部
分功能。另外,上述实施例提供的数据接收装置与数据接收方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0132]
图6是本公开实施例提供的一种网络设备的结构框图。通常,网络设备包括有:处理器601和存储器602。
[0133]
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
[0134]
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本技术中方法实施例提供的由网络设备执行的数据发送方法或数据接收方法。
[0135]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0136]
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1