JP4582912B2 - 耐パワーシグニチャーアタック暗号法 - Google Patents

耐パワーシグニチャーアタック暗号法 Download PDF

Info

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
Application number
JP2000578723A
Other languages
English (en)
Other versions
JP2002528771A5 (ja
JP2002528771A (ja
Inventor
ヴァンストーン,スコット,エー.
ギャラント,ロバート,ピー.
Original Assignee
サーティコム コーポレーション
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 サーティコム コーポレーション filed Critical サーティコム コーポレーション
Publication of JP2002528771A publication Critical patent/JP2002528771A/ja
Publication of JP2002528771A5 publication Critical patent/JP2002528771A5/ja
Application granted granted Critical
Publication of JP4582912B2 publication Critical patent/JP4582912B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7261Uniform 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

本発明は、暗号システムにおけるパワーシグニチャーアタック(power signature attack)をできるかぎり減少させる方法および装置に関するものである。
【0001】
〔発明の背景〕
暗号システムは、通常、それなくしては、その機構を破壊することが不可能な特定の情報を機密に保持することによって、その安全性を維持している。この機密情報は、通常、暗号化プロセッサ中の保護領域に記憶される必要があり、これによって、アタッカーが直接それにアクセスすることを困難にしている。しかしながら、この機密情報を入手するために、様々な手法あるいはアタックが試行されている。これらの一つにタイミングあるいはパワーシグニチャーアタックがある。
【0002】
タイミングアタック(あるいは、「サイドチャネルアッタク(side channel attack )」)は、明らかに、暗号化動作期間中に遂行されたコンピュータの逐次演算の結果に基づくものである。このアタックは、通常、暗号化アルゴリズムの処理の一面を利用する。
【0003】
例えば、最近の、RSAおよび楕円曲線(EC)等の公開かぎ暗号化手法は、以下の数学的群上で作用する。すなわち、RSAの
【0004】
【数1】
Figure 0004582912
【0005】
、有限体
【0006】
【数2】
Figure 0004582912
【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】
Figure 0004582912
【0009】
および整数0≦k<pが与えられると、上記指数は、その二進表現は
【0010】
【数4】
Figure 0004582912
【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)

  1. 体上に定義された楕円曲線上の点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の表現となるまで継続し、
    該計算は、
    i が0である場合には、該プロセッサが、点P 1 の表現に対して第1の二倍演算を実行することにより、点P 1 ′の表現を計算し、これにより、該二倍演算が、第1のパワーシグニチャーを生成し、該プロセッサが、点P 1 、P 2 の表現を加算する加算演算を実行することにより、点P 2 ′の表現を計算し、これにより、該加算演算が、該第1のパワーシグニチャーとは異なる第2のパワーシグニチャーを生成することと、
    i が1である場合には、該プロセッサが、点P 2 の表現に対して第1の二倍演算を実行することにより、点P 2 ′の表現を計算し、これにより、該第1のパワーシグニチャーを生成し、該プロセッサが、該点P 1 、P 2 の表現を加算する加算演算を実行することにより、点P 1 ′の表現を生成し、これにより、該加算演算が、該第2のパワーシグニチャーを生成することと
    に従って実行される、ことと
    を含み、
    該二倍演算および該加算演算は、常に、該複数のビットk i の各々に対して同じ順序で実行され、これにより、該プロセッサは、該複数のビットの各々に対して、該第1のパワーシグニチャーおよび該第2のパワーシグニチャーの組み合わせからなる区別することが不可能なパワーシグニチャー波形を生成することにより、該暗号化システム上の該タイミングアタックに対抗する、方法。
  2. 前記体が、F 2 m である、請求項1に記載の方法。
  3. 前記体が、F p である、請求項1に記載の方法。
  4. 前記体が、F であり、qは素数の累乗である、請求項1に記載の方法。
  5. 体上に定義された楕円曲線上の点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の回路を制御し、これにより、該プロセッサが、該複数のビットの各々に対して区別することが不可能なパワーシグニチャー波形を生成することにより、該暗号化システム上のタイミングアタックに対抗する、プロセッサ。
  6. 前記第1の回路および前記第2の回路は、並列に動作する、請求項5に記載のプロセッサ。
  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の表現となるまで継続し、
    該計算は、
    i が0である場合には、該プロセッサが、点P 1 の表現を二倍することにより、点P 1 ′の表現を計算することによって、第1のパワーシグニチャーを生成し、該プロセッサが、点P 1 、P 2 の各々の表現を加算することにより、点P 2 ′の表現を計算することによって、該第1のパワーシグニチャーとは異なる第2のパワーシグニチャーを生成することと、
    i が1である場合には、該プロセッサが、点P 2 の表現を二倍することにより、点P 2 ′の表現を計算することによって、該第1のパワーシグニチャーを生成し、該プロセッサが、点P 1 、P 2 の各々の表現を加算することにより、点P 1 ′の表現を生成することによって、該第2のパワーシグニチャーを生成することと
    に従って実行される、ことと
    を含み、
    該二倍すること、または、該加算することは、常に、該複数のビットk i の各々に対して同じ順序で実行され、これにより、該プロセッサが、該複数のビットk i の各々に対して、該第1のパワーシグニチャーおよび該第2のパワーシグニチャーからなる区別することが不可能なパワーシグニチャー波形を生成することにより、該暗号化システム上の該タイミングアタックに対抗する、方法。
JP2000578723A 1998-10-28 1999-10-05 耐パワーシグニチャーアタック暗号法 Expired - Lifetime JP4582912B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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