CN1345495A - 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法 - Google Patents
实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法 Download PDFInfo
- Publication number
- CN1345495A CN1345495A CN00805495A CN00805495A CN1345495A CN 1345495 A CN1345495 A CN 1345495A CN 00805495 A CN00805495 A CN 00805495A CN 00805495 A CN00805495 A CN 00805495A CN 1345495 A CN1345495 A CN 1345495A
- Authority
- CN
- China
- Prior art keywords
- calculate
- algorithm
- replaces
- elliptic curve
- point
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7228—Random curve mapping, e.g. mapping to an isomorphous or projective curve
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Credit Cards Or The Like (AREA)
- Lock And Its Accessories (AREA)
- Facsimile Image Signal Circuits (AREA)
- Image Processing (AREA)
- Photoreceptors In Electrophotography (AREA)
- Studio Circuits (AREA)
- Storage Device Security (AREA)
Abstract
基于密码算法的椭圆曲线是提供更短计算时间和比RSA更短密钥大小的公共密钥算法。芯片卡环境中的应用程序被证明对于微分幂攻击(DPA)是脆弱的。本发明描述了一种对策过程,能够采取主动动作对抗DPA类型的攻击。该对策方法不减低性能并且在芯片卡类型的部件中容易使用。
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
有两种方法用于表示椭圆曲线上的一个点:
首先,几何坐标表示;这种方法中,椭圆曲线上的一个点P被表示为它的坐标(x,y)。
其次,投影坐标表示。
投影坐标表示法的优点是它能够避免有限域中的除法操作,上述除法按照计算时间来说是最昂贵的操作。
最常用的投影坐标表示包括用坐标(X,Y,Z)表示椭圆曲线上的一个点P,而x=X/Z,y=Y/Z^3。
凡是属于在其上定义椭圆曲线的有限域的元素λ三元组(X,Y,Z)和三元组(λ^2*X,λ^3*Y,λ*Z)代表同一个点,因而一个点的投影坐标并不是唯一的。
在加密中用得最多的两类椭圆曲线是下面两类:
1)在有限域GF(p)(整数模p的集合,p是一个质数)上
定义的曲线,它的方程为:
y^2=x^3+a*x=b
2)定义在有限域GF(2^n)上的椭圆曲线,它的方程
为:
y^2+xy=x^3+a*x^2+b
对这两类曲线中的每一类都定义了点加法操作和点加倍操作。
点加法操作是,给定两个点P和Q,计算和R=P+Q,R是椭圆曲线上的一个点,它的坐标按照Alfred J Menezes的著作“椭圆曲线公共密钥密码系统”中所给出的公式用点P和Q的坐标来表示。
点加倍操作是,给定一个点P,计算点R=2*P,R是椭圆曲线上的一个点,它的坐标按照Alfred J Menezes的著作“椭圆曲线公共密钥密码系统”中所给出的公式用点P的坐标来表示。
点加法操作与点加倍操作使定义一个标量乘法操作成为可能:给定一个属于椭圆曲线的点P和一个整数d,P由d标量乘的结果是点Q,Q=P+PP+…..+d次P。
椭圆曲线上加密算法的安全性基于椭圆曲线上离散对数的难度,上述问题包括,用属于椭圆曲线E的点Q和P来找到这样的整数x使得Q=x*P,如果存在这样的x的话。
有很多基于离散对数问题的加密算法。这些算法可以被很容易地移植到椭圆曲线上。
这样就能够用算法提供鉴定,机密性,完整性校验和密钥交换。
基于椭圆曲线的大部分加密算法的一个共同点是它们包含一个定义在有限域上的椭圆曲线作为参数及该椭圆上的一个点P。私有密钥是一个随机选中的整数d。公共密钥是曲线Q上的一个点,而Q=d*P。这些加密算法通常都涉及点R=d*T的计算中的标量乘法,其中d是密钥。
在上节中描述了一个基于椭圆曲线的加密算法。这个方案类似于E1 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。它因此严重危胁智能卡上椭圆曲线实现的安全。
攻击的第一步是对应前面所述及的“加倍与和”算法的执行为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攻击。这个对策使用椭圆曲线上点的投影坐标表示。
像上面所解释的,一个点的投影坐标表示不是唯一的。如果在其上定义椭圆曲线的有限域包含n个元素,就可以从n-1个可能的表示中选一个。
通过选择在其上执行计算的点的一个随机表示,计算的中间值自身变得随机且因此从外面很难预测,这使得上述所述的DPA攻击不可能发生。
该对策方法包括定义在有限域GF(p)(p是质数)和GF(2^n)上的椭圆曲线点加倍操作和点加法操作的一个变体。定义在有限域GF(p)(p是质数)和GF(2^n)上的椭圆曲线上的点加法操作和点加倍操作的变体适用于用于执行这些操作的所有算法。
该对策方法也包括标量乘法操作中四个变量的定义。这四个变量适用于用于执行标量乘法操作的任意算法。
在这一节中,给出了用于定义在有限域GF(p)上的椭圆曲线的点加倍算法的变体的描述,其中p是一个质数。椭圆曲线因此由下面的方程定义:
y^2=x^3+a*x+b
这里a和b是开始时固定的整数。
点Q=(X2,Y2,Z2)的投影坐标,Q=2.P且P=(X1,Y1,Z1),由下面方法用六步计算。在每一步中,计算以模p实现。
1)计算M=3*X1^2+a*Z1^4;
2)计算Z2=2*Y1+Z1;
3)计算S+4*X1*Y1^2;
4)计算X2=M^2=2*S;
5)计算T=8*Y1^4;
6)计算Y2=M*(S-X2)-T;
该对策方法包括上面方法的一个变体。
用于定义在有限域GF(p)上的椭圆曲线的点加倍新方法由下面8个步骤组成:
1)随机提取一个整数λ,0<λ<p;
2)计算X’1=λ^2*X1,Y’1=λ^3*Y1,Z’1=λ*Z1;
3)计算M=3*X’1^2+a*Z’1^4;
4)计算Z2=2*Y’1*Z’1;
5)计算S=4*X’1+Y’1^2;
6)计算X2=M^2-2*S;
7)计算T=8*Y’1^4;
8)计算Y2=M*(S-X2)-T;
更普遍地,该对策方法适用于所有用于执行点加倍操作的方法(以下表示为A)。方法A被方法A’以3步取代:输入:以投影坐标表示的一个点P(X1,Y1,Z1)。输出:以投影坐标表示的一个点Q(X2,Y2,Z2),Q=2.P。
1)随机提取一个整数λ,0<λ<p;
2)计算X’1=λ^2*X1,Y’1=λ^3*Y1,Z’1=λ
*Z1,X’1,Y’1和Z’1定义点P’=(X’1,Y’1,Z’1)的坐标。
3)用算法A计算Q=2*P’。
在方法A’的执行过程中被操纵的变量是随机的,前面描述的DAP攻击不再适用。
在这一段中,给出了用于定义在有限域GF(P)上的椭圆曲线的点加法算法变体的描述,这里p是一个质数。
点R=(X2,Y2,Z2)的投影坐标,R=P+Q且P=(X0,Y0,Z0)、Q=(X1,Y1,Z1),由下面方法用12步计算。在每一步中,计算被实现以p为模。
1)计算U0=X0*Z1^2;
2)计算S0=Y0*Z1^3;
3)计算U1=X1*Z0^2;
4)计算U2=Y1*Z0^3;
5)计算W=U0-U1;
6)计算R=S0-S1;
7)计算T=U0+U1;
8)计算M=S0+S1;
9)计算Z2=Z0*Z1*M;
10)计算X2=R^2-T*W^2;
11)计算V=T*W^2-2*X2;
12)计算2*Y2=V*R-M*W^3。
该对策方法包括前面方法的变体。用于定义在有限域GF(p)上的椭圆曲线的点加法的新方法包括下面16步:
1)随机提取一个整数λ,0<λ<p;
2)用λ^2*X0,λ^3*Y0,λ*Z0分别代替X0,Y0,Z0;
3)随机提取一个整数μ,0<μ<p;
4)用μ^2*X1,μ^3*Y1,μ*Z1分别代替X1,Y1,Z1;
5)计算U0=X0*Z1^2;
6)计算S0=Y0*Z1^3;
7)计算U1=X1*Z0^2;
8)计算U2=Y1*Z0^3;
9)计算W=U0-U1;
10)计算R=S0-S1;
11)计算T=U0+U1;
12)计算M=S0+S1;
13)计算Z2=Z0*Z1*M;
14)计算X2=R^2-T*W^2;
15)计算V=T*W^2-2*X2;
16)计算2*Y2=V*R-M*W^3。
更普遍地,该对策方法适用于所有用于执行点加法操作的方
法(以下表示为A)。方
法A被方法A’以5步取代:
输入:以投影坐标表示的两个点P=(X0,Y0,Z0)和
Q=(X1,Y1,Z1)
输出:以投影坐标表示的点R=(X2,Y2,Z2),R=P+Q
1)随机提取一个整数λ,0<λ<p;
2)λ^2*X0,λ^3*Y0,λ*Z0分别代替X0,Y0,Z0;
3)随机提取一个整数μ,0<μ<p;
4)μ^2*X1,μ^3*Y1,μ*Z1分别代替X1,Y1,Z1;
5)用算法法A计算R=P+Q;
在方法A’的执行中被操纵的变量是随机的,前面描述的DPA攻击不再适用。
在这一节中,给出了用于定义在有限域GF(2^n)上的椭圆曲线的点加倍算法变体的
描述,椭圆曲线因此由下面的方程定义:
y^2+x*y=x^3+a*x^2+b
其中a和b是在开始时固定的属于GF(2^n)的参数。C由下面的方程定义:
c=b^(2^(n-2))。
点Q(X2,Y2,Z2),P=(X1,Y1,Z1)而Q=2.P的投影坐标由下面方法用四步计算。在每一步中,计算都在有限域GF(2^n)中被执行。
1)计算Z2=X1*Z1^2;
2)计算X2=(X1+C*Z1^2)^4;
3)计算U=Z2+X1^2+Y1*Z1;
4)计算Y2=X1^4*Z2+U*X2;
该对策方法包括前面方法的变体。用于定义在有限域GF(2^n)
上的椭圆曲线的新的点加倍算法包括下面6个步骤:
1)随机提取GF(2^n)的一个非零元素λ;
2)计算X’1=λ^2*X1,Y’1=λ^3*Y1,Z’1=λ*Z1;
3)计算X2=X’1*Z’1^2;
4)计算X2=(X’1+c*Z’1^2)^4;
5)计算U=Z2+X’1^2+Y’1*Z’1;
6)计算Y2=X’1^4*Z2+U*X2;
更普遍地,该对策方法适用于所有用于执行点加倍操作的方
法(以下表示为A)。方法
A被方法A’以3步取代:
输入:以投影坐标表示的一个点P(X1,Y1,Z1)。
输出:以投影坐标表示的一个点Q(X2,Y2,Z2),Q=2.P。
1)随机提取GF(2^n)的一个非零元素λ;
2)计算X’1=λ^2*X1,Y’1=λ^3*Y1,Z’1=λ*Z1;
X’1,Y’1,Z’1定义点P’=(X’1,Y’1,Z’1)的坐标;
3)用算法A计算Q=2.P’。在方法A’的执行过程中被操纵的变量是随机的,前面描述的DAP攻击不再适用。
在这一节中,描述了适用于定义在有限域GF(2^n)上的椭圆曲线的点加法算法的变体。
点R=(X2,Y2,Z2),R=P+Q且P=(X0,Y0,Z0),Q=(X2,Y2,Z2),的投影坐标由下面方法用12步计算。在每一步中,在每一步中,计算都在有限域GF(2^n)中被执行。
1)计算U0=X0*Z1^2;
2)计算S0=Y0*Z1^3;
3)计算U1=X1*Z0^2;
4)计算S1=Y1*Z0^3;
5)计算W=U0+U1;
6)计算R=S0+S1;
7)计算L=Z0*W;
8)计算V=R*X1+L*Y1;
9)计算Z2=L*Y1;
10)计算T=R+Z2;
11)计算X2=a*Z2^2+T*R+W^3;
12)计算Y2=T*X2+V*L^2;
该对策方法包括前面方法的一个变体。用于定义在有限域GF(2^n)上的椭圆曲线的新的点加法方法包括下面14步:
1)随机提取GF(2^n)的一个非零元素λ;
2)用λ^2*X0,λ^3*Y0,λ*Z0分别代替X0,Y0,Z0;
3)随机提取GF(2^n)的一个非零元素μ;
4)用μ^2*X1,μ^3*Y1,μ*Z1分别代替X1,Y1,Z1;
5)计算U0=X0*Z1^2;
6)计算S0=Y0*Z1^3;
7)计算U1=X1*Z0^2;
8)计算S1=Y1*Z0^3;
9)计算W=U0+U1;
10)计算R=S0+S1;
11)计算L=Z0*W;
12)计算V=R*X1+L*Y1;
13)计算Z2=L*Y1;
14)计算T=R+Z2;
15)计算X2=a*Z2^2+T*R+W^3;
16)计算Y2=T*X2+V*L^2;
更普遍地,该对策方法适用于所有用于执行点加法操作的方法(以下表示为A)。方法A被方法A’以5步取代:
输入:两个以投影坐标表示的点P=(X0,Y0,Z0),Q=(X1,Y1,Z1);
输出:以投影坐标表示的点R=(X2,Y2,Z2),R=P+Q;
1)随机提取GF(2^n)的一个非零元素λ;
2)用λ^2*X0,λ^3*Y0,λ*Z0分别代替X0,Y0,Z0;
3)随机提取GF(2^n)的一个非零元素μ;
4)用μ^2*X1,μ^3*Y1,μ*Z1分别代替X1,Y1,Z1;
5)用方法A计算R=P+Q;
在方法A’的执行过程中被操纵的变量是随机的,前面描述的DAP攻击不再适用。
该对策方法也在于定义标量乘法操作中的4个变量。标量乘法操作使用表示为Do的点加倍操作和表示为Ad的点加法操作。上面描述的修改过的点加倍操作和点加法操作分别表示为Do’和Ad’。
在这一节中给出了标量乘法操作变体中第一个变量的描述。第一个变量在于在计算方法开始时使点的表示成为随机。在使用“加倍与和”算法的情况下,更改后的标量乘法方法是下面这个五步方法。该方法取点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)用方法Do’以2.Q代替Q;
3)如果d(t-1)=1,用方法Ad以Q+P代替Q;
4)对i从t-2到0,执行:
4a)用2Q代替Q;
4b)如果d(i)=1,用Q+P代替Q;
5)返回Q;
更普遍地,前面所描述的第一个变量的方法适用于标量乘法操作,不论用于实现标量乘法计算的方法(以下表示为A)。方法A使用前面定义的操作Do和Ad。
该对策方法的第一个变量在于用前面定义的Do’代替操作Do。
第一个变量因此能够确保在标量乘法操作期间被操纵的中间变量是随机的。这使前面所描述的DPA攻击不适用。
这一段中描述标量乘法操作变体的第二个变量。
第二个变量在于在计算方法的开始和结束时使点的表示随机。在使用“加倍与和算法”的情况下,更改后的标量乘法方法是下面的7步方法。该方法取点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作为输出。
第二个变量被用7步执行:
1)用点P的值初始化点Q;
2)用方法Do’以2.Q代替Q;
3)如果d(t-1)=1,用方法Ad以Q+P代替Q;
4)对i从t-2到1,执行:
4a)用2Q代替Q。
4b)如果d(i)=1,用Q+P代替Q;
5)用方法Do’以2.Q代替Q;
6)如果d(0)=1,用方法Ad以Q+P代替Q;
7)返回Q;
更普遍地,前面所描述的第二个变量的方法适用于标量乘法操作,不论用于实现标量乘法计算的方法(以下表示为A)。方法A使用前面定义的操作Do和Ad。该对策方法的第二个变量包括用前面定义Do’代替第一个Do操作以及用Do’代替最后一个Do操作。
第二个变量因此能够确保在标量乘法操作过程中被操纵的中间变量是随机的。第二个变量的优势是在标量乘法算法的结束时对DPA攻击的增强的安全性。特别是第二个变量使前面所述的DPA攻击不适用。
这一节中描述了标量乘法操作变体的第三个变量。
第三个变量在于在标量乘法方法的过程中使被操纵的每个点的表示成为随机的。在使用“加倍与和”算法的情况下,更改后的标量乘法方法是下面的4步方法。该方法取点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-2到0,执行:
2a)用方法Do’以2Q代替Q;
2b)用方法Ad’以Q+P代替Q;
3)返回Q。
更普遍地,前面所描述的第三个变量的方法适用于标量乘法操作,不论用于实现标量乘法计算的方法(以下表示为A)。方法A使用前面定义的操作Do和Ad。
该对策方法的第三个变量包括用Do’和Ad’分别代替所有的Do和Ad操作。
第三个变量因此能够确保在标量乘法操作中被操纵的中间变量是随机的。第三个变量与第二个变量相比较它的优势在于在标量乘法方法的中间操作上对DPA攻击的增强的安全性。特别是第三个变量使前面所描述的DPA攻击不适用。
在这一节中描述标量乘法操作变体的第四个变量。第四个变量在于在标量乘法方法的过程中使被操纵的每个点的表示成为随机的。通过使用一个计数器第四个变量是第三个变量的一个变体,上述计数器使确定标量乘法算法的步骤成为可能,点的表示为了该算法被安排为随机的。为了这个目的定义一个安全性参数T。实际应用中可取T=5。在使用“加倍与和”算法的情况下,已更改的标量乘法方法是下面的4步方法。该方法取一个点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)把计数器c0初始化为值T;
3)对i从t-1到0,执行:
3a)如果c0不等于0则用算法Do以2Q代替Q,否则使用
算法Do’;
3b)如果d(i)=1,用算法Ad以Q+P代替Q;
3c)如果c0=0,则把计数器c0初始化为值T;
3d)c0递减1;
4)返回Q。
更普遍地,上面所述的第三个变量的方法适用于标量乘法操作,不论用于实现标量乘法计算的方法(以下表示为A)。方法A使用前面定义的操作Do和Ad。
第三个对策方法的变量在于把计数器c0初始化为值T。如果计数器是0则用操作Do’取代操作Do。
在操作Do或Do’的每个执行后,如计数器已经到达0它被重新初始化为值T;随后它被递减1。
第四个变量因此能够确保在标量乘法操作过程中被操纵的中间变量是随机的。第四个变量与第变量相比较它的优势在于更快的执行速度。第四个变量使得前面所描述DAP攻击不适用。
上面所描述的四个变量其中一个的应用因此能够保护基于椭圆曲线的密码系统不遭受前述的DPA攻击。
Claims (14)
1.一种在电子部件中使用上述椭圆曲线的点的投影坐标表示实现椭圆曲线公共密钥加密算法的对策方法,在于用坐标(X,Y,Z)表示椭圆曲线上的一个点P,而x=X/Z、y=Y/Z^3,x和y是椭圆曲线上的点的几何学坐标,上述曲线包括n个元素且被定义在一个有限域GF(p)上,p是一个质数,所述曲线的方程为y^2=x^3+a*x+b,或被定义在有限域GF(2^n)上,曲线方程为y^2+x*y=x^3+a*x^2+b,这里a和b是在开始时固定的整型参数,
上述方法的特征是从椭圆曲线的以投影坐标表示的n个可能的元素中选择一个随机表示并包括上述点加法与加倍操作的变体以及标量乘法操作的变体。
2.依照权利要求1的对策方法,其特征是该对策方法适用于任何用于执行点加倍操作的方法或算法,以下表示为A,方法A被方法A′以三步取代,使用由椭圆曲线上的用投影坐标表示的点P(X1,Y1,Z1)定义的输入和由椭圆曲线上的用投影坐标表示的点Q=(X2,Y2,Z2)定义的输出,而Q=2.P,上述步骤是:
1)随机提取一个整数λ,0<λ<p;
2)计算X′1=λ^2*X1,Y′1=λ^3*Y1,Z′1=λ*Z1,X′1,Y′1和Z′1定义点P′=(X′1,Y′1,Z′1)的坐标。
3)用算法A计算Q=2*P′。
3.依照权利要求1的对策方法,其特征是点加倍算法或加倍定义在上述有限域GF(p)上的椭圆曲线上的点的操作,被实现为八步:
1)随机提取一个整数λ,0<λ<p;
2)计算X′1=λ^2*X1,Y′1=λ^3*Y1,Z′1=λ*Z1;
3)计算M=3*X′1^2+a*Z′1^4;
4)计算Z2=2*Y′1*Z′1;
5)计算S=4*X′1+Y′1^2;
6)计算X2=M^2-2*S;
7)计算T=8*Y′1^4;
8)计算Y2=M*(S-X2)-T;
4.依照权利要求1的对策方法,其特征在于更普遍的是该对策方法适用于所有用于执行定义在上述有限域GF(p)上的椭圆曲线上的点加法操作的方法,以下表示为A,点加法操作被用五步实现:
1)随机提取GF(2^n)的一个非零元素λ;
2)用λ^2*X0,λ^3*Y0,λ*Z0分别代替X0,Y0,Z0;
3)随机提取GF(2^n)的一个非零元素μ;
4)用μ^2*X1,μ^3*Y1,μ*Z1分别代替X1,Y1,Z1;
5)通过算法A计算R=P+Q;
5.依照权利要求1的对策方法,其特征在于用于定义在有限域GF(p)上的椭圆曲线的点加法算法的变体,其中p是一个质数,是像下面这样:点R=(X2,Y2,Z2)的投影坐标由下面方法用16步计算,这里R=P+Q,P=(X0,Y0,Z0),Q=(X1,Y1,Z1),在每一步中计算被实现以p为模:
1)随机提取一个整数λ,0<λ<p;
2)用λ^2*X0,λ^3*Y0,λ*Z0分别代替X0,Y0,Z0;
3)随机提取一个整数μ,0<μ<p;
4)用μ^2*X1,μ^3*Y1,μ*Z1分别代替X1,Y1,Z1;
5)计算U0=X0*Z1^2;
6)计算S0=Y0*Z1^3;
7)计算U1=X1*Z0^2;
8)计算U2=Y1*Z0^3;
9)计算W=U0-U1;
10)计算R=S0-S1;
11)计算T=U0+U1;
12)计算M=S0+S1;
13)计算Z2=Z0*Z1*M;
14)计算X2=R^2-T*W^2;
15)计算V=T*W^2-2*X2;
16)计算2*Y2=V*R-M*W^3。
6.依照权利要求1的对策方法,其特征在于,更普遍地,用于定义在有限域GF(2^n)上的椭圆曲线的点加法算法的变体,这里n是一个质数,是像下面这样:点P=(X1,Y1,Z1)的投影坐标由下面方法用3步计算,而R=P+Q且Q=(X2,Y2,Z2),在每一步中计算被实现为以p为模:
1)机提取GF(2^n)的一个非零元素λ;
2)计算X′1=λ^2*X1,Y′1=λ^3*Y1,Z′1=λ*Z1;X′1,Y′1,Z′1定义点P′=(X′1,Y′1,Z′1)的坐标;
3)用算法A计算Q=2.P′。
7.依照权利要求1的对策方法,其特征在于该对策方法包括前面方法的变体,即用于定义在有限域GF(2^n)上的椭圆曲线的新的点加倍方法,并包括下面6步:
1)随机提取GF(2^n)的一个非零元素λ;
2)计算X′1=λ^2*X1,Y′1=λ^3*Y1,Z′1=λ*Z1;
3)计算X2=X1*Z′1^2;
4)计算X2=(X′1+c*Z′1^2)^4;
5)计算U=Z2+X′1^2+Y′1*Z′1;
6)计算Y2=X′1^4*Z2+U*X2;
8.依照权利要求1的对策方法,其特征在于,更普遍地,用于定义在有限域GF(2^n)上的椭圆曲线的点加法算法的变体,这里n是一个质数,是像下面这样:点P=(X0,Y0,Z0)和点Q=(X1,Y1,Z1)作为输入,由下面方法用5步计算点R=(X2,Y2,Z2),在每一步中计算以模实现:
1)随机提取GF(2^n)的一个非零元素λ;
2)用λ^2*X0,λ^3*Y0,λ*Z0分别代替X0,Y0,Z0;
3)随机提取GF(2^n)的一个非零元素μ;
4)用μ^2*X1,μ^3*Y1,μ*Z1分别代替X1,Y1,Z1;
5)用算法A计算R=P+Q;
9.依照权利要求1的对策方法,其特征在于该对策方法包括用于定义在有限域GF(2^n)上的椭圆曲线的点加法方法的变体并包括下面16步:
1)随机提取GF(2^n)的一个非零元素λ;
2)用λ^2*X0,λ^3*Y0,λ*Z0分别代替X0,Y0,Z0;
3)随机提取GF(2^n)的一个非零元素μ;
4)用μ^2*X1,μ^3*Y1,μ*Z1分别代替X1,Y1,Z1;
5)计算U0=X0*Z1^2;
6)计算S0=Y0*Z1^3;
7)计算U1=X1*Z0^2;
8)计算S1=Y1*Z0^3;
9)计算W=U0+U1;
10)计算R=S0+S1;
11)计算L=Z0*W;
12)计算V=R*X1+L*Y1;
13)计算Z2=L*Y1;
14)计算T=R+Z2;
15)计算X2=a*Z2^2+T*R+W^3;
16)计算Y2=T*X2+V*L^2;
10.依照权利要求1的对策方法,其特征在于标量乘法操作变体的第一个变量使点的表示在使用″加倍与和″算法的计算方法的开始时成为随机的,标量乘法的更改过的方法像下在面的五步,取点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作为输出,方法Do是点加倍方法,方法Do′是按照前述权利要求中的任意一个修改过的点加倍方法,第一个变量被用五步执行:
1)用点P的值初始化点Q;
2)用方法Do′以2.Q代替Q;
3)如果d(t-1)=1,用方法Ad以Q+P代替Q;
4)对i从t-2到0,执行:
4a)用2Q代替Q;
4b)如果d(i)=1,用Q+P代替Q;
5)返回Q;
11.依照权利要求1的对策方法,其特征是标量乘法操作的第二个变量在于使点的表示在计算方法的开始和结束时成为随机的,这是在使用“加倍与和”算法的情况下,更改过的标量乘法方法是下面方法中的7步,取点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作为输出,上述第二个变量被用7步执行:
1)用点P的值初始化点Q;
2)用方法Do′以2.Q代替Q;
3)如果d(t-1)=1,用方法Ad以Q+P代替Q;
4)对i从t-2到1,执行:
4a)用2Q代替Q。
4b)如果d(i)=1,用Q+P代替Q;
5)用方法Do′以2.Q代替Q;
6)如果d(0)=1,用方法Ad以Q+P代替Q;
1)返回Q;
12.依照权利要求1的对策方法,其特征在于标量乘法操作的第三个变量被用三步执行:
1)用点P初始化点Q;
2)对i从t-2到0,执行:
2a)用方法Do′以2Q代替Q;
2b)如果d(i)=1,用方法Ad′以Q+P代替Q,Ad′是依照于前述权利要求更改过的点加法方法;
3)返回Q。
13.依照权利要求1的对策方法,其特征在于标量乘法操作的第四个变量被用三步执行:
1)用点P初始化点Q;
2)把计数器c0初始化为值T;
3)i从t-1到0,执行:
3a)如果c0不等于0则用算法Do以2Q代替Q,否则使用算法Do′;
3b)如果d(i)=1,用算法Ad以Q+P代替Q;
3c)如果c0=0,则把计数器c0初始化为值T;
3d)c0递减1;
3)返回Q。
14.使用依照前述任意一个权利要求的方法的电子部件,其特征在于它可以是一个智能卡。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR99/03921 | 1999-03-26 | ||
FR9903921A FR2791497B1 (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 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1345495A true CN1345495A (zh) | 2002-04-17 |
Family
ID=9543775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN00805495A Pending CN1345495A (zh) | 1999-03-26 | 2000-03-13 | 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法 |
Country Status (11)
Country | Link |
---|---|
US (1) | US7162033B1 (zh) |
EP (1) | EP1166494B1 (zh) |
JP (1) | JP2002540483A (zh) |
CN (1) | CN1345495A (zh) |
AT (1) | ATE434879T1 (zh) |
AU (1) | AU3296500A (zh) |
DE (1) | DE60042448D1 (zh) |
ES (1) | ES2331456T3 (zh) |
FR (1) | FR2791497B1 (zh) |
MX (1) | MXPA01009498A (zh) |
WO (1) | WO2000059156A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101371285B (zh) * | 2006-01-16 | 2010-09-08 | 索尼株式会社 | 加密处理装置、加密处理方法 |
CN101005350B (zh) * | 2006-01-16 | 2011-04-06 | 索尼株式会社 | 加密处理设备和加密处理方法 |
CN101630244B (zh) * | 2009-07-28 | 2012-05-23 | 哈尔滨工业大学深圳研究生院 | 一种流水线型椭圆曲线双标量乘法系统及方法 |
CN105337734A (zh) * | 2014-08-05 | 2016-02-17 | 英赛瑟库尔公司 | 包括错误检测的椭圆曲线加密方法 |
CN105991292A (zh) * | 2015-03-18 | 2016-10-05 | 马克西姆综合产品公司 | 用于操作安全椭圆曲线密码系统的系统和方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3796993B2 (ja) * | 1998-12-22 | 2006-07-12 | 株式会社日立製作所 | 楕円曲線暗号実行方法及び装置並びに記録媒体 |
FR2828779B1 (fr) * | 2001-08-17 | 2004-01-16 | Gemplus Card Int | Procede de calcul universel applique a des points d'une courbe elliptique |
WO2005008955A1 (ja) * | 2003-07-22 | 2005-01-27 | Fujitsu Limited | 個人鍵を用いた耐タンパ暗号処理 |
EP1653428B1 (en) * | 2003-08-06 | 2012-08-15 | Fujitsu Limited | Elliptic curve encrypting device, elliptic curve encrypting method, elliptic curve encrypting program and computer-readable recording medium recording that program |
US7379546B2 (en) * | 2004-03-03 | 2008-05-27 | King Fahd University Of Petroleum And Minerals | Method for XZ-elliptic curve cryptography |
US7961873B2 (en) * | 2004-03-03 | 2011-06-14 | King Fahd University Of Petroleum And Minerals | Password protocols using XZ-elliptic curve cryptography |
US7961874B2 (en) * | 2004-03-03 | 2011-06-14 | King Fahd University Of Petroleum & Minerals | XZ-elliptic curve cryptography with secret key embedding |
EP1844392B1 (en) | 2005-01-21 | 2012-07-04 | Certicom Corp. | Elliptic curve random number generation |
KR100723863B1 (ko) * | 2005-11-12 | 2007-05-31 | 한국전자통신연구원 | 랜덤화한 프로베니우스 분해방법을 이용한 차분 공격 방지방법 및 그 장치 |
DE102006013515A1 (de) * | 2006-03-23 | 2007-10-04 | Siemens Ag | Kryptographisches Verfahren mit elliptischen Kurven |
US8559625B2 (en) * | 2007-08-07 | 2013-10-15 | Inside Secure | Elliptic curve point transformations |
US7991162B2 (en) | 2007-09-14 | 2011-08-02 | University Of Ottawa | Accelerating scalar multiplication on elliptic curve cryptosystems over prime fields |
US8619977B2 (en) * | 2008-01-15 | 2013-12-31 | Inside Secure | Representation change of a point on an elliptic curve |
US8233615B2 (en) | 2008-01-15 | 2012-07-31 | Inside Secure | Modular reduction using a special form of the modulus |
WO2011033672A1 (ja) | 2009-09-18 | 2011-03-24 | 株式会社東芝 | 演算装置、方法およびプログラム |
US8699701B2 (en) | 2010-12-01 | 2014-04-15 | King Fahd University | Method of performing XZ-elliptic curve cryptography for use with network security protocols |
US8509426B1 (en) | 2010-12-01 | 2013-08-13 | King Fahd University Of Petroleum And Minerals | XZ-elliptic curve cryptography system and method |
US8413906B2 (en) | 2011-05-22 | 2013-04-09 | King Saud University | Countermeasures to secure smart cards |
CN102394747B (zh) * | 2011-11-23 | 2015-01-14 | 上海爱信诺航芯电子科技有限公司 | 一种快速嵌入明文到椭圆曲线上一点的方法 |
WO2016034912A1 (en) | 2014-09-05 | 2016-03-10 | Umm Al-Qura University | Method and apparatus for scalar multiplication secure against differential power attacks |
US9645794B2 (en) * | 2014-09-23 | 2017-05-09 | Texas Instruments Incorporated | Homogeneous atomic pattern for double, add, and subtract operations for digital authentication using elliptic curve cryptography |
US10181944B2 (en) | 2015-06-16 | 2019-01-15 | The Athena Group, Inc. | Minimizing information leakage during modular exponentiation and elliptic curve point multiplication |
EP3220304B1 (en) * | 2016-02-22 | 2018-11-07 | Eshard | Method of testing the resistance of a circuit to a side channel analysis |
US11146397B2 (en) * | 2017-10-31 | 2021-10-12 | Micro Focus Llc | Encoding abelian variety-based ciphertext with metadata |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307935B1 (en) * | 1991-09-17 | 2001-10-23 | Apple Computer, Inc. | Method and apparatus for fast elliptic encryption with direct embedding |
US5497423A (en) * | 1993-06-18 | 1996-03-05 | Matsushita Electric Industrial Co., Ltd. | Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication |
WO1996004602A1 (en) * | 1994-07-29 | 1996-02-15 | Certicom Corp. | Elliptic curve encryption systems |
-
1999
- 1999-03-26 FR FR9903921A patent/FR2791497B1/fr not_active Expired - Fee Related
-
2000
- 2000-03-13 ES ES00910928T patent/ES2331456T3/es not_active Expired - Lifetime
- 2000-03-13 EP EP00910928A patent/EP1166494B1/fr not_active Expired - Lifetime
- 2000-03-13 AT AT00910928T patent/ATE434879T1/de not_active IP Right Cessation
- 2000-03-13 JP JP2000608545A patent/JP2002540483A/ja active Pending
- 2000-03-13 WO PCT/FR2000/000603 patent/WO2000059156A1/fr active Application Filing
- 2000-03-13 AU AU32965/00A patent/AU3296500A/en not_active Abandoned
- 2000-03-13 MX MXPA01009498A patent/MXPA01009498A/es active IP Right Grant
- 2000-03-13 DE DE60042448T patent/DE60042448D1/de not_active Expired - Lifetime
- 2000-03-13 US US09/937,396 patent/US7162033B1/en not_active Expired - Fee Related
- 2000-03-13 CN CN00805495A patent/CN1345495A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101371285B (zh) * | 2006-01-16 | 2010-09-08 | 索尼株式会社 | 加密处理装置、加密处理方法 |
CN101005350B (zh) * | 2006-01-16 | 2011-04-06 | 索尼株式会社 | 加密处理设备和加密处理方法 |
CN101630244B (zh) * | 2009-07-28 | 2012-05-23 | 哈尔滨工业大学深圳研究生院 | 一种流水线型椭圆曲线双标量乘法系统及方法 |
CN105337734A (zh) * | 2014-08-05 | 2016-02-17 | 英赛瑟库尔公司 | 包括错误检测的椭圆曲线加密方法 |
CN105991292A (zh) * | 2015-03-18 | 2016-10-05 | 马克西姆综合产品公司 | 用于操作安全椭圆曲线密码系统的系统和方法 |
CN105991292B (zh) * | 2015-03-18 | 2021-02-05 | 马克西姆综合产品公司 | 用于操作安全椭圆曲线密码系统的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2000059156A1 (fr) | 2000-10-05 |
EP1166494B1 (fr) | 2009-06-24 |
AU3296500A (en) | 2000-10-16 |
DE60042448D1 (de) | 2009-08-06 |
FR2791497A1 (fr) | 2000-09-29 |
JP2002540483A (ja) | 2002-11-26 |
FR2791497B1 (fr) | 2001-05-18 |
ATE434879T1 (de) | 2009-07-15 |
ES2331456T3 (es) | 2010-01-05 |
US7162033B1 (en) | 2007-01-09 |
MXPA01009498A (es) | 2002-06-04 |
EP1166494A1 (fr) | 2002-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1345495A (zh) | 实现椭圆曲线类型公共密钥加密算法的电子部件中的对策方法 | |
CN1242587C (zh) | 高速、灵活的加密系统的方法及设备 | |
CN1148643C (zh) | 模幂运算装置 | |
CN1203431C (zh) | 公用密钥加密装置 | |
CN1200392C (zh) | 信息处理方法 | |
CN1282324C (zh) | 数据加密装置和方法 | |
CN1265280C (zh) | 扩展整数的计算域的范围 | |
CN1235446A (zh) | 椭圆曲线变换装置、利用装置和利用系统 | |
CN1734526A (zh) | 数据变换装置和数据变换方法 | |
CN1701294A (zh) | 计算单元及以加密操作数执行算术运算之方法 | |
CN1338166A (zh) | 公用与专用密钥加密方法 | |
CN1831754A (zh) | 一种椭圆曲线密码系统及实现方法 | |
CN1702613A (zh) | 蒙哥马利模乘法器 | |
CN1941699A (zh) | 密码方法、主机系统、可信平台模块和计算机安排 | |
CN1303065A (zh) | 数据库管理装置和加密/解密系统 | |
CN1879138A (zh) | 密码处理装置、密码处理方法及其计算机程序 | |
CN1280726A (zh) | 优化椭圆曲线密码计算的变换方法 | |
CN1645791A (zh) | Rsa公开密钥生成装置、rsa解密装置及rsa署名装置 | |
CN1909449A (zh) | 用于处理信息的方法、设备和程序 | |
CN1878059A (zh) | 一种分组加密及解密算法 | |
CN1269680A (zh) | 交织器装置以及用于交织数据集的方法 | |
CN1841443A (zh) | 计算方法、计算设备以及计算机程序 | |
CN1921381A (zh) | 密钥更新方法、加密处理方法、密码系统以及终端装置 | |
CN1957384A (zh) | 电子元件和数据处理方法 | |
CN1266616C (zh) | 计算机加密装置及其加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |