【誤訳訂正書】
【提出日】平成23年8月18日(2011.8.18)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
位数ｎの楕円曲線Ｅ上で動作する暗号システムであって、
前記暗号システムは、
第１の通信相手デバイスであって、第２の通信相手デバイスに対するデータを暗号処理する第１の通信相手デバイス
を含み、
前記第１の通信相手デバイスは、メモリ及び第１の暗号プロセッサを含み、前記第１の暗号プロセッサは、
前記メモリ内に、１つの群から別の群に対する自己準同形写像［ｚ］を格納することであって、前記自己準同形写像［ｚ］は、ｚ２＋ｕｚ＋ｖ＝０を満たす二次代数的整数ｚに対応し、ｕ及びｖは秘密の整数であり、ｖはｎに対して互いに素である、ことと、
公開鍵操作として前記自己準同形写像［ｚ］を識別することと、
秘密鍵操作［−ｗ］（［ｕ］＋［ｚ］）を決定することであって、ｗは整数であり、ｗｖ＝１  ｍｏｄ  ｎであり、［−ｗ］は−ｗに対応する自己準同形写像であり、［ｕ］はｕに対応する自己準同形写像である、ことと、
暗号処理されるべきデータｘを獲得することと、
前記公開鍵操作及び前記秘密鍵操作のうちの一方を前記データｘに適用することにより、改変済みデータｘ’を獲得することと、
前記改変済みデータｘ’を前記暗号システム内の前記第２の通信相手デバイスに提供することにより、前記第２の通信相手デバイスにおける第２の暗号プロセッサが、前記公開鍵操作及び前記秘密鍵操作のうちの他方を用いて、前記改変済みデータｘ’に対して相補的暗号操作を実行することを可能にすることと
を実行するように構成されている、暗号システム。
【請求項２】
前記整数ｚは、実数成分及び虚数成分を有する複素数である、請求項１に記載の暗号システム。
【請求項３】
前記自己準同形写像［ｚ］は、有理マップとして表される、請求項１に記載の暗号システム。
【請求項４】
前記暗号データｘは、メッセージｍを含み、前記第１の暗号プロセッサによる前記公開鍵操作は、前記メッセージｍを暗号化して、暗号化されたメッセージｍ’を獲得するように作用し、前記第２の暗号プロセッサによる前記秘密鍵操作の適用は、前記暗号化されたメッセージｍ’を復号化して、前記メッセージｍを獲得する、請求項１に記載の暗号システム。
【請求項５】
前記データｘは、署名されるべきメッセージｍを含み、前記第１の暗号プロセッサは、前記メッセージｍに前記秘密鍵操作を適用して、署名を獲得し、前記相補的操作は、前記署名ｓを検証するための前記署名ｓに対する公開鍵操作を含む、請求項１に記載の暗号システム。
【請求項６】
前記メッセージｍは、前記第２の通信相手デバイスによって当初のメッセージＭに適用されるハッシュ関数から生成される、請求項５に記載の暗号システム。
【請求項７】
前記暗号データｘは、前記第１の通信相手デバイスによって署名を受ける複数のメッセージを含み、前記第１の通信相手デバイスは、前記複数のメッセージの組み合わせに前記秘密鍵操作を適用して、前記署名を獲得し、前記公開鍵操作は、前記第２の通信相手デバイスによって用いられて、前記署名を検証し、これにより、前記複数のメッセージのそれぞれを検証する、請求項１に記載の暗号システム。
【請求項８】
第１の通信相手デバイスが、位数ｎの楕円曲線Ｅ上で動作する暗号システムにおいて、第２の通信相手デバイスに対するデータを暗号処理する方法であって、
前記方法は、
前記第１の通信相手デバイスにおいて、第１の暗号プロセッサが、メモリ内に、１つの群から別の群に対する自己準同形写像［ｚ］を格納することであって、前記自己準同形写像［ｚ］は、ｚ２＋ｕｚ＋ｖ＝０を満たす二次代数的整数ｚに対応し、ｕ及びｖは秘密の整数であり、ｖはｎに対して互いに素である、ことと、
前記第１の暗号プロセッサが、公開鍵操作として前記自己準同形写像［ｚ］を識別することと、
前記第１の暗号プロセッサが、秘密鍵操作［−ｗ］（［ｕ］＋［ｚ］）を決定することであって、ｗは整数であり、ｗｖ＝１  ｍｏｄ  ｎであり、［−ｗ］は−ｗに対応する自己準同形写像であり、［ｕ］はｕに対応する自己準同形写像である、ことと、
前記第１の暗号プロセッサが、暗号処理されるべきデータｘを獲得することと、
前記第１の暗号プロセッサが、前記公開鍵操作及び前記秘密鍵操作のうちの一方を前記データｘに適用することにより、改変済みデータｘ’を獲得することと、
前記第１の暗号プロセッサが、前記改変済みデータｘ’を前記暗号システムにおける前記第２の通信相手デバイスに提供することにより、前記第２の通信相手デバイスにおける第２の暗号プロセッサが、前記公開鍵操作及び前記秘密鍵操作のうちの他方を用いて、前記改変済みデータｘ’に対して相補的暗号操作を実行することを可能にすることと
を含む、方法。
【請求項９】
前記整数ｚは、実数成分及び虚数成分を有する複素数である、請求項８に記載の方法。
【請求項１０】
前記自己準同形写像［ｚ］は、有理マップとして表される、請求項８に記載の方法。
【請求項１１】
前記暗号データｘは、メッセージｍを含み、前記第１の暗号プロセッサによる前記公開鍵操作の適用は、前記メッセージｍを暗号化して、暗号化されたメッセージｍ’を獲得し、前記第２の暗号プロセッサによる前記秘密鍵操作の適用は、前記暗号化されたメッセージｍ’から前記メッセージｍを復号化する、請求項８に記載の方法。
【請求項１２】
前記データｘは、署名されるべきメッセージｍを含み、
前記方法は、
前記第１の暗号プロセッサが、前記秘密鍵操作を適用して前記メッセージｍに作用することにより、署名ｓを獲得することを含み、前記相補的操作は、前記署名ｓを検証するための前記署名ｓに対する公開鍵操作を含む、請求項８に記載の方法。
【請求項１３】
前記メッセージｍは、前記第２の通信相手デバイスによって当初のメッセージＭに適用されるハッシュ関数から生成される、請求項１２に記載の方法。
【請求項１４】
前記暗号データｘは、署名を受ける複数のメッセージを含み、前記秘密鍵操作は、前記複数のメッセージの組み合わせに作用して、前記署名を獲得し、前記公開鍵操作は、前記署名に作用して、前記署名を検証し、これにより、前記複数のメッセージのそれぞれを検証する、請求項８に記載の方法。
【請求項１５】
前記データｘは、複数の署名者により署名されるべきメッセージを含み、前記秘密鍵操作は、前記複数の署名者のそれぞれに対応する複数の操作を含み、前記複数の操作は、前記メッセージに連続的に適用されて、署名を獲得し、前記公開鍵操作は、前記複数の署名者のそれぞれに対応する複数の対応する操作を含み、前記対応する操作は、前記複数の署名者のそれぞれに対応する前記複数の操作とは反対の順序で連続的に適用されて、前記署名を検証する、請求項８に記載の方法。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】楕円曲線上の新しいトラップドア１方向性関数と、その、より短い署名及び非対称暗号化への応用
【技術分野】
【０００１】
本発明は、トラップドア１方向性暗号化関数と、その様な関数を利用する暗号システムとに関する。
【背景技術】
【０００２】
トラップドア１方向性関数（ｔｒａｐｄｏｏｒ  ｏｎｅ−ｗａｙ  ｆｕｎｃｔｉｏｎ（ＴＯＷＦ））は、公然と計算可能な関数であり、これを１つのエンティティーのみが反転することができる。ＴＯＷＦの逆数を計算するためには秘密鍵と称される特別の秘密が必要とされる。
【０００３】
ＴＯＷＦの古典的な例は、Ｍｅｄ≡Ｍ（ｍｏｄＮ）という関係に基くＲＳＡ関数である。公開ＲＳＡ関数ｗは次のように計算される：Ｗ（ｘ）＝ｘｅｍｏｄＮ。数ｅ及びＮは公開の値である。数Ｎは、２つの秘密の別個の素数ｐ及びｑの積であるように選ばれる。秘密鍵演算ｗでＲＳＡ関数を反転させることは次のように行われ得る：Ｗ−１（ｙ）＝ｙｄｍｏｄＮ。ここでｄ＝（１／ｅ）ｍｏｄ（ｐ−１）（ｑ−１）であって秘密鍵である。
【０００４】
秘密鍵無しでＲＳＡ関数を反転させることは難しい問題であると考えられている。Ｎを因数分解して素数ｐ及びｑを得ることはＮの大きな値については計算に関して実行不可能であり、従って秘密鍵ｗ＝（ｐ−１）（ｑ−）も秘密性を維持する。実際、現在行われているオンライン・バンキングの多くの安全性は、秘密鍵無しでＲＳＡ関数を反転させることが難しいことによっている。換言すれば、世界は一般にＲＳＡ関数がＴＯＷＦであると考えている。
【０００５】
ＴＯＷＦとして，ＲＳＡ関数は、デジタル署名及び公開鍵暗号化の両方を実行する暗号システムの基礎として使用され得る。トラップドア１方向性関数ＷでメッセージＭにデジタル署名するためには、秘密鍵演算Ｗ−１と公開ハッシュ関数Ｈとを用いてＳ＝Ｗ−１（Ｈ（Ｍ））を計算する。ハッシュ関数には２つの目的：すなわちＭをＷ−１が取り扱えるダイジェストのサイズに圧縮すること、及び１メッセージの署名を関連はあるが無権限のメッセージの署名に変換することを含む何らかの潜在的攻撃を防止すること、がある。メッセージＭの署名Ｓをトラップドア１方向性関数で確かめるために、Ｈ（Ｍ）＝Ｗ（Ｓ）であることを確認する。
【０００６】
ＴＯＷＦでの公開鍵暗号化は、署名とは或る程度逆である。ハッシュ法の代わりに、符号化方式Ｅが用いられる。メッセージＭを暗号化するために、暗号文Ｃ＝Ｗ（Ｅ（Ｍ））を計算する。暗号文Ｃを復号化するために、Ｍ＝Ｅ−１（Ｗ−１（Ｃ））を計算する。符号化関数は、適用されるべきＷに必要とされるサイズにＭを適合させるために役立ち、また或る種の関連メッセージ攻撃を防止するのにも役立つ。
【０００７】
１つの代わりの暗号システムは、離散値対数問題（ｄｉｓｃｒｅｔｅ  ｌｏｇ  ｐｒｏｂｌｅｍ）の難しさに基く。離散値対数問題にそのセキュリティの基礎を置く特に強靭な暗号システムは、楕円曲線を利用し、ＲＳＡ  ＴＷＯＦ暗号システムと比べて減少した帯域幅の利点を有する。
【０００８】
楕円曲線暗号システムはＲＳＡ  ＴＯＷＦと比べて帯域幅を減少させるが、既存システムの望ましい属性を維持しながら帯域幅を最小にする必要が依然として存在する。更に、ＴＯＷＦは、乱数発生器に依拠していないので、場合によっては所要の帯域幅が大きくても実行しやすいかもしれない。
【０００９】
従って、本発明の目的は、上記欠点を除去又は軽減するＴＯＷＦ暗号システムを提供することである。
【００１０】
本発明の基礎をなす原理の理解を容易にするために、これらの原理の数学的基礎の概観が以下に記載される。
【００１１】
楕円曲線Ｅは、楕円曲線の定義方程式を満たす点（ｘ，ｙ）の集合である。定義方程式は、ｙに関しては二次式でｘに関しては三次式であり、非特異である。座標ｘ及びｙは１つの体の元であり、それは加え、減じ、乗じ、割ることのできる要素の集合である（割り算についてのゼロを除く）。体の例は、有理数と実数とを含む。有限体もあり、それらは暗号法で最も頻繁に使われる体である。有限体の例は、素数ｑを法とする整数の集合である。
【００１２】
一般性を失うこと無く、楕円曲線の定義方程式はワイエルシュトラス形であり得る。体Ｆが素数ｑ＞３を法とする整数から得られるとき、ワイエルシュトラス方程式はｙ２＝ｘ３＋ａｘ＋ｂの形をとり、ここでａ及びｂは体Ｆの元である。
【００１３】
楕円曲線Ｅは、全て定義方程式の解である点（ｘ，ｙ）と、もう１つの点、すなわち無限遠の点Ｏと、を含む。楕円曲線は群構造も有し、それは、その曲線上の２つの点Ｐ及びＱを加え合わせて第３の点Ｐ＋Ｑを形成できることを意味する。点Ｏはその群の単位元であり、全ての点ＰについてＰ＋Ｏ＝Ｏ＋Ｐ＝Ｐであることを意味する。全ての点Ｐ，Ｑ及びＲについて、加法は結合性であって、Ｐ＋（Ｑ＋Ｒ）＝（Ｐ＋Ｑ）＋Ｒであり、また可換性であって、Ｐ＋Ｑ＝Ｑ＋Ｒである。各点Ｐは負の点−Ｐを有し、Ｐ＋（−Ｐ）＝Ｏである。曲線方程式がｙ２＝ｘ３＋ａｘ＋ｂの形のワイエルシュトラス方程式であるとき、Ｐ＝（ｘ，ｙ）の反数は−Ｐ＝（ｘ，−ｙ）として容易に決定される。点Ｐ及びＱをその座標に関して加え合わせるための式は、その上でＥが定義されている体における少数の体演算を含んでいて適度に複雑であるに過ぎない。
【００１４】
体上の２つの変数の有理関数（ｘ、ｙ）は、各々同じ体上の２つの変数の２つの多項式の比である。従ってｒ（ｘ、ｙ）＝ｐ（ｘ，ｙ）／ｑ（ｘ，ｙ）であり、ここでｑ及びｑはｘ及びｙの多項式である。ｘ及びｙの多項式はａｘｍｙｎの形の項の和であり、ここでａは体の元（場合によってはｍ及びｎに依存する）であり、ｍ及びｎは負でない整数である。例えば、ｘ２ｙ−３ｙ４＋１はｘ及びｙの多項式である。任意の有理関数ｒ（ｘ，ｙ）及び体の元ｕ及びｖについて、点（ｕ，ｖ）における有理関数ｒ（ｘ，ｙ）の値が存在する。その値は体の元であるか又は無限遠に存する点であって、ｒ（ｕ，ｖ）と書かれる。値ｒ（ｕ，ｖ）は、各々の変数ｘに体の元ｕを代入すると共に各ｙにｖを代入して、乗法、加法及び除法のような体演算の全ての数値を求めることによって簡単に得られる。時折ゼロによる除法が生じるが、それは一般に値ｒ（ｕ，ｖ）が実際には無限大であることを示し、それは、その値が体の中に存在しないので例外と見なされる。従って、曲線上の点（ｘ、ｙ）についてｒ（ｘ、ｙ）の値を求めることが可能である。また、点Ｏにおけるｒ（ｘ、ｙ）の値を定義することも可能であり、これは曲線上の各点でのｒの値を求めることを可能にする。
【００１５】
楕円曲線Ｅ上の有理マップ（ｒａｔｉｏｎａｌ  ｍａｐ）は、もし（ｕ，ｖ）がＥ上の点であるならば（ｔ、ｗ）＝（ｒ（ｕ，ｖ），ｓ（ｕ，ｖ））もＥ上の点であるような有理関数ｒ（ｘ，ｙ）及びｓ（ｘ，ｙ）の対である。より一般的には、これは、（ｕ，ｖ）がＯと置換されても、更に（ｔ、ｗ）がＯであることが容認できても成り立たねばならないが、これはｔ及びｗが共に無限大であることに対応する。
【００１６】
楕円曲線上の有理マップは、実際にはその曲線上の点とちょうど同じように加え合わされ得る。加法規則は、体の元での演算の代わりに有理関数で、すなわちｘ及びｙの記号関数で演算を行う点を除いて、同様である。
【００１７】
Ｅ上の有理マップ（ｒ、ｓ）は、もしＥ上の有理関数としてｒがｒ’と同等でｓがｓ’と同等であれば、他の有理マップ（ｒ’、ｓ’）と同等であると見なされる。
【００１８】
１つの特別の種類の有理マップは、自己準同形写像である。自己準同形写像ｅは、加法特性を有する有理マップｅ＝（ｒ，ｓ）である、すなわち任意の２つの点Ｐ及びＱについてｅ（Ｐ＋Ｑ）＝ｅ（Ｐ）＋ｅ（Ｑ）である。楕円曲線に関する１つの重要な定理は、もしｅがｅ（Ｏ）＝Ｏという性質を有する有理マップであるならばｅは自己準同形写像でもあると述べている。この定理は、所与の有理マップが自己準同形写像であるか否かの判断を相当簡単にする。
【００１９】
自己準同形写像の重要な例は、ｅ（Ｐ）＝ｍＰすなわち点Ｐのｍ個のコピーの和により定義されるｅ＝［ｍ］である。曲線Ｅについての加法則は有理関数により定義されるので、Ｐのｍ個のコピーである反復和ｍＰもそうである。なぜならば、これらの有理関数は反復され得るからである。従ってｅ（Ｐ）は有理マップである。曲線Ｅ上の加法演算は結合性（ａｓｓｏｃｉａｔｉｖｅ）であるので、ｅ＝［ｍ］についてｅ（Ｐ＋Ｑ）＝ｍ（Ｐ＋Ｑ）＝ｍ（Ｐ）＋ｍ（Ｑ）＝ｅ（Ｐ）＋ｅ（Ｑ）である。従って、ｅは、加法特性を有するので、自己準同形写像である。
【００２０】
もし［ｍ］と異なる自己準同形写像があれば、Ｅは虚数乗法を有すると言われる。有限体上で定義された楕円曲線は常に虚数乗法を有する。換言すれば、それらは、全ての整数ｍについて［ｍ］と異なる自己準同形写像ｅを有する。
【００２１】
楕円曲線理論の１つの有力な定理は、任意の自己準同形写像ｅは（ｒ（ｘ）、ｃｙｒ’（ｘ））の形の唯一の有理マップと同等であると述べており、ここでｒ（ｘ）は単一変数の有理関数であり、ｃは一定の体の元であり、ｒ’（ｘ）はｒ（ｘ）の導関数である。この結果は少しも明白ではないけれども、もしｅが（ｆ（ｘ、ｙ）、ｇ（ｘ，ｙ））の形であれば、以下で概説されるようにｒ（ｘ）を決定することは難しすぎるということはない。
【００２２】
説明のために、ｆ（ｘ，ｙ）の中の各々のｙ２を、ｙに関して一次又は定数である多項式と置き換える。例えば、曲線の定義方程式がｙ２＝ｘ３＋ａｘ＋ｂであるならば、各々のｙ２をｘ３＋ａｘ＋ｂと置き換えることができ、これはｙに関して定数である。分子及び分母が１より高いｙの累乗を持たないように、換言すればそれらがｙに関して一次であるように、これを必要な回数適用する。改変されたｆ（ｘ、ｙ）は（ａ（ｘ）＋ｂ（ｘ）ｙ）／（ｃ（ｘ）＋ｄ（ｘ）ｙ）の形を持ち、ここでａ，ｂ，ｃ及びｄは多項式関数であって、これらの変数の前の使用方法と混同されるべきでない。ｙは上と下に（ｃ（ｘ）−ｄ（ｘ）ｙ）を乗じることによって消去され得、これは下にｃ（ｘ）２−ｄ（ｘ）２ｙ２＝ｃ（ｘ）２−ｄ（ｘ）２（ｘ３＋ａｘ＋ｂ）を与える。分子の中のｙ２も消去され得る。これはｇ（ｘ）＋ｈ（ｘ）ｙの形を与え、ここでｇ（ｘ）とｈ（ｘ）とはｘの有理関数である。ｈ（ｘ）＝０であることを証明することができる。なぜならば、ｅは自己準同形写像であるのでｅ（−Ｐ）＝−ｅ（Ｐ）であり、従ってｅ（ｘ，−ｙ）＝−ｅ（ｘ，ｙ）であり、従って曲線上のすべての（ｘ、ｙ）についてｇ（ｘ）＋ｈ（ｘ）ｙ＝ｇ（ｘ）−ｈ（ｘ）ｙだからである。そこで、ｒ（ｘ）がｇ（ｘ）であることが分かった。この様にして見出されたｒ（ｘ）が唯一であることは明らかである。
【００２３】
同様に、有理関数ｇ（ｘ，ｙ）は一次関数ｈ（ｘ）＋ｙｋ（ｘ）として表示され得、ここでｈ（ｘ）及びｋ（ｘ）はｘの有理関数であり、同様の理由によりｈ（ｘ）＝０であることを示すことができる。これはｋ（ｘ）を決定できることを意味し、それは（ｒ（ｘ）、ｃｙｒ’（ｘ））の形における定数ｃを見出すための手段を提供する。代わりに、ｒ（ｘ）を微分し、次にｃについて解くために何らかの点Ｐでのｅの値を求めることによってｃを見出すことができる。
【００２４】
全ての自己準同形写像が、二次代数的整数に対応する楕円曲線群に対する１つの作用（ａｃｔｉｏｎ）を有する。二次代数的整数ｚは、或る整数ｕ及びｖについてｚ２＋ｕｚ＋ｖ＝０であるような複素数である。もしｅ２＋［ｕ］ｚ＋［ｖ］＝［０］であるならば自己準同形写像ｅはこの代数的整数に対応し、ここにおける加法は、上で説明されたように、有理マップの加法である。この場合、ｅ＝［ｚ］と書くことができ、ここで［］は有理整数に対応する有理マップを示す。
【００２５】
全ての実数整数は二次代数的整数であり、自己準同形写像［ｍ］は整数ｍに対応する。実数整数でない二次代数的整数は−１の平方根である複素数ｉであり、これは二次方程式ｉ２＋１＝０を満たす。実数整数でない各々の二次代数的整数については、自己準同形写像としての［ｚ］を有する楕円曲線の有限の集合が存在するに過ぎない。既知の結果は、その様な曲線を決定するための理論的手続きと、有理マップとしての［ｚ］を決定する方法とを与えている。
【００２６】
一般に、自己準同形写像ｅの次数はｅ（Ｐ）＝０であるような点Ｐの数である。より正確には、これはｅの分離次数と呼ばれる。実際の次数は分離次数と非分離次数と呼ばれる別のものとの積である。ｅがその標準形において（ｒ（ｘ）、ｃｙｒ’（ｘ））と表示されるとき、ｒ（ｘ）の分子の次数はｅの次数であり、ｒ（ｘ）の分母の次数は１小さい。（ここでは、ｒ（ｘ）の分子及び分母は互いに素であると仮定する）更に、ｅ＝［ｚ］について、一般にｅの次数を｜ｚ｜２として有する。従って例えば自己準同形写像［ｍ］の次数は｜ｍ｜２＝ｍ２である。
【００２７】
在来の楕円曲線暗号法では、自己準同形写像［ｍ］の値が頻繁に求められる。数ｍは秘密鍵を表し、［ｍ］Ｐ＝ｍＰは公開鍵を表す。関数［ｍ］は、ｍの大きな値についても、［ｍ］についてのｒ（ｘ）の分子及び分母の完全に展開された多項式形に現れるｍ２項を加え合わせるより遥かに速く効率よく計算され得る。ここで非常に重要な所見は、大次数の自己準同形写像を効率よく計算できることである。
【００２８】
次の例は、任意の楕円曲線上の次数２の全ての可能な自己準同形写像を列挙している。このリストは有理マップ及び楕円曲線の同等性に至るまで完全である。これらはシルバーマン（Ｓｉｌｖｅｒｍａｎ）の“算術楕円曲線に関する先進的話題”（Ａｄｖａｎｃｅ  Ｔｏｐｉｃｓ  ｉｎ  ｔｈｅ  Ａｒｉｔｈｍｅｔｉｃ  Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅｓ）（シルバーマン）から取られたものである。
【００２９】
第１は、曲線Ｅ上で定義されたｅ＝［ｚ］＝［１＋ｉ］である：
ｙ２＝ｘ３＋ｘ、
ｅ（ｘ，ｙ）＝（（ｘ２＋１）／（ｚ２ｘ），（ｙ（ｘ２−１））／（ｚ３ｘ２））として。
ｚはｅの作用を定義する有理関数として現れているので、ｅはｚに対応する値を含む体Ｆ上でＥが定義されるときにのみ定義されるということに注意すること。（このコメントは以下の２つの自己準同形写像ｅにも当てはまる）
【００３０】
第２は、Ｅ上で定義されたｅ＝［ｚ］＝［√（−２）］である：
ｙ２＝ｘ３＋４ｘ２＋２ｘ、
ｅ（ｘ、ｙ）＝（（ｘ２＋４ｘ＋２）／（ｚ２ｘ），（ｙ（ｘ２−２））／（ｚ３ｘ２））として。
【００３１】
第３は、Ｅ上で定義されたｅ＝［ｚ］＝［（１＋√（−７））／２］である：
ｙ２＝ｘ３−３５ｘ＋９８、
ｅ（ｘ，ｙ）＝（（ｘ２＋ｘ（ｚ２−２）−７（１−ｚ）４）／（ｚ２（ｘ＋ｚ２−２）），（ｙ（（ｘ＋ｚ２−２）２＋７（１−ｚ）４））／（ｚ３（ｘ＋ｚ２−２）２））として。
【発明の開示】
【課題を解決するための手段】
【００３２】
発明者たちは、帯域幅の減少した強靭な暗号システムを提供するＴＯＷＦを得るために楕円曲線暗号システムの属性を使用し得ることを認識した。
【００３３】
一側面において、本発明は、位数ｎの楕円曲線Ｅ上で動作する暗号システムを提供する。この暗号システムは、ｚ２＋ｕｚ＋ｖ＝０を満たす二次代数的整数ｚに対応する自己準同形写像［ｚ］と（ここでｕ及びｖは秘密の整数であり、ｖはｎと互いに素である）、自己準同形写像［ｚ］を暗号データｘに適用して改変済みデータｘ’を得る公開鍵操作と、データｘを得るために改変済みデータｘ’に［−ｗ］（［ｕ］＋［ｚ］）を適用する秘密鍵操作とを有する（ｗは、整数であり，ｗｖ＝１  ｍｏｄ  ｎである）。
【００３４】
本発明は、他の面において、位数ｎの楕円曲線Ｅ上で動作する暗号システムにおいて暗号操作を実行するための方法を提供する。この方法は、ｚ２＋ｕｚ＋ｖ＝０を満たす二次代数的整数ｚに対応する自己準同形写像［ｚ］を導出するステップであって、ｕ及びｖが秘密の整数であり、ｖがｎと互いに素であるステップと、自己準同形写像［ｚ］を用いる公開鍵操作を暗号データｘに適用して改変済みデータｘ’を得るステップと、データｘを得るために［−ｗ］（［ｕ］＋［ｚ］）を用いる秘密鍵操作を改変済みデータｘ’に適用するステップであって、ｗが整数であり，ｗｖ＝１  ｍｏｄ  ｎであるステップとを含む。
【００３５】
次に添付図面を参照して本発明の実施態様を単に例として説明する。
【発明を実施するための最良の形態】
【００３６】
従って図１を参照すると、暗号システム１０は、通信チャネル１６を介して通信する第１エンティティー１２と第２エンティティー１４とを有する。第１エンティティー１２と第２エンティティー１４とは、両方のエンティティー１２，１４にとって使用可能な公開鍵関数又は秘密鍵関数１８を適用する暗号モジュール１５を各々有する。各エンティティー１２，１４は、上記のように暗号化／復号化又は署名／検証を得るためにＴＯＷＦと共に鍵関数１８を利用する。
【００３７】
このようなシステムを実現するためには、対応する公開鍵関数及び秘密鍵関数で適切なＴＯＷＦを決定する必要がある。発明者たちは、二次代数的整数ｚの使用によって適切なＴＯＷＦが得られることを認識した。次に曲線Ｅと、Ｅ上の［ｚ］を定義する有理マップとを見出す。その有理マップ［ｚ］はＴＯＷＦである。ｚの賢明な選択は、それが所要の暗号属性を有することを保証する、すなわち：
（ａ）  ［ｚ］が効率的に計算され得ること、
（ｂ）  ［ｚ］を反転させることが困難であること、
（ｃ）  ［ｚ］を定義する有理関数からのｚの決定が困難であること、
（ｄ）  ｚを知れば楕円曲線点の一定の集合上で［ｚ］を反転させうること、を保証する。
【００３８】
より一般的には、２つの異なる曲線Ｅ及びＥ’間の有理マップｒを使用することができる。その有理マップはＴＯＷＦとして使用され得る。しかし、実現を容易にするためには、Ｅ＝Ｅ’を使用するのが好都合である。ＥからＥへの有理マップが好ましい実現形態である。
【００３９】
有理マップ（すなわちＥからＥへの）は、全て、平行移動（ｔｒａｎｓｌａｔｉｏｎ）と自己準同形写像との結合であり、平行移動は決定しやすく且つ反転させやすいので、有理マップの最も安全な部分は自己準同形写像である。従って自己準同形写像は有理マップの好ましい実現形態である。
【００４０】
発明者等は、ｚを反転させるためにトラップドア逆数を計算する１つの有望な方法はｚについて二次方程式ｚ２＋ｕｚ＋ｖ＝０を使用することであることを認識した。ここでｕ及びｖは整数である。この方程式をｖｚで割ると（ｚ＋ｕ）／ｖ＋（１／ｚ）＝０が与えられる。従って（１／ｚ）＝−（ｚ＋ｕ）／ｖである。（１／ｚ）は一般には二次代数的整数ではない。より精密には、もしｚが１より大きな次数を有するならば、（１／ｚ）は二次代数的整数ではない。従って、［ｚ］を反転させる自己準同形写像は無い。その代わりに二元自己準同形写像［ｚ’］＝［−（ｚ＋ｕ）］があり、これは［ｚ］［ｚ’］＝［ｖ］を満たす。特定の体Ｆでは、楕円曲線Ｅの位数ｎは時にはｖと互いに素であり得、このことはｗｖ＝１  ｍｏｄ  ｎとなるような整数ｗが存在することを意味する。これは、Ｆ上で定義されたＥの点について［ｗ］が［ｖ］の逆関数として作用することを意味する。
【００４１】
この場合、Ｅ（Ｆ）に対する［ｚ］の作用は自己準同形写像［ｗ］［ｚ’］＝［−ｗ（ｚ＋ｕ）］により反転可能である。もし［ｚ］が効率よく発見され得るならば、［−ｗ（ｚ＋ｕ）］も同様でありそうである。これについての代わりの式は［−ｗ］（［ｕ］＋［ｚ］）である。
【００４２】
従って、自己準同形写像［ｚ］を公開鍵操作として利用し、［−ｗ］（［ｕ］＋［ｚ］）という関係を秘密鍵操作として利用することが可能である。
【００４３】
整数ｕ，ｖは秘密に保たれて、秘密鍵機能を実行するエンティティーだけが利用可能である。
【００４４】
これが体Ｆに特有であって他の体Ｆ’上で定義されたＥについては当てはまらないということが理解されるであろう。Ｆ上で定義されたＥの点は、Ｆの外側の座標を有する点が考慮されていないことを強調するために、時にはＥ（Ｆ）と表示される。
【００４５】
［ｚ］がトラップドア１方向性関数であるためには、［ｚ］の公開定義からｕ及びｖを決定することが計算上不可能であるべきであり、さもなければＥ（Ｆ）におけるその逆数が［−ｗ］（［ｕ］＋［ｚ］）として効率よく計算可能である。従って、［ｚ］は、ｕ及びｖの容易な決定を許さない形で与えられなければならない。
【００４６】
［ｚ］を１対の有理関数として与えることにより，ｕ及びｖを容易に決定することはできないと考えられる。通例、第１の座標はｘだけの関数であるので、［ｚ］は或る程度は基底形式（ｒ（ｘ）、ｇ（ｘ、ｙ））であり、たとえｒ（ｘ）を２つの多項式の比として完全に展開することが項の数の多さの故に実行不可能であったとしてもｒ（ｘ）を見積もるための記述がｒ（ｘ）の分子の次数をもしかすると明らかにするかもしれない。［ｚ］の次数はｖであるので、［ｚ］の記述がｖを暴露してしまう可能性がある。従って、［ｚ］が１方向性トラップドアであることを確実にするためには、ｕも暴露されないことを保証することが重要であり、さもなければ上記のように［ｚ］が反転され得る。
【００４７】
シルバーマンによれば、一般的楕円曲線の自己準同形写像リングを決定することは自明の問題ではない。ｖ及びｕは整数因数に至るまで自己準同形写像リングを本質的に決定するので、楕円曲線についての記述だけからｖ及びｕを決定することは一般には不可能である。従って、単一の複素自己準同形写像の記述からは、自己準同形写像リングを決定することは依然として自明の問題ではなさそうである。特に、このことは、ｕを［ｚ］の記述から１対の有理関数として決定することが依然として自明の問題ではなさそうであることを意味する。
【００４８】
従って、ｚの次数は、適度に大きな位数を有するように選択されるべきである。これは、ｕ２＜４ｖという関係を使ってｕの全ての可能な値を調べ尽くすことができないことを確実にするのに役立つ。これは上記のことから言えることである。なぜならば、ｚは虚数複素数（ａｎ  ｉｍａｇｉｎａｒｙ  ｃｏｍｐｌｅｘ  ｎｕｍｂｅｒ）でなければならないからである。
【００４９】
［ｚ］についての１つの可能な組み立ては、次の所見に基く。上記のように、もしｅ＝［ｚ］＝（ｒ（ｘ），ｃｙｒ’（ｘ））が次数ｍを有するならば、ｒ（ｘ）＝ｐ（ｘ）／ｑ（ｘ）であり、ここでｐ及びｑは夫々次数ｍ及びｍ−１の多項式である。ｅのカーネルは、１からｍまでのｊについてｅ（Ｚｊ）＝Ｏであるようなｍ個の点楕円（ｍ  ｐｏｉｎｔｓ  ｅｌｌｉｐｔｉｃ）Ｏ＝Ｚ１，Ｚ２，．．．，Ｚｍの集合である。もし２からｍまでのｊについてＺｊ＝（ｚｊ，ｙｊ）ならば、ｑ（ｘ）＝（ｘ−ｚ２）（ｘ−ｚ３）．．．（ｘ−ｚｍ）であると仮定することができる。更に、ｍＺｊ＝Ｏである。なぜならば、［ｚ’］［ｚ］＝［ｍ］であり、ここでｚ’はｍＺｊ＝［ｍ］Ｚｊ＝［ｚ’］［ｚ］Ｚｊ＝［ｚ’］Ｏ＝Ｏとして上で決定されたｚの共役（ｔｈｅ  ｃｏｎｊｕｇａｔｅ）だからである。更に、ｅのカーネルは、必ずしもＥ（Ｆ）の一部としてではないけれども、楕円曲線Ｅにおける位数ｍの部分群である。楕円曲線は、全体として、一般には少なくともｍ＋１個のこのような部分群を有する。
【００５０】
次に、点Ｂ＝（０，√ｂ）を含む楕円曲線を考察する。［ｚ］Ｗ＝Ｂであるような点Ｗが存在すると仮定する。１からｍまでのｊについてＷｊ＝Ｗ＋Ｚｊとする。（Ｗ１＝Ｗ＋Ｚ１＝Ｗ＋Ｏ＝Ｗであることに留意）１からｍまでのｊについてＷｊ＝（ｗｊ，ｕｊ）であると仮定する。すると、何らかの定数ｄについてｐ（ｘ）＝ｄ（ｘ−ｗ１）（ｘ−ｗ２）．．．（ｘ−ｗｍ）となる。
【００５１】
ｐ（ｘ）＝ｄ（ｘ−ｗ１）ｕ（ｘ）であることに注意する。ここでｕ（ｘ）の根は本質的にｑ（ｘ）の根の有理関数である。２つの多項式の根がこのような単純な関係を有するときには、該多項式の係数の変換則（ａ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）が存在する。例えばｕ（ｘ）の根がｑ（ｘ）の根の平方であるならばｕ（ｘ）＝ｑ（√ｘ）ｑ（−√ｘ）（−１）ｄｅｇ  ｑ（ｘ）である。この様に、ｑ（ｘ）を数的に表現する能力は、ｕ（ｘ）を数的に表現する手段を与えることが分かる。
【００５２】
上記の所見を用いて、その有限ｘ座標が低ハミング・ウェイト（ａ  ｌｏｗ  Ｈａｍｍｉｎｇ  Ｗｅｉｇｈｔ）多項式ｑ（ｘ）の零点である何らかの楕円曲線Ｅにおける位数ｍの部分群を捜し求めることができる。低ハミング・ウェイト多項式ｑ（ｘ）を持つことは望ましいことである。なぜならば、それらの数値を効率よく求められるからである。次に、上記のように点Ｗを見出し、それは上で概説されたように分子ｐ（ｘ）を効率よく計算することを可能にする。ｐ（ｘ）及びｑ（ｘ）の値を求めることができれば、ｒ（ｘ）の値を求めることができる。
【００５３】
そのような多項式ｐ（ｘ）、ｑ（ｘ）を見出す方法についての１つの説明は次のとおりである。もしＺｊが［ｚ］のカーネルであれば−Ｚｊもそうであり、従ってｚｊはｑ（ｘ）の二重根として現れることができる。ｑ（ｘ）が素数である次数ｍを有すると仮定する。更にｍがエルキース素数（ａｎ  Ｅｌｋｉｅｓ  ｐｒｉｍｅ）であると仮定するが、その正確な意味は以下の議論においては問題ではない。これは、次数（ｍ−１）／２の多項式ｓ（ｘ）についてｑ（ｘ）＝ｓ（ｘ）２であることを意味し、それはｍ番目の除算多項式（ｔｈｅ  ｍｔｈ  ｄｉｖｉｓｉｏｎ  ｐｏｌｙｎｏｍｉａｌ）の１つの因数である。楕円曲線Ｅ（Ｆ）上の点を数えるためのスクーフ−エルキース−アトキン（Ｓｃｈｏｏｆ−Ｅｌｋｉｅｓ−Ａｔｋｉｎ（ＳＥＡ））アルゴリズムは、ｓ（ｘ）の形の多項式が見出されるステップを含む。多項式ｖ（ｘ）の係数は再帰方程式（ａ  ｒｅｃｕｒｓｉｏｎ  ｅｑｕａｔｉｏｎ）により見出される。従って、そのような多項式を組み立てるための方法が知られている。ＳＥＡアルゴリズムでは、そのようなｓ（ｘ）がｍの割合に小さな値について見出されるが、本目的のためにはｍを大きくするのが有利である。
【００５４】
もう一つの可能なアプローチは低ハミング・ウェイトの既約多項式ｓ（ｘ）を選ぶことである。ｚをその根のうちの１つであるとし、ここでｚは楕円曲線Ｅ上の或る点のｘ座標である。その点は有限の位数ｍを有することができる。この有限位数は、ガロア自己同形写像を適用することにより、ｓ（ｘ）の任意の根ｚについて当てはまる。ｓ（ｘ）の根から生じるこれらの点が下に閉じられているということ、すなわちそれらがＥの部分群を形成するということも事実であるならば、ｓ（ｘ）は望ましい形を有する。そうであるためには、基本的に、ｇ（Ｐ）＝２Ｐであるようなガロアの自己同形写像ｇとＥ上の点Ｐとを必要とする。これが可能になるようにｇ，Ｐ，及びＥを探すことにより、所望の形の多項式ｓ（ｘ）を見出せるかもしれない。実際問題としては、ｙ座標は、２つの値のうちの一方をとり得るに過ぎないので、無視できる。
【００５５】
もし自己準同形写像のカーネルが点Ｏにおいてのみ群Ｅ（Ｆ）と交差するならば、自己準同形写像ｅの群Ｅ（Ｆ）に対する作用は反転可能である。この場合、自己準同形写像ｅは群Ｅ（Ｆ）の自己同形写像である。一般に群Ｅ（Ｆ）は巡回性（ｃｙｃｌｉｃ）であり、以下の議論においてはＥ（Ｆ）は巡回性であると仮定する。もしｅが位数ｎの巡回群の自己同形写像であれば、発明者たちにより実現されたアルゴリズムはｅ（Ｇ）＝ｄＧとなるように整数ｄを決定し、ここではその群について加法表示法を使用する。このアルゴリズムのコストは、ｎ−１の因数分解による。ｎのランダムな値が一般に約ｎ１／３である因数ｆを有するということが知られている。このサイズの因数が与えられると、該アルゴリズムはｆの一定倍数のステップでｄを決定することができる。これは、ｄＧが与えられた場合にｄを見出す一般的アルゴリズムよりかなり速い。これらの一般的アルゴリズムはｎ１／２ステップを必要とする。
【００５６】
従って、ｎ−１がｎ１／３に近い因数ｆを持たないような位数ｎを群Ｅ（Ｆ）が持つことが望ましい。ｎをこの様に選ぶことの代わりは、考慮される敵対者にとってｎ１／３の攻撃のコストが高すぎるように、単にｎを僅かに大きく選ぶことである。例えば、８０ビットのセキュリティ・レベルでは、そのような大きなｎをｎが約２２４０であるように選ぶことができ、１２８ビットのセキュリティ・レベルではｎが約２３８４であるようにｎを選ぶことができる。しかし、効率上の理由からより小さなｎを用いるのが好都合であり、従ってｎ−１がｎ１／３と同様のサイズを持つことを保証するために必要な特別の作業が行われると想定される。
【００５７】
自己準同形写像ｅが使用される方法が一般的に図２に示されている。第１エンティティー１２は１つのｘの値をとる。それは、２つの対応するｙの値のうちの一方を任意に選ぶことができる。それは次に公開鍵関数［ｚ］を有利マップｅ＝（ｒ（ｘ），ｇ（ｘ，ｙ））として適用し、何らかの値（ｘ’、ｙ’）に到達するためにｅ（ｘ，ｙ）の値を求める。これは基本的公開鍵操作であろう。第２エンティティー１４は、メッセージ（ｘ’、ｙ’）を受け取って、値（ｘ，ｙ）を得るためにｅ−１を適用する。これは基本的秘密鍵操作［−ｗ］（［ｕ］＋［ｚ］）であろう。ｙが−ｙに変更されればｙ’は−ｙ’に変化するけれども、ｘ’及びｘは影響を受けない。従って全ての実際的目的のためにｙをおおむね無視することができる。
【００５８】
図３に示されている暗号化にこれを適用するために、第１エンティティー１２は公開鍵関数［ｚ］の使用によりｘを平文にセットし、ｘ’を暗号文にセットする。公開鍵暗号化への既知の精巧なアプローチは一般に、特に同じ平文の繰り返し暗号化が別々の暗号文を与えるように、何らかのランダム化されたパディングを平文ｘに対して適用する。第２エンティティー１４は、平文ｘを得るために秘密鍵関数を用いて暗号文ｘ’を復号化する。
【００５９】
これを図４に示されているように署名に適用するために、第２エンティティー１４は、署名されるべきメッセージになるようにｘ’をセットし、秘密鍵関数の適用によってｘを署名として計算する。一般に長いメッセージからｘ’を生成するために何らかのハッシングが使用され、それはデジタル署名のための標準的手法である。第１エンティティー１２は、ｅ（ｘ，ｙ）＝（ｘ’，ｙ’）であることを確かめるために公開鍵操作ｅを用いる。ハッシュ関数は１方向性であるので、第１エンティティーは（ｘ，ｙ）から出発してｅを適用して（ｘ’、ｙ’）を得ることによって署名を偽造することはできない。なぜならば、次のステップはｘ’＝Ｈａｓｈ（Ｍ）であるようにメッセージＭを見出すことであり、これは１方向性ハッシュ関数に関しては実行不可能であると考えられるからである。
【００６０】
もし［ｚ］を反転させる問題がＥにおける離散値対数問題と同じく難しければ、暗号群のサイズはＲＳＡ  ＴＯＷＦのために使われる群より小さくなり得る。例えば、３０７２ビットＲＳＡ係数は、２５６ビット体上で定義された楕円曲線とおおよそ同程度に安全であると考えられる。これら両者のセキュリティ・レベルは１２８ビットであると考えられ、これは、オンライン・バンキング用などにインターネットで今日非常に広く用いられている商業級セキュリティ・レベルである。楕円曲線トラップドア１方向性関数［ｚ］、署名ｘ又は基本暗号文ｘ’のサイズは２５６ビットであり、これに対してＲＳＡについてはサイズは３０７２ビットである。
【００６１】
在来の楕円曲線暗号法（ＥＣＣ）と比べると、２５６ビット楕円曲線についての署名の長さは約５１２ビットであり、これは楕円曲線ＴＯＷＦについての署名のサイズの２倍である。同様の節約が暗号化のために可能である。
【００６２】
本発明のもう一つの実施態様及び応用においてはＴＯＷＦは署名又は暗号文の集合に対して応用される。以下は署名について説明されるけれども、暗号文についての詳細が全く同様であることが理解されるであろう。
【００６３】
署名の集合は、単一の署名が単一の署名者により署名された多数のメッセージ、又は多数の署名者により署名された単一のメッセージ、又は多数の署名者により署名された多数のメッセージを表すことを意味する。
【００６４】
次に図５を参照すると、ｔ個のメッセージｍ１，ｍ２，．．．，ｍｔに署名するために署名者（例えば第１エンティティー１２）は各メッセージをハッシュし、各ハッシュを楕円曲線点に変換してｔ個の点Ｐ１，．．．Ｐｔを生じさせ、これらは加え合わされて点Ｐ＝Ｐ１＋．．．＋Ｐｔを生じさせる。署名者は、その後、逆関数ｅ−１を適用して署名Ｓ＝ｅ−１（Ｐ）を得、これは多数のメッセージのための単一のメッセージである。次に、他のエンティティー（例えば第２エンティティー１４）による検証は、該メッセージをハッシュし、各ハッシュを１つの点に変換し、合計してトータルＰとし、次にｅ（Ｓ）＝Ｐであるか否か検査することにより公開鍵１８操作ｅをＳに適用することから成る。これを反復して該メッセージを単に連結することの利点は、署名操作が加法型であるので、メッセージの部分を変更することを望む署名者のために大きな融通性を達成することである。
【００６５】
上記の手続きは、個々のメッセージ・コンポーネントに署名する順序を課さない、すなわち、署名検証は、同じエンティティーにより署名された署名の（非順序）集合に関連する。しかし、個々のスカラー倍（’重み’）が検証をするエンティティーによって取り出され或いは導出され得るとすれば、この手続きが個々の署名コンポーネントＳ１，．．．，Ｓｔの和にではなくて個々の署名の加重和に向けて容易に一般化され得ることに留意するべきである。これは、重みを適用可能な順序付けに依存させることによって、これらのｔ個のメッセージの署名プロセスにおける順序付けの実行を可能にする。
【００６６】
次に図６を参照して、もしｔ個の異なる署名者（例えば、全体として第１エンティティー１２）が同じ楕円曲線群を使用すると共に別々のＴＯＷＦｅ１，．．．，ｅｔを有するならば、それらは次のように単一のメッセージの集合署名を形成することができる。メッセージｍに署名するために、第１エンティティー１２の第１署名者はそのメッセージのハッシュを計算し、そのハッシュを楕円曲線点Ｐに変換する。その後、それらは共に（すなわち、第１エンティティー１２の全署名者が）、自分たちの秘密鍵操作を各々適用することによってｅｔ−１（ｅｔ−１−１（．．．（ｅ１−１（Ｐ））））を計算し、ここで署名はエンティティー１，２，．．．，ｔによって順に行われる。検証（例えば第２エンティティー１４による）は、対応する公開鍵１８操作の各々を逆順に適用し、得られた点Ｐが署名されたメッセージｍのハッシュ値に対応するか否かを調べることから成る。
【００６７】
一般に、楕円曲線自己準同形写像は交換可能であるので、多数のエンティティーによる単一のメッセージの署名順序は重要でないと思われる。しかし、例えば署名プロセスにおいて順序付けを実行するために、この手続きは容易に一般化され得るということに留意するべきである。これは、例えば、下記のように、各々の署名をするエンティティーに、計算される署名に対してオフセットを使用させることによって、実現され得る。
【００６８】
点Ｐでのエンティティーｉによる個々の署名がｅｉ−１（Ｐ＋Ａｉ）であり、ここで楕円曲線点Ａｉがエンティティーｉについて唯一であると仮定する。すると、エンティティー１，２，．．．，ｔによるメッセージｍ上の順序付き集合書名は、ｍをハッシュしてこれを楕円曲線点Ｐに変換し（前のように）、その後に、署名をするエンティティーの各々に、得られた値に対して自分自身の署名操作を適用させることによって、得られる。これはＳ１＝ｅ１−１（Ｐ＋Ａ１），Ｓ２＝ｅ２−１（Ｓ１＋Ａ２），．．．，Ｓｔ＝ｅｔ−１（Ｓｔ−１＋Ａｔ）、をもたらし、ここでＳｔは、得られた集合署名である。署名検証は、個々のオフセットＡ１，．．．，Ａｔが検証を行うエンティティーによって取り出され或いは導出され得るのであれば、いまや上記手続きの些細な改変であって、シーケンスＳｔ−１＝ｅｔ（Ｓｔ）−Ａｔ，Ｓｔ−２＝ｅｔ（Ｓｔ−１）−Ａｔ−１，．．．，Ｓ１＝ｅ２（Ｓ２）−Ａ２，Ｐ＝ｅ１（Ｓ１）−Ａ１を計算すると共に楕円曲線点Ｐが署名されているメッセージｍのハッシュ値に対応するか否かを調べることに依存する。
【００６９】
上では、元の方式の改変は、署名をするエンティティーの各々について独特のオフセットＡｉを用いて署名プロセスの順序付けを実施するように記載されている。Ｓｉ＝ｅｉ−１（Ｐ＋Ａｉ）ではなくてＳｉ＝ｅｉ−１（ｆ（Ｐ，ｉ））を定義するような改変が可能であることが分かり、ここでｆは、ｆ（Ｐ，ｉ）と署名するエンティティーｉに関連する公開情報とからＰを効率よく再計算できるという特性を有するＥにおけるマッピングである。多数のエンティティーによる単一のメッセージの順序付けられた署名は、多数の書名が必要とされると共に、関係する権限を授けられた当事者によりプロジェクトが特定の階層順に（例えば、ボトムアップ）署名の上で放棄される必要のある場合に、例えば大規模な組織でプロジェクトを署名の上で放棄するために有益であり得る。
【００７０】
本発明は或る特定の実施態様に関連して説明されたけれども、その種々の改変は、本書に添付されている請求項で概説されている発明の範囲から逸脱すること無く当業者にとっては明らかであろう。上で列挙された全ての参考文献の開示内容全体が参照により本書に組み込まれる。
【図面の簡単な説明】
【００７１】
【図１】暗号交換シナリオの略図である。
【図２】トラップドア１方向性関数の使用を示す略図である。
【図３】暗号化のための図２のトラップドア１方向性関数の使用を示す略図である。
【図４】デジタル署名のための図２のトラップドア１方向性関数の使用を示す略図である。
【図５】集合署名（ａｇｇｒｅｇａｔｅｄ  ｓｉｇｎａｔｕｒｅｓ）のための図２のトラップドア１方向性関数の使用を示す略図である。
【図６】単一のメッセージを有する集合署名のための図２のトラップドア１方向性関数と複数の署名者のための複数のトラップドア１方向性関数との使用を示す略図である。
【符号の説明】
【００７２】
１０  暗号システム
１２  第１エンティティー
１４  第２エンティティー
１５  暗号モジュール
１６  通信チャネル
１８  鍵  
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】全図
【訂正方法】変更
【訂正の内容】
【図１】
2008519994.tif 000001
【図２】
2008519994.tif 000002
【図４】
2008519994.tif 000003
【図５】
2008519994.tif 000004
【図６】
2008519994.tif 000005
【図３】
2008519994.tif 000006