JP2002521724A - タイミングアタック防止暗号システム - Google Patents

タイミングアタック防止暗号システム

Info

Publication number
JP2002521724A
JP2002521724A JP2000561725A JP2000561725A JP2002521724A JP 2002521724 A JP2002521724 A JP 2002521724A JP 2000561725 A JP2000561725 A JP 2000561725A JP 2000561725 A JP2000561725 A JP 2000561725A JP 2002521724 A JP2002521724 A JP 2002521724A
Authority
JP
Japan
Prior art keywords
group
intermediate element
bit
group operation
bits
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
Application number
JP2000561725A
Other languages
English (en)
Other versions
JP2002521724A5 (ja
JP4699610B2 (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 JP2002521724A publication Critical patent/JP2002521724A/ja
Publication of JP2002521724A5 publication Critical patent/JP2002521724A5/ja
Application granted granted Critical
Publication of JP4699610B2 publication Critical patent/JP4699610B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • 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/005Countermeasures against attacks on cryptographic mechanisms for timing 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/3066Public 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
    • 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
    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/4824Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices using signed-digit representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computer Security & Cryptography (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Lock And Its Accessories (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Traffic Control Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 グループから選択されたエレメントについて整数回実行されるグループオペレーションの結果を決定するための方法であって、上記整数を二進ベクトルとして表現し、中間エレメントをグループ一致エレメントに初期化し、もっとも左側のビットから開始して上記ベクトルの連続するビットを選択するステップを含む。上記選択されたビットのそれぞれについて、新しい中間エレメントを導出する上記中間エレメントに上記グループオペレーションを実行し、上記中間エレメントを上記新しい中間エレメントに置き換え、上記中間エレメント、および上記選択されたビットが1である場合の上記グループエレメントと上記選択されたビットがゼロである場合の上記グループエレメントの逆エレメントとから成るグループから選択されるエレメントに対して上記グループオペレーションを実行し、上記中間エレメントを上記新しい中間エレメントに置き換える。最終ステップにおいては、上記中間値および上記最終ビットがゼロである場合の最終エレメントに対して上記グループオペレーションを実行し;上記中間エレメントを置き換えることにより結果を求め、上記合計の各ビットが実質的に同一のオペレーションにより処理されることにより上記暗号システムへのタイミングアタックを最小化する。

Description

【発明の詳細な説明】
本発明は、暗号システムの分野に関するものであり、特に暗号システムへのタ
イミングアタックを防止するための方法および装置に関する。
【0001】 (発明の背景) 一般的に、暗号システムは、情報の特定の一部が秘密に保たれているという事
実によって安全性を担保しており、この事実がなければ、スキーム(scheme)を
破壊することはほとんど困難である。一般的に、当該秘密情報は安全境界内に蓄
積されていなければならず、これによりアタッカー(attacker)が直接それに達
することを困難にしている。しかし、上記秘密情報を獲得するために種々のスキ
ームあるいはアタックが試みられてきた。これらのひとつが、タイミングアタッ
ク(timing attack )である。
【0002】 背景では、RSAおよび楕円曲線(elliptic curve:EC )等の現行の公開鍵(
パブリックキー)暗号スキームが数学グループF* P とE(Fq)とのそれぞれ
に作用する。RSAにおいて乗算モジューロ(modulo)pと称されるグループオ
ペレーションおよびECにおけるポイントの追加は、特定の方法で繰り返される
ことによりスカラーオペレーションを実行する。RSAにおいては、オペランド
(operand )は指数(exponent)と称され、該オペレーションは指数化(expone
ntiation)と称され、乗算方法は、通常二乗および乗算を繰り返すものとして知
られている。故に、a∈FP を満たす数a、および0≦k<pを満たす整数であ
って、二進法で表すとk=Σt i=0 i i をみたす指数kについて、ak mod
pの値を二乗および乗算アルゴリズムを繰り返すことによって計算することがで
きる。同様に、g(x)∈FP mを満たす数g(x)、および0≦k≦pm −1なる整数
kについて、g(x)k mod f(x)をこの方法によって計算することができる。
【0003】 一方、ECにおいては、オペランドはスカラー乗算子であって、上記オペレー
ションはポイントのスカラー乗算と称され、上記方法は二倍および加算法として
知られている。故に、aが正の整数であって、Pが楕円曲線ポイントである場合
、aPを二倍および加算法によって求めることができる。これらの方法はいずれ
も当業者に良く知られたものであるので、これ以上の説明は行わない。
【0004】 RSAにおいては、全ての指数化オペレーションのうち半分がプライベートキ
ー(private key )を使用する。これに対してECにおいては全てのスカラー乗
算は、ロングタームプライベートキー(long term private key )あるいはセッ
ションプライベートキー(session private key )のいずれかを使用する。これ
らの場合の何れにおいても、指数化または乗算オペレーションは万一の場合でも
逆転させることが困難であるので、プライベートキーは安全である。これは、離
散的ログ問題あるいは素因数分解の困難性の為である。上記したように、アタッ
カーは一旦プライベートキー(あるいはロングタームもしくはセッション)を所
有すると、アタックの対象に対して、シグニチャー(signature )を偽造して秘
密のメッセージを解読することができる。よって、システムにおけるプライベー
トキーの秘密性あるいは保全性を維持することが極めて重要である。
【0005】 プライベートキーを得るための多くの技術が提案されてきた。コード化オペレ
ーションは、サイクリック(cyclic)な方法で動作する特定の目的あるいは一般
的な目的のプロセッサーにおいて実行されている。公知文献に開示された近年の
アタック方法は、これらのプロセッサーのタイミング分析あるいはいわゆる”ブ
ラックボックス”オペレーションのタイミング分析に基づく。一例では、プライ
ベートキーオペレーションを通じてプロセッサーの瞬間電力使用量を得ることに
よって、アタッカーはパワーシグニチャー(power signature )を得る。上記パ
ワーシグニチャーは、個々のクロックサイクルによって動作するゲート数に関す
る。上記段落で説明した各基本オペレーションは、離散タイミングパターンを生
成する。瞬間電力使用量以外にも、パワーシグニチャーを得るための方法が存在
する。
【0006】 波形の端点間の煩雑且つ慎重な分析により、加算および二倍オペレーションあ
るいは二乗および乗算オペレーションの順序を分解することができる。二倍ある
いは二乗は、それぞれ指数あるいはスカラー乗算子のいずれのビットについても
別個に発生しなければならない。それゆえ、二倍波形が互いに隣接する箇所にお
いては、ゼロのビットポジションを示し、加算パターンのある箇所においては、
1を示す。それゆえ、これらのタイミング測定を分析することによって、完全な
シークレットキー(secret key)を発見することができ、システムを妥協させる
ことができる。ゆえに、タイミングアタックを成功させるリスクを最小限にする
システムが必要である。
【0007】 (発明の概要) 本発明は、実行されているオペレーションとは無関係に、一定の時間周期でプ
ロセッサーによって暗号オペレーションが実行され、個々のビットスカラーの処
理あるいはあらゆる値の指数について一定量の時間を必要とする暗号システムを
提供することを目的とする。
【0008】 本発明は、グループから選択されたエレメントについて整数回実行されるグル
ープオペレーションの結果を決定するための方法であって、 (a)上記整数を二進ベクトルとして表現し、 (b)中間エレメントをグループ一致エレメントに初期化し、 (c)もっとも左側のビットから開始して上記ベクトルの連続するビットを選
択し、上記選択されたビットのそれぞれについて、 (i)新しい中間エレメントを導出する上記中間エレメントに上記グループ
オペレーションを実行し、 (ii)上記中間エレメントを上記新しい中間エレメントに置き換え、 (iii)上記中間エレメント、および上記選択されたビットが1である場
合の上記グループエレメントと上記選択されたビットがゼロである場合の上記グ
ループエレメントの逆エレメントとから成るグループから選択されるエレメント
に対して上記グループオペレーションを実行し、 (iv)上記中間エレメントを上記新しい中間エレメントに置き換え、 (d)上記中間値および上記最終ビットがゼロである場合の最終エレメントに
対して上記グループオペレーションを実行し;上記中間エレメントを置き換える
ことにより結果を求め、上記合計の各ビットが実質的に同一のオペレーションに
より処理されることにより上記暗号システムへのタイミングアタックを最小化す
るステップを含むことを特徴とする。
【0009】 本発明の上記特徴点および他の特徴点は、添付する図面を参照しつつ例示する
ことにより説明する。
【0010】 (実施形態の詳細な説明) 図1に示すように、セキュアデータコミュニケーションシステム(secure dat
a communication system)10は、コミュニケーションチャネル16により接続
された1対のコレスポンデント(correspondents)、すなわち送信者A(12)
および受信者B(14)を含む。各コレスポンデントAおよびB(12,14)
は暗号ユニット18,20を含み、各暗号ユニット18,20はそれぞれデジタ
ル情報を処理するとともに、チャネル16を介してそれを伝達するための準備を
する。
【0011】 一般的に、送信者Aは、送信者のパブリックキーyと、メッセージmと、送信
者のショートタームパブリックキーkと、送信者AのシグニチャーSとを含むデ
ータストリングから成る。構成された後にデータストリングは所望の受信者Bに
向けて送信され、受信者BはAのパブリックキーを用いて該シグニチャーを確認
する。このパブリックキー情報は、認証オーソリティ(certification authorit
y:CA)24から獲得されるかもしれないし、場合によってはメッセージととも
に送信されるかもしれない。
【0012】 たとえば、RSAのパブリックキー暗号においては、BはAに対するメッセー
ジmを暗号化し、Aがメッセージmを解読する。メッセージmを暗号化するため
に、BはAのパブリックキー(n,e)を得るとともに、メッセージを[0,m
−1]の間の整数として表現する。次に、Bはc=me mod nを算出し、暗号化
テキストcをAに送信する。エンティティAは、プライベートキーdを用いるこ
とによりm=cd mod nとしてcからメッセージmを復元する。cd mod nの計
算(モジューロ指数化)は、公知の二乗および乗算アルゴリズムを使用すること
により実行される。同様の計算がRSAにおける符号化に要求され、符号化のた
めに、ECC等の離散的ログシステムにおける暗号化および解読が必要とされる
【0013】 計算で用いられる値はビットベクトルとして表現され、該ビットベクトルは、
使用する特定の暗号化スキームに対応する暗号化プロセッサにより計算される。
それゆえ、図2に示すように、1で終了するあらゆるビットベクトルは+1およ
び−1の項からなる全非ゼロベクトルとして記録される。ゼロで終了するエレメ
ントについては、最後のゼロを記録された形式で維持するか、あるいは更に最後
のゼロが上記のルールにより処理された後の修正として−1動作を実行する必要
がある。後に明白になるように、修正動作を行うことが好ましい。
【0014】 図3に、楕円曲線上のポイントPにおける整数乗数bを計算するためのアルゴ
リズムステートマシンの具体例を参照番号30として示す。本実施形態において
は、処理されるビットベクトルbはステートマシン30に付与される。処理の結
果は、値bPであって、Pは楕円曲線上の座標(x,y)を有するポイントであ
る。ステートマシン30はカウンターiとともに初期化され、該カウンターiは
ベクトルbのビット数Nおよびレジスタに蓄積された中間値Qにセットされてい
る。bの第1ビット(MSB)がエンカウンタされる(encountered )と(第1
非ゼロビットではない)、ステートマシンのステートH0へのエントリが発生す
る。ステートH0においては、中間値Qのコンテンツ(contents)が二倍される
とともにベースポイントPがそこに加えられる。ビットは連続して処理され、現
在のステートH0に戻るか、あるいは次のステートH1に進むかのいずれかの変
化を起こす。ステートH1においては、Qが二倍され、ベースポイントPが減じ
られる。次のビットがゼロである場合、次のステートは常にH1である。次のビ
ットが1である場合、次のステートは常にH0である。現在のステートがH0で
ある場合は常に加算(+P)が起こり、それ以外の場合には減算(−P)が起こ
る。すべてのビットが計算されると、bPを結果とする終了ステートへと制御が
進行する。H0中に出口条件に達する場合は、最後に結果から減算(−P)を行
うことが必要である。
【0015】 擬似コード形式のステートマシンの具体例は、Hステートのための汎用蓄積ビ
ットを利用できることが必要である。図4は、汎用データおよび制御メカニズム
が利用可能であるステートマシンの擬似コード具体例である。ループ内のすべて
の可能な実行パスについて実行時間およびパワーが同一であればタイミングアタ
ックを防止することができる。本具体例では、ラインL5,L6およびL7から
なる実行パスに要する時間は、ラインL5,L8およびL9からなる実行パスに
要する時間と同一である。これは、分岐命令(IF)が、偽(false )および真
(true)条件についても同様の時間で実行されなければならないことを示す。
【0016】 更に、加算および減算オペレーションは同じ時間で行わなければならない。P
の負の値を加算することにより、これはより明らかに可能である。アルゴリズム
においてラインL14およびL15を除く他の全てのラインの実行時間は非クリ
ティカル(non-critical)であって、タイミングアタックを防止できることにつ
いて注意されたい。これら2つのラインが実行される場合は必要時間が増加し、
最終Hステートがゼロであったことが明らかになる。これは、スカラーの最終ビ
ットがゼロであったことを明らかにすることに等しい。これは避けられないが、
スカラー乗数のシングルビットを明らかにするのみである。
【0017】 特定の計算装置の適用においては、汎用データ蓄積領域あるいは汎用割当てお
よびテストオペレータが存在しない傾向がある。この場合、Hステート制御は通
常の方法で加算されることができない。その代わり、離散コードパスを通じて分
岐することによりステートを符号化することが必要である。
【0018】 図5は”ステートの無い(state-less)”擬似コード具体例を示す。各コード
実行パスは離散ステートに対応する。一般的にこれはコード膨張を引き起こすが
、ここで必要なのは2つのショートパスのみである。ここにおいても上記したの
と同様に、ループ内のすべての可能な実行パスについて実行時間およびパワーが
同一であればタイミングアタックを防止することができる。本具体例においては
、ラインLL3,LL4およびLL5からなる実行パスにはラインLL6,LL
7およびLL8からなる実行パスと同様の時間が必要である。更に、LL9,L
L10およびLL16のパスは、LL9およびLL11のパスと同様の時間およ
びパワーで実行されなければならない。これは、(次のロケーションへの)フォ
ールスルー(fall through)と同様に(新しいロケーションへの)分岐について
、条件分岐命令が同じ時間を必要とする構造については真であろう。ラインLL
11,LL12およびLL13は、ラインLL16,LL17およびLL18と
等しい実行時間およびパワーであることに注目されたい。これもまたタイミング
アタックを防止するために必要である。他の場合は、Hステートインフォメーシ
ョンが明らかにされる。上記具体例においては、ループがH0パスを終了したと
きにLL14における最終の修正減算が必要である。これにより最終Hパスある
いは同等のスカラーの最終ビットが明らかになる。
【0019】 図6には、二乗および乗算オペレーションの擬似コード具体例が参照番号60
で示されており、これに対応するステートマシン具体例が図7に示されている。
本具体例では、指数ビットベクトルbがステートマシン60に付与される。処理
の結果として、Mb なる値が計算される。再びカウンターはベクトルbの長さN
に初期化されるとともに、累算器Qは1に初期化される。ステートマシンのステ
ートH0へのエントリは、ビットベクトルbのMSBと共に開始する。上記した
ように、ビットは連続して処理され、現在のステートH0へ戻るか、あるいは次
のステートH1に進むかのいずれかの遷移を生じる。ステートH0においては、
累算器QのコンテンツはベースMにより二乗および乗算される。ステートH1に
おいては、累算器はベースMにより二乗および除算される。次のビットが0であ
る場合は、次のステートは常にH1であり、次のビットが1である場合は次のス
テートは常にH0である。現在の状態がH0である場合は常に乗算が発生し、そ
れ以外は除算が発生する。上記したように、全てのビットが消費されると、制御
は終了ステートにて終了する。H0中に出口条件に達する場合は、最終ラインを
ベースMにより割ることが必要である。
【0020】 図8は、ステートコントローラ82が、上記したエステートコード(estate c
ode )を実行するようにプログラムされている一般的なプロセッサの具体例を示
す。モジューロ演算および/または有限フィールド計算ユニット84が、二乗お
よび乗算の計算ならびにポイントの加算/減算のためにそれぞれ設けられている
。カウンタ86およびレジスタbはコントローラ82の連続オペレーションのタ
イミングのためのステートコントローラに結合されている。
【0021】 本発明は特定の実施形態および特定の用途に関して記載されたが、添付する特
許請求の範囲のような本発明の精神から外れることなく、種々の態様変更が発生
することが可能である。
【0022】 明細書中において使用した単語および表現は、記載の為の単語として用いられ
ており、これに限定されるものではない。このような単語および表現は、記載さ
れた特徴の均等物を排除する目的で用いられるものではなく、本発明の特許請求
の範囲の範囲内において種々の態様変更が可能である。
【図面の簡単な説明】
【図1】 図1は、データコミュニケーションシステムを説明する概要図である。
【図2】 図2は、二進数記録スキームを説明する概要図である。
【図3】 図3は、ポイントのスカラー乗算のコンパイリングを説明するステートマシン
である。
【図4】 図4は、図3のステートマシンの擬似コード具体例である。
【図5】 図5は、非ステートマシン擬似コード具体例である。
【図6】 図6は、二乗および乗算スキームのための擬似コードおよびステートマシン具
体例である。
【図7】 図7は、二乗および乗算スキームのための擬似コードおよびステートマシン具
体例である。
【図8】 図8は、本発明の一具体例に係る方法を実施する装置の一般化構造ダイアグラ
ムである。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AL,AM,AT,AU,AZ,BA,BB ,BG,BR,BY,CA,CH,CN,CU,CZ, DE,DK,EE,ES,FI,GB,GD,GE,G H,GM,HR,HU,ID,IL,IN,IS,JP ,KE,KG,KP,KR,KZ,LC,LK,LR, LS,LT,LU,LV,MD,MG,MK,MN,M W,MX,NO,NZ,PL,PT,RO,RU,SD ,SE,SG,SI,SK,SL,TJ,TM,TR, TT,UA,UG,US,UZ,VN,YU,ZW Fターム(参考) 5J104 AA41 JA25 JA28 NA02 【要約の続き】 求め、上記合計の各ビットが実質的に同一のオペレーシ ョンにより処理されることにより上記暗号システムへの タイミングアタックを最小化する。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 グループから選択されたエレメントについて整数回実行されるグループオペレ
    ーションの結果を決定するための方法であって、 (a)上記整数を二進ベクトルとして表現し、 (b)中間エレメントをグループ一致エレメントに初期化し、 (c)もっとも左側のビットから開始して上記ベクトルの連続するビットを選
    択し、上記選択されたビットのそれぞれについて、 (i)新しい中間エレメントを導出する上記中間エレメントに上記グループ
    オペレーションを実行し、 (ii)上記中間エレメントを上記新しい中間エレメントに置き換え、 (iii)上記中間エレメント、および上記選択されたビットが1である場
    合の上記グループエレメントと上記選択されたビットがゼロである場合の上記グ
    ループエレメントの逆エレメントとから成るグループから選択されるエレメント
    に対して上記グループオペレーションを実行し、 (iv)上記中間エレメントを上記新しい中間エレメントに置き換え、 (d)上記中間値および上記最終ビットがゼロである場合の最終エレメントに
    対して上記グループオペレーションを実行し;上記中間エレメントを置き換える
    ことにより結果を求め、上記合計の各ビットが実質的に同一のオペレーションに
    より処理されることにより上記暗号システムへのタイミングアタックを最小化す
    るステップを含むことを特徴とする方法。
  2. 【請求項2】 上記グループは乗算グループFp * であって、上記グループエレメントは整数
    であって、上記グループオペレーションは指数化ga であって、上記逆エレメン
    トは乗算逆数1/gであることを特徴とする請求項1に記載の方法。
  3. 【請求項3】 上記グループは加算グループ 【数1】 であって、上記グループオペレーションはポイントの加算であることを特徴とす
    る請求項1に記載の方法。
  4. 【請求項4】 上記グループは加算グループE(Fq )であって、上記グループエレメントは
    楕円曲線上の座標(x,y)を有するポイントPであって、上記グループオペレ
    ーションは上記ポイントのスカラー乗数kPであって、上記逆エレメントは上記
    ポイントの負の値−Pであることを特徴とする請求項1に記載の方法。
  5. 【請求項5】 上記整数値がプライベートキーkであることを特徴とする請求項1に記載の方
    法。
  6. 【請求項6】 暗号化プロセッサにおいて選択されたグループオペレーションをスカラーおよ
    び上記グループから選択された上記エレメントについて実行する方法であって、 上記スカラーを二進ベクトルとして表現し、 上記二進ベクトルを記録して+1および−1の数値からなる符号化された数値
    表現を生成し、 上記記録されたビットを連続して選択し、選択された各ビットについて上記グ
    ループオペレーションを実行して中間エレメントから新しい中間エレメントを生
    成し;上記数値が選択されている場合に、上記符号に対応して上記中間エレメン
    トについて上記選択されたエレメントを加算あるいは減算し、 上記中間値を上記グループオペレーションの結果として出力するステップを含
    むことを特徴とする方法。
JP2000561725A 1998-07-21 1999-07-21 タイミングアタック防止暗号システム Expired - Lifetime JP4699610B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CA2,243,761 1998-07-21
CA002243761A CA2243761C (en) 1998-07-21 1998-07-21 Timing attack resistant cryptographic system
PCT/CA1999/000658 WO2000005837A1 (en) 1998-07-21 1999-07-21 Timing attack resistant cryptographic system

Publications (3)

Publication Number Publication Date
JP2002521724A true JP2002521724A (ja) 2002-07-16
JP2002521724A5 JP2002521724A5 (ja) 2010-05-13
JP4699610B2 JP4699610B2 (ja) 2011-06-15

Family

ID=4162681

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000561725A Expired - Lifetime JP4699610B2 (ja) 1998-07-21 1999-07-21 タイミングアタック防止暗号システム

Country Status (8)

Country Link
US (1) US7020281B2 (ja)
EP (1) EP1097541B1 (ja)
JP (1) JP4699610B2 (ja)
AT (1) ATE460027T1 (ja)
AU (1) AU4891799A (ja)
CA (1) CA2243761C (ja)
DE (1) DE69942094D1 (ja)
WO (1) WO2000005837A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006522375A (ja) * 2002-12-12 2006-09-28 エイアールエム リミテッド データ処理システムにおける処理動作マスキング

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2252078C (en) * 1998-10-28 2009-02-17 Certicom Corp. Power signature attack resistant cryptographic system
US6948065B2 (en) * 2000-12-27 2005-09-20 Intel Corporation Platform and method for securely transmitting an authorization secret
DE10122504A1 (de) * 2001-05-10 2003-01-02 Giesecke & Devrient Gmbh Berechnung eines Vielfachen eines Gruppenelements für kryptographische Zwecke
US7233663B2 (en) * 2001-10-29 2007-06-19 Safenet, Inc. Key generation performance improvement
FR2838210B1 (fr) * 2002-04-03 2005-11-04 Gemplus Card Int Procede cryptographique protege contre les attaques de type a canal cache
DE10254658A1 (de) * 2002-11-22 2004-06-03 Philips Intellectual Property & Standards Gmbh Mikrocontroller und zugeordnetes Verfahren zum Abarbeiten der Programmierung des Mikrocontrollers
US7555122B2 (en) 2002-12-04 2009-06-30 Wired Communications LLC Method for elliptic curve point multiplication
US7302056B2 (en) * 2003-06-30 2007-11-27 Lucent Technologies Inc. Method and system for determining sequence parameters to limit cycle attacks in timed release cryptography
KR20090006176A (ko) * 2006-04-06 2009-01-14 엔엑스피 비 브이 평문 판정 방법
KR100867989B1 (ko) * 2006-12-06 2008-11-10 한국전자통신연구원 단순전력분석에 안전한 Left-to-Right방향으로 리코딩과 스칼라 곱셈을 동시에 수행하는 스칼라곱셈 방법
US7991162B2 (en) * 2007-09-14 2011-08-02 University Of Ottawa Accelerating scalar multiplication on elliptic curve cryptosystems over prime fields
FR2946819B1 (fr) 2009-06-16 2011-07-01 Sagem Securite Cryptographie sur une courbe elliptique.
US20140314229A1 (en) 2011-12-09 2014-10-23 Morpho Cryptography on a simplified elliptical curve
FR2946818B1 (fr) * 2009-06-16 2011-07-01 Sagem Securite Cryptographie sur une courbe elliptique simplifiee.
US20170207918A1 (en) 2009-06-16 2017-07-20 Morpho Cryptography on an elliptical curve
EP2464731B1 (en) 2009-08-11 2016-10-05 CuRNA, Inc. Treatment of adiponectin (adipoq) related diseases by inhibition of natural antisense transcript to an adiponectin (adipoq)
GB2479871A (en) * 2010-04-26 2011-11-02 David Coyne System for preventing side channel attacks on a synchronous logic device.
US8635467B2 (en) 2011-10-27 2014-01-21 Certicom Corp. Integrated circuit with logic circuitry and multiple concealing circuits
US8334705B1 (en) 2011-10-27 2012-12-18 Certicom Corp. Analog circuitry to conceal activity of logic circuitry
US9239926B2 (en) 2012-06-29 2016-01-19 International Business Machines Corporation Static analysis for discovery of timing attack vulnerabilities in a computer software application
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
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
FR3015726B1 (fr) * 2013-12-24 2016-01-08 Morpho Procede de traitement comparatif securise
US12010231B2 (en) * 2021-06-23 2024-06-11 Pqsecure Technologies, Llc Computer processing architecture and method for supporting multiple public-key cryptosystems based on exponentiation
CN116647318A (zh) * 2022-02-16 2023-08-25 瑞昱半导体股份有限公司 防御密码系统时间攻击的方法及密码系统处理电路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161169A (ja) * 1997-06-20 1999-06-18 Certicom Corp 楕円曲線上の有限体演算の加速方法
JPH11305660A (ja) * 1997-10-10 1999-11-05 Certicom Corp エルガマル・ライクなプロトコルのためのセッション・パラメータ生成方法
JP2001505325A (ja) * 1997-09-16 2001-04-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置
JP2002508523A (ja) * 1998-03-25 2002-03-19 サーティコム コーポレーション 楕円曲線上の高速有限体演算

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197024A (en) 1989-06-14 1993-03-23 Pickett Lester C Method and apparatus for exponential/logarithmic computation
US5600324A (en) * 1992-05-11 1997-02-04 Rockwell International Corporation Keyless entry system using a rolling code
DE69326072T2 (de) 1993-11-02 1999-12-23 Bull S.A., Louveciennes Verfahren zur Prüfung eines sequentiellen endlichen Automaten
US5504817A (en) * 1994-05-09 1996-04-02 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for memory efficient variants of public key encryption and identification schemes for smart card applications
US5553012A (en) 1995-03-10 1996-09-03 Motorola, Inc. Exponentiation circuit utilizing shift means and method of using same
US5623527A (en) 1996-01-30 1997-04-22 Hewlett-Packard Company Method and apparatus for determining an integer power of a floating point number
CA2228493C (en) * 1997-02-03 2005-05-03 Nippon Telegraph And Telephone Corporation Scheme for carrying out modular calculations based on redundant binary calculation
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
US5987131A (en) * 1997-08-18 1999-11-16 Picturetel Corporation Cryptographic key exchange using pre-computation
US6304658B1 (en) * 1998-01-02 2001-10-16 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US6041122A (en) * 1998-02-27 2000-03-21 Intel Corporation Method and apparatus for hiding crytographic keys utilizing autocorrelation timing encoding and computation
EP2280502B1 (en) * 1998-06-03 2018-05-02 Cryptography Research, Inc. Using unpredictable information to Resist Discovery of Secrets by External Monitoring
DE69940117D1 (de) * 1998-06-03 2009-01-29 Cryptography Res Inc Gesicherte moduläre potenzierung mit leckminimierung für chipkarten und andere kryptosysteme
JP4216475B2 (ja) * 1998-07-02 2009-01-28 クリプターグラフィー リサーチ インコーポレイテッド 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161169A (ja) * 1997-06-20 1999-06-18 Certicom Corp 楕円曲線上の有限体演算の加速方法
JP2001505325A (ja) * 1997-09-16 2001-04-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置
JPH11305660A (ja) * 1997-10-10 1999-11-05 Certicom Corp エルガマル・ライクなプロトコルのためのセッション・パラメータ生成方法
JP2002508523A (ja) * 1998-03-25 2002-03-19 サーティコム コーポレーション 楕円曲線上の高速有限体演算

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006522375A (ja) * 2002-12-12 2006-09-28 エイアールエム リミテッド データ処理システムにおける処理動作マスキング

Also Published As

Publication number Publication date
WO2000005837A1 (en) 2000-02-03
EP1097541A1 (en) 2001-05-09
DE69942094D1 (de) 2010-04-15
US20010033655A1 (en) 2001-10-25
CA2243761C (en) 2009-10-06
CA2243761A1 (en) 2000-01-21
US7020281B2 (en) 2006-03-28
JP4699610B2 (ja) 2011-06-15
ATE460027T1 (de) 2010-03-15
EP1097541B1 (en) 2010-03-03
AU4891799A (en) 2000-02-14

Similar Documents

Publication Publication Date Title
JP2002521724A (ja) タイミングアタック防止暗号システム
US7603560B2 (en) Method and apparatus for digital signature authentication
JP2002521724A5 (ja)
US6307935B1 (en) Method and apparatus for fast elliptic encryption with direct embedding
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
Fan et al. Attacking OpenSSL implementation of ECDSA with a few signatures
JP2002528771A (ja) 耐パワーシグニチャーアタック暗号法
KR20060116612A (ko) 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
JP2008293034A (ja) タイミング攻撃を阻止する標準化されたモジュラべき乗を計算することにより復号メカニズムを実行する方法と装置
KR20070008012A (ko) 멱지수를 숨기는 dpa 대책의 고속 계산을 위한 암호화장치 및 방법
US6252960B1 (en) Compression and decompression of elliptic curve data points
Koppermann et al. 18 seconds to key exchange: Limitations of supersingular isogeny Diffie-Hellman on embedded devices
JP2004512570A (ja) 非安全な暗号加速器を用いる方法と装置
EP3776305B1 (en) Using cryptographic blinding for efficient use of montgomery multiplication
WO2022233605A1 (en) Blind rotation for use in fully homomorphic encryption
Kotukh et al. Method of Security Improvement for MST3 Cryptosystem Based on Automorphism Group of Ree Function Field
JP2009042787A (ja) 楕円曲線上の有限体演算の加速方法
CN111740821B (zh) 建立共享密钥的方法及装置
JP4616169B2 (ja) モンゴメリ乗算剰余における変換パラメータの計算装置、方法およびそのプログラム
US7113593B2 (en) Recursive cryptoaccelerator and recursive VHDL design of logic circuits
US7657029B2 (en) Systems and methods for generating random addition chains
JP4598269B2 (ja) 楕円曲線上の高速有限体演算
Gulen et al. Side-Channel Resistant 2048-Bit RSA Implementation for Wireless Sensor Networks and Internet of Things
JP5297918B2 (ja) 暗号化数値二進変換システム及び方法とプログラム
EP0356127A2 (en) A RSA computation method for efficient batch processing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100112

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100121

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20100324

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101220

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: 20110201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110303

R150 Certificate of patent or registration of utility model

Ref document number: 4699610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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