CN1218531C - 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法 - Google Patents

实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法 Download PDF

Info

Publication number
CN1218531C
CN1218531C CN00805519XA CN00805519A CN1218531C CN 1218531 C CN1218531 C CN 1218531C CN 00805519X A CN00805519X A CN 00805519XA CN 00805519 A CN00805519 A CN 00805519A CN 1218531 C CN1218531 C CN 1218531C
Authority
CN
China
Prior art keywords
algorithm
integer
elliptic curve
decoding
key
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
CN00805519XA
Other languages
English (en)
Other versions
CN1345496A (zh
Inventor
J·-S·科龙
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 CN1345496A publication Critical patent/CN1345496A/zh
Application granted granted Critical
Publication of CN1218531C publication Critical patent/CN1218531C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • 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]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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)
    • 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/7247Modulo masking, e.g. A**e mod (n*r)
    • 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/7257Random modification not requiring correction
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及在电子部件中基于公共密钥算法实现椭圆曲线的对策方法,包括通过进行运算Q=d*p,其中P是曲线上的点,计算新的译码整数d′,例如基于私有密钥d和所述椭圆曲线的点个数n在译码算法的帮助下的加密消息的译码,其中将d′作为d可以达到相同的结果。本发明的方法的特征在于它包括4个步骤:1)确定保密参数s,其中在实际应用中,s不可能在30的附近,2)抽取随机数k,范围是0-21s,3)计算整数d′=d+k*n,4)计算Q=d′.P。

Description

实现椭圆曲线类型公共密钥 加密算法的电子部件中的对策方法
本发明涉及在电子部件中实现椭圆曲线类型公共密钥加密算法的对策方法(countermeasure)。
在密钥加密技术的传统模型中,希望通过一个非安全信道通信的两个人必须先同意一个加密密钥K。加密函数和译码函数实现相同的密钥K。密钥加密系统的缺点是上述系统要求在任何已加密的信息在非安全信道上发送之前密钥必须先在两个人之间通过一个安全信道优先通信。实际上,发现一个很安全的通信信道通常是困难的,尤其在分离两个人的距离很远时。安全信道意味着对它来说知悉或修改在它上面通过的信息是不可能的。这样的安全信道可以通过连接由上述两人所拥有的两个终端的电缆来实现。
公共密钥加密概念由Whitfield Diffie和Martin Hellman在1976年发明。公共密钥加密技术使解决在非安全信道上密钥的分布问题成为可能。公共密钥加密的原理在于使用一对密钥,一个公共加密密钥和一个私有译码密钥。由观察的计算点去从公共加密密钥找到私有的译码密钥是不可行的。希望与B人交流信息的A人使用B人的公共加密密钥。只有B人拥有与它的公共密钥相关的私有密钥。因此只有B人能够破译送给他的信息。
密钥加密技术上公共密钥加密的另一个优势是公共密钥加密允许用电子签名授权。
公共密钥加密方案的第一个实施方案在1977年由Rivest Shamir和Adleman开发,他们发明了RSA加密系统。RSA安全性是基于把一个是两个质数乘积的大数进行因式分解的难度。
其后,提出了很多公共密钥加密系统,它们的安全性基于不同的计算问题(这个列表不是详细无遗的):
-Merckle-Hellman背包(backpack):
这个加密系统基于子集的和的问题的难度。
-McEliece:
这个加密系统基于代数代码的理论。它基于线性代码的解码问题。
-El Gamal:
这个加密系统基于有限域中离散对数的难度。
-椭圆曲线:
椭圆曲线加密系统构成了对已有加密系统的修正以把它们应用于椭圆曲线领域。
椭圆曲线在加密系统中的使用分别由Victor Miller和NealKoblitz在1985年提出。椭圆曲线的实际应用早在二十世纪九十年代就被注意到了。
基于椭圆曲线的密码系统的优势是它们用较小的密钥尺寸提供等价于其它密码系统的安全性。密码尺寸中的这个存储减小了存储要求并缩短了计算时间,这使得椭圆曲线的使用尤其适合于智能卡类型的应用。
在一个有限域GF(q^n)(q是一个质数,n是一个整数)上的一个椭圆曲线是点(x,y)的集合且x(X-轴)和y(Y轴)属于GF(q^n),方程式的解为:
y^2=x^3+ax+b
如果q大于或等于3及
y^2+x*y=x^3+a*x^2+b
如果q=2
在加密中用得最多的两类椭圆曲线是下面两类:
1)在有限域GF(p)(整数模p的集合,p是一个质数)上定义的曲线,它的方程为:
y^2=x^3+ax=b
2)定义在有限域GF(2^n)上的椭圆曲线,它的方程为:
y^2+xy=x^3+ax^2+b
对这两类曲线中的每一类来说,定义点的加法操作如下:给定两个点P和Q,和R=P+Q是曲线上的一个点,它的坐标按照Alfred JMenezes的著作“椭圆曲线公共密钥密码系统”中所给出的公式用点P和Q的坐标来表示。
这个加法操作使定义一个标量乘法操作成为可能:给定属于椭圆曲线的一个点P和一个整数d,P由d标量乘的结果是Q=P+PP+…..+d次P。
椭圆曲线上加密算法的安全性基于椭圆曲线上离散对数的难度,上述问题包括,用属于椭圆曲线E的点Q和P来找到这样的整数x使得Q=x.P,如果存在这样的x的话。
有很多基于离散对数问题的加密算法。
这些算法可以被很容易地移植到椭圆曲线上。这样就能够用算法提供鉴定,机密性,完整性校验和密钥交换。
基于椭圆曲线的大部分加密算法的一个共同点是它们包含一个定义在有限域上的椭圆曲线作为参数及该椭圆上的一个点P。私有密钥是一个随机选中的整数d。公共密钥是曲线Q上的一个点,而Q=d.P。这些加密算法通常都涉及点R=d.T的计算中的标量乘法,其中d是密钥。
这些算法可以被很容易地移植到椭圆曲线上。这样就能够用算法提供鉴定,机密性,完整性校验和密钥交换。
基于椭圆曲线的大部分加密算法的一个共同点是它们包含一个定义在有限域上的椭圆曲线作为参数及该椭圆上的一个点P。私有密钥是一个随机选中的整数d。公共密钥是曲线上的一个点Q=d.P。这些加密算法通常都涉及点R=d.T的计算中的标量乘法,其中d是密钥。
在这一节中描述了一个基于椭圆曲线的加密算法。1999年1月,美国Auerbach出版,第26卷第7号,15-18页,XP000884687 ISSN:0736-6981,被引为D2的文档Menkus B:“两个重要的加密结构据报道已在记录时间被打破”EDPACS,建议使用随机数而不要指定椭圆曲线算法上下文中随机数的实现。这个方案类似于El Gamal加密方案。消息m被加密如下:
加密人员随机选择一个整数k并计算曲线上的点k.P=(x1,y1)和k.Q=(x2,y2)以及整数c=x2+m。m的密码是三元组(x1,y1,c)。
拥有d的译码人员通过计算(x’2,y’2)=d(x1,y1)和m=c-x’2来破译m。
为了实现前面所描述的计算方法中必要的标量乘法,有几种现有的算法:
“加倍与和”算法;
“加-减”算法;
加法链算法;
带窗口算法;
有符号表示算法;
这个表并不完整。最简单且使用最多的算法是“加倍与和”算法。“加倍与和”算法把属于一个给定椭圆曲线的点P和一个整数d作为它的输入。整数d被表示为d=(d(t),d(t-1),….,d(0)),这里d(t),d(t-1),….,d(0)是d的二进制表示,d(t)和d(0)分别是最高和最低有效位。算法返回点Q=d.P作为输出。
“加倍与和”算法包括下面三个步骤:
1)用点P的值初始化点Q
2)对i从t-1到0,执行:
2a)用2Q替代Q
2b)如果d(i)=1用Q+P替代Q
3)返回Q
越来越明显的是智能卡上的椭圆曲线类型公钥加密算法的实现容易受到包括能够找到私有译码密钥的对当前消耗的微分幂(differential power)分析在内的攻击。这些攻击被认为是DPA攻击,DPA是微分幂分析的首字母缩写。这些DPA攻击的原理是基于执行指令的微处理器的当前消耗根据被处理的数据项而变化的事实。
特别地,当一条指令正在处理一个其中有一不变的特定位的数据项时,这里其它位的值可以变化,对与指令相关的当前消耗的分析根据特定位取值0或1显示指令的平均消耗而不是相同的。DPA类型的攻击因此能够得到在一个加密算法被执行时由卡的处理器操纵的中间数据上的附加信息。这个附加信息在某些情况下揭示了译码算法的私有参数,使加密系统不够安全。
在本文档的剩余部分中给出了一个椭圆曲线类型算法上的DPA攻击方法的描述,它执行包括点P由整数d,d是密钥,标量乘在内的操作。这个攻击直接揭示了密钥d。它因此严重危胁智能卡上椭圆曲线的实现的安全。
文档Paul Kocher et al:“微分幂分析及相关攻击导论”URL:http://www.cryptography.com/dap/technical/index.html,1-8页,XP002132318 San Francisco,CA,USA,被引用为D1,建议在Diffie-Hellman,RSA和DSS类型以及其它系统的实现中使用反击而从不打算准确的实现。
攻击的第一步是对应前面所述及的“加倍与和”算法的执行为N个不同的点P(1),….p(N)记录当前消耗。在一个基于椭圆曲线的算法中,智能卡的微处理器将执行N个标量乘法d.P(1),…..d.P(N)。
为了清楚地描述该攻击,第一步是描述一个用于得到密钥d的d(t-1)位的值的方法,这里(d(t),d(t-1),….,d(0))是d的二进制表示,d(t)和d(0)分别是最高和最低有效位。然后给出能够找到d的值的算法的描述。
点P(1)到P(N)被按照4.P的横坐标的最后一位的值组合在一起,这里P指示点P(1)到P(N)中的一个。第一组由其4.P的横坐标的最后一位等于1的点P组成。第二组由其4.P的横坐标的最后一位等于0的点P组。对应于每一组计算当前消耗的平均值,并计算这两个平均值之间的差分曲线。
如果d的d(t-1)位等于0,前面所述的标量乘法算法计算4.P的值并把它存储在存储器中。这意味着当该算法在智能卡中被执行时卡的处理器将实际计算4.P。这种情况下,在第一个消息组中,由微处理器操纵的数据项的最后一位总是1,而第二组中被操纵数据项的最后一位总是0。对应于每一组的当前消耗的平均值因此是不同的。因此在两个平均值的差分曲线中显现出一个微分当前消耗的峰值。
另一方面如果d的d(t-1)位等于1,前面所述的求幂算法并不计算4.P。当算法在智能卡中被执行时,微处理器因此从不操纵数据项4.P。因此没有微分消耗的峰值出现。
这个方法因此能够确定d的d(t-1)位的值。
下列节中所描述的算法是前面算法的概括。它能确定密钥d的值:
输入由对应由智能卡执行的N个计算表示为P(1)到P(N)的N个点定义,输出由整数h定义。
上述算法实现为下面三个步骤:
1)执行h=1;
2)对i从t-1到1,执行:
2)1)按照(4*h).P的横坐标的最后一位的值给点P(1)到P(N)分类;
2)2)为每一组计算当前消耗平均值;
2)3)计算两个平均值之间的差分;
2)4)如果上述差分显示了一个微分消耗的峰值,做h=2*h,否则做h=2*h+1;
3)返回h。
上面的算法提供了一个整数h,例如d=2*h或d=2*h+1。为了得到d的值,它有能力测试两个可能的假定。
所描述的DPA类型的攻击因此能够找到私有密钥d。
本发明的方法在于设计三个对策以防止上述DPA攻击。
第一个对策的方法存在于从私有密钥d和椭圆曲线上点的数目N计算一个新的译码密钥d’中,而任意加密信息用d’译码的结果与用d的结果相同。
在基于椭圆曲线的使用的加密算法执行操作Q=d.P,这里d是密钥Q是曲线上的一个点,的情况下,Q=d.P的计算由下面四步中的方法取代:
1)确定一个安全性参数s;实践中s可以被设置为接近30.
2)提取一个0和2^s之间的随机数k。
3)计算整数d’=d+k*n。
4)计算Q=d’.P。
第一个对策的方法包括涉及整数d’更新的两个变量。第一个变量包括在译码算法的每一个新的执行处按照前面所描述的方法计算一个新的译码整数d’。第二个变量包括在译码算法的每一个新的执行处递增一个计数器。当这个计数器达到一个固定的值T时,按照前面所述的方法计算一个新的译码整数d’,计数器被重新设置为0。实践中可取T=16。
第一个对策的方法因此能够通过改变译码整数d使前面所述的DPA攻击不可能实现。
第二个对策的方法适用于前面所述曲线的第一类,也就是定义在有限域上有方程y^2=x^3+ax+b的曲线。第二个对策的方法在于在每个新的执行上使用一个随机计算模数。这个随机模数的形式为p’=p*r其中r是一个随机整数。在基于椭圆曲线的算法中执行的标量乘法操作Q=d.P这时按照下面方法分五步执行:
1)确定一个安全参数s;实际应用中s可取接近60的数。
2)提取一个随机数r,它的二进制表示占据s位。
3)计算p’=p*r。
4)执行标量乘法操作Q=d.P,操作由模数p’执行。
5)执行点Q的坐标对模数p’的减法操作。
第二个对策的方法包括两个涉及到整数r更新的变量。第一个变量用于在译算法的每一个新的执行处按照前面所描述的方法计算一个新的整数r,第二个变量用于在译码算法的每一个新的执行处递增一个计数器。当这个计数器达到一个固定的值T时,按照前面所述的方法计算一个新的整数r,计数器被重新设置为0.实践中可取T=16。
第三个对策的方法在于“屏蔽”点P,希望通过把一个随机点R加到P上来把标量乘法算法用于点P。
点P由整数d按照Q=d.P的标量乘法的方法包括下面五个步骤:
1)在曲线上提取一个随机点R。
2)计算P’=P+R。
3)标题乘法操作Q’=d.P’。
4)标量乘法操作S=d.P。
5)计算Q=Q’-S。
第三个对策的方法包括三个变量。第一个变量用于在译码算法的每一个新的执行上递增一个计数器。当译码算法第一次被执行时,算法被按照上面所描述的五步方法执行。只要计数器还没到限定值T,上面所述方法的步骤1和4就不执行,点R和S保持在前面执行中所取的值。当计数器达到限定值T时,译码方法被按照前面五步中所描述的方法实现,计数器被重新设置为0.实际应用中可取T=16。
第二个变量用于卡初始时在存储器中有两个椭圆曲线上的点使S=d.R。前面译码算法的步骤1和4被下面的步骤1’和4’取代:
1’)用2.R代替R。
4’)用2.S代替S。
第三个变量用于以在译码算法的每一个新的执行处递增计数器为特征的第二个变量的更正。当译码算法第一次被执行时,算法被按照上面所描述的第二个变量的五步方法执行。只要计数器还没到限定值T,上面所述方法的1’和4’步就不被执行,点R和S保持在前面的执行中所取的值。当计数器达到限定值T时,译码方法被按照前面五步中所描述的方法实现,计数器被重新设置为0.实际应用中可取T=16。
上面三个对策方法的应用能够防止任何基于椭圆曲线的加密算法遭到前述的DPA攻击。已有的三个对策方法都与对方兼容:能够应用于上述对策方法中的RSA译码算法1,2或3。

Claims (5)

1.一种在电子部件中基于使用存在于计算中的椭圆曲线实现公钥加密算法的对策方法,使用密钥d和上述椭圆曲线上点的个数n来计算一个新的译码整数d′,用d′按照译码算法对任何加密信息进行译码能给出与用d通过执行操作Q=d*P相同的结果,P是曲线上的一个点,该方法特征是它包括四个步骤:
1)确定一个安全参数s;实际应用中s可取为接近30的数。
2)提取一个0与2^s之间的随机数k。
3)计算整数d′=d+k*n。
4)  计算Q=d′.P。
2.依照权利要求1的对策方法,其特征是包括用一个第一变量表示在译码算法的每一个新的执行处计算一个新的译码整数d′。
3.依照权利要求1的对策方法,其特征是包括用一个第二变量表示在译码算法的每一个新的执行处递增一个计数器直到达到一个固定值T。
4.依照权利要求3的对策方法,其特征是,一旦达到了值T,按照权利要求1中的方法计算一个新的加密整数且计数器被重新设置为0。
5.依照权利要求3的对策方法,其特征是值T等于整数16。
CN00805519XA 1999-03-26 2000-03-22 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法 Expired - Lifetime CN1218531C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9903920A FR2791496B1 (fr) 1999-03-26 1999-03-26 Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique
FR99/03920 1999-03-26

Publications (2)

Publication Number Publication Date
CN1345496A CN1345496A (zh) 2002-04-17
CN1218531C true CN1218531C (zh) 2005-09-07

Family

ID=9543774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN00805519XA Expired - Lifetime CN1218531C (zh) 1999-03-26 2000-03-22 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法

Country Status (8)

Country Link
US (1) US7286666B1 (zh)
EP (1) EP1166495A1 (zh)
JP (1) JP2002540484A (zh)
CN (1) CN1218531C (zh)
AU (1) AU3660300A (zh)
FR (1) FR2791496B1 (zh)
MX (1) MXPA01009402A (zh)
WO (1) WO2000059157A1 (zh)

Families Citing this family (18)

* 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 暗号化装置,復号装置,および暗号化・復号装置
FR2809893B1 (fr) * 2000-06-02 2002-11-15 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique
FR2821945B1 (fr) * 2001-03-12 2003-05-30 Gemplus Card Int Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique
FR2821944B1 (fr) * 2001-03-12 2003-05-30 Gemplus Card Int Procede de protection contre les attaques par mesure de courant ou de rayonnement electromagnetique
FR2824210B1 (fr) * 2001-04-27 2003-05-30 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
US7372960B2 (en) * 2001-12-31 2008-05-13 Certicom Corp. Method and apparatus for performing finite field calculations
EP1648111B1 (en) * 2003-07-22 2014-01-15 Fujitsu Limited Tamper-resistant encryption using a private key
KR100652377B1 (ko) * 2004-08-06 2007-02-28 삼성전자주식회사 모듈라 지수승 알고리즘, 기록매체 및 시스템
FR2881300B1 (fr) * 2005-01-21 2007-03-16 Gemplus Sa Procede de generation d'une courbe elliptique, application a un procede cryptographique, et procede cryptographique une telle courbe
US8396213B2 (en) * 2005-01-21 2013-03-12 Certicom Corp. Elliptic curve random number generation
WO2007000702A2 (en) 2005-06-29 2007-01-04 Koninklijke Philips Electronics N.V. Arrangement for and method of protecting a data processing device against a cryptographic attack or analysis
JP4513752B2 (ja) * 2006-01-16 2010-07-28 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにコンピュータ・プログラム
DE102006013515A1 (de) * 2006-03-23 2007-10-04 Siemens Ag Kryptographisches Verfahren mit elliptischen Kurven
FR2941115B1 (fr) * 2009-01-14 2011-02-25 Sagem Securite Codage de points d'une courbe elliptique
JP5407352B2 (ja) 2009-01-19 2014-02-05 富士通株式会社 復号処理装置、復号処理プログラム、復号処理方法
EP2326041A1 (en) * 2009-11-19 2011-05-25 Gemalto SA Countermeasures against power attacks for the randomization of the exponent
EP3220304B1 (en) * 2016-02-22 2018-11-07 Eshard Method of testing the resistance of a circuit to a side channel analysis
US10674045B2 (en) * 2017-05-31 2020-06-02 Google Llc Mutual noise estimation for videos

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064740A (en) * 1997-11-12 2000-05-16 Curiger; Andreas Method and apparatus for masking modulo exponentiation calculations in an integrated circuit
US6466668B1 (en) * 1998-01-28 2002-10-15 Hitachi, Ltd. IC card equipped with elliptical curve encryption processing facility
FR2809893B1 (fr) * 2000-06-02 2002-11-15 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique

Also Published As

Publication number Publication date
WO2000059157A1 (fr) 2000-10-05
AU3660300A (en) 2000-10-16
EP1166495A1 (fr) 2002-01-02
US7286666B1 (en) 2007-10-23
FR2791496A1 (fr) 2000-09-29
CN1345496A (zh) 2002-04-17
FR2791496B1 (fr) 2001-10-19
MXPA01009402A (es) 2002-06-04
JP2002540484A (ja) 2002-11-26

Similar Documents

Publication Publication Date Title
CN1218531C (zh) 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法
Huang et al. An image encryption algorithm based on hyper-chaos and DNA sequence
Kim et al. Private genome analysis through homomorphic encryption
US7162033B1 (en) Countermeasure procedures in an electronic component implementing an elliptical curve type public key encryption algorithm
US20080240443A1 (en) Method and apparatus for securely processing secret data
US20160234010A1 (en) Method and system for homomorphicly randomizing an input
US8422671B2 (en) Methods of encryption and decryption using operand ordering and encryption systems using the same
US7908641B2 (en) Modular exponentiation with randomized exponent
US6914986B2 (en) Countermeasure method in an electronic component using a public key cryptography algorithm on an elliptic curve
US10721056B2 (en) Key processing method and device
CN1425231A (zh) 椭圆曲线上的密码学方法
CN101005350A (zh) 加密处理设备、加密处理方法和计算机程序
CN1592190A (zh) 硬件加密引擎和加密方法
CN1429360A (zh) 加密的方法和装置
CN1314223C (zh) 密码专用密钥的存储和复原方法及设备
US7123717B1 (en) Countermeasure method in an electronic component which uses an RSA-type public key cryptographic algorithm
CN1543725A (zh) 使用离散对数函数产生不对称加密系统的加密单元的方法
CN1571952A (zh) 用于椭圆曲线上的点的通用计算方法
US7903814B2 (en) Enhancing the security of public key cryptosystem implementations
Rui et al. A k-RSA algorithm
Houria et al. A comparison between the secp256r1 and the koblitz secp256k1 bitcoin curves
CN111368317A (zh) 一种计算机数据加密系统及方法
Bendaoud et al. A new image encryption scheme based on enhanced elliptic curve cryptosystem using DNA computing
Sundararajan et al. A comprehensive survey on lightweight asymmetric key cryptographic algorithm for resource constrained devices
JP5323196B2 (ja) 演算装置、方法およびプログラム

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
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: 20050907

CX01 Expiry of patent term