CN100393029C - 在使用密钥密码学算法的电子元件中的防范方法 - Google Patents

在使用密钥密码学算法的电子元件中的防范方法 Download PDF

Info

Publication number
CN100393029C
CN100393029C CNB008063486A CN00806348A CN100393029C CN 100393029 C CN100393029 C CN 100393029C CN B008063486 A CNB008063486 A CN B008063486A CN 00806348 A CN00806348 A CN 00806348A CN 100393029 C CN100393029 C CN 100393029C
Authority
CN
China
Prior art keywords
random
data item
key
prevention method
opn
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.)
Expired - Lifetime
Application number
CNB008063486A
Other languages
English (en)
Other versions
CN1630999A (zh
Inventor
J·-S·科伦
N·费伊特
O·伯努瓦
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.)
Jin Yatuo
Gemalto Oy
Original Assignee
Gemplus 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 Gemplus SA filed Critical Gemplus SA
Publication of CN1630999A publication Critical patent/CN1630999A/zh
Application granted granted Critical
Publication of CN100393029C publication Critical patent/CN100393029C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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
    • G06F21/755Protecting 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 with measures against power attack
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种在使用由密钥K对输入信息(M)加密的加密算法的电子元件中用于防范的方法,其特征在于,执行的操作OPN或操作序列包括对输入信息(D)的逐位处理,以便提供输出数据项(OPN(D)),包括以下步骤:提取第一随机信息(U)的随机值,其具有和输入信息(D)相同的长度;通过在第一随机信息(U)和输入信息之间进行异或运算计算第二随机信息(V);对第一输入信息(U)和第二随机信息(V)执行操作(OPN)或执行一个操作序列,分别提供第一随机结果(OPN(U))和第二随机结果(OPN(V))。

Description

在使用密钥密码学算法的电子元件中的防范方法
本发明涉及一种在使用密钥的电子元件中的防范方法。它们被用于对服务和数据的访问被严格控制的情况下。这种元件具有基于微处理器和存储器而形成的体系结构,包括含有密钥的程序存储器。
这些元件尤其被用于某些用途的智能卡中。这些用途例如涉及访问某个数据库,涉及银行业务,远程支付业务,例如支付电视费用,购买汽油或者高速公路收费。
因此这些元件或卡使用密钥密码学算法,其中最熟悉的是DES算法(在英国和美国文献中的常用的数据加密标准)。还有其它的密钥算法,例如RCS算法或COMP128算法。当然并不限于这些算法。
总而言之并且简要地说,这些算法的功能是由主***(服务器,银行分配器等)施加于输入(卡)的信息和在卡中包含的密钥计算加密的信息,并向主***返回所述加密的信息,所述加密的信息例如能够使主***鉴别元件或卡,交换数据等等。密钥密码学算法的特征是公知的:即进行计算和利用参数。唯一未知的是包含在程序存储器中的密钥。这些密码学算法的所有的安全性都和在所述卡中包含的这个密钥有关,所述密钥对于所述卡的外部世界是未知的。这个密钥不能从作为输入施加的已知信息和返回的加密的信息唯一地导出。
然而,当卡的微处理器运行密码学算法以便计算加密的信息时,根据电流消耗和微分电流消耗分析,显然,外部破译使得存心不良的第三方能够发现在所述卡中包含的密钥。这些破译被称为DPA破译,这是英语的“Differential Power Analysis”的首字母简略词。
所述DPA破译的原理基于这样的事实,即执行指令的微处理器的电流消耗按照正被处理的数据而改变。
尤其是,当被微处理器执行的指令需要逐位地处理数据时,根据被处理的位是1或者是0而有两种不同的电流曲线。典型地说,如果微处理器处理0,在执行时具有第一消耗的电流幅值,如果微处理器处理1,则有和第一个电流幅值不同的第二消耗的电流幅值。
因而,DPA破译利用在按照被处理的位的值执行指令的期间在所述卡中电流消耗的差值。简单地说,进行DPA破译包括识别一个或多个运行算法的特定的周期,所述算法包括执行至少一个逐位地处理数据的指令;在所述周期期间,读取电流消耗曲线的非常大的数N,每个不同的信息有一条应用所述算法的曲线;对于每个曲线,假定一个子密钥,即使得能够进行预测的至少密钥的一部分,预测数据的一位所取的值;按照相应的布尔选择函数对曲线进行分类;获得预测是1的第一曲线包和预测是0的第二曲线包。通过在获得的两个曲线包之间进行平均电流消耗的微分分析,获得一个信息信号DPA(t)。如果子密钥假定不正确,则实际上每个包包括的相应于处理1的曲线的数量等于相应于处理0的曲线的数量。因而两个包在电流消耗上是等效的,因而信息信号基本上是0。如果子密钥假定正确,则一个包实际上包括相应于处理0的曲线,而另一个包实际上包括相应于处理0的曲线;信息信号DPA(t)不等于0:其中包括由微处理器进行的位处理的峰值,根据所述的位进行分类。根据微处理器正在处理0或者1,这些峰值具有相应于由微处理器消耗的电流的差的值。因而,可以逐步地解出包含在电子元件中的全部密钥或一部分密钥。
具有许多这样的密钥算法,微处理器在执行这些算法时必须在某个时刻逐位地处理数据。
尤其是,所述算法一般包括要求微处理器进行这种处理的排列。通过分析在所述逐位处理执行期间的电流消耗,便能够求出至少被处理的数据项的一些位的值。知道这个数据项便可以提供关于在执行加密算法期间获得的中间结果的信息,这又使得至少能够求出所用的密钥的一些位。
这3个文件和本发明相似,但是具有以下的不同:
第一个文件D1“NTT Review,Vol.6,N4,of 1 July 1997,pages85-90,Miyaguchi S:“Secret key ciphers that change theencipherment algorithm under the control of thekey”,XP000460342”涉及一种用于避免已知的加密信息的破译的数学问题的解法。所述的方法改变任何密钥算法的由在算法中的密钥的子部分译出的密钥表。然而,这种方法不适用于标准的DES算法,这是一种熟知的密钥算法。在这个文件中所述的技术包括进行数据旋转和数据替代。
第二个文件D2“Institute of Electrical and ElectronicsEngineers,IEEEE Global Telecommunications conference,Phoenix,Arizona,Nov.3-8,1997,vol.2,3November 1997,pages689-693,Yi X et al:“A method for obtaining cryptographicallystrong 8X8 S-boxes”,XP000737626”涉及一种改进标准的DES算法中的S框处理的方法,旨在改善密码分析值的安全性,即属于数学问题,而不是物理的密码学。
第三个文件D3“FR-A-2 672 402”涉及一种使用标准的DES算法构成随机数发生器的方法和装置。所述DES算法是一种密钥算法,其中利用例如计数器的数据,旨在作为输出产生可以和随机数比较的结果,位于DES外面的结果。
本发明的目的在于通过对进行逐位处理的数据提供防范措施,即通过加扰,使得在所述数据的处理期间的电流消耗的分析不会揭示关于所述数据的信息:不论在DPA破译中假定的子密钥或密钥如何,信息信号DPA(t)将总是0,从而保护这些数据。
如权利要求所述,本发明涉及在使用利用密钥K的加密算法的电子元件中的防范方法。
按照本发明,所述防范方法用于对输入数据项进行的并且包括至少一个逐位处理的操作或一系列操作,所述方法包括首先提取和第一数据项的长度相同的第一随机数据项,通过在第一随机数据项和输入数据项之间进行异或运算计算第二随机数据项,接着对第一随机数据项和第二随机数据项进行操作或一系列操作。
用这种方式,所述的操作或一系列操作只处理随机数据项,因而不再能够实现DPA破译。
为了求出相应于对输入数据项应用一系列步骤的输出数据项,计算第一和第二随机结果之间的异或运算便足够了。
在应用这种防范方法的第一种方法中,操作或一系列操作涉及由要被加密的信息计算的数据项。
在应用按照本发明的防范方法的第二方法中,这种方法被应用于直接和密钥有关的操作,在所述算法的每个循环中使用子密钥。
在应用按照本发明的防范方法的方法中,采取措施使得实现按照上述方法的第一个一系列步骤,使得获得第一随机子密钥和第二随机子密钥。
在这种改型中,对于有关的循环,代替计算真的子密钥,使用这些随机子密钥,因此每个循环的真的子密钥不再清楚地出现,只处理随机子密钥。
因而,本发明和对比文件D1的区别在于,其只涉及DES而不改变其结构,既没改变其输入,也没改变其输出。下面所述的其中使用的异或运算使得能够用随机参数屏蔽所述的数据。
本发明和文件2的区别在于其涉及物理密码学问题,即本发明的提出是为了通过二次效应(secondary effect)的出现(appearance)解决实施的问题;此外,其不涉及S框,而涉及在数据的压缩、排列和扩展期间的安全问题(参见下面所述的图1)。
最后,和文件D3的区别在于,其使用在DES算法内的随机数,保护DES的执行免遭所有类型的破译。
下面参照附图详细说明本发明的其它特征和优点,所述说明只用于说明本发明,而不用于限制本发明,其中:
图1和图2是DES算法的第一和第二循环的详细流程图;
图3示意地说明应用于实现数据逐位处理的操作的按照本发明的防范方法;
图4说明在执行DES算法时应用按照本发明的防范方法的第一个方法;
图5示意地说明DES算法的执行结束;以及
图6示意地说明将本发明的方法应用于处理密钥的DES算法的操作的第二方法;以及
图7说明应用相应于图6所示的图的防范方法时的详细流程图;以及
图8说明其中可以执行按照本发明的防范方法的智能卡的方块图。
DES密钥加密算法(下文简称为DES或DES算法)包括16个计算循环,如图1和图2的T1到T16所示。
DES从在输入信息M上一个初始排列IP开始(图1)。输入信息M是一个64位字。在排列之后,获得64位字,其被分成两个,从而形成第一循环(T1)的输入参数L0和R0。L0是一个32位字d,含有字e的32个最高有效位。R0是32位字h,含有字e的32个最低有效位。
密钥K是一个64位字q,其本身被排列并被压缩,以便提供一个56位字r。
第一循环包括对参数R0进行EXP PERM操作,包括扩展和排列,以便提供作为输出的48位字1。
所述字1在由XOR表示的异或操作中和参数K1组合,以便提供48位字b。通过移动一个位置(图1和图2的SHIFT表示的操作),由字r获得参数K1,其是一个48位字m,从而提供48位字p,对所述字p进行包括排列和压缩的操作(由COMP PERM表示的操作)。
字b被提供给由SBOX表示的操作,在其输出端获得32位字a。这个特定的操作包括提供从按照输入数据项b的常数TC0的表上取的输出数据a。
字a被进行排列P PERM,作为输出给出32位字c。
所述字c在由XOR表示的异或逻辑操作中和第一循环T1的输入参数L0组合,作为输出提供32位字g。
第一循环的字h(=R0)提供随后循环(T2)的输入参数L1,第一循环的字g提供下一循环的输入参数R1。第一循环的字p提供下一循环的输入r。
其它的循环T2到T16以类似的方式进行,只是移位操作例外,其按照所涉及的循环对一个或两个位置进行。
因而,每个循环Ti接收作为输入的参数Li-1,Ri-1和r,并提供作为输出的参数Li和Ri以及r用于后面的循环Ti+1。
在DES算法的末尾(图4),由最后循环T16提供的参数L16和R16计算加密的信息。
所述加密的信息C的计算实际上包括下列操作:
-通过颠倒字L16和R16的位置并连结它们而形成64位字e’;
-应用排列IP-1,其和DES的开始相反,以便获得形成加密的信息C的64位的字f’。
可以看出,这种算法包括许多逐位地处理数据的操作,例如排列操作。
按照本发明的防范方法,当计算加密的信息的微处理器实行逐位的处理时,应用软件防范方法。用这种方式,被应用于电流消耗曲线的DPA破译的统计处理和布尔选择函数不再能够提供任何信息;不管子密钥被如何假定,信号DPA(t)保持为0。
因而按照本发明的软件防范方法使由微处理器处理的每个位成为不可预测的。
图3说明这种防范方法的原理。
设输入数据项是D。
设具有一个要对所述输入数据项D进行计算的操作OPN,其结果由OPN(D)表示。所述操作OPN需要由微处理器对输入数据项D进行逐位处理;例如进行排列。
按照本发明,不对输入数据项D实行操作OPN,以便计算操作的结果OPN(D),而是执行下面不同的步骤:
-取一个随机值作为第一随机项U,其长度和输入数据项D的长度相同(例如32位);
-通过在输入数据项和第一随机数据项之间进行异或运算计算第二随机数据项V:V=D XOR U;
-对第一随机数据项U计算操作OPN,产生第一随机结果OPN(U);
-对第二随机数据项V计算操作OPN,产生第二随机结果OPN(V);
-通过在第一和第二随机结果之间实行异或运算计算结果OPN(D):OPN(D)=OPN(U)XOR OPN(V)。
这种方法同样能够很好地适用于单一运算或一系列运算。
应用按照本发明的防范方法的第一方法涉及对由应用所述算法的信息(M)计算出的数据的运算。在这种情况下,输入数据项D由信息M进行计算。
实际上,图4示出了一个应用算法DES的第一方法的例子,所述方法一方面应用于操作EXP PERM,在另一方面,应用于操作P PERM,这两者都包括需要对输入数据项进行逐位处理的排列。
在该图中,对这些操作应用的防范方法由CM(EXPPERM)和CM(P PERM)表示。
按照本发明的软件防范方法,包括使用随机变量U进行按照图3所示的计算序列的运算CM(EXPPERM)和CM(P PERM),代替每个操作P PERM和EXP PERM。因为所述算法的每个循环包括运算EXP PERM和运算P PERM,所以这种防范方法可以应用于DES的每个循环。
实验表明,只有头3次循环和最后3次循环能够受到DPA破译。然后,要预测这些位是非常困难的,甚至是不可能的。
因而,按照本发明的防范方法需要较小的计算时间,其实施只包括进行DES的头3个和最后3个循环。
按照本发明的防范方法的各种不同的应用涉及提取随机值作为第一随机数据项U。根据是否可得到大量的计算时间,每次可以提取一个新的随机值,用于实施按照本发明的防范方法的每次运算或一系列的运算。
因而,在图4中,对于运算CM(EXP PERM),提取U1作为随机数据项U的值,对于运算CM(P PERM),提取另一个值U2作为随机数据项U。
否则,可以对于所述算法的每个循环提取一个新的随机值,或者在算法的开始提取一个随机值。
按照本发明的防范方法的实施主要和所涉及的应用有关,和是否具有大量的可用于防范的附加时间有关。
图6示出了按照本发明的防范方法的第二种应用方式。其中更具体地涉及对密钥K进行的计算操作,以便提供在所述算法的循环中使用的每个子密钥K1。在DES的例子中,这些操作是接着的KEY PERM,其在DES的开始被执行,以及在每次循环执行的SHIFT和COMP PERM。在这些操作期间,在某些时刻,微处理器单独处理密钥的位,因而具有对这些位进行DPA破译的可能性。
按照本发明的防范方法用于在进行这些操作之前保护数据项,在这种情况下所述数据项是密钥,使得不再能够通过DPA破译获得信息。
因而,如图6示意地所示,提取第一随机数据项Y的一个随机值,其具有和密钥K相同的长度。通过在密钥K和第一随机数据项Y之间进行异或运算,计算具有相同长度的第二随机数据项Z;Z=K XOR Y。
在所示的例子中,操作序列包括接着的操作KEY PERM,SHIFT,COMP PERM。然后把这个操作序列相继应用于两个随机数据项Y和Z中的每一个。因而,由作为输入被相继提供的这两个数据项Y和Z,在操作KEY PERM,SHIFT,COMP PERM的输出分别获得Y’,PiY’,KiY’或者Z’,PiZ’,KiZ’
图7所示是一个应用DES的实际例子。
在DES中,只在开始执行一次KEY PERM操作,而在每个循环中执行SHIFT,COMP PERM操作。
此外,循环Ti的操作SHIFT的输出作为下一个循环Ti+1的操作SHIFT的输入(见图1和图2)。
为了应用按照应用所述DES算法的第二方式的防范方法,然后对随机数据Y和Z应用第一操作KEY PERM,这产生两个中间随机数据Y’和Z’。这两个中间随机数据相继被提供给第一循环T1的操作SHIFT,产生两个中间随机数据P1Y’和P1Z’。这两个随机数据在一方面被存储在工作存储器中,用于下一个循环(第二循环)的SHIFT操作,在另一方面被相继提供给第一循环的操作EXP PERM,以便提供第一中间结果K1Y’和K1Z’
在每个循环中都执行这些步骤。因而,在每个循环Ti,获得第一随机结果:KiY’=EXP PERM(SHIFT(Y’)),和第二随机结果:KiZ’=EXPPERM(SHIFT(Z’));并且中间随机数据SHIFT(Y’)=PiY’和SHIFT(Z’)=PiZ’被存储在工作存储器中用于随后的循环Ti+1。
然后,对于每个循环Ti,应该能够通过在两个随机结果KiY’和KiZ’之间进行异或运算,重新计算相应于对密钥K进行的该循环的操作序列KEY PERM,SHIFT和COMP PERM的相应的子密钥Ki∶Ki = KiY’XORKiZ’
不过,最好如图7所示,不再重新计算循环Ti的子密钥Ki。应用第一随机结果KiY’代替与由排列扩展操作EXP PERM数据项1进行的异或操作XOR中的子密钥Ki。获得之间结果b’。
通过对这个中间结果b’和第二随机结果KiZ’进行异或操作,求得输出数据项b=XO(1,Ki)。然后在每个循环Ti执行随后的操作,以便从1计算参数b∶b’=1XOR KiY’,以及
b=b’XOR KiZ’,如图7的第一和第二循环所示。
用这种方式,在计算加密的信息时,不再使用子密钥本身,而使用“随机的子密钥”,此时在执行加密算法期间或执行加密算法之前,密钥被保护,因为KiY’、KiZ’是随机的,元件(或卡的)的外部世界不知道,在每新执行一次加密算法时,它们容易被改变。应当注意,在按照本发明的防范方法应用于计算和使用子密钥时,随机值只在对密钥进行操作之前,在开始执行算法时被提取一次。
对密钥应用按照本发明的防范方法的所述第二方式可以有利地和利用所述防范方法正确地计算加密的信息的第一方式组合,这种组合使得所述防范方法尤其有效。
本发明应用于DES密钥密码学算法,其例子在上面已经进行了说明。本发明可以通用于任何密钥密码学算法,其中由微处理器执行的某些操作需要逐位地处理数据。
在DES密钥密码学算法中使用按照本发明的防范方法的电子元件1如图8所示,其包括微处理器μP,程序存储器2和工作存储器3。具有用于产生随机值的装置4,每当执行密码学算法时,所述装置4则参考图3和图8所示的流程图提供所需长度的U与/或Y值(U为32位,Y为64位)。这种元件特别适用于智能卡5中,用于改进其防篡改的能力。

Claims (9)

1.一种在使用由密钥K对输入信息(M)加密的加密算法的电子元件中用于防止通过电流消耗的微分分析进行破译的防范方法,其特征在于,执行的操作(OPN)包括对输入数据项(D)的逐位处理,以便提供第一输出数据项(OPN(D)),所述操作(OPN)包括以下步骤:
提取第一随机数据项(U)的随机值,其具有和输入数据项(D)相同的长度;
通过在第一随机数据项(U)和输入数据项之间进行异或运算计算第二随机数据项(V);
接着由第一随机数据项(U)和第二随机数据项(V)分别执行所述操作(OPN),分别提供第一随机结果(OPN(U))和第二随机结果(OPN(V));
通过在第一和第二随机结果之间进行异或运算计算输出所述第一数据项(OPN(D))。
2.如权利要求1所述的防范方法,其特征在于其适用于扩展和排列操作,所述扩展和排列操作适用于由输入信息(M)计算的数据。
3.如权利要求1所述的防范方法,其特征在于在每次执行所述操作时提取新的随机值(U)。
4.如权利要求1所述的防范方法,其特征在于其适用于对所述密钥(K)进行的加密和排列操作、移位操作和压缩和排列操作。
5.如权利要求4所述的防范方法,所述加密算法包括多个计算循环,并且在每个循环(Ti)包括对密钥K进行加密和排列操作、移位操作和压缩和排列操作,以便在每个循环(Ti)提供相应的子密钥(Ki),所述防范算法的特征在于,其适用于所述加密和排列操作、移位操作和压缩和排列操作,以便在每个循环提供第一随机结果(KiY′)和第二随机结果(KiZ′)。
6.如权利要求5所述的防范方法,每个循环(Ti)在子密钥(Ki)和输入数据项(D)之间进行异或运算,以便提供第二输出数据项(b),其特征在于,这个操作被下列操作代替:
-计算所述输入数据项(D)和第一随机结果(KiY′)之间的异或,从而提供中间结果(b’);
-计算所述中间结果(b’)和所述第二随机结果(KiZ’)之间的异或,从而提供所述第二输出数据项(b)。
7.如权利要求1,2,5和6任何一个所述的防范方法,其特征在于在每次执行所述加密算法时提取新的随机值。
8.如权利要求3所述的防范方法,其特征在于在每次执行所述加密算法时提取新的随机值。
9.如权利要求1所述的防范方法,其特征在于其适用于DES算法。
CNB008063486A 1999-02-17 2000-01-20 在使用密钥密码学算法的电子元件中的防范方法 Expired - Lifetime CN100393029C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR99/01937 1999-02-17
FR9901937A FR2789776B1 (fr) 1999-02-17 1999-02-17 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete

Publications (2)

Publication Number Publication Date
CN1630999A CN1630999A (zh) 2005-06-22
CN100393029C true CN100393029C (zh) 2008-06-04

Family

ID=9542146

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB008063486A Expired - Lifetime CN100393029C (zh) 1999-02-17 2000-01-20 在使用密钥密码学算法的电子元件中的防范方法

Country Status (10)

Country Link
US (1) US7471791B1 (zh)
EP (1) EP1198921B1 (zh)
JP (1) JP2002540654A (zh)
CN (1) CN100393029C (zh)
AU (1) AU3057500A (zh)
DE (1) DE60027163T2 (zh)
ES (1) ES2262502T3 (zh)
FR (1) FR2789776B1 (zh)
MX (1) MXPA01008201A (zh)
WO (1) WO2000049765A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000305453A (ja) * 1999-04-21 2000-11-02 Nec Corp 暗号化装置,復号装置,および暗号化・復号装置
JP2002247025A (ja) * 2001-02-22 2002-08-30 Hitachi Ltd 情報処理装置
JP4596686B2 (ja) 2001-06-13 2010-12-08 富士通株式会社 Dpaに対して安全な暗号化
JP4589327B2 (ja) 2004-07-07 2010-12-01 三菱電機株式会社 電子素子及びデータ処理方法
FR2916317B1 (fr) * 2007-05-15 2009-08-07 Sagem Defense Securite Protection d'execution d'un calcul cryptographique
FR2925968B1 (fr) * 2007-12-26 2011-06-03 Ingenico Sa Procede de securisation d'un microprocesseur, programme d'ordinateur et dispositif correspondants
US9208333B2 (en) 2010-03-31 2015-12-08 British Telecommunications Public Limited Company Secure data recorder
DE102010028375A1 (de) * 2010-04-29 2011-11-03 Robert Bosch Gmbh Schutz vor kryptoanalytischen Seitenkanalattacken
CN102110206B (zh) * 2010-12-27 2013-01-16 北京握奇数据***有限公司 防御攻击的方法和具有攻击防御功能的装置
CN103546281B (zh) * 2013-10-31 2016-08-17 厦门市美亚柏科信息股份有限公司 动态的密钥生成方法和装置
US20150222421A1 (en) * 2014-02-03 2015-08-06 Qualcomm Incorporated Countermeasures against side-channel attacks on cryptographic algorithms
FR3056789B1 (fr) * 2016-09-27 2018-09-21 Safran Identity & Security Procede de chiffrement ou de dechiffrement symetrique par bloc

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2672402A1 (fr) * 1991-02-05 1992-08-07 Gemplus Card Int Procede et dispositif pour la generation de nombres pseudo-aleatoires uniques.
US5764766A (en) * 1996-06-11 1998-06-09 Digital Equipment Corporation System and method for generation of one-time encryption keys for data communications and a computer program product for implementing the same

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2650457A1 (fr) * 1989-07-25 1991-02-01 Trt Telecom Radio Electr Procede de traitement de donnees par compression et permutation pour carte a microcircuit
FR2650458B1 (fr) * 1989-07-25 1991-10-11 Trt Telecom Radio Electr Procede de traitement d'une permutation irreguliere de donnees protegees par chiffrement
US5550809A (en) * 1992-04-10 1996-08-27 Ericsson Ge Mobile Communications, Inc. Multiple access coding using bent sequences for mobile radio communications
US5625690A (en) * 1993-11-15 1997-04-29 Lucent Technologies Inc. Software pay per use system
US5870470A (en) * 1996-02-20 1999-02-09 International Business Machines Corporation Method and apparatus for encrypting long blocks using a short-block encryption procedure
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
DE69938045T2 (de) * 1998-06-03 2009-01-15 Cryptography Research Inc., San Francisco Verwendung von unvorhersagbarer Information zur Leckminimierung von Chipkarten und anderen Kryptosystemen
EP1090480B1 (en) * 1998-06-03 2019-01-09 Cryptography Research, Inc. Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
JP4317607B2 (ja) * 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2672402A1 (fr) * 1991-02-05 1992-08-07 Gemplus Card Int Procede et dispositif pour la generation de nombres pseudo-aleatoires uniques.
US5764766A (en) * 1996-06-11 1998-06-09 Digital Equipment Corporation System and method for generation of one-time encryption keys for data communications and a computer program product for implementing the same

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
METHOD FOR OBTAINING CRYPTOGRAPHICALLYSTRONG 8X8 S-BOXES. YI X ET AL.IEEE TELECOMMUNICATIONS CONFERENCE. 1997
METHOD FOR OBTAINING CRYPTOGRAPHICALLYSTRONG 8X8 S-BOXES. YI X ET AL.IEEE TELECOMMUNICATIONS CONFERENCE. 1997 *

Also Published As

Publication number Publication date
CN1630999A (zh) 2005-06-22
FR2789776A1 (fr) 2000-08-18
EP1198921A2 (fr) 2002-04-24
EP1198921B1 (fr) 2006-04-05
FR2789776B1 (fr) 2001-04-06
AU3057500A (en) 2000-09-04
DE60027163T2 (de) 2007-03-29
ES2262502T3 (es) 2006-12-01
US7471791B1 (en) 2008-12-30
WO2000049765A3 (fr) 2002-02-28
DE60027163D1 (de) 2006-05-18
JP2002540654A (ja) 2002-11-26
MXPA01008201A (es) 2003-07-21
WO2000049765A2 (fr) 2000-08-24

Similar Documents

Publication Publication Date Title
AU2016386405B2 (en) Fast format-preserving encryption for variable length data
CN101006677B (zh) 用于实施加密运算的方法和装置
CN101206816B (zh) 运算处理装置和运算处理控制方法
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
KR100674550B1 (ko) 정보 처리 장치
EP1308885B1 (en) Information processing and encryption unit
US8000473B2 (en) Method and apparatus for generating cryptographic sets of instructions automatically and code generator
CN100393029C (zh) 在使用密钥密码学算法的电子元件中的防范方法
US20120093308A1 (en) Apparatus and method for generating random data
US20090245510A1 (en) Block cipher with security intrinsic aspects
Meijer et al. Ciphertext-only cryptanalysis on hardened Mifare classic cards
US6820814B1 (en) Countermeasure method in an electric component using a secret key cryptographic algorithm
Jain et al. Implementation of hybrid cryptography algorithm
Zeyad et al. Another look on bucketing attack to defeat white-box implementations
Dmukh et al. Modification of the key schedule of the 2-GOST block cipher and its implementation on FPGA
CN1319312C (zh) 在电子组件中使用密钥密码算法的对抗方法及电子组件
EP3662613A1 (en) Method to secure a software code performing accesses to look-up tables
Bulygin et al. Study of the invariant coset attack on printcipher: more weak keys with practical key recovery
EP3913509A1 (en) Method to secure computer code
Golić DeKaRT: A new paradigm for key-dependent reversible circuits
US7747012B2 (en) Process of security of an electronic unit with cryptoprocessor
JP2006025366A (ja) 暗号化装置及び半導体集積回路
US20190384894A1 (en) Intrinsic authentication of program code
JP4003723B2 (ja) 情報処理装置、耐タンパ処理装置
Andraşiu et al. Evaluation Of Cryptographic Algorithms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: JIN YATUO

Free format text: FORMER OWNER: GEMPLUS CO.

Effective date: 20120828

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: SETEC OY

Free format text: FORMER NAME: JIN YATUO

CP01 Change in the name or title of a patent holder

Address after: East France

Patentee after: GEMALTO OY

Address before: East France

Patentee before: Jin Yatuo

TR01 Transfer of patent right

Effective date of registration: 20120828

Address after: East France

Patentee after: Jin Yatuo

Address before: French gemenos

Patentee before: GEMPLUS

CX01 Expiry of patent term

Granted publication date: 20080604

CX01 Expiry of patent term