【NUCLEO H533RE】之七 跑AES加解密算法
加解密算法在通信领域是经常需要用到的安全算法。AES算法目前还是比较留下可以使用的安全通信算法。
这里就用H533RE跑一下这个算法。AES里面最基本的是EBC 其次就是CBC,当然还有很多。我这里就不演示。
AES算法如下图有几种:EBC、CBC、CTR、OFB、CFB 每一种有一些不同,具体大家可以去查查资料。
先说一下EBC,EBC只有key 也就是发送和接收双方都有用样的key 16字节。自己可以任意修改。
如果是CBC,还有16字节得初始值IV就像下面这样,也是可以任意修改。
每种AES都有模式,主要是为了规定如何填充不够16字节的部分。如果选择None,那自己就要填充满16字节在发。
PKCS7就是不够的填数字,这个数据就是少多少字节填多少的数字,比如少3个,就填03 03 03.
另外如果是刚好是16字节,那得多填16字节得10 10 10…大概就这个意思
下面开始实验,我们生成一个H533得项目,也可以用原来的,然后选择AES
保存,然后就生成了一个项目。修改一下代码
Key还是让他为0000…
编译运行,比较结果正确:
下面再来演示一下cbc
我们修改模式为cbc,这次密码改一下,改为16进制的 00112233445566778899aabbccddeeff,iv有了,也改为 00112233445566778899aabbccddeeff当然,我们可以这里改,程序中也可以随便修改。
保存文件,程序变成如下:
编译运行查看结果,比较如下:是正确的。
好,实验先到这里。
本文来自论坛,点击查看完整帖子内容。