W55MH32 应用笔记:在 W55MH32 硬件加密中实现 SHA(SHA-1 / SHA-256)
目录
W55MH32 应用笔记:在 W55MH32 硬件加密中实现 SHA(SHA-1 / SHA-256)
1. 简介
本应用笔记将介绍 SHA 的基本功能、其在 SSL/TLS 协议中的角色,以及 SHA 在 W55MH32 上的实际应用。
2. SHA 概述
什么是 SHA?
安全散列算法(SHA)是一种密码学散列函数,可以将任意长度的输入数据转换成固定长度的摘要(哈希值)。WIZnet W55MH32 通过硬件加密引擎支持 SHA-1(160 位摘要)和 SHA-256(256 位摘要),能够实现加速、低功耗的哈希运算。SHA 是单向函数,这意味着从哈希值反推出原始数据在计算上是不可行的,同时找到两个不同输入却产生相同哈希值(碰撞)也是极其困难的。
SHA 在微控制器中的处理流程
SHA 硬件引擎通常提供三阶段函数结构:
| 阶段 | 功能描述 |
|---|---|
| Start | 该阶段用于初始化 SHA 引擎并选择所需的哈希算法(SHA-1 或 SHA-256),设置内部状态变量,清除先前数据,准备接收新的输入数据。 |
| Update | 该阶段用于向 SHA 引擎输入数据,可以分段输入,以便处理大数据集或流式数据而无需占用大量内存。硬件引擎在每次接收数据块时更新内部状态。 |
| Finish(或 Final) | 该阶段完成哈希运算,自动进行必要的数据填充,完成内部计算,并输出最终哈希值,即所有输入数据的数字指纹。 |
Start-Update-Finish 的优势
该结构支持大文件、流数据或网络数据包的分段处理,有助于高效利用硬件加速器按数据块运算,降低内存占用,并支持实时与增量哈希处理工作流,非常适合安全通信和数据完整性验证场景。W55MH32 的硬件 SHA 引擎在 Finish 阶段会自动处理数据填充与对齐,简

最低0.47元/天 解锁文章
678

被折叠的 条评论
为什么被折叠?



