抵抗故障攻击的有限域密码算法的制作方法

文档序号:7895071阅读:301来源:国知局
专利名称:抵抗故障攻击的有限域密码算法的制作方法
技术领域
本文公开的各种示例性实施例总体上涉及抵抗故障攻击的密码(cryptographic)算法方法及系统。
背景技术
密码系统执行多种算法计算。尽管已知可证明多种非对称密码系统在数学设想方面是安全的,但是这些密码系统可能易受到诸如故障攻击之类的实现攻击(implementation attacks)的攻击。

发明内容
提供了实施例以使能一种抵抗故障攻击的密码算法方法及系统。呈现了各种示例性实施例的摘要。可以对以下摘要进行一些简化和省略,这旨在强调和介绍各种示例性实施例的一些方面,而非限制本发明的范围。在稍后部分,将紧跟着优选示例性实施例的详细描述,其足以使本领域技术人员能够构造和使用创造性概念。各种实施例还可以涉及一种密码函数的完整性保护计算的方法,包括:执行在交换环R上限定的密码函数f (X1, X2,, χη)中的运算c = a ο b ;选择与a和b相对应的a’和b’,使得a’和b’是交换环R’的元素;计算c’ = a’ Q ’ b’ ;计算a” = CRT (a,a’ )和b” = CRT(b,b’),其中CRT是中国余数定理;计算c”= a” o ” b”;将c”映射到R’中;以及确定是否c”至R’中的映射等于C’。各种实施例还可以涉及一种利用指令编码的非临时性存储介质,所述指令用于密码函数的完整性保护计算,所述指令包括:用于执行在交换环R上限定的密码函数f (Xl,x2,...,xn)中的运算c = a O b的指令;用于选择与a和b相对应的a’和b’,使得a’和b’是交换环R’的元素的指令;用于计算c’ =a’ o’b’的指令;用于计算a” = CRT(a,a’)和b” = CRT(b, b,)的指令,其中CRT是中国余数定理;用于计算c” = a” ο ”b”的指令;用于将c”映射到R’中的指令;以及用于确定是否c”至R’中的映射等于c’的指令。


为了更好地理解各种示例性实施例,将参考附图,其中:图1示出了函数的关系,用于映射各种域R、R’、和R”之间的元素;图2是示出了可以如何计算密码函数f的一个步骤的流程图;图3是示出了可以如何有效地计算密码函数f的一个步骤的流程图;以及图4示出了在完整性保护的情况下以及在没有完整性保护的情况下使用字级(Word-Level)蒙哥马利乘法(Montgomery Multiplication)的计算成本。
具体实施例方式现在参考附图,公开各种示例性实施例的概括方面,在附图中,相同标记表示相同部件或步骤。已知可证明多种非对称算法在某些数学设想方面是安全的。不幸地,这些密码系统的多种直接实现通常变得容易受到实现攻击的攻击,特别是在功率受限的设备上。可能感兴趣的一种攻击是故障(fault)攻击。故障攻击可以将故障注入密码处理中。给定正确结果和错误结果的集合,故障攻击可以将故障注入到算法使用的存储器(例如,RAM、寄存器、EEPR0M)中,或者甚至可以将故障注入到整个运算(例如,算法逻辑单元)中,其目的在于提取秘密信息。故障攻击还可以与诸如辅助(side)信道攻击之类的其它类型的攻击相结合。因此,需要有效的对策来抵抗故障攻击,尤其是在非对称密码方面,将有限域(Finite Field Arithmetic)算法(或者,更松散的环算法)用作构造块。使用这种构造块的两类广泛使用的密码系统包括:1)基于因式分解问题(Factoring Problem)的密码系统,即,对环行运算,其中η是两个或多个素数的乘积,例如RSA密码系统或Paillier密码系统;以及2)基于离散对数(DL)问题的密码系统,其中对η阶的组Gn执行运算,例如ElGamal密码系统、Cramer-Shoup密码系统、数字签名算法或Schnorr签名方案。Gn例如可
*
以是域Zp的乘法组Zp,其中,P是素数,因而n = P-1,或者Gn可以是素数域或二进制扩展域(binary extension field)中的η阶捕圆曲线组。更高级的密码技术包括如下方案,例如知识的基于DL的零知识证明(例如,用于置信系统)、基于DL的可证实秘密共享(例如,用于对银行保险库或核导弹发射进行访问控制)、基于DL的安全多方计算(例如,用于在若干实例上共享的安全估计功能)或阈值密码系统(例如,用于对实例集合共享解密或签名产生)。符号通过Gn表示η阶的组。通过ord (R)表示环R的乘法组的阶。中国余数定理在下文中,以简要形式讨论中国余数定理(CRT),即针对模数(moduli),其中该模数是两个不同素数(或者,如果考虑将CRT用于多项式环,则是两个不同的不可约分多项式)的乘积。设n = pq,其中P和q是素数。然后,对于给定X,, e Z,,和xp e Zp,存在唯一解xn E Zn,使得 xn = Xp (MOD p)并且 xn = xq (MOD q)。给定夕和 y,使得
权利要求
1.种密码处理器上密码函数的完整性保护计算的方法,包括: 执行在交换环R上限定的密码函数f (X1, X27 , Xn)中的运算c = a O b ; 选择与a和b相对应的a’和b’,使得a’和b’是交换环R’的元素; 计算 c’ = a’。’ b’ ; 计算a” = CRT(a,a’ )和b”= CRT(b,b’),其中CRT是中国余数定理; 计算 c”= a” ο ”b”; 将c”映射到R’中;以及 确定c”至R’中的映射是否等于C’。
2.权利要求1所述的方法, 其中,如果c”至R’中的映射等于c’,则对于a和b的其它值,重复权利要求1所述的方法,以进一步计算密码函数f (Xl,x2,...,xn),否则指示所述密码函数Mx1, X2, , Xn)的计算无效。
3.权利要求1所述的方法,其中,所述密码函数基于因式分解问题。
4.权利要求1所述的方法,其中,所述密码函数基于离散对数问题。
5.权利要求1所述的方法,其中,a’和b’分别是a”和b”的校验和。
6.权利要求1所述的方法,其中,a’和b’分别是a”和b”的循环冗余校验。
7.权利要求1所述的方法,其中,选择a’和b’包括:设置a’=中α ’是R’中的常量,并且所述方法还包括: 计算a”=CRT(0,α’),其中计算c”包括计算c’’= a”。” b”-”6,其中,如果ο ”=+,,,则 =α,,,如果 ο ” =.”,则5 =α”(α’’-1)。
8.权利要求7所述的方法,其中,如果c”至R’中的映射等于α’,则对于a和b的其它值,重复权利要求1所述的方法,以进一步计算密码函数f (Xl,x2,...,xn),否则指示所述密码函数f (X1, X2, , Xn)的计算无效。
9.种利用指令编码的非临时性存储介质,所述指令用于执行密码函数的完整性保护计算,所述指令包括: 用于执行在交换环R上限定的密码函数f (X1, x2,...,Xn)中的运算c = a ο b的指令; 用于选择与a和b相对应的a’和b’,使得a’和b’是交换环R’的元素的指令; 用于计算c’ =a’ o’b’的指令; 用于计算a” = CRT(a,a’ )和b”= CRT(b,b’ )的指令,其中CRT是中国余数定理; 用于计算c”= a” o”b”的指令; 用于将c”映射到R’中的指令;以及 用于确定c”至R’中的映射是否等于c’的指令。
10.权利要求9所述的非临时性存储介质,其中,如果c”至R’中的映射等于c’,则对于a和b的其它值,重复权利要求1所述的计算,以进一步计算密码函数f (X1, x2,..., xn),否则指示所述密码函数f U1, x2, , xn)的计算无效。
11.权利要求9所述的非临时性存储介质,其中,所述密码函数基于因式分解问题。
12.权利要求9所述的非临时性存储介质,其中,所述密码函数基于离散对数问题。
13.权利要求9所述的非临时性存储介质,其中,a’和b’分别是a”和b”的校验和。
14.权利要求9所述的非临时性存储介质,其中,a’和b’分别是a”和b”的循环冗余校验。
15.权利要求9所述的非临时性存储介质,其中,选择a’和b’包括:设置a’= α ’且b’ = α’,其中0’是1 ’中的常量,并且所述指令还包括: 用于计算a”= CRT (O,α’)的指令,其中计算c”包括计算C”= a,,。H其中,如果 O ” = +,,,则 5 =α,,,如果 O,,=.”,则 5 = α,,(α,,-1)。
16.权利要求15所述的非临时性存储介质,其中,如果c”至R’中的映射等于α’,则对于a和b的其它值,重复权利要求1所述的方法,以进一步计算密码函数f(Xl,X2,...,xn),否则指示所述密码函 数f U1, X2, , xn)的计算无效。
全文摘要
各种实施例涉及一种密码函数的完整性保护计算的方法,包括执行在交换环R上限定的密码函数f(x1,x2,...,xn)中的运算c=aοb;选择与a和b相对应的a’和b’,使得a’和b’是交换环R’的元素;计算c’=a’ο’b’;计算a”=CRT(a,a’)和b”=CRT(b,b’),其中CRT是中国余数定理;计算c”=a”ο”b”;将c”映射到R’中;以及确定c”至R’中的映射是否等于c’。
文档编号H04L9/30GK103095450SQ20121013988
公开日2013年5月8日 申请日期2012年5月8日 优先权日2011年5月11日
发明者马丁·沙弗, 布鲁斯·默里 申请人:Nxp股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1