[发明专利]一种高效抗差分功耗分析RSA实现方法在审
申请号: | 201711246973.3 | 申请日: | 2017-12-01 |
公开(公告)号: | CN108173657A | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 蒋艳;柴佳晶;吕瑞恩 | 申请(专利权)人: | 上海华虹集成电路有限责任公司;北京中电华大电子设计有限责任公司 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;H04L9/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203 上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 差分功耗分析 逆运算 影响安全性 模乘运算 运算效率 | ||
本发明公开了一种基于高效抗差分功耗分析RSA实现方法,并给出了采用该方法的一个RSA CRT实现方法的实现实例。该方案避免了实现传统盲化方案中复杂的模逆运算,用较易实现的模乘运算取代了模逆运算,在不影响安全性的前提下,能够极大提高RSA运算效率,节省RSA实现的时间和空间。
技术领域
本发明涉及信息加密,特别是需要抗差分功耗分析(DPA)的RSA实现方法。
背景技术
近年来,密码算法的旁路攻击越来越受到关注和研究。旁路攻击(Side ChannelAttacks,SCA)利用算法在电路中运行时所泄漏出来的非特意的信息从而分析出算法电路中的秘密数据。功耗分析是目前旁路攻击中最热门、研究最为广泛的类型,通过监测加密系统泄露的电流和电压等物理信息来进行攻击。功耗分析按照攻击手段主要可分为简单功耗分析(Simple Power Analysis,SPA)和差异功耗分析(Differential Power Analysis,DPA)两种,分别针对电路不同的弱点。简单功耗分析通过观察算法电路运行时的功耗特征来进行攻击;差异功耗分析对大量的明文(或密文)和功耗曲线进行统计分析获取密钥信息。
差异功耗分析的关键手段之一就是需要在算法运行时找出一个观察点,以便根据该观察点的值来进行功耗分组。差异功耗分析的基本步骤为首先采集大量的功耗曲线,然后根据选定的观察点对这些功耗曲线进行分组。假设中间数据被盲化,攻击者功耗分组失去依据。
对于硬件实现的RSA算法,差异功耗分析是最需要防范的。抵御差异功耗分析的常用方法为盲化方案,盲化方案包括底数盲化和指数盲化。传统的底数盲化方案为:
M1=M*Re mod N
C’=M1d mod N
C=C’*R-1mod N
其中M为输入数据,C为输出数据,N为模数,R为随机数,e为公钥,d为私钥。
传统方案用随机数对输入数据进行了盲化,使得攻击者无法对RSA实施差分功耗分析。但是这种方案需要的计算量十分大,尤其在脱盲过程中需要进行模逆运算。而模逆运算的实现方法通常都十分复杂,并且十分耗时,因此这种方法无法在资源受限的环境下进行实现。本发明对传统方案进行的改进,在不影响安全性的前提下,避免了其中最复杂的模逆运算,用较易实现的模乘运算取代了模逆运算,提升了整体的运算效率,并且能够减少实现面积和空间。
发明内容
本发明要解决的技术问题是提供一种高效抗差分功耗分析RSA实现方法,能够避免实现复杂的模逆运算,提高RSA运算效率,节省RSA算法空间。为解决上述技术问题,本发明提供一种基于高效抗差分功耗分析RSA实现方法,并给出了采用该方法的一个RSA CRT实现方法的实现实例。本发明用于高效抗差分功耗分析RSA实现方法如下:
(1)RSA运算中M为输入数据,C为输出数据,N为模数,R为随机数,e为公钥,d为私钥,p和q 为大素数,并且N=p*q。
(2)获取随机数R,随机数必须大于零,且不能是p或q,也不能大于等于N。
(3)计算盲化后的输入数据M1,M1=M*Re mod N。
(4)计算用于脱盲运算的数据M2,M2=M*Re-1mod N。
(5)对盲化数据后的数据M1进行运算得到盲化的输出结果C’,C’=M1d-1mod N。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海华虹集成电路有限责任公司;北京中电华大电子设计有限责任公司,未经上海华虹集成电路有限责任公司;北京中电华大电子设计有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711246973.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:量子资源受限的半量子秘密共享方法
- 下一篇:一种区块链一致性维护方法及装置