利索能及
我要发布
收藏
专利号: 2022114208739
申请人: 济南职业学院
专利类型:发明专利
专利状态:已下证
更新日期:2026-05-07
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种工业无线通信安全方法,其特征在于,包括多设备密钥协商及更新方法、密钥扩展方法和加解密方法;

所述密钥协商及更新方法,其特征在于,包括以下步骤:S1、密钥协商

2 3

可信设备A、B、C...N接入网络之后,进行基于椭圆曲线方程y=x+ax+b的密钥协商,a、b为其系数,G为双方约定的基于该椭圆曲线的某个基点,n为基点G的阶,每次更新密钥时对a、b和G进行动态调整,具体步骤如下:S11、各设备使用自带的随机数发生器产生随机数ri∈[1,n‑1];基于ri计算椭圆曲线点Ri=[ri]G=(xi,yi);生成私钥di,私钥存储于可信区域内,严格保密且无法传输;基于私钥di生成公钥Pi=[di]G;上述步骤中i∈[A,N];

S12、各设备向网络中发布非密数据:Ri、Pi;

S13、设备i获取其他设备的非密数据并计算椭圆曲线点:Ei=[ti](PA+RA)... (Pi‑1+Ri‑1) (Pi+1+Ri+1)... (PN+RN)=(xi',yi'),其中ti=di+ri;

因此对于设备A:EA=[tA](PB+RB)(PC+RC)...(PN+RN)=(xA',yA'),其中tA=dA+rA;

对于设备B:EB=[tB](PA+RA)(PC+RC)...(PN+RN)=(xB',yB'),其中tB=dB+rB;

依次类推可得到所有设备的椭圆曲线点;

各椭圆曲线点的坐标值相同,即xA'=xB'=...=xN',yA'=yB'=...=yN';

S14、各设备计算协商密钥

首先各设备基于SM3算法计算256位哈希值:HA=H256(xA'||yA');HB=H256(xB'||yB');...;HN=H256(xN'||yN');

然后计算协商密钥:

KA=F192(HA);KB=F192(HB);...;KN=F192(HN);F192表示选取256位哈希值的前192位;

由S13步骤已知各椭圆曲线点坐标值相同,因此各设备获得相同的系统私钥值d∑=KA=KB=...=KN;

d∑为192位,对d∑进行十六进制数表示:A0A1A2A3A4A5A6A7A8A9A10A11A12A13A14A15A16A17A18A1

9A20A21A22A23A24A25A26A27A28A29A30A31A32A33A34A35A36A37A38A39A40A41A42A43A44A45A46A47,每个Ai表示

4位;另外可表示d∑=dSM4||dodd‑even,dSM4为密钥扩展算法使用的原始密钥,由A0~A31组成,dodd‑even为S盒置换机制中奇偶判定依据,由A32~A47组成;

S2、密钥更新

当有新设备接入并认证成功后,或经过设定周期T后,各设备建立第二线程并依据S1各

2 3

步骤对密钥进行更新,密钥更新前需依据已协商的密钥对椭圆曲线方程y =x+ax+b的a和b2

参数进行更新,使a=A46,b=A47,并重新选择椭圆曲线的基点G,使其横坐标xG=HA,然后根据y3

=x+A46x+A47计算纵坐标yG,最终G=(xG,yG)。

2.根据权利要求1所述的一种工业无线通信安全方法,所述密钥扩展方法,其特征在于,包括以下步骤:

S3、数据的预处理和输入:

原始密钥dSM4被拆分为:

MK0(32位):A0A1A2A3A4A5A6A7;

MK1(32位):A8A9A10A11A12A13A14A15;

MK2(32位):A16A17A18A19A20A21A22A23;

MK3(32位):A24A25A26A27A28A29A30A31;

MK0、MK1、MK2、MK3分别与动态参数FK进行异或运算后进入轮函数F';

设置动态参数FK,以dSM4的反向数值作为FK的设置依据:FK0:A31A30A29A28A27A26A25A24;

FK1:A23A22A21A20A19A18A17A16;

FK2:A15A14A13A12A11A10A9A8;

FK3:A7A6A5A4A3A2A1A0;

设置动态参数CKi:在轮函数F'中根据轮次数i设定动态参数CKi,当i=0时,使CK0=FK1,当i≠0时,引入轮函数F'中间变量CKi=M';

S4、轮函数F'运算:

S41、构造S盒置换机制τ:

SM4算法中标准的S盒符号为S1;基于混沌算法生成的S盒符号为S2; S2经过行列置换后的S盒符号为S2';τ用于S盒的选择、评估和置换,每次进行密钥更新后需重设该机制,具体方法为:对A32~A47进行求和,结果为奇数则使用S1盒对32位数据M进行置换;结果为偶数则对S2盒进行行列置换形成S2'盒,其中A0~A15用于S2盒的列变换,依次交换A0A1列、A2A3列... A14A15列,A16~A31用于S2盒的行变换,依次交换A16A17行、A18A19行... A30A31行,构造S2'盒完成后计算其适应度函数,通过权衡其非线性度Ns、差分均匀度δs、雪崩度Bs构造函数f(s)=asfs(Ns)+adfd(δs)+aBfB(Bs),这里定义fs(Ns)=Ns,fd(δs)=δs,fB(Bs)=Bs,as、ad、aB表示加权系数,f(s)越大则S盒综合性能越优良,适应度函数完整形式如下:f(s)=

所有设备约定相同的适应度阈值fTTZ,当f(s)≥fTTZ时则对32位数据M进行S2'盒的置换,若f(s)<fTTZ时则对32位数据M进行原始S2盒的置换;

S42、轮密钥输出:

计算输出值:Ki+4= Ki⊕T'(M)=Ki⊕T'(Ki+1⊕Ki+2⊕Ki+3⊕CKi),i=0,1,......,31;

其中T'为密钥扩展算法的合成置换操作;

T'(Ki+1⊕Ki+2⊕Ki+3⊕CKi)=L'(τ(Ki+1⊕Ki+2⊕Ki+3⊕CKi));

其中L'()操作为线性变换,其计算公式为:L'(B)= B⊕(B<<<13)⊕(B<<<23)。

3.根据权利要求1所述的一种工业无线通信安全方法,所述加解密方法,其特征在于,包括以下步骤:

S5、输入明文的预处理:

每次输入128bit明文,可拆分为X0,X1,X2,X3;

计算输入进S盒置换机制τ的数据:

M=Xi+1⊕Xi+2⊕Xi+3⊕rki=Xi+1⊕Xi+2⊕Xi+3⊕Ki+4S6、轮函数F运算:

S61、构造S盒置换机制τ:

τ用于S盒的选择、评估和置换,直接借用S41步骤生成的S盒置换机制τ;

S62、生成密文:

Xi+4=Xi⊕T(M)= Xi⊕T(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4),i=0,1,......,31;

其中T为加密算法的合成置换操作;

T(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4) =L(τ(Xi+1⊕Xi+2⊕Xi+3⊕Ki+4));

其中L()操作为线性变换,其计算公式为:L(B)=(B<<<2)⊕(B<<<10)⊕B⊕(B<<<18)⊕(B<<<24);

反序变换:在轮函数F中进行32次迭代后最终获得X32, X33, X34, X35共计128bit数据,使用反序变换最终得到128bit密文C=X35||X34||X33||X32;

S7、解密方法:

本算法的解密变换与加密变换相同,不同的仅是轮密钥的使用顺序,解密时,使用轮密钥序(rk31,rk30,..., rk0)。