【技术实现步骤摘要】
一种蓝牙设备数据加密结构及加解密方法
[0001]本专利技术涉及加解密算法领域,具体涉及一种蓝牙设备数据加密结构及加解密方法。
技术介绍
[0002]在对现有的未加密认证及加密数据传输的某品牌手环进行分析:下载一个蓝牙测试APP:LightBlue,将APP连接手环,连接之后,可以看到一些UUID及SERVICE参数,这UUID及SERVICE对应着不同的功能及通讯数据协议,不难发现有Service:immediate Alert直接就是明文的Alarm Alert等级设置。我们在Alert Level中“Write new value”写入新值:1或2(震动级别:0不震动、1轻微&小幅震动、2强烈震动)可控制手环的震动。通过这种方法,可控制一定范围内任何人的某品牌手环,使其不停震动。通过实验,可以看出,在没有软件安全措施的情况下,蓝牙设备是不安全的,通过一些APP可以直接进行连接,连接后可以通过UUID获取相应的数据和进行控制,这就会侵犯了消费者的隐私。所以蓝牙设备数据加密技术势在必行,保证数据的安全性正是信息时代的主题。
[0003]目前来说,大多数方案基本只是采用简单的AES128加密或者是SM4加密数据传输的安全方案,如果对AES以及SM4算法进行能量攻击的话,会发现无防护的AES、SM4加密算法在CPA和DPA攻击面前显得非常脆弱。另外,如果将AES和SM4算法中复用相同的模块,设计的成本以及设备面积都会大大降低,在现实面临选择上也更加灵活。
技术实现思路
[0004 ...
【技术保护点】
【技术特征摘要】
1.一种蓝牙设备数据加密结构,其特征在于,包括混合加密模块,其中:所述混合加密模块包括AES/SM4可配置字节替换加密算法模块,该模块包括选择器1至7、轮密钥加单元1和2、可配置密钥扩展单元、可配置字节替换单元、分配器、行移位单元、列混淆单元、线性变换单元、反序变换单元,其中:初始密钥key进入选择器1,分为值相同的key_A、key_B;其中key_A进入可配置密钥扩展单元进行密钥扩展处理后,如果算法为AES,则输出ex_keyA,如算法是SM4,则输出ex_keyS到选择器2;其中选择器2将ex_keyA用于AES轮变换中的轮密钥加单元1;选择器2将ex_keyS与选择器1的key_B一同进入选择器3中,如果算法为SM4,则选择器3输出ex_keyS至轮密钥加单元2,如果算法为AES,则输出key_B至轮密钥加单元2;对于AES算法,明文数据X直接进入选择器4中,而对于SM4算法,则将数据分成4
×
4明文数据矩阵X
i
、X
i+1
、X
i+2
、X
i+3
,对矩阵的高三位数据矩阵X
i+1
、X
i+2
、X
i+3
进行异或处理之后得到的数据进入选择器4中;根据算法为AES或SM4,在轮密钥加单元2中进行对应算法的轮密钥加处理,则在选择器5处得到AES的轮密钥加结果X_A或SM4的轮密钥加结果X_S;X_A作为AES算法第一轮迭代的输入数据进入选择器6中并作为第一轮的输出,之后选择器6将轮密钥加单元1输出的轮密钥加结果A_lun作为输出进入可配置字节替换单元中,而一同进入该单元的还有数据X_S,经过可配置字节替换单元的字节替换处理后,根据算法为AES或SM4,得到X_byteA或X_byteS;分配器根据算法为AES或SM4进行分配,将前面输出得到的X_byteA输入到行移位单元中进行移位变换处理,再将处理结果输出到列混淆单元;列混淆单元的输出将进入选择器7中,其中最后一轮输入进入轮密钥加单元1的数据是行移位单元直接输出的数据,其他时候是列混淆单元输出的数据;轮密钥加单元1的输出将重新进入选择器6中,直到在AES算法最后一轮的轮密钥加单元1运算之后,得到最终的AES加密密文A;在分配器将得到的数据X_byteS分配进入线性变换单元中,进行循环移位处理之后得到的结果与低一位数据矩阵X
i
进行异或处理,得到的结果作为SM4算法的第一轮循环的输出,第一轮循环的输出作为第二轮循环的输入,再分成新的4
×
4明文数据矩阵进行迭代循环;在达到循环迭代次数后,对最后一轮数据异或处理得到的结果通过反序变换单元进行反序变换得到最终的密文S。2.根据权利要求1所述的蓝牙设备数据加密结构,其特征在于,对于密钥key_A,所述可配置密钥扩展单元对于AES算法通过以下算式2循环迭代10轮得到扩展后的密钥ex_keyA,对于SM4算法通过算式3循环迭代32轮得到扩展后的密钥ex_keyS:对于SM4算法通过算式3循环迭代32轮得到扩展后的密钥ex_keyS:式2中,K0、K1、K2、K3表示AES的密钥,上标j表示迭代轮数;式3中,下标i表示迭代轮数,K
i
、K
i+1
、K
i+2
、K
i+3
表示SM4的密钥,rk
i
表示第i次迭代得到的密钥,其中第一次迭代时,i=0;SBOX()表示可配置字节替换单元,完成字节与字节之间的替换;Shift()表示的是字循环
操作运算,将输入数据的最后一个字循环左移一个字节;Rcon(j)表示的是AES算法每一轮的轮常数,CK
i
是SM4算法每一轮的固定常数,<<<表示循环左移。3.根据权利要求1所述的蓝牙设备数据加密结构,其特征在于,所述可配置字节替换单元中,对于AES算法、SM4算法进行字节替换的表达式如式4和式5:Z=M(δ
‑1(δX)
‑1)+V
ꢀꢀꢀꢀ
(4)Y=A(T
‑1(T(AX+C))
‑1)+C
ꢀꢀꢀꢀ
(5)其中,X表示输入到该单元中的数据,Z表示经过AES字节替换的结果,Y表示经过SM4字节替换的结果;矩阵M表示AE...
【专利技术属性】
技术研发人员:刘远,黄宏敏,谢家兴,梁润华,
申请(专利权)人:佛山芯珠微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。