当前位置: 首页 > 专利查询>索尼公司专利>正文

信息处理装置、运算验证方法和程序制造方法及图纸

技术编号:3986877 阅读:159 留言:0更新日期:2012-04-11 18:40
提供了信息处理装置、运算验证方法和程序。信息处理装置包括:标量乘法运算单元,该标量乘法运算单元基于在预定的定义域上定义的椭圆曲线E上的点P而通过对点P进行标量乘法来计算点Q=s.P;以及运算验证单元,该运算验证单元使用该椭圆曲线E上的点P、标量乘法运算单元计算的点Q=s.P和椭圆曲线E上的任意点G来验证方程式(P+Q)+G=P+(Q+G)是否成立。

【技术实现步骤摘要】

本专利技术涉及信息处理装置、运算验证方法和程序
技术介绍
椭圆曲线加密技术是利用与椭圆曲线相关的离散对数问题的困难性的加密技术, 且在相同的安全标准下与RSA加密技术相比具有更短的钥匙长度的特征。该椭圆曲线加密 技术已在各种场合中得到了使用,例如椭圆曲线数字签名算法(ECDSA)中的利用签名的装 置对装置的认证。故障攻击是恶意第三方以未授权的方式获得通过使用椭圆曲线加密技术而生成 的密钥的示例性技术。在该故障攻击中,通过给出不正确的系统参数或在加密期间从外部 故意注入故障(例如破坏保持中间值的寄存器),恶意第三方能够获得不正确的计算结果 来估计密钥。这种故障攻击首先是在1997年由Boneh等人作为针对RSA加密技术的差分 故障分析攻击(DFA)而提出的,然后由Biehl等人扩展到椭圆曲线加密技术。作为针对诸如DFA之类的故障攻击的对策,在输出计算结果之前验证计算结果的 合法性,并且在计算结果具有不正确的值时不输出该计算结果。简单的对策的示例是通过 二次计算进行重新检查,其中进行两次相同的加密处理,并且当计算结果彼此不相等时不 输出该计算结果。假定在该验证措施中难以两次成功地注入完全相同的故障。然而,与没 有这种措施的情况相比,用于重复相同的运算的计算成本加倍,并且计算效率不那么理想。 因此,期望用于检测故障的更有效的方式。作为故障检测技术的另一示例,日本未审专利申请公开2004-252433描述了一种 方法,其中针对通过运算获得的点(X,Y)而分别计算表示椭圆曲线的方程式的左边和右 边,并确定左边是否等于右边,从而确定是否存在故障攻击。
技术实现思路
然而,在上述的日本未审专利申请公开2004-252433中描述的方法中,必须分别 提供对与表示椭圆曲线的方程式的右边和左边相对应的值进行计算的函数以及对所获得 的两种类型的值进行比较的函数。因此,当将日本未审专利申请公开2004-252433中描述 的方法作为硬件来实现时,对特定处理单元的设置不利地使电路尺寸增大。当将上述方法 作为软件来实现时,计算成本不利地增大。期望提供一种能够利用更简单的技术来确定是否存在故障攻击的信息处理装置、 运算验证方法和程序。根据本专利技术的实施例,提供了一种信息处理装置,包括标量乘法运算单元,该标 量乘法运算单元基于在预定的定义域上定义的椭圆曲线E上的点P而通过对点P进行标量 乘法来计算点Q = s · P ;以及运算验证单元,该运算验证单元通过使用椭圆曲线E上的点 P、标量乘法运算单元计算的点Q = s · P和椭圆曲线E上的任意点G来验证下面的方程式 (1)是否成立。(P+Q) +G = P+ (Q+G)...(1)根据上述结构,标量乘法运算单元基于在预定的定义域上定义的椭圆曲线E上的点P而通过对点P进行标量乘法来计算点Q = S · P。运算验证单元使用该椭圆曲线E上 的点P、标量乘法运算单元计算的点Q = s · P和该椭圆曲线E上的任意点G来验证方程式 (1)是否成立。椭圆曲线E优选地是在有限域Fq(q = pm,m e N, ρ > 3)上定义的椭圆曲线Ea :y2 =x3+ax+b (a, b e Fq),或者是在特征数(characteristic)为 2 的有限域 F2-m(m e N)上 定义的椭圆曲线 Eb :y2+xy = x3+a2x2+a6(a2, a6 e F2-J。当方程式(1)不成立时,运算验证单元确定点P不具有适当的值或者点Q已被篡 改。优选地,信息处理装置还包括存储单元,该存储单元存储要被信息处理装置隐藏 的隐藏信息,并且椭圆曲线E上的任意点G被作为该隐藏信息而存储在所述存储单元中。存储单元存储由信息处理装置保持的密钥d,标量乘法运算单元可以使用密钥d 作为用于标量乘法运算的系数S。运算验证单元可以通过使用由信息处理装置保持的公钥或由另一可靠的信息处 理装置保持的公钥代替点P或点Q来验证方程式(1)是否成立。根据本专利技术的另一实施例,提供了一种运算验证方法,包括以下步骤基于在预定 的定义域上定义的椭圆曲线E上的点P而通过对点P进行标量乘法来计算点Q = s · P ;以 及通过使用该椭圆曲线E上的点P、所计算的点Q = s · P和该椭圆曲线E上的任意点G来 验证方程式(1)是否成立。根据本专利技术的又一实施例,提供了一种程序,该程序使计算机执行基于在预定的 定义域上定义的椭圆曲线E上的点P而通过对点P进行标量乘法来计算点Q = s · P的功 能;以及使计算机执行通过使用该椭圆曲线E上的点P、该标量乘法运算功能所计算的点Q = S-P和该椭圆曲线E上的任意点G来验证方程式(1)是否成立的功能。如上所述,根据本专利技术的实施例,通过使用椭圆曲线上的群的性质,能够利用更简 单的技术来确定故障攻击的存在或不存在。附图说明图1示出了根据本专利技术实施例的信息处理装置的结构;图2是示出根据另一实施例的运算验证方法的流程图;图3示出了信息处理装置的硬件结构;图4示出了用于标量乘法运算的算法的示例;图5是示出使用小的阶数(order)的攻击的流程图;以及图6是示出在标量乘法运算中注入故障的攻击的流程图。具体实施例方式下面参考附图来详细描述本专利技术的优选实施例。这里,在说明书和附图中利用相 同的附图标记来给出具有基本相同的功能结构的部件,以避免重复的说明。这里以下面的顺序进行说明。(1)椭圆曲线(2)故障攻击(3)实施例(3-1)信息处理装置的结构(3-2)运算验证方法(4)硬件结构(5)结论椭圆曲线首先,在说明根据本专利技术实施例的信息处理装置和运算验证方法之前,详细说明用于在本专利技术实施例中使用的椭圆曲线。在根据本专利技术实施例的信息处理装置和运算验证方法中,使用两个椭圆曲线作为 椭圆曲线E。⑴在有限域Fq(q = pm, m e N, ρ > 3)上定义的椭圆曲线Ea :y2 = x3+ax+b(a, b e Fq) 0(ii)在具有特征数2的有限域(二值域)F2 m(m e N)上定义的椭圆曲线Eb :y2+xy =x3+a2x2+a6 (a2, a6 e F2-J。在下面的说明中,通过示例方式来考虑在具有ρ > 3的特征数的有限域上定义的 椭圆曲线Ea。相同的说明适用于在具有特征数2的有限域上定义的椭圆曲线Eb。用E(Fq) = {(x,y) e FqXFjy2 = x3+ax+b} U {0}表示椭圆曲线 Ea 上的点的集 合,其中0是无穷远的点,其是在更下面描述的加法中的E(Fq)的单位元素。将E(Fq)的密度称为椭圆曲线的阶数,并用#E(Fq) =h*r来表示,其中r是质数, h是被称为余子式的系数,并且这里假设h= 1。当将以随机方式选择的椭圆曲线上的点取 作基点G时,因为假设椭圆曲线的阶数为质数,因此G的阶数为r。这里,表示椭圆曲线的方程式中的系数、所定义的域的阶数ρ、基点的阶数r以及 基点G是用于指定椭圆曲线的椭圆曲线参数。接下来描述椭圆曲线上存在的两个点之间的加法。在椭圆曲线Ea中,如下定义椭圆曲线上存在的点P1 = (X1, Y1)和点P2 = (x2, y2) 之间的加法,其中P3= (x3,y3) = P^P20X3 = λ 2-χ「χ2... (11)y3 = (X本文档来自技高网...

【技术保护点】
一种信息处理装置,包括:标量乘法运算单元,所述标量乘法运算单元基于在预定的定义域上定义的椭圆曲线E上的点P而通过对所述点P进行标量乘法来计算点Q=s.P;以及运算验证单元,所述运算验证单元通过使用所述椭圆曲线E上的点P、所述标量乘法运算单元计算的所述点Q=s.P以及所述椭圆曲线E上的任意点G来验证下面的方程式(1)是否成立:(P+Q)+G=P+(Q+G)...(1)。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:松田诚一秋下彻
申请(专利权)人:索尼公司
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1