第四十个知识点 一般来说SPA和DPA的区别是什么

原文地址:http://bristolcrypto.blogspot.com/2015/07/52-things-number-40-what-is-normally.html

电磁(Electronmagnetic, EM)功率分析攻击被划分成两种类型的攻击,简单功率分析(SPA)或者差分功率分析(DPA)。这两种攻击要么使用电磁要么使用能量记录设备,但是它们在分析能量数据的数量和方法上有本质的不同。

在检查这些攻击的不同之处之前值得说明的是power/EM攻击是什么。

功率记录

CMOS(互补式金氧半导体,一种集成电路的设计工艺)电路能量要么是静态的,要么是动态的。静态功耗是指电路静止时损耗的功率(没有发生电路转换)。这时功率是非常小的。动态功率损耗是电路在发生0到1或者1到0转换的时候产生的损耗。动态功率损耗肯定是在电路中最大的能量消耗贡献者,同时能量消耗取决于电路处理的数据。动态能量损耗却决于两个因素。第一个就是电容充电电流,第二个是短路电流。每个CMOS单元都有一个负载电容连接到单元的输出。该负载电容包括连接单元到后续单元的电线,以及单元的输入电容。

一个CMOS单元使得电压上升\(V_{dd}\)需要消耗的能量是\(P = \alpha fC_lV_{dd}^2\),其中\(\alpha\)是每个时钟内发生\(0 \rightarrow 1\)的电路的数量。当存在一个从\(1 \rightarrow 0\)时刻,当然的电压从\(C_l\)到\(gnd\)通过NMOS而不是\(V_{dd}\)。第二部分能量消耗的贡献就是短路电流。这个在\(0 \rightarrow 1\)和\(1 \rightarrow 0\)到会发生当PMOS和NMOS晶体管都导电时刻-尽管这件事发生的很少。此时能量消耗公式是\(P_{sc} = \alpha f V_{dd} I_{peak} t_{sc}\),其中\(I_{peak}\)是当前转换的峰值,\(t_{sc}\)是短路存在的时间。[1]

了解这两个动态功耗点,我们可以看到所有开关\(1 \rightarrow 0\)和\(0 \rightarrow 1\)都会通过短路电流消耗电能,而从\(0 \rightarrow 1\)切换会因为负chegn7.而消耗更多的电能。如果我们能精确测量能量消耗(电磁场作为一种强度变化的电流,将产生一个等方差的电磁场,使电磁场的测量能够给出一个功率消耗的测量。),那么我们就知道设备里面有多少次电路转换。首先,允许我们确定一个特定的操作(例如,乘数可能比x或门需要更多的开关),其次,更重要的是,该操作操作的数据,因为这可能会影响开关。

SPA和DPA攻击

SPA攻击和DPA攻击的主要区别在于所需跟踪的数量。SPA一般来说使用一个或者非常少的跟踪,DPA需要大量的跟踪。他们利用动态设备功耗的方式也不同,SPA攻击表示一组操作,然而它们还可以利用数据依赖关系,例如在模板攻击的情况下。众所周知,RSA在二进制扩展乘法平法的SPA攻击正说明了这点。这里,如果一个二进制值是0,那么结果进行平方,如果是1,结果就平方之后再乘。在单个跟踪中查看它,可以看到正方形操作的形状以及正方形和乘法操作的形状,从而将键的每个位读取为0或1。这个漂亮的攻击只需要一个记录来观察能量消耗,这就是SPA攻击。

另一方面,DPA攻击通过使用多个记录和统计技术仅仅利用数据依赖元素。他们集中在能量消耗的数据依赖上,通过创建多少个开关来工作,那么就会有多少数据。这些假设称为泄漏模型,通常是汉明重量或汉明距离。如果这个泄漏模型是正确的,那么功率轨迹应该显示根据它处理的信息,尽管在现实中,这总是与干扰数据/功率关系的噪声相结合。在DPA攻击中,可以通过估计被操作的秘密数据值,并查看根据泄漏模型对这些值的表示是否与许多不同的功率跟踪相关,从而确定被操作的秘密数据值。因此,DPA攻击需要多个跟踪——根据噪声水平和测量精度的不同,跟踪的数量可以从50到数千不等。

[1] Mangard, Stefan, Elisabeth Oswald, and Thomas Popp. Power analysis attacks: Revealing the secrets of smart cards. Vol. 31. Springer Science & Business Media, 2008.

第四十个知识点 一般来说SPA和DPA的区别是什么的更多相关文章

  1. Linux新手要了解的十个知识点

    Linux对于有的新手来说,感觉无从下手,或者不知道从哪儿学起?怎么学?针对这些问题,我给大家说说新手学习Linux需要了解的十个知识点. 注意大小写 Linux是大小写敏感的系统,举个例子,Mozi ...

  2. 第二十个知识点:Merkle-Damgaard hash函数如何构造

    第二十个知识点:Merkle-Damgaard hash函数如何构造 这里讲的是MD变换,MD变换的全称为Merkle-Damgaard变换.我们平时接触的hash函数都是先构造出一个防碰撞的压缩函数 ...

  3. SPA与DPA 攻击【转】

    转自:http://blog.sina.com.cn/s/blog_6cb58dbf0102v7ym.html SPA SPA是一种直接解释能量消耗测定值的技术.系统消耗能量的大小随微处理器执行的指令 ...

  4. Ocr答题辅助神器 OcrAnswerer4.x,通过百度OCR识别手机文字,支持屏幕窗口截图和ADB安卓截图,支持四十个直播App,可保存题库

    http://www.cnblogs.com/Charltsing/p/OcrAnswerer.html 联系qq:564955427 最新版为v4.1版,开放一定概率的八窗口体验功能,请截图体验(多 ...

  5. 第五十个知识点:什么是BLS基于对的签名方案?

    第五十个知识点:什么是BLS基于对的签名方案? BLS签名方案使用了椭圆曲线上了Weil对,本质上是一个在曲线上除n划分的双线性形式,使用 \(n^{th}\) 个单位根. 假设我们有一个椭圆曲线\( ...

  6. 第四个知识点 P类复杂问题

    第四个知识点 P类复杂问题 原文地址:http://bristolcrypto.blogspot.com/2014/10/52-things-number-4-complexity-class-p.h ...

  7. 第十个知识点:RSA和强RSA问题有什么区别?

    第十个知识点:RSA和强RSA问题有什么区别 这个密码学52件事数学知识的第一篇,也是整个系列的第10篇.这篇介绍了RSA问题和Strong-RSA问题,指出了这两种问题的不同之处. 密码学严重依赖于 ...

  8. 第二十四个知识点:描述一个二进制m组的滑动窗口指数算法

    第二十四个知识点:描述一个二进制m组的滑动窗口指数算法 简单回顾一下我们知道的. 大量的密码学算法的大数是基于指数问题的安全性,例如RSA或者DH算法.因此,现代密码学需要大指数模幂算法的有效实现.我 ...

  9. 第三十个知识点:大致简述密钥协商中的BR安全定义。

    第三十个知识点:大致简述密钥协商中的BR安全定义. 在两方之间建密钥共享是一件密码学中古老的问题.就算只考虑定义也比标准加密困难的多.尽管古典的Diffie-Hellman协议在1976年思路解决了这 ...

随机推荐

  1. A Child's History of England.37

    Many other noblemen repeating and supporting this when it was once uttered, Stephen and young Planta ...

  2. Java读文件写入kafka

    目录 Java读文件写入kafka 文件格式 pom依赖 java代码 Java读文件写入kafka 文件格式 840271 103208 0 0.0 insert 84e66588-8875-441 ...

  3. 商业爬虫学习笔记day4

    一.获取登录后页面信息的两种方法 1.第一种方法: 人为把有效cookies加到请求头中,代码如下 import urllib.request # 确定url url = "https:// ...

  4. mystar01 nodejs MVC 公共CSS,JS设置

    mystar01 nodejs MVC gulp 项目搭建 config/express.js中定义别名 //将下载的第三方库添加到静态资源路径当中,方便访问 app.use('/jquery', e ...

  5. 接口测试 python+PyCharm 环境搭建

    1.配置Python环境变量 a:我的电脑->属性->高级系统设置->环境变量->系统变量中的PATH变量. 变量名:PATH      修改变量值为:;C:\Python27 ...

  6. 在Eclipse中运行OSGI工程出错的解决方案

    今天学习OSGI的过程中按照书上所述搭建好第一个helloworld插件工程,运行的过程中出现下面所示的错误: !SESSION 2014-06-09 21:04:49.038 ----------- ...

  7. eclipse.ini配置 vmargs 说明

    -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 1. 各个参数的含义什么? 参数中-vmargs的意思是设置JVM参数, ...

  8. FindUserByPageServlet

    package com.hopetesting.web.servlet;import com.hopetesting.domain.PageBean;import com.hopetesting.do ...

  9. 【简】题解 AWSL090429 【价值】

    先考虑当要选的物品一定时 显然有个贪心 wi越小的要越先选 所以先按wi从小到大拍序 因为发现正着递推要记录的状态很多 并且wi的贡献与后面选了几个物品有关 考虑正难则反 倒着递推 提前计算wi的贡献 ...

  10. TV盒子 android 4.4安装kodi 和 安装jellyfin插件连接到 jellyfin服务器

    很多IPTV盒子系统都是android 4.4的,无法安装新版kodi, 最高只能安装到改版的kodi, 版本是17.1,jellyfin插件也只能安装到0.5.8 首先下载kodi和jellyfin ...