前言
工作中使用到AES加解密算法,了解一下怎么测试AES加解密。
一、测试目的
使用网上加密工具测试AES加解密和芯片测试结果对比。
网页地址:
https://lzltool.com/AES
1.测试方法
先选择要加解密数据类型,选择16进制(hex),加解密输出结果选择16进制(hex),
选择密码模式,填充模式选择None,要注意密码长度和对应算法,有的是128(16个字节),有的是256(32个字节)。
解密:就是加密的逆过程,把加密输出结果放到输入窗口,点击解密
二、AES算法测试
测试数据16进制:{0x01234567, 0x0, 0x89abcdef, 0x0}
测试密钥16进制:unsigned int key_data[8] = {0x12345678, 0x12345678, 0x12345678, 0x12345678, 0x12345678, 0x12345678, 0x12345678, 0x12345678};
IV向量:unsigned int iv_data[8] = {0x12345678, 0, 0, 0, 0, 0, 0, 0};
因为网页是大端模式,芯片是小端模式,要注意大小端格式。
1.测试ECB
1.加密
数据:0x6745230100000000efcdab8900000000
密钥:0x7856341278563412785634127856341278563412785634127856341278563412
IV: 0x78563412000000000000000000000000
输出:2591D495CB4F789076B5F5608C083A16
网页和芯片测试结果一致:
2.解密
2.测试CBC
1.加密
数据:0x6745230100000000efcdab8900000000
密钥:0x78563412785634127856341278563412
IV: 0x78563412000000000000000000000000
输出:E5B7E3AB70E0EE1813CED47B756D675D
网页和芯片测试结果一致:
2.解密
3.测试CTR
1.加密
数据:0x6745230100000000efcdab8900000000
密钥:0x7856341278563412785634127856341278563412785634127856341278563412
IV: 0x78563412000000000000000000000000
输出:1DF481385D61BFD8E78928709E4A9A9E
测试CTR使用的是这个网站:
https://www.toolhelper.cn/SymmetricEncryption/AES
网页和芯片测试结果一致:
2.解密
4.测试CFB
1.加密
数据:0x6745230100000000efcdab8900000000
密钥:0x78563412785634127856341278563412
IV: 0x78563412000000000000000000000000
输出:1AFD9C5480F2B606ABF07E413CA858CC
2.解密
总结
通过网页算法和芯片测试结果对比,来验证芯片加解密是否正常。