0Pricing
Cryptology Academy · 课时

功耗分析:SPA 与 DPA

采集功耗轨迹,并执行简单功耗分析和差分功耗分析

功耗分析:SPA 与 DPA 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。

什么是功耗分析?

功耗分析测量设备在执行密码运算期间消耗的瞬时电功率。功耗取决于正在处理的数据,因此会泄露秘密密钥位。

简单功耗分析(SPA)

在 SPA 中,攻击者会目视检查单条功耗轨迹。平方—乘法模幂运算会泄露指数:乘法步骤的功耗特征不同于单独平方步骤的功耗特征。

差分功耗分析(DPA)

DPA 使用多条功耗轨迹进行统计分析。攻击者固定单个密钥位假设,根据预测的中间值对轨迹进行分组,并寻找相关性峰值。

汉明重量模型

一个关键假设是:功耗与正在处理的值中 1 位的数量(汉明重量)成正比。这一假设对低频 CMOS 逻辑电路很适用。

相关功耗分析(CPA)

CPA 使用中间值预测汉明重量与每个时间采样点的实测功耗之间的 Pearson 相关性。正确的密钥假设会产生最高的相关性。

实际采集功耗轨迹

研究人员会将电流检测电阻与目标设备串联,并使用示波器或 ChipWhisperer 开发板,以 100 MS/s 或更高的采样率将轨迹数字化。

针对 AES 的 DPA:恢复密钥

针对 AES 的第一轮:对于 256 个密钥字节候选值中的每一个,预测 SubBytes 输出的汉明重量,并与功耗轨迹进行相关分析。正确的字节会以约 0.9 以上的相关性脱颖而出。

高阶 DPA

带掩码的实现会将每个中间值拆分为随机份额。二阶 DPA 使用乘积或绝对差组合函数,结合两个时间点(份额和掩码)。

针对 RSA 平方—乘法运算的 DPA

攻击者可以通过选择消息攻击,在多条功耗轨迹中区分仅平方与先平方后乘的功耗模式,从而恢复 RSA 私钥指数的各个位。

工具与平台

开源 ChipWhisperer 平台提供用于采集、轨迹对齐和 CPA 的硬件与 Python 软件。它开箱即用地支持 AES、RSA 和 ECC 目标设备。

知识检查

在相关功耗分析中,正确的密钥假设与错误假设有何区别?

课程回顾

SPA 通过目视读取单条轨迹;DPA 对多条轨迹使用统计分析。CPA 使用汉明重量模型计算 Pearson 相关性。防护措施包括掩码,以及针对 ECC 使用随机化射影坐标。

常见问题解答

「功耗分析:SPA 与 DPA」课时是免费的吗?

是的 — 「功耗分析:SPA 与 DPA」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「功耗分析:SPA 与 DPA」这节课中我会学到什么?

采集功耗轨迹,并执行简单功耗分析和差分功耗分析 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「功耗分析:SPA 与 DPA」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cryptology Academy 课中编写并运行代码吗?

能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 时序攻击:从执行时间提取密钥
  2. 功耗分析:SPA 与 DPA
  3. 电磁与声学侧信道
  4. 对策:掩码、盲化与恒定时间代码
← 返回 Cryptology Academy