CN101147123A - 保护数据处理设备不受电磁辐射攻击的配置和方法 - Google Patents

保护数据处理设备不受电磁辐射攻击的配置和方法 Download PDF

Info

Publication number
CN101147123A
CN101147123A CNA2006800072357A CN200680007235A CN101147123A CN 101147123 A CN101147123 A CN 101147123A CN A2006800072357 A CNA2006800072357 A CN A2006800072357A CN 200680007235 A CN200680007235 A CN 200680007235A CN 101147123 A CN101147123 A CN 101147123A
Authority
CN
China
Prior art keywords
data processing
mod
verification
processing equipment
calculating
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
CNA2006800072357A
Other languages
English (en)
Inventor
赫拉尔杜斯·塔拉西塞斯·马里亚·胡贝特
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101147123A publication Critical patent/CN101147123A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • 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
    • 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/7271Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred
    • 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/724Finite field arithmetic

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

为了进一步改进一种配置以及保护至少一种数据处理设备的方法,特别是至少一种嵌入式系统,例如至少一个芯片卡或者智能卡,以防止至少一种攻击,特别是防止至少一种电磁辐射攻击,所述的数据处理设备包括至少一个执行计算,特别是执行加密操作的集成电路,其中目的在于发现私人密钥的电磁辐射攻击可以被安全地避免,其建议利用至少一个F校验来检验所述的计算。

Description

保护数据处理设备不受电磁辐射攻击的配置和方法
技术领域
本发明总地涉及阻止密码分析的技术领域,特别是保护至少一个数据处理设备不受至少一个电磁辐射的攻击。
具体地,本发明涉及一种保护至少一个数据处理设备,特别是至少一个嵌入式系统,例如至少一个芯片卡或智能卡,不受到至少一个攻击,特别是不受到至少一个电磁辐射攻击的配置和方法,所述的数据处理设备包括执行计算,特别是加密操作的至少一个集成电路。
背景技术
数据处理设备,特别是嵌入式系统,例如芯片卡或智能卡,使用公共密钥基础结构(Public Key Infrastructure)系统来交换密钥,并且必须被保护免于受到各种形式的旨在发现私有密钥的攻击。一种这样的攻击通过在无保护的(以及因而感光灵敏)芯片上施加:
-一个或者多个光源或者
-某种电磁辐射源
来影响计算,特别是加密操作。
为了防止用机械触点的方法或者用电力线或者激光的方法读出敏感数据以保护集成电路,现有技术文献DE4018688A1旨在给集成电路的敏感部件提供保护层以及周期性地检验该保护层的电容、电感或电阻是否由于外界的侵扰而改变。
现有技术文献JP11-008616A公开了通过使用中国的余部定理而使集成电路卡不受利用IC卡高速进行签名生成处理故障的攻击以提高它的安全性。
为了提供一种保护芯片配置不被滥用和/或操纵的电的或电子的电路配置以及方法,根据现有技术文献EP1233372A1配置了一个检测器单元,其输出电压是检测器单元上的光的入射的量度,以及一个先于检测器单元提供的比较器单元,用于比较检测器单元的输出电压和参考电压。这样的话,在比较检测器单元的输出电压和参考电压期间,故障信息出现的情况下,将被保护的芯片配置的数据和/或功能可以被临时或者永久地阻止和/或擦除和/或阻碍和/或中断。
现有技术EP1326203A2涉及一种用于保护电路的数字部分的方法和配置,该方法和配置可以特别用于保护这样的数字电路中(特别是含有机密数据的智能卡控制器中)的存储器部分免受攻击,该攻击采用的方法旨在利用简短的电压降,例如利用闪光攻击将电路的数字部分,特别是智能卡控制器的数字部分改变到未定义的状态。
现有技术文献GB2319150A提出了一种具有相关安全方法的认证方法。所述的认证方法包括从受密钥算法控制的随机号码中获取计算结果的步骤。所述的安全方法包括从受密钥算法控制的参考随机号码中计算测试结果的步骤,将测试结果与参考结果比较的步骤,以及确保仅仅当测试结果与参考结果相同时传送所述的计算结果的步骤。
发明内容
从上述的劣势和缺点开始以及考虑到所述的现有技术,本发明的一个目的是进一步改进在所述的技术领域中描述的一种配置以及方法以便能够保证防止旨在发现私人密钥的电磁辐射攻击。
本发明的目的通过包括权利要求1的特征的配置以及包括权利要求6的特征的方法来实现。优选的实施例和本发明的有利改进在相应的从属权利要求中披露。
本发明原则上基于使用用于芯片卡或智能卡保护的F计算和/或F校验来防止电磁辐射攻击的原理,特别是防止光攻击,例如,防止闪光攻击;因而,防止利用IC卡故障的攻击的集成电路卡的安全性显著提高。
比起在现有技术文献GB2319150A中解释的随机号码计算,使用F计算和/或F检验(所谓的F校验)是更普遍的方法,因为本发明对4位的倍数也起到很好的作用。
这样的电磁辐射攻击试图通过引导光源或者其他的EM辐射源到芯片上,通过影响计算而找到私人密钥。为了保护嵌入式系统,特别是芯片卡或者智能卡,F校验检验所述的计算。所述的F校验用于十六进制系统并且类似于用于十进制的9校验。
对于十进制系统,这种9校验是已知的。当两个数字相乘时,每个数字的数位被相加,两个和被相乘,结果被9除并且余数被保持。而后,取得相乘的结果,它的数位被求和,也被9除并且余数被保持。9校验表明两者余数相同。
对于十六进制系统,F校验是可比较的校验。该F校验对于GF(p)可能是已知的但是对GF(2n)不是,对于GF(2n)本发明也描述一个校验。在本上下文中,如果一个结构利用素数(p)扩展域或者二进制(2n)扩展域中的操作数都能够工作,则该结构被称为统一的。
如果p是一个素数,整数对p取模形成具有p个元素的域,由GF(p)表示。有限域是具有有限域阶的域,就是说,有限数量的元素,也被称为伽罗瓦域或者GF。有限域的阶通常是素数或者素数的幂。对于每一个素数的幂,精确地存在一个(对于通常的说明“精确到一个”意思是“精确到直到同构的一个”)有限域GF()。GF(p)被称为阶p的素数域,并且是剩余类对p取模的域。
当n>1时,GF()可以表示为多项式的等价类的域,该多项式的系数属于GF(p)。任意的度为n的不可约多项式产生相同的域直到同构。
根据本发明的特别发明改进,当所述的F校验在计算中发现错误时对嵌入式系统的访问被拒绝。在这一点上,所述的F计算利用所谓的F校验来检验计算,特别是加密操作。当F计算发现错误时,它拒绝给出结果。
这样的F计算或者F检验是有效的,因为光攻击或者电磁辐射攻击是这样一个过程;这样的攻击的地点和时间都不是精密的。因为这个原因,所述的攻击者既不能够在精确的瞬间攻击计算也不能够精确地攻击所期望的部分,就是说,通道的位置。更普遍地,反复实验的方法用于这样的攻击。
本发明进一步涉及一种数据处理设备,特别是嵌入式系统,例如芯片卡或者智能卡,所述数据处理设备包括至少一个执行计算特别是加密计算的集成电路,其中集成电路通过利用至少一个F校验来检验所述的计算而被保护,以防止至少一种攻击,特别是至少一种电磁辐射攻击。
本发明最后涉及至少一个上述的配置和/或在上述的至少一个数据处理设备中描述的上述方法的使用。
附图说明
如以上已经讨论的,存在多种以有利的方式具体化以及提高本发明的教导的选择。出于这个目的,参照从属于权利要求1和权利要求6的相应权利要求,以下通过例子和附图参照优选实施例详细解释了本发明的进一步的改进、特征和优点,其中:
图1是示意性显示作为本发明的一部分的4个进位存储加法器的一个实施例。
图2是示意性显示作为本发明的一部分的8个互连的进位存储加法器的一个实施例。
图3是示意性显示作为本发明的一部分的全加器的一个实施例。
在图1到图3中相同的参考标记用于相应的部分。
具体实施方式
数据处理设备的实施例,也就是,包括执行加密操作的集成电路的芯片卡或智能卡形式的嵌入式系统涉及公共密钥基础结构系统并且根据本发明的方法运行,就是说,被保护而不被滥用和/或操纵。
集成电路的加密计算可以基于用于计算加密C=Memod(N)的RSA算法(参看现有技术文献US4405829或者由Ron Rivest、Adi Shamir和LenAdleman在1978年2月的Communications of the ACM,第21(2),120到126页中提出的标题为“A Method for Obtaining Digital Signatures andPublic-Key Cryptosystems”的现有技术),其中:
-M是将被加密的信息,
-N=P.q,
-e对(p-1)(q-1)是互质的,
-d使得Xedmod[(p-1)(q-1)]=1;
解密计算M=Cdmod(N)。
一种计算Me(或Cd)的方式如下:
-开始于R=M;
-从左到右扫描指数e;
-一直计算R=R2mod(N);
-当e的扫描位为1时,而且R=R.M mod(N)被
计算。
因此,所述的计算包含多个平方和乘法。对于该简化,模数N是从结果减去或者增加的次数(Q)。
所述的乘法通常是:
R=X.Y-Q.N同时X=R且Y=M;
在开始时,计算F(M)和F(N)并且存储为FM和FN;由于X(=R)是在先计算的结果,F(X)也是已知的并且存储为FX
所述的F校验计算:
F=FX.FY-F(Q).FN以及F(R),也就是,从所述结果中。
而后,所述的F校验检验:F=F(R)。所述值被存储用于下一次检验。
当因数Q被计算时,在简化期间计算F(Q)。
所述的平方通常是:
R=X2-Q.N而X=R;
所述的F校验检验:F(R)=FX 2-F(Q).FN
对于ECC(椭圆曲线加密)(参看由M.Emst、M.Jung、F.Madlener等人提出的现有技术文章“A Reconfigurable System on Chip Implementation forElliptic Curve Cryptography over GF(2n)”的第381到399页),选择了椭圆曲线和在那个曲线上的点P。
在第一个实例A,选择了随机数a;a.P被计算以及作为公共密钥发送到第二实例B。在该实例B,选择随机数b,b.P被计算并且作为公共密钥发送到第一实例B。而后第一实例A计算K=a.(b.P)以及第二实例B计算K’=b.(a.P)。现在K=K’并且这是两个实例A和B的公用秘密。
基本操作是点P乘以标量a。这是一个重复的点相加X=aP=P+P+...+P(a次);
-开始于R=P;
-从左向右扫描标量a;
-一直计算R=2R mod(N)(所谓的点加倍);
-当a的扫描位为1时,而且R=R+P mod(N)被
计算(所谓的点相加)。
用于所谓的点加倍的算法和用于所谓的点相加的算法使用操作X.Y±Zmod(N)和X2±Z mod(N)(象RSA算法一样而且第三操作数Z被加或减)。
与RSA算法相同的方式,所述的F校验检验:
-F(R)=FX.Fy±Fz-F(Q).FN
-F(R)=FX 2±Fz-F(Q).FN
所述的点加倍算法和点相加算法也需要倒置操作,其计算X-1[X.X-1mod(N)=1];该操作可以通过F校验检验(参看以下),即通过所谓的用于倒置的F校验:
使X-1为X mod(N)的倒置,就是X.X-1=mod(N)。
假定F(X)在前已经计算出,在X的倒置计算之后,就是在X-1计算之后,计算F(X-1)mod(F)。
现在,倒置X-1的计算可以通过计算F(X.X-1)mod(F)=F(X).F(X-1)mod(F)=1而轻易检验。
如果结果不等于1,则倒置X-1的计算不正确,特别是由于各种类型的攻击,例如由于一些类型的电磁辐射攻击。
该检测,即用于倒置的F校验花费比X和X-1mod(N)的相乘少得多的计算资源,其也具有结果1。此外,其余检验也需要F(X-1)的值。因此,仅仅F(X).F(X-1)mod(F)的计算是附加的。
对于F校验自身,存在以下的定义和性质:
对于伽罗瓦域GF(p):
X=xn-1Bn-1+xn-2Bn-2+...+x0
B=24
对于GF(p),F=B-1。
对于伽罗瓦域GF(2n):
X=xn-1Bn-1xn-2Bn-2...x0
B=a4
对于GF(2n),F=B1。
具有定义F(X)=X mod(F),第一引理是:
F(X)=xn-1+xn-2+...+x0mod(F)。
对于GF(P)的校验:
F(X)=xn-1Bn-1+xn-2Bn-2+...+x0mod(B-1)//减去B-1xn-1Bn-2
=(xn-1+xn-2)Bn-2+...+x0mod(B-1)//减去B-1(xn-1+xn-2)Bn-3
=(xn-1+xn-2+xn-3)Bn-3+...+x0mod(B-1)//减去B-1(xn-1+xn-2+xn-3)Bn-4
重复该过程,获取F(X)=xn-1+xn-2+...+x0mod(F)。
以相同的方式通过增加a41替代减去B-1获取对GF(2n)的校验。
第二引理是:
F(X+Y)=F(X)+F(Y)mod(F)
对于GF(p)的校验:
F(X+Y)=F(X)+F(Y)mod(F)
=xn-1Bn-1+xn-2Bn-2+...+x0+(yn-1Bn-1+yn-2Bn-2+...+y0)mod(B-1)
=(xn-1+yn-1)Bn-1+(xn-2+yn-2)Bn-2+...+(x0+y0)mod(B-1)
=xn-1+yn-1+xn-2+yn-2+...+(x0+y0)mod(B-1)
=xn-1+xn-2+...+x0+yn-1+yn-2+...+y0
=F(X)+F(Y)
通过以相同的方式将+替换成而获取对GF(2n)的校验。
第三引理是:F(X-Y)=F(X)-F(Y)mod(F)
对于GF(p)的校验:
F(X-Y)=F(X)-F(Y)mod(F)
=xn-1Bn-1+xn-2Bn-2+...+x0-(yn-1Bn-1+yn-2Bn-2+...+y0)mod(B-1)
=(xn-1-yn-1)Bn-1+(xn-2-yn-2)Bn-2+...+(x0-y0)mod(B-1)
=xn-1-yn-1+xn-2-yn-2+...+(x0-y0)mod(B-1)
=xn-1+xn-2+...+x0-(yn-1+yn-2+...+y0)
=F(X)-F(Y)
在GF(2n)中没有的这样的操作。
第四引理是:
F(X.Y)=F(X).F(Y)mod(F)
对于GF(p)的校验:
F(X.Y)=F(X).F(Y)mod(F)
=(xn-1Bn-1+xn-2Bn-2+...+x0)(yn-1Bn-1+yn-2Bn-2+...+y0)mod(B-1)
=xn-1Bn-1(yn-1Bn-1+yn-2Bn-2+...+y0)+
xn-2Bn-2(yn-1Bn-1+yn-2Bn-2+...+y0)+
+...+
+x0(yn-1Bn-1+yn-2Bn-2+...+y0)mod(B-1)
=Bn-1(xn-1yn-1Bn-1+xn-1yn-2Bn-2+...+xn-1y0)+
+Bn-2(xn-2yn-1Bn-1+xn-2yn-2Bn-2+...+xn-2y0)+
+Bn-3(xn-3yn-1Bn-1+xn-3yn-2Bn-2+...+xn-3y0)+
+...+
+B0(x0yn-1Bn-1+x0yn-2Bn-2+...+x0y0)mod(B-1)
=Bn-1(xn-1yn-1+xn-1yn-2+...+xn-1y0)+//根据第一引理
+Bn-2(xn-2yn-1+xn-2yn-2+...+xn-2y0)+
+Bn-3(xn-3yn-1+xn-3yn-2+...+xn-3y0)+
+...+
+B0(x0yn-1+x0yn-2+...+x0y0)mod(B-1)
=xn-1’Bn-1+xn-2’Bn-2+...+x0
其中xi-1’=xi-1(yn-1+yn-2+...+y0),i=0,1,...n-1
F(X.Y)=xn-1’+xn-2’+...+x0’=(xn-1+xn-2+...+x0)(yn-1+yn-2+...+y0)=F(X)F(Y)
以相同的方式通过将+替换成而获取对GF(2n)的校验。
关于本发明的实施例,使用标记x=F(X)和y=F(Y),x和y由4位组成(半字节)。
GF(p)的mod(F)的总和如下:
F(X+Y)=F(x)+F(y)mod(F)=x+y mod(F)
由于必须执行若干次连续的操作,操作数的其中之一(这里是x)将是进位存储的形式。当结果是F时,它被留置而不是将它减到0。
F(x)    x3s  x2s  x1s  x0s
        x3c  x2c  x1c  x0c
F(y)    y3   y2   y1   y0
        -------------------------------------+
F(x’)  x3s’x2s’x1s’x0s
        x4c  x3c  x2c  x1c  0
x4c′是x3s+x3c+y3的总和的进位。
结果必须减去mod(F)。因此当x4c′=1时,F减去F或者其2的补码被增加,是1。因此,x4c′被加入LSB(最低有效位)。但是,添加被推迟并存储在x0c的位置,是0。因此,获取以下的结果,其中F(x’)=F(x)+F(y)=F(x+y):
F(x’)  x3s  x2s  x1s  x0s
        x3c  x2c  x1c  x4c
归纳起来,执行了普通的进位存储加法以及该进位被存储为LSB进位(在位0而非位4)。
对于GF(2n),所有的进位项(具备下标c)是0。加法是普通按位异或。
在加法的情况下,输入不被反相,但是在减法的情况下,通过异或使输入反相(参见图1:加法和减法)。
当输出通过寄存器反馈给x输入以及当y输入是Y操作数的连续半字节时,电路计算F(Y),就是说,在4位步骤中计算完整的操作数。
减法mod(F)如下:
F(X-Y)=F(X)-F(Y)mod(F)=x-y mod(F),其中x-y=-B+x+(B-y-1)+1mod(F)。增加F=B-1,获取x-y=x+(B-y-1)=x+y’其中y’=y“1111”。
代替减法,增加了F(X)和F(Y)的按位反相。
对于GF(2n),不存在减法。
GF(p)的相乘mod(F)如下:
F(X.Y)=F(X).F(Y)mod(F)=x.y mod(F)。
首先,研究加倍mod(F):
F(2x)=2x323+2x222+2x121+2x020mod(F)=x324+x223+x122+x021
这通过减法x3(B-1)=x3(24-1)而减少。
F(2x)=x3+x223+x122+x021.
因此,加倍mod(F)与1位左旋转相同。以相同的方式,可以证明乘以2nmod(F)与n位左旋转相同。乘法与增加一定数目的移位操作是相同的,因此用旋转来替代。
F(x.y)=x.y mod(F)
=(x323+x222+x121+x020)(y323+y222+y121+y020)
=23(x3y323+x3y222+x3y121+x3y020)+
+22(x2y323+x2y222+x2y121+x2y020)+
+21(x1y323+x1y222+x1y121+x1y020)+
+20(x0y323+x0y222+x0y121+x0y020)mod(F)
=x3y023+x3y322+x3y221+x3y120+
+x2y123+x2y022+x2y321+x2y220+
+x1y223+x1y122+x1y021+x1y320+
+x0y323+x0y222+x0y121+x0y020mod(F)
=(x3y0+x2y1+x1y2+x0y3)23+
+(x3y3+x2y0+x1y1+x0y2)23+
+(x3y2+x2y3+x1y0+x0y1)23+
+(x3y1+x2y2+x1y3+x0y0)23mod(F)
这通过进位存储加法器CSA实现(参看图2)。一个CSA把将3个数加到一起的问题转换成了将两个数加到一起的问题。如果9个数被加到一起,可以使用3个CSA以便将9个数减少到6个数;而后,这6个数可以被减少到4个数。在这一点上,从前面的计算获取输入,并且进位输出被存储用于后续的计算。
CSA计算技术的优点是它的快速性,因为明显地缩短了相乘的步骤以及因为在相乘期间不存在进位传送,就是说,进位被保存以供以后使用。进位存储加法器是计算技术的一个基本例子称为冗余位表示法。冗余位表示法的基本动机是
-在没有被压缩的数不同的表示中,计算经常是更加容易的,并且
-利用二进制表示中间结果需要附加逻辑以使所述表示简洁。
因此,3个乘积被相加,给出了进位和总和结果。如上所示,基于总和mod(F),向上进位变成位0。而后,增加了第4乘积;这再次给出了进位和总和结果;再次,向上进位变成位0:f0c
对于GF(2n),通常所有的进位项被取消。
注意平方mod(F),除了使用x=y的乘法函数F(X2)的可能性之外,用于该函数的计算逻辑非常普通。在以下列表中找到F(X2),示出了F(x)的平方并且可以简单地合成:
F(x) GF(p) GF(2n)
0 0 0
1 1 1
2 4 4
3 9 5
4 1 1
5 A 0
6 6 5
7 4 4
8 4 4
9 6 5
A A 0
B 1 1
C 9 5
D 4 4
E 1 1
F 0 0
当所有的输入位反相时,该结果没有改变。
最终,所述的结果必须利用独立于进位存储加法器CSA的全加器FA(参看图3)而从进位和的形式转换到正常形式。输出的进位被首先计算作为输入的进位而被增加:
使得生成函数Gi=fisfic并且分布函数P1=f3sfic
而后C=G3+P3G2+P3P2G1+P3P2P1G0
对于GF(2n),通常所有的进位项被取消。

Claims (10)

1.一种用于保护至少一个数据处理设备,特别是至少一个嵌入式系统,例如至少一个芯片卡或者智能卡,不受到至少一种攻击,特别是不受至少一种电磁辐射攻击的配置,所述数据处理设备包括至少一个执行计算,特别是执行加密操作的集成电路,其特征在于利用至少一个F校验检验所述计算。
2.根据权利要求1的配置,其特征在于所述F校验是为十六进制系统设计的。
3.根据权利要求1或2的配置,其特征在于当所述F校验在所述计算中发现至少一个错误时,对所述数据处理设备的访问被拒绝。
4.根据权利要求1到3的至少一个的配置,其特征在于所述计算是基于RSA算法和/或基于椭圆曲线加密算法。
5.一种数据处理设备,特别是一种嵌入式系统,例如芯片卡或者智能卡,包括至少一个执行计算,特别是执行加密操作的集成电路,其特征在于通过利用至少一个F校验检验所述计算而保护集成电路不受至少一种攻击,特别是不受至少一种电磁辐射的攻击。
6.一种保护至少一个数据处理设备,特别是至少一种嵌入式系统,例如至少一个芯片卡或智能卡,不受至少一种攻击,特别是不受至少一种电磁辐射攻击的方法,所述数据处理设备,特别是数据处理设备的至少一个集成电路,执行计算,特别是加密操作,其特征在于利用至少一个F校验检验所述计算。
7.根据权利要求6的方法,其特征在于所述F校验是为十六进制系统设计的。
8.根据权利要求6或7的方法,其特征在于当所述F校验在所述计算中发现至少一个错误时,对所述数据处理设备的访问被拒绝。
9.根据权利要求6到9中至少一个的方法,其特征在于所述计算是基于RSA算法和/或基于椭圆曲线加密算法。
10.在根据权利要求5的至少一个数据处理设备中使用根据权利要求1到4中至少一个的至少一种配置和/或使用根据权利要求6到8中至少一个的方法。
CNA2006800072357A 2005-03-08 2006-03-01 保护数据处理设备不受电磁辐射攻击的配置和方法 Pending CN101147123A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05101761 2005-03-08
EP05101761.4 2005-03-08

Publications (1)

Publication Number Publication Date
CN101147123A true CN101147123A (zh) 2008-03-19

Family

ID=36602411

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006800072357A Pending CN101147123A (zh) 2005-03-08 2006-03-01 保护数据处理设备不受电磁辐射攻击的配置和方法

Country Status (5)

Country Link
US (1) US20090279695A1 (zh)
EP (1) EP1859345A1 (zh)
JP (1) JP2008533791A (zh)
CN (1) CN101147123A (zh)
WO (1) WO2006095281A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107403798A (zh) * 2017-08-11 2017-11-28 北京芯思锐科技有限责任公司 一种芯片及其检测方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352752B2 (en) * 2006-09-01 2013-01-08 Inside Secure Detecting radiation-based attacks
CN101950342B (zh) * 2010-09-20 2013-03-13 北京海泰方圆科技有限公司 一种集成电路卡访问控制权限的管理装置及方法
JP2012169756A (ja) * 2011-02-10 2012-09-06 Hitachi Ltd 暗号化通信検査システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1378905A (fr) * 1963-08-23 1964-11-20 Perfectionnements applicables à la réalisation de calculateurs numériques industriels
US4405829A (en) * 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US6108419A (en) * 1998-01-27 2000-08-22 Motorola, Inc. Differential fault analysis hardening apparatus and evaluation method
US6724894B1 (en) * 1999-11-05 2004-04-20 Pitney Bowes Inc. Cryptographic device having reduced vulnerability to side-channel attack and method of operating same
DE10101995A1 (de) * 2001-01-18 2002-07-25 Philips Corp Intellectual Pty Schaltungsanordnung und Verfahren zum Schützen mindestens einer Chipanordnung vor Manipulation und/oder vor Mißbrauch
FR2819663B1 (fr) * 2001-01-18 2003-04-11 Gemplus Card Int Dispositif et procede d'execution d'un algorithme cryptographique
DE10202700A1 (de) * 2002-01-24 2003-08-07 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen eines Befehlscodes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107403798A (zh) * 2017-08-11 2017-11-28 北京芯思锐科技有限责任公司 一种芯片及其检测方法

Also Published As

Publication number Publication date
US20090279695A1 (en) 2009-11-12
WO2006095281A1 (en) 2006-09-14
JP2008533791A (ja) 2008-08-21
EP1859345A1 (en) 2007-11-28

Similar Documents

Publication Publication Date Title
US9772821B2 (en) Cryptography method comprising an operation of multiplication by a scalar or an exponentiation
Wang et al. Algebraic manipulation detection codes and their applications for design of secure cryptographic devices
Wenger et al. Exploring the design space of prime field vs. binary field ECC-hardware implementations
CN100527072C (zh) 用于执行蒙哥马利型模乘法的装置及方法
US20130238904A1 (en) Protection against side channel attacks with an integrity check
TW200839609A (en) Modular multiplication method with precomputation using one known operand
EP2211265B1 (en) Elliptic curve arithmetic processing unit and elliptic curve arithmetic processing program and method
CN1415147A (zh) 具有通过密钥再分进行存取保护的便携式数据存储介质
JP5693927B2 (ja) 故障利用攻撃の検出方法及び検出装置
CN101925875A (zh) 用于非对称加密的对策方法和设备
WO2007000701A2 (en) Arrangement for and method of protecting a data processing device against an attack or analysis
US9405729B2 (en) Cryptographic method comprising a modular exponentiation operation
CN111444518A (zh) 安全处理器及其操作方法、加密或解密数据的方法
US20040028221A1 (en) Cryptographic method and cryptographic device
CN101147123A (zh) 保护数据处理设备不受电磁辐射攻击的配置和方法
Wang et al. Secure multipliers resilient to strong fault-injection attacks using multilinear arithmetic codes
US20040125950A1 (en) Method for protecting public key schemes from timing, power and fault attacks
Medwed et al. Arithmetic logic units with high error detection rates to counteract fault attacks
JP4766285B2 (ja) 永久データハードウェアインテグリティ
EP1501236B1 (en) Error correction for cryptographic keys
JP2011123356A (ja) 素数生成装置、素数生成方法、及び素数生成プログラム
Ambrose et al. DARNS: A randomized multi-modulo RNS architecture for double-and-add in ECC to prevent power analysis side channel attacks
Ambrose et al. Randomised multi‐modulo residue number system architecture for double‐and‐add to prevent power analysis side channel attacks
Monfared et al. Secure and efficient exponentiation architectures using Gaussian normal basis
EP4297330A1 (en) Method and system for protecting cryptographic operations against side-channel 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

Open date: 20080319