物联网高速发展,无线连接广泛运用,物联网通信安全受到热烈关注。泽耀科技高度重视用户数据安全,及时推出高强度AES128加密功能。

android studio AES ECB加密 aes如何加密_物联网

AES-128加密的实现原理

AES加密是美国联邦政府设计用于替代原先的DES加密的一种新式高级加密标准,现已经是全世界广泛使用的高级加密标准,它具有很好的抵抗差分密码分析及线性密码分析的能力,能够抵抗所有已知的攻击,编码紧凑,实现速度快。

android studio AES ECB加密 aes如何加密_串口调试_02

如何实现加密

使用加密功能,通信的双方需要使用相同的密钥。AS60-T30支持AES加密功能,使用命令 [0xC6 + 16Byte密码] 开启AES加密功能。密码第一字节不能为0x00 ,关闭AES加密功能可以同样使用此命令,将16字节密码全部设置为 0x00即关闭AES加密功能。下面演示基于AS62-T30无线模组的加密通信实现。

开启加密

启用AES加密功能,使用AS15-USB-T2转接板将AS62-T30 无线模块连接到电脑,打开串口调试助手连接到AS62-T30 ,16进制发送[ C6 1A 1B 1C 1D 1E 1F FF EF DF CF BF AF C6 C6 C6 FF ]其中密码为 [ 1A 1B 1C 1D 1E 1F FF EF DF CF BF AF C6 C6 C6 FF ] ,配置成功后模块返回[ OK ] 或者[ 4F 4B 0D 0A ] 。

android studio AES ECB加密 aes如何加密_物联网_03

关闭加密

将密码设置为0即可关闭AES加密功能,有三种实现方式。第一种使用串口调试助手向模块发送 [ C6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]将密码设置为0;第二种实现方式使用串口调试助手向模块发送恢复出厂默认设置命令 [ C9 C9 C9 ] 将模块恢复至出厂设置;第三种方式使用模块配置终端恢复出厂默认设置,配置成功后模块返回[ OK ] 或者[ 4F 4B 0D 0A ] 。

android studio AES ECB加密 aes如何加密_加密解密_04


android studio AES ECB加密 aes如何加密_串口调试_05

android studio AES ECB加密 aes如何加密_密码分析_06

启用加密对通信延时的影响

启用AES加密功能会增加处理器计算量,会影响数据收发延时。下面测试默认参数条件下开启和关闭AES加密功能发送16字节和32字节的通信延时差异。

android studio AES ECB加密 aes如何加密_串口调试_07


android studio AES ECB加密 aes如何加密_串口调试_08


android studio AES ECB加密 aes如何加密_密码分析_09


android studio AES ECB加密 aes如何加密_串口调试_10