1. 首页
  2. 课程学习
  3. 嵌入式
  4. 单片机AES-128ECB/CBC模式加解密C语言实现

单片机AES-128ECB/CBC模式加解密C语言实现

上传者: 2025-06-12 00:53:37上传 ZIP文件 56.28KB 热度 1次

单片机上的 AES128 加解密,用 C 语言来搞,挺实用的一个资源。支持ECBCBC两种模式,代码清晰不绕弯,填充用的是常见的PKCS7,块对齐也比较顺手。对于资源紧张的小系统,这种纯 C 实现的方式,真的蛮适合。

ECB 的加密逻辑比较直接,每个 16 字节一块单独加,响应快,但重复模式容易被看出来。简单数据、少量传输可以用,但你要是搞大块连续的数据,建议还是用 CBC。

CBC 就稳一些了,每块数据都跟上一个密文块混合后再加密,配个随机IV,安全性高不少。不过 IV 怎么传、怎么保管,得你自己好,不然还是不安全。

代码里边做了密钥扩展的逻辑,AES128 是固定 16 字节的密钥嘛,要展开成多个轮密钥,才能跑完整的轮数。这一步用 C 写的话,细节要注意字节序还有 S 盒替换,文档里也讲得比较明白。

如果你平时在做 STM32、51 或者 ESP8266 上的开发,又不想引外部库,那这个纯 C 实现挺合适。代码不依赖系统 API,移植方便,空间占用也不大。

几个相关资源也整理好了,你可以直接下载看看:
AES128CBC 或者 ECB 源码
AES128ECB CBC 模式加密解密函数 C 语言实现单片机嵌入式
C 语言实现 AES128 加解密算法

如果你打算搞点加密传输,又刚好在用单片机,建议先从这个入手试试,代码不多,上手还挺快的。

下载地址
用户评论