一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进SM4算法的水下可移动设备无线加密通信方法与流程

2021-12-07 20:14:00 来源:中国专利 TAG:

一种基于改进sm4算法的水下可移动设备无线加密通信方法
技术领域
1.本发明属于无线通信和信息安全领域,尤其涉及一种基于改进sm4算法的水下可移动设备无线加密通信方法。


背景技术:

2.水下可移动设备作战集群体系由多个作战单元组成,其中每个作战单元由一艘水上作战指挥舰船和舰船上搭载的若干水下可移动设备组成。作战开始后,指挥者根据目标位置初步规划进攻路径,把规划结果传输给水下可移动设备,并将其释放到海中。水下可移动设备根据规划路径移动到目标海域附近进行潜伏,定时接收舰船发送的目标实时信息,等待攻击指令。接收到舰船发送的攻击指令后,水下攻击可移动设备根据接收到的目标信息,对目标发动进攻,击毁作战目标。水下可移动设备通过传感器等设备探测水下环境状况并将环境信息发送给舰船,舰船根据水下可移动设备反馈的环境信息对作战任务内容进行相应更改。
3.水下攻击可移动设备的作战方式决定了要实现对目标的有效打击,舰船与水下攻击可移动设备的通信必须安全可靠。由于作战集群中参与作战的可移动设备数量较多且作战环境复杂,指挥舰船与水下攻击可移动设备之间主要采用无线通信方式。无线通信方式具有易被干扰,且传输信息易被监听、易被篡改的缺点。因此,亟需寻找一种方法,来确保通信的安全可靠。


技术实现要素:

4.为解决水下可移动设备作战集群无线通信的安全隐患,本发明提供一种基于改进sm4算法的水下可移动设备无线加密通信方法,能够保证无线通信传输的安全性和可靠性。
5.一种基于改进sm4算法的水下可移动设备无线加密通信方法,包括以下步骤:
6.s1:水面舰船准备释放水下可移动设备时,将已规划好的初始路径信息通过有线数据端口传输给水下可移动设备;同时,水面舰船每隔设定周期更新一次密钥,并通过有线数据端口将密钥实时传输给水下可移动设备;
7.s2:当初始路径信息传输完成后,终止水面舰船和水下可移动设备之间的有线通信,开启无线通信,并将最后一次更新的密钥作为加密通信的通信密钥;
8.s3:水面舰船和水下可移动设备在通信密钥的基础上,利用sm4算法生成轮密钥,再采用正序的轮密钥分别对各自要发送的信息进行加密、采用逆序的轮密钥对接收到的信息进行解密,实现无线加密通信。
9.进一步地,所述轮密钥(rk0,rk1,rk2,...,rk
31
)的生成公式如下:
[0010][0011][0012]
其中,k0~k
35
为中间变量;mk0~mk3为由128bit的通信密钥划分而成的密钥段,且mk0~mk3均为32bit的二进制序列;fk0~fk3为sm4算法中设定的系统参数,且fk0~fk3均为
32bit的二进制序列;ck0~ck
31
为sm4算法中设定的固定参数,且 ck0~ck
31
均为32bit的二进制序列,同时,ck0~ck
31
从64个固定参数中随机选出;表示为两个数的异或操作;t

(
·
)为sm4算法中由非线性变换和线性变换复合而成的可逆变换。
[0013]
进一步地,所述可逆变换t

(
·
)表示为l

(τ(
·
)),其中,τ(
·
)为sm4算法中定义的非线性变换,l

(
·
)为自定义的线性变换,且l

(
·
)变换公式如下:
[0014][0015]
其中,<<<为循环左移位操作。
[0016]
进一步地,64个固定参数中的每一个均由随机函数随机生成的32个不重复的随机正整数组合而成,且随机正整数为处于0~15之间的16进制数。
[0017]
进一步地,所述密钥在传输之前,水面舰船的控制系统会检查水面舰船与水下可移动设备之间相连线缆的通断情况,若断开,则放弃本次传输,反之进行正常传输。
[0018]
进一步地,在对信息进行加密和对信息进行解密前,判断信息的长度是否达到128bit,其中,对于长度不足128bit的信息,自动补0,使其长度达到128bit;对于长度大于128bit的信息,将信息按128bit的长度进行划分分组,对于最后大小不足128bit的组也补0使其长度达到128bit。
[0019]
有益效果:
[0020]
1、本发明提供一种基于改进sm4算法的水下可移动设备无线加密通信方法,通信密钥是不断生成和更新的,且通过有线通信方式传输,还将有线通信断开前最后一次更新的密钥作为加密通信的通信密钥,能够避免因事先约定而造成通信密钥的泄露和窃取,进一步加强了水下可移动设备无线通信的安全性和可靠性。
[0021]
2、本发明提供一种基于改进sm4算法的水下可移动设备无线加密通信方法,为增强sm4算法的抗差分攻击和线性攻击能力,将密钥扩展算法中用于产生轮密钥的固定参数ck采用为动态随机组合的方式产生,以此取代传统sm4 算法中的一成不变的32个固定参数;由此可见,本发明利用随机函数动态随机生成密钥扩展参数的方式,是为了通过参数生成的随机性和不确定性来增加轮密钥的复杂性、抗攻击能力以及密文破解的难度,使攻击者无法简单通过数学方法从密文中获得统计特性,有利于抵抗各类攻击,提高算法的安全性。
[0022]
3、本发明提供一种基于改进sm4算法的水下可移动设备无线加密通信方法,对水下可移动设备作战集群的无线通信进行了加密保护,使作战信息难以被敌方获取、破解和篡改,保证作战过程的安全和有效。
附图说明
[0023]
图1为本发明提供的水下可移动设备无线加密通信流程图;
[0024]
图2为sm4加密算法原理示意图。
具体实施方式
[0025]
为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
[0026]
sm4算法是一种适用于无线通信领域的加密算法,非常适合在实时性要求较高的
场合,易于硬件和软件实现。sm4算法是一种对称加密算法,信息的加密和解密的密钥相同。相较于des算法,能够大大提高加密算法的复杂度和安全性,相较于aes算法,实现过程更简单,与公钥密码算法相比,具有数据吞吐率高和硬件资源消耗少等优点。
[0027]
基于此,如图1所示,本发明提供一种基于改进sm4算法的水下可移动设备无线加密通信方法,包括以下步骤:
[0028]
s1:水面舰船准备释放水下可移动设备时,将已规划好的初始路径信息通过有线数据端口传输给水下可移动设备;同时,水面舰船每隔设定周期,如每隔100ms更新一次密钥,并通过有线数据端口将密钥实时传输给水下可移动设备。
[0029]
需要说明的是,密钥是舰船内部控制模块随机生成并储存的一组随机码,且为128bit的二进制序列;此随机码会通过有线通信模块的数据端口传输给水下可移动设备的控制模块存储区。
[0030]
此外,所述密钥在传输之前,水面舰船的控制系统会检查水面舰船与水下可移动设备之间相连线缆的通断情况,若断开,则放弃本次传输,反之进行正常传输。
[0031]
s2:当初始路径信息传输完成后,终止水面舰船和水下可移动设备之间的有线通信,开启无线通信,并将最后一次更新的密钥作为加密通信的通信密钥。
[0032]
也就是说,舰船释放水下可移动设备,断开有线连接瞬间,随机码生成更新中止,最后一次更新和存储的随机码作为双方进行基于sm4算法的无线加密通信的密钥。
[0033]
s3:水面舰船和水下可移动设备在通信密钥的基础上,利用sm4算法生成轮密钥,再采用正序的轮密钥分别对各自要发送的信息进行加密、采用逆序的轮密钥对接收到的信息进行解密,实现无线加密通信。
[0034]
也就是说,水面舰船与水下可移动设备进行无线通信时,水面舰船通过内部控制模块将要发送的指令信息利用sm4加密算法和加密轮密钥进行加密,通过舰船通信系统上的无线通信模块发送给水下可移动设备。水下可移动设备通过内部的无线通信模块接收到加密的指令信息,通过预先保存的密钥利用sm4 解密算法,将指令密文解密成指令明文,传输给可移动设备的控制模块,进行相应的处理和控制操作。
[0035]
水下可移动设备将侦察到的水下环境信息等信息通过sm4加密算法和加密密钥加密成密文,通过其上无线通信模块发送至水面舰船。水面舰船接收到密文信息,由无线通信模块传输到控制模块,利用sm4解密算法解密为明文信息,控制模块对该信息进行判断、处理和存储。
[0036]
需要说明的是,在对信息进行加密和对信息进行解密前,需要判断信息的长度是否达到128bit,其中,对于长度不足128bit的信息,自动补0,使其长度达到128bit;对于长度大于128bit的信息,将信息按128bit的长度进行划分分组,对于最后大小不足128bit的组也补0使其长度达到128bit。
[0037]
下面介绍现有的sm4算法的基本原理:
[0038]
sm4算法包括加密算法、解密算法和密钥扩展算法。
[0039]
如图2所示,所述的加密算法包括32次迭代计算和1次反序变换。
[0040]
定义为二进制的e bit的向量集,假设待加密的明文输入为经过加密算法处理后的密文输出为轮密钥为
所述加密算法包括以下步骤:
[0041]
s31:将输入的明文信息(x0,x1,x2,x3)进行32次迭代计算,迭代公式如下:
[0042][0043]
其中,f(
·
)为轮函数;表示为两个数的异或操作;t(
·
)是一个可逆变换,由非线性变换和线性变换的复合而成,可表示为t(
·
)=l(τ(
·
))。
[0044]
假设τ(
·
)变换的输入内容为通过进行非线性变换,输出结果为该变换公式表示如下:
[0045]
τ(a)=(sbox(a0),sbox(a1),sbox(a2),sbox(a3))=(b0,b1,b2,b3)=b
[0046]
在本实施例中,所述的加密算法包括32次迭代计算和1次反序变换,迭代计算是由非线性变换τ(
·
)、线性变换l(
·
)和异或操作组成,反序变换为:r(a0,a1,a2,a3)=(a3,a2,a1,a0)
[0047]
非线性变换τ(
·
)是由4个并行的s盒构成,s盒是一个8bit输入和8bit输出的表格,记为sbox(
·
),用于对输入数据进行非线性置换。sm4的s盒如下表1所示,s盒的输入、输出以及表格中数值都采用16进制。由表可知,如果s盒的输入为“8f”,经过查表1可得输出为s盒第8行第f列对应的数值,即输出结果为sbox(8f)=a1。
[0048]
表1 s盒查找表
[0049] 0123456789abcdef0d690e9fecce13db716b614c228fb2c0512b679a762abe04c3aa4413264986069929c4250f491ef987a33540b43edcfac623e4b31ca9c908e89580df94fa758f3fa644707a7fcf37317ba83593c19e6854fa85686b81b27164da8bf8eb0f4b70569d3561e240e5e6358d1a225227c3b012178877d40046579fd327524c3602e7a0c4c89e8eabf8ad240c738b5a3f7f2cef96115a19e0ae5da49b341a55ad933230f58cb1e3a1df6e22e8266ca60c02923ab0d534e6fbd5db3745defd8e2f03ff6a726d6c5b51c8d1baf92bbddbc7f11d95c411f105ad8d0ac13188a5cd7bbd2d74d012b8e5b4b0e8969974a0c96777e65b9f109c56ec684f18f07dec3adc4d2079ee5f3ed7cb3948
[0050]
假设输入内容为通过进行非线性变换τ(
·
),则输出结果为该非线性变换公式为:
[0051]
τ(a)=(sbox(a0),sbox(a1),sbox(a2),sbox(a3))=(b0,b1,b2,b3)=b
a3b1bac656aa3350677d99197b27022dc
[0069]
表3原ck参数表
[0070]
00070e151c232a31383f464d545b626970777e858c939aa1a8afb6bdc4cbd2d9e0e7eef5fc030a11181f26bd343b424950575e656c737a81888f969da4abb2b9c0c7ced5dse3eaf1f8ff060d141b222930373e454c535a61686f767d848b9299a0a7aeb5bcc3cad1d8dfe6edf4fb020910171e252c333a41484f5565d646b7279
[0071]
表4扩展后的ck参数表
[0072]
00070e151c232a31383f464d545b626970777e858c939aa1a8afb6bdc4cbd2d9e0e7eef5fc030a11181f26bd343b424950575e656c737a81888f969da4abb2b9c0c7ced5dse3eaf1f8ff060d141b222930373e454c535a61686f767d848b9299a0a7aeb5bcc3cad1d8dfe6edf4fb020910171e252c333a41484f5565d646b727934e2e7a4bb23482e9124a01598ca015a73b65fa3e4c359522476315121faacfcb7584dbd17707b326fef2c24ed4bb3acfbc1733f9244423941662b61cfcbb5d97c359a66d420b428a1800cf2e4fc7326cc874699a520307c0633fa19ff99f35701cf72e5f7140c81b79be680fe941606e4fc77561fd3ff2d25fde680104495a1
[0073]
需要说明的是,本发明对于sm4改进的具体方法为将原来固定的32个参数ck扩展为64个ck参数,其值如表4所示。确定密钥扩展算法的参数ck 值的方法,是采用随机函数随机生成0~15之间的32个不重复的随机正整数,以此作为查询索引号,根据表4进行查询确定一组参数ck的值,用于轮密钥扩展算法。
[0074]
由此可见,本发明所述的改进的sm4算法,是对原sm4算法的密钥扩展算法进行了改进,使用动态随机组合的方式确定ck参数以取代原参数,通过提高轮密钥生成的随机性来增强密文的抗攻击性能和提高密文破解的难度。
[0075]
最后,在本发明中,所述的解密算法和加密算法的结构相同,只是在解密算法中所使用的轮密钥为加密算法的轮密钥的逆序,即若加密算法使用的加密轮密钥为(rk0,rk1,

,rk
31
),则解密使用的解密轮密钥为(rk
31
,rk
30
,

,rk0)。
[0076]
综上所述,本发明提供一种基于改进sm4算法的水下可移动设备无线加密通信方法,首先,通信密钥是不断生成和更新的,且通过有线通信方式传输,避免了因事先约定而
造成通信密钥的泄露和窃取,进一步加强了水下可移动设备无线通信的安全性和可靠性;其次,采用随机生成密钥扩展参数方法,增加了轮密钥生成随机性和复杂性,提升了加密算法的复杂度和安全性;最后,对水下可移动设备作战集群的无线通信进行了加密保护,使作战信息难以被敌方获取、破解和篡改,保证作战过程的安全和有效。
[0077]
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当然可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献