JP5329676B2 - 鍵合意プロトコルの加速 - Google Patents

鍵合意プロトコルの加速 Download PDF

Info

Publication number
JP5329676B2
JP5329676B2 JP2011541044A JP2011541044A JP5329676B2 JP 5329676 B2 JP5329676 B2 JP 5329676B2 JP 2011541044 A JP2011541044 A JP 2011541044A JP 2011541044 A JP2011541044 A JP 2011541044A JP 5329676 B2 JP5329676 B2 JP 5329676B2
Authority
JP
Japan
Prior art keywords
key
public key
long
computer device
term
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.)
Active
Application number
JP2011541044A
Other languages
English (en)
Other versions
JP2012512574A (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 JP2012512574A publication Critical patent/JP2012512574A/ja
Application granted granted Critical
Publication of JP5329676B2 publication Critical patent/JP5329676B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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
    • 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
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

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

Description

(技術分野)
以下は、暗号化システムに関し、より具体的には、共通秘密鍵を計算する方法および装置に関する。
(従来技術の説明)
公開鍵暗号化は、公衆ネットワーク上を伝送される情報に対するセキュリティを提供するために使用される。多数の暗号プロトコルが、セキュリティ、完全性、および認証を提供するために利用可能である。それらのセキュリティは、因数分解および離散対数問題等の、ある数学問題の明白な取り扱い難さに基づいている。これらは通常、計算能力の限定およびバッテリ電力の利用可能性を有する。公開鍵スキームは、利用可能である以上の計算能力を必要とすることがある。大抵の暗号化システムでは、多数のビットを有するパラメータが、より優れたセキュリティを提供するが、通常、速度の減少という不利益を負う。そのような環境においては、楕円曲線暗号化(ECC)が、RSA等の他の暗号化システムと比べて少ない数のビットを有するパラメータを有する必要レベルのセキュリティを提供するので、特に魅力的である。計算は、操作されなければならないデータがより少量であるほど、それに対応してより高速になる。セキュリティは、携帯電話、ポケットベル、およびスマートカードを含む、移動コンピュータデバイス等の制約環境における要件である。強化されたセキュリティに対する継続的な需要を考慮して、可能な限り迅速に暗号動作を最適化し、それにより、既存のプロトコルのより高いセキュリティ実装を実行可能にする継続的な必要がある。
デジタル署名は、認証を提供するために使用される暗号プロトコルの類である。全ての公開鍵システムの場合のように、送信者が、非公開鍵と、数学的に相互に関係付けられる対応する公開鍵とを有する。公開鍵は、証明書またはディレクトリを通して、他のユーザに利用可能となり、認証される。送信者は、非公開鍵を使用してメッセージに署名し、受信者は、真正の公開鍵を使用することによって署名を検証することができる。そのようなシステムは、大きい素数の積によって生じる数の因数分解、および有限フィールドで対数を得ることの困難等の、「難しい」数学問題に基づいている。根本的な問題の困難は、非公開鍵の所有者のみが、その所有者の公開鍵を使用して検証する署名を生成できるという保証を提供することである。
ユーザは、データ通信ネットワーク上で情報を交換するコンピュータデバイスであり、概して通信者と呼ばれる。通信者は、説明を簡単にするために、Alice、Bob等の個人名によって口語的に呼ばれる。
しばしば、関心の対象は、公開鍵暗号システムの2人のユーザの間で秘密鍵を共通にし、次いで、それは暗号化されたデータを交換するために対称鍵暗号化スキームにおいて使用され得ることである。対称鍵プロトコルは、データを暗号化することにおいて公開鍵プロトコルよりも高速であるが、通信者間での共通秘密鍵の確立が難しい。公開鍵暗号システムは、一対の通信者が共通秘密鍵を確立し得るように、共通鍵を確立するために使用され得る。この秘密鍵は、対称鍵スキームを使用して、将来の通信を確保するために使用することができる。1つの部類の鍵確立プロトコルは、鍵輸送プロトコルであって、これにおいては、単一のイニシエータが秘密鍵を作成し、それを受信者に安全に転送する。別の部類の鍵確立プロトコルは、鍵合意プロトコルであって、これにおいては、全ての参加エンティティが、共通秘密鍵を導出するために使用される情報に寄与する。
例えば、本発明は以下の項目を提供する。
(項目1)
公開鍵暗号システムに関与する一対の通信者のうちの一方において共通鍵を生成する方法であって、該共通鍵は、データ通信チャネル上でもう一方の通信者と通信している該一方の通信者によって使用され、該通信者の各々は、長期非公開鍵および対応する長期公開鍵をそれぞれ有し、該共通鍵は、該通信者のうちの一方の長期非公開鍵と該通信者のうちのもう一方の長期公開鍵および一時公開鍵との組み合わせの形態を有し、該方法は、
a)該一方の通信者が、該もう一方の通信者の該長期公開鍵を取得するステップと、
b)該一方の通信者が、該もう一方の通信者の該一時公開鍵が該もう一方の通信者の該長期公開鍵と同じか否かを決定するステップと、
c)該もう一方の通信者の該長期公開鍵と該一時公開鍵とが同じであることを決定すると、該一方の通信者は、該共通鍵を生成する際に、該もう一方の通信者の該長期公開鍵および該一時公開鍵の両方として該もう一方の通信者の該長期公開鍵を利用するステップと、
d)該通信者の間で情報を交換するために該共通鍵を利用するステップと
を含む、方法。
(項目2)
上記もう一方の通信者の上記長期公開鍵と上記一時公開鍵とが同じであることを決定すると、上記一方の通信者は、上記組み合わせの同等表現を計算することによって上記共通鍵を生成する、項目1に記載の方法。
(項目3)
上記共通鍵は、上記一方の通信者の中間値を上記もう一方の通信者の上記長期公開鍵と組み合わせ、該中間値は、該一方の通信者の上記長期非公開鍵および長期公開鍵を該一方の通信者の一時非公開鍵と結合させる、項目2に記載の方法。
(項目4)
項目3または4のうちのいずれか一項に記載の方法であって、
上記暗号システムは、加算群上で実装され、上記共通鍵は、
Figure 0005329676

に依存し、R は、上記もう一方の通信者の一時公開鍵であり、Q は、該もう一方の通信者の長期公開鍵であり、
Figure 0005329676

は、R から導出される整数であり、該方法は、上記一方の通信者が、形態vQ を有する同等表現から上記共通鍵Kを計算するステップをさらに含み、ここに、vは、
Figure 0005329676

に依存している、方法。
(項目5)
項目4に記載の方法であって、
上記共通鍵は、ECMQV鍵合意プロトコルに従って生成され、形態
Figure 0005329676

を有し、ここに、hは、楕円曲線群の余因数であり、s は、上記中間値であり、該方法は、vQ として上記共通鍵Kを計算するステップをさらに含み、ここに、
Figure 0005329676

である、方法。
(項目6)
項目3に記載の方法であって、
上記共通鍵は、乗法群上で実装されるMQV鍵合意プロトコルに従って生成され、形態
Figure 0005329676

の共通鍵を必要とし、ここに、
は、上記もう一方の通信者の上記一時公開鍵であり、
は、該もう一方の通信者の上記長期公開鍵であり、

Figure 0005329676

は、該一時公開鍵から導出される整数であり、
は、上記中間値であり、該方法は、Q として該共通鍵を計算するステップをさらに含み、ここに、y=hs +hs であり、hは、群の余因数である、方法。
(項目7)
項目3に記載の方法であって、
上記共通鍵は、MTI鍵合意プロトコルに従って生成され、形態K=(α を有し、ここに、
α は、上記もう一方の通信者の一時公開鍵であり、
は、該もう一方の通信者の長期公開鍵であり、
xは、上記一方の通信者の一時非公開鍵であり、
aは、該一方の通信者の長期非公開鍵であり、
該方法は、該一方の通信者がK=(Z a+x として該共通鍵を計算するステップをさらに含む、方法。
(項目8)
上記鍵が同じか否かを決定するために、上記もう一方の通信者から受信された上記短期公開鍵および上記長期公開鍵を比較するステップを含む、項目2〜7のうちのいずれか一項に記載の方法。
(項目9)
上記公開鍵が同じであるという指標について、上記もう一方の通信者から受信されたメッセージを調査するステップと、該指標を識別すると上記同等表現を計算するステップとを含む、項目2〜7のうちのいずれか一項に記載の方法。
(項目10)
上記同等表現は、上記長期公開鍵の線形結合であり、上記方法は、該長期公開鍵から導出される事前計算された値から上記共通鍵を累積するステップを含む、項目2〜7のうちのいずれか一項に記載の方法。
(項目11)
上記暗号システムは、加算群上で実装され、上記事前計算された値は、上記長期公開鍵の倍数である、項目10に記載の方法。
(項目12)
上記暗号システムは、乗法群上で実装され、上記事前計算された値は、上記長期公開鍵のべき乗の結果である、項目10に記載の方法。
(項目13)
通信リンク上で通信し、共通鍵を共通する一対の通信者を有する暗号化システムであって、該共通鍵は、項目1〜12のうちのいずれか一項に記載の方法に従って該通信者のうちの少なくとも一方によって生成される、暗号化システム。
(項目14)
暗号化システムの中の一方の通信者と関連付けられる暗号モジュールであって、該モジュールは、
コントローラと、
もう一方の通信者の一時および長期公開鍵と該一方の通信者の非公開鍵との組み合わせから共通鍵を生成するように動作可能である算術論理演算ユニットと、
該もう一方の通信者の該一時公開鍵と長期公開鍵とが同じであるか否かを決定するように動作可能であるコンパレータと
を備え、該コントローラは、該鍵が同じであると該コンパレータが決定する場合に、該共通鍵の計算において該一時公開鍵として該長期公開鍵を利用することを該算術演算ユニットに命令するように動作可能である、モジュール。
(項目15)
上記コントローラは、上記共通鍵を計算する際に上記組み合わせの同等表現を計算することを上記算術論理演算ユニットに指図するように動作可能である、項目14に記載の暗号モジュール。
(項目16)
上記もう一方の通信者の上記長期公開鍵から導出される事前計算された値は、メモリに記憶され、上記算術論理演算ユニットは、上記共通鍵を計算する際に該事前計算された値を使用するように動作可能である、項目15に記載の暗号モジュール。
(項目17)
上記コンパレータは、上記長期公開鍵および上記一時鍵を表す一対の値を比較するように動作可能である、項目14に記載の暗号モジュール。
(項目18)
上記コンパレータは、指標を既知の値と比較するように動作可能である、項目14に記載の暗号モジュール。
ここで、添付図面を参照して、一例のみとして実施形態を説明する。
図1は、暗号化システムの概略図である。 図2は、ECMQVプロトコルを使用した鍵合意の既知の方法を示す、フローチャートである。 図3は、図2からの組込み鍵検証ステップの詳細を示す、フローチャートである。 図4は、ECMQVによる加速鍵合意の実施形態を示す、フローチャートである。 図5は、一方の通信者によって行われる、図4からの共通秘密鍵の加速計算の詳細を示す、フローチャートである。 図6は、一方の通信者によって行われる、図4からの共通秘密鍵の加速計算の詳細を示す、フローチャートである。 図7は、別の通信者によって行われる、図4からの共通秘密鍵の加速計算の詳細を示す、フローチャートである。 図8aは、ECMQVプロトコルを使用した同時スカラー乗法の既知の方法を示す、フローチャートである。図8bは、図6および7の技法を使用した同時スカラー乗法の加速方法を示す、フローチャートである。 図9は、乗法群上でMQVプロトコルを使用した鍵合意の既知の方法を示す、フローチャートである。 図10は、乗法群上でMQVプロトコルを使用した加速鍵合意の実施形態を示す、フローチャートである。 図11aは、図9からの同時べき乗の方法を示す、フローチャートである。図11bは、図10からの加速同時べき乗の方法を示す、フローチャートである。 図12は、並列アーキテクチャとともにMQVプロトコルを使用した加速鍵合意の代替実施形態を示す、フローチャートである。 図13は、単一鍵転送とともにMQVプロトコルを使用した加速鍵合意の代替実施形態を示す、フローチャートである。 図14は、並列アーキテクチャおよび単一鍵転送とともにMQVプロトコルを使用した加速鍵合意の代替実施形態を示す、フローチャートである。 図15は、単一鍵転送とともにMQVプロトコルを使用した加速鍵合意の別の代替実施形態を示す、フローチャートである。 図16は、並列アーキテクチャおよび単一鍵転送とともにMQVプロトコルを使用した加速鍵合意の別の代替実施形態を示す、フローチャートである。 図17は、MTIプロトコルの代替実施形態を示すフローチャートである。
MQV(Menezes、Qu、Vanstone)プロトコルは、公開鍵暗号システムの2人のユーザの間で鍵を共通する方法を提供し、鍵の認証を提供する鍵合意プロトコル群に属する。このプロトコルは、米国特許第5,761,305号、米国特許第5,889,865号、米国特許第5,896,455号、および米国特許第6,122,736号で説明されている。
それには、いくつかの変形があり、そのうちのいくつかは標準化され、したがって、以下の説明の基礎として使用される。MQV鍵合意プロトコルは、有限フィールド上で定義される両方の乗法群で、または楕円曲線群等の加算群を使用して、実装されてもよい。一般的アルゴリズムは、両方の場合において同様のままである。MQVの表記が、以下の表に挙げられる。
Figure 0005329676
MQVプロトコルの乗法群バージョンが、以下で説明される。具体的には、一対の通信者AliceとBobとが、Kとして示される鍵を共通するために、2パスMQV変形を使用する。
1.Aliceが、間隔1から(q−1)までにおいてランダムにkを選択し、ここに、qは群の位数である。
2.Aliceが、
Figure 0005329676
を計算し、それをBobに送信し、ここに、gは群の生成器である。
3.Bobが、間隔1から(q−1)までにおいてランダムにkを選択する。
4.Bobが、
Figure 0005329676
を計算し、それをAliceに送信する。
5.Aliceが、s=(k+d)modqを計算し、共通秘密鍵が
Figure 0005329676
になる。
6.Bobがs=(k+d)modqを計算し、共通秘密鍵が
Figure 0005329676
になる。
鍵合意プロトコルの計算上の集中的部分は、Kを決定する際に行われるべき乗である。
MQVプロトコルがANSI X9.62およびIEEE P1363規格で標準化されたと鍵に、プロトコルをより効率的にするために切捨て演算が導入された。標準化されたようなMQVプロトコルは、指数のビット長を縮小するために切捨て演算を使用し、
Figure 0005329676
によって示される。
切捨て演算の使用は、指数がより短いので、計算を加速し、この切捨ては、プロトコルのセキュリティに影響を及ぼさないと考えられる。
MQVプロトコルの別のバージョンは、以下で説明される鍵確認とともに3パス変形を使用する楕円曲線MQV(ECMQV)プロトコルである。
1.Aliceが、間隔1から(q−1)までにおいてランダムにkを選択し、ここに、qは群の位数である。
2.Aliceが、R=kPを計算し、RおよびQをBobに送信し、ここに、Pは、楕円曲線群の要素を生成する曲線上の点である。
3.Bobが、Rの組込み鍵検証を行い、Rが無限大に位置しない点であり、群の要素であり、かつ楕円曲線上に位置する点であることを確実にする。
4.Bobが、間隔1から(q−1)までにおいてランダムにkを選択する。
5.Bobが、R=kPおよび
Figure 0005329676
および
Figure 0005329676
を計算し、ここに、hは群の余因数である。
6.Kは座標(x,y)を有する点であり、Bobは、その入力としてKのx座標を用いて、鍵導出作用(KDF)を実行し、2つの付属鍵kおよびkを導出する。これは、(k,k)←KDF(x)として示される。
7.Bobがメッセージ認証コード(MAC)を使用してタグtを計算する。これは、
Figure 0005329676
として示される。
8.Bobがt、Q、RをAliceに送信する。
9.AliceがRの組込み公開鍵検証を行い、Rが無限大に位置しない点であり、群の要素であり、かつ楕円曲線上に位置する点であることを確実にする。
10.Aliceが
Figure 0005329676
および
Figure 0005329676
を計算し、ここに、hは群の余因数である。
11.Aliceが上記のステップ6で説明されるような(k,k)を計算する。
12.Aliceが
Figure 0005329676
を計算し、t=tであることを検証する。
13.Aliceが
Figure 0005329676
を計算し、tをBobに送信する。
14.Bobが
Figure 0005329676
を計算し、t=tであることを検証する。
15.次いで、合意したセッション鍵がkになる。
上記で説明される乗法群の実装と同様に、加算群を使用するECMQVプロトコルは、Kを決定するために、点乗法とも呼ばれるスカラー乗法を実装すると鍵に計算において最も集中的である。
べき乗およびスカラー乗法の両方の場合に、Kを計算すると鍵の効率を増加させるために使用されるいくつかの方法がある。1つの方法は、例えば、並行してそれぞれのK値を計算するために、通信者AliceとBobとを組織化することによって、アルゴリズム効率を増加させる。しかしながら、このアーキテクチャ変更は、計算強度を低減しない。
ここで図1を参照すると、暗号化システム10は、概して、通信チャネル16上で「Bob」と呼ばれる第2の通信者14と通信する「Alice」と呼ばれる第1の通信者12を備える。各通信者12、14は、指定された機能を果たすために必要なプロセッサ、メモリ、電力供給、入力および出力デバイスを含む、コンピュータ、サーバ、携帯電話、PDA、ATM、または同等物等のコンピュータデバイスである。各通信者12、14は、暗号動作の入力、出力、および中間部分を記憶するための独自のメモリ20を有するか、または通信者(12、14)の一部である外部メモリ20にアクセスできる暗号モジュール18を含む。図1に示された実施例では、第1の通信者12は、暗号モジュール18の外部にあるメモリ20を含み、第2の通信者14は、データを記憶する能力を任意の好適な配設で提供できることを図示するように、暗号モジュール18の内部にあるメモリ20を含むことが分かる。また、必要または所望であれば、メモリ20は、通信者12、14の外部にあり、(例えば、ネットワーク接続等を介して)アクセス可能となり得ることが理解されるであろう。
暗号モジュール18は、暗号化/暗号解読、署名、およびモジュラー演算等の暗号動作を行うように構成される。典型的には、暗号モジュール18は、乱数発生器22と、非公開鍵を記憶するための安全な記憶装置30と、暗号動作を行うための算術論理演算ユニットALU28とを含む。
メモリ30は、メモリ20(図1に示される)の全体または一部を備えてもよく、または示されるような暗号モジュール18の中の別個の構成要素として提供されてもよいことが理解されるであろう。メモリ30は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、および/または任意の他の種類の好適なメモリ構造を含んでもよい。
ALU28の計算動作は、コントローラ24の中に存在するか、またはコントローラ24にアクセス可能であり、かつ命令バス35を介してALU28に伝達される、配線またはプログラムされた命令を介して制御される。ALU28の操作を行い、結果を出力する時に、コントローラ24がメモリ30を利用することを可能にするように、メモリバス36も提供される。ALU28は、コントローラ24の指図の下で種々の動作を行うために使用されてもよい。
命令を実行する、本明細書において例示される任意のモジュールまたは構成要素は、記憶媒体、コンピュータ記憶媒体、または、例えば、磁気ディスク、光ディスク、あるいはテープ等のデータ記憶デバイス(取外し可能および/または取外し不可能)等の、コンピュータ可読媒体を含んでもよく、または別様にそれらにアクセスできてもよいことが理解されるであろう。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報を記憶するための任意の方法または技術で実装される、揮発性および不揮発性、取外し可能および取外し不可能媒体を含んでもよい。コンピュータ記憶媒体の実施例は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶デバイス、または、所望の情報を記憶するために使用することができ、アプリケーション、モジュール、または両方によってアクセスすることができる任意の他の媒体を含む。任意のそのようなコンピュータ記憶媒体は、コントローラ24の一部であってもよく、またはそこにアクセス可能あるいは接続可能であってもよい。本明細書で説明される任意のアプリケーションまたはモジュールは、そのようなコンピュータ可読媒体によって記憶または別様に保持されてもよいコンピュータ可読/実行可能命令を使用して実装されてもよい。
暗号モジュールはまた、メモリ20に記憶されたデータを比較するためのコンパレータ39も含む。
通信者12、14はそれぞれ、有限フィールドFp上で定義される楕円曲線群Eと、楕円曲線暗号システムのパラメータを共通する。基準点Pを含むパラメータは、メモリ30に記憶され、コントローラ24にアクセス可能である。同様の動作が、拡大体またはハイパー楕円曲線等の高次種数曲線上で、楕円曲線を実装することができる。
各通信者12、14は、それぞれ整数を表すコンピュータ可読ビット列の形態である長期非公開鍵d、dと、それぞれ対応する長期公開鍵Q、Qとを有する。公開鍵Q、Qは、楕円曲線の式を満たす基礎フィールドの中の一対の要素である。公開鍵は、点の(x,y)座標を表す要素を有する楕円曲線上の点を表す。各通信者12、14は、一方の通信者からもう一方の通信者に提供され、認証機関(CA)によって署名される証明書として、またはCAから直接、もう一方の通信者の長期公開鍵の真正コピーにアクセスできる。
MQVプロトコルとして例示される鍵合意プロトコルを使用して、通信者間で秘密鍵を共通することが望ましい。特に、鍵のある条件を考慮して、効率的な計算を提供するために、MQVプロトコルによって要求される通信者間の情報の交換を組織化できることが、現在では認識されている。
特に、第2の通信者の短期公開鍵および長期公開鍵がMQV鍵合意交換において同一であることを第1の通信者が知っている時に、第1の通信者は、2つの演算または線形結合の代わりに、単一のスカラー乗法演算または単一のべき乗演算を使用して、MQV共通秘密鍵の計算を加速することができる。共通秘密鍵Kを決定するために必要とされる、低減した数の集中的計算のが、MQVプロトコルを加速する。
通信者の一時公開鍵および長期公開鍵は、非意図的または意図的に同一であってもよい。意図的に一時公開鍵を長期公開鍵と同一に設定することが好適である、状況があってもよい。例えば、受信者が一時公開鍵を送信することが好ましくないか、または実行可能ではなく、したがって、受信者の一時公開鍵が長期公開鍵と同一にされる、eメール等の状況があってもよい。さらに別の状況では、証明書とも呼ばれる認証された公開鍵が必要とされながらも利用可能ではない場合がある。例えば、金融機関のオンラインサーバが証明書を使用して動作してもよい一方で、オンラインバンキングクライアントは、証明書なしでサーバに安全に接続するためにインターネットブラウザを使用する。クライアントは、クライアントの一時の鍵および長期鍵が意図的に同一に設定されるため、銀行のサーバと接続するために証明書を必要としなくてもよい。
3パスECMQVプロトコルを通して共通秘密鍵を計算する方法が、概して数字200によって図2で示されている。図2に示されたステップは、その内側でECMQVプロトコルの加速が得られてもよい、フレームワークを表す。ECMQVの加速が検討されないと仮定すると、Aliceがセッションを開始して一式の命令(210)を実装し、その場合、最初に、1から(q−1)までの間で一時非公開鍵kとして整数をランダムに選択し(212)、ここに、qは群の位数である。Aliceは、R=kPに従って曲線上の点として一時公開鍵Rを計算し(214)、ここに、点Pは群生成器である。次いで、Aliceは、長期公開鍵Qおよび一時公開鍵RをBobに送信する(216)。
次いで、Bobが一式の命令(220)を行う。Bobは、1から(q−1)までの間で独自の一時非公開鍵kをランダムに選択する(224)前に、受信した公開鍵Rに組込み公開鍵検証(300)を行う。組込み鍵検証は、数字300によって図3で詳細に示されている。第1に、公開鍵、この場合Rは、Rが無限大における点ではない、すなわちR≠∞という条件に従って検証される(302)。この条件(302)が真である場合には、Rのデカルト座標が有限フィールドF内で適正に表されるように、次の条件(304)が検証される。最後に、Rがパラメータaおよびbによって定義される楕円曲線上に位置するか否かを確かめる(306)ように、Rの座標が楕円曲線の方程式に挿入される。全ての条件が満たされた場合、アルゴリズムが「有効」を返信する(308)。条件のうちのいずれの満たされない場合には、アルゴリズムが「無効」を返信する(310)。
再び図2に戻ると、Bobが鍵Rの妥当性を立証し(300)、一時非公開鍵kをランダムに選択した(224)後、R=kPに従って、対応する一時公開鍵Rを計算し続ける(226)。これは、中間値
Figure 0005329676
を計算するために使用される(228)。
Figure 0005329676
は、ビット長を縮小し、それにより、計算効率を増加させるために、Rの短縮バージョンである。共通秘密鍵Kは、
Figure 0005329676
に依存する。例示されるように、鍵Kは、
Figure 0005329676
に従って計算され(230)、ここに、hは群の余因数である。Kのx座標は、好適な鍵導出関数(KDF)を通して2つの他の秘密鍵kおよびkを導出するために使用される(232)。これらの秘密鍵k、kは、メッセージ認証コード(MAC)を使用して認証タグを計算するために使用される。Bobは、
Figure 0005329676
に従って認証タグtを計算するために秘密鍵kを使用する(234)。列「2」は、タグが応答者に由来することを示すようにMAC入力に含まれる。次いで、Bobは、パラメータQ、R、およびtをAliceに渡す(236)。
Bobからパラメータを受信すると、Aliceは別の一連の命令(240)を進める。Aliceは、Rに組込み公開鍵検証(300)を行い、次いで、中間値
Figure 0005329676
を計算する(244)。共通秘密鍵Kは、この実施例では
Figure 0005329676
に従って、
Figure 0005329676
に依存する(246)。同じKDFが、KDF(x)が秘密鍵k、kを生じるように、Kのx座標、すなわち、xに適用される(232)。Aliceは、認証タグ
Figure 0005329676
を計算し(250)、t=tを検証する(252)。タグの平等性が検証された場合、Aliceは、
Figure 0005329676
である2次認証タグを計算して(254)、Bobに送信する(256)。列「3」は、タグがイニシエータに由来することを示すようにMAC入力に含まれる。
次いで、次の一式の命令(260)で、Bobが対応するタグ
Figure 0005329676
を計算し(262)、t=tであることを検証する(264)。AliceおよびBobのデバイスの両方で、条件t=tが真である場合には、両方の秘密鍵kおよびkが共通されている。認証タグtおよびtの検証の成功は、(タグの計算がkの知識、したがってKの知識も必要とするため)もう一方のエンティティが確かに共通秘密鍵Kを計算していること、通信が改ざんされていないこと(MACが安全であると仮定する)、および(アイデンティティがMACされるメッセージに含まれるため)もう一方のエンティティが通信しているエンティティのアイデンティティを知っていることを、各エンティティに確信させる。上記の条件を検証した後、ECMQVプロトコルは、KDFから導出された、合意秘密セッション鍵k(270)を返信する。次いで、セッション鍵kは、kの下で対称暗号化を使用して、通信チャネル16上で情報を交換するために使用されてもよい。
ECMQVプロトコル内の任意のステップで、検証過程が「真」を返信しなければ、プロトコルは終了される。
上記で説明されるECMQVプロトコルの最も計算上集中的側面は、より一般的には点乗法と呼ばれる、スカラー乗法演算である。ECMQVプロトコルの効率は、共通秘密鍵を計算するために必要とされる数のスカラー乗法を使用して測定される。図2および3で説明されたプロトコルでは、Aliceがスカラー乗法を行って
Figure 0005329676
を計算し(246)、Bobがスカラー乗法を行って
Figure 0005329676
を計算する(230)。具体的には、AliceおよびBobの両方がそれぞれ、1.5スカラー乗法を行って、上記の形式でKを計算する。Aliceの場合、ALU(28)が
Figure 0005329676
を計算する(246)。括弧の項
Figure 0005329676
内で、乗法
Figure 0005329676
が行われ、ここに、
Figure 0005329676
は整数であり、Qは楕円曲線上の点である。
Figure 0005329676
が切り捨てられ、より短いビット長を有するため、演算
Figure 0005329676
には、スカラー乗法の半分、または0.5のスカラー乗法を費やす。次のスカラー乗法は、整数hsと楕円曲線点
Figure 0005329676
との間で積を計算する時に発生し、それには、1つの完全スカラー乗法を費やす。したがって、Kの計算には、合計(1+0.5)=1.5のスカラー乗法を費やす。
スカラー乗法の数を削減し、それにより、鍵合意プロトコルを加速するために、R=Qおよび/またはR=Qであるように、通信者の一対の公開鍵が等しい時に、スカラー乗法の代償がさらに削減されてもよいという認識に基づいて、図3のフレームワークが、図4に示されるように適合される。Bobにとって、加速計算はR=Qである時に発生し、それは、共通秘密鍵計算が簡略化してK=uQになることを可能にし、ここに、単純化因数uは、
Figure 0005329676
に依存する。特定の実施例では、
Figure 0005329676
である。同様に、Aliceにとって、加速計算はR=Qである時に発生し、それは、共通秘密鍵計算が簡略化してK=vQになることを可能にし、ここに、単純化因数vは、
Figure 0005329676
に依存する。この実施例では、
Figure 0005329676
である。共通秘密鍵を計算するために、1.0のスカラー乗法代償が必要とされる。したがって、図4で説明されたプロトコルは、図3で説明されたものよりも33%ほども速く実装することができる。
図4を参照すると、一対の同一公開鍵が通信者によって使用されることが識別される時に、スカラー乗法の数を削減することによってECMQVプロトコルを加速する実施形態が示されている。この実施形態では、AliceおよびBobは、意図的に、それぞれの一時公開鍵をそれらの長期公開鍵と同一に設定する。加速アルゴリズムは、一時非公開鍵kをランダムに選択すること(212)、長期鍵Qと等しくなるように、一時公開鍵Rを意図的に選択すること(215)、ならびにQおよびRをBobに送信すること(216)を含む、命令のブロック(211)をAliceが行うことから始まる。
一対の公開鍵を受信すると、Bobは鍵が同一であるか否かを決定する。図4に示されるように、Bobは、最初にQおよびRを比較する(612)ことによって、一連の命令(610)を行い始める。QがRに等しくない場合、Bobは一式のステップ221を続ける。図5を参照すると、セット221がより詳細に示されている。セット221はセット220で以前に説明された一式のステップと同様であるが、セット221は、一時非公開鍵kを使用してRを計算しない。代わりに、セット221では、Bobは、ステップ227の通り、Qと等しくなるようにRを意図的に選択する。
しかしながら、図4の決定過程でQおよびRが等しいと識別される(612)場合には、Bobは加速スカラー乗法形式を採用する(701)。図6を参照すると、第1に、Bobは、Rの組込み公開鍵検証を行い(300)、1から(q−1)までの間でkをランダムに選択し(712)、次いで、Qと等しくなるようにRを意図的に選択する(715)。中間成分sが計算され(716)、その後に単純化因数
Figure 0005329676
が続く(718)。これは、単純化スカラー乗法形式を使用して共通秘密鍵K=uQを計算するために使用される(720)。次いで、KDF(x)を使用して、2つの鍵kおよびkが導出される(722)。次いで、Bobは、MACアルゴリズムを使用して認証タグtを計算する(724)。次いで、Q、R、およびtをAliceに送信する(726)。
Bobは、Aliceが意図的に一時公開鍵Rを長期公開鍵Qと等しく設定してもよいことを確信していない場合に、公開鍵比較(612)を実行してもよいことが理解される。例えば、事前に確立された何らかの合意を通して、Aliceの一時および長期公開鍵が同一であるとBobが決定した場合には、Bobは、公開鍵比較(612)を実装しないことを選択し、それにより、計算負荷を低減してもよい。したがって、Aliceの一対の公開鍵を受信すると、Bobは、加速スカラー乗法形式を直接採用してもよい(701)。つまり、ステップ216は、公開鍵が同一であることが事前に理解されている場合、ステップ701に直接進んでもよい。Bobが意図的に一時および長期公開鍵を同一に設定していることをAliceが知っていると考慮して、Aliceも比較(616)を行わないことを選択してもよいことが理解される。同様に、ステップ236から726で、アルゴリズムは、ステップ800に直接進んでもよい。しかしながら、図4で参照される具体的実施例では、決定はAliceおよびBobの両方の比較によって行われる。
再び図4に戻って、Bobから一対の公開鍵を受信すると、Aliceは、最初にQおよびRを比較する(616)ことによって、一連の命令(614)を行い始める。QがRに等しくない場合、Aliceは、図2で詳細に示されるような、元の一式のステップ240を続ける。しかしながら、QおよびRが等しくない場合には、Aliceは加速スカラー乗法形式を採用する(800)。図7を参照して、第1に、Aliceは、Rの組込み公開鍵検証(300)を行う。中間成分s(812)が計算され、その後に単純化因数
Figure 0005329676
(814)が続く。これは、単純化スカラー乗法形式を使用して共通秘密鍵K=vQを計算するために使用される(816)。次いで、KDF(x)を使用して、2つの鍵kおよびkが導出される(818)。次いで、Aliceは、MACアルゴリズムを使用して認証タグtを計算し(820)、t=tであることを検証する(822)。Aliceは、tを計算し(824)、それをBobに送信する(826)。
再び図4を参照すると、Aliceがアルゴリズム(240)または(800)を完了した後に、Bobは一式のステップ(260)を行い、その場合、ステップ262で認証タグtを計算し、t=tであることを検証する(264)。全てのタグが加速ECMQV過程で検証されている場合には、AliceおよびBobの両方にとって、合意セッション鍵はkである(270)。
図4で説明される実施形態に関して、一時公開鍵(すなわち、Rおよび/またはR)が、対応する長期公開鍵と同一となるように意図的に選択されるか否かは随意的である。同一となるように意図的に選択されない場合には、例えば、Aliceの一時公開鍵は、R=kPによって決定されてもよい。同様に、Bobは、一対の同一の公開鍵を意図的に選択しないことを選んでもよく、したがって、R=kPを計算してもよい。しかしながら、通信者が、長期公開鍵と同一となるように一時公開鍵を意図的に選択すると、次いで、一時非公開鍵から一時公開鍵を取得するための計算は必要とされないことが留意される。したがって、通信者において同一の公開鍵を意図的に選択することにより、一時公開鍵を決定する際の計算負荷を低減する。
=Qおよび/またはR=Qの条件は、実行時間中に検出され、長期公開鍵QおよびQの事前計算されたスカラー倍数を含有するfat証明書に事前に記憶されてもよい。この事前識別された条件は、uQを提供するように組み合わせられる、公開鍵Qの倍数の事前計算された表を作成するために使用されてもよい。これは、共通秘密鍵Kの計算をさらに加速する。
図4の考慮から理解されてもよいように、公開鍵が同じであるか否かを決定する能力は、通信者間の通信における多用途性を提供する。例えば、Aliceは、2つの異なる公開鍵を使用してもよいが、Bobは、より便利であれば同じ公開鍵を使用してもよい。例えば、Bobが限定された計算能力を有するコンピュータデバイスである場合、一時公開鍵と関連付けられるスカラー乗法を行わないことを選択してもよい。
Aliceは、Bobからのデータの受信時にこれを確認し、共通鍵の計算を促進することができる。
同様に、Aliceは、同一の公開鍵を使用することを選択して、Bobが共通鍵の計算を促進することを可能にしてもよいが、Bobは、Aliceと通信するための異なる公開鍵を使用することを選択してもよい。
最後に、AliceおよびBobの両方はそれぞれ、それぞれの同一の公開鍵を使用することを選択してもよく、それぞれが共通鍵の計算を促進する。
中間値s、sを計算する際に、一時非公開鍵k、kを計算する代わりに、AliceおよびBobは、長期非公開鍵d、dをそれぞれ使用することが可能である。しかしながら、これは、同一の鍵が連続セッションで使用されることをもたらし、これは概して望ましくないと見なされる。
方法の別の好ましい実施形態では、MQV過程をさらに加速するためにテーブルが使用されてもよい。複数対の同一の公開鍵を識別することによって得られる費用節約は、同時多点乗法を実装するために説明される方法に適用されてもよい。図8aに示されるように、計算を加速するために従来使用されている方法は、シャミルのトリックとも呼ばれる、多点乗法を採用するものである。第1に、共通秘密鍵の元の方程式(すなわち、
Figure 0005329676
は、一般線形結合形態mP+lQに合致するように再編成されなければならない。mP+lQの表現において、m=hs、P=R
Figure 0005329676
、およびQ=Qであるように、括弧が排除され、
Figure 0005329676
を生じる。RおよびQが両方とも点であると、鍵Kの式は、2つのスカラー倍数の加算である、一般形態mP+lQである。
図8aでは、所定数のビットのウィンドウ幅wが最初に確立される(902)。次いで、Rのαの小さい倍数のテーブル(920)が確立され(904)、Qのβの小さい倍数のテーブル(922)が確立される(906)。テーブル全体は、可能なビットの組み合わせ(例えば、α=1001)の縦列、および対応するスカラー倍数(例えば、1001)の縦列から成る。次いで、ウィンドウ幅wのウィンドウを使用して、hsおよび
Figure 0005329676
が調査される(908)。各ウィンドウに対応するRおよびQのスカラー倍数は、各テーブルから取り出される(910)。2つのウィンドウからのテーブル入力の和は、累算器に加えられる(912)。次いで、累算器は、ウィンドウの幅wに従ってw倍に倍加され(914)、次いで、次のウィンドウが調査される(916)。スカラーは繰り返し調査され、テーブル入力は累算器に加えられ、累算器は、共通秘密Kが計算される(918)まで、上記で説明されるように各反復についてw倍に倍加される(924)。この同時多点乗法の形式(すなわち、
Figure 0005329676
)は、図3に示された計算と比べて、0.25のスカラー乗法の計算費用の節約を提供し、それにより、合計1.25のスカラー乗法を必要とする。
上記の同時多点乗法方法は、通信者の一対の公開鍵が同一である時にさらに加速されてもよい。異なる公開鍵が使用される、図8aに示された計算では、同時乗法を行うために、2つのテーブル(920、922)が必要とされる。図8bを参照して、一時公開鍵および長期公開鍵が同一である、例えば、R=Qである時に、1つだけのテーブル(942)がウィンドウ方法を行うために通信者によって必要とされる。したがって、wビットのウィンドウ幅を確立し(926)、次いで、Rのスカラー倍数のテーブルを確立する(928)ことによって、加速同時スカラー乗法(720、816)が始まる。ウィンドウ幅wのウィンドウを使用して、スカラーhsおよび
Figure 0005329676
が調査される(930)。各ウィンドウに対応するRのスカラー倍数が取り出され(932)、累算器の中へ記憶される(934)。次いで、累算器は、ウィンドウの幅wに従ってw倍に倍加され(936)、次いで、次のウィンドウが調査される(938)。スカラーは繰り返し調査され、テーブル入力は累算器に加えられ、累算器は、共通秘密Kが計算される(940)まで、上記で説明されるように各反復についてw倍に倍加される(944)。
同一公開鍵の使用に起因し、同時点乗法に使用されるテーブルに適用される、費用節約方法も、共同構築されたテーブルに適用されてもよいことを理解されたい。2つの別個のテーブルを構築する必要性を排除すること、または複数対の公開鍵R、Q、およびR、Qの合同テーブルを構築することにより、結果として、実行時間を削減し、20%を大幅に超える費用節約を達成してもよい。
また、複数対の同一公開鍵を使用する鍵合意プロトコルの加速も、乗法群を使用する実装に適用可能であることも理解されたい。上記で説明される実装は、群演算が加算表記で言及される、楕円曲線群を利用する。一式の非ゼロ整数のモジュールpである、群Fp等の他の群は、乗法表記を使用する。楕円曲線設定での加算表記は、乗法群設定での乗法表記に置鍵換えられる。
したがって、背景として図9を参照すると、乗法群設定でMQVを使用して、概して共通秘密鍵Kを計算するための方法が数字1000によって示されている。Aliceによる一式の動作(1010)では、一時非公開鍵kが間隔1から(q−1)までにおいてランダムに選択され(1012)、ここに、qは群の位数である。Aliceは、対応する一時公開鍵
Figure 0005329676
を計算し(1014)、ここに、gは群生成器であり、Rおよび長期公開鍵QをBobに送信する(1016)。Bobによる同様の一式の動作(1020)では、一時非公開鍵kが、間隔1から(q−1)までにおいてランダムに選択される(1022)。Bobは、対応する一時公開鍵
Figure 0005329676
を計算し(1024)次いで、Rおよび長期公開鍵QをAliceに送信する(1026)。次いで、Aliceは、
Figure 0005329676
を計算する(1032)ために、一式の動作(1030)でこれらの鍵を使用し、その後に、共通秘密鍵
Figure 0005329676
のべき乗式が続き(1034)、ここに、hは群の余因数である。数字1040では、Bobが、共通秘密鍵
Figure 0005329676
のべき乗式(1044)を計算するために使用される、中間値
Figure 0005329676
を計算する(1042)。
図10を参照すると、乗法群に対する図9の実装を加速するための実施形態が示されている。上記で説明される加速ECMQVと同様に、一対の公開鍵が同じ値を有する時に集中的計算の数が削減される。数字1012では、Aliceが、間隔1から(q−1)までにおいて一時非公開鍵kをランダムに選択する。Aliceは、長期公開鍵Qと等しくなるように一時公開鍵Rを意図的に選択し(1015)、RおよびQをBobに送信する(1016)。同様に、数字1022では、Bobが、間隔1から(q−1)までにおいて一時非公開鍵kをランダムに選択する。Bobは、長期公開鍵Qと等しくなるように一時公開鍵Rを意図的に選択し(1025)、RおよびQをAliceに送信する(1026)。ステップ1110では、Aliceが、中間値
Figure 0005329676
を計算し(1112)、次いで、RおよびQを比較する(1114)。Bobの一対の公開鍵が、R=Qであるように同一である場合には、Aliceが、単純化指数
Figure 0005329676
、または、
Figure 0005329676
を計算(すなわちyは
Figure 0005329676
に依存している)し、次いで、指数K=R (1120)を計算することによって、共通秘密鍵の加速べき乗式を計算する。そうでなければ、R≠Qである場合には、Aliceが、共通秘密鍵
Figure 0005329676
の非加速べき乗式を計算する(1116)。同様に、数字1122では、Bobが中間値
Figure 0005329676
を計算し(1124)、次いで、RおよびQを比較する(1126)。Aliceの一対の公開鍵が、R=Qであるように同一である場合には、Bobが、単純化指数
Figure 0005329676
(1130)または
Figure 0005329676
を計算し、次いで、指数K=R (1132)を計算することによって、共通秘密鍵の加速べき乗式を計算する。そうでなければ、R≠Qである場合には、Bobが共通秘密鍵
Figure 0005329676
の非加速べき乗式を計算する(1128)。
図10に示された実施形態では、もう一方が同一の公開鍵を使用するかどうか、AliceおよびBobが確かではない場合に、比較過程(1114、1126)が必要とされてもよい。複数対の同一公開鍵が採用されてもよいことをAliceおよびBobが確信している場合には、比較過程(1114、1126)が回避されてもよく、加速MQVプロトコルが直接適用されてもよい。
加速MQV方法の別の実施形態は、上記で論議される同時多点乗法に類似している同時べき乗を使用する。鍵を決定するために使用される式
Figure 0005329676
Figure 0005329676
として再編成することができる。この再編成は、1一式の二乗のみを使用する同時多重べき乗として知られている技法を使用することによって、鍵が計算されることを可能にする。
図11aを参照すると、同時多重べき乗の方法が非同等値の2つの公開鍵について示されている。所定数のビットのウィンドウ幅wが、最初に確立される(1202)。Rの小さい指数αのテーブル(1220)が確立され(1204)、Qの小さい指数βのテーブル(1222)が確立される(1206)。テーブルは、可能なビットの組み合わせ(例えば、α=1001)の縦列、および対応するべき乗に起因する値(例えば、
Figure 0005329676
)の縦列を備える。次いで、ウィンドウ幅wのウィンドウを使用して、hsおよび
Figure 0005329676
が調査される(1208)。各ウィンドウに対応する指数による、RおよびQのスカラーべき乗の結果は、各テーブルから取り出される(1210)。2つのウィンドウからのテーブル入力の積は、累算器に加えられる(1212)。次いで、累算器の中の値は、ウィンドウの幅wに従ってw回だけ二乗され(1214)、その後、次のウィンドウが調査される(1216)。スカラーは繰り返し調査され、テーブル入力は乗じられて累算器に記憶され、累算器は、共通秘密Kが計算される(1218)まで、上記で説明されるように各反復についてw回だけ二乗される(1224)。
図11bを参照すると、加速MQV方法の好ましい実施形態は、一対の公開鍵が同一である場合にべき乗テーブル(1222)のうちの1つを排除する。複数対の同一公開鍵の状況では、図10を簡潔に参照すると、ステップ1120および1132が、本明細書で説明される、対応する加速アルゴリズムを使用してもよい。図11bでは、wビットのウィンドウ幅を確立する(1226)ことによって、加速同時べき乗が始まり、その後に続いて、小さい指数によるRのべき乗の結果のテーブルを確立する(1228、1242)。ウィンドウ幅wのウィンドウを使用して、hsおよび
Figure 0005329676
が調査される(1230)。各ウィンドウに対応するRのべき乗が取り出され(1232)、累算器に記憶される(1234)。次いで、累算器は、ウィンドウの幅wに従ってw回だけ二乗され(1236)、値で、次のウィンドウが調査される(1238)。スカラーは繰り返し調査され、テーブル入力は累算器に加えられ、累算器は、共通秘密Kが計算される(1240)まで、上記で説明されるように各反復についてw回だけ二乗される(1244)。
例えば、通信者が並行してアルゴリズムの複数セクションを行うために、計算のタイミングを最適化することを含む、加速MQVアルゴリズムの異なるアーキテクチャが形成されてもよいことを理解されたい。図12を参照すると、並列計算の1つの代替実施形態が、乗法群上の加速MQVの場合について示されている。AliceおよびBobの両方が、並行して一式の初期ステップ(1310、1320)を実行する。Aliceは、数字1311で、一時非公開鍵kをランダムに選択し、長期公開鍵Qと等しくなるように一時公開鍵Rを選択し、RおよびQをBobに送信する。同時に、Aliceがステップ1311を行うにつれて、kが生成され、RがQと等しくなるように意図的に選択され、次いで、RおよびQがAliceに送信されるように、Bobがステップ1321を行う。
並行して、BobおよびAliceの両方は、もう一方の一対の同一公開鍵を取り出す。次いで、Aliceは、同様にQ=Rであるかどうかを決定する(1340)Bobと並行して、R=Qであるかどうかを決定する(1330)。Aliceにとって、同等性を決定した(1330)後、R≠Qである場合には、Aliceは、最初に中間値sを計算し、次いで、共通秘密鍵
Figure 0005329676
を計算することによって、非加速べき乗式を計算する(1350)。しかしながら、R=Qである場合、Aliceは、最初に中間値sを計算し、次いで、
Figure 0005329676
を計算し、最終的にK=R を計算することによって、加速べき乗式を計算する(1370)。Aliceと並行して、Bobが同等性を決定した(1340)後、R≠Qである場合には、Bobは、最初に中間値sを計算し、次いで、共通秘密鍵
Figure 0005329676
を計算することによって、非加速べき乗式を計算する(1360)。しかしながら、Q=Rである場合、Bobは、最初に中間値sを計算し、次いで、単純化指数
Figure 0005329676
を計算し、最終的にK=R を計算することによって、加速式を計算する(1380)。さらに、並列計算編成はまた、楕円曲線群上の加速MQVアルゴリズムにも該当することを理解されたい。
複数対の同一鍵を使用する加速アルゴリズムが使用されていることをAliceおよびBobが知っている場合に、ステップ1330および1340における比較過程は必要ではなくてもよいことが留意される。言い換えれば、Aliceは、事前にすでに知っていれば、Bobの鍵が同一であるかどうかを検証する(1330)必要がない。したがって、上記の場合、ステップ1320から、アルゴリズムがステップ1370に直接進んでもよい。同様に、ステップ1310から、アルゴリズムがステップ1380に直接進んでもよい。
加速MQVプロトコルへの代替的アプローチで、一時および長期公開鍵が同一であるため、通信者は、単一の公開鍵を送信することしか要求されない。これは、通信者間で転送されるデータの量を低減し、より大きい鍵が使用されることを可能にする。
図13を参照すると、単一の公開鍵のみを送信する乗法群上の加速MQVプロトコルの実施形態が図示されている。AliceおよびBobの両方は、同一の公開鍵を使用して加速アルゴリズムが実装されていることを知っていると理解される。Aliceは、kをランダムに選択し(1402)、意図的にR=Qを選択する(1405)ことによって始める。次いで、Aliceは、QをBobに送信する(1411)。これは、2つの公開鍵のデータサイズと比較して、ネットワーク上で送信されるデータの量を低減する。
図13を続けると、ステップ1411からのデータがAliceによって送信された後、Bobが続けてkをランダムに選択し(1412)、意図的にR=Qを選択する(1415)。同様に、次いで、Bobは、QをAliceに送信する(1420)。次いで、Aliceは、加速MQVアルゴリズムを使用し、中間成分s、単純化指数
Figure 0005329676
、最終的に共通秘密鍵K=R を計算する(1426)。R=Qであることが理解される。同様に、Bobは、加速MQVアルゴリズムを計算するために、ステップ1411からの受信したデータを使用する。Bobは、中間成分s、単純化指数
Figure 0005329676
、最終的に共通秘密鍵K=R を計算する(1432)。R=Qであることが留意される。本明細書で説明される、この代替的アプローチはまた、楕円曲線群上で適用されてもよいことを理解されたい。
データサイズ節約はまた、加速MQVアルゴリズムの並列アーキテクチャで適用されてもよい。加速MQVアルゴリズムのさらに別の実施形態では、図14を参照すると、並列アーキテクチャが図示されている。以前に説明された実施形態と同様に、AliceおよびBobの両方は、同一の公開鍵を使用して加速アルゴリズムが実装されていることを知っていると理解される。Aliceは、kを選択し、意図的にR=Qを選択する、一式のステップ(1503)を行う。並行して、Bobは、kを選択し、意図的にR=Qを選択する、一式のステップ(1505)を行う。次いで、AliceはQをBobに送信し(1512)、BobはQをAliceに送信する(1516)。データを受信すると、Aliceは、加速アルゴリズムを使用して共通秘密鍵Kを計算する(1524)。並行して、Bobは、加速アルゴリズムを使用して共通秘密鍵Kを計算する(1528)。加速MQVアルゴリズムにおける並列アーキテクチャの上記の単一公開鍵転送はまた、楕円曲線群にも該当することが理解されるであろう。
加速MQVプロトコルへの代替的アプローチで、通信者の同一の一対の公開鍵の検証は、一時公開鍵を生成した同じALUで行うことができる。例えば、Aliceは、Rを計算した後、次いで、続いてR=Qであるかどうかを検証する。このアプローチの有益性は、一対の公開鍵が同一である場合に、2つの鍵の代わりに1つだけの公開鍵を通信者に送信するという要件を含み、それは結果として、ネットワークの必要帯域幅を縮小する。
図15を参照すると、1つだけの公開鍵を送信する、乗法群上の加速MQVプロトコルの実施形態が図示されている。この実施形態では、各通信者は、長期公開鍵と同一になるように一時公開鍵を意図的に選択するというオプションを有する。Aliceは、kをランダムに選択し(1402)、R=Qに従って、または
Figure 0005329676
を計算することにより、Rを決定する(1404)ことによって始める。次いで、Aliceは、Q=Rであるかどうかを決定する(1406)。Q≠Rである場合には、Aliceは、R、Q、およびEqual=偽をBobに送信する(1408)。そうでなければ、Q=Rである場合には、Aliceは、QおよびEqual=真をBobに送信する(1410)。可変数Equalは、一対の公開鍵が同一であるか同一でないかを示す、例えば、1ビットといった、小さいビットサイズのブールパラメータであってもよい。一対の公開鍵が同一である(すなわち、Equal=真)ときの状況では、長期公開鍵等の1つだけの公開鍵、および小ビットサイズパラメータEqualが、通信者に送信される。これは、2つの公開鍵のデータサイズと比較して、ネットワーク上で送信されるデータの量を低減する。
図15を続けると、ステップ1408またはステップ1410からのデータがAliceによって送信された後、Bobは、kをランダムに選択し(1412)、R=Qに従って、または
Figure 0005329676
を計算することにより、Rを決定する(1414)ことによって始める。同様に、次いで、Bobは、Q=Rであるかどうかを決定する(1416)。Q≠Rである場合には、Bobは、R、Q、およびEqual=偽をAliceに送信する(1418)。そうでなければ、Q=Rである場合には、Bobは、QおよびEqual=真をAliceに送信する(1420)。次いで、Aliceは、Equal=真であるかどうかを決定する(1422)ためにステップ1418またはステップ1420からの受信したデータを使用する。Equal=偽である場合、Aliceは、非加速MQV方法を使用して共通鍵Kを計算する(1424)。Equal=真である場合、Aliceは、加速MQVアルゴリズムを使用し、中間成分s、単純化指数
Figure 0005329676
、最終的にK=R を計算する(1426)。同様に、Bobは、Equal=真であるかどうかを決定する(1428)ためにステップ1408またはステップ1410からの受信したデータを使用する。Equal=偽である場合、Bobは、非加速MQV方法を使用して共通鍵Kを計算する(1430)。Equal=真である場合、Aliceは、加速MQVアルゴリズムを使用し、s、中間値
Figure 0005329676
、最終的に共通秘密鍵K=R を計算する(1432)。本明細書で説明される、この代替的アプローチはまた、楕円曲線群上で適用されてもよいことを理解されたい。
一時公開鍵の計算、および同じ通信者による各同一鍵ペア状態の決定に起因する、データサイズ節約はまた、加速MQVアルゴリズムの並列アーキテクチャにおいて適用されてもよい。加速MQVアルゴリズムのさらに別の実施形態では、図16を参照すると、並列アーキテクチャが図示されている。Aliceは、kを選択し、Rを決定する、一式のステップ(1502)を行う。Aliceは、意図的にR=Qを設定するか、または
Figure 0005329676
を計算してもよい。並行して、Bobは、kを選択し、Rを決定する、一式のステップ(1504)を行う。Bobは、意図的にR=Qを設定するか、または
Figure 0005329676
を計算してもよい。次いで、AliceおよびBobは同時に、それぞれの一対の公開鍵が等しいかどうかを決定する(1506、1508)。Q≠Rである場合、Aliceは、R、Q、およびEqual=偽をBobに送信する(1510)。そうでなければ、Q=Rである場合には、Aliceは、QおよびEqual=真をBobに送信する(1512)。同様に、並行して、Q≠Rである場合には、Bobは、R、Q、およびEqual=偽をAliceに送信する(1418)。そうでなければ、Q=Rである場合には、Bobは、QおよびEqual=真をAliceに送信する(1420)。データを受信すると、AliceおよびBobの両方は、Equal=真であるかどうかを並行して決定する(1518、1520)。Aliceにとって、Equal=偽である場合には、非加速アルゴリズムを使用して共通秘密鍵Kを計算する(1522)。そうでなければ、Equal=真である場合は、加速アルゴリズムを使用して共通秘密鍵Kを計算する(1524)。並行して、Bobに対するステップ1520から続いて、Equal=偽である場合は、非加速アルゴリズムを使用して共通秘密鍵Kを計算する(1526)。そうでなければ、Equal=真である場合は、加速アルゴリズムを使用して共通秘密鍵Kを計算する(1528)。加速MQVアルゴリズムにおける並列アーキテクチャの上記の単一公開鍵転送はまた、楕円曲線群にも該当することが理解されるであろう。
上記の実施例のそれぞれは、公開鍵が一方の通信者からもう一方の通信者に送信されることを示す。長期公開鍵は、代替として、認証機関から取得され、ディレクトリから取得され、または以前の交換からのメモリ30内に記憶されてもよい。したがって、長期公開鍵のみが使用される場合、通信者間の情報の直接転送は、MAC、tの交換によって生じてもよい。
同一公開鍵に基づく加速は、MQVアルゴリズムに限定されないことが理解される。一時公開鍵および長期公開鍵の線形結合を備える、他のアルゴリズムも好適であってもよい。
そのようなプロトコルの1つの部類は、Handbook of Applied Cryptology,Menzes et al.ISBN 0−8493−8523−7のページ518で説明されているようなMTIプロトコルである。図17に示されるように、MTI AOプロトコルは、それぞれの長期非公開/公開鍵a、Zおよびb、Zを有する、AliceおよびBobとともに実装されてもよく、長期公開鍵Z、Zは、もう一方の通信者と交換されるか、またはもう一方の通信者に利用可能となる。Aliceは、一時非公開鍵xを生成し、Bobに送信される、対応する一時公開鍵αを計算する。
Bobは同様に、通常、一時非公開鍵yを生成し、Aliceに一時公開鍵αを送信する。
共通鍵Kは、Aliceにおいて(α から、およびBobにおいて(α から計算される。
図17に示されるように、Bobは、y=bおよびα=Zであるように、短期鍵として長期鍵b、αを使用し、値を比較することができるAliceにZを送信することによって、またはメッセージEqual=真の形態の指示を送信することによって、あるいは長期公開鍵の交換中等の事前合意によって、Aliceに通知する。
Aliceは、aおよびxの両方を知っているため、共通鍵K=(Za+xを計算してもよく、Bobは、bを知っているため、(αを計算する。全体的な計算負荷を低減するように、1つのべき乗がBobおよびAliceの両方で行われる。
本発明は、ある具体的実施形態を参照して説明されているが、本発明の精神および範囲から逸脱することなく、その種々の修正が当業者にとって明白となるであろう。
加えて、説明される種々の方法は、ソフトウェアによって選択的に起動または再構成される、汎用コンピュータで実装されるが、当業者であれば、そのような実施形態がハードウェアで実行されてもよいことも認識するであろう。

Claims (19)

  1. 公開鍵暗号システムに関与する一対のコンピュータデバイスのうちの一方において共通鍵を生成する方法であって、前記共通鍵は、データ通信チャネル上でもう一方のコンピュータデバイスと通信している前記一方のコンピュータデバイスによって使用され、前記コンピュータデバイスの各々は、それぞれの長期非公開鍵およびそれぞれの対応する長期公開鍵有し、前記共通鍵は、前記コンピュータデバイスのうちの一方の長期非公開鍵と前記コンピュータデバイスのうちのもう一方の長期公開鍵および一時公開鍵との組み合わせの形態を有し、前記方法は、
    a)前記一方のコンピュータデバイスの暗号化ハードウェアモジュールが、前記もう一方のコンピュータデバイス前記長期公開鍵を取得するステップと、
    b)前記暗号化ハードウェアモジュールが、前記もう一方のコンピュータデバイス前記一時公開鍵が前記もう一方のコンピュータデバイス前記長期公開鍵と同じか否かを決定するステップと、
    c)前記暗号化ハードウェアモジュールが、前記もう一方のコンピュータデバイス前記長期公開鍵と前記一時公開鍵とが同じであることを決定すると、前記もう一方のコンピュータデバイス前記長期公開鍵および前記一時公開鍵の両方として前記もう一方のコンピュータデバイス前記長期公開鍵を利用することにより、前記共通鍵を生成するステップと、
    d)前記暗号化ハードウェアモジュールが、前記もう一方のコンピュータデバイスと情報を交換するために前記共通鍵を利用するステップと
    を含む、方法。
  2. 前記共通鍵を生成することは、前記組み合わせの同等表現を計算することを含む、請求項1に記載の方法。
  3. 前記共通鍵を生成することは、前記一方のコンピュータデバイスの中間値を前記もう一方のコンピュータデバイスの前記長期公開鍵と組み合わせることを含み前記中間値は、前記一方のコンピュータデバイスの前記長期非公開鍵および長期公開鍵を前記一方のコンピュータデバイスの一時非公開鍵と結合させる、請求項2に記載の方法。
  4. 前記暗号システムは、加算群上で実装され、前記共通鍵は、
    Figure 0005329676
    に依存し、Rは、前記もう一方のコンピュータデバイスの一時公開鍵であり、Qは、前記もう一方のコンピュータデバイスの長期公開鍵であり、
    Figure 0005329676

    は、Rから導出される整数であり、前記方法は、前記暗号化ハードウェアモジュールが、形態vQを有する同等表現から前記共通鍵Kを計算するステップをさらに含みvは、
    Figure 0005329676

    に依存している、請求項2または3のうちのいずれか一項に記載の方法。
  5. 記共通鍵を生成することは、ECMQV鍵合意プロトコルに従うものであり、前記プロトコルは、形態
    Figure 0005329676
    の共通鍵を必要とし、hは、楕円曲線群の余因数であり、sは、前記中間値であり、前記方法は、前記暗号化ハードウェアモジュールが、νQとして前記共通鍵Kを計算するステップをさらに含み
    Figure 0005329676

    である、請求項4に記載の方法。
  6. 記共通鍵を生成することは、乗法群上で実装されるMQV鍵合意プロトコルに従うものであり、前記プロトコルは、形態
    Figure 0005329676

    の共通鍵を必要とし
    は、前記もう一方のコンピュータデバイスの前記一時公開鍵であり、
    は、前記もう一方のコンピュータデバイスの前記長期公開鍵であり、

    Figure 0005329676

    は、前記一時公開鍵から導出される整数であり、
    は、前記中間値であり、前記方法は、前記暗号化ハードウェアモジュールが、
    Figure 0005329676
    として前記共通鍵を計算するステップをさらに含みy=hs+hsであり、hは、群の余因数である、請求項3に記載の方法。
  7. 前記共通鍵を生成することは、MTI鍵合意プロトコルに従うものであり、前記プロトコルは、形態K=(α の共通鍵を必要とし、
    αは、前記もう一方のコンピュータデバイスの一時公開鍵であり、
    は、前記もう一方のコンピュータデバイスの長期公開鍵であり、
    xは、前記一方のコンピュータデバイスの一時非公開鍵であり、
    aは、前記一方のコンピュータデバイスの長期非公開鍵であり、
    前記方法は、前記暗号化ハードウェアモジュールK=(Za+xとして前記共通鍵を計算するステップをさらに含む、請求項3に記載の方法。
  8. 前記暗号化ハードウェアモジュールが、前記鍵が同じか否かを決定するために、前記もう一方のコンピュータデバイスから受信された前記一時公開鍵および前記長期公開鍵を比較するステップをさらに含む、請求項2〜7のうちのいずれか一項に記載の方法。
  9. 前記暗号化ハードウェアモジュールが、前記もう一方のコンピュータデバイスの前記長期公開鍵および前記一時公開鍵が同じであるという指標について、前記もう一方のコンピュータデバイスから受信されたメッセージを調査するステップと、前記指標を識別すると前記同等表現を計算するステップとをさらに含む、請求項2〜7のうちのいずれか一項に記載の方法。
  10. 前記同等表現は、前記長期公開鍵の線形結合であり、前記方法は、前記暗号化ハードウェアモジュールが、前記長期公開鍵から導出される事前計算された値から前記共通鍵を累積するステップをさらに含む、請求項2〜7のうちのいずれか一項に記載の方法。
  11. 前記暗号システムは、加算群上で実装され、前記事前計算された値は、前記長期公開鍵の倍数である、請求項10に記載の方法。
  12. 前記暗号システムは、乗法群上で実装され、前記事前計算された値は、前記長期公開鍵のべき乗の結果である、請求項10に記載の方法。
  13. 通信リンク上で通信し、共通鍵を共通する一対のコンピュータデバイスを有する暗号化システムであって、少なくとも、前記コンピュータデバイスのうちの一方の暗号化ハードウェアモジュールは、請求項1〜12のうちのいずれか一項に記載の方法に従って、前記共通鍵を生成するように動作可能である、暗号化システム。
  14. 暗号化システムの中の一方のコンピュータデバイスと関連付けられる暗号モジュールであって、前記暗号化システムは、もう一方のコンピュータデバイスを含み、前記暗号化ハードウェアモジュールは、
    コントローラと、
    前記もう一方のコンピュータデバイスの一時公開鍵および長期公開鍵と前記一方のコンピュータデバイスの非公開鍵との組み合わせから共通鍵を生成するように動作可能である算術論理演算ユニットと、
    前記もう一方のコンピュータデバイス前記一時公開鍵と前記長期公開鍵とが同じであるか否かを決定するように動作可能であるコンパレータと
    を備え
    前記コントローラは、前記もう一方のコンピュータデバイスの前記一時公開鍵と前記長期公開鍵とが同じであると前記コンパレータが決定する場合に、前記共通鍵の計算において前記一時公開鍵として前記長期公開鍵を利用することを前記算術演算ユニットに命令するように動作可能である、暗号モジュール。
  15. 前記コントローラは、前記共通鍵を計算する際に前記組み合わせの同等表現を計算することを前記算術論理演算ユニットに指図するように動作可能である、請求項14に記載の暗号モジュール。
  16. 前記もう一方のコンピュータデバイスの前記長期公開鍵から導出される事前計算された値は、メモリに記憶され、前記算術論理演算ユニットは、前記共通鍵を計算する際に前記事前計算された値を使用するように動作可能である、請求項15に記載の暗号モジュール。
  17. 前記コンパレータは、前記長期公開鍵および前記一時公開鍵を表す一対の値を比較するように動作可能である、請求項14に記載の暗号モジュール。
  18. 前記もう一方のコンピュータデバイスの前記一時公開鍵と前記長期公開鍵とが同じか否かを決定することは、指標を既知の値と比較することを含む、請求項14に記載の暗号モジュール。
  19. 請求項1〜12のうちのいずれか一項に記載の方法を実行するためのコンピュータ実行可能な命令を格納しているコンピュータ読み取り可能な媒体。
JP2011541044A 2008-12-16 2009-12-16 鍵合意プロトコルの加速 Active JP5329676B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12293608P 2008-12-16 2008-12-16
US61/122,936 2008-12-16
PCT/CA2009/001846 WO2010069063A1 (en) 2008-12-16 2009-12-16 Acceleration of key agreement protocols

Publications (2)

Publication Number Publication Date
JP2012512574A JP2012512574A (ja) 2012-05-31
JP5329676B2 true JP5329676B2 (ja) 2013-10-30

Family

ID=42242002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011541044A Active JP5329676B2 (ja) 2008-12-16 2009-12-16 鍵合意プロトコルの加速

Country Status (6)

Country Link
US (1) US8639931B2 (ja)
EP (1) EP2359523B1 (ja)
JP (1) JP5329676B2 (ja)
CN (1) CN102318260B (ja)
CA (1) CA2746830C (ja)
WO (1) WO2010069063A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2334008A1 (en) * 2009-12-10 2011-06-15 Tata Consultancy Services Limited A system and method for designing secure client-server communication protocols based on certificateless public key infrastructure
EP2591436A4 (en) * 2010-07-08 2014-11-05 Certicom Corp SYSTEM AND METHOD FOR REALIZING DEVICE AUTHENTICATION USING KEY ACCREDITATION
US8549299B2 (en) * 2011-02-28 2013-10-01 Certicom Corp. Accelerated key agreement with assisted computations
EP2493112B1 (en) * 2011-02-28 2018-02-28 Certicom Corp. Accelerated key agreement with assisted computations
CN102412971B (zh) 2011-11-30 2015-04-29 西安西电捷通无线网络通信股份有限公司 基于sm2密钥交换协议的密钥协商方法及装置
US8787564B2 (en) 2011-11-30 2014-07-22 Certicom Corp. Assessing cryptographic entropy
US8989374B2 (en) * 2012-06-15 2015-03-24 Kabushiki Kaisha Toshiba Cryptographic device for secure authentication
US8948400B2 (en) * 2012-06-15 2015-02-03 Kabushiki Kaisha Toshiba Host device
US8898463B2 (en) * 2012-06-15 2014-11-25 Kabushiki Kaisha Toshiba Device
US8948386B2 (en) 2012-06-27 2015-02-03 Certicom Corp. Authentication of a mobile device by a network and key generation
US8971851B2 (en) 2012-06-28 2015-03-03 Certicom Corp. Key agreement for wireless communication
US9088408B2 (en) 2012-06-28 2015-07-21 Certicom Corp. Key agreement using a key derivation key
CN103414569B (zh) * 2013-08-21 2016-08-10 王威鉴 一种建立抗攻击的公钥密码的方法
US9178699B2 (en) 2013-11-06 2015-11-03 Blackberry Limited Public key encryption algorithms for hard lock file encryption
US9591479B1 (en) * 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
US10348502B2 (en) 2016-09-02 2019-07-09 Blackberry Limited Encrypting and decrypting data on an electronic device
US10341102B2 (en) 2016-09-02 2019-07-02 Blackberry Limited Decrypting encrypted data on an electronic device
JP6818220B2 (ja) * 2017-10-19 2021-01-20 三菱電機株式会社 鍵共有装置、鍵共有方法及び鍵共有プログラム
KR20200096248A (ko) * 2017-12-13 2020-08-11 엔체인 홀딩스 리미티드 암호 자료를 안전하게 공유하기 위한 시스템 및 방법
EP3793129A4 (en) * 2018-05-30 2021-11-17 Huawei International Pte. Ltd. KEY EXCHANGE SYSTEM, METHOD AND APPARATUS
CN112468291A (zh) * 2020-11-02 2021-03-09 深圳依时货拉拉科技有限公司 一种同步敏感数据的方法、装置、系统、计算机设备及计算机可读存储介质
US11483152B2 (en) * 2020-12-30 2022-10-25 Pqsecure Technologies, Llc High-performance systems to validate isogeny-based cryptography keys
US20240048382A1 (en) * 2022-08-03 2024-02-08 1080 Network, Llc Systems, methods, and computing platforms for executing credential-less network-based communication exchanges

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761305A (en) 1995-04-21 1998-06-02 Certicom Corporation Key agreement and transport protocol with implicit signatures
AU5266596A (en) * 1995-04-21 1996-11-07 Certicom Corp. Method for signature and session key generation
CA2176972C (en) * 1995-05-17 2008-11-25 Scott A. Vanstone Key agreement and transport protocol with implicit signatures
US6424712B2 (en) * 1997-10-17 2002-07-23 Certicom Corp. Accelerated signature verification on an elliptic curve
CA2306282C (en) 1997-10-17 2012-01-03 Certicom Corp. Accelerated signature verification on an elliptic curve
US7340600B1 (en) * 2000-01-14 2008-03-04 Hewlett-Packard Development Company, L.P. Authorization infrastructure based on public key cryptography
JP2003131568A (ja) 2001-10-26 2003-05-09 Hitachi Ltd 楕円曲線署名検証方法及び装置並びに記憶媒体
US7127063B2 (en) * 2001-12-31 2006-10-24 Certicom Corp. Method and apparatus for computing a shared secret key
JP5068176B2 (ja) 2005-01-18 2012-11-07 サーティコム コーポレーション デジタル署名と公開鍵の促進された検証
US7747865B2 (en) 2005-02-10 2010-06-29 International Business Machines Corporation Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
CA2550362C (en) 2005-06-14 2015-12-01 Certicom Corp. Enhanced key agreement and transport protocol
US7908482B2 (en) * 2005-08-18 2011-03-15 Microsoft Corporation Key confirmed authenticated key exchange with derived ephemeral keys
CN101047494A (zh) * 2006-05-14 2007-10-03 华为技术有限公司 一种pon系统中密钥协商的方法和系统

Also Published As

Publication number Publication date
CN102318260B (zh) 2016-04-20
EP2359523A1 (en) 2011-08-24
JP2012512574A (ja) 2012-05-31
US20100153728A1 (en) 2010-06-17
CA2746830C (en) 2016-06-07
CN102318260A (zh) 2012-01-11
US8639931B2 (en) 2014-01-28
CA2746830A1 (en) 2010-06-24
EP2359523B1 (en) 2017-04-05
EP2359523A4 (en) 2013-12-25
WO2010069063A1 (en) 2010-06-24

Similar Documents

Publication Publication Date Title
JP5329676B2 (ja) 鍵合意プロトコルの加速
Zhou et al. ExpSOS: Secure and verifiable outsourcing of exponentiation operations for mobile cloud computing
JP5174828B2 (ja) 暗黙の証明書検証
CA2855099C (en) Key agreement protocol for generating a shared secret key for use by a pair of entities in a data communication system
US8549299B2 (en) Accelerated key agreement with assisted computations
Van Dijk et al. Speeding up exponentiation using an untrusted computational resource
Tzeng et al. Digital signature with message recovery and its variants based on elliptic curve discrete logarithm problem
JP2012212164A (ja) デジタル署名と公開鍵の促進された検証
CA2560038A1 (en) Malleable pseudonym certificate system and method
Liao et al. Analysis of a mobile payment protocol with outsourced verification in cloud server and the improvement
US20030059041A1 (en) Methods and apparatus for two-party generation of DSA signatures
Battagliola et al. Threshold ecdsa with an offline recovery party
US20160352689A1 (en) Key agreement protocol
EP2493112B1 (en) Accelerated key agreement with assisted computations
WO2016187690A1 (en) Key agreement protocol
Muleravicius et al. Security, trustworthiness and effectivity analysis of an offline E-cash system with observers
Popescu A secure e-cash transfer system based on the elliptic curve discrete logarithm problem
Salome et al. Pairing free identity-based blind signature scheme with message recovery
CN117595984B (zh) 基于可验证随机函数的节点选择方法、装置、设备及介质
Mehibel et al. A public key data encryption based on elliptic curves
KR100642745B1 (ko) Id-기반의 키교환 방법 및 장치
Al-Saidi et al. A new idea in zero knowledge protocols based on iterated function systems
Deligiannidis Implementing elliptic curve cryptography
Kyogoku et al. A note on authenticated key exchange in cryptocurrency
Park et al. Insecurity of Chait et al.’s RSA-Based Aggregate Signature Scheme

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130724

R150 Certificate of patent or registration of utility model

Ref document number: 5329676

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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