JP4582912B2 - 耐パワーシグニチャーアタック暗号法 - Google Patents
耐パワーシグニチャーアタック暗号法 Download PDFInfo
- Publication number
- JP4582912B2 JP4582912B2 JP2000578723A JP2000578723A JP4582912B2 JP 4582912 B2 JP4582912 B2 JP 4582912B2 JP 2000578723 A JP2000578723 A JP 2000578723A JP 2000578723 A JP2000578723 A JP 2000578723A JP 4582912 B2 JP4582912 B2 JP 4582912B2
- Authority
- JP
- Japan
- Prior art keywords
- point
- power signature
- processor
- bits
- representation
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000014509 gene expression Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000000654 additive Substances 0.000 abstract 1
- 230000000996 additive effect Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 1
- 241000269319 Squalius cephalus Species 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
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
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Emergency Protection Circuit Devices (AREA)
- Dc Digital Transmission (AREA)
- Control Of Electric Motors In General (AREA)
- Control Of Eletrric Generators (AREA)
- Executing Machine-Instructions (AREA)
- Compositions Of Oxide Ceramics (AREA)
Description
【0001】
〔発明の背景〕
暗号システムは、通常、それなくしては、その機構を破壊することが不可能な特定の情報を機密に保持することによって、その安全性を維持している。この機密情報は、通常、暗号化プロセッサ中の保護領域に記憶される必要があり、これによって、アタッカーが直接それにアクセスすることを困難にしている。しかしながら、この機密情報を入手するために、様々な手法あるいはアタックが試行されている。これらの一つにタイミングあるいはパワーシグニチャーアタックがある。
【0002】
タイミングアタック(あるいは、「サイドチャネルアッタク(side channel attack )」)は、明らかに、暗号化動作期間中に遂行されたコンピュータの逐次演算の結果に基づくものである。このアタックは、通常、暗号化アルゴリズムの処理の一面を利用する。
【0003】
例えば、最近の、RSAおよび楕円曲線(EC)等の公開かぎ暗号化手法は、以下の数学的群上で作用する。すなわち、RSAの
【0004】
【数1】
【0005】
、有限体
【0006】
【数2】
【0007】
における離散対数系、あるいはこれら有限体(finite field)上のEC群(EC group)である。この群演算(group operation )は、RSAでは、乗算モジュロn(multiplication modulo n )、ECでは、ポイント加算(addition of points)と呼ばれ、スカラ演算を実行するための特定の方法で逐次的に繰り返される。RSAでは、演算子は指数(exponent)と呼ばれ、演算はべき乗(exponentiation)と呼ばれ、そして、乗算法は一般的に、繰り返し二乗算−乗算(square-and-multiply )として知られている。したがって、ナンバー
【0008】
【数3】
【0009】
および整数0≦k<pが与えられると、上記指数は、その二進表現は
【0010】
【数4】
【0011】
であるが、値ak mod nとして、「二乗算−乗算」アルゴリズム(Handbook of Applied Cryptography P.615参照)の繰り返し使用によって算出される。同様に、g(x)∈Fp mおよび整数0≦k≦pm −1が与えられると、g(x)k mod f(x)がこの方法で算出される。
【0012】
一方、ECでは、演算子はスカラ乗数(scalar multiplier )であり、その演算はポイントスカラ乗算(scalar multiplication of a point)と呼ばれ、その方法は、「二倍算−加算(double-and-add)」として知られている。こうして、kが正の整数で、Pが楕円曲線ポイントである場合には、kPは、「二倍算−加算」法で求められる。これら両方法とも従来公知であり、これ以上の説明は省略する。
【0013】
前述のように、アタッカーが機密キーを一旦保持すれば(長期あるいはセッションにかかわらず)、アタックされた構成要素に対する署名および暗号解読機密メッセージを偽造することができる。このように、システム内の機密キーの機密性と保全性を維持することが最重要である。
【0014】
機密キーを獲得するための多くの技術が提案されている。暗号化動作は、逐次的に動作される専用、あるいは汎用のプロセッサにおいて行われる。最近のアタック方法は、例えば、Paul Kochersの記事「Timing attacks on implementations of Diffie-Hellman,RSA,DSS and other systems 」に述べられているように、公開文書で提案されている。これらのアタックは、これらのプロセッサのタイミング分析、すなわち、「ブラックボックス」動作のタイミング分析に基づくものである。例を挙げれば、アタッカーは、機密キー動作中のプロセッサの瞬時の電力使用を補足することによって、パワーシグニチャー(power signature )を獲得する。パワーシグニチャーは各クロックサイクル毎のゲート動作の数に関連する。上記のパラグラフで述べた各基本動作は、個別のタイミングパターンを発生する。瞬時の電力使用によらないパワーシグニチャー獲得のための他の方法も存在する。
【0015】
忍耐を要する注意深い、端から端までの波形分析によって、加算−二倍算あるいは二乗算−乗算の演算の順序を分解することができる。標準アルゴリズムを使用すると、指数あるいはスカラ乗算のいずれかのビット毎に、それぞれ、二倍算あるいは二乗算のどちらかが発生する。したがって、二倍算波形が互いに隣接する箇所は、ゼロをもつビット位置を表し、加算波形が存在する箇所は1をもつビットを示す。したがって、これらのタイミング測定が分析され、機密キーの全体が発見されると、当該システムが危険にさらされることになる。
【0016】
前述の「二乗算−乗算」あるいは「二倍算−加算」技術に加えて、kPを算出する他の方法として、例えば、「二進ラダー(binary ladder )」あるいはモンゴメリー(Montgomery)法("Speeding the Pollard and Elliptic Curve Methods of Factorization" by Peter L. Montgomery 参照)が挙げられる。この方法では、一対の点(iP,(i+1)P)のx座標が演算される。モンゴメリー法は、例によってより明確に示されるように、モジュラ乗算を実行するための能率的な方法である。群E(Fp )および楕円曲線上の点Pが与えられると、モンゴメリ法は他の点kPを算出するため使用される。順序対である点(iP,(i+1)P)が与えられると、それから、kの二進表現である各ビットに、ビットiが0ならば、次に算出される点セットは(2iP,(2i+1)P)となり、ビットiが1ならば、次の点セットは((2i+1)P,(2i+2)P)となる。すなわち、この対の一番目のものは、ビットが0であるか1であるかによって、二倍算あるいは加算することによって得られる。
【0017】
プロセッサ中では、二倍算および加算の各々は独特なパワーシグニチャーを発生する乗算演算を伴う。図1(a)に概略して示すこれらパワーシグニチャーを観察することによって、アタッカーは、0の列(0s)および1の列(1s)のシーケンスを引出し、そして、使用されたスカラあるいは指数を引き出す。
【0018】
モンゴメリ法は、前述のようなストレートな「二倍算−加算」による極めて高い能率性のため、EC暗号システムに好適に使用される。
【0019】
上記のようなモンゴメリ法に基くアタックは、RSA機密キー動作が行われている際に特に重大である。ダン・ボネー等(Dan Boneh et al.)によって出版された最近の文書(題名:"An Attack On RSA Given A Small Fraction Of The Private Key Bits" )によれば、低い公開指数(low public exponent )を有するRSAに対しては、機密キービット列の1/4が与えられると、敵は機密キー全体を確定できることが示されている。このアタックに上述のパワーシグニチャーアッタクを組み合わせると、RSA法は非常に攻撃されやすいものになる。
【0020】
そこで、本発明の目的は、特に、機密キー動作においてモンゴメリ法を使用する場合に、タイミングアッタク成功の危険を極力減少させることができるシステムを提供することにある。
【0021】
〔本発明の概要〕
本発明によれば、体(field )上に定義された楕円曲線上の点Pの倍数k(multiple k)を算出する方法が提供されており、この方法は、以下のステップを含んでいる。すなわち、
a)ナンバーkをビット列ki の二進ベクトル(binary vector )として表し;
b)点P1 およびP2 の順序対を形成し、点P1 およびP2 は最大でPだけ異なり;そして、
c)順次上記各ビット列ki を選択し、上記ki のそれぞれに対して;
i)ki が0のとき、
ii)点P1 ′、P2 ′の新しいセットを算出し、上記点P1 ′は一番目の点P1 を二倍算して得られたものであり;そして、
iii)上記点P2 ′は点P1 およびP2 を加算して得られたものであり;
あるいは、ki が1のとき、
iv)点P1 ′、P2 ′の新しいセットを算出し、上記点P2 ′は二番目の点P2 を二倍算して得られたものであり;そして、
v)上記点P1 ′は点P1 およびP2 を加算して得られたものである。
これにより、上記二倍算あるいは加算が、常に上記ビット列bi の各々に対して同じ順序で実行され、これによって上記方法におけるタイミングアタックを極小化する。
【0022】
本発明の他の態様においては、上記体は、F2 m あるいはFp である。
【0023】
本発明のさらに他の態様においては、上記方法を実行するプロセッサのハードウェアが備えられている。
【0024】
〔好適な実施形態の詳細な説明〕
本発明の好ましい実施形態についての上記および他の特徴点は、添付した図面を参照した以下の詳細な説明によって明白になるであろう。
【0025】
図2に示すように、F2 m あるいはFp の体(field )上に定義された楕円曲線上の点の倍数(multiple)を算出するための一般化されたアルゴリズムは、符号20によって一般的に示される。本実施形態では、点Pは本システムのパラメータである。このアルゴリズムは、点kPの倍数を算出し、ここで、スカラkは機密キーか他の機密値の場合がある。このスカラkは、レジスタ中でビット列bI 24を有する二進ベクトルとして表される。一対の要素(elements)(a,b)が形成され、ここで、aおよびbは、最大でPだけ異なる楕円曲線上の点であるか、あるいは、群Fp の場合には、aおよびbは倍数gだけ異なる要素gである。
【0026】
本実施形態では、楕円曲線法を考慮するため、この要素aおよびbは、順序対である点iPおよび(i+1P)のx座標に相当する。楕円曲線点のx座標を得てそれを利用するための改良モンゴメリ法(An improved Montgomery method )は、当発明に参照のため取り入れられた、本出願人による継続中の米国特許出願No.09/047,518に述べられている。スカラkの二進表現の一番目のビットで始まるビットbi が評価される。このビットの値によって、二つのアルゴリズム26あるいは28の一つが選択される。ブロック25aに示されたように、このビットが0である場合には、入力対(a,b)の一番目の要素aは二倍算され、出力対(a′,b′)の一番目の要素aに記憶される。一方、入力の一番目と二番目の要素が加算されa+b、出力対(a′,b′)の二番目の要素b′に配置される。ブロック25bに示されたように、このビットが1である場合には、入力対(a, b)の二番目の要素bは二倍算され、出力対(a′,b′)の二番目の要素bに記憶される。一方、一番目と二番目の入力要素が加算され、すなわち、a+b、出力対(a′,b′)の一番目の要素a′に配置される。これらのステップは、スカラkのすべてのビットに対して繰り返される。
【0027】
こうして、図1(b)に示すように、「二倍算」の演算に引き続いて「加算」の演算を各ビットに対して実行することにより、一貫したパワーシグニチャー波形が生成されるため、アタックを試みる者にほとんど情報を与えない。この動作は、反対の順序で遂行されてもよい。すなわち、一番目に「加算」の演算、ついで「二倍算」の演算を実行する。RSA法では、同様の演算は、「二乗算と乗算」である。
【0028】
より詳細には、「二進ラダー」法を使用してkPを算出するとすれば、いくつかの計算後、x座標(iP,(i+1)P)を得る、すなわち、図4に概略して示すように、kの処理されたiビット列を得る。処理すべき次のビットが0の場合には、x座標(の順位対)(2iP,(2i+1P)P)を形成しなければならない。次のbi+bが1の場合には、x座標(の順位対)((2i+1)P,(2i+2)P)を形成しなければならない。
【0029】
「二倍算」式は、入力にかかわらず、おおよそ同じ量の電力(および時間)を必要とすると考えられる。加算式は、入力にかかわらず、同じ量の電力(および時間)を必要とすると考えられる。しかしながら、二倍算式の実行には、加算式の実行と異なる量(通常のモンゴメリ式使用の場合には、より少ない量)の電力が必要とされる。
【0030】
このことから、パワーバーをモニターすることによって、「二倍算」と「加算」とを区別することができる。ここで、これらの式を一貫した順序で実行すれば、処理中の1のパワーシグニチャーおよび処理中の0のパワーシグニチャーは、区別不可能となる。各々が「二倍算」のパワーシグニチャーと、それに続く「加算」のパワーシグニチャーからなる。
【0031】
両方の場合において、評価の順序を逆転しても、パワーシグニチャーは、区別不可能である。
【0032】
このことから、楕円曲線上のkPを算出する本方法は、電力消費の統計量を通じて整数kを明示することを避けるため、より好適である。「モンゴメリ」、「二倍算」および「加算」式を使用すると、本方法は、特に反転をさける射影形式を用いる場合にも有効になる。
【0033】
効率の面においては、「二進ラダー」法の各ステップにおいて、二つの独立した演算が実行されねばならないことが、注目される。すなわち、「加算」式の結果は「二倍算」式に対して必要とされず、その逆も成り立つ。このことは、能率的な並列的ハードウエア処理を考慮に入れる。
【0034】
そこで、図3を参照して、本方法の並列的ハードウエア処理の概略を符号30によって示す。この処理においては、第一、第二専用プロセッサが備えられている。第一プロセッサ32は、「二倍算」もしくは「二乗算」またはその両方の演算を行い、一方、第二プロセッサ34は、「加算」もしくは「乗算」またはその両方の演算を行う。主プロセッサ36は、32と34のどちらの専用プロセッサが起動されるかを決定する。
【0035】
各プロセッサ32および34が同時に駆動される(ただし、回路が使用される時期は異なる)。これら回路の入力および出力は、上述の場合にしたがって、すなわち、ビットbi =0あるいはビットbi =1 を使用して、操作される。この簡単な例は、直列的処理に比べてほぼ2倍のスピードアップをもたらす。少なくとも従来の射影モンゴメリ式の場合には、加算回路は二倍算回路より時間が多くかかり、より複雑であることが注目される。二倍算回路を加算回路より速く終了させる必要はないので、より遅く設定してもよい。実際には、このことは二倍算回路をより安く構成できることを意味する。
【0036】
本発明について、ある特定の実施形態に基づいて説明したが、特許請求の範囲として記載された本発明の精神および範囲内において、本実施形態が様々に変形されることは明白であろう。
【0037】
本発明において、排他的独占権を求める具体的内容は、特許請求の範囲に記載した通りである。
【図面の簡単な説明】
【図1】 (a)および(b)は、プロセッサのパワー使用シグニチャー(processor power usage signature )を示す概略図である。
【図2】 本発明の一実施形態による方法を示すフロー図である。
【図3】 本発明の一実施形態による方法を実行する対称プロセッサ(symmetric processor )を示す概略図である。
【図4】 二進の整数kを示す概略図である。
Claims (7)
- 体上に定義された楕円曲線上の点Pのk倍を計算する場合において、暗号化システム上でタイミングアタックに対抗する方法であって、該方法は、プロセッサによって実行され、該暗号化システム上でタイミングアタックに対抗することは、kの異なる値に対して区別することが不可能な該プロセッサのパワーシグニチャー波形を生成するように該プロセッサを動作させることによって行われ、
該方法は、
a)数kを複数のビットk i からなる二進ベクトルとして表現することと、
b)該楕円曲線上の点P 1 、P 2 の順序対の表現を格納することであって、点P 1 、P 2 は、最大でPだけ異なる、ことと、
c)該複数のビットk i の各々を順次選択し、該複数のビットk i の各々に対して点P 1 ′、P 2 ′の組の新しい表現を計算することであって、該選択および該計算は、該複数のビットk i の各々が選択され、かつ、該表現のうちの1つが点kPの表現となるまで継続し、
該計算は、
k i が0である場合には、該プロセッサが、点P 1 の表現に対して第1の二倍演算を実行することにより、点P 1 ′の表現を計算し、これにより、該二倍演算が、第1のパワーシグニチャーを生成し、該プロセッサが、点P 1 、P 2 の表現を加算する加算演算を実行することにより、点P 2 ′の表現を計算し、これにより、該加算演算が、該第1のパワーシグニチャーとは異なる第2のパワーシグニチャーを生成することと、
k i が1である場合には、該プロセッサが、点P 2 の表現に対して第1の二倍演算を実行することにより、点P 2 ′の表現を計算し、これにより、該第1のパワーシグニチャーを生成し、該プロセッサが、該点P 1 、P 2 の表現を加算する加算演算を実行することにより、点P 1 ′の表現を生成し、これにより、該加算演算が、該第2のパワーシグニチャーを生成することと
に従って実行される、ことと
を含み、
該二倍演算および該加算演算は、常に、該複数のビットk i の各々に対して同じ順序で実行され、これにより、該プロセッサは、該複数のビットの各々に対して、該第1のパワーシグニチャーおよび該第2のパワーシグニチャーの組み合わせからなる区別することが不可能なパワーシグニチャー波形を生成することにより、該暗号化システム上の該タイミングアタックに対抗する、方法。 - 前記体が、F 2 m である、請求項1に記載の方法。
- 前記体が、F p である、請求項1に記載の方法。
- 前記体が、F q であり、qは素数の累乗である、請求項1に記載の方法。
- 体上に定義された楕円曲線上の点Pのk倍を計算するプロセッサであって、該プロセッサは、タイミングアタックに対抗するためにkの異なる値に対して区別することが不可能なパワーシグニチャー波形を生成し、
該プロセッサは、
a)数kの表現を複数のビットk i からなる二進ベクトルとして格納するレジスタと、
b)該楕円曲線上の点P 1 、P 2 の順序対の表現を格納するメモリであって、点P 1 、P 2 は、最大でPだけ異なる、メモリと、
c)二倍演算算を実行することにより、第1のパワーシグニチャーを生成する第1の回路と、
d)加算演算を実行することにより、該第1のパワーシグニチャーとは異なる第2のパワーシグニチャーを生成する第2の回路と、
e)該レジスタから順に該二進ベクトルの該複数のビットk i の各々を受信する評価器であって、該複数のビットk i の各々に対して、該格納されている表現に対する該第1の回路および該第2の回路の動作を制御することにより、該メモリに格納されるべき点P 1 ′、P 2 ′の組の新しい表現を計算する評価器と
を含み、
該第1の回路および該第2の回路は、
該ビットk i が0である場合には、該第1の回路が、点P 1 の表現に対して第1の二倍演算算を実行することにより、点P 1 ′の表現を計算し、これにより、該二倍演算が、該第1のパワーシグニチャーを生成し、該第2の回路が、点P 1 、P 2 の表現を加算する加算演算を実行することにより、点P 2 ′の表現を計算し、これにより、該加算演算が、該第1のパワーシグニチャーとは異なる該第2のパワーシグニチャーを生成することと、
該ビットk i が1である場合には、該第1の回路が、点P 2 の表現に対して第1の二倍演算算を実行することにより、点P 2 ′の表現を計算し、これにより、該第1のパワーシグニチャーを生成し、該第2の回路が、点P 1 、P 2 の表現を加算する加算演算を実行することにより、点P 1 ′の表現を生成し、これにより、該加算演算が、該第2のパワーシグニチャーを生成することと
を行うように制御され、
該二倍演算および該加算演算が、常に、該複数のビットk i の各々に対して同じ順序で実行されるように、該プロセッサが、該第1の回路および該第2の回路を制御し、これにより、該プロセッサが、該複数のビットの各々に対して区別することが不可能なパワーシグニチャー波形を生成することにより、該暗号化システム上のタイミングアタックに対抗する、プロセッサ。 - 前記第1の回路および前記第2の回路は、並列に動作する、請求項5に記載のプロセッサ。
- 体上に定義された楕円曲線上の点Pのk倍を計算する場合において、暗号化システム上でタイミングアタックに対抗する方法であって、該方法は、プロセッサによって実行され、該暗号化システム上でタイミングアタックに対抗することは、kの異なる値に対して区別することが不可能な該プロセッサのパワーシグニチャー波形を生成するように該プロセッサを動作させることによって行われ、
該方法は、
a)数kを複数のビットk i からなる二進ベクトルとして表現することと、
b)該楕円曲線上の点P 1 、P 2 の順序対の表現を格納することであって、点P 1 、P 2 は、最大でPだけ異なる、ことと、
c)該複数のビットk i の各々を順次選択し、該複数のビットk i の各々に対して点P 1 ′、P 2 ′の組の各点の新しい表現を計算することであって、該選択および該計算は、該複数のビットk i の各々が選択され、かつ、該表現のうちの1つが点kPの表現となるまで継続し、
該計算は、
k i が0である場合には、該プロセッサが、点P 1 の表現を二倍することにより、点P 1 ′の表現を計算することによって、第1のパワーシグニチャーを生成し、該プロセッサが、点P 1 、P 2 の各々の表現を加算することにより、点P 2 ′の表現を計算することによって、該第1のパワーシグニチャーとは異なる第2のパワーシグニチャーを生成することと、
k i が1である場合には、該プロセッサが、点P 2 の表現を二倍することにより、点P 2 ′の表現を計算することによって、該第1のパワーシグニチャーを生成し、該プロセッサが、点P 1 、P 2 の各々の表現を加算することにより、点P 1 ′の表現を生成することによって、該第2のパワーシグニチャーを生成することと
に従って実行される、ことと
を含み、
該二倍すること、または、該加算することは、常に、該複数のビットk i の各々に対して同じ順序で実行され、これにより、該プロセッサが、該複数のビットk i の各々に対して、該第1のパワーシグニチャーおよび該第2のパワーシグニチャーからなる区別することが不可能なパワーシグニチャー波形を生成することにより、該暗号化システム上の該タイミングアタックに対抗する、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002252078A CA2252078C (en) | 1998-10-28 | 1998-10-28 | Power signature attack resistant cryptographic system |
CA2,252,078 | 1998-10-28 | ||
PCT/CA1999/000919 WO2000025204A1 (en) | 1998-10-28 | 1999-10-05 | Power signature attack resistant cryptography |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002528771A JP2002528771A (ja) | 2002-09-03 |
JP2002528771A5 JP2002528771A5 (ja) | 2006-11-24 |
JP4582912B2 true JP4582912B2 (ja) | 2010-11-17 |
Family
ID=4162964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000578723A Expired - Lifetime JP4582912B2 (ja) | 1998-10-28 | 1999-10-05 | 耐パワーシグニチャーアタック暗号法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6738478B1 (ja) |
EP (1) | EP1044405B1 (ja) |
JP (1) | JP4582912B2 (ja) |
AT (1) | ATE268022T1 (ja) |
AU (1) | AU5964299A (ja) |
CA (1) | CA2252078C (ja) |
DE (1) | DE69917592T2 (ja) |
WO (1) | WO2000025204A1 (ja) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19963408A1 (de) * | 1999-12-28 | 2001-08-30 | Giesecke & Devrient Gmbh | Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung |
JP3821631B2 (ja) | 2000-05-30 | 2006-09-13 | 株式会社日立製作所 | 楕円曲線暗号におけるスカラー倍計算方法及び装置、並びに記憶媒体 |
FR2825863B1 (fr) * | 2001-06-07 | 2003-09-19 | Gemplus Card Int | Procede de securisation d'un calcul d'exponentiation dans un dispositif electronique |
DE10151129B4 (de) | 2001-10-17 | 2004-07-29 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Berechnen eines Ergebnisses einer Exponentiation in einer Kryptographieschaltung |
DE10156708B4 (de) * | 2001-11-19 | 2005-09-29 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Multiplizieren und Verfahren und Vorrichtung zum Addieren auf einer elliptischen Kurve |
JP4067818B2 (ja) | 2001-12-10 | 2008-03-26 | 富士通株式会社 | 楕円曲線暗号装置、楕円曲線暗号プログラム及び楕円曲線暗号の演算方法 |
JP4034585B2 (ja) * | 2002-01-28 | 2008-01-16 | 松下電器産業株式会社 | 楕円曲線演算装置及び楕円曲線演算方法 |
FR2838210B1 (fr) * | 2002-04-03 | 2005-11-04 | Gemplus Card Int | Procede cryptographique protege contre les attaques de type a canal cache |
US7555122B2 (en) | 2002-12-04 | 2009-06-30 | Wired Communications LLC | Method for elliptic curve point multiplication |
WO2004055756A1 (ja) * | 2002-12-18 | 2004-07-01 | Fujitsu Limited | 秘密鍵を用いた耐タンパ楕円曲線暗号処理 |
US7646872B2 (en) * | 2004-04-02 | 2010-01-12 | Research In Motion Limited | Systems and methods to securely generate shared keys |
CA2594670C (en) * | 2005-01-21 | 2014-12-23 | Certicom Corp. | Elliptic curve random number generation |
JP4825199B2 (ja) * | 2005-04-27 | 2011-11-30 | パナソニック株式会社 | 情報セキュリティ装置及び楕円曲線演算装置 |
CA2542556C (en) | 2005-06-03 | 2014-09-16 | Tata Consultancy Services Limited | An authentication system executing an elliptic curve digital signature cryptographic process |
DE102005042339B4 (de) * | 2005-09-06 | 2007-08-16 | Siemens Ag | Verfahren zum sicheren Ver- oder Entschlüsseln einer Nachricht |
DE602005020702D1 (de) | 2005-10-18 | 2010-05-27 | Telecom Italia Spa | Verfahren zur skalarmultiplikation in gruppen elliptischer kurven über primkörpern für nebenkanal-attacken-beständige kryptosysteme |
DE602005020991D1 (de) * | 2005-10-28 | 2010-06-10 | Telecom Italia Spa | Verfahren zur skalarmultiplikation in gruppen ellir nebenkanalattacken-beständige kryptosysteme |
JP5073669B2 (ja) | 2005-11-03 | 2012-11-14 | サーティコム コーポレーション | 同時スカラー乗算方法 |
FR2893796B1 (fr) * | 2005-11-21 | 2008-01-04 | Atmel Corp | Procede de protection par chiffrement |
US9313027B2 (en) | 2005-12-29 | 2016-04-12 | Proton World International N.V. | Protection of a calculation performed by an integrated circuit |
DE102006002891B4 (de) * | 2006-01-20 | 2009-06-04 | Siemens Ag | Verfahren, Vorrichtung und System zum Verifizieren von auf einer elliptischen Kurve ermittelten Punkten |
KR100850202B1 (ko) * | 2006-03-04 | 2008-08-04 | 삼성전자주식회사 | Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법 |
WO2007104706A1 (fr) * | 2006-03-16 | 2007-09-20 | Gemplus | Procede de securisation d'un calcul d'une exponentiation ou d'une multiplication par un scalaire dans un dispositif electronique |
DE102006013515A1 (de) * | 2006-03-23 | 2007-10-04 | Siemens Ag | Kryptographisches Verfahren mit elliptischen Kurven |
EP1840732A1 (en) * | 2006-03-31 | 2007-10-03 | Axalto SA | Protection against side channel attacks |
KR20090006176A (ko) * | 2006-04-06 | 2009-01-14 | 엔엑스피 비 브이 | 평문 판정 방법 |
US20070288740A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for secure boot across a plurality of processors |
US20070288739A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for masking a boot sequence by running different code on each processor |
US7594104B2 (en) * | 2006-06-09 | 2009-09-22 | International Business Machines Corporation | System and method for masking a hardware boot sequence |
US20070288738A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for selecting a random processor to boot on a multiprocessor system |
US20070288761A1 (en) * | 2006-06-09 | 2007-12-13 | Dale Jason N | System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors |
US7774616B2 (en) * | 2006-06-09 | 2010-08-10 | International Business Machines Corporation | Masking a boot sequence by providing a dummy processor |
US7856101B2 (en) * | 2007-02-07 | 2010-12-21 | King Fahd University Of Petroleum And Minerals | Method for elliptic curve scalar multiplication |
US8243919B2 (en) | 2007-03-07 | 2012-08-14 | Research In Motion Limited | Method and apparatus for performing elliptic curve scalar multiplication in a manner that counters power analysis attacks |
CN101689233B (zh) * | 2007-07-05 | 2013-01-02 | Nxp股份有限公司 | 安全敏感系统中的微处理器 |
US7991162B2 (en) * | 2007-09-14 | 2011-08-02 | University Of Ottawa | Accelerating scalar multiplication on elliptic curve cryptosystems over prime fields |
WO2009055904A1 (en) * | 2007-10-30 | 2009-05-07 | Certicom Corp. | Fault detection in exponentiation and point multiplication operations using a montgomery ladder |
CA2752750A1 (en) * | 2009-02-27 | 2010-09-02 | Certicom Corp. | System and method for performing exponentiation in a cryptographic system |
WO2012090284A1 (ja) * | 2010-12-27 | 2012-07-05 | 三菱電機株式会社 | 演算装置、演算装置の楕円スカラー倍算方法、楕円スカラー倍算プログラム、演算装置の剰余演算方法、剰余演算プログラム、演算装置のゼロ判定方法およびゼロ判定プログラム |
US8334705B1 (en) | 2011-10-27 | 2012-12-18 | Certicom Corp. | Analog circuitry to conceal activity of logic circuitry |
US8635467B2 (en) | 2011-10-27 | 2014-01-21 | Certicom Corp. | Integrated circuit with logic circuitry and multiple concealing circuits |
US9929862B2 (en) | 2013-12-23 | 2018-03-27 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves |
US9900154B2 (en) * | 2013-12-23 | 2018-02-20 | Nxp B.V. | Optimized hardward architecture and method for ECC point addition using mixed affine-jacobian coordinates over short weierstrass curves |
US9979543B2 (en) | 2013-12-23 | 2018-05-22 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves |
US9391773B2 (en) | 2014-04-04 | 2016-07-12 | Qualcomm Incorporated | Elliptic curve point multiplication procedure resistant to side-channel information leakage |
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 |
US9590805B1 (en) * | 2014-12-23 | 2017-03-07 | EMC IP Holding Company LLC | Ladder-based cryptographic techniques using pre-computed points |
US9735953B2 (en) * | 2015-03-06 | 2017-08-15 | Qualcomm Incorporated | Side channel analysis resistant architecture |
US10491401B2 (en) | 2017-02-21 | 2019-11-26 | Google Llc | Verification of code signature with flexible constraints |
CN108875416B (zh) * | 2018-06-22 | 2020-05-19 | 北京智芯微电子科技有限公司 | 椭圆曲线多倍点运算方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10222065A (ja) * | 1997-02-03 | 1998-08-21 | Nippon Telegr & Teleph Corp <Ntt> | 冪乗剰余演算方法及び装置 |
US6252959B1 (en) * | 1997-05-21 | 2001-06-26 | Worcester Polytechnic Institute | Method and system for point multiplication in elliptic curve cryptosystem |
EP0892520A3 (en) * | 1997-07-17 | 2001-10-17 | Matsushita Electric Industrial Co., Ltd. | Elliptic curve calculation apparatus capable of calculating multiples at high speed |
CA2243761C (en) * | 1998-07-21 | 2009-10-06 | Certicom Corp. | Timing attack resistant cryptographic system |
US20020057796A1 (en) * | 1998-12-24 | 2002-05-16 | Lambert Robert J. | Method for accelerating cryptographic operations on elliptic curves |
EP1323027A1 (en) * | 2000-08-29 | 2003-07-02 | NTRU Cryptosystems, Inc. | Speed enhanced cryptographic method and apparatus |
CA2369545C (en) * | 2001-12-31 | 2013-01-08 | Certicom Corp. | Method and apparatus for elliptic curve scalar multiplication |
-
1998
- 1998-10-28 CA CA002252078A patent/CA2252078C/en not_active Expired - Lifetime
-
1999
- 1999-10-05 AT AT99971110T patent/ATE268022T1/de not_active IP Right Cessation
- 1999-10-05 US US09/582,499 patent/US6738478B1/en not_active Expired - Lifetime
- 1999-10-05 AU AU59642/99A patent/AU5964299A/en not_active Abandoned
- 1999-10-05 EP EP99971110A patent/EP1044405B1/en not_active Expired - Lifetime
- 1999-10-05 WO PCT/CA1999/000919 patent/WO2000025204A1/en active IP Right Grant
- 1999-10-05 DE DE69917592T patent/DE69917592T2/de not_active Expired - Lifetime
- 1999-10-05 JP JP2000578723A patent/JP4582912B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1044405A1 (en) | 2000-10-18 |
WO2000025204A1 (en) | 2000-05-04 |
CA2252078C (en) | 2009-02-17 |
US6738478B1 (en) | 2004-05-18 |
AU5964299A (en) | 2000-05-15 |
JP2002528771A (ja) | 2002-09-03 |
CA2252078A1 (en) | 2000-04-28 |
ATE268022T1 (de) | 2004-06-15 |
DE69917592D1 (de) | 2004-07-01 |
EP1044405B1 (en) | 2004-05-26 |
DE69917592T2 (de) | 2005-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4582912B2 (ja) | 耐パワーシグニチャーアタック暗号法 | |
Yen et al. | Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption | |
US8913739B2 (en) | Method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems | |
US6876745B1 (en) | Method and apparatus for elliptic curve cryptography and recording medium therefore | |
De Win et al. | A fast software implementation for arithmetic operations in GF (2 n) | |
US7536011B2 (en) | Tamper-proof elliptic encryption with private key | |
Ciet et al. | Elliptic curve cryptosystems in the presence of permanent and transient faults | |
US8243920B2 (en) | Method for scalar multiplication in elliptic curve groups over binary polynomial fields for side-channel attack-resistant cryptosystems | |
US7864951B2 (en) | Scalar multiplication method with inherent countermeasures | |
Möller | Parallelizable elliptic curve point multiplication method with resistance against side-channel attacks | |
Trichina et al. | Implementation of elliptic curve cryptography with built-in counter measures against side channel attacks | |
US20190089523A1 (en) | Countermeasure to safe-error fault injection attacks on cryptographic exponentiation algorithms | |
US7809133B2 (en) | Randomized modular reduction method and hardware therefor | |
US8014520B2 (en) | Exponentiation ladder for cryptography | |
Mohamed et al. | Improved fixed-base comb method for fast scalar multiplication | |
Hodjat et al. | A scalable and high performance elliptic curve processor with resistance to timing attacks | |
Takemura et al. | ECC Atomic Block with NAF against Strong Side-Channel Attacks on Binary Curves | |
Sakai et al. | Simple power analysis on fast modular reduction with generalized mersenne prime for elliptic curve cryptosystems | |
Mahboob et al. | Lookup table based multiplication technique for GF (2m) with cryptographic significance | |
US7480380B2 (en) | Method for efficient generation of modulo inverse for public key cryptosystems | |
Sakai et al. | Simple power analysis on fast modular reduction with NIST recommended elliptic curves | |
Sakai et al. | A new attack with side channel leakage during exponent recoding computations | |
Katagi et al. | Some improved algorithms for hyperelliptic curve cryptosystems using degenerate divisors | |
Amin et al. | Elliptic curve cryptoprocessor with hierarchical security | |
Sakai et al. | Timing attack against implementation of a parallel algorithm for modular exponentiation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061002 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061002 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100205 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100430 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100512 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20100514 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100607 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100705 |
|
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: 20100804 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100831 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4582912 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130910 Year of fee payment: 3 |
|
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 |
|
EXPY | Cancellation because of completion of term |