JP3952304B2 - 電子コンポネントにおいて公開指数を求める暗号アルゴリズムを実行する方法 - Google Patents

電子コンポネントにおいて公開指数を求める暗号アルゴリズムを実行する方法 Download PDF

Info

Publication number
JP3952304B2
JP3952304B2 JP2003531674A JP2003531674A JP3952304B2 JP 3952304 B2 JP3952304 B2 JP 3952304B2 JP 2003531674 A JP2003531674 A JP 2003531674A JP 2003531674 A JP2003531674 A JP 2003531674A JP 3952304 B2 JP3952304 B2 JP 3952304B2
Authority
JP
Japan
Prior art keywords
value
modulo
predetermined
algorithm
cryptographic algorithm
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 - Fee Related
Application number
JP2003531674A
Other languages
English (en)
Other versions
JP2005504349A (ja
Inventor
フェイット ナタリー
ジョイエ マルク
ペユエール パスカル
ケス ロシャ フロロンス
ヴィユガス カリーヌ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
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 JP2005504349A publication Critical patent/JP2005504349A/ja
Application granted granted Critical
Publication of JP3952304B2 publication Critical patent/JP3952304B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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/723Modular exponentiation
    • 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/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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/3006Public 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/302Public 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7271Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computational Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Description

本発明は、電子コンポネントにおいて暗号アルゴリズムを実行する方法に関する。
本発明は、また、そのような電子コンポネントにも関する。
このような電子コンポネントは、サービスまたはデータへのアクセスを厳しく制御する場合に使用され、マイクロプロセッサおよびメモリを含むアーキテクチャを有する。メモリには、1または複数の秘密指数dを含むROMタイプのプログラムメモリなどが含まれる。
これらの電子コンポネントは、コンピュータシステムにおいてオンボードまたはオフボードで使用され、特に、特定アプリケーション用のチップカードにおいて使用される。これらのアプリケーションには、特定データバンクへのアクセスアプリケーション、バンキングアプリケーション、テレビ視聴、ガソリン購入、または高速道路通行料金などの遠隔決済アプリケーションなどが含まれる。
したがって、これらのコンポネントまたはカードは、秘密保持が必要な時に、送信データの暗号化および/または受信データの解読を保証する暗号アルゴリズムを使用する。
一般に、これら暗号アルゴリズムの機能は、特にメッセージの暗号化またはデジタル署名である。ホストシステム(サーバ、銀行ディスペンサなど)がインプットとしてカードに供給するこのメッセージと、カードに含まれる多くの秘密情報とから、カードは、例えば、ホストシステムがコンポネントまたはカードを認証してデータ交換等をできるようにする暗号化または署名されたメッセージを供給する。
暗号アルゴリズムの特徴である計算の実行やパラメータの使用は、知られていて、プログラムメモリの中に含まれる秘密指数だけが知られていない。暗号アルゴリズムの全セキュリティは、カードに含まれ、このカードの外部には知られていないこの秘密指数に関係する。この秘密指数はインプットとして供給されるメッセージや、返信される暗号化されたメッセージの知識のみからは推測不可能である。
しかし、外部攻撃により悪意のある第三者がカード内の秘密指数を知ることができることが明らかになった。特に、チップカードの分野では、いくつかの攻撃が存在し、その中の1つに“フォールト攻撃”がある。
このタイプの攻撃では、攻撃者は、暗号アルゴリズムの計算中にエラーを注入し、このエラーを利用して秘密情報を引き出す。
また、このエラーは、暗号アルゴリズムを実行するハードウェアが原因の計算エラーに起因することもあるが、いずれの場合もフォールト攻撃のケースと考えていい。
このタイプの攻撃は、特に、この分野のアプリケーションの暗号化に最もよく使用されるRSAアルゴリズムで見られる。RSAアルゴリズムの安全性は、大きな数の素因数分解が困難であることに基づいている。このアルゴリズムは、特に、d(秘密指数)のべき乗計算を使用する。
RSAアルゴリズムの主なステップを簡単に説明する。
2つの素数pおよびqの積である係数Nを定める(N=p.q)。公開指数すなわち公開鍵eおよび秘密指数すなわち秘密鍵dは式(1)e.d=1 (modulo λ(N))を満たす。λ(.)はカーマイケル関数である。
いわゆる標準RSAアルゴリズムの1つの実施例によれば、公開パラメータは(N,e)であり、秘密パラメータは(N,d)である。xが範囲]0,N[内にあると仮定すると、メッセージxの暗号化または署名xの照合などの、xについての公開鍵演算は、式(2)y=xe modulo Nを計算することからなる。
暗号化されたメッセージの解読または署名xの生成などの、対応する秘密鍵演算は、e.d=1 (modulo λ(N))よりx=yd modulo Nの場合に式(3)yd modulo Nを計算することからなる。
次に、中国人剰余定理(Chinese remainder theorem)に基づくためにCRTモードと呼ばれ、標準RSAアルゴリズムより4倍高速な別の演算モードを示す。このCRTモードRSAによれば、modulo Nの計算を直接行わず、まず第一にmodulo pおよびmodulo qの計算を行う。
公開パラメータは(N,e)であり、秘密パラメータは、(p,q,d)または(p,q,dp,dq,iq)である。この時dp=d modulo (p-1)、dq=d modulo (q-1)、およびiq=q-1 modulo pである。式(1)により、edp=1 modulo (p-1)およびedq=1 modulo (q-1)(式(4))を得る。
公開鍵演算は標準演算モードと同様の方法で行われるが、秘密鍵演算においては、まず、
Figure 0003952304
および
Figure 0003952304
を計算し、次に、中国人剰余定理を用いて、x=yd mod Nを式(5)x=CRT(xp,xq)=xq+q[iq(xp-xq) modulo p]により得る。
RSAアルゴリズムは、開示を簡単にするために2つの素数pおよびqを使用して示してきたが、Nがhcf(p,q)=1となるような2つの整数pおよびqの積である場合にも拡張できる。この場合、dp=d (modulo λ(p))、dq=d (modulo λ(q))、iqは前記の場合と同様、edp=1 (modulo λ(p))およびedq=1 (modulo λ(q))、xp、xqおよびxは同様である。
この拡張は、標準モードとCRTモードの両方に適用できる。
次に、同じメッセージの2つの署名の取得に基づくフォールト攻撃の一例について説明する。正しい署名をx、正しくない署名を^xとする。
正しくない署名は例えば以下のようにして得られる。攻撃者は、xqではなくxpの計算中に任意の方法でエラーを注入する。したがってxpの値は正しくなく、これを^xpで示す。一方xqの値は正しい。このため、値^xpとxqとが中国人剰余定理を適用することにより再結合される時、結果として生じる署名^xは正しくない。
攻撃者は公開パラメータ(N,e)も当然知っているので、Nとの最大公約数(hcf)、すなわちhcf(^x-x,N)を計算することができる。
しかし、hcf(^x-x,N)=qなので、攻撃者は秘密因数qを取得し、したがってp、dpおよびdqも取得する。このため、RSA暗号は効果的に解読される。
つまり、誰かがmodulo pの計算中にエラーを注入することができ、modulo qの計算が正しい場合か、または逆の場合、攻撃者はRSA暗号を完全に解読することができる。
また、知られているメッセージの正しくない署名を使用してRSA暗号を解読することもできる。フォールト攻撃のいくつかのケースは、刊行物“On the Importance of Checking Cryptographic Protocols for Faults”(D. Boneh, R.A. DeMillo and R.J. Lipton, Advance in Cryptology, EUROCRYPT‘97, pp. 37-51)に開示され、参照可能である。
このタイプのシナリオを回避するための第1の対抗手段は、全アルゴリズムを再計算することである。一連の計算の終わりで得た値どうしを比較する。これらが等しい場合、エラーが注入されなかったと仮定される。この方法の問題点は永久的フォールトを検出できないことである。例えば、注入されたエラーが常に0または1に固定されたメモリビット(“粘着性ビット”)の値からなるような攻撃を識別することは不可能である。
フォールト攻撃に対する別の対抗手段は、Shamirによる特許文献1に説明されている。
この対抗手段によれば、以下のアルゴリズムを開始する。
1.小さい値の乱数rを選択する。
2.xrp=yd modulo r.pとxrq=yd modulo r.qとを計算する。
3.xrp≠xrq(modulo r)の場合、(おそらく攻撃による)フォールト、したがってアルゴリズムの障害が存在し、そうでない場合、
4.xrpおよびxrqに中国人剰余定理を適用し、アウトプットとしてxを得る。
したがって、modulo pおよびmodulo qではなく、modulo r.pおよびmodulo r.qの各計算が行われる。次に、これらの計算から得た2つの値xrpおよびxrqもmodulo rであるか否かがチェックされる。これら2つの値が異なる場合、エラーが存在することは確実である。他方、2つの値が等しい場合、この仮定では誤っている1/rの確率でエラーが存在しないと仮定できる。
WO98/52319
この方法の1つの欠点は、確率的なことである。すなわち、エラーは1より小さい確率で検出され、結果としてすべてのエラーが検出されるわけではない。また、計算に時間がかかる。Shamirの方法の別な欠点は、CRTモードでしか機能しないことである。しかし、RSAアルゴリズムの標準モードを使用することにより予想できる。
フォールト攻撃から保護するための最良の防御は、秘密鍵演算(3)または(5)(RSAアルゴリズムの標準モードまたはCRTモードにより異なる)の実行中に得た値xが、公開鍵演算の式(2)y=xe modulo Nを満たすか否かをチェックすることからなる。これは、この式を満足する時、RSAアルゴリズムの秘密鍵演算の実行中にエラーがなかったことを確認できるからである。
しかし、秘密鍵演算を実行するコンポネントまたはデバイスは、特に、秘密鍵演算のみを実行する時、常に公開指数eを利用できるとは限らない。
以上の課題を解決するため、本発明は、先験的に知られていない公開指数eを使用して暗号アルゴリズムの各ステップを実行する方法を提案する。
本発明によれば、特にフォールト攻撃に対する対抗手段がもたらされ、公開指数eが知られていない場合でも最良の保護を提供できる。
本発明の目的は、電子コンポネントにおいて計算手段を使用して暗号アルゴリズムを実行する方法を提供することであり、この方法は、a)所定数の値ei(eiは整数)から値eを選択するステップと、b)前記選択した値eが所定の式を満たすかどうかをテストするステップと、からなり、前記所定の式を満たした値eがある場合、前記暗号アルゴリズムの計算に使用するためにeを記憶し、前記所定の式を満たさない場合、別の値eについて前記ステップa),b)を繰返し、値e i からは前記所定の式を満たす値eが選択できない場合、値eを使用した前記暗号アルゴリズムの計算が実行不可能であることを示すことを主として特徴とする。
本発明の1つの実施の形態によれば、前記ステップb)以前に、範囲]0,N[内にある値Yを選択し、演算Yd modulo N(dおよびNは所定の整数)の結果から値Xを得るステップを含み、前記ステップb]の所定の式は
Figure 0003952304
である。
好ましくはY=2が選択される。
暗号アルゴリズムはRSAアルゴリズムに基づき、特に標準モードまたはCRTモードである。
本発明の別の実施の形態によれば、ステップb)の所定の式は、eidp=1 (modulo λ(p))であり、ここでpおよびdpは所定の整数であり、λ(.)はカーマイケル関数である。
dpはdp=d (modulo λ(p))により求め、dは所定の整数である。
本発明の1つの特徴によれば、dqおよびqが所定の整数であり、hcf(p,q)=1である時、前記ステップb)が、eidp=1 (modulo λ(p))であるか否かをテストし、eidp=1 (modulo λ(p))であり、ei<λ(p)を満たす値eがある場合、前記暗号アルゴリズムの計算に使用するためにeを記憶するステップと、eidp=1 (modulo λ(p))であり、ei≧λ(p)である場合、eidq=1 (modulo λ(q))であるか否かをテストし、eidq=1 (modulo λ(q))を満たす値eがある場合、前記暗号アルゴリズムの計算に使用するためにeを記憶するステップと、前記2つのテストの1つが満たされない場合、別の値eを使用して前記ステップを繰返し、値ei から値eを選択できない場合、値eを使用する前記暗号アルゴリズムの計算が実行不可能であることを示すステップとからなる。
dqは、dq=d (modulo λ(q))により求め、dは所定の整数である。
暗号アルゴリズムはCRTモードのRSAアルゴリズムに基づく。
好ましくは、e=216+1またはe=3である。
本発明の1つの特徴によれば、値ei から値eを選択する時、前記RSAアルゴリズムの秘密鍵演算の終わりに、値Yから値Xを取得するステップを含み、値eを使用する前記計算は、Y=X e modulo N(Nは所定の整数)であるか否かを確認するステップを含む。
本発明の別の目的は、計算手段と、プログラムメモリと、ワーキングメモリと、データ通信手段とを含み、既述の方法を実行することを特徴とする電子セキュリティコンポネントを提供することである。
本発明は、特に、以上で説明した電子コンポネントを備えたチップカードに関する。
本発明の他の特徴および利点は、本明細書に記載の非限定的な実施例を読み、本発明を実施可能なチップカードの素子を概略的に示す添付の図1を見れば明らかになるだろう。
以下の実施の形態は、チップカードとの関連において説明するが、暗号計算手段を備える他の任意の電子セキュリティデバイスまたはコンポネントにも適用できる。
図1に示すように、チップカード1は、固定メモリ(ROM)3およびランダムアクセスメモリ(RAM)4に接続するマイクロプロセッサ2を含み、アセンブリを構成する全体が、特に、暗号アルゴリズムの実行を可能にする。より正確には、マイクロプロセッサ2は、アルゴリズムに必要な算術計算手段と、メモリ3および4とのデータ転送用回路とを含む。固定メモリ3は、ソースコード形式の暗号アルゴリズムを実行するプログラムを含み、ランダムアクセスメモリ4は、計算結果を記憶する更新可能なレジスタを含む。
また、チップカード1は、外部環境とのデータ交換を可能にする、マイクロプロセッサ2に接続する通信インタフェース5を含む。通信インタフェース5は、“接触”型および/または“非接触”型であってよい。接触型の場合には、カード読取装置などの外部装置の接触器に接続するための1組の接触ピンが形成され、非接触型の場合、通信インタフェース5は、無線接続によるデータ伝送を可能にするアンテナおよび無線通信回路を含む。この接続は、カード1の回路に供給するエネルギの伝達をも可能にする。
先験的に知られていない公開指数eの値を検証する方法を以下で説明する。
この方法は、以下の観察結果に基づいている。つまり、90%のケースにおいてeの値はe0=216+1であり、5%のケースにおいてeの値はe1=3であり、その他のケースではeの値はその他である。
この方法は、e0を選択するステップと、e=e0を確認するステップとからなり、e≠e0の場合には、e1について試みる。
5%のその他のケースに該当する場合には、eがe0およびe1のどちらにも等しくないことが起こる。この場合、eの値はより一般的にeiで表す。結局、この方法は、予想した値eiから値eiを選択するステップと、e=eiを確認するステップとからなる。
RSAアルゴリズムの標準またはCRTモードに有効な第1の実施の形態について説明する。
範囲]0,N[内にある値Yを任意に選択する。
値eiを選択する。
X=Yd modulo Nの計算を、標準モードでは式(3)により、CRTモードでは式(5)により実行し、
Figure 0003952304
を満たす値eが選択できた場合eを記憶し、そうでない場合には、eiに対して別の値が選択される。
式(3)または(5)に現れる指数計算Ydを加速するようY=2を有利に選択できる。これは、乗算の代わりに加算を行うことを意味する。
次に、式(4)に基づく別の実施の形態を説明する。この方法は、CRTモードにおいてのみ有効であるが、第1の実施の形態よりも効率的である。
値eiを選択する。
eidp=1 modulo(p-1)(または一般的なケースにおいては、eidp=1 (modulo λ(p)))であるか否かをテストする。
答えがイエスであり、ei<p(または一般的なケースにおいては、ei<λ(p))を満たす値eがある場合、値eを記憶する。
答えがイエスであり、ei≧p(または一般的なケースにおいては、ei≧λ(p))ならば、およそ1-2/pの非常に高い確率で値eが選択できる
ei≧p(または一般的なケースにおいては、ei≧λ(p))の場合、eidq=1 modulo(q-1)(または一般的なケースにおいては、eidq=1 (modulo λ(q)))であるか否かをテストすることにより、確率1で曖昧さを取り除くことができる。このような場合、選択したeを記憶する。
しかし、たいてい(ei=216+1またはei=3)の場合、pは512ビット以上の大きさを持つので、ei<p(または一般的なケースにおいては、ei<λ(p))である。
上記テストのうちの1つを満足しない場合、eiに対して別の値が選択される。
もし、上記第1または別の実施の形態について、値e i から値eを選択できない場合、eを含む計算ができない。
上記第1または別の実施の形態を通じてeが知られている時、y=xe modulo Nであるか否かをチェックすることにより各秘密鍵演算(3)または(5)の結果を確認するか、またはより一般的には、記憶されている値eを使用して計算することができる。
以上に見られるように、本発明による方法は対抗手段にも適用可能である。
本発明による対抗手段は、アルゴリズムの全部を再計算する、つまり、指数d(dの大きさはN)に対して少なくとも第2の指数計算をするステップと、連続的な計算の終わりに得られる値を比較するステップとからなる従来技術による対抗手段より高速である。本発明による方法は、指数e(eは小さい)に対して第2の指数計算をするステップも含む。
この方法は、また永久的フォールトを検出することもできる。
本発明は、RSAアルゴリズムの標準モードと、CRTモードの両ケース、そして、両モードの派生モードにも適用できる。
本発明を実施可能にするチップカードの素子を概略的に示す図である。

Claims (12)

  1. 電子コンポネントにおいて計算手段を用いて暗号アルゴリズムを実行する方法であって、
    a)所定数の値ei(eiは整数)から値eを選択するステップと、
    b)前記選択した値eが所定の式を満たすかどうかをテストするステップと、からなり、
    前記所定の式を満たした値 e ある場合、前記暗号アルゴリズムの計算に使用するためにeを記憶し、
    前記所定の式を満たさない場合、別の値 e について前記ステップa),b)を繰返し、値ei からは前記所定の式を満たす値 e が選択できない場合、値eを使用する前記暗号アルゴリズムの計算が実行不可能であることを示す方法であって、
    前記ステップb)の所定の式が、下記数式(1)又は(2)で与えられることを特徴とする方法。
    Figure 0003952304
    (ここで、 Y は範囲 ]0,N[ 内にある値であり、 X は演算 Y modulo N d および N は所定の整数)によって得られた値である)
    Figure 0003952304
    (ここで、 p および d p は所定の整数であり、λ(.)はカーマイケル関数である)
  2. 請求項に記載の方法において、
    Y=2であることを特徴とする方法。
  3. 請求項1又は2に記載の方法において、
    前記暗号アルゴリズムがRSAアルゴリズムに基づくことを特徴とする方法。
  4. 請求項に記載の方法において、
    前記RSAアルゴリズムが標準モードまたはCRTモードであることを特徴とする方法。
  5. 請求項に記載の方法において、
    dp=d (modulo λ(p))である(dは所定の整数)ことを特徴とする方法。
  6. 請求項5に記載の方法において、
    dqおよびqが所定の整数であり、hcf(p,q)=1である時、前記ステップb)が、
    eidp=1 (modulo λ(p))であるか否かをテストし、
    eidp=1 (modulo λ(p))であり、ei<λ(p)を満たす値 e ある場合、前記暗号アルゴリズムの計算に使用するためにeを記憶するステップと、
    eidp=1 (modulo λ(p))であり、ei≧λ(p)である場合、eidq=1 (modulo λ(q))であるか否かをテストし、eidq=1 (modulo λ(q))を満たす値 e ある場合、前記暗号アルゴリズムの計算に使用するためにeを記憶するステップと、
    前記2つのテストの1つが満たされない場合、別の値eを使用して前記ステップを繰返し、値ei から値 e を選択できない場合、値eを使用する前記暗号アルゴリズムの計算が実行不可能であることを示すステップと、からなることを特徴とする方法。
  7. 請求項に記載の方法において、
    dq=d (modulo λ(q))である(dは所定の整数)ことを特徴とする方法。
  8. 請求項乃至の何れかに記載の方法において、
    前記暗号アルゴリズムがCRTモードのRSAアルゴリズムに基づくことを特徴とする方法。
  9. 請求項1乃至の何れかに記載の方法において、
    e=216+1であることを特徴とする方法。
  10. 請求項1乃至の何れかに記載の方法において、
    e=3であることを特徴とする方法。
  11. 請求項1乃至10の何れかに記載の方法において、
    値ei から値eを選択する時、前記RSAアルゴリズムの秘密鍵演算の終わりに、値Yから値Xを取得するステップを含み、前記値eを使用する前記計算は、Y=X e modulo N(Nは所定の整数)であるか否かを確認するステップを含むことを特徴とする方法。
  12. 請求項1乃至11のいずれかに記載の方法を実行する電子コンポネントを含むチップカード。
JP2003531674A 2001-09-24 2002-09-05 電子コンポネントにおいて公開指数を求める暗号アルゴリズムを実行する方法 Expired - Fee Related JP3952304B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0112274A FR2830146B1 (fr) 2001-09-24 2001-09-24 Procede de mise en oeuvre, dans un composant electronique, d'un algorithme de cryptographie et composant correspondant
PCT/FR2002/003021 WO2003028286A1 (fr) 2001-09-24 2002-09-05 Procede de mise en oeuvre, dans un composant electronique, d'un algorithme de cryptographie permettant de trouver l'exposant public

Publications (2)

Publication Number Publication Date
JP2005504349A JP2005504349A (ja) 2005-02-10
JP3952304B2 true JP3952304B2 (ja) 2007-08-01

Family

ID=8867552

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003531674A Expired - Fee Related JP3952304B2 (ja) 2001-09-24 2002-09-05 電子コンポネントにおいて公開指数を求める暗号アルゴリズムを実行する方法

Country Status (7)

Country Link
US (1) US7386123B2 (ja)
EP (1) EP1433282B1 (ja)
JP (1) JP3952304B2 (ja)
CN (1) CN100588155C (ja)
DE (1) DE60221863T2 (ja)
FR (1) FR2830146B1 (ja)
WO (1) WO2003028286A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE320125T1 (de) * 2002-09-11 2006-03-15 Giesecke & Devrient Gmbh Geschützte kryptographische berechnung
TW586086B (en) * 2002-12-27 2004-05-01 Ind Tech Res Inst Method and apparatus for protecting public key schemes from timing, power and fault attacks
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
EP2222013A1 (en) * 2009-02-19 2010-08-25 Thomson Licensing Method and device for countering fault attacks
DE102010055238A1 (de) 2010-12-20 2012-06-21 Giesecke & Devrient Gmbh Sichere RSA-Implementierung
FR3088452B1 (fr) * 2018-11-08 2023-01-06 Idemia France Procede de verification d'integrite d'une paire de cles cryptographiques et dispositif cryptographique

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736423A (en) * 1985-04-30 1988-04-05 International Business Machines Corporation Technique for reducing RSA Crypto variable storage
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US6965673B1 (en) * 1997-09-19 2005-11-15 Telcordia Technologies, Inc. Method of using transient faults to verify the security of a cryptosystem
ATE325478T1 (de) * 1998-01-02 2006-06-15 Cryptography Res Inc Leckresistentes kryptographisches verfahren und vorrichtung
FR2776410B1 (fr) * 1998-03-20 2002-11-15 Gemplus Card Int Dispositifs pour masquer les operations effectuees dans une carte a microprocesseur
US6144740A (en) * 1998-05-20 2000-11-07 Network Security Technology Co. Method for designing public key cryptosystems against fault-based attacks with an implementation
FR2784829B1 (fr) * 1998-10-16 2000-12-29 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
FR2804225B1 (fr) * 2000-01-26 2002-05-03 Gemplus Card Int Algorithme d'exponentiation modulaire dans un composant electrique mettant en oeuvre un algorithme de chiffrement a cle publique
DE10143728B4 (de) * 2001-09-06 2004-09-02 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Exponentiation
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

Also Published As

Publication number Publication date
DE60221863D1 (de) 2007-09-27
FR2830146B1 (fr) 2003-10-31
EP1433282B1 (fr) 2007-08-15
EP1433282A1 (fr) 2004-06-30
JP2005504349A (ja) 2005-02-10
CN1593034A (zh) 2005-03-09
FR2830146A1 (fr) 2003-03-28
DE60221863T2 (de) 2008-04-30
US20050084096A1 (en) 2005-04-21
WO2003028286A1 (fr) 2003-04-03
US7386123B2 (en) 2008-06-10
CN100588155C (zh) 2010-02-03

Similar Documents

Publication Publication Date Title
Nemec et al. The return of coppersmith's attack: Practical factorization of widely used rsa moduli
Boneh et al. On the importance of eliminating errors in cryptographic computations
US7860242B2 (en) Method of securely implementing a cryptography algorithm of the RSA type, and a corresponding component
JP4671571B2 (ja) 秘密情報の処理装置および秘密情報の処理プログラムを格納するメモリ
US6539092B1 (en) Leak-resistant cryptographic indexed key update
US9571289B2 (en) Methods and systems for glitch-resistant cryptographic signing
ES2236903T3 (es) Metodo y dispositivo mejorados para la proteccion de programas de codigos publicos contra ataques producidos por la secuencia de operaciones por fallos.
US20170187529A1 (en) Modular multiplication device and method
US9654290B2 (en) Integrity verification of cryptographic key pairs
JP2011530093A (ja) 累乗法による暗号化を保護する解決策
RU2579990C2 (ru) Защита от пассивного сниффинга
EP3191936B1 (en) System and method for one-time chinese-remainder-theorem exponentiation for cryptographic algorythms
WO2018019233A1 (zh) 一种运算方法和安全芯片
JP2010164904A (ja) 楕円曲線演算処理装置、楕円曲線演算処理プログラム及び方法
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
EP1237322A2 (en) Fault detection method for cryptographic process
US11824986B2 (en) Device and method for protecting execution of a cryptographic operation
JP3952304B2 (ja) 電子コンポネントにおいて公開指数を求める暗号アルゴリズムを実行する方法
EP3785399B1 (en) Method for generating on-board a cryptographic key using a physically unclonable function
WO2022132186A1 (en) Randomization methods in isogeny-based cryptosystems
JP2004222331A (ja) ユーザが電子商取引/情報サービス提供者の正当性をチェックできるようにする方法
Howgrave-Graham et al. Pseudo-random number generation on the IBM 4758 Secure Crypto Coprocessor
Fournaris Hardware module design for ensuring trust
EP2163032B1 (en) Efficient and secure cryptographic coupon reloading
Voyiatzis et al. The security of the Fiat--Shamir scheme in the presence of transient hardware faults

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060808

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061106

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20061120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070306

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070418

R150 Certificate of patent or registration of utility model

Ref document number: 3952304

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S631 Written request for registration of reclamation of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313631

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees