CN103221917A - 加密运算中模幂的保护 - Google Patents

加密运算中模幂的保护 Download PDF

Info

Publication number
CN103221917A
CN103221917A CN201180047639XA CN201180047639A CN103221917A CN 103221917 A CN103221917 A CN 103221917A CN 201180047639X A CN201180047639X A CN 201180047639XA CN 201180047639 A CN201180047639 A CN 201180047639A CN 103221917 A CN103221917 A CN 103221917A
Authority
CN
China
Prior art keywords
value
mod
modulus
window
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201180047639XA
Other languages
English (en)
Inventor
R·贝文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nagravision SARL
Original Assignee
Nagravision SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nagravision SA filed Critical Nagravision SA
Publication of CN103221917A publication Critical patent/CN103221917A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7238Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提出了一种执行掩蔽的模幂运算的方法,基于窗口尺寸为k位的窗口法,对于n位输入数据X,使用2k预计算变量(对于i=0到2k-1,Yi=Xi mod N),得到n位输出数据S,S=Xd mod N,其中,d是尺寸为m位的指数,N是n位的模数,所述方法包括以下步骤:通过隐蔽值B1对预计算变量进行隐蔽,B1是与所述模数的尺寸相同(n位)但小于所述模数的伪随机变量(对于i=0到2k-1,Yi=Yi×B1mod N),利用所述隐蔽的预计算变量执行模幂运算以获得中间结果(A),通过解除隐蔽值C1=(B1 g)-1mod N对所述中间结果进行解除隐蔽,以得到输出数据S。

Description

加密运算中模幂的保护
技术领域
本发明涉及软件和数据加密。特别是,本发明涉及一种用于隐藏模幂运算中间结果的方法。
背景技术
直到不久前,密码学还仅仅关注于对于不利环境中消息传递的保护。在传统方案中(又名黑盒模型),攻击者仅可以访问解密装置的输入。随着付费电视、受DRM所保护的数字内容(智能电话、个人电脑或CD/DVD中的电影,音乐)的出现,当前攻击者实际可以访问解密装置及其输出,这意味着他不仅可以被动研究加密装置的状态和中间值,而且还可以主动地干预其计算。
具体而言,1996年出现了故障分析的概念:当提交解密装置给异常状况(输入错误、温度异常、强电磁辐射……)时,解密算法能够输出故障明文,其给出了有关解密装置中所使用的密钥的信息。参见Dan Boneh,Richard A.DeMillo和Richard J.Lipton在1997年的proceedings of Eurocrypt中的“On theImportance of Checking Cryptographic Protocols for Faults”。
同年还出现了侧信道攻击的概念:解密装置在解密处理过程中所输出的物理信号(处理的定时、功率消耗、电磁辐射……)可能泄漏有关解密算法的内部变量的信息(侧信道信息)。从该内部变量和统计分析,攻击者可以检索到有关解密装置中所使用的密钥的信息。参见Paul C.Kocher在1996年的proceedingsof Eurocrypt中的“Timing Attacks on Implementations of Diffie-Hellman,RSA,DSS and Other Systems”。
故障分析与侧信道分析都属于灰盒模型:攻击者所拥有的关于实现加密算法及其内部数据的知识是有限的。这些攻击被成功地用于检索付费电视系统中所使用的智能卡的密钥和源代码。
对于在个人计算机上或CD/DVD上的音乐和电影,由于使用软件混淆(DRM)比用分发智能卡来进行保护成本低很多,所有使用软件混淆来保护内容密钥。在这种情况下,由于攻击者完全可以访问软件内部,因此它比灰盒模型的环境更加糟糕。这就是所谓的白盒模型。白盒密码学的概念出现于2002年。白盒密码学是一种混淆技术,旨在实现密码原语的方式为:即便对手完全可以访问实现及其执行平台,他也无法提取密钥信息[1]。
正如BrechtWyseur在关于白盒密码学的论文中所描述的,在白盒模型中能有效抵御攻击的对策在灰盒模型中也能有效抵御攻击。
用于密钥交换、加密或签名的一些重要加密协议(Diffie-Hellman、EIGamal、RSA、DSS……)中涉及模幂运算。本领域中公知的是:进行模幂运算的最基本的方法就是所谓的“平方乘(square-and-multiply)”算法[2],其包括逐位处理指数,并根据其数值进行乘法。下面,我们来回顾一些有关模幂运算的概念以及一些现有技术算法。
●幂运算是一种数学运算,写为be,其涉及两个数字,基数b和指数e。当e是一个正整数时,幂运算相当于重复相乘;换言之,b的e因子次乘积:b×……×b
●模幂运算是一种在求幂运算之后再取模的运算。进行“模幂”运算是指一个正整数b(称为基数)升高e次方(e称为指数),用其除以一个正整数m(称为模数),再计算其余数。换句话说,设置问题形式,其中给出基数b、指数e和模数m,那么人们期望如此计算C:C=bemod m
●基本二进制模幂(平方乘)
输入:n位整数g,t+1位整数e,即e=(etet-1…e1e0),其中ei是e的第i个最低有效位,以及n位模数m。
输出:gemod m
1、A=1.
2、对于i从t向下到0,进行如下运算:
2.1A=A×Amod m.
2.2如果ei=1,则A=A×g mod m
3、返回(A)
通过对一组k位指数进行分析,该二进制幂运算能够大幅加速。这种方法也被称为窗口法,其中窗口尺寸为k。
●使用窗口法的模幂运算
输入:n位的g,(t+1)×b位的e,即e=(etet-1…e1e0)b,其中对于一些k>1,b=2k,以及n位模数m
输出:gemod m
1.预计算
1.1 G0=1
1.2对于i从1到(2k-1),计算:Gi=Gi-1×g,(由此,Gi=gi)
2.A=1.
3.对于i从t向下到0,进行如下运算:
3.1B=A2mod m,A=Bk mod m
3.2j=ei,A=A×Gj.
4.返回(A)
发明内容
应该强调的是,上述任一模型中攻击者为了自身的非法用途,其目标都是要获取密钥。针对模幂运算,如果使用混淆技术对指数进行了适当的保护,那么攻击者就会尝试通过监测模幂运算的中间结果来获取有关密钥的信息。事实上本领域技术人员会注意到,在基本平方乘方法的示例中,攻击者通过简单观测求幂算法的执行,并测量计算中所涉及每一步骤的时间(或者所消耗的功率),就能够轻易获取密钥值(指数)。窗口法也倾向于使用一些先进的侧信道攻击技术,诸如[3]中所述的差分功率分析(DPA)。
用于混淆加密计算的现有技术包括在[4]中所提出的方法。与[4]中解决方案相比,本发明的优点在于:在主循环中除了对预计算的窗口因子进行“隐蔽(blinding)”之外,它不再需要额外的计算,因此基于窗口的幂运算的执行速度会显著提升。
虽然现有技术中提出了一些其它混淆和保护模幂运算的方法,诸如,例如[5],但他们都是对加密的消息本身(C)或者解密指数(d)进行掩蔽(隐蔽)处理。本发明提出一种新的方法,其中对预先计算的窗口值施以掩蔽,这使得攻击者更难以凭借一次故障攻击或软件修改来绕过该隐蔽。本领域技术人员可以理解,通过对一个变量或数值的随机化的操作进行“隐蔽(blinding)”或“掩蔽(masking)”,使得所述变量或数值频繁改变,由此攻击者就无法使用侧信道攻击法来进行识别和研究。
要解决的问题
本发明的一个目的是提供一种隐蔽模幂的中间结果的方法,对于先进的侧信道分析技术来说,该方法比现有技术中描述的隐蔽方法更难绕过,现有技术例如为[4]、[5]以及Paul C.Kocher在1996年的proceedings of Eurocrypt中的“Timing Attacks on Implementations of Diffie-Hellman,RSA,DSS and OtherSystems”。
技术方案
本发明提出了一种用于保护模幂运算的方法,基于窗口尺寸为k位的窗口法,对于n位输入数据X,使用2k预计算变量(对于i=0到2k-1,Yi=Ximod N),得到n位输出数据S,S=Xd mod N,其中,d是尺寸为m位的指数,N是n位的模数,所述方法包括以下步骤:
●通过隐蔽值B1对预计算变量进行隐蔽,B1是与所述模数的尺寸相同(n位)但小于所述模数的伪随机变量(对于i=0到2k-1,Yi=Yi×B1mod N),
●按照窗口法执行模幂运算,该窗口法基于将指数d分割成表示窗口的尺寸最多为k位的多个块,利用所述隐蔽的预计算变量,以获得中间结果(A),
●通过解除隐蔽值C1=(B1 g)-1mod N对所述中间结果进行解除隐蔽,以得到输出数据S,其中g等于k位编码的值“1”串联m/k次。
附图说明
附图显示了能够执行所要求保护方法的各个步骤的处理单元,借助该附图,能够更好地理解本发明。
具体实施方式
本发明描述了一种模幂运算的保护方法,其在一个开放软件环境中使用所谓的窗口法。通过开放软件环境,我们假设在所述PC系统上执行并由攻击者可访问的二进制代码。
如图1所示,可以在专门执行加密操作的处理单元中实现本发明。该单元至少包括:能够执行软件核的处理器CPU;以及存储器MEM1,用于存储该代码并为存储临时数据MEM2提供必要的空间。提供接口INT,以便接收被加密(或解密)以存储于临时存储器MEM2的用于加密处理的消息。该接口INT还以相同的方式向接收装置的其它组件发送解密(或加密)的消息。
根据优选的实施方案,我们考虑使用窗口法来执行所述模幂运算的PC系统或处理单元,所述窗口法在所述软件环境中实现。设X是n位输入数据,K是包括m位指数d和n位模数N的密钥。在所述PC系统中执行的模幂运算包括两个步骤:预计算(pre-calculation)和求幂运算(exponentiation)。在预计算步骤中,值Yi=Xi mod N是预先计算的。本领域技术人员会注意到,在窗口法中,i的变化介于0至2k-1之间,k表示施加到指数d的窗口尺寸。在求幂运算的步骤中使用所述预先计算的值Yi
下面使用伪代码来介绍本发明的实施例。需着重注意的是,下面所描述的步骤仅仅是为了介绍本发明的优选实施例,并且在任何情况下都不具有限制意义。
使用n位寄存器A,以值1进行初始化,用于临时存储求幂算法的中间结果,
使用n位寄存器C,以值1进行初始化,用于临时存储最后使用的随机值,
使用log(m)位寄存器V,以值M/K进行初始化,
-对于j=m/k到1,从密钥d的第j×K位开始截取k位,
根据关于j的函数f1,确定隐蔽条件(0/1)b,
如果设定了隐蔽条件,则执行:
-更新n位伪随机变量B,
-对于i=0到2k-1,Yi替换为Yi×(B mod N),
-对于i=0到2k-1,Yi替换为Yi×(C-1mod N),
-A替换为A×Cg,其中g为(v-j)的函数(即,g=-f2(v-j),其中f2(r)是k×r位的数,它由k位编码的数字1串联r次得到,例如,如果r=4且k=2,则二进制f2(r=4)=“01010101”,十六进制f2(4)=0×55),
-加载具有值B的寄存器C,
-加载具有值j的寄存器v
数值A替换为(Ak mod N×Ydj mod N),dj表示从最低有效位向最高有效位计数时,指数d的k位中的第j位字,且K=2k
本技术领域技术人员会理解该隐蔽方法的优点在于,该隐蔽实际上涉及多次计算(与窗口尺寸一样多次的计算),所以对于侧信道攻击者来说,想要通过一次故障攻击或软件修改来绕过该隐蔽会变得更加困难。
相对于已知现有技术的另一个优点是算法内部的隐蔽是可更新的,这也使得使用故障攻击或者通过软件修改方式来绕过该隐蔽变得更加困难。
如权利要求1所述的方法,其中,在几次窗口处理之后隐蔽值B1被更新,而对中间结果的解除隐蔽是靠乘以变量C1来完成的,C1取决于窗口的尺寸(k)、所处理窗口的数量(w)、模数N和初始隐蔽值B1:C1=(B1 h)-1 mod N,其中h等于对k位编码的值“1”进行w次串联。
另一个优点是,攻击者无法找到具体的函数T,因此提交T(X)作为模幂运算的输入将使得A中存储的中间结果独立于隐蔽变量B,即使B是已知常数。
如果解除隐蔽的步骤不是预先计算好的,那么与传统的求幂算法相比,该对策的开销是使用与输入指数d相同长度的求幂运算,以及与隐蔽更新的数量一样多次的反演运算。
根据另一特定实施例,当在所述PC系统上执行时,可以在求幂算法刚开始时隐蔽一次预计算变量,然后再在求幂运算结束时移除该隐蔽,以此来简化现存速度有限时所要求保护的方法。于是,此对策的开销是一次使用与输入指数d相同长度的幂运算以及仅仅一次的反演运算。
本领域的技术人员明白,模幂方法通常用于RSA密码系统环境中。根据特定的实施例,当模幂算法被用于具有私有密钥d(其可能在位数尺寸方面相对较大)的RSA计算时,参照以下步骤,可以提升所要求保护方法的速度:
●预先计算e’=g-1mod(p-1)×(q-1),其中g等于k位编码的值“1”串联m/k次,
●通过同一个隐蔽值B2来对预计算变量(Yi=Ximod N)进行隐蔽,由此B2=B1 e’mod N,B1是伪随机变量,其与模数尺寸相同但小于模数(对于i=0到2k-1,Yi=Yi×B2mod N),
●使用已隐蔽的预计算变量来执行模幂运算,以获得中间结果(A),
●通过B1的反演运算来对该中间结果解除隐蔽。
通过这种方式,隐蔽开销被降低到一次小指数(幂指数为e’)的求幂运算,以及一次反演。
根据优选的实施例,伪随机变量B可以使用不同的方法进行更新。此外,主方法的两次执行之间所使用的B值也可以是不同的。下面根据优选实施例,介绍了这种实施方式。
一种提升速度的方法是建立新的隐蔽与在先隐蔽之间的联系。在w个窗口处理之后更新隐蔽值B,在此情形下,幂运算期间所使用的隐蔽值是子块数组B=(B1,B2,B3,…Bn),后一子块Bi+1是前一子块Bi的平方值按N取模,每个子块Bi都是一个与模数位数相同但小于模数的伪随机变量,幂运算期间所使用的解除隐蔽值是子块数组C=(C1,C2,C3,…Cn),后一子块Ci+1是前一子块Ci的平方值,Ci=(Bi g)-1mod N,其中,g等于该k位编码的值“1”串联w次,但是只有C1是通过反演运算得出,而其它的Ci均为其前一的平方。虽然B是在主算法内部被更新,但是在主方法的两次执行之间可以使用相同的B值:因此能够预先计算B和Cg的不同值,来消除幂运算和反演运算的开销。
在优选实施例中的特定情形下,该方法包括预先计算并存储Cg值的步骤,其中隐蔽值B1提取于全部或部分模幂代码。
参考文献:
[1]“White-Box Cryptography and an AES Implementation”of Stanley Chow,Philip A.Eisen,Harold Johnson,and Paul C.van Oorschot in the proceedingsof the 9th International Workshop on Selected Areas in Cryptography(SAC2002)
[2]“Handbook of applied cryptography”of A.Menezes,P.van Oorshot and S.Vanstone.
[3]“Differential Power Analysis”,Paul Kocher,Joshua Jaffe and Benjamin Junin the proceedings of Advances in Cryptology-CRYPTO’99,19th AnnualInternational Cryptology Conference
[4]“Method of obscuring cryptographic computations”,Ernie F.Brickel,Pub.No US 2005/0084098
[5]“Cryptographic method comprising a modular exponentiation securedagainst hidden-channel attacks,cryptoprocessor for implementing the methodand associated chip card”,Mathieu Ciet,Benoit Feix,Pub No.2007/074149

Claims (7)

1.一种由处理单元在加密运算中所执行的用于保护模幂运算的方法,所述模幂运算基于窗口尺寸为k位的窗口法,对于n位输入数据X,使用2k预计算变量(对于i=0到2k-1,Yi=Ximod N),得到n位输出数据S,S=Xd mod N,其中,d是尺寸为m位的指数,N是n位的模数,所述方法包括以下步骤:
●通过隐蔽值B1对预计算变量进行隐蔽,B1是与所述模数的尺寸相同(n位)但小于所述模数的伪随机变量(对于i=0到2k-1,Yi=Yi×B1mod N),
●按照窗口法执行模幂运算,该窗口法基于将指数d分割成表示窗口的尺寸最多为k位的多个块,利用所述隐蔽的预计算变量,以获得中间结果(A),
●通过解除隐蔽值C1=(B1 g)-1mod N对所述中间结果进行解除隐蔽,以得到输出数据S,其中g等于k位编码的值“1”串联m/k次。
2.根据权利要求1所述的方法,其中所述窗口法基于将指数d分割成表示窗口的最多为k位的多个块,隐蔽值B1在处理一个或多个所述块之后被更新,以及对于中间结果的解除隐蔽是通过乘以变量C1来完成,C1取块于窗口的尺寸(k)、所处理过的窗口的数目(w)、模数N和初始隐蔽值B1:C1=(B1 h)-1mod N,其中h等于k位编码的值“1”串联w次。
3.根据权利要求1所述的方法,其中模数N是两个n/2位的素数p、q的乘积,所述方法包括以下步骤:
●预计算e’=g-1mod(p-1)×(q-1),其中g等于k位编码的值“1”串联m/k次,
●通过相同隐蔽值B2对预计算变量(Yi=Ximod N)进行隐蔽,使得B2=B1 e’mod N,B1是与所述模数的尺寸相同但小于所述模数的伪随机变量(对于i=0到2k-1,Yi=Yi×B2mod N),
●使用被隐蔽的预计算变量执行模幂运算,以获得中间结果(A),
●通过B2的反演运算对所述中间结果解除隐蔽。
4.根据权利要求1、2或3所述的方法,其中隐蔽值B1是动态随机值,B1在每次使用被隐蔽的预计算变量执行模幂运算的步骤时被更新。
5.根据权利要求2所述的方法,其中隐蔽值在每次k位窗口的处理之后被更新,在幂运算中所使用的隐蔽值是子块数组B=(B1,B2,B3,…Bn),后一子块Bi+1是前一子块Bi的平方值对N取模,每个子块Bi都是与所述模数的尺寸相同但小于所述模数的伪随机变量,幂运算中所使用的解除隐蔽值是子块数组C=(C1,C2,C3…Cn),后一子块Ci+1是前一子块Ci的平方值,Ci=(Bi h)-1mod N,其中h等于k位编码的值“1”串联w次,但是仅C1使用反演运算,而其它Ci均为其前一子块的平方。
6.根据前述权利要求中任一项所述的方法,其中隐蔽值B1是静态伪随机值,并且对于权利要求1、3或5中所述的方法的多次执行,根据所述静态伪随机值来对所述解除隐蔽值进行一次预计算。
7.根据前述权利要求中任一项所述的方法,包括预先计算和存储值C1的步骤,其中隐蔽值B1提取于全部或部分模幂代码。
CN201180047639XA 2010-09-29 2011-09-29 加密运算中模幂的保护 Pending CN103221917A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US38751710P 2010-09-29 2010-09-29
US61/387,517 2010-09-29
EP10290532A EP2437160A1 (en) 2010-10-04 2010-10-04 Blinding of modular exponentiation
EP10290532.0 2010-10-04
PCT/EP2011/066952 WO2012041942A1 (en) 2010-09-29 2011-09-29 Protecting modular exponentiation in cryptographic operations

Publications (1)

Publication Number Publication Date
CN103221917A true CN103221917A (zh) 2013-07-24

Family

ID=43536671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180047639XA Pending CN103221917A (zh) 2010-09-29 2011-09-29 加密运算中模幂的保护

Country Status (5)

Country Link
US (1) US20130279692A1 (zh)
EP (2) EP2437160A1 (zh)
CN (1) CN103221917A (zh)
AU (1) AU2011310576A1 (zh)
WO (1) WO2012041942A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104796250A (zh) * 2015-04-11 2015-07-22 成都信息工程学院 针对RSA密码算法M-ary实现的侧信道攻击方法
CN105721156A (zh) * 2014-12-23 2016-06-29 恩智浦有限公司 用于模幂加密方案的通用编码函数
CN106059770A (zh) * 2015-04-17 2016-10-26 恩智浦有限公司 用于模幂运算的高效平稳编码
CN106487510A (zh) * 2015-08-27 2017-03-08 意法半导体(鲁塞)公司 模幂计算的保护

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10235506B2 (en) 2015-05-05 2019-03-19 Nxp B.V. White-box modular exponentiation
US10089500B2 (en) * 2015-09-25 2018-10-02 Intel Corporation Secure modular exponentiation processors, methods, systems, and instructions
US10367637B2 (en) * 2016-07-22 2019-07-30 Qualcomm Incorporated Modular exponentiation with transparent side channel attack countermeasures
US10270598B2 (en) 2016-08-26 2019-04-23 Intel Corporation Secure elliptic curve cryptography instructions
US10887088B2 (en) * 2018-03-20 2021-01-05 International Business Machines Corporation Virtualizing a key hierarchy using a partially-oblivious pseudorandom function (P-OPRF)
US10887293B2 (en) 2018-03-20 2021-01-05 International Business Machines Corporation Key identifiers in an obliviousness pseudorandom function (OPRF)-based key management service (KMS)
US10841080B2 (en) * 2018-03-20 2020-11-17 International Business Machines Corporation Oblivious pseudorandom function in a key management system
US11115206B2 (en) 2018-08-23 2021-09-07 International Business Machines Corporation Assymetric structured key recovering using oblivious pseudorandom function
US10924267B2 (en) 2018-08-24 2021-02-16 International Business Machines Corporation Validating keys derived from an oblivious pseudorandom function
US11271723B2 (en) 2018-11-08 2022-03-08 Daniel Eugene Hale Apparatus and method for unbreakable data encryption

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010002486A1 (en) * 1998-01-02 2001-05-31 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
WO2007006649A1 (de) * 2005-07-13 2007-01-18 Siemens Aktiengesellschaft Verfahren zur seitenkanalangriffsresistenten vervielfachung
CN101346691A (zh) * 2005-12-26 2009-01-14 格姆普拉斯公司 包括安全模幂以避免隐蔽通道攻击的加密方法、用于执行所述方法的加密处理器以及相关的芯片卡
US20090183009A1 (en) * 2008-01-10 2009-07-16 Infineon Technologies Ag Data processing system, method for executing a cryptographic algorithm and method for preparing execution of a cryptographic algorithm
CN101632255A (zh) * 2007-03-12 2010-01-20 爱特梅尔公司 密码方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4086503B2 (ja) * 2002-01-15 2008-05-14 富士通株式会社 暗号演算装置及び方法並びにプログラム
US7739521B2 (en) 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7614043B2 (en) 2005-08-26 2009-11-03 Microsoft Corporation Automated product defects analysis and reporting

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010002486A1 (en) * 1998-01-02 2001-05-31 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
WO2007006649A1 (de) * 2005-07-13 2007-01-18 Siemens Aktiengesellschaft Verfahren zur seitenkanalangriffsresistenten vervielfachung
CN101346691A (zh) * 2005-12-26 2009-01-14 格姆普拉斯公司 包括安全模幂以避免隐蔽通道攻击的加密方法、用于执行所述方法的加密处理器以及相关的芯片卡
CN101632255A (zh) * 2007-03-12 2010-01-20 爱特梅尔公司 密码方法及系统
US20090183009A1 (en) * 2008-01-10 2009-07-16 Infineon Technologies Ag Data processing system, method for executing a cryptographic algorithm and method for preparing execution of a cryptographic algorithm

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
瞿云云等: "模幂运算的窗口NAF方法", 《西南大学学报(自然科学版)》 *
范黎恒等: "抵御简单功耗分析的RSA 模幂算法实现", 《微电子学与计算机》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721156A (zh) * 2014-12-23 2016-06-29 恩智浦有限公司 用于模幂加密方案的通用编码函数
CN105721156B (zh) * 2014-12-23 2019-10-15 恩智浦有限公司 对数据进行编码和数字签名的方法和相关设备
CN104796250A (zh) * 2015-04-11 2015-07-22 成都信息工程学院 针对RSA密码算法M-ary实现的侧信道攻击方法
CN104796250B (zh) * 2015-04-11 2018-05-25 成都信息工程学院 针对RSA密码算法M-ary实现的侧信道攻击方法
CN106059770A (zh) * 2015-04-17 2016-10-26 恩智浦有限公司 用于模幂运算的高效平稳编码
CN106059770B (zh) * 2015-04-17 2020-11-03 恩智浦有限公司 用于模幂运算的高效平稳编码
CN106487510A (zh) * 2015-08-27 2017-03-08 意法半导体(鲁塞)公司 模幂计算的保护
CN106487510B (zh) * 2015-08-27 2019-10-29 意法半导体(鲁塞)公司 模幂计算的保护

Also Published As

Publication number Publication date
EP2437160A1 (en) 2012-04-04
WO2012041942A1 (en) 2012-04-05
AU2011310576A1 (en) 2013-05-02
US20130279692A1 (en) 2013-10-24
EP2622458A1 (en) 2013-08-07

Similar Documents

Publication Publication Date Title
CN103221917A (zh) 加密运算中模幂的保护
Joye et al. On second-order differential power analysis
JP6707024B2 (ja) 非対称マスク済み乗算
CN107040362B (zh) 模乘设备和方法
Goubin et al. DES and differential power analysis the “Duplication” method
Fan et al. An updated survey on secure ECC implementations: Attacks, countermeasures and cost
CN101194457B (zh) 随机模数化多项式约简方法及其硬件
EP2005291B1 (en) Decryption method
CN101006677B (zh) 用于实施加密运算的方法和装置
CN101840325B (zh) 椭圆曲线上的抗故障计算
Özkaynak et al. Security problems for a pseudorandom sequence generator based on the Chen chaotic system
CN106464483B (zh) 用于电子部件实现椭圆曲线密码算法的应对方法、电子电路和电子系统
US7254718B2 (en) Tamper-resistant processing method
US10354063B2 (en) Protection of a modular calculation
CN101925875A (zh) 用于非对称加密的对策方法和设备
CN102970132A (zh) 一种防止对分组算法进行功耗分析和电磁辐射分析的防护方法
CN101213512A (zh) 保护数据处理设备以抵御攻击或分析的装置和方法
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
CN106254059A (zh) 一种运算方法和安全芯片
EP3776305A1 (en) Using cryptographic blinding for efficient use of montgomery multiplication
JP7177849B2 (ja) パブリックコンピューターにおいて暗号化データに作用するコードを安全に実行する方法
Jauvart et al. Improving side-channel attacks against pairing-based cryptography
Fournaris Fault and power analysis attack protection techniques for standardized public key cryptosystems
CN104298897A (zh) 基于混沌技术的嵌入式版权认证方法及专用处理器
Mahanta et al. Modular exponentiation with inner product to resist higher-order DPA attacks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130724