説明

カースルズ−テイトペアリングに基づくデータの暗号処理

【課題】カースルズ−テイトペアリングの関数としてデータを暗号処理するシステムおよび方法を提供する。
【解決手段】一態様では、シャファレヴィッチ−テイト群は、コホモロジ群から生成される。カースルズ−テイトペアリングは、シャファレヴィッチ−テイト群の要素の関数として決定される。次に、データを、カースルズ−テイトペアリングの関数として暗号処理する。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書のシステムおよび方法は、一般に、暗号処理に関し、より詳細には、カースルズ−テイトペアリングに基づくデータの暗号処理に関する。
【背景技術】
【0002】
既存のペアリング(pairing)ベースの暗号システムは、楕円曲線またはアーベル多様体上の点で評価される、ベイユペアリングまたはテイトペアリングを使用する。固定された自然数mについて、ベイユペアリングeは、楕円曲線上の2つのm−トーションポイント(m-torsion point)を入力として取り、m番目の原始根を出力する双一次写像である。
【0003】
【非特許文献1】C. Beaver, "5-torsion in the Shafarevich-Tate group of a family of elliptic curves", J. Number Theory, 82(1):25-46, 2000
【非特許文献2】William G. McCallum, "On the Shafarevich-Tate group of the Jacobian of a quotient of the Fermat curve", Invent. Math., 93(3):637-666, 1988 (I, Proposition 6.9)
【非特許文献3】Bjorn Poonen and Micheal Stoll, "The Cassels-Tate pairing on polarized abelian varieties", Ann. of Math. (2), 150(3): 1109-1149, 1999
【非特許文献4】McCallum (McC88 p.640)
【非特許文献5】Serre, Local Fields, Chapter XIV
【発明の開示】
【発明が解決しようとする課題】
【0004】
カースルズ−テイトペアリングに基づいてデータを暗号処理するシステムおよび方法を提供する。
【課題を解決するための手段】
【0005】
一態様では、シャファレヴィッチ−テイト群は、コホモロジ群から生成される。カースルズ−テイトペアリングは、シャファレヴィッチ−テイト群の要素の関数として決定される。次に、データは、カースルズ−テイトペアリングの関数として暗号処理される。
【0006】
図面では、構成要素の符号の左端の桁が、その構成要素が初めて現れる特定の図面を識別する。
【発明を実施するための最良の形態】
【0007】
(概要)
シャファレヴィッチ−テイト群におけるカースルズ−テイトペアリングに基づく、データの暗号処理のシステムおよび方法は、楕円曲線またはアーベル多様体において評価される、ベイユペアリングまたはテイトペアリングを使用するすべてのペアリングベースシステムに対する代替案を提供する。さらに、このシステムおよび方法は、シャファレヴィッチ−テイト群におけるすべてのペアリング応用(applications)において、応用分野(applications)を有する。
【0008】
必須ではないが、カースルズ−テイトペアリングに基づくデータの暗号処理のシステムおよび方法を、パーソナルコンピュータなどのコンピューティングデバイスによって実行されるコンピュータ実行可能命令(プログラムモジュール)の一般的な文脈で説明する。プログラムモジュールは、一般に、特定のタスクを実行するか、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本システムおよび方法を、前述の文脈で説明するが、以下に記載の行為および動作は、ハードウェアでも実施することができる。カースルズ−テイトペアリングに基づくデータの暗号処理のシステムおよび方法の上記および他の態様を、以下に詳細に説明する。
【0009】
(例示的システム)
図1に、カースルズ−テイトペアリングに基づいてデータを暗号処理する例示的システム100を示す。システム100は、楕円曲線またはアーベル多様体において評価される、ベイユペアリングまたはテイトペアリングに基づくペアリングベースシステムに対する代替案を提供する。システム100は、楕円曲線またはアーベル多様体のシャファレヴィッチ−テイト群上の点の群を、この群に対するカースルズ−テイトペアリングと組み合わせて使用する。システム100は、多数の既知のペアリングベースの暗号プロトコルのいずれかを使用して、暗号システムでカースルズ−テイトペアリングの動作を実施することができる。たとえば、一実施形態で、システム100は、署名(プレイン、ブラインド、プロキシ、リング、否定不能など)、暗号化、認証付き暗号化、ブロードキャスト暗号化、キーワード検索を用いる暗号化、バッチ署名、キーアグリーメント(プレイン、認証付き、グループなど)、トラストオーソリティおよび公開鍵認証、階層暗号システム、閾値暗号および署名、カメレオンハッシュおよび署名、認証、アプリケーションおよびシステム、または同種のものを対象とするものなどの、アイデンティティベースの暗号アルゴリズムに基づくプロトコルを実施する。
【0010】
他の実施形態では、カースルズ−テイトペアリングに基づく暗号処理のシステム100は、アクセス制御、キーアグリーメント、非対話型鍵配布、信任証(匿名、隠し、セルフ−ブラインダブル)、シークレットハンドシェイク、立証可能なセキュア署名、ショートシグネチャー、アグリゲート暗号化署名、リング暗号化署名、検証可能な暗号化署名、ブラインド署名、部分的なブラインド署名、プロキシ署名、否認不可署名、サインクリプション(signcryption)、多重署名、閾値署名、リミテッド−ベリファイア(limited-verifier)署名、デジグネイティッド−ベリファイア(designated-verifier)署名、閾値暗号システム、階層暗号システム、ロール−ベースの(role-based)暗号システム、カメレオンハッシュ、カメレオン署名、証明可能な確立関数、強力なインスレイティッド暗号化(strongly insulated encryption)、侵入攻撃に強い暗号化(intrusion-resilient encryption)、証明書なし公開鍵暗号方式(certificate-less PKC)、エーエル(al)、トレイタトレーシング(traitor tracing)、または同種のものに基づくプロトコルを実装する。
【0011】
システム100は、ネットワークを介して、ネットワーク化されたコンピューティングデバイス104に結合された、コンピューティングデバイス102を含む。コンピューティングデバイス102は、プログラムモジュール106およびプログラムデータ108を含む。プログラムモジュール106は、たとえば、(a)楕円曲線またはアーベル多様体のシャファレヴィッチ−テイト群114における点の群、および(b)関連するカースルズ−テイトペアリング116を使用して、オリジナルデータ(「その他のデータ」132のそれぞれの部分)を暗号化するか、またはこれに署名する、署名/暗号化モジュール110を含む。例示のために、署名/暗号化モジュール110によってそれぞれ署名されたか、または暗号化されたオリジナルデータを、暗号化または署名されたデータ118としてコンピューティングデバイス102のプログラムデータ部分に示す。図1のネットワーク化されたコンピューティングデバイス104も、プログラムモジュールおよびプログラムデータを含む。たとえば、ネットワーク化されたコンピューティングデバイス104は、シャファレヴィッチ−テイト群114の要素の関数として、検証/暗号化解除モジュール120によって生成された、カースルズ−テイトペアリング122の関数として、暗号化または署名されたデータ118を暗号化解除または検証する、検証/暗号化解除モジュール120を含む。システム100の上記および他の態様を、以下に詳細に説明する。
【0012】
(シャファレヴィッチ−テイト群)
シャファレヴィッチ−テイト群114は、コホモロジ群124の部分群における要素などの、オブジェクトの集合である。シャファレヴィッチ−テイト群114は、シャファレヴィッチ−テイト群114における離散対数の困難さの関数として、システム100にセキュリティを提供する。シャファレヴィッチ−テイト群114は、次のように定義される。Kが数体124である場合に、Mによって、Kの同値でない付値(nonequivalent valuations)の集合を表す。Kによって、素数vによって導入される距離(metric)に関するKの完備を表し、kによって、剰余体を表す。一般に、f:G→G’が、群の射である場合に、その核(kernel)をGによって表す。φ:A→Bが、アーベル多様体の同種写像(isogeny)である場合に、Aφによってφの核を表し、
【0013】
【数1】

【0014】
によって、双対写像(dual isogeny)
【0015】
【数2】

【0016】
を表す。体Kおよび滑らかな可換のK群スキームGについて、群コホモロジH(Gal(K/K),G(K))を表すのにH(K,G)と書き、Kは、Kの固定された離閉包である。
【0017】
上記に鑑みて、アーベル多様体のシャファレヴィッチ−テイト群114を定義する。Aが、数体K上のアーベル多様体であるものとする。以下で定義されるAのシャファレヴィッチ−テイト群114は、あるtorsorについての局所−大域原理(local-to-global principle)の失敗を測定する。K上のAのシャファレヴィッチ−テイト群114は、
【0018】
【数3】

【0019】
である。
【0020】
(カースルズ−テイトペアリング)
Aが、数体K上で定義されたアーベル多様体であるものとする。カースルズ−テイト(「CT」)ペアリング(たとえば、116または122)、CT(*,*)は、III(A/K)の双一次非対称非退化ペアリング(割り切れる部分群を法とする(modulo))であり、
【0021】
【数4】

【0022】
はQ/Z内の値をとる。このCTペアリングは、ローカルペアリング(たとえば、ローカルペアリング126)の合計として書かれる。各ローカルペアリングは、mに関するテイトペアリング、ベイユペアリング、およびヒルベルト記号の評価の組合せによって評価される。Aにおけるペアリングの特殊な事例、楕円曲線は、非特許文献1に記載のものなどの技法を使用して、より単純に評価することができる。
【0023】
具体的に言うと、Aが、デュアル(dual)
【0024】
【数5】

【0025】
を有する数体K上のアーベル多様体であるものとする。カースルズ−テイトペアリングCT(*,*)は、
【0026】
【数6】

【0027】
であるペアリングであり、これは、割り切れる群を法とする非退化である。特殊な事例での定義を続ける(一般的な定義については、非特許文献2を参照されたい。他の同等の定義については、非特許文献3を参照されたい)。φ、ψが、K上のAの同種写像であるものとする。カースルズ−テイトペアリングの制限は、φの核および
【0028】
【数7】

【0029】
に制限される。
【0030】
正確なシーケンス
【0031】
【数8】

【0032】
および
【0033】
【数9】

【0034】
がある。*が、グローバルコホモロジクラス、双対輪体、または双対体である場合に、対応するローカルオブジェクトについて*と書く。a∈III(A/K)φであり、
【0035】
【数10】

【0036】
であるものとする。CT(a,a’)を定義する。aおよびa’に写像されるH(K,Aφ)および
【0037】
【数11】

【0038】
の要素bおよびb’を選択する。各vについて、aは、H(K,A)で0に写像され、したがって、bを、A(K)の像内の要素bv,1∈H(K,Aφψ)にリフトすることができる。aが、H(K,A)に含まれるψによって割り切れ、たとえばa=ψaであると仮定し、aに写像される要素b∈H(K,Aφψ)を選択する。すると、bv,1−b1,vが、H(K,Aφψ)→H(K,Aφ)の下で0に写像され、したがって、これはH(K,Aψ)での要素cの像である。CT(a,a’)を、
【0039】
【数12】

【0040】
になるように定義する。ここで、カップ積は、ベイユペアリング
【0041】
【数13】

【0042】
によって誘導される。
【0043】
ベイユペアリングによって誘導されるカップ積は、ベイユペアリングによって誘導されるコホモロジ上での写像との通常のカップ積の合成
【0044】
【数14】

【0045】
を意味する。写像invは、正準写像H(K,G)→Q/Zである(invの像はm−1Z/Z内にある)。
【0046】
カースルズ−テイトペアリング122は、ローカルペアリングの合計として記述される。具体的に言うと、ガロア加群(Galois modules)の写像
【0047】
【数15】

【0048】
が、ガロア不変セクション(Galois invariant section)
【0049】
【数16】

【0050】
を有すると仮定する。すると、a=saとすることができる。次に、カースルズ−テイトペアリング122を、ローカルペアリングの合計として表す。III:=III(A/K)であり、
【0051】
【数17】

【0052】
であるものとする。Sφが、セルマー群であるものとするが、これは、正確なシーケンス
0→A(K)/φA(K)→Sφ→IIIφ→0
によって定義されるH(K,Aφ)の部分集合である。また、
【0053】
【数18】

【0054】
が、
【0055】
【数19】

【0056】
−セルマー群であるものとするが、これは、
【0057】
【数20】

【0058】
の対応する正確なシーケンスによって定義される。ここで、カースルズ−テイトペアリングを
【0059】
【数21】

【0060】
にリフトすることができる。次に、セルマー群でのペアリングを、ローカルペアリングの合計として記述する。この動機は、次の通りである。φ=ψについてこれを適用する。IIIφを直接に計算する小さい可能性があるが、セルマー群Sφを計算できる。カースルズ−テイトペアリングのセルマー群
【0061】
【数22】

【0062】
へのリフトは、A(K)/φA(K)から来る要素について自明である。したがって、
【0063】
【数23】

【0064】
におけるカースルズ−テイトペアリングが自明でない場合に、IIIにおける自明でないφ−トーションを有さなければならない。
【0065】
IIIの定義により、
【0066】
【数24】

【0067】
における第3垂直写像は、0である。したがって、写像lv,φ:Sφ→A(K)/φA(K)が得られる。lv,φを使用して、セルマー群をローカル群A(K)/φA(K)に写像する。ここで、ローカルペアリング
【0068】
【数25】

【0069】
を定義することができ、b∈Sφおよび
【0070】
【数26】

【0071】
について、
【0072】
【数27】

【0073】
が得られる。
【0074】
(ローカルペアリングの定義)
ローカルペアリング(たとえば、ローカルペアリング126)
【0075】
【数28】

【0076】
を定義するために、次の図式
【0077】
【数29】

【0078】
を検討する。x∈A(K)/φA(K)であり、
【0079】
【数30】

【0080】
であるものとする。xが、xのA(K)/φψA(K)へのリフトであるものとする。すると、iφψ(x)およびsφ(x)の両方が、H(K,Aφ)において同一の像を有する。したがって、(iφψ(x)−sφ(x))は、要素c∈H(K,Aψ)の像である。
【0081】
【数31】

【0082】
を定義する。
【0083】
ローカルペアリング
【0084】
【数32】

【0085】
は、アーベル群の双一次ペアリングである。
【0086】
【数33】

【0087】
上述のカースルズ−テイトペアリング122は、非特許文献4に記載されているように、ローカルペアリングの合計として表すことができ
【0088】
【数34】

【0089】
であり、次の補助定理は、上記の合計を有限の合計に減らす(reduce)。vが複素アルキメデス的付値であるか、vがアルキメデス的でない場合に、Aは、vの極大イデアルを法とする良還元(good reduction)を有し、v(deg(φ)deg(ψ))=0であり、したがって
【0090】
【数35】

【0091】
は自明である。
【0092】
ここで、図2に関して、次いで、図3に関して、カースルズ−テイトペアリングを選択データの暗号処理にどのように使用するかを説明する。
【0093】
(データを暗号処理する例示的プロシージャ)
図2に、カースルズ−テイトペアリングを使用してデータを暗号処理する例示的プロシージャ200を示す。プロシージャの動作を、図1のコンポーネントに関して説明する。コンポーネントの符号の左端の桁は、そのコンポーネントが初めて現れる特定の図面を識別する。
【0094】
ブロック202で、署名/暗号化モジュール110が、コホモロジ群124および数体K上のアーベル多様体Aからシャファレヴィッチ−テイト群114(図1)を生成する。ブロック204で、署名/暗号化モジュール110が、シャファレヴィッチ−テイト群114および秘密rに基づいてカースルズ−テイトペアリング(「その他のデータ」132を参照されたい)を判定する。この秘密rは、シャファレヴィッチ−テイト群114の要素xが、公開鍵r*xを得るためにそれ自体と合成された回数である。ブロック206で、選択された情報(たとえば、オリジナルデータ)を、判定されたカースルズ−テイトペアリングの関数として暗号処理する。たとえば、署名/暗号化モジュール110は、判定されたカースルズ−テイトペアリングの関数として、データを暗号化するか、またはデータに署名する。同様に、検証/暗号化解除モジュール120は、それぞれ、生成されたカースルズ−テイトペアリングの関数として、データを暗号化解除するか、または検証する。カースルズ−テイトペアリングを使用することによるデータへの署名および署名されたデータの検証の例示的プロシージャを、図3に関して以下で説明する。
【0095】
データの処理(たとえば、署名または暗号化、同様に、検証または暗号化解除)のためにブロック206で選択される、特定のペアリングベースの暗号アルゴリズムは、任意であり、実装のために選択される特定のアルゴリズムの関数である。たとえば、一実施形態では、ブロック206の動作が、図4に関して以下で説明するアイデンティティベースの暗号化アルゴリズムを使用して、あるいはその代わりに、鍵発行に基づくアルゴリズム、署名(プレイン、ブラインド、プロキシ、リング、否定不能など)、暗号化、認証付き暗号化、またはブロードキャスト暗号化などを使用して、データを暗号処理する。もう1つの実施形態では、ブロック206で、キーアグリーメント、鍵配布、署名(たとえば、ショートシグネチャー、グループシグネチャーなど)などを使用して、データを暗号処理する。ほかの異なる実施形態では、ブロック206で、異なるペアリングベースの暗号アルゴリズムを使用して、データを暗号処理する。
【0096】
(カースルズ−テイトペアリングを使用してデータに署名する例示的プロシージャ)
図3に、カースルズ−テイトペアリングを使用してデータに暗号署名する例示的プロシージャ300を示す。データに署名するために選択される特定のペアリングベースの暗号アルゴリズムは、任意であり、実装のために選択される特定の暗号アーキテクチャの関数である。プロシージャ300の動作を、図1のコンポーネントに関して説明する。コンポーネントの符号の左端の桁は、そのコンポーネントが初めて現れる特定の図面を識別する。
【0097】
この例示的実施形態では、この実施形態では署名するモジュールであり、そう呼ばれる署名/暗号化モジュール110が、署名スキームを実施する。ブロック302で、署名モジュール110が、コホモロジ群124および数体K上のアーベル多様体Aから、シャファレヴィッチ−テイト群114を生成する。ブロック304で、署名モジュール110が、Aのシャファレヴィッチ−テイト群114内のIII(A/K)内の要素xを選択し、公開する。ブロック306で、署名モジュール110が、(たとえば、整数乗算を介して)AからAへの、m次の、2つの同種写像φおよびψを生成する。同種写像の生成に使用できる複数の既知の技法がある。ブロック308で、署名モジュール110が、Aψおよび
【0098】
【数36】

【0099】
の核の生成作用素(generator)である、2つのランダムな点(random points)PおよびP’を入手する。ここで、
【0100】
【数37】

【0101】
は、双対写像(dual isogeny)
【0102】
【数38】

【0103】
である。
【0104】
オリジナルデータの暗号化または署名、および/または関連する暗号化または署名されたデータ118の暗号化解除または検証、および/または共通の秘密の確立を望む、2人の当事者(たとえば、AliceおよびBob)が、それぞれの公開鍵128を生成する。ブロック310で、それぞれの公開鍵128を生成することを望む当事者が、それぞれの秘密の乱数rを生成し、xを、シャファレヴィッチ−テイト群114内でr回それ自体と合成して、新しい要素(xのr番目の倍数、r*x)を生成する。数rは、ユーザ(たとえば当事者Aまたは当事者B)の秘密130である。秘密130は共有されない。ブロック312で、署名/暗号化モジュール110が、この新しい要素を公開鍵128として公開する。
【0105】
ブロック314で、署名モジュール110が、シャファレヴィッチ−テイト群114を使用してオリジナルデータに署名して、署名されたデータ118を生成する。たとえば、一実施形態では、署名モジュールが署名スキームを実施する場合に、署名モジュール110は、データ空間{0,1}から
【0106】
【数39】

【0107】
へのハッシュ関数hを使用して、オリジナルデータM(たとえば、平文メッセージ)に署名する。データ空間{0,1}は、ある長さnのビット列の集合である。同様に、データ空間{0,1}は、ある長さ*のビット列の集合である。これは、Mのハッシュh(M)を、
【0108】
【数40】

【0109】
の要素として計算し、次に、r番目の乗算r*h(M)をとって署名σ=r*h(M)を得ることによって達成される。例示のために、M’と表されるMのハッシュ、カースルズ−テイトペアリング、および関連する署名σを、「その他のデータ」132のそれぞれの部分として図示した。
【0110】
ブロック316で、署名モジュール110は、ネットワーク化されたコンピューティングデバイス104上で実行されているアプリケーションなどの、ターゲットエンティティに、Mを署名σと共に送信する。このアプリケーションは、検証/暗号化解除モジュール120によって実装されるロジックを実施し、あるいは、そうでなければ、そのロジックにアクセスする。ブロック318で、Mおよび署名σの受信に応答して、この実施形態では検証モジュールである検証/暗号化解除モジュール120がMをハッシュ化し、カースルズ−テイトペアリング122、CT(r*x,h(M))を計算し、これをCT(x,σ)と比較することによって、Mの署名の妥当性検査または検証を行う。これらが同一である場合には、メッセージ上の署名が有効とみなされる。
【0111】
(カースルズ−テイトペアリングの評価)
このセクションでは、ある事例において、ブロック318での検証/暗号化解除モジュール120の動作は、どのように、カースルズ−テイトペアリング122を明示的に計算することができるかを示す。この実施形態では、注意を、ペアリング122について明示的な式が提供される、特別な事例に集中する。例示的表記も提供する。
【0112】
1.アーベル多様体Aが、数体Kで定義される楕円曲線Eであると仮定する。すると、Eは、そのデュアル
【0113】
【数41】

【0114】
と同形(canonically isomorphic)である。
【0115】
2.K上で定義されたp次のEの同種写像φが存在すると仮定する。ψが、双対写像(dual isogeny)
【0116】
【数42】

【0117】
であるものとする。すると、
【0118】
【数43】

【0119】
および
【0120】
【数44】

【0121】
である。
【0122】
3.Eの全p−トーションがK上で定義されると仮定する。P∈E(K)が、ψの核についての生成作用素であるものとし、P’∈E(K)が、
【0123】
【数45】

【0124】
の核の生成作用素であるものとする。
【0125】
4.写像ψ:E→Eφが、ガロア不変セクションs:Eφ→Eを有すると仮定する。
【0126】
5.s’がデュアルセクションであるものとする。Q:=s’P’であるものとする。
【0127】
固定されたφおよびψがあるので、これから、ローカルペアリングを単に<,>と書く。
【0128】
(ヒルベルトノルム剰余記号に関する例示的なローカルペアリング)
φが、p次のEの同種写像であるものとする。上記のように、P∈E(K)が、
【0129】
【数46】

【0130】
の核の生成作用素であるものとする。Dが、Pを表す、K上のEの除数であるものとし、f∈K(E)が、
(f)=pD
を満足する関数であるものとする。次の補助定理が得られる。
【0131】
補助定理3:R∈E(K)であるものとし、Dが、(R)−(O)と同等で、Dの支持集合を満足しない除数であるものとする。
【0132】
1.f(φD)∈(Kが得られる。
【0133】
2.gは、その除数div gがDからの互いに素な支持集合を有する関数であるものとする。f(div g)∈(Kが得られる。
【0134】
3.D’がKで定義され、Dと線形に同等(linearly equivalent)であり、f’∈E(K)が、(f’)=mD’になるものである場合に、あるg∈K(E)について、f≡f’ mod Kである。
【0135】
証明.直前のステートメント2は、ベイユ相互作用(Weil reciprocity)からの当然の結果である。補助定理3から、写像fは、明確に定義された写像
:E(K)/φE(K)→K/(K
を与える。これは、まさにテイトペアリングである。(3)から、この写像が、それを表すために選択された除数ではなく、Pだけに依存することがわかる。その一方で、PはK上の有理数なので、ガロア写像
φ→μ aa eφ(a,P)
が得られ、これから、写像
:H(K,Eφ)→H(K,μ)=K/(K
が誘導される。この等式は、クンマー理論から来る写像である。
【0136】
補助定理4:joiφ=iが得られる。ここで、iφは、コホモロジの短い正確なシーケンスからの写像iφ:E(K)/φE(K)→H(K,Eφ)である。記号「o」は、写像の合成を表す。P、P’、およびQが上記と同一である、すなわち、Pがψの核の生成作用素であり、P’が
【0137】
【数47】

【0138】
の核の生成作用素であり、Q:=s’P’であり、s’がデュアルセクションであるものとする。先に進む前に、次の2つの定義を検討されたい。
【0139】
・定義5.ヒルベルトノルム剰余記号(,)は、写像
【0140】
【数48】

【0141】
である。これは、
【0142】
【数49】

【0143】
によって定義される。ここで、
【0144】
【数50】

【0145】
は、yに写像されるKのすべての要素であり、
【0146】
【数51】

【0147】
は、アルチン記号を表す。
【0148】
・定義6.ζ、ζ’∈μであるものとする。Indζ(ζ’)が、ζμu=ζ’である一意の要素
【0149】
【数52】

【0150】
であるものとする。次の命題を証明することができる。
【0151】
命題7:識別
【0152】
【数53】

【0153】
および
【0154】
【数54】

【0155】
の下で、ヒルベルトノルム剰余記号(,)を、カップ積ペアリング
【0156】
【数55】

【0157】
を用いて識別することができる。
【0158】
証明.これは、非特許文献5からの当然の結果である。次に、ローカルペアリングをヒルベルト記号に関係付ける、次の定理を証明することができる。
【0159】
定理8:x,y∈E(K)/φE(K)であるものとする。xがE(K)/pE(K)へのxのリフトである場合に、
【0160】
【数56】

【0161】
(1)である。証明.マッカラムの定理2.6を参照されたい。
【0162】
セルマー群Sφにおける要素の表現を、次に説明する。vが、ローカルペアリングが自明でない、上記のように区別された座であるものとする。各要素ζ∈Sφに、T:=lv,φ(ζ)とすることによって、点T∈E(K)/φE(K)を関連付ける。ここで、lv,φは、ローカルペアリングとしてのカースルズ−テイトペアリングに関して説明したものと同様である。この要素T∈E(Q)は、要素ζ∈Sφ(E/K)を一意に表す。
【0163】
S,T∈K=Qのローカルペアリング<S,T>の評価を、次に説明する。定理8によって、ローカルペアリング126を、2つのテイトペアリング122および1つのヒルベルト記号(「その他のデータ」132参照)の適用(application)として評価することができる。一実施形態では、除算を避けるために射影座標を使用し、デノミネータキャンセレーション(denominator cancellation)技法を使用して、テイトペアリングを評価する。
【0164】
(例示的なアイデンティティベースの暗号化)
図4に、アーベル多様体のシャファレヴィッチ−テイト群でのカースルズ−テイトペアリングを使用する、アイデンティティベースの暗号化システム100の例示的プロシージャ400を示す。プロシージャ400の動作を、図1のコンポーネントに関して説明する。コンポーネントの符号の左端の桁は、そのコンポーネントが初めて現れる特定の図面を識別する。プロシージャ400の動作は、次に基づく:xが、アーベル多様体のデュアルのシャファレヴィッチ−テイト群114の要素、おそらくは生成作用素であるものとし、rが、シャファレヴィッチ−テイト群の群位数より小さいランダムな整数であるものとする。
【0165】
ブロック402で、プログラムモジュール106、たとえば署名/暗号化モジュール110が、公開鍵にr*xをセットする。例示的プロシージャ400の実施形態では、モジュール110は、暗号化モジュールであり、このプロシージャに関してはそのように呼ばれる。整数rは、マスタ鍵である。ブロック404で、プログラムモジュール106が、データ空間{0,1}からシャファレヴィッチ−テイト群の非0要素への暗号ハッシュ関数hを選択する。ブロック406で、プログラムモジュール106が、カースルズ−テイトペアリング116のターゲット空間からデータ空間{0,1}への暗号ハッシュ関数hを選択する。
【0166】
ブロック408で、プログラムモジュール106が、データ空間{0,1}の2つのコピーからシャファレヴィッチ−テイト群114の群位数を法とする非0整数への第3の暗号ハッシュ関数hを選択する。ブロック410で、プログラムモジュール106が、データ空間{0,1}のコピーからそれ自体への第4の暗号ハッシュ関数hを選択する。ブロック412で、{0,1}内の所与のアイデンティティ文字列IDに関して、システム100のオーソリティ(たとえば、暗号化モジュール110などのプログラムモジュール106)が、アイデンティティ文字列をシャファレヴィッチ−テイト群114の要素にハッシュ化しh(ID)、次に秘密鍵にr*h(ID)をセットすることによって、対応する秘密鍵を生成する。例示のために、そのようなアイデンティティ文字列および秘密鍵を、「その他のデータ」132のそれぞれの部分に示す。
【0167】
ブロック414で、公開鍵IDを使用してデータ空間{0,1}内のメッセージMを暗号化するために、プログラムモジュール106が、シャファレヴィッチ−テイト群へのIDのハッシュh(ID)を計算する。メッセージMは、「その他のデータ」132のそれぞれの部分である。ブロック416で、プログラムモジュール106が、データ空間{0,1}内でランダム文字列sを選択する。ブロック418で、a=h(s,M)であるものとする。プログラムモジュール106が、E=(a*x,s+h(cID),M+h(s))に従うものとしてメッセージ118を暗号化する。ただし、cIDは、h(ID)とr*xのカースルズ−テイトペアリング116であり、+記号は、ビット列のXOR演算を表す。
【0168】
メッセージの暗号化解除は、次のように達成することができる。デクリプタ(decryptor)120は、アイデンティティ列IDに関連する秘密鍵D=r*h(ID)を所有する。デクリプタは、暗号文E=(F,G,H)を受信する。デクリプタは、s=G+h(CT(D,F))をセットする。次に、デクリプタは、メッセージMにM=H+h(s)をセットする。次に、デクリプタは、a=h(s,M)をセットし、受信した値Fがa*xと等しいかどうかをテストする。そうでない場合に、デクリプタは、メッセージを拒絶する。
【0169】
(例示的オペレーティング環境)
図5に、カースルズ−テイトペアリングに基づくデータの暗号処理を完全にまたは部分的に実施できる適切なコンピューティング環境の例を示す。例示的コンピューティング環境500は、図1の例示的システムおよび図2〜4の例示的動作に適切なコンピューティング環境の一例にすぎず、本明細書に記載のシステムおよび方法の使用または機能性の範囲に関する制限を示唆することを意図したものではない。コンピューティング環境500を、コンピューティング環境500に示されたコンポーネントのいずれかまたはその組合せに関する依存性または要件を有するものと解釈してもならない。
【0170】
本明細書に記載の方法およびシステムは、多数の他の汎用または特殊目的のコンピューティングシステム、コンピューティング環境、またはコンピューティング構成と共に動作する。使用に適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および/またはコンピューティング構成の例に、パーソナルコンピュータ、サーバコンピュータ、マルチプロセッサシステム、マイクロプロセッサベースのシステム、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、これらに制限はされない。このフレームワークのコンパクト版またはサブセット版を、ハンドヘルドコンピュータまたは他のコンピューティングデバイスなどの限られたリソースのクライアントで実施することもできる。本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境で実践される。分散コンピューティング環境では、プログラムモジュールを、リモートメモリストレージデバイスとローカルメモリストレージデバイスの両方に置くことができる。
【0171】
図5を参照すると、カースルズ−テイトペアリングに基づいてデータを暗号処理する例示的システムは、たとえば図1のシステム100を実施する、コンピュータ510の形の汎用コンピューティングデバイスを含む。コンピュータ510の次に説明される態様は、図1のコンピューティングデバイス102および/または104の例示的実施形態である。コンピュータ510のコンポーネントは、処理装置520、システムメモリ530、およびシステムメモリを含むさまざまなシステムコンポーネントを処理装置520に結合するシステムバス521を含むことができるが、これらには制限されない。システムバス521は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む、複数のタイプのバス構造のいずれかとすることができる。限定ではなく例として、そのようなアーキテクチャには、ISA(Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニンバスとも呼ばれるPCI(Peripheral Component Interconnect)バスを含めることができる。
【0172】
コンピュータ510は、通常、様々なコンピュータ読み取り可能記憶媒体を含む。コンピュータ読み取り可能記憶媒体は、コンピュータ510によってアクセスできるすべての使用可能な媒体とすることができ、揮発性および不揮発性の媒体、取り外し可能および取り外し不可能な媒体の両方が含まれる。限定ではなく例として、コンピュータ読み取り可能記憶媒体は、コンピュータ記憶媒体と通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、または他のデータなどの、情報の記憶に関する任意の方法または技術で実装される、揮発性および不揮発性、取り外し可能および取り外し不可能な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリテクノロジ、CD−ROM、ディジタル多用途ディスク(DVD)、または他の光学ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、あるいは、所望の情報を格納するのに使用でき、コンピュータ510によってアクセスできる他のすべての媒体を含むが、これらに制限はされない。
【0173】
通信媒体は、通常は、搬送波または他のトランスポート機構などの被変調データ信号内で、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、または他のデータを実施し、任意の情報配布媒体を含む。用語「被変調データ信号」は、信号内で情報を符号化する形でその特性の1つまたは複数を設定または変更された信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接配線接続などの有線媒体、音響、無線周波数(RF)、赤外線、および他の無線媒体などの無線媒体を含む。上記のいずれかの組み合わせも、コンピュータ読み取り可能記憶媒体の範囲に含まれるべきである。
【0174】
システムメモリ530は、読取専用メモリ(ROM)531およびランダムアクセスメモリ(RAM)532などの揮発性メモリおよび/または不揮発性メモリの形のコンピュータ記憶媒体を含む。起動中などにコンピュータ510内の要素間での情報の転送を助ける基本ルーチンを含む基本入出力システム533(BIOS)は、通常はROM531に格納される。RAM532は、通常は、処理装置520から即座にアクセス可能な、および/または処理装置520によって現在操作中のデータおよび/またはプログラムモジュールを含む。限定ではなく例として、図5に、オペレーティングシステム534、アプリケーションプログラム535、その他のプログラムモジュール536、およびプログラムデータ537を示す。
【0175】
コンピュータ510は、他の取り外し可能/取り外し不可能、揮発性/不揮発性のコンピュータ記憶媒体を含むことができる。ほんの一例として、図5に、取り外し不可能な不揮発性磁気媒体から読み取るか、またはこれに書き込むハードディスクドライブ541、取り外し可能な不揮発性磁気ディスク552から読み取るか、これに書き込む磁気ディスクドライブ551、CD−ROMまたは他の光媒体などの取り外し可能な不揮発性光ディスク556から読み取るか、これに書き込む光ディスクドライブ555を示す。例示的なオペレーティング環境で使用できる他の取り外し可能/取り外し不可能、揮発性/不揮発性のコンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、ディジタル多用途ディスク、ディジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどを含むが、これに限定はされない。ハードディスクドライブ541は、通常は、インターフェース540などの取り外し不可能なメモリインターフェースを介してシステムバス521に接続され、磁気ディスクドライブ551および光ディスクドライブ555は、通常、インターフェース550などの取り外し可能なメモリインターフェースによってシステムバス521に接続される。
【0176】
上述し、図5に示したドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ510のコンピュータ読み取り可能命令、データ構造、プログラムモジュール、および他のデータの記憶領域を提供する。図5では、たとえば、ハードドライブ541が、オペレーティングシステム544、アプリケーションプログラム545、その他のプログラムモジュール546、およびプログラムデータ547を格納するものとして図示されている。これらのコンポーネントを、オペレーティングシステム534、アプリケーションプログラム535、その他のプログラムモジュール536、およびプログラムデータ537と同一のまたは異なるもののいずれかとすることができることに留意されたい。アプリケーションプログラム535は、たとえば、図1のコンピューティングデバイス102または104のプログラムモジュールを含む。プログラムデータ537は、たとえば、図1のコンピューティングデバイス102または104のプログラムデータを含む。オペレーティングシステム544、アプリケーションプログラム545、その他のプログラムモジュール546、およびプログラムデータ547は、少なくとも異なるコピーであることを示すために、異なる符号を与えられている。
【0177】
ユーザは、キーボード562および、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイス561などの入力デバイスを介して、コンピュータ510にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどを含むことができる。上記および他の入力デバイスは、しばしば、システムバス521に結合されたユーザ入力インターフェース560を介して処理装置520に接続されるが、パラレルポート、ゲームポート、またはUSB(universal serial bus)などの他のインターフェースおよびバス構造によって接続することができる。
【0178】
モニタ591または他のタイプのディスプレイデバイスも、ビデオインターフェース590などのインターフェースを介してシステムバス521に接続される。モニタのほかに、コンピュータは、プリンタ596およびオーディオデバイス597など、出力周辺インターフェース595を介して接続できる他の周辺出力デバイスも含むことができる。
【0179】
コンピュータ510は、リモートコンピュータ580などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境で動作する。一実施形態では、リモートコンピュータ580は、図1のコンピューティングデバイス102またはネットワーク化されたコンピュータ104を表す。リモートコンピュータ580は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、その特定の実施形態の機能として、コンピュータ510に関して上述した要素の多くまたはすべてを含むことができるが、図5には、メモリストレージデバイス581だけを示した。図5に示された論理接続は、ローカルエリアネットワーク(LAN)571および広域ネットワーク(WAN)573を含むが、他のネットワークも含むことができる。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的なものである。
【0180】
LANネットワーキング環境で使用される場合に、コンピュータ510は、ネットワークインターフェースまたはネットワークアダプタ570を介してLAN571に接続される。WANネットワーキング環境で使用される場合に、コンピュータ510は、通常、インターネットなどのWAN573を介して通信を確立する、モデム572または他の手段を含む。モデム572は、内蔵または外付けとすることができるが、ユーザ入力インターフェース560または他の適当な手段を介して、システムバス521に接続することができる。ネットワーク化された環境では、コンピュータ510に関して図示されたプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに格納することができる。限定ではなく例として、図5に、メモリデバイス581に常駐するものとしてリモートアプリケーションプログラム585を示す。図示のネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立する他の手段を使用することができる。
【0181】
(結論)
暗号化におけるカースルズ−テイトペアリングのシステムおよび方法を、構造的特徴および/または方法論的動作もしくは行為に固有の言葉で説明したが、請求項で定義される実施形態は、必ずしも説明した特定の特徴または動作に限定されないことを理解されたい。たとえば、署名/暗号化モジュール110(図1)および検証/暗号化解除モジュール120(図1)は、異なるそれぞれのコンピューティングデバイス(すなわち、デバイス102および104)上に図示されているが、別の実施形態では、これらのプログラムモジュールに関するロジックを、単一のコンピューティングデバイス102で実施することができる。カースルズ−テイトペアリングのシステムおよび方法を、例示的な署名およびアイデンティティベースの実施形態で説明したが、ほかの例では、このシステムおよび方法を、上の段落番号0009および0010で示したものなどのシャファレヴィッチ−テイト群におけるペアリングベースのすべてのアプリケーションにも適用可能である。
【0182】
さらに別の代替実施形態では、公開要素xを、Aのデュアルのシャファレヴィッチ−テイト群から選択することができ、メッセージMを、Aのシャファレヴィッチ−テイト群にハッシュ化することができる。同様に、アイデンティティベースの暗号化および他の応用例について、Aの役割とAのデュアルの役割を入れ替えることができる。
【0183】
したがって、システム100の特定の特徴および動作は、請求される対象を実施する例示的な形として開示されたものである。
【図面の簡単な説明】
【0184】
【図1】カースルズ−テイトペアリングに基づいてデータを暗号処理する例示的システムを示す図である。
【図2】カースルズ−テイトペアリングに基づいてデータを暗号処理する例示的プロシージャを示す図である。
【図3】カースルズ−テイトペアリングを使用してデータにディジタル署名する例示的プロシージャを示す図である。
【図4】カースルズ−テイトペアリングを使用するアイデンティティベースの暗号化の例示的プロシージャを示す図である。
【図5】カースルズ−テイトペアリングに基づくデータの暗号処理を完全にまたは部分的に実施できる適切なコンピューティング環境の例を示す図である。

【特許請求の範囲】
【請求項1】
コホモロジ群からシャファレヴィッチ−テイト群を生成すること、
前記シャファレヴィッチ−テイト群の要素に基づいてカースルズ−テイトペアリングを判定すること、および、
前記カースルズ−テイトペアリングに基づいてデータを暗号処理すること
を含むことを特徴とする方法。
【請求項2】
前記コホモロジ群は、楕円曲線またはより高い示性数の曲線のヤコビ多様体から選択されたアーベル多様体に関連することを特徴とする請求項1に記載の方法。
【請求項3】
前記カースルズ−テイトペアリングは、ローカルペアリングの合計であることを特徴とする請求項1に記載の方法。
【請求項4】
前記暗号処理することは、署名ベースの検証スキームまたはアイデンティティベースの暗号化スキームであることを特徴とする請求項1に記載の方法。
【請求項5】
前記暗号処理することは、Aのデュアルのシャファレヴィッチ−テイト群から公開要素xを選択し、メッセージMは、Aの前記シャファレヴィッチ−テイト群へハッシュ化されることを特徴とする請求項1に記載の方法。
【請求項6】
前記暗号処理することは、Aのデュアルのシャファレヴィッチ−テイト群に基づき、Aの役割およびAの前記デュアルの役割は、入れ替えられることを特徴とする請求項1に記載の方法。
【請求項7】
暗号処理することは、データ空間{0,1}を操作するハッシング関数hを用いて前記データをハッシュ化することによって前記データに署名することをさらに含み、前記データは、
【数1】

へハッシュ化されることを特徴とする請求項1に記載の方法。
【請求項8】
暗号処理することは、
前記シャファレヴィッチ−テイト群から要素xを選択すること、
乱数rを選択すること、
公開鍵を生成するために前記要素xをそれ自体とr回合成すること
をさらに含み、
rは、秘密として維持されること
を特徴とする請求項1に記載の方法。
【請求項9】
暗号処理することは、
前記シャファレヴィッチ−テイト群から要素xを選択すること、
公開鍵を生成するために前記要素xをそれ自体とr回合成することであって、rは秘密であること、および、
前記データを独立のエンティティによって暗号化解除しまたは検証することができるようにするために、前記要素x、前記公開鍵r*x、および前記アーベル多様体を公開すること
をさらに含むことを特徴とする請求項1に記載の方法。
【請求項10】
前記カースルズ−テイトペアリングは、様々な入力に対して評価され、その値は比較され、
前記シャファレヴィッチ群の要素の関数として決定された秘密から生成された公開鍵を受信すること、および、
前記公開鍵および前記カースルズ−テイトペアリングの関数として前記データを暗号化解除し、または検証すること
をさらに含むことを特徴とする請求項1に記載の方法。
【請求項11】
署名σ=r*h(M)およびメッセージMは送信され、
(a)前記データをハッシュ化すること、
(b)第2のカースルズ−テイトペアリングCT(r*x,h(M))を計算すること、および、
(c)前記第2のカースルズ−テイトペアリングを第1のカースルズ−テイトペアリングCT(x,σ)と比較すること
によって前記データを検証することをさらに含むことを特徴とする請求項1に記載の方法。
【請求項12】
暗号処理は、
h(前記データ)が
【数2】

の要素になるように前記データのハッシュhを計算すること、
r番目の倍数r*h(前記データ)を判定することであって、rは乱数であること、および、
署名σ=r*h(M)を得るために前記カースルズ−テイトペアリングを評価すること
によって前記データに署名することをさらに含むことを特徴とする請求項1に記載の方法。
【請求項13】
コホモロジ群からシャファレヴィッチ−テイト群を生成すること、
前記シャファレヴィッチ−テイト群の要素に基づいてカースルズ−テイトペアリングを判定すること、および、
前記カースルズ−テイトペアリングに基づいてデータを暗号処理すること
を行うためにプロセッサによって実行可能なコンピュータプログラム命令を含むコンピュータ読み取り可能記憶媒体。
【請求項14】
前記コホモロジ群は、楕円曲線またはより高い示性数の曲線のヤコビ多様体から選択されたアーベル多様体に関連することを特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項15】
前記カースルズ−テイトペアリングは、ローカルペアリングの合計であることを特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項16】
前記暗号処理することは、署名ベースの検証スキームまたはアイデンティティベースの暗号化スキームであることを特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項17】
暗号処理することについての前記コンピュータプログラム命令は、さらに、データ空間{0,1}を操作するハッシング関数hを用いて前記データをハッシュ化することによって前記データに署名する命令を含み、前記データは、
【数3】

にハッシュ化されることを特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項18】
暗号処理することについての前記コンピュータプログラム命令は、さらに、
前記シャファレヴィッチ−テイト群から要素xを選択する命令と、
乱数rを選択する命令と、
公開鍵を生成するために前記要素xをそれ自体とr回合成する命令と
を含み、
rは秘密として維持されること
を特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項19】
暗号処理することについての前記コンピュータプログラム命令は、さらに、
前記シャファレヴィッチ−テイト群から要素xを選択する命令と、
公開鍵を生成するために前記要素xをそれ自体とr回合成する命令であって、rは秘密であることと、
前記データを独立のエンティティによって暗号化解除しまたは検証することができるようにするために、前記要素x、前記公開鍵r*x、および前記アーベル多様体を公開する命令と
を含むことを特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項20】
前記カースルズ−テイトペアリングは、様々な入力に対して評価され、その値は、比較され、前記コンピュータプログラム命令は、
前記シャファレヴィッチ群の要素の関数として決定された秘密から生成された公開鍵を受信する命令と、
前記公開鍵および前記カースルズ−テイトペアリングの関数として前記データを暗号化解除し、または検証する命令と
をさらに含むことを特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項21】
署名σ=r*h(M)およびメッセージMは、送信され、前記コンピュータプログラム命令は、
(a)前記データをハッシュ化すること、
(b)第2のカースルズ−テイトペアリングCT(r*x,h(M))を計算すること、および、
(c)前記第2のカースルズ−テイトペアリングを第1のカースルズ−テイトペアリングCT(x,σ)と比較すること
によって前記データを検証する命令をさらに含むことを特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項22】
暗号処理することについての前記コンピュータプログラム命令は、さらに、
h(前記データ)が
【数4】

の要素になるように前記データのハッシュhを計算すること、
r番目の倍数r*h(前記データ)を判定することであって、rは乱数であること、および、
署名σ=r*h(M)を得るために前記カースルズ−テイトペアリングを評価すること
によって前記データに署名する命令をさらに含むことを特徴とする請求項13に記載のコンピュータ読み取り可能記憶媒体。
【請求項23】
プロセッサと、
メモリと
を含み、前記メモリは、
コホモロジ群からシャファレヴィッチ−テイト群を生成することと、
前記シャファレヴィッチ−テイト群の要素に基づいてカースルズ−テイトペアリングを判定することと、
前記カースルズ−テイトペアリングに基づいてデータを暗号処理することと
を行うために前記プロセッサによって実行可能なコンピュータプログラム命令を含むこと
を特徴とするコンピューティングデバイス。
【請求項24】
前記コホモロジ群は、楕円曲線またはより高い示性数の曲線のヤコビ多様体から選択されたアーベル多様体に関連することを特徴とする請求項23に記載のコンピューティングデバイス。
【請求項25】
前記カースルズ−テイトペアリングは、ローカルペアリングの合計であることを特徴とする請求項23に記載のコンピューティングデバイス。
【請求項26】
前記暗号処理することは、署名ベースの検証スキームまたはアイデンティティベースの暗号化スキームであることを特徴とする請求項23に記載のコンピューティングデバイス。
【請求項27】
暗号処理することについての前記コンピュータプログラム命令は、さらに、データ空間{0,1}を操作するハッシング関数hを用いて前記データをハッシュ化することによって前記データに署名する命令を含み、前記データは、
【数5】

へハッシュ化されることを特徴とする請求項23に記載のコンピューティングデバイス。
【請求項28】
暗号処理することについての前記コンピュータプログラム命令は、さらに、
前記シャファレヴィッチ−テイト群から要素xを選択する命令と、
乱数rを選択する命令と、
公開鍵を生成するために前記要素xをそれ自体とr回合成する命令と
を含み、
rは秘密として維持されること
を特徴とする請求項23に記載のコンピューティングデバイス。
【請求項29】
暗号処理することについての前記コンピュータプログラム命令は、さらに、
前記シャファレヴィッチ−テイト群から要素xを選択する命令と、
公開鍵を生成するために前記要素xをそれ自体とr回合成する命令であって、rは秘密であることと、
前記データを独立のエンティティによって暗号化解除しまたは検証することができるようにするために、前記要素x、前記公開鍵r*x、および前記アーベル多様体を公開する命令と
を含むことを特徴とする請求項23に記載のコンピューティングデバイス。
【請求項30】
前記カースルズ−テイトペアリングは、様々な入力に対して評価され、その値は、比較され、前記コンピュータプログラム命令は、さらに、
前記シャファレヴィッチ群の要素の関数として決定された秘密から生成された公開鍵を受信する命令と、
前記公開鍵および前記カースルズ−テイトペアリングの関数として前記データを暗号化解除し、または検証する命令と
をさらに含むことを特徴とする請求項23に記載のコンピューティングデバイス。
【請求項31】
署名σ=r*h(M)およびメッセージMは、送信され、前記コンピュータプログラム命令は、
(a)前記データをハッシュ化すること、
(b)第2のカースルズ−テイトペアリングCT(r*x,h(M))を計算すること、および、
(c)前記第2のカースルズ−テイトペアリングを第1のカースルズ−テイトペアリングCT(x,σ)と比較すること
によって前記データを検証する命令をさらに含むことを特徴とする請求項23に記載のコンピューティングデバイス。
【請求項32】
暗号処理することについての前記コンピュータプログラム命令は、
h(前記データ)が
【数6】

の要素になるように前記データのハッシュhを計算すること、
r番目の倍数r*h(前記データ)を判定することであって、rは乱数であること、および、
署名σ=r*h(M)を得るために前記カースルズ−テイトペアリングを評価すること
によって前記データに署名する命令をさらに含むことを特徴とする請求項23に記載のコンピューティングデバイス。
【請求項33】
コホモロジ群からシャファレヴィッチ−テイト群を生成する生成手段と、
前記シャファレヴィッチ−テイト群の要素に基づいてカースルズ−テイトペアリングを判定する判定手段と、
前記カースルズ−テイトペアリングに基づいてデータを暗号処理する暗号処理手段と
を含むことを特徴とするコンピューティングデバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2006−171711(P2006−171711A)
【公開日】平成18年6月29日(2006.6.29)
【国際特許分類】
【出願番号】特願2005−324933(P2005−324933)
【出願日】平成17年11月9日(2005.11.9)
【出願人】(500046438)マイクロソフト コーポレーション (3,165)
【Fターム(参考)】