CN101268654A - 用于对消息可靠加密或者解密的方法 - Google Patents
用于对消息可靠加密或者解密的方法 Download PDFInfo
- Publication number
- CN101268654A CN101268654A CNA2006800327498A CN200680032749A CN101268654A CN 101268654 A CN101268654 A CN 101268654A CN A2006800327498 A CNA2006800327498 A CN A2006800327498A CN 200680032749 A CN200680032749 A CN 200680032749A CN 101268654 A CN101268654 A CN 101268654A
- Authority
- CN
- China
- Prior art keywords
- auxiliary quantity
- address
- bit
- address variable
- difference
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000012795 verification Methods 0.000 claims description 5
- 125000004122 cyclic group Chemical group 0.000 description 5
- 230000002349 favourable effect Effects 0.000 description 3
- 238000004082 amperometric method Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000007935 neutral effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
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/723—Modular exponentiation
-
- 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/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- 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
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/7261—Uniform execution, e.g. avoiding jumps, or using formulae with the same power profile
-
- 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
用于对消息可靠地加密或者解密或者用于产生或者校验消息的数字签名的方法,其中,以处理器支持的方式利用密钥(k)将数学运算应用于所述消息,所述密钥可以利用比特(bi)序列表示为二进制数,为每个比特顺序地执行对辅助量(z0,z1,R,S)的计算运算。通过从辅助量读出存储器地址并且分配给地址变量(r,s),来考虑计算结果对各个比特(bi)的值的依赖性。地址的差(d)被计算并且根据分别当前的比特(bi)针对计算机地址被加或被减。因而可以交换辅助变量(z0,z1,R,S)对地址变量(r,s)的分配。由此可以与比特有关地控制计算运算的顺序和选择,而不必在程序流程中实现转移指令。
Description
本发明涉及一种用于对消息可靠地进行加密或者解密或者用于产生或者校验消息的数字签名的方法,其中,以处理器支持的方式将具有密钥的数学运算应用于所述消息,所述密钥可以利用比特序列表示为二进制数。
非对称密码系统通过设置由私有或者公开密钥组成的密钥对来确保提高的安全性程度,使得对于攻击者而言几乎不可能在有限的时间内对私有密钥或者对以公开密钥加密的消息解密。通常的密码系统(例如基于椭圆曲线的这种密码系统)基于一种加密,所述加密可在多项式时间内被执行,但是仅仅在指数时间内可相对于密钥的长度被转化为比特。在基于椭圆曲线的系统的情况下,当今使用n=160至192比特的密钥长度,在基于RSA算法的系统的情况下,对此对于大约相同的安全性水平可以使用n=1024至1536比特的长度。
对以加密转化为基础的攻击方法的替代方案是所谓的侧信道攻击(Seitenkanalangriffe),其中所述以加密转化为基础的攻击方法自身也包括算法,以便尽可能有效地破坏加密所基于的算法。所述侧信道攻击尤其可用于移动辅助装置、例如智能卡或者加密狗(Dongle),在所述移动辅助装置上存储有秘密的密钥材料,用以能够以加密的方式交换消息或者产生或者重新解密数字签名。
攻击者充分利用对相应电路的数据线比较容易的可接入性,用以测量物理量、例如电流、电磁辐射、在所引起的错误时的结果或者某些计算的运行时间。在根据简单的电流分析(SPA)对测量值的直接评估中或者通过借助于存储器示波仪记录测量值(如电流)和紧接着以统计方式进行评估,可以以有效的方式获得关于所基于的算法或者简单地还有仅仅当前存在的密钥的信息。
对后者应该按照例子进一步说明:用于加密的方法不仅为基于椭圆曲线的算法而且为基于RSA方法的这种算法预先规定对算术运算的应用。在RSA方法的情况下,可以执行模幂运算:
z=ak mod N,其中模数N是自然数并且k是密钥(私有的或者公开的)或者至少是从该密钥推导的量。在椭圆曲线的情况下,可以作为算术运算执行标量乘法:
Q=k*P,其中P是在有限体K上椭圆曲线上的点并且k又是密钥或者从该密钥推导的量。
椭圆曲线是在有限体内具有系数ai的二次方程式
y2+a1xy+a3y=x3+a2x2+a4x+a6
的零点集合。所述椭圆曲线不具有奇点,并且在将无限远的点再吸收为中性元素的情况下,构成相加的群,其群法则可以在几何学上被解释。每个直线在三个不必不同的点与椭圆曲线相交(schneiden)并且对每两个点可以计算第三点,使得此三个点之和是中性元素。通过施加穿过两个点P和Q的直线,确定与椭圆曲线相交的第三点S和将所述点反映到x轴上来进行相加(以几何方式示出)。点与标量k的标量乘法通过将点对自身的k次相加来实现。
基于椭圆曲线的密码系统自1985年以来是公知的(通过Koblitz,N.和Miller,V.引入)。所述的密码系统和先前的RSA方法(Rivest,R.,Shamir,A.,Adleman,L.)例如在Menezes、van Oorschot、Vanstone的″Handbook of Applied cryptography″(CRC Press(1996))中详细地予以描述。与椭圆曲线相反,在RSA系统中,以相乘的半群计算。根据椭圆曲线的加法的类推法在此是RSA系统中的乘法。从标量乘法这里得出幂运算。
返回到待解说的例子,可以确定,对数学运算在计算技术上的转换可以通过以下算法进行,其中k由二进制表示(bi,i=n-1...0)来预先规定:
算法1a:(RSA:z=ak mod N)
(1)z←1
(2)i←n-1
(3)只要i>-1
(3.1)z←z2mod N
(3.2)如果bi=1则z ←z*a mod N
(3.3)i←i-1
(4)提供z
算法1b:(EC-椭圆曲线:Q=k*P)
(1)Q←0
(2)i←n-1
(3)只要i>-1
(3.1)Q←2*Q
(3.2)如果bi=1则Q ←Q+P
(3.3)i←i-1
(4)提供(liefere)Q
因此,基本上在每个循环过程中分别执行两个计算计算运算、即在RSA系统时所谓的平方-乘(Square-and-Multiply)和在EC系统时所谓的双倍-加(Double-and-Add)(接下来EC将被用作椭圆曲线的简称)。
在简单的电流分析(SPA)的情况下,对幂运算或者标量乘法的电流消耗的分布图进行分析。标量乘法例如主要由加法和加倍组成。此运算显著地在K的初等运算数目方面不同,使得电流消耗也不同。因此,通过相应的侧信道攻击可以推断出各个比特和因此推断出k本身的二进制表示。
用于防御这种攻击的第一步骤在于,对于两个可能的比特状态0和1使取决于相应比特值的电流流和计算运行时间相均衡,正如接下来所示:
算法2a:(RSA:z=ak mod N)
(1)z0←1
(2)i←n-1
(3)只要i>-1
(3.1)z0←z0 2mod N
(3.2)z1←z0*a mod N
(3.3)z0←zbi,其中bi=0或1
(3.4)i←i-1
(4)提供z0
算法2b:(EC-椭圆曲线:Q=k*P)
(1)Q0←0
(2)i←n-1
(3)只要i>-1
(3.1)Q0←2*Q0
(3.2)Q1←Q0+P
(3.3)Q0←Qbi,其中bi=0或1
(3.4)i←i-1
(4)提供Q0
从现在开始,在每种情况下不依赖于相应比特bi来执行第一计算运算(步骤3.1)以及从现在开始也执行第二计算运算(步骤3.2)。然而,运行时间在这并不是不显著地增加,因为要执行更多的运算。
比特值本身单独地进入在步骤(3.3)中的分配。如果bi=0,那么在循环过程中,点QQ(情况EC)单独地通过其本身被更新。换句话说:于是对Q1在步骤(3.2)中所计算的值被忽视,该值在使用其结果的意义上来说“徒劳地”被计算了。如果与此相反,bi=1,那么将Q0分配给值Q1。根据现在的两个辅助量Q0、Q1,由此在任何情况下都至少在电流消耗和计算时间方面实现均衡。
然而这并不完全的,正如所示。即步骤(3.3)类似于如果/否则(if/sonst)询问(“如果”)隐含向地址的转移。视地址而定,这里不同的电流消耗也可能变得可被察觉,使得侧信道攻击是有可能的。
用于防御侧信道攻击的可替代方法在于所谓的Montgomery-Leiter(蒙哥马利梯)。该算法在椭圆曲线的情况下特别有效,然而从文献DE 10151129Al还公知在RSA系统上的应用。如果椭圆曲线上的点与因数k并且同时与因数k+1的乘积分别被计算,在计算标量乘法时也即可以不需要共同计算y坐标。在椭圆曲线的情况下,y坐标可以从两个分结果来重构。
按照该算法,对乘法的两个结果的同时计算有利地集成在公共的示意图中,其中为此所定义的辅助量(在这称为R和S)在每个循环过程中有效地以相互的辅助的方式更新:
算法3:(EC-椭圆曲线:Q=k*P)
Montgomery-Leiter:
(1)R←P,S←0
(2)i←n-1
(3)只要i>-1
(3.1)如果bi=1{S←S+R,R←2*R}
(3.2)否则{R←R+S,S←2*S}
(3.3)i←i-1
(4)提供R,S
(5)从点R,S和P重构k*P
在所示的例子中,在每个循环过程中,辅助量R或者点R以1*P运行在辅助量或者点S之前。P是事先规定的。对于k=(1010)=10,例如S=10*P和R=11*P。加法和加倍与比特无关地完全相同地进行。从运算顺序侧不能推断出比特序列。然而转移指令(“如果”或者“否则”)如刚开始所提及的那样形成用于攻击的弱点。
因此,本发明的任务是,提供一种在相对于侧信道攻击的安全性方面而言改善了的、用于加密或者解密或用于产生或者或者校验消息的数字签名的方法。
本任务通过具有根据独立权利要求1和9的特征的用于对消息可靠地加密或者解密或者用于产生或者校验消息的数字签名的方法来解决。从从属权利要求中可以得出有利的扩展方案。
在独立权利要求中所说明的方法针对于例如在算法2和3中所示的基本特征,其中连接该方面的思想在于避免在电流分布图上可测的转移指令。
建议,确定辅助量的存储器地址并且利用所述所述辅助量自身来实施运算,其中利用辅助量执行在幂运算或标量乘法时的计算运算。在此规定,计算存储器地址的差(分别被表示数字或者被映射到数字范围内)。假如如果所计算的差具有较小的值,该所计算的差根据当前的密钥比特被添加到所述存储器地址,或者如果所计算的差具有较大的值,被减去,那么刚好得到相应其它辅助量(R或者S或者z0或者z1)的存储器地址。从而可以通过这种计算实现对两个辅助量的值的交换或者两个辅助量之一向相应其它辅助量的映射。
辅助量的值的交换在Montgomery-Leiter的情况下是有利的:也即对于两个与比特相关的分支路径进行相同的计算运算,但是以对称交换的辅助量布置的方式。
该计算例如可以在比特值与先前所计算的存储器地址值差的乘法框架内进行。如果所述比特值为0,那么接下来在对存储器地址相加或者相减时也不发生改变。如果与此相反,所述比特值是1,那么以相同的方式对所述差进行减或加。
一个方面规定,将所述比特值引到计算机字的末尾,也就是说使其成为最低有效比特(LSB)。接下来所述计算机字与所述差的乘法提供乘积,该乘积可以首先被添加到存储器地址。如果现在清除对值0的比特(LSB),重新相乘并且再减去所述乘积,那么如果所述比特LSB起初为0、也即由于清除过程而没有发生改变,则得到初始地址。然而,如果所述比特LSB具有值1,那么围绕恰好地址域中的所述差进一步获得在数学运算中所使用的其它辅助量的存储器地址。
本发明的主要步骤是,形成地址差并且取决于当前的比特值从存储器地址之一加或者减所述差用以与比特有关地分别获得其它的存储器地址。因此,取消转移指令,这特别在Montgomery-Leiter的情况下使人注意到是有利的。根据比特值要实施的计算运算迄今位于程序流程中的不同位置。与此相反,从现在起基于辅助量的对称特性,在程序指令中可以访问相同的计算运算,其中仅仅以对称的方式交换内容。正如取消转移指令那样,根据比特值对不同电流消耗的检测或者相应不同的计算时间几乎不再是可能的,使得抗侧信道攻击的安全性得以提高。
现在将根据实施例进一步解说本发明。
以在算法3中所示出的根据现有技术的Montgomery-Leiter流程为出发点,形成SPA安全算法:步骤
(3.1)如果bi=1:{S←S+R,R←2*R}
(3.2)否则{R←R+S,S←2*S}
可以利用:
F1={S←S+R,R←2*R}和
F2={R←R+S,S←2*S}
以简化的方式来表示:
如果bi=1∶F1,否则F2。
如果获得本发明所基于的认识,即转移指令是抗侧信道攻击的弱点,那么下一步骤在于,如果密钥比特采用值0,则在循环过程的开始和结束时交换辅助量。于是仅仅还需要参阅两个转移地址之一,例如F1:
(3.1)如果bi=1∶F1
(3.2)否则{交换(R,S),Fl,交换(R,S)}。在该点,通过侧信道攻击的可检测性又得到显著提高,因为取决于比特值,在复制时,每计算机字两次存储器访问是必需的。在较长的体元素的情况下,多次访问是必需的,其中当所述密钥比特当前未被置位、即为0时,这明显地在电流消耗中反映了出来。
可以如在接下来的算法中所示的那样进行均衡:
算法4:(EC-椭圆曲线:Q=k*P)
Montgomery-Leiter:
(1)R←P,S←0
(2)i←n-1
(3)只要i>-1
(3.1)如果bi=1{r←地址(R),s←地址(S)}
(3.2)否则{r←地址(S),s←地址(R)}
(3.3)将内容s向S′装载,将内容r向R′装载
(3.4)S′←S′+R′
(3.5)R′←2′*R′
(3.6)将S′向s存储,将R′向r存储
(3.7)i←i-1
(4)提供R,S
(5)从点R,S和P重构k*P。
r和s在此是地址变量并且引起根据比特值对辅助量的交换。如果bi=1,则r指向辅助量的地址或者点R,并且如果bi=0,则指向点S。
根据本发明,在(3.1)中避免转移指令,其方式是,在地址变量r和s之间形成差并且使所述差与计算机字h相乘,其中比特依赖性被存储。当前假设,地址(S)大于地址(R)。此外,标量k存在于计算机字的字段内。
算法5:(EC-椭圆曲线:Q=k*P)
Montgomery-Leiter:
(1)R←P,S←0
(2)d←地址(S)-地址(R)
(3)i←n-1
(4)只要i>-1
(4.1)基于计算机字的LSB循环地旋转bi
(4.2)向h′复制h,从h′清除LSB
(4.3)r←地址(S),s←地址(R)
(4.4)m←h*d
(4.5)r←r-m,s←s+m
(4.6)m←h′*d
(4.7)r←r+m,s←s-m
(4.8)向S′装载内容s,向R′装载内容r
(4.9)S′←S′+R′
(4.10)R′←2′*R′
(4.11)向s存储S′,向r存储R′
(4.12)i ←i-1
(5)提供R,S
(6)从R,S和重构k*P。
计算机字h和h′在数值上最大相差值1,因为它们仅仅可能在LSB上不同。如果bi=1,那么在步骤(4.4)至(4.7)中将r从地址(S)降到地址(R)。这对应于按照算法4的步骤(3.1)的结果,然而这里转移指令是不必要的。仅仅进行真正的标量乘法(步骤4.4)或者(4.6))。
正如根据现有技术的算法2a中,以下流程示出本发明在RSA方法上的应用:
算法6:(RSA:z=ak mod N)
(1)z0←1
(2)d←地址(z0)-地址(z1)
(3)i←n-1
(4)只要i>-1
(4.1)z0←z0 2mod N
(4.2)z1←z0*a mod N
(4.3)基于计算机字的LSB循环地旋转bi
(4.4)向h′复制h,从h′清除LSB
(4.5)r←地址(z0)
(4.6)m←h*d
(4.5)r←r-m
(4.6)m ←h′*d
(4.7)r←r+m
(4.8)向z0存储内容r
(4.9)i←i-1
(5)提供z0
与Montgomery-Leiter相反,对于椭圆曲线必须在此算法中只计算一个地址。仅仅应该存储中间值储。
Claims (17)
1.用于对消息可靠地加密或者解密或者用于产生或者校验消息的数字签名的方法,其中,以处理器支持的方式利用密钥(k)将数学运算应用于所述消息,所述密钥可以利用比特(bi)序列表示为二进制数,包含以下步骤:
-初始化第一辅助量(z0)和第二辅助量(z1);
-为第一辅助量(z0)和第二辅助量(z1)分别确定存储器地址并且将第一存储器地址分配给地址变量(r);
-从存储器地址之间的差别来计算差值(d);
-从最高有效比特(MSB)开始顺序地为每个比特(bi)执行以下步骤:
(a)通过将第一计算运算应用于第一辅助量(z0)来更新第一辅助量(z0);
(b)通过将第二计算运算应用于第一辅助量(z0)来更新第二辅助量(z1);
(c)根据当前比特(bi)的值将所计算的差值(d)添加到地址变量(r),使得或者将第一辅助量(z0)的存储器地址或者将第二辅助量(z1)的存储器地址作为值分配给地址变量(r);
(d)通过传输其存储器地址被分配给地址变量(r)的所述辅助量(z0,z1)的值来更新第一辅助量(z0);
-在结束所述步骤之后为每个比特(bi)输出第一辅助变量(z0)作为数学运算的结果。
2.按照权利要求1的方法,其中在初始化时将值1分配给第一辅助量(z0),并且第一计算运算包含求积分或者第一辅助量(z0)与自身的乘法。
3.按照权利要求2的方法,其中事先规定定基(a)并且第二计算运算包含第一辅助量(z0)与基(a)的乘法。
4.按照权利要求3的方法,其中事先规定数字(N),所述数字在计算运算时被用于取模运算。
5.按照权利要求4的方法,其中所述方法是RSA加密/解密或者签名方法,其中数学运算是模幂运算(ak mod N),并且其中事先规定的数字(N)对于取模运算而言是两个大质数的乘积(p*q)。
6.按照权利要求1的方法,其中
-第一辅助量(z0)表示在有限体(K)上椭圆曲线(E)上的点(Q0)并且在初始化步骤中被分配值0,
-在更新第一辅助量(z0)的步骤中,第一计算运算包含点(Q0)与因数2的标量乘法,
-所述数学运算包含标量乘法(k*P)。
7.按照权利要求6的方法,其中在更新第二辅助量(z1)的步骤中,第二计算运算包含点(Q0)与椭圆曲线(E)上的固定预先规定的点(P)的加法。
8.按照权利要求1到7之一的方法,其中在步骤(c)中,根据当前比特(bi)的值,将差值(d)添加到地址变量(r),其方式是,
-构成第一计算机字(h1),其中当前比特(bi)在顺序处理中是最低有效比特(LSB);
-使第一计算机字(h1)与所述差相乘来形成第一乘积(m);
-从地址变量(r)减去第一乘积(m1);
-通过将最低有效比特(LSB)置为0,由第一计算机字(h1)构成第二计算机字(h2);
-使第二计算机字(h2)与所述差(d)相乘来形成第二乘积(m2);
-将第二乘积(m2)添加到地址变量(r)。
9.用于对消息可靠地加密或者解密或者用于产生或者校验消息的数字签名的方法,其中,以处理器支持的方式利用密钥(k)将数学运算应用于所述消息,所述密钥可以利用比特(bi)序列表示为二进制数,包含以下步骤:
-初始化第一(R)和第二辅助量(S);
-为第一(R)和第二辅助量(S)分别确定存储器地址;
-将第一存储器地址分配给第一地址变量(r)和将第二存储器地址分配给第二地址变量(s);
-从两个存储器地址之间的差别来计算差值(d);
-顺序地为每个比特(bi)执行以下步骤:
(a)根据比特(bi)的值,将所计算的差值(d)添加到第一地址变量(r)并且从第二地址变量(s)减去差值(d),使得
·或者作为值将第一辅助量(R)的存储器地址分配给第一地址变量(r)和将第二辅助量(S)的存储器地址分配给第二地址变量(s),
·或者作为值将第二辅助量(S)的存储器地址分配给第一地址变量(r)和将第一辅助量(R)的存储器地址分配给第二地址变量(s);
(b)通过应用第一计算运算来更新分配给第一地址变量(r)的所述辅助量(R,S);
(c)通过应用第二计算运算来更新分配给第二地址变量(s)的所述辅助量(R,S);
-在结束所述步骤之后为每个比特(bi)输出第一(R)和第二辅助量(S)并且从第一(R)和第二辅助量(S)计算数学运算的结果。
10.按照权利要求9的方法,其中第一辅助量(R)表示在有限体(K)上椭圆曲线(E)上的点并且在初始化步骤中被分配固定的点(P)。
11.按照权利要求9或者10的方法,其中第二辅助量(S)表示在有限体(K)上椭圆曲线(E)上的点并且在初始化步骤中被分配值0。
12.按照权利要求9到11之一的方法,其中所述数学运算包含标量乘法(k*P)。
13.按照权利要求9到12之一的方法,其中在更新给第一地址变量所分配的辅助量的步骤中,第一计算运算包含椭圆曲线上的两个点的加法。
14.按照权利要求9到13之一的方法,其中在更新给第二地址变量所分配的辅助量的步骤中,第二计算运算包含椭圆曲线上的点与因数2的标量乘法或者与自身的加法。
15.按照权利要求9的方法,所述方法是RSA加密/解密或者签名方法,其中所述数学运算是利用事先规定的数字(N)用于取模运算的模幂运算(ak mod N),所述数字(N)是两个大质数的乘积(p*q)。
16.按照权利要求9到15之一的方法,其中在步骤(a)中,根据当前比特(bi)的值,将差值(d)添加到第一地址变量(r),其方式是,
-构成第一计算机字(h1),其中当前比特(bi)在顺序处理中是最低有效比特(LSB);
-使第一计算机字(h1)与所述差相乘来形成第一乘积(m1);
-从地址变量(r)减去第一乘积(m1);
-通过将最低有效比特(LSB)置为0,由第一计算机字(h1)构成第二计算机字(h2);
-使第二计算机字(h2)与所述差(d)相乘来形成第二乘积(m2);
-将第二乘积(m2)添加到地址变量(r)。
17.按照权利要求16的方法,其中在步骤(a)中,根据当前比特(bi)的值,从第二地址变量(s)减去差值(d),其方式是,
-将第一乘积(m1)添加到地址变量(r);
-从地址变量(s)减去第二乘积(m2)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005042339.6 | 2005-09-06 | ||
DE102005042339A DE102005042339B4 (de) | 2005-09-06 | 2005-09-06 | Verfahren zum sicheren Ver- oder Entschlüsseln einer Nachricht |
PCT/EP2006/064655 WO2007028669A1 (de) | 2005-09-06 | 2006-07-26 | Verfahren zum sicheren ver- oder entschlüsseln einer nachricht |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101268654A true CN101268654A (zh) | 2008-09-17 |
CN101268654B CN101268654B (zh) | 2011-10-05 |
Family
ID=37056935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800327498A Expired - Fee Related CN101268654B (zh) | 2005-09-06 | 2006-07-26 | 用于对消息可靠加密或者解密的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8300810B2 (zh) |
EP (1) | EP1922837B8 (zh) |
CN (1) | CN101268654B (zh) |
DE (1) | DE102005042339B4 (zh) |
ES (1) | ES2604460T3 (zh) |
WO (1) | WO2007028669A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271038A (zh) * | 2010-06-07 | 2011-12-07 | 罗伯特·博世有限公司 | 用于生成比特向量的方法 |
CN112632475A (zh) * | 2020-12-30 | 2021-04-09 | 郑州轻工业大学 | 一种基于国密和图片隐写的图片版权保护系统及保护方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101416154A (zh) * | 2006-04-06 | 2009-04-22 | Nxp股份有限公司 | 安全解密方法 |
WO2010104528A1 (en) * | 2009-03-09 | 2010-09-16 | Pixel Qi Corporation | Normally black transflective liquid crystal displays |
US20120120328A1 (en) * | 2010-11-12 | 2012-05-17 | Ruibo Lu | Transflective Liquid Crystal Displays Using Transverse Electric Field Effect |
US8830426B2 (en) | 2010-11-17 | 2014-09-09 | Pixel Qi Corporation | Color shift reduction in transflective liquid crystal displays |
US9400636B2 (en) * | 2011-02-11 | 2016-07-26 | Infineon Technologies Ag | Apparatus and method for calculating a result in a scalar multiplication |
CA2921092A1 (en) * | 2013-08-12 | 2015-02-19 | Graphite Software Corporation | Secure authentication and switching to encrypted domains |
CA2931289C (en) | 2013-11-21 | 2023-10-17 | Graphite Software Corporation | Managed domains for remote content and configuration control on mobile information devices |
US9590805B1 (en) * | 2014-12-23 | 2017-03-07 | EMC IP Holding Company LLC | Ladder-based cryptographic techniques using pre-computed points |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195737B1 (en) * | 1998-03-23 | 2001-02-27 | Ati Technologies Inc. | Method and apparatus for relative addressing of tiled data |
CA2252078C (en) * | 1998-10-28 | 2009-02-17 | Certicom Corp. | Power signature attack resistant cryptographic system |
DE10151129B4 (de) * | 2001-10-17 | 2004-07-29 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Berechnen eines Ergebnisses einer Exponentiation in einer Kryptographieschaltung |
FR2858496B1 (fr) * | 2003-07-31 | 2005-09-30 | Gemplus Card Int | Procede pour la mise en oeuvre securisee d'un algorithme de cryptographie de type rsa et composant correspondant |
-
2005
- 2005-09-06 DE DE102005042339A patent/DE102005042339B4/de not_active Expired - Fee Related
-
2006
- 2006-07-26 EP EP06792567.7A patent/EP1922837B8/de not_active Not-in-force
- 2006-07-26 ES ES06792567.7T patent/ES2604460T3/es active Active
- 2006-07-26 CN CN2006800327498A patent/CN101268654B/zh not_active Expired - Fee Related
- 2006-07-26 WO PCT/EP2006/064655 patent/WO2007028669A1/de active Application Filing
-
2008
- 2008-03-06 US US12/073,556 patent/US8300810B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271038A (zh) * | 2010-06-07 | 2011-12-07 | 罗伯特·博世有限公司 | 用于生成比特向量的方法 |
US9325494B2 (en) | 2010-06-07 | 2016-04-26 | Robert Bosch Gmbh | Method for generating a bit vector |
CN102271038B (zh) * | 2010-06-07 | 2017-04-19 | 罗伯特·博世有限公司 | 用于生成比特向量的方法 |
CN112632475A (zh) * | 2020-12-30 | 2021-04-09 | 郑州轻工业大学 | 一种基于国密和图片隐写的图片版权保护系统及保护方法 |
CN112632475B (zh) * | 2020-12-30 | 2024-03-29 | 郑州轻工业大学 | 一种基于国密和图片隐写的图片版权保护系统及保护方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2007028669A1 (de) | 2007-03-15 |
DE102005042339A1 (de) | 2007-03-15 |
ES2604460T3 (es) | 2017-03-07 |
US8300810B2 (en) | 2012-10-30 |
EP1922837A1 (de) | 2008-05-21 |
DE102005042339B4 (de) | 2007-08-16 |
EP1922837B8 (de) | 2016-12-21 |
US20080205639A1 (en) | 2008-08-28 |
EP1922837B1 (de) | 2016-08-31 |
CN101268654B (zh) | 2011-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101268654B (zh) | 用于对消息可靠加密或者解密的方法 | |
CA2292817C (en) | Method and apparatus for elliptic curve cryptography and recording medium therefor | |
JP4825199B2 (ja) | 情報セキュリティ装置及び楕円曲線演算装置 | |
JP4137385B2 (ja) | 公開鍵および秘密鍵による暗号化方法 | |
CN109039640B (zh) | 一种基于rsa密码算法的加解密硬件系统及方法 | |
JP4909403B2 (ja) | 安全にデータを求める方法 | |
JP2010277085A (ja) | Rsaアルゴリズムにおける素数生成の保護 | |
KR20020025630A (ko) | 비밀 정보의 처리 장치, 프로그램 또는 시스템 | |
US20140294177A1 (en) | Identity based public key cryptosystem | |
CN101005350B (zh) | 加密处理设备和加密处理方法 | |
TW200844847A (en) | Chinese remainder theorem-based computation method for cryptosystems | |
JP2008252299A (ja) | 暗号処理システム及び暗号処理方法 | |
EP3202079B1 (en) | Exponent splitting for cryptographic operations | |
KR20070085129A (ko) | 인크립션 프로세싱 방법 및 인크립션 프로세싱 장치 | |
US8548161B2 (en) | Crytographically transforming data text | |
US7248692B2 (en) | Method of and apparatus for determining a key pair and for generating RSA keys | |
JP2003098962A (ja) | 楕円曲線スカラー倍計算方法及び装置並びに記録媒体 | |
EP1443699A1 (en) | Information processing means and IC card | |
CA2701855A1 (en) | Signed montgomery arithmetic | |
JPH10500502A (ja) | 離散対数をベースとした公開キーによる暗号化方法 | |
US9313027B2 (en) | Protection of a calculation performed by an integrated circuit | |
JP2022543588A (ja) | 幾何代数およびヘンゼル符号を使用する暗号化および暗号化システムのための方法、ならびにシステム | |
WO2023175329A1 (en) | A device and a method for performing operations on elliptic curves | |
CN1985458A (zh) | 增强的自然蒙哥马利指数掩蔽 | |
JP4598269B2 (ja) | 楕円曲線上の高速有限体演算 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111005 Termination date: 20200726 |