JP2006340347A - データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム - Google Patents

データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム Download PDF

Info

Publication number
JP2006340347A
JP2006340347A JP2006142197A JP2006142197A JP2006340347A JP 2006340347 A JP2006340347 A JP 2006340347A JP 2006142197 A JP2006142197 A JP 2006142197A JP 2006142197 A JP2006142197 A JP 2006142197A JP 2006340347 A JP2006340347 A JP 2006340347A
Authority
JP
Japan
Prior art keywords
processing means
authentication system
multiplication
steps
random number
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.)
Pending
Application number
JP2006142197A
Other languages
English (en)
Inventor
A Sarangarajan
エー. サランガラジャン
Rao T Viswanatha
ラオ ティー. ヴィスワナサ
R Murugesh
アール. ムルゲッシュ
N Srinidhi
エヌ. スリニドヒ
G Sreenaiah
ジー. スリーンアイアウ
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.)
Tata Consultancy Services Ltd
Original Assignee
Tata Consultancy Services Ltd
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 Tata Consultancy Services Ltd filed Critical Tata Consultancy Services Ltd
Publication of JP2006340347A publication Critical patent/JP2006340347A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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/04Masking or blinding
    • H04L2209/043Masking or blinding of tables, e.g. lookup, substitution or mapping
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • 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/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

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

Abstract

【課題】電力分析攻撃などに対して、安全かつ効果的なデジタル署名の生成システムを提供すること。
【解決手段】認証システムおよびデータに署名する方法において、ハードウェア/ソフトウェアで分割されたアプローチを使用する。処理プロセスを複数のステップに分割し、いくつかのステップの部分を並行して実行する。このことにより各処理手段によって消費される電力が隠されるように消費される。こうして、ある処理手段によって消費される電力は、他の処理手段によって消費される電力によって遮蔽される。そして、システムは、単純な電力分析を用いたハッカーによるシステム攻撃をむずかしくする。
【選択図】図1

Description

本発明は暗号法に関する。
特に、本発明は認証のため、安全で効果的なデジタル署名の生成に関する。
定義:
この明細書において用いられているように、以下の単語は、別途指示される使用される文脈の範囲を除いて、概して後述の意味を有することを目的とする。
「素数」:それ自体および1以外のいかなる正整数によって剰余なしでは割り切れない自然数。
「乱数」:乱数は、次の2つの状態が満たされるように、連続して発生する数である:
(1)数値が定義された間隔または集合を通じて均等に分配される、および
(2)過去のまたは現在の数値に基づいて将来の数値を予測することが不可能である。
「認証システム」:ユーザを識別するシステム、典型的に、アクセスが付与される前にユーザに有効なユーザ名および有効なパスワードを入力させることが認証として公知である。
「暗号法」:データを符合化することによる暗号化および復号化の実行および研究。その結果それは、特定の個人によってのみ解読されることができる。また、メッセージの発信者の間違いのない認証の実行および研究。
「暗号プロセス」:データの符合化または認証するためのプロセスが、暗号プロセスである。
「デジタル署名」:デジタル署名は、公開鍵暗号法の分野から技術を使用して実行されるデジタル情報を認証するための暗号方式である。
「秘密鍵」:暗号法において、個人的なまたは秘密の鍵は、秘密のメッセージを交換する関係者または複数の関係者のみに公知の暗号化/復号化鍵である。
「ハッシュ関数」:ハッシュ関数は、入力データを検査し、ハッシュ値と呼ばれる固定長の出力を生じるための関数である。
「モジュロ/モジュール演算」:モジュロ演算は、ある数値を他の数値によって割った残りを求める。
「小数点乗算」:有限フィールドを通じて定義される楕円曲線に属し、同じ曲線に帰属している新規な位置kPを得るため、自然数『k』によりグループを形成する位置Pの乗算が、小数点乗算として定義される。
「逆数」:与えられた数Nを法とする数xの逆数は、xで乗じられるときに、Nを法として1となる数として定義される。
「分割」:各々の分割された部分がある意味互いに独立しているように、何かを部分に分割する行為またはプロセス。
「論理演算装置」:論理的および他の関連する動作を実行するユニット。
コンピュータは、電子メールを経たビジネスレターを送るような基本作業から商取引のオンラインでの処理にわたるビジネス関連の役割を実施するのにきわめて重要になってきた。ビジネス関連の役割の実施におけるインターネットの使用は、きわめて普及している。
それゆえに、企業および個人は、通信のための安全な手段を必要とする。通信プロセスにおいて交換されるすべてのメッセージは、認証、守秘性、完全性および否認防止のセキュリティ属性を満たす必要がある。
送られる情報が適切に守られない場合、このような情報にアクセスするまたは偽造する侵入者の可能性は大いに存在する。ハッキングは、このような侵入活動に関連する用語である。ハッキングは、セキュリティの弱点および隙間利用して伝達されている情報への個人による未許可のアクセスを得ることを可能にする。ハッカーは、最も弱いおよび最も脆いリンクを攻撃することによってシステムまたはネットワークへの侵入を試みる。ハッキングの目的は、産業スパイ、または単に楽しみまたはイデオロギー的のいずれかである可能性がある。ハッキングによる秘密情報の漏出は、商業的および技術的な厳しいダメージを引き起こす可能性がある。通信に適用されるセキュリティがいかなるハッキングに対しても強固であることは、重要である。
それらのセキュリティ属性を満たすために、暗号化技術の利用が構築された。暗号法は、特に通信において情報を守るため、言語学的および数学的な技術を取扱う技術である。暗号化技術は、数学、特に整数論、情報理論、計算量、統計および組み合わせ理論からの原則を含む離散数学を広範囲に利用する。暗号化される情報は平文として知られ、暗号化されたデータは暗号文として知られる。現代の暗号化技術は、メカニズムを情報の暗号化のためだけでなく、認証、否認防止および安全鍵交換のためにも提供される。
様々な暗号化技術が、異なるセキュリティ属性を達成するために存在する。暗号法または暗号システムは、暗号法でメッセージを守るために使われる手順、プロトコル、暗号アルゴリズムおよび命令のパッケージである。暗号法は、2つのカテゴリに広く分類されることができる:
(1)対称鍵暗号;および(2)非対称鍵暗号。
対称鍵暗号は、情報交換の守秘性、すなわち暗号化および復号化を達成するために使われる。対称鍵暗号において、メッセージの発信者および受信者は、同じ秘密鍵を知っていてそれを使用する。発信者は、メッセージを暗号化するために秘密鍵を使用し、受信者はメッセージを解読するために秘密鍵を使用する。結果として、鍵にアクセスする誰でも、鍵で暗号化されるすべてのメッセージを読み、変更し、偽造することができる。
非対称鍵暗号が、守秘性および認証の両方ために使われる。非対称または公開鍵暗号方式において、各々の個人は一対の鍵を生成する。1つは公開鍵と呼ばれ、もう一つは秘密鍵と呼ばれる。公開鍵は公にされ、一方で、秘密鍵はそれを生成した個人によって秘密に保たれる。秘密鍵だけが公開鍵によって暗号化されたデータを解読することができる。秘密性を達成するため、情報は、受信者と通信することを望む誰にでも受信機の公開鍵で暗号化される。当人のみが秘密鍵を所有するので、そのように生成される暗号文は受信者だけによって解読されることができる。認証を達成するため、発信者は、当人の秘密鍵を用いて彼女のメッセージのハッシュの変換を生成する。これは、デジタル署名として公知である。受信者は、メッセージからのハッシュを再生させ、発信者の公開鍵を用いてデジタル署名でハッシュ上の操作を実行する。結果は、デジタル署名の部分と比較される。適合する場合、当人のみが対応する秘密鍵へのアクセスを有するので、それに署名した発信者のみによってメッセージが送られたと推測することができる。そして、認証は達成される。このプロセスは、署名確認として公知である。発信者および受信者において秘密の情報を共有する必要性は、除去され、秘密鍵は決して伝達または共有されない。
デジタル署名はまた、伝達されたメッセージまたは文書のオリジナルの内容が不変であることを保証するために用いることができる。署名者のみがサインを生成できるので、それらは、否認防止も容易にする。
異なる公開鍵暗号方式は、アルゴリズムの異なるタイプを利用する。様々なアルゴリズムの作用の主な違いは、公開および秘密鍵を生成するために用いられる方法および2つの鍵と関連する計算である。異なる公開鍵暗号方式のため、同じレベルのセキュリティを達成するために必要な秘密および公開鍵のサイズは異なる。従って、デジタル署名の生成のためのプロセッサにかかる総使用時間は選択される暗号法に依存する。
リベスト・シャミル・アドルマン(RSA)は、デジタル署名を使用して暗号化および認証を提供するそのような公開鍵暗号方式である。エルガマルも、デジタル署名方式を提供する。
楕円曲線暗号システム(以下ECCとする)は、最初に1985年にニール・コブリッツおよびビクター・ミラーによって提案され、後で署名およびメッセージの認証のため、IEEEによって採用された。楕円曲線デジタル署名アルゴリズム(またはECDSA)において、メッセージは、SHA‐1のような標準ハッシュ・アルゴリズムを使用して最初にハッシュ化される。ハッシュ化されたメッセージは、それから発信者の秘密鍵を用いて、一対のビット列である署名に変換される。メッセージおよび署名の両方は、受信者に送られる。メッセージを受信する受信者は、ハッシュを計算し、デジタル署名を認証するために発信者の公開鍵を使用する。
楕円曲線暗号システムは、楕円曲線を利用する公開鍵暗号方式である。楕円曲線暗号システムの主な利点は、等しいまたはより高いレベルのセキュリティを提供する一方、特定の状態の下でそれが他の方法より小さい鍵を使用するということである。楕円曲線暗号システムは、実際にはそれによって使用されるアルゴリズムを壊すことが計算機的に難しいので、他の暗号化技術より比較的安全である。ECCを壊すことは、いくつかの有限フィールド上で選ばれた楕円曲線の集まりにより使用される離散的対数の解決を必要とする。
楕円曲線暗号において、あるものは有限フィールドで開始する。略式に、フィールドは、いくつかの基本特性を満たすその上で定義される加算および乗算演算を有する一組の要素である。例は、FP={0,1・・・P‐1}であり、P未満の整数で設定され、ここで、Pは素数である。加算および乗算は、定義された剰余Pである。他の例は、F であり、係数0または1で、m未満のすべての多項式で設定される。多項式の加算は係数側で実行され、ここで係数は、剰余2に加えられる。乗算は剰余mで実行され、これは、2つの多項式が最初に逓倍され、乗算の結果はそれからmの低減多項式によって分割され、除算の残りは演算の結果であることを意味する。
バイナリのフィールドF 上の楕円曲線は、y+xy=x+Ax+Bを満たすx,y∈F ですべての位置(x,y)で設定されたものとして定義される。ここでA,B∈F である。特別な「無限大の位置」(Oで表示される)と曲線の位置は、E(F )として示されるグループを形成する。公開鍵暗号方式の公開および秘密鍵のキーペアを生成するため、大きい次数nのサブグループを生成する基点G∈E(F )を必要とする(Gによって生成されるサブグループは、Gを含むE(F )の範囲内で最も大きいグループである)。次に、d<nで乱数dを生成し、位置Q=d.G(Gに(d−1)回適用される加算演算である)を計算する。その時、dが秘密鍵である一方Qは公開鍵である。
集合(m,A,B,G,n)は、楕円曲線の領域パラメータと称される。暗号的に強い曲線を保証するため、nが大きい素数であることが必要とされる。結果として、mによって定義される基礎フィールドは、大きくなければならない。m>160が推奨される。
ECCに基づく標準署名生成アルゴリズムは、以下に記載され、ここで、記号G,n,t,dは以下に表示される:
Gは、曲線の基点である。
nは、基点Gの次数である。
tは、メッセージである。
dは、署名者の秘密鍵であり、d<nである。
I メッセージ・ダイジェストe=SHA‐1(t)を計算する;
II 乱数kを生成する;(0<k<n)
III 数値k.G=(x1,y1)を計算する。仮に、r=x1 mod nとする。r=0である場合、IIへ進む;
IV z1=k−1mod nを計算する;
V s‐z1(e+dr) mod nを計算する。s=0である場合、IIへ進む;および
VI 署名(r,S)を出力する。
署名アルゴリズムの性能は、署名を生成し、認証すされるためにかかる時間によって測定される。性能が用途の必要条件を満たさないところでは、ハードウェア・アクセラレータが使われる。ハードウェア・アクセラレータが性能を向上させる一方、それらはシリコンのゲート・カウントに加えられる。それゆえに、性能およびゲート・カウントの間のトレードオフが必要とされる。
暗号のアルゴリズムが暗号解析に対して強固であることもまた、必要とされる。暗号解析は、通常必要とされる秘密鍵へのアクセスなしで、暗号化された情報の意味を得る方法の研究である。暗号解析の目的は、秘密鍵を導き出すために暗号システムの弱点または危険性を発見することである。暗号解読攻撃は、2つのカテゴリに広く分類されている:
1. アルゴリズムの固有の弱点を目標とする攻撃または純粋な攻撃;
2.アルゴリズムの実施における弱点を目標とする攻撃またはサイド・チャネル攻撃。
純粋な攻撃のいくつかの例は、以下の通りである:
*周知の暗号文攻撃。ここで、攻撃者は、平文が解読されなければならない暗号化アルゴリズムから一まとまりの暗号文だけにアクセスする。
*周知の平文攻撃。ここで、攻撃者は、暗号化アルゴリズムの中で対応する平文を知っている一組の暗号文を有する。
* 選ばれた平文/暗号文攻撃。攻撃者は、暗号化アルゴリズムから選択された複数の平文/暗号文の任意の集合に対応する暗号文/平文を得ることができる。
周知のサイド・チャネル攻撃は以下の通りである:
* タイミング攻撃。ここで攻撃者は、暗号演算を実行するためにかかる時間を測定し、実行される計算の本質を終了させる。
* 設計上の副作用攻撃。ここで攻撃者は、実行される計算を推測するために特定の機械構成上の計算を実行する副作用を利用する。
*電力監視攻撃/電力分析攻撃。ここで攻撃者は、異なる計算の間、ハードウェアによって異なるパワー消費量を利用する。
*電磁波盗聴/放射線モニタリング攻撃。ここで攻撃者は、漏らされた電磁放射を平文および他の情報と直接関連づける。
*音響暗号解析攻撃。ここで攻撃者は、計算の間生じる音を実行されるステップに関連づける。
電力分析攻撃は、特に本発明に関連する。この攻撃は、各々のプロセッサ演算は、特定の作業を実行するある程度の電力を必要とするという原理に作用する。電力分析攻撃の主な2つのタイプは、以下の通りである:
(i)単純電力分析攻撃:ここで攻撃者は、プロセッサによって実行される指示に消費される電力を直接関連づける;および、
(ii)差動装置電力分析攻撃:ここで攻撃者は、隠された情報を抽出するために統計分析を使用する。
一例として、楕円曲線小数点乗算のための倍加算法の実行中に消費される電力の分析から、加算点と2倍にする点との間で区別するのが可能であり、それにより、その場限りの鍵のビットを明らかにする可能性がある。この情報が、秘密鍵を導き出すために使われることができた。
本発明は、単純な電力分析攻撃の可能性を除去しないにしても減少させるECDSAを用いた認証システムの署名生成のための効率的な方法に特に関連がする。
ECDSAの実施への従来のアプローチは、単にハードウェアまたは単にソフトウェアでの実施に依存していた。第1の方法において、署名を生成するために必要とされるECCアルゴリズムおよび大きい整数算術のすべては、ハードウェアにおいて実行される。これは、典型的に100,000以上の次数のゲート・カウントに導くことができる。ソフトウェアのアプローチのためのタイミングの結果は、使用されるプロセッサ次第である。三菱の16ビット10MHzのプロセッサ(M16C)では、それによって署名が、160ビット素体上において150ミリ秒で生成されたという結果が発表された。(引用:ハセガワ,T.,ナカジマ,J.およびマツイ,M.,『16ビット・マイクロコンピュータでのGF(p)上の楕円曲線暗号法の小型および高速ソフトウェアでの実施』IEEE 翻訳.基礎研究所、E82‐A,1(1999年1月),98‐106)この実施は、前演算処理およびアルゴリズムの速度を上げる投影座標系を使用する。楕円曲線小数点乗算の最も周知の実施は、署名生成における計算機的に費用のかかるステップであり、8051プロセッサにおいてほぼ2秒([2]参照)かかる。また、これは暗号によって安全であるとみなされない134ビット鍵を使用する。
この分野の特許は、署名を生成するためにかかる時間を最適化する処理をする。特に、小数点乗算演算(ステップIII)は、多くの作業の焦点である。
米国特許第6252959号は、小数点2倍演算の数を減少する小数点乗算実施の方法を開示する。この方法は、タイミング最適化を達成する。しかしながら、それはより多くのメモリを必要とする。この特許の範囲もまた、小数点乗算演算の最適化に制限される。開示された方法は、より大きい記憶容量を有するシステムを必要とする。
米国特許第6263081号は、特定の予めの計算過程を使用して、ソフトウェアにおけるステップIIIの小数点乗算を実行する方法を開示する。これが小数点乗算のタイミング上の最適化を作動させるにもかかわらず、メモリ必要条件を増加させる結果を生じる。この特許の範囲もまた、小数点乗算に制限される。開示された方法は、小数点乗算ステップにおける完全なソフトウェアでの実施を提供し、いかなる並列処理も使用しない。

米国特許第62791110号は、修正されたECDSAアルゴリズムを開示する。ここで、ステップIV上の逆演算は、他の乱数『t』を生成することによって置き換えられ、署名として3つ(s’,r,c)を受け入れる。ここで、『r』は、前に定義され;c=k*t mod nおよびs´=t*(e+d*r)mod nである。元々の(r,s)の対は、そのs=c‐1s’mod nを保つことによって回収される。これは、逆もまた費用のかかるとみなされるスマートカードのような制約のある装置上の署名を生成する最適化された方法である。『s』値は、スマートカードリーダーまたは認証器に連結されるターミナルによって回収される。しかしながら、数値が認証器によって回収される場合、より長い署名は伝達され、より多くのバンド幅を消費する。開示されたシステムは、より多くの通信バンド幅を消費する。
米国特許第6671709号は、公開鍵暗号方式に使用されるハードウェア乗算構成を開示する。乗数セルは、係数の多項式ベースの乗算のために使われる。この特許の範囲もまた、乗算器モジュール、すなわちステップIIIの最適化だけに制限される。発明は、いかなる並列処理も使用しない。
米国特許第6704870号は、費用のかかる小数点乗算ステップを回避するために『k』および『kG』の予め格納された数値の使用を開示する。新規な署名の対(k,kG)は、予め格納された要素の対を結合することによって作成される。結合は、署名要素の識別が明らかにされないようにスマートカード上で部分的に、および、処理装置上で部分的に実行される。しかしながら、この手順は、処理装置上の必要なソフトウェアの有効度と同様に重要な計算能力を用いる。他の態様において、署名生成時間は、カードと装置間の通信を含み、このことによりリソースの使用を増加させている。開示された方法も、完全なソフトウェア・アプローチを使用し、このことにより署名生成のための時間を増加させる。
米国特許第6714648号は、ハードウェアにおいて実行される剰余乗算を使用して素体上の160のビット曲線でのECDSAのハードウェアおよびソフトウェアでの実施を開示する。ハードウェアの実施は、メモリ・マップされた入出力を有する。それは、小数点乗算アルゴリズムの速度を上げるために前演算処理を使用する。さらに、逆演算は剰余乗算を使用して実行される。残りの演算は、ソフトウェアで実行される。開示された方法は、いかなる並列処理も使用しない。
米国特許第6738478号は、署名生成においてモンゴメリー法を使用した小数点乗算の実施を開示する。それは、関数の『倍加算』法が電力分析攻撃に影響されやすいという事実を強調する。『倍加算』は、独特な電力プロファイルを生成する乗算演算を含み、これらのプロファイルの観察は、1および0代の数列をもたらし、それで、スカラー値kを導く。開示されたシステムは並列処理を利用せず、それで小数点乗算演算のためより多くの時間がかかる。
米国特許第6751318号は、ECDSAと異なる署名アルゴリズムを開示する。この方式は、署名を確認するために比較される素体上の楕円曲線上の2つの点を生成する。またこの方式は、元の2点のx‐座標だけを使用した2点の合計の『x』座標の数値を導き出す方法を提供する。投影座標の再ソートは、楕円加算および2倍演算を最適化し、フィールド反転を除去する。全体のアルゴリズムは、ソフトウェアで実行される。作業は、署名を生成するよりむしろ確認するための効率的な方法を示す方式であって、その実行にはハードウェア構成を有さない。完全なソフトウェアでの実施はこのシステムを遅くする。
米国特許第6772184号は、効率的なフィールド反転作業のための方法を開示する。160ビットの曲線、素体を通じて定義される。この作業は、小数点乗算よりもフィールド反転作業の最適化に重点がある。小数点乗算のための最適化の範囲は、それゆえに、制限される。
米国特許第6782100号は、楕円カーブ上におけるステップIII、小数点乗算のハードウェアでの実施に関連がある作業を開示する。これは、署名生成アルゴリズムの処理能力においてインパクトを有する。しかしながら、アルゴリズムの最適化の範囲を強化することにより、より良好な処理能力を得ることができる。
米国特許出願番号第2001004872号は、楕円曲線上の異なる位置PのためのdPを形成する作業の間、秘密鍵『d』を取り戻すために差動電力分析に基づいた攻撃を開示する。この攻撃に対する対策もまた提案され、そこにおいて、数値dPは、『d』と同じ大きさの乱数の使用により間接的に計算される。開示された装置は、ステップの連続処理を含み、したがってより多くの時間を消費する。
米国特許出願番号第200301522188号は、P=kGである対(k,P)の予め選択された集合のいくつかを格納することによる小数点乗算ステップの最適化を開示する。これらの予め選択された対は、それからコブリッツ曲線上のフロベニウス演算子の使用を通じて新規なランダムである対(k,kG)を生成するために用いられる。最適化は、小数点乗算を実行するための楕円演算の数の減少である。開示されたシステム及び方法は、並列処理を利用しない。
米国特許出願番号第20030194086号は、電力分析に対してECDSAを強化する方法を開示する。この方法は、署名生成の間、乱数を用いてノイズを導入する。具体的には、秘密鍵dは、それらがdに合計されるように各々の繰り返しの間、更新される2つの部分に分割される。これらの部分は、署名の計算過程においてdの代わりに使われる。小数点乗算(ステップIII)は、また、メッセージあたりの秘密kの漏出を妨げるためにランダム化される。しかしながら、開示された方法は、ゲート・カウントを減少させない。
米国特許出願番号第20040001590号は、小数点乗算計算過程における倍加算法の実施を開示する。それは、小数点乗算演算の一部である二乗および小数点加算のフィールド乗算のいくつかの最適化を指摘する。この特許の範囲は、小数点乗算演算を最適化することに制限される。
米国特許出願番号第20040091105号は、超楕円曲線暗号の処理装置を開示する。全体の暗号のアルゴリズムは、より高い領域/ハードウェア必要条件を示唆するハードウェアにおいて実行される。ハードウェアにおける並列処理は、ステップIVの反転演算とステップIIIの小数点乗算との間の実施において使用される。開示されるような完全なハードウェアでの実施は、システムをきわめて複雑にする。
ECDSAの実施の従来のアプローチは、そのように完全なハードウェアまたは完全なソフトウェア・アプローチに依存する。完全なハードウェア実施に基づくアプローチは、利用されるゲートの数を増加させ、したがってハードウェアのコストを増加させる。完全なソフトウェア実施に基づくアプローチは、署名生成のために必要とされる時間を増加させる。また、多くの過去の実施は、その速度を上げるためにアルゴリズムの並列処理を利用しない。
本発明は、従来技術の制限の克服に努める。
本発明の目的は、デジタル署名の安全かつ効果的な生成のためのシステムを提供することにある。
本発明の別の目的は、ゲート・カウントと同様にタイミングの両方を最適化するシステムを提供することにある。
本発明の別の目的は、典型的に単純な電力分析攻撃である電力分析攻撃に対する基本セキュリティを提供することにある。
本発明によれば、0<d<nであるようにランダムに選ばれた秘密鍵『d』を用いてデータに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システムが提供される。ここで、nは大きい素数である。このプロセスは、以下のステップからなる;
ステップA:署名されるデータ上でのハッシュ演算の実行;
ステップB:0<k<nである乱数『k』の生成;
ステップC:『k』、および、y+xz=x+ax+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)を用いた小数点乗算ステップの実行。ここで、aおよびbは、中間の結果を得るために下位のいくつかのステップを任意に使用し、同じ曲線上のまとめられた位置M(x,y)を得るために前記中間の結果をまとめ、および座標『x』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である;
ステップD:剰余演算に続くステップBから得られる乱数『k』上で逆数演算を実行することによる数『z1』の計算;
ステップE:『d』上の乗算演算を実行することによる数『z2』、および、剰余演算に続くステップDから得られる数『z1』の計算;
ステップF:ステップAから得られるハッシュ変換されたデータ上で乗算演算を実行することにより数『z3』、および剰余演算に続くステップDから得られる数『z1』の計算;
ステップG:数『z2』上で乗算演算を最初に実行することによる数『s』、それぞれステップEおよびステップCから得られるrの計算、および、剰余演算に続くステップFから得られる『z3』の積での付加的な演算の実行;
ステップH:署名(r,s)の発信;
第1、第2および第3の処理手段間で分割されるように構成される前記システムは、少なくとも前記プロセスのいくつかのステップの部分を並行して実行する。
概して、前記プロセスのステップAはシステムの外側で実行され、ハッシュ変換されたデータはシステムに提供される。
概して、前記第1の処理手段は、前記プロセスの少なくともステップBを処理するように構成される。
概して、前記第2の処理手段は、論理演算装置を有し、少なくともステップCの一部を処理するように構成される。
概して、前記第3の処理手段は、前記プロセスの少なくともステップD、E、F、GおよびHおよび任意にステップCの一部を処理するように構成される。
概して、前記第1の処理手段は、次のステップを実行するために構成される:
(i)乱数の生成;および
(ii)生成された乱数の第2および第3の処理手段への発信。
概して、前記第2の処理手段は、次のステップを実行するために構成される:
(i)前記第1の処理手段からの乱数の受信;
(ii)論理演算装置を作動させるためのコマンドの受信;
(iii)前記プロセスの小数点乗算ステップCの少なくとも一部の実行;
(iv)前記プロセスの小数点乗算ステップの実行の状態の掲示;および
(v)第3の処理手段への小数点乗算ステップの中間結果の発信。
概して、前記第3の処理手段は次のステップを実行するために構成される:
(i)ハッシュ変換されたデータの受信;
(ii)前記第1の処理手段からの乱数の受信;
(iii)前記プロセスのステップD、EおよびFの実行;
(iv)前記プロセスのステップCの一部の任意の実行;
(v)前記第2の処理手段からの小数点乗算の中間結果の受信、および、ステップCの結果のまとめ;
(vi)前記プロセスのステップGおよびHの実行;
(vii)ステップHの前記署名の出力。
概して、前記第1の処理手段は以下からなる:
(i)乱数を生成するための乱数発生手段;および
(ii)生成された乱数を第2のおよび第3の処理手段に送る発信手段。
概して、前記第2の処理手段は以下からなる:
(i)乱数発生手段によって生成された乱数を受信するための受信手段;
(ii)前記プロセスの小数点乗算ステップの少なくとも一部を実行するための論理演算装置;
(iii)論理演算装置を指示し、作動させるための制御レジスタ手段;
(iv)前記プロセスの小数点乗算ステップの実行の状態を掲示するための状態レジスタ手段;
(v)小数点乗算ステップの中間結果を第3の処理手段に発信するための発信手段。
概して、前記3の処理手段は以下からなる:
(i)前記第2の処理手段からハッシュ変換されたデータおよび小数点乗算の中間結果を受信するための受信手段;
(ii)前記プロセスのステップD、EおよびFを実行するための計算手段;
(iii)任意に前記プロセスのステップCの一部を実行して、ステップCの最終結果をまとめるための計算手段;
(iv)前記プロセスステップGおよびHを実行するための計算手段;
および(v)ステップHの前記署名を発送するための出力手段。
概して、前記第1の処理手段は、少なくともマイクロプロセッサまたはカスタマイズされたハードウェア論理で構成されたグループから選択されたものである。
概して、前記第2の処理手段はハードウェア・アクセラレータである。
概して前記第3の処理手段はマイクロプロセッサである。
概して、前記第1および第2の処理手段は、メモリ・マップされた形式で第3の処理手段と通信するように構成される。
概して、ハードウェア・アクセラレータは、少なくともプログラム可能なハードウェア・アクセラレータ、プログラム可能でないハードウェア・アクセラレータ、ハードウェア・アクセラレータカードまたはハードウェア・アクセラレータボードで構成されたハードウェア・アクセラレータのグループから選択されたものである。
概して、前記第2の処理手段および前記第3の一処理手段は、並行してステップD、E、F、および、ステップCの残りの部分をそれぞれ実行するように構成される。
概して、前記第2の処理手段は、ステップCのその部分を実行する際、電力は、ステップD、E、F、および、ステップCの残りの部分をそれぞれ実行する第3の処理手段によって消費される電力によって隠されるよう、電力を消費するように構成される。
本発明の別の態様によれば、データに署名する方法が提供される。その方法は、0<d<nであるようにランダムに選ばれた秘密鍵『d』を用いた楕円曲線デジタル署名暗号プロセスを用いる。ここで、nは大きい素数である。このプロセスは、以下のステップからなる;
ステップA:署名されるデータ上でのハッシュ演算の実行;
ステップB:0<k<nである乱数『k』の生成;
ステップC:ステップBから生成された乱数およびy+xz=x+ax+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)での小数点乗算ステップの実行。ここで、AおよびBは、中間の結果を得るために下位のいくつかのステップを任意に使用し、同じ曲線上のまとめられた位置M(x,y)を得るために前記中間の結果をまとめ、および座標『x』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である;
ステップD:剰余演算に続くステップBから得られる乱数『k』上で逆数演算を実行することによる数『z1』の計算;
ステップE:『d』上の乗算演算を実行することによる数『z2』、および、剰余演算に続くステップDから得られる数『z1』の計算;
ステップF:ステップAから得られるハッシュ変換されたデータ上で乗算演算を実行することにより数『z3』、および剰余演算に続くステップDから得られる数『z1』の計算;
ステップG:数『z2』上で乗算演算を最初に実行することによる数『s』、それぞれステップEおよびステップCから得られるrの計算、および、剰余演算に続くステップFから得られる『z3』の積での付加的な演算の実行;
ステップH:署名(r,s)の発信;
前記方法は、以下からなる:
(i)前記第1の処理手段のステップBの実行;
(ii)少なくとも前記第2の処理手段の前記プロセスのステップCの一部の実行;
および(iii)少なくとも前記第3の処理手段の前記プロセスのステップD、E、F、GおよびH、任意にステップCの一部の実行。
概して、第2の処理手段で実行されるステップCの一部、ステップD、E、F、および第3の処理手段で実行されるステップCの残りの一部は、並列に実行される。
概して、ステップCのその一部を実行する第2の処理手段によって消費される電力は、ステップD、E、FおよびステップCの残りの一部を実行するために第3の処理手段により消費される電力によって隠される。
概して、ハードウェアにおける小数点乗算ステップ、ステップCの一部は、少なくとも部分展開を用いたフィールド乗算を含む。
概して、部分展開は、小数点乗算ステップの実施における並列処理を増加させるために使われる。そして、それで性能向上を得る。
概して、チップ上のシステム内で方法を一体化し、前記システムをスマートカードに埋め込むことによってスマートカードで実行される。
概して、システムバスのスロットを占有しているアドオン・カードにより前記方法を組み込むことによってサーバにおいて実行される。
認証システムのデジタル署名生成の一つの実用的な実施例によると、本発明は、楕円曲線暗号法に関係しているステップの実施のため、マイクロプロセッサおよびハードウェア・アクセラレータの使用を想定する。
本発明の好適な実施例は、ハードウェア部品およびソフトウェア部品の組合せの使用である。小数点乗算ステップはハードウェアで実行され、一方で、乗算、反転および係数の減少のような大きい数の算術はソフトウェアで実行される。大部分のソフトウェア演算をハードウェアと並列して実行することによって、完全なハードウェアでの実施に近い同等の性能が達成される。並列処理は、署名を計算する時に向かって2から1まで計数される大きい整数の乗算および減少の効果的減少を可能にする。それで、ハードウェアでの実行を越えたソフトウェアでの実行の時間は減少する。これは、総性能が完全なハードウェア実施の性能により近くなることを可能にするが、ハードウェア必要条件それ自体を減少させる。ハイエンドのマイクロプロセッサが第3の処理手段に使われる場合、マイクロプロセッサ上で小数点乗算ステップの一部を実行するのは可能である。ここで、全体の性能は、完全なハードウェアでの実施により近くなる。ソフトウェアのいくつかの構成部品での実施は、ゲート・カウントの減少を可能にする。
ハードウェア構成部品の一つの好適な実施例は、楕円曲線デジタル署名暗号プロセスの実施に関する小数点乗算ステップの一部の計算を助けるハードウェア・アクセラレータの使用である。楕円曲線デジタル署名暗号プロセスの残りのステップは、マイクロプロセッサにおいて同時に実行される。
本発明の他の好適な実施例では、第2の処理手段によって消費される電力は、楕円曲線暗号プロセスの残りのステップを実行する際第3の処理手段によって消費される電力によって遮蔽される。それで、小数点乗算ステップに関連する電力の遮蔽は、単純な電力分析攻撃からシステムを守るのを助ける。
発明は、好適な実施例に関して詳述する。この実施例に対する参照は、発明の範囲を制限しない。
発明は、添付の図面の図1から3までに関して説明される。
図1は、楕円曲線デジタル署名暗号プロセスの実施のために使用されるシステムの概要を図示する。認証プロセスの実施のため、第2の手段(12)と通信する第1の処理手段(10)および第3の処理手段(14)が使用される。第1の処理手段(10)(*訳注1)は、少なくともマイクロプロセッサまたはカスタマイズされたハードウェア論理から構成されたグループから選択されたものである。第2の処理手段(12)はハードウェア・アクセラレータである。第3の処理手段(14)はマイクロプロセッサである。
第1の処理手段は、以下からなる:
a) 乱数を生成するための乱数発生手段(16);および
b)第3および第2の処理手段に生成された乱数を発信するための発信手段(18)。
第2の処理手段(12)は、以下からなる:
a) 前記第1の処理手段から、乱数を受け取るための受信手段(20);
b) 論理演算装置を指示し、作動させるための制御レジスタ手段(22);
c) 少なくとも前記プロセスのステップCの一部、添付の図面の図2に示されるステップC1を実行するための論理演算装置(24);
d) 前記プロセスの小数点乗算ステップの実行の状態を掲示するための状態レジスタ手段(26);
e) 小数点乗算ステップの中間結果を前記第3の処理手段に送るための発信手段(28)。
第3の処理手段(14)は、以下からなる:
a)ハッシュ変換データ、前記第2の処理手段からの小数点乗算ステップの中間結果、および、前記第1の処理手段からの乱数を受信する受信手段(30);
b)前記プロセスのステップD、E、およびFを実行するための計算手段(32);
c)添付の図面のうちの図2に示すように前記プロセスのステップC2を任意に実行し、添付の図面の図2に示すようにステップC3におけるステップC1およびC2をまとめるための計算手段(34);
d)前記プロセスのステップGおよびHを実行するための計算手段(36);および
e)ステップHの前記署名を送るための出力手段(38)。
図2は、各々のブロックが以下のように指定された機能を表す本発明による楕円曲線デジタル署名暗号プロセスを実行する一方で、続くステップを示すブロック図を図示する:
ブロックAは、外側で実行され、システムにインプットとして提供されるデータ上でのハッシュ関数を実行するステップを表す。
ブロックBは、前記第1の処理手段で実行される乱数『k』を生成するステップを表す。
ブロックC1、C2およびC3は、ステップBから生成される乱数、および、y+xz=x+ax+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)での小数点乗算ステップ(ステップC)を表す。ここで、AおよびBは、中間結果を得るために分割を使用し、同じ曲線上のまとめられた位置M(x,y)を得るために前記中間結果をまとめ、および座標『x』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である。ブロックC2は、空値のブロックであってもよい。ブロックC3は、ブロックC2が空値でない場合、前記計算結果のまとめを表す。この計算過程の分割は、このセクションで後述される。
ブロックDは、第3の処理手段において実行される剰余演算に続くブロックBにおいて表されるステップから得られる数『k』上で逆数演算を実行することによって数『z1』を計算するステップを表す。
ブロックEは、ブロックDにおいて表されるステップから得られる数『z1』上で乗算演算を実行することによって数『z2』、および、第3の処理手段において実行される剰余演算に続く秘密鍵として定義される数『d』を計算するステップを表す。
ブロックFは、ブロックDにおいて表されるステップから得られる数『z1』上で乗算演算を実行することによって数『z3』、および、第3の処理手段において実行される剰余演算に続くブロックAにおいて表されるステップから得られるハッシュ変換されたデータを計算するステップを表す。
ブロックGは、ブロックEにおいて表されるステップおよびブロック{C1、C2、C3}においてそれぞれ表されるステップから得られる数『z2』およびr上でまず乗算演算を実行し、そして、剰余演算に続くブロックFにおいて表されるステップから得られる『z3』の積に加法演算を実行することにより、数『s』を計算するステップを表す。
ブロックHは、署名(r,s)を出力するステップを表す;
ステップCは分割されることができる。このため、ステップBにおいて生成される乱数kは、k=k1+2*k2として書き直される
ここで、k1はkのu最小桁ビットによって与えられる(uビット)数であり、一方で、k2は、kのビットの残りによって表される数である。そして、ステップCにおける小数点乗算ステップは、k.P=k1.P+k2.(2.P).として書き直されることができる。
仮に、Q=(2.P)を2によるPの小数点乗算の実行により形成される点とする。すると、k.P=k1.P+k2.Qになる。
ステップCは、第3の処理手段においてk2.Q、および第2の処理手段においてk1.Pを算出し、k.P.を得るため、第3の処理手段の2つの位置を最後に加算することによって並列処理される。それで、ステップCは、サブ・ステップC1、C2およびC3から構成される。ここで、
ステップC1:数値P1=k1.Pの計算。
ステップC2:数値P2=k2.Qの計算。
ステップC3:k.P=P1+P2の計算。
ステップC2が空値であってもよいことに留意する必要がある。これは、k2=0であり、小数点乗算は第2の処理手段で完全に実行されるケースに対応する。この場合、ステップC3もまた空値である。
ステップC1は、ブロックC1において実行される。これは、第2の処理手段で実行され;ステップC2およびC3は、それぞれブロックC2およびC3において実行される。これらは、第3の処理手段において実行される。ブロックC1およびブロック{D、E、F、C2}において表されるステップは並行して実行される。そして、署名生成のプロセスのために必要とされるコストと同様に全体の時間を減少する。ブロックC1によって表されるステップを実行する際に消費される電力はブロック{D、E、F、C2}によって表されるステップを実行する際に消費される電力によって隠される。そして、このことにより、単純な電力分析攻撃を難しくさせる。
図3は、小数点乗算ステップの実施のために使用される完全な展開プロセスに関するステップを示すブロック図を図示する。フィールド乗算は、図2に示されるようにブロックC1によって表されるステップの実施において最も頻繁に使われる演算である。それは、このステップのタイミングに最も関与する。この演算は、次のように計算される。
記号A(a,a・・・am‐1)∈F は、Aが通常のベース下の表示(a,a・・・am‐1)を有するフィールド要素であることを示す。各々のaは、0または1である。
A(a,a・・・am‐1)およびB(b,b・・・bm‐1)∈F とする。
すると、A*B=C(c,c・・・cm‐1)ここで、各々のcは、次のように計算される。
ステップ1:U(u,u・・・um‐1)=A(a,a・・・am‐1
ステップ2:V(v,v・・・vm‐1)=B(b,b・・・bm‐1
ステップ3:k=0〜m−1に関して、以下のサブ・ステップの実行
ステップ3.1:ck=F(U,V)
ステップ3.2:U= LCS(U)およびV=LCS(V)。ここでLCSは、『左循環シフト』演算である。
ステップ4:C=(c,c・・・cm‐1)に戻る。
ここで、
p‐2
F(U,V)= (+) UJ(k+1)J(p−k)
k=1
J(k+1)は、UのJ(k+1)番目のビットであり、
J(p‐k)は、VのJ(p‐k)番目のVのビットであり、そして(+)は、XOR演算(排他的論理和演算)である。
pは、公式p=mT+1によって計算され、ここで、Tは、F のためのガウス型基底の最小のタイプであり、mはバイナリ・フィールドの次数である。m=163であると、Tは4である。それゆえに、p=653である。Jは、静的であり、前計算されることができるサイズ(p‐1)の整列である。
F(U,V)の計算過程は、小数点乗算演算の最深部のループである。それで、これは演算のタイミングに最も関与する。処理能力は、F(U,V)ループを完全に広げることによって改良されることができる。一連の653ANDゲートは、ルックアップテーブルJにつきインプットとして物理的に組み込まれたUおよびVビットで設計されることができる。結果は、2つの入力XORゲート有効度だけを用いて多数の段階を通じてXOR処理されることができる。計算過程F(U,V)の観察は、Uの各々のビットがVの4つの特定のビットでAND処理されることを明らかにする。
しかしながら、完全な展開を実行するゲートの数は最高値である。さらに、そのゲート遅延は、クロックサイクルの範囲内で完成され、タイミング妨害に導く論理レベルの数を制限する。それゆえに、完全な展開の代わりに、部分的な展開が実行される。
具体例として、バイナリ・フィールド上の163ビットの楕円曲線でのECDSAの実施は、10MHzで動作する8051のマイクロプロセッサを用いて実行された。10MHzにおいて実行されるザイリンクスのFPGAでハードウェア論理は、実施された。8051のマイクロプロセッサは十分に強力でないので、ステップCは、第2の処理手段と第3の処理手段との間で分割されない。結果は、以下の表にされた。表は、本発明による楕円曲線デジタル署名暗号プロセスの様々な構成部品のためにかかった時間およびゲート・カウントを表す。
〔表1〕
署名生成にかかる合計時間は、283ミリ秒である。
楕円曲線デジタル署名暗号プロセスの実施の代表的な他の具体例は、ARM7TDMIマイクロプロセッサを使用して検査された。この実施のため、2つの独立したプラットフォーム‐第2の処理手段のためのFPGAプラットフォーム、および、第3の処理手段のためのARMシミュレータが使用された。ARM7TDMIが強力なプロセッサであるので、ステップCは、第2および第3の処理手段の間で分割される。第2の処理手段および第3の処理手段は、小数点乗算のための倍加算アルゴリズムを使用する。第2の処理および第3の処理手段は、10MHzクロックで動作する。この実施において使用される分割は、第2の処理手段のための123ビットであり、第3の処理手段のために40ビットである。これは、第2の処理手段で実行される小数点乗算は、第3の処理手段での前記小数点乗算を実行するよりほぼ3倍速いことに注目することにより到達される。結果は、以下の表にされた。表は、本発明による楕円曲線デジタル署名暗号プロセスの様々な構成部品のためにかかった時間およびゲート・カウントを表す。
〔表2〕
それで、このアプローチにおける署名生成の時間は181.8ミリ秒である。
本発明において、システムはECDSAの効果的な実施のために開示される。システムは、完全なハードウェアまたは完全なソフトウェアでの実施よりも、むしろハードウェア/ソフトウェア分割アプローチを使用する。この実施において、このシステムは、単純な電力分析を用いたハッカーによるシステムの攻撃を難しくする。
本願明細書において好適なシステムの様々な構成部品が相当強調された一方、多くの変更が作成されることができることはいうまでもなく、その多くの修正は、発明の原則から逸脱することなく好適なシステムにおいて作成されることができる。本願明細書において開示される好適なシステムのこれらおよび他の変化は、発明の他のシステムと同様に当業者にとって明らかであり、それによって、前述の記述的な事柄は単に発明を図示し、制限する意図を有さないと解釈されることが明確に理解される。
楕円曲線デジタル署名暗号プロセスの実施のために使用されるシステムの概要を図示する。 楕円曲線デジタル署名暗号プロセスを実行する一方で、続くステップを示すブロック図を図示する。 小数点乗算ステップの実施のために使用される完全な展開プロセスに関するステップを示すブロック図を図示する。

Claims (25)

  1. 0<d<nであるようにランダムに選ばれた秘密鍵『d』を用いてデータに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システムであって、ここでnは大きい素数であり、このプロセスは、以下のステップ:
    ステップA:署名される前記データ上でのハッシュ演算の実行;
    ステップB:0<k<nである乱数『k』の生成;
    ステップC:『k』、および、y+xz=x+ax+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)を用いた小数点乗算ステップの実行、ここで、aおよびbは、中間結果を得るために少なくとも1つの中間サブ・ステップを使用し、同じ曲線上のまとめられた位置M(x,y)を得るために前記中間結果をまとめ、および座標『x』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である;
    ステップD:剰余演算に続くステップBから得られる前記乱数『k』上で逆数演算を実行することによる数『z1』の計算;
    ステップE:『d』上の乗算演算を実行することによる数『z2』、および、剰余演算に続くステップDから得られる数『z1』の計算;
    ステップF:ステップAから得られるハッシュ変換されたデータ上で乗算演算を実行することにより数『z3』、および剰余演算に続くステップDから得られる数『z1』の計算;
    ステップG:数『z2』上で乗算演算を最初に実行することによる数『s』、それぞれステップEおよびステップCから得られるrの計算、および、剰余演算に続くステップFから得られる『z3』の積での付加的な演算の実行;
    ステップH:署名(r,s)の発信;からなり、
    第1、第2および第3の処理手段間で分割されるように構成される前記システムは、少なくとも前記プロセスのいくつかのステップの部分を並行して実行することを特徴とする認証システム。
  2. 前記プロセスのステップAは前記システムの外側で実行され、前記ハッシュ変換されたデータは前記システムに提供されることを特徴とする請求項1に記載の認証システム。
  3. 前記第1の処理手段は、前記プロセスの少なくともステップBを処理するように構成されることを特徴とする請求項1に記載の認証システム。
  4. 前記第2の処理手段は、論理演算装置を有し、少なくともステップCの一部を処理するように構成されることを特徴とする請求項1に記載の認証システム。
  5. 前記第3の処理手段は、前記プロセスの少なくともステップD、E、F、GおよびH、および任意にステップCの一部を処理するように構成されることを特徴とする請求項1に記載の認証システム。
  6. 前記第1の処理手段は、次のステップ:
    (i)乱数の生成;および、
    (ii)生成された前記乱数の第2および第3の処理手段への発信;
    を実行するように構成され、
    前記第2の処理手段は、次のステップ:
    (i)前記乱数生成手段からの前記乱数の受信;
    (ii)論理演算装置を作動させるためのコマンドの受信;
    (iii)前記プロセスの小数点乗算ステップCの少なくとも一部の実行;
    (iv)前記プロセスの小数点乗算ステップの実行の状態の掲示;および
    (v)前記第3の処理手段への小数点乗算ステップの中間結果の発信;
    を実行するように構成され、
    前記第3の処理手段は、次のステップ:
    (i)ハッシュ変換されたデータの受信;
    (ii)前記第1の処理手段からの前記乱数の受信;
    (iii)前記プロセスのステップD、EおよびFの実行;
    (iv)前記プロセスのステップCの一部の任意の実行;
    (v)前記第2の処理手段からの小数点乗算の中間結果の受信、および、ステップCの結果のまとめ;
    (vi)前記プロセスのステップGおよびHの実行;
    (vii)ステップHの前記署名を出力;
    を実行するように構成されていることを特徴とする請求項1に記載の認証システム。
  7. 前記第1の処理手段は:
    (i)乱数を生成するための乱数発生手段;および
    (ii)生成された前記乱数を前記第2のおよび第3の処理手段に送る発信手段;
    からなることを特徴とする請求項1に記載の認証システム。
  8. 前記第2の処理手段は:
    (i)前記乱数発生手段によって生成された乱数を受信するための受信手段;
    (ii)前記プロセスの小数点乗算ステップの少なくとも一部を実行するための論理演算装置;
    (iii)前記論理演算装置を指示し、作動させるための制御レジスタ手段;
    (iv)前記プロセスの小数点乗算ステップの実行の状態を掲示するための状態レジスタ手段;
    (v)前記小数点乗算ステップの中間結果を第3の処理手段に発信するための発信手段;
    からなることを特徴とする請求項1に記載の認証システム。
  9. 前記3の処理手段は:
    (i)前記第2の処理手段からハッシュ変換されたデータおよび前記小数点乗算の中間結果を受信するための受信手段;
    (ii)前記プロセスのステップD、EおよびFを実行するための計算手段;
    (iii)任意に前記プロセスのステップCの一部を実行して、ステップCの前記最終結果をまとめるための計算手段;
    (iv)前記プロセスステップGおよびHを実行するための計算手段;および
    (v)ステップHの前記署名を発送するための出力手段;
    からなることを特徴とする請求項1に記載の認証システム。
  10. 前記第1の処理手段は、少なくともマイクロプロセッサまたはカスタマイズされたハードウェア論理で構成されたグループから選択されたものであることを特徴とする請求項1に記載の認証システム。
  11. 前記第2の処理手段はハードウェア・アクセラレータであることを特徴とする請求項1に記載の認証システム。
  12. 前記第3の処理手段はマイクロプロセッサであることを特徴とする請求項1に記載の認証システム。
  13. 請求項1に記載の認証システムであって、前記第1および第2の処理手段は、メモリ・マップされた形式の前記第3の処理手段と通信するように構成されたことを特徴とする請求項1に記載の認証システム。
  14. 前記ハードウェア・アクセラレータは、プログラム可能なハードウェア・アクセラレータ、プログラム可能でないハードウェア・アクセラレータ、ハードウェア・アクセラレータカードまたはハードウェア・アクセラレータボードで構成されたハードウェア・アクセラレータのグループから選択された少なくとも1つであることを特徴とする請求項11に記載の認証システム。
  15. 前記第2の処理手段および前記第3の一処理手段は、並行して少なくともステップCの一部、および、ステップCの残りの部分、ステップD、E、Fをそれぞれ実行するように構成されたことを特徴とする請求項1に記載の認証システム。
  16. 前記第2の処理手段は、ステップCのその部分を実行する際、電力は、ステップCの一部、ステップD、E、および、Fを実行する第3の処理手段によって消費される電力によって隠されるよう、電力を消費するように構成されていることを特徴とする請求項1に記載の認証システム。
  17. データに署名する方法であって、0<d<nであるようにランダムに選ばれた秘密鍵『d』を用いた楕円曲線デジタル署名暗号プロセスを使用し、ここで、nは大きい素数であり、このプロセスは、以下のステップ;
    ステップA:署名されるデータ上でのハッシュ演算の実行;
    ステップB:0<k<nである乱数『k』の生成;
    ステップC:ステップBから生成された乱数およびy+xz=x+ax+bタイプの関数を満たす楕円曲線に選ばれる基点G(x,y)での小数点乗算ステップの実行、ここで、aおよびbは、中間結果を得るために少なくとも1つのサブ・ステップを使用し、同じ曲線上のまとめられた位置M(x,y)を得るために前記中間結果をまとめ、および座標『x』上の剰余演算を実行することによって数『r』を計算する基礎バイナリ・フィールドの要素である;
    ステップD:剰余演算に続くステップBから得られる前記乱数『k』上で逆数演算を実行することによる数『z1』の計算;
    ステップE:『d』上の乗算演算を実行することによる数『z2』、および、剰余演算に続くステップDから得られる数『z1』の計算;
    ステップF:ステップAから得られるハッシュ変換されたデータ上で乗算演算を実行することにより数『z3』、および剰余演算に続くステップDから得られる数『z1』の計算;
    ステップG:数『z2』上で乗算演算を最初に実行することによる数『s』、それぞれステップEおよびステップCから得られるrの計算、および、剰余演算に続くステップFから得られる『z3』の積での付加的な演算の実行;
    ステップH:署名(r,s)の発信;
    からなり、
    前記方法は:
    (i)前記第1の処理手段の前記プロセスの少なくともステップBの実行;
    (ii)少なくとも前記第2の処理手段の前記プロセスのステップCの一部の実行;
    および(iii)少なくとも前記第3の処理手段の前記プロセスのステップD、E、F、GおよびHの実行、ステップCの一部の任意の実行;
    からなることを特徴とするデータに署名する方法。
  18. 前記第2の処理手段で実行されるステップCの一部、第3の処理手段で実行されるステップCの残りの一部、ステップD、E、および、Fが、並列に実行されることを特徴とする請求項17に記載のデータに署名する方法。
  19. ステップCのその一部を実行する第2の処理手段によって消費される電力は、ステップCの残りの一部、ステップD、E、およびFの一部を実行するために第3の処理手段により消費される電力によって隠されることを特徴とする請求項17に記載のデータに署名する方法。
  20. 前記小数点乗算ステップは、少なくとも部分的な展開を使用しているフィールド乗算を含むことを特徴とする請求項17に記載のデータに署名する方法。
  21. 前記部分展開は、前記小数点乗算ステップの実施における並列処理を増加させるために使われ、それで性能向上を得ることを特徴とする請求項20に記載のデータに署名する方法。
  22. チップ上のシステム内で方法を一体化し、前記システムをスマートカードに埋め込むことによってスマートカードで実行されることを特徴とする請求項17に記載のデータに署名する方法。
  23. システムバスのスロットを占有しているアドオン・カードにより前記方法を組み込むことによってサーバにおいて実行されることを特徴とする請求項17に記載のデータに署名する方法。
  24. 添付の図面を参照して本願明細書において記載された請求項1に記載の認証システム。
  25. 添付の図面を参照して本願明細書において記載された請求項17に記載のデータに署名する方法。

JP2006142197A 2005-06-03 2006-05-23 データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム Pending JP2006340347A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IN664MU2005 2005-06-03

Publications (1)

Publication Number Publication Date
JP2006340347A true JP2006340347A (ja) 2006-12-14

Family

ID=37103104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006142197A Pending JP2006340347A (ja) 2005-06-03 2006-05-23 データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム

Country Status (4)

Country Link
US (1) US7853012B2 (ja)
EP (1) EP1729442B1 (ja)
JP (1) JP2006340347A (ja)
CA (1) CA2542556C (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163741A (ja) * 2008-01-02 2009-07-23 Arm Ltd セキュアモードおよびノンセキュアモードでデータを処理するデータプロセッサを含むデータ処理装置及びデータ処理方法
WO2012056608A1 (ja) * 2010-10-29 2012-05-03 日本電気株式会社 署名処理装置
JP2013524263A (ja) * 2010-03-31 2013-06-17 イルデト カナダ コーポレーション ホワイトボックス攻撃から暗号化資産を保護するためのシステムと方法
US11669426B2 (en) 2017-06-30 2023-06-06 International Business Machines Corporation Kernel-based power consumption and isolation and defense against emerging power attacks

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7936869B2 (en) * 2005-01-07 2011-05-03 First Data Corporation Verifying digital signature based on shared knowledge
JP5147412B2 (ja) 2005-01-21 2013-02-20 サーティコム コーポレーション 楕円曲線乱数生成
US8488792B2 (en) * 2005-10-26 2013-07-16 Hewlett-Packard Development Company, L.P. Wireless communications validation system and method
US9137012B2 (en) 2006-02-03 2015-09-15 Emc Corporation Wireless authentication methods and apparatus
US8781442B1 (en) * 2006-09-08 2014-07-15 Hti Ip, Llc Personal assistance safety systems and methods
US8050403B2 (en) 2007-03-06 2011-11-01 Research In Motion Limited Method and apparatus for generating a public key in a manner that counters power analysis attacks
US8160245B2 (en) * 2007-03-07 2012-04-17 Research In Motion Limited Methods and apparatus for performing an elliptic curve scalar multiplication operation using splitting
WO2008106794A1 (en) * 2007-03-06 2008-09-12 Research In Motion Limited Elliptical scalar multiplication method for countering power-analysis attacks
US8391479B2 (en) 2007-03-07 2013-03-05 Research In Motion Limited Combining interleaving with fixed-sequence windowing in an elliptic curve scalar multiplication
US8144864B2 (en) * 2007-12-28 2012-03-27 Intel Corporation Method for speeding up the computations for characteristic 2 elliptic curve cryptographic systems
US8332660B2 (en) * 2008-01-02 2012-12-11 Arm Limited Providing secure services to a non-secure application
US8189771B2 (en) * 2009-01-12 2012-05-29 King Fahd University Of Petroleum & Minerals Hash functions with elliptic polynomial hopping
FR2941343B1 (fr) * 2009-01-20 2011-04-08 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst Circuit de cryptographie, protege notamment contre les attaques par observation de fuites d'information par leur chiffrement.
FR2947404B1 (fr) * 2009-06-30 2011-12-16 Sagem Securite Cryptographie par parametrisation sur une courbe elliptique
US8332651B2 (en) * 2010-02-18 2012-12-11 King Fahd University Of Petroleum And Minerals Method of generating a password protocol using elliptic polynomial cryptography
US9213835B2 (en) 2010-04-07 2015-12-15 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US8522052B1 (en) * 2010-04-07 2013-08-27 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US8755517B2 (en) * 2010-12-08 2014-06-17 Total Technology Solutions Co. Method for generic-point parallel elliptic curve scalar multiplication
JP5744574B2 (ja) * 2011-03-07 2015-07-08 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US8769355B2 (en) 2011-06-27 2014-07-01 Freescale Semiconductor, Inc. Using built-in self test for preventing side channel security attacks on multi-processor systems
CN102412971B (zh) * 2011-11-30 2015-04-29 西安西电捷通无线网络通信股份有限公司 基于sm2密钥交换协议的密钥协商方法及装置
US9503259B2 (en) 2012-02-09 2016-11-22 Irdeto B.V. System and method for generating and protecting cryptographic keys
US9448942B2 (en) 2012-08-20 2016-09-20 Freescale Semiconductor, Inc. Random access of a cache portion using an access module
US9092622B2 (en) 2012-08-20 2015-07-28 Freescale Semiconductor, Inc. Random timeslot controller for enabling built-in self test module
US8861721B2 (en) * 2012-12-26 2014-10-14 Umm Al-Qura University System and method for securing scalar multiplication against simple power attacks
US8804952B2 (en) * 2012-12-26 2014-08-12 Umm Al-Qura University System and method for securing scalar multiplication against differential power attacks
CN103427997B (zh) * 2013-08-16 2016-06-22 西安西电捷通无线网络通信股份有限公司 一种生成数字签名的方法及装置
CN105610583B (zh) * 2014-11-04 2018-10-26 上海华虹集成电路有限责任公司 用于抵御错误曲线攻击的ecdsa方法
US9590805B1 (en) * 2014-12-23 2017-03-07 EMC IP Holding Company LLC Ladder-based cryptographic techniques using pre-computed points
ES2888429T3 (es) * 2016-05-31 2022-01-04 Thales Dis France Sas Desarrollo parcial para seguridad de software
IT201600076089A1 (it) * 2016-07-20 2018-01-20 St Microelectronics Srl Procedimento per la generazione di una firma digitale di un messaggio, corrispondenti unita' di generazione, apparato elettronico e prodotto informatico
US10498532B2 (en) * 2016-10-01 2019-12-03 Intel Corporation Parallel computation techniques for accelerated cryptographic capabilities
JP6635323B2 (ja) * 2016-12-15 2020-01-22 日本電気株式会社 アクセストークンシステム、情報処理装置、情報処理方法および情報処理プログラム
US10778407B2 (en) 2018-03-25 2020-09-15 Nuvoton Technology Corporation Multiplier protected against power analysis attacks
CN111712816B (zh) * 2018-03-28 2024-05-03 密码研究公司 使用密码蒙蔽以用于高效地使用蒙哥马利乘法
US10764029B1 (en) * 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm
CN110113169B (zh) * 2019-04-15 2021-11-12 北京三未信安科技发展有限公司 基于rsa的协同数字签名方法、装置及电子设备
CN111125782B (zh) * 2019-12-24 2022-12-09 兴唐通信科技有限公司 一种不可克隆芯片id的验证方法及系统
CN113504895B (zh) * 2021-07-13 2024-02-20 深圳市智芯华玺信息技术有限公司 椭圆曲线多标量点乘计算优化方法及优化装置
CN113676335B (zh) * 2021-10-21 2021-12-28 飞天诚信科技股份有限公司 一种在安全芯片内实现签名的方法及装置
WO2023141933A1 (en) 2022-01-28 2023-08-03 Nvidia Corporation Techniques, devices, and instruction set architecture for efficient modular division and inversion
WO2023141934A1 (en) * 2022-01-28 2023-08-03 Nvidia Corporation Efficient masking of secure data in ladder-type cryptographic computations

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004501385A (ja) * 2000-04-18 2004-01-15 ジェムプリュス 楕円曲線暗号化方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5271061A (en) 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
US20010004872A1 (en) 1995-01-05 2001-06-28 Robert Sullivan Moldable composite building material and method of doing same
US5999626A (en) 1996-04-16 1999-12-07 Certicom Corp. Digital signatures on a smartcard
US6782100B1 (en) 1997-01-29 2004-08-24 Certicom Corp. Accelerated finite field operations on an elliptic curve
DE69840463D1 (de) 1997-03-25 2009-03-05 Certicom Corp Beschleunigte Finite-Feld-Operationen auf einer elliptischen Kurve
US6252959B1 (en) 1997-05-21 2001-06-26 Worcester Polytechnic Institute Method and system for point multiplication in elliptic curve cryptosystem
US6263081B1 (en) 1997-07-17 2001-07-17 Matsushita Electric Industrial Co., Ltd. Elliptic curve calculation apparatus capable of calculating multiples at high speed
US6279110B1 (en) 1997-11-10 2001-08-21 Certicom Corporation Masked digital signatures
US6466668B1 (en) 1998-01-28 2002-10-15 Hitachi, Ltd. IC card equipped with elliptical curve encryption processing facility
US6243467B1 (en) * 1998-07-23 2001-06-05 The United States Of America As Represented By The National Security Agency Method of elliptic curve cryptographic digital signature generation and verification using reduced base tau expansion in non-adjacent form
CA2252078C (en) 1998-10-28 2009-02-17 Certicom Corp. Power signature attack resistant cryptographic system
US6397241B1 (en) 1998-12-18 2002-05-28 Motorola, Inc. Multiplier cell and method of computing
US7599491B2 (en) 1999-01-11 2009-10-06 Certicom Corp. Method for strengthening the implementation of ECDSA against power analysis
US6772184B2 (en) 2000-08-28 2004-08-03 Sun Microsystems, Inc. Method for efficient modular division over prime integer fields
US20040001590A1 (en) 2002-06-27 2004-01-01 Eisentraeger Anne Kirsten Efficient elliptic curve double-and-add calculator
KR100453230B1 (ko) 2002-11-08 2004-10-15 한국전자통신연구원 초타원곡선 암호화 프로세싱 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004501385A (ja) * 2000-04-18 2004-01-15 ジェムプリュス 楕円曲線暗号化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6011062687; T. Izu and T. Takagi: 'A Fast Parallel Elliptic Curve Multiplication Resistant against Side Channel Attacks' Public Key Cryptography (PKC 2002) LNCS 2274, 2002, pp. 280-296 *
JPN6011062687; T. Izu and T. Takagi: 'A Fast Parallel Elliptic Curve Multiplication Resistant against Side Channel Attacks' Public Key Cryptography (PKC 2002) LNCS 2274, 2002, pp. 280-296, [online] *
JPN6012032841; W. Fischer, C. Giraud, E.W. Knudsen, and J.-P. Seifert: 'Parallel scalar multiplication on general elliptic curves over Fp hedged against Non-Differential Si' Cryptology ePrint Archive Report 2002/007, 20020109, [online] *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163741A (ja) * 2008-01-02 2009-07-23 Arm Ltd セキュアモードおよびノンセキュアモードでデータを処理するデータプロセッサを含むデータ処理装置及びデータ処理方法
US8775824B2 (en) 2008-01-02 2014-07-08 Arm Limited Protecting the security of secure data sent from a central processor for processing by a further processing device
JP2013524263A (ja) * 2010-03-31 2013-06-17 イルデト カナダ コーポレーション ホワイトボックス攻撃から暗号化資産を保護するためのシステムと方法
US9009481B2 (en) 2010-03-31 2015-04-14 Irdeto Canada Corporation System and method for protecting cryptographic assets from a white-box attack
WO2012056608A1 (ja) * 2010-10-29 2012-05-03 日本電気株式会社 署名処理装置
US11669426B2 (en) 2017-06-30 2023-06-06 International Business Machines Corporation Kernel-based power consumption and isolation and defense against emerging power attacks

Also Published As

Publication number Publication date
CA2542556C (en) 2014-09-16
US7853012B2 (en) 2010-12-14
EP1729442A3 (en) 2007-05-23
US20060285682A1 (en) 2006-12-21
EP1729442A2 (en) 2006-12-06
CA2542556A1 (en) 2006-12-03
EP1729442B1 (en) 2018-08-08

Similar Documents

Publication Publication Date Title
JP2006340347A (ja) データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム
Rodriguez-Henriquez et al. A brief introduction to modern cryptography
Boneh Twenty years of attacks on the RSA cryptosystem
US20080240443A1 (en) Method and apparatus for securely processing secret data
Tanwar et al. Efficient and secure multiple digital signature to prevent forgery based on ECC
Dhanda et al. Demystifying elliptic curve cryptography: Curve selection, implementation and countermeasures to attacks
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
Ullah et al. A perspective trend of hyperelliptic curve cryptosystem for lighted weighted environments
Bhat et al. Impact of computational power on cryptography
Avestro et al. Hybrid Algorithm Combining Modified Diffie Hellman and RSA
Tahat Convertible multi-authenticated encryption scheme with verification based on elliptic curve discrete logarithm problem
JP2003255831A (ja) 楕円曲線スカラー倍計算方法及び装置
Sundararajan et al. A comprehensive survey on lightweight asymmetric key cryptographic algorithm for resource constrained devices
Ahirwal et al. Signcryption scheme that utilizes elliptic curve for both encryption and signature generation
KR101112570B1 (ko) 전력 분석 및 오류 주입 공격에 안전한 디지털 서명 장치, 방법 및 그 기록 매체
Mohapatra Signcryption schemes with forward secrecy based on elliptic curve cryptography
KR100953716B1 (ko) Crt-rsa 기반의 비트 연산을 이용한 디지털 서명방법, 그 장치 및 이를 기록한 기록 매체
Lone et al. Common attacks on RSA and its variants with possible countermeasures
Preneel An introduction to modern cryptology
Abdulnabi Elliptic Curve Implementation and its Applications: A Review
Yuvarani et al. Enhancing Data Security in Peer-to-Peer Networks Using Optimized RSA Algorithm
Prajwal Digital Signature Algorithm: A Hybrid Approach
Tejashwini et al. Mobile communication security using Galios Field in elliptic curve Cryptography
Kaur et al. A Study on Efficient Information Security using Elliptic Curves
Alzeinat A signcryption approach based on rabin digital signature schemes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120305

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120308

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120405

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120410

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120502

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121204