本申请涉及通信技术领域,特别涉及信息加密发送及解密接收的方法及装置。
背景技术:
在网络通信中,网络设备,例如:交换机,路由器以及防火墙等,一般都支持管理人员对其进行远程配置。在进行远程配置时,配置信息需要通过网络进行传递,故存在泄漏的风险,所以对配置信息进行加密,是十分必要的。
现有的加密技术中,管理人员侧的客户端设备与待配置的网络设备均被分配有相同的秘钥,配置信息明文在客户端通过秘钥进行加密,再通过秘钥在网络设备侧进行解密,以获得配置信息明文。使用现有的配置信息加密技术,相同的配置信息明文将会得到相同的配置信息密文,其破译的难度低,安全性差。
技术实现要素:
本发明实施例提供信息加密发送及解密接收的方法和装置,用于解决现有的信息加密技术破译的难度低,安全性差的问题。
根据本发明实施例的第一方面,提供一种信息加密发送的方法,其特征在于,所述方法应用于客户端设备,所述客户端设备用于对网络设备的远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待加密的配置信息明文,所述方法包括:
生成任一随机数;
使用所述任一随机数对所述配置信息明文进行可逆加密,获得第一密文;
拼接所述任一随机数以及第一密文以生成第二密文,其中,所述任一随机数保存在所述第二密文预先分配的随机数预设字段,所述第一密文保存在所述第二密文预先分配的密文预设字段;
使用所述秘钥对所述第二密文进行可逆加密,获得第三密文;
向所述网络设备发送所述第三密文。
根据本发明实施例的第二方面,提供一种信息解密接收的方法,其特征在于,所述方法应用于网络设备,客户端设备可对所述网络设备进行远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待解密数据,所述方法包括:
从所述客户端设备接收所述待解密数据;
使用所述秘钥对所述待解密数据进行解密,获得第一解秘文;
从所述第一解秘文的随机数预设字段读取特定值,从所述第一解秘文的密文预设字段读取第二解密文;
使用所述特定值对所述第二解密文进行解密,获得配置信息解密明文。
根据本发明实施例的第三方面,提供一种信息加密发送的装置,其特征在于,所述装置应用于客户端设备,所述客户端设备用于对网络设备的远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待加密的配置信息明文,所述装置包括:
生成单元,用于生成任一随机数;
加密单元,用于使用所述任一随机数对所述配置信息明文进行可逆加密,获得第一密文;还用于,使用所述秘钥对所述第二密文进行可逆加密,获得第三密文;
拼接单元,用于拼接所述任一随机数以及第一密文以生成第二密文,其中,所述任一随机数保存在所述第二密文预先分配的随机数预设字段,所述第一密文保存在所述第二密文预先分配的密文预设字段;
发送单元,用于向所述网络设备发送所述第三密文。
根据本发明实施例的第四方面,提供一种信息解密接收的装置,其特征在于,所述装置应用于网络设备,客户端设备可对所述网络设备进行远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待解密数据,所述装置包括:
接收单元,用于从所述客户端设备接收所述待解密数据;
解密单元,用于使用所述秘钥对所述待解密数据进行解密,获得第一解密文;
还用于,使用特定值对第二解密文进行解密,获得配置信息解密明文;
读取单元,用于从所述第一解密文的随机数预设字段读取特定值,从所述第一解密文的密文预设字段读取第二解密文。
由以上技术方案可见,本发明实施例先使用任一随机数对配置信息明文进行第一次加密,再使用预设秘钥对第一次加密后的配置信息明文以及上述任一随机数进行第二次加密。由于随机数的不确定性,应用本发明实施例,对同一配置信息明文加密后将得到不同的配置信息密文,其破译的难度高,安全性好。
附图说明
图1为本发明实施例信息加密发送的方法的一个应用场景示意图;
图2为本发明信息加密发送的方法的一个实施例流程图;
图3为本发明信息解密接收的方法的一个实施例流程图;
图4为本发明信息加密发送的方法的另一个实施例流程图;
图5为本发明信息加密发送或信息解密接收的装置所在设备的一种硬件结构图;
图6为本发明信息加密发送的装置的一个实施例框图。
具体实施方式
为了使本技术领域的人员更好的理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中的技术方案作进一步详细的说明。
图1为本发明实施例信息加密发送的方法的一个应用场景示意图。
如图1所示,该场景中包含:客户端设备和网络设备,所示客户端设备和网络设备相连接,客户端设备可以通过该链接对网络设备进行远程配置。在进行远程配置时,配置信息需要通过网络进行传递,故存在泄漏的风险,所以对配置信息进行加密,是十分必要的。
现有的配置信息加密技术中,所示客户端设备与所示待配置的网络设备均被分配有相同的秘钥,配置信息明文在所示客户端设备通过秘钥进行加密,再通过秘钥在所示网络设备侧进行解密,以获得配置信息明文。使用现有的配置信息加密技术,相同的配置信息明文将会得到相同的配置信息密文,其破译的难度低,安全性差。
下面结合图1示出的应用场景,对本发明实施例进行详细说明。
图2为本发明信息加密发送的方法的一个实施例流程图,该实施例应用于客户端设备,所述客户端设备用于对网络设备的远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待加密的配置信息明文,所述方法包括以下步骤:
步骤201:生成任一随机数。
步骤202:使用所述任一随机数对所述配置信息明文进行可逆加密,获得第一密文。
在一个可选的例子中,上述可逆加密过程可以为:
将上述配置信息明文中的第一个字符的二进制码与上述任一随机数的二进制码进行异或运算;将上述配置信息明文中的除第一个字符以外的任一字符的二进制码,与上述任一字符的前一字符的二进制码进行异或运算。
或,
将上述配置信息明文中的每个字符的二进制码与上述任一随机数的二进制码进行异或运算。
其中上述任一随机数的二进制码位数不足上述字符的二进制码位数时在高位补0,上述任一随机数的二进制码位数超出上述字符的二进制码位数时,按上述超出的位数舍去高位。
在另一个可选的例子中,在进行上述异或预算前,可以将上述配置信息明文中的每个字符的二进制码,按照预设移位规则进行移位,例如:
某字符的二进制码为0000-1010,可以按照预设的移位规则将高4位0000与低4位1010进行移位,移位后的二进制码为1010-0000。
步骤203:拼接所述任一随机数以及第一密文以生成第二密文,其中,所述任一随机数保存在所述第二密文预先分配的随机数预设字段,所述第一密文保存在所述第二密文预先分配的密文预设字段。
步骤204:使用所述秘钥对所述第二密文进行可逆加密,获得第三密文。
本步骤中的可逆加密过程与步骤203中的加密过程相似,在此不再赘述。
步骤205:向所述网络设备发送所述第三密文。
由以上技术方案可见,本发明实施例先使用任一随机数对配置信息明文进行第一次加密,再使用预设秘钥对第一次加密后的配置信息明文以及上述任一随机数进行第二次加密。由于随机数的不确定性,应用本发明实施例,对同一配置信息明文加密后将得到不同的配置信息密文,其破译的难度高,安全性好。
图3为本发明信息解密接收的方法的一个实施例流程图,该实施例应用于网络设备,客户端设备可对所述网络设备进行远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待解密数据,所述方法包括以下步骤:
步骤301:从所述客户端设备接收所述待解密数据。
步骤302:使用所述秘钥对所述待解密数据进行解密,获得第一解秘文。
在一个可选的例子中,上述解密过程可以为:
将上述待解密数据中的第一个字符的二进制码与上述秘钥的二进制码进行异或运算;将上述待解密数据中的除第一个字符以外的任一字符的二进制码,与上述任一字符的前一字符的二进制码进行异或运算。
或,
将上述待解密数据中的每个字符的二进制码与上述秘钥的二进制码进行异或运算。
其中上述秘钥的二进制码位数不足上述字符的二进制码位数时在高位补0,上述秘钥的二进制码位数超出上述字符的二进制码位数时,按上述超出的位数舍去高位。
在另一个可选的例子中,在进行上述异或预算前,可以将上述待解密数据中的每个字符的二进制码,按照预设移位规则进行移位,例如:
待解密数据中某字符的二进制码为0000-1010,可以按照预设的移位规则将高4位0000与低4位1010进行移位,移位后的二进制码为1010-0000。
步骤303:从所述第一解秘文的随机数预设字段读取特定值,从所述第一解秘文的密文预设字段读取第二解密文。
步骤304:使用所述特定值对所述第二解密文进行解密,获得配置信息解密明文。
本步骤中对第二解密文的解密过程与步骤302中的解密过程相似,在此不再赘述。
图4为本发明信息加密发送的方法的另一个实施例流程图,该实施例应用于客户端设备,所述客户端设备用于对网络设备的远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待加密的配置信息明文,所述方法对配置信息明文的加密过程进行了详细说明,所述方法包括以下步骤:
步骤401:生成任一随机数。
步骤402:将所述配置信息明文中的每个字符的二进制码,按照预设移位规则进行移位。
在一个可选的例子中,所述预设移位规则可以为二进制码高低位的对调,例如:
配置信息明文中某字符的二进制码为0000-1010,可以按照预设的移位规则将高4位0000与低4位1010进行移位,移位后的二进制码为1010-0000。
步骤403:将所述配置信息明文中的第一个字符的二进制码与所述任一随机数的二进制码进行异或运算。
步骤404:将所述配置信息明文中的除第一个字符以外的任一字符的二进制码,与所述任一字符的前一字符的二进制码进行异或运算。
下面通过一个具体的应用实例对步骤403和步骤404进行说明:
假设步骤401中通过随机函数获得随机数为7,其二进制码为111;配置信息明文的字符串长度为N,存储在数组S中,每个字符分别存贮至S[0]~S[N-1],首先将S[0]的进制码与随机数的二进制码进行异或运算,并将运算结果存储至数组A的A[0],假设S[0]的进制码为0000-0001,所述过程如下:
因为随机数为7的二进制码不足8位,所以将其不足位以0补全,有0000-0111;
A[0]←0000-0001^0000-0111,其中,符号^为异或符号,运算结果为A[0]=0000-0110。
然后将后续的字符S[i](i从1至N-1逐步递增)与A[i-1]进行异或,并存储至A[i]中,即:A[i]←S[i]^A[i-1]。
自此对配置信息明文的加密过程结束。其中,需要说明的是,异或算法的加密是一种可逆加密可逆,通过该例子,我们继续对其可逆性质进行验证。
根据以上加密算法可知密文分别为:
A[0]=0000-0001^0000-0111
A[1]=S[1]^A[0]=S[1]^S[0]^0000-0111
故:
A[2]=S[2]^S[1]^S[0]^0000-0111
…
A[N-1]=S[N-1]^…^S[0]^0000-0111
由于异或运算满足交换律,即a^b=b^a,故有:
A[N-1]^A[N-2]=(S[N-1]^…^S[0]^0000-0111)^(S[N-2]^…^S[0]^0000-0111)
=S[N-1]^S[N-2]^S[N-2]^S[N-3]^S[N-3]^…^S[0]^S[0]^0000-0111^0000-0111
=S[N-1]^0^0^…^0
=S[N-1]。
同理可计算得出S[N-2]、S[N-3]、…、S[1]和S[0]。
步骤405:拼接所述任一随机数以及第一密文以生成第二密文,其中,所述任一随机数保存在所述第二密文预先分配的随机数预设字段,所述第一密文保存在所述第二密文预先分配的密文预设字段。
步骤406:使用所述秘钥对所述第二密文进行可逆加密,获得第三密文;
本步骤中的第二密文加密过程与步骤403及步骤404中对配置信息明文的加密过程相似,在此不再赘述。
步骤407:向所述网络设备发送所述第三密文。
与前述信息加密发送及解密接收的方法的实施例相对应,本申请还提供了信息加密发送及解密接收的装置的实施例。
本申请信息加密发送的装置的实施例可以应用在客户端设备上。本申请信息解密接收的装置的实施例可以应用在网络设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请信息加密发送及解密接收的装置所在设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图6,为本发明信息加密发送的装置的一个实施例框图,所述装置应用于客户端设备,所述客户端设备用于对网络设备的远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待加密的配置信息明文,所述装置包括:生成单元610,加密单元620,拼接单元630,发送单元640。
其中,生成单元610,用于生成任一随机数;
加密单元620,用于使用所述任一随机数对所述配置信息明文进行可逆加密,获得第一密文;还用于,使用所述秘钥对所述第二密文进行可逆加密,获得第三密文;
拼接单元630,用于拼接所述任一随机数以及第一密文以生成第二密文,其中,所述任一随机数保存在所述第二密文预先分配的随机数预设字段,所述第一密文保存在所述第二密文预先分配的密文预设字段;
发送单元640,用于向所述网络设备发送所述第三密文。
由以上技术方案可见,本发明实施例先使用任一随机数对配置信息明文进行第一次加密,再使用预设秘钥对第一次加密后的配置信息明文以及上述任一随机数进行第二次加密。由于随机数的不确定性,应用本发明实施例,对同一配置信息明文加密后将得到不同的配置信息密文,其破译的难度高,安全性好。
在一个可选的例子中,所述加密单元620包括(图6中未示出):异或运算子单元。
异或运算子单元,用于将所述配置信息明文中的第一个字符的二进制码与所述任一随机数的二进制码进行异或运算;
还用于,将所述配置信息明文中的除第一个字符以外的任一字符的二进制码,与所述任一字符的前一字符的二进制码进行异或运算。
在另一个可选的例子中,所述异或运算子单元,还用于:
将所述配置信息明文中的每个字符的二进制码与所述任一随机数的二进制码进行异或运算。
在另一个可选的例子中,所述装置还包括(图5中未示出):移位单元。
移位单元,用于在进行所述异或预算前,将所述配置信息明文中的每个字符的二进制码,按照预设移位规则进行移位。
与上述加密发送装置相对应,本发明实施例还提供一种信息解密接收的装置,所述装置应用于网络设备,客户端设备可对所述网络设备进行远程配置,所述客户端设备与所述网络设备均分配有相同的秘钥,所述客户端设备保存有待解密数据,所述装置包括:接收单元,解密单元,读取单元。
接收单元,用于从所述客户端设备接收所述待解密数据;
解密单元,用于使用所述秘钥对所述待解密数据进行解密,获得第一解秘文;
还用于,使用所述特定值对所述第二解密文进行解密,获得配置信息解密明文;
读取单元,用于从所述第一解秘文的随机数预设字段读取特定值,从所述第一解秘文的密文预设字段读取第二解密文。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。