(57)【要約】【課題】　復元型、付加型、復元型公衆、ブラインド電子署名方法および鍵交換方法に関し、偽証を防止すること。【解決手段】　署名者Ａは、１とｑの間で任意数ｒを選択してｇを−ｒ乗してｇ-rを求めた後、これにメッセージｍを掛けてｐで割った剰余　【数１】2004129303.tif 000130を求める。そして、署名者Ａはｘと自分の識別番号ＩＤAを共にハッシュ関数に入力してｈ（ｘ，ＩＤA）を求めた後、これに自分の秘密鍵ａを掛けた後ｒを足してｑで割った剰余　【数２】2004129303.tif 000131を求める。すると、（ｘ，ｙ）がメッセージｍについての復元型電子署名になる。そして、検証者は検証の結果として復元されたメッセージの内容を確認して、署名の正当性を検証する。【選択図】　　　　　図２
2004129303.tif 000002
【特許請求の範囲】
【請求項１】
　コンピュータ通信網を利用した情報交換システムにおける、電子メッセージｍに対して電子署名を生成する復元型電子署名方法において、
　署名者が選択した任意数ｒについて演算手段を用いてｇを−ｒ乗してｇ-rを求めた後、これにメッセージｍを掛けてｐで割った剰余
【数１】
2004129303.tif 000105
を計算する第１段階、
　演算手段を用い、ｘと自分の識別番号ＩＤを共にハッシュ関数に入力してｈ（ｘ，ＩＤ）を求めて、これに自分の秘密鍵ａを掛けた後ｘの計算に使用した任意数ｒを足してｑで割った剰余
【数２】
2004129303.tif 000106
を計算してメッセージｍに対する電子署名（ｘ，ｙ）を生成する第２段階、および、
　検証者が電子署名（ｘ，ｙ）および識別子ＩＤを受信すると、演算手段を用い、電子署名（ｘ，ｙ）のｘと署名者の識別番号ＩＤを共にハッシュ関数に入力してｈ（ｘ，ＩＤ）を求めた後、ｇをｙ乗してこれに署名者の公開鍵のｖをｈ（ｘ，ＩＤ）乗して掛けた値にさらにｘを掛けた後ｐで割った剰余ｘｇyｖh(x,ID)　ｍｏｄ　ｐを計算して、ｘに包含されているメッセージｍを復元してこの内容を確認し、メッセージｍについての電子署名の正当性を検証する第３段階をコンピュータを用いた計算にしたがって実行することを特徴とする復元型電子署名方法。
【請求項２】
　コンピュータ通信網を利用した情報交換システムにおける、電子メッセージｍに対して電子署名を生成する付加型電子署名方法において、
　署名者がメッセージｍと自分の識別番号ＩＤを共にハッシュ関数に入力して、演算手段を用い、ｈ（ＩＤ，ｍ）を求めた後に任意数ｒを選択してｇを−ｒ乗してｇ-rを求めた後、これにｈ（ＩＤ，ｍ）を掛けてｐで割った剰余
【数３】
2004129303.tif 000107
を計算する第１段階、
　演算手段を用い、ｘとメッセージｍを共にハッシュ関数に入力してｈ（ｘ，ｍ）を求めて、これに自分の秘密鍵ａを掛けた後ｘの計算に使用した任意数ｒを足してｑで割った剰余
【数４】
2004129303.tif 000108
を計算してメッセージｍについての電子署名（ｘ，ｙ）を生成する第２段階、
　検証者が電子署名（ｘ，ｙ）およびメッセージｍを受信して、演算手段を用い、ｘとメッセージｍを共にハッシュ関数に入力してｈ（ｘ，ｍ）を求めた後、これにｇをｙ乗して署名者の公開鍵ｖをｈ（ｘ，ｍ）乗して掛けた後、さらにｘを掛けてｐで割った剰余ｘｇyｖh(x,m)　ｍｏｄ　ｐを計算してｘに包含されているメッセージのハッシュ関数値（ｈ（ＩＤ，ｍ））を復元する第３段階、および、
　演算手段を用い、メッセージのハッシュ関数値が署名者の識別番号ＩＤとメッセージｍを共にハッシュ関数に入力して求めた値ｈ（ＩＤ，ｍ）と同一かを確認して、メッセージｍについての電子署名の正当性を検証する第４段階をコンピュータを用いた計算にしたがって実行することを特徴とする付加型電子署名方法。
【請求項３】
　上記第１段階は、ｈ（ＩＤ，ｍ）に署名するメッセージｍについての説明文句と署名時間を包含するＩ（＝ｈ（ＩＤ，ｍ）、説明文句、署名時間）を得てこれにｇ-rを掛けてｐで割った剰余を計算する段階を包含することを特徴とする請求項２に記載の付加型電子署名方法。
【請求項４】
　コンピュータ通信網を利用した情報交換システムにおける電子署名の鍵交換方法において、
　演算手段を用い、使用者Ａが任意数Ｒとｒを生成してｇをＲ乗して、これにｇを−ｒ乗して掛けた後ｐで割った剰余
【数５】
2004129303.tif 000109
を求める第１段階、
　演算手段を用い、使用者Ａが、使用者Ｂの公開鍵ｖBを自分の秘密鍵のａ乗してｐで割った剰余
【数６】
2004129303.tif 000110
を求めた後ｘとｋをハッシュ関数に入力してｈ（ｘ，ｋ）を求めて、これに自分の秘密鍵ａを掛けて、任意数ｒを足してｑで割った剰余
【数７】
2004129303.tif 000111
を求めて、インタフェースを介して使用者Ｂに送信する第２段階、
　使用者Ａが、演算手段を用い、使用者Ｂの公開鍵のｖBをＲ乗してｐで割った剰余
【数８】
2004129303.tif 000112
を計算してこれを共有鍵に定めて、使用者Ｂが、使用者Ａの公開鍵ｖAを自分の秘密鍵のｂ乗してｐで割った剰余
【数９】
2004129303.tif 000113
を求める第３段階、および、
　使用者Ｂが、演算手段を用い、使用者Ａから受信した（ｘ，ｙ）からｇを計算するためにｇをｙ乗して、これに使用者Ａの公開鍵ｖAをｈ（ｘ，ｋ）乗してさらにこれにｘを掛けてｐで割った剰余
【数１０】
2004129303.tif 000114
を計算して、使用者Ｂが共有鍵を得るためにｇRを自分の秘密鍵の−ｂ乗してｐで割った剰余
【数１１】
2004129303.tif 000115
を計算する第４段階をコンピュータを用いた計算にしたがって実行することを特徴とする鍵交換方法。
【請求項５】
　コンピュータ通信網を利用した情報交換システムにおける、電子メッセージｍに対して複数の署名者が一連の電子署名を生成する復元型公衆電子署名方法において、
　演算手段を用い、複数の署名者中のはじめの署名者が任意数ｒ1を選択してｇを−ｒ1乗して
【数１２】
2004129303.tif 000116
を求めて、これにメッセージｍを掛けてｐで割った剰余
【数１３】
2004129303.tif 000117
を求める第１段階、
　演算手段を用い、ｘと第１番目の署名者の識別子ＩＤ1をハッシュ関数に入力してｈ（ｘ1，ＩＤ1）を求めた後、これと自分の秘密鍵のａ1を掛けて任意数ｒ1を足してｑで割った剰余
【数１４】
2004129303.tif 000118
を求めると（ｘ1，ｙ1）がメッセージｍについての署名者の電子署名になる第２段階、
　その後演算手段を用い、ｉ番目（ｉ≧２）の署名者が、メッセージｍおよび（ｘi-1，ｙi-1）を受信して任意の数ｒiを選択してｇを−ｒi乗して
【数１５】
2004129303.tif 000119
を求めた後、これにｘi-1を掛けてｐで割った剰余
【数１６】
2004129303.tif 000120
を求めてｘiとメッセージｍをハッシュ関数に入力してｈ（ｘi，ＩＤi）を求めた後、これに自分の秘密鍵ａiを掛けて任意の数ｒiを足してｇで割った剰余
【数１７】
2004129303.tif 000121
を求めて、メッセージｍについてのｉ番目の署名（ｘi，ｙi）を次の署名者に伝送する第３段階、
　演算手段を用い、全ての署名者が電子署名を生成したかを確認して、未署名者があれば第３段階に復帰して、未署名者がいなければ最終電子署名として（ｙ1，ｙ2，ｙ3，・・・，ｙn-1，ｙn，ｘn）を生成する第４段階、および、
　検証者が、公衆電子署名（ｙ1，ｙ2，ｙ3，・・・，ｙn-1，ｙn，ｘn）および各署名者らの識別子ＩＤiを受信して
【数１８】
2004129303.tif 000122
を使用して演算手段により（ｘn，ｙn）からｘn-1を復元することを開始してはじめの署名者の電子署名（ｘ1，ｙ1）を復元して、これでメッセージｍを復元して電子署名の正当性を検証する第５段階をコンピュータを用いた計算にしたがって実行することを特徴とする復元型公衆電子署名方法。
【請求項６】
　コンピュータ通信網を利用した情報交換システムにおける電子メッセージｍに対して電子署名を生成するブラインド電子署名方法において、
　記憶手段から読み出したシステム係数がｇ，ｑ，ｐで署名者の公開鍵が
【数１９】
2004129303.tif 000123
とする時、検証者が任意数ｒBを選択して署名者の公開鍵の
【数２０】
2004129303.tif 000124
をｒB乗してこれとメッセージｍを掛けてｐで割った剰余
【数２１】
2004129303.tif 000125
を演算手段により計算して、インタフェースを介して上記署名者にｘBを送信する第１段階、
　署名者が任意数ｒAを選択してｇを−ｒA乗して受信したｘBと掛けた後ｐで割った剰余
【数２２】
2004129303.tif 000126
を計算して、インタフェースを介して検証者に送信する第２段階、
　検証者が署名者から受信したｘAとメッセージｍをハッシュ関数に入力してｈ（ｘA，ｍ）を求めた後、これに任意数ｒBを足してｑで割った剰余
【数２３】
2004129303.tif 000127
を計算して、インタフェースを介して上記署名者に送信する第３段階、
　演算手段を用い、署名者が受信したｙBに自分の秘密鍵のａAを掛けて任意数ｒAを足してｑで割った剰余
【数２４】
2004129303.tif 000128
を計算して検証者に送信すると、検証者がメッセージｍについてのブラインド署名(ｂｌｉｎｄ　ｓｉｇｎａｔｕｒｅ）（ｘA，ｙA）を受信する第４段階、および、
　生成された電子署名を検証するために、検証者が第３段階で求めたｈ（ｘA，ｍ）を利用してｖAをｈ（ｘA，ｍ）乗して、これにｇをｙA乗して掛けた後さらにｘAを掛けてｐで割った剰余
【数２５】
2004129303.tif 000129
を計算してメッセージｍを復元して、その内容を確認することにより署名者の電子署名（ｘA，ｙA）の正当性を検証する第５段階をコンピュータを用いた計算にしたがって実行することを特徴とするブラインド電子署名方法。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、離散的対数の計算の困難さに安全性を基礎として多様な応用性を有する復元型電子署名方法、付加型電子署名方法、鍵交換方法、復元型公衆電子署名方法およびブラインド電子署名方法に関するもので、特に、二人の使用者が共通の秘密鍵を使用して第三者がわからないように鍵を交換する鍵交換方法、署名するメッセージの大きさにより復元型または付加型で電子署名を生成する復元型および付加型電子署名方法、同一なメッセージに対して複数の署名者が一連の電子署名を生成でき、署名するメッセージの大きさにより復元型で電子署名を生成する公衆電子署名方法および署名するメッセージの内容公開が困難な場合にこれを公証しようとする署名者が署名するメッセージの内容をわからない状態でも電子署名を生成するようにするブラインド電子署名方法に関するものである。
【背景技術】
【０００２】
　現代社会では、学問と半導体技術の革新によりコンピュータの普及が拡大されることにより、コンピュータ通信網を通じた情報の交換が増大されている。これにより、情報を交換する前に、情報を交換する相対方の確認と、交換された情報の出処と保存状態等の情報の保護に対して関心が持たれることになった。情報が知的財産としての価値を認定される情報化社会に進入することにより、公衆通信網を通じて伝達される情報の重要性がより増大される。また、これによる情報の不法漏出、不法変造等による被害も増加することになった。
【０００３】
　従って、公衆通信網等の各種通信回線を通じて流通される情報の保護についての関心が高まることになって、これにより情報の保護のための方法の研究が活発に進行している。
【０００４】
　一例として、公衆通信網等の各種通信回線を通じて情報を交換する時に通信する相対方や伝送を受けたデータの発信元を確認できる認証交換方法と、通信処理以前に各種端末システムで電子化された文書に従来の紙文書における手記署名の代わりに符号化された２進数列(ｂｉｎａｒｙ　ｓｅｑｕｅｎｃｅ　ｃｏｄｅｄ　ｂｙ　ｏｒｉｇｉｎａｔｏｒ)を使用して署名することにより、伝送された文書の発信元を確認でき、また文書が不法に変更されたかどうかと内容証明等を確認できる電子署名(ｄｉｇｉｔａｌ　ｓｉｇｎａｔｕｒｅ)方法がある。
【０００５】
　上記認証交換方法と電子署名方法において、ｑは大きい素数で、ｇは１とｐ間の自然数でありｑ乗してｐで割った剰余が１の数
【数１】
2004129303.tif 000003
とすると、（ｇ，ｑ，ｐ）は使用者らの間に共通に使用されるシステム係数である。各使用者らは、１とｑの間で任意のｓ（１＜ｓ＜ｑ）を選択して秘密鍵に使用して、ｇを−ｓ乗してｐで割った剰余
【数２】
2004129303.tif 000004
を公開鍵に使用すると、各使用者の公開係数は（ｖ，ｇ，ｑ，ｐ）になる。これらの公開係数からｓを探し出すことは困難であり、離散的対数の解を求める際の困難さと同値である。多くの公開鍵認証交換方法(ｉｄｅｎｔｉｆｉｃａｔｉｏｎ　ｓｃｈｅｍｅｓ）と電子署名方法（ｄｉｇｉｔａｌ　ｓｉｇｎａｔｕｒｅ　ｓｃｈｅｍｅｓ）が、上記離散的対数問題の計算が難しいとの事実に安全性を置いている。
【０００６】
　このような電子署名方法は、生成された電子署名の形態と機能面で、付加型電子署名（ｄｉｇｉｔａｌ　ｓｉｇｎａｔｕｒｅ　ｗｉｔｈ　ａｐｐｅｎｄｉｘ）方法、復元型電子署名（ｄｉｇｉｔａｌ　ｓｉｇｎａｔｕｒｅ　ｇｉｖｉｎｇ　ｍｅｓｓａｇｅ　ｒｅｃｏｖｅｒｙ）方法、そして、これらを兼用に使用できる複合型電子署名方法に分類できる。
【０００７】
　上記付加型電子署名方法では、生成された電子署名を署名したメッセージの後尾に付加する方法として署名したメッセージと共に対として処理する。上記復元型電子署名方法では、生成された電子署名の正当性の検証結果として電子署名に署名されたメッセージを復元するものである。検証者は、復元されたメッセージの内容を確認して、電子署名の正当性を検証する。
【０００８】
　そして、付加型と復元型を兼用に使用できる複合型電子署名方法は、署名するメッセージの大きさ（２進ビット数列）または電子署名の使用目的により、適切に付加型または復元型でメッセージに対して電子署名を生成できる方法である。
【０００９】
　この複合型電子署名方法は、大きさが小さいメッセージについて復元型方法を使用することにより電子署名の検証結果にメッセージを復元できるから、電子署名の大きさを小さくして情報通信において通信量を減らすことができる長所と、大きさが大きいメッセージについてはメッセージについての関連情報を包含させて付加型方法を使用できるから、署名するメッセージの大きさによりゆとりを持って電子署名を生成できる特徴を持っている。
【００１０】
　Ｓｃｈｎｏｒｒ（シュノル）は、１９８９年に離散的対数の安全性を基礎とする認証交換方法と電子署名方法を発表した。シュノルの電子署名方法は、付加型方法として１９８５年にＥｌＧａｍａｌが発表した電子署名方法にメッセージハッシュ関数（ｈａｓｈ　ｆｕｎｃｔｉｏｎ）を導入して電子署名の生成と検証の手順を簡素化し、また、生成された電子署名の大きさも小さくした方法である。
【００１１】
　シュノルの認証交換方法は電子署名方法と構造が同一なアルゴリズムを使用する方法であり、通信する相対方に自分の身元を認証させる方法である。まず、証明者（ｐｒｏｖｅｒ）Ａが自分の身元を検証者（ｖｅｒｆｉｅｒ）Ｂに証明するシュノルの認証交換方法をみると次の通りである。
【００１２】
　証明者Ａのシステム係数を（ｇ，ｑ，ｐ）、秘密鍵をｓ（１＜ｓ＜ｑ）、そして公開鍵を
【数３】
2004129303.tif 000005
とすると、証明者Ａは１とｑの間で任意数(ｒａｎｄｏｍ　ｎｕｍｂｅｒ)ｒを選択して、ｇをｒ乗してｐで割った剰余
【数４】
2004129303.tif 000006
を計算して検証者Ｂに送信する。検証者Ｂは証明者Ａからｘを受信したら、１とｑの間で任意数ｅを選択して証明者Ａに送信する。
【００１３】
　証明者Ａは、検証者Ｂから受信したｅを自分の秘密鍵ｓに掛けて、これにｘの計算に使用した任意数ｒを足した後ｑで割った剰余
【数５】
2004129303.tif 000007
を計算して検証者Ｂに送信する。証明者Ａからｙを受信した検証者Ｂは、ｇをｙ乗してこれに証明者Ａの公開鍵ｖをｅ乗して掛けた後ｐで割った剰余
【数６】
2004129303.tif 000008
を計算する。このように計算して求めたｘ´が証明者Ａから受信したｘと同一かを確認して、証明者Ａの身元についての正当性を認証することになる。
【００１４】
　シュノルの電子署名方法では、署名するメッセージをｍとすると、証明者Ａは１とｑの間で任意数ｒを選択してｇをｒ乗してｐで割った剰余
【数７】
2004129303.tif 000009
を計算して、ｘとメッセージｍをハッシュ関数(ｈａｓｈ　ｆｕｎｃｔｉｏｎ）に入力してｅ（＝ｈ（ｘ，ｍ））を求める。そして、自分の秘密鍵ｓとｅを掛けた後、これにｒを足してｑで割った剰余
【数８】
2004129303.tif 000010
を計算する。すると、（ｅ，ｙ）がメッセージｍについての付加型電子署名になる。メッセージｍについての付加型電子署名（ｅ，ｙ）の正当性の検証はだれにでも容易であり、この検証方法は次の通りである。
【００１５】
　メッセージｍについての署名者Ａの付加型電子署名が（ｅ，ｙ）の時、検証者はｇをｙ乗してこれに署名者Ａの公開鍵のｖをｅ乗して掛けた後ｐで割った剰余
【数９】
2004129303.tif 000011
を計算する。そして、ｘ´とメッセージｍをハッシュ関数に入力してｅ´（＝ｈ（ｘ´，ｍ））を求める。
【００１６】
　このようにして求めたｅ´がｅと同一かを確認して、メッセージｍについての署名者Ａの付加型電子署名（ｅ，ｙ）の正当性を検証する。
【００１７】
　一方、１９９３年にＮｙｂｅｒｇとＲｕｅｐｐｅｌは、離散的対数の安全性を基礎とした復元型電子署名方法を発表した。この復元型電子署名方法は、メッセージについての電子署名の生成のみではなくて、通信する両方が同一なシステム係数を使用すると電子署名方法と同一なアルゴリズムを使用して両方が秘密鍵として共有鍵（ｓｅｓｓｉｏｎ　Ｋｅｙ）を生成できる方法としても活用できるものである。
【００１８】
　次に、Ｎ−Ｒ（Ｎｙｂｅｒｇ−Ｒｕｅｐｐｅｌ）の復元型電子署名方法をみると、次の通りである。
【００１９】
　署名者のシステム係数を（ｇ，ｑ，ｐ）、秘密鍵をｓ（１＜ｓ＜ｑ）、そして公開鍵を
【数１０】
2004129303.tif 000012
とする。ｍを署名するメッセージとすると、署名者は１とｑの間で任意数ｒを選択してｇを−ｒ乗してこれにメッセージｍを掛けた後ｐで割った剰余
【数１１】
2004129303.tif 000013
を計算する。そして、自分の秘密鍵ｓとｘを掛けた後、これにｘの計算に使用した任意数ｒを足してｑで割った剰余
【数１２】
2004129303.tif 000014
を計算する。このように計算した（ｘ，ｙ）が、メッセージｍについての復元型電子署名になる。
【００２０】
　電子署名（ｘ，ｙ）の検証方法では、検証者がｇをｙ乗してこれに署名者の公開鍵のｖをｘ乗して掛けた後、さらにこれにｘを掛けてｐで割った剰余ｘｇyｖxｍｏｄ　ｐを計算して、電子署名（ｘ，ｙ）の検証結果として復元したメッセージｍの内容が適合するかを確認して電子署名（ｘ，ｙ）の正当性を検証する。
【００２１】
　なお、上記Ｎ−Ｒ(Ｎｙｂｅｒｇ−Ｒｕｅｐｐｅｌ)電子署名方法と同一なアルゴリズムを利用して使用者間に共通鍵を生成できる鍵交換方法に活用する方法について説明すると、次の通りである。
【００２２】
　使用者ＡとＢがシステム係数に（ｇ，ｑ，ｐ）を共通に使用するものとし、使用者Ａの秘密鍵をｓＡ、公開鍵を
【００２３】
【数１３】
2004129303.tif 000015
そして、使用者Ｂの秘密鍵をｓＢ、公開鍵を
【００２４】
【数１４】
2004129303.tif 000016
とする。使用者ＡとＢとの間に共有鍵を生成しようとすると、使用者Ａは１とｑの間で任意数Ｒとｒを選択して
【数１５】
2004129303.tif 000017
と
【数１６】
2004129303.tif 000018
を計算し、使用者Ｂに（ｘ，ｙ）を送信する。その後使用者Ａは、共有鍵としてＫを、次のように使用者Ｂの公開鍵
【００２５】
【数１７】
2004129303.tif 000019
をＲ乗してｐで割った剰余
【００２６】
【数１８】
2004129303.tif 000020
を計算して求める。
【００２７】
　使用者ＢはＡから受信した（ｘ，ｙ）から次のように計算して、
【００２８】
【数１９】
2004129303.tif 000021
を計算することでｇＲを復元する。そして、これを自分の秘密鍵の−ｓＢ乗してｐで割った剰余
【００２９】
【数２０】
2004129303.tif 000022
を計算する。従って、使用者ＡとＢは１回の送受信で両方の間に共有鍵Ｋを生成できる。
【００３０】
　そして、離散的対数の安全性を基礎にした別の鍵交換方法として、両使用者の間に共有鍵を生成できるＤｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換方法がある。この方法は、二人の使用者ＡとＢとが（ｇ，ｑ，ｐ）をシステム係数に使用する時、ＡとＢとが各々１とｑの間で任意数ａとｂを選択してｇaとｇbを各々計算して交換すると、ＡとＢが共有鍵として
【数２１】
2004129303.tif 000023
を共有できる方法である。
【発明の開示】
【発明が解決しようとする課題】
【００３１】
　上記のような従来の方法は、認証方法において証明者の身元が正当であることを確認する過程で証明者の属性の身分証明書、認証時刻、使用者システム等の情報なしで使用認証方法の安定性を根拠に認証するために、証明者の関連情報取得が難しいという問題点があった。また、電子署名方法においても、復元型の場合は人為的な冗長性(ｒｅｄｕｎｄａｎｃｙ)の使用により署名全体の大きさが倍加されて処理負荷を増加させるという点と、付加型の場合は単純に署名自体の検証だけをして署名関連情報の取得には限界があって、また単独署名方法は公衆署名方法への拡張、鍵交換方法への拡張およびブラインド署名方法への拡張が難しいという問題点があった。
【００３２】
　上記問題点を解決するために案出された本発明の第１，第２の目的は、署名するメッセージの大きさ、すなわち、２進数列の長さにより復元型または付加型で電子署名を生成する方法を提供することにある。
【００３３】
　上記問題点を解決するために案出された本発明の第３の目的は、二人の使用者が共通の秘密鍵を使用して、第三者がわからないように鍵を交換する鍵交換方法を提供することにある。
【００３４】
　上記問題点を解決するために案出された本発明の第４の目的は、署名するメッセージの大きさ、すなわち、２進数列の長さにより復元型で電子署名を生成するが、同一なメッセージに対して複数の署名者が一連の電子署名を生成できるようにする復元型公衆電子署名方法を提供することにある。
【００３５】
　上記問題点を解決するために案出された本発明の第５の目的は、署名者が署名するメッセージの内容が署名者にも公開されない時に電子署名を生成できるブラインド電子署名方法を提供することにある。
【課題を解決するための手段】
【００３６】
　上記目的を達成するために、本発明は、コンピュータ通信網を利用した情報交換システムにおける、電子メッセージｍに対して電子署名を生成する復元型電子署名方法において、署名者が任意数ｒを選択してｇを−ｒ乗してｇ-rを求めた後、これにメッセージｍを掛けてｐで割った剰余
【数２２】
2004129303.tif 000024
を計算する第１段階、ｘと自分の識別番号ＩＤを共にハッシュ関数に入力してｈ（ｘ，ＩＤ）を求めて、これに自分の秘密鍵ａを掛けた後ｘの計算に使用した任意数ｒを足してｑで割った剰余
【数２３】
2004129303.tif 000025
を計算してメッセージｍに対する電子署名（ｘ，ｙ）を生成する第２段階、および検証者が電子署名（ｘ，ｙ）および識別子ＩＤを受信すると、電子署名（ｘ，ｙ）のｘと署名者の識別番号ＩＤを共にハッシュ関数に入力してｈ（ｘ，ＩＤ）を求めた後、ｇをｙ乗してこれに署名者の公開鍵のｖをｈ（ｘ，ＩＤ）乗して掛けた値にさらにｘを掛けた後ｐで割った剰余ｘｇyｖh(x,ID)　ｍｏｄ　ｐを計算して、ｘに包含されているメッセージｍを復元してこの内容を確認し、メッセージｍについての電子署名の正当性を検証する第３段階をコンピュータを用いた計算にしたがって実行することを特徴とする。
【００３７】
　また、コンピュータ通信網を利用した情報交換システムにおける、電子メッセージｍに対して電子署名を生成する付加型電子署名方法において、署名者がメッセージｍと自分の識別番号ＩＤを共にハッシュ関数に入力して、ｈ（ＩＤ，ｍ）を求めた後に任意数ｒを選択してｇを−ｒ乗してｇ-rを求めた後、これにｈ（ＩＤ，ｍ）を掛けてｐで割った剰余
【数２４】
2004129303.tif 000026
を計算する第１段階、ｘとメッセージｍを共にハッシュ関数に入力してｈ（ｘ，ｍ）を求めて、これに自分の秘密鍵ａを掛けた後ｘの計算に使用した任意数ｒを足してｑで割った剰余
【数２５】
2004129303.tif 000027
を計算してメッセージｍについての電子署名（ｘ，ｙ）を生成する第２段階、検証者が電子署名（ｘ，ｙ）およびメッセージｍを受信して、ｘとメッセージｍを共にハッシュ関数に入力してｈ（ｘ，ｍ）を求めた後、これにｇをｙ乗して署名者の公開鍵ｖをｈ（ｘ，ｍ）乗して掛けた後、さらにｘを掛けてｐで割った剰余ｘｇyｖh(x,m)　ｍｏｄ　ｐを計算してｘに包含されているメッセージのハッシュ関数値（ｈ（ＩＤ，ｍ））を復元する第３段階、およびメッセージのハッシュ関数値が署名者の識別番号ＩＤとメッセージｍを共にハッシュ関数に入力して求めた値ｈ（ＩＤ，ｍ）と同一かを確認して、メッセージｍについての電子署名の正当性を検証する第４段階をコンピュータを用いた計算にしたがって実行することを特徴とする。
【００３８】
　また、コンピュータ通信網を利用した情報交換システムにおける電子署名の鍵交換方法において、使用者Ａが任意数Ｒとｒを生成してｇをＲ乗して、これにｇを−ｒ乗して掛けた後ｐで割った剰余
【数２６】
2004129303.tif 000028
を求める第１段階、使用者Ａが、使用者Ｂの公開鍵ｖBを自分の秘密鍵のａ乗してｐで割った剰余
【００３９】
【数２７】
2004129303.tif 000029
を求めた後ｘとｋをハッシュ関数に入力してｈ（ｘ，ｋ）を求めて、これに自分の秘密鍵ａを掛けて、任意数ｒを足してｑで割った剰余
【数２８】
2004129303.tif 000030
を求めて、インタフェースを介して使用者Ｂに送信する第２段階、使用者Ａが、演算手段を用い、使用者Ｂの公開鍵のｖBをＲ乗してｐで割った剰余
【００４０】
【数２９】
2004129303.tif 000031
を計算してこれを共有鍵に定めて、使用者Ｂが、使用者Ａの公開鍵ｖAを自分の秘密鍵のｂ乗してｐで割った剰余
【００４１】
【数３０】
2004129303.tif 000032
を求める第３段階、および、使用者Ｂが、演算手段を用い、使用者Ａから受信した（ｘ，ｙ）からｇを計算するためにｇをｙ乗して、これに使用者Ａの公開鍵ｖAをｈ（ｘ，ｋ）乗してさらにこれにｘを掛けてｐで割った剰余
【００４２】
【数３１】
2004129303.tif 000033
を計算して、使用者Ｂが共有鍵を得るためにｇRを自分の秘密鍵の−ｂ乗してｐで割った剰余
【数３２】
2004129303.tif 000034
を計算する第４段階を包含することを特徴とする。
【００４３】
　また、コンピュータ通信網を利用した情報交換システムにおける、電子メッセージｍに対して複数の署名者が一連の電子署名を生成する復元型公衆電子署名方法において、演算手段を用い、複数の署名者中のはじめの署名者が任意数rｉを選択してｇを−ｒｉ乗して
【００４４】
【数３３】
2004129303.tif 000035
を求めて、これにメッセージｍを掛けてｐで割った剰余
【００４５】
【数３４】
2004129303.tif 000036
を求める第１段階、演算手段を用い、ｘと第１番目の署名者の識別子ＩＤ1をハッシュ関数に入力してｈ（ｘ1，ＩＤ1）を求めた後、これと自分の秘密鍵のａ1を掛けて任意数ｒ1を足してｑで割った剰余
【数３５】
2004129303.tif 000037
を求めると（ｘ1，ｙ1）がメッセージｍについての署名者の電子署名になる第２段階、その後演算手段を用い、ｉ番目（ｉ≧２）の署名者が、メッセージｍおよび（ｘi-1，ｙi-1）を受信して任意の数ｒiを選択してｇを−ｒi乗して
【００４６】
【数３６】
2004129303.tif 000038
を求めた後、これにｘi-1を掛けてｐで割った剰余
【００４７】
【数３７】
2004129303.tif 000039
を求めてｘiとメッセージｍをハッシュ関数に入力してｈ（ｘi，ＩＤi）を求めた後、これに自分の秘密鍵ａiを掛けて任意の数ｒiを足してｇで割った剰余
【数３８】
2004129303.tif 000040
を求めて、メッセージｍについてのｉ番目の署名（ｘi，ｙi）を次の署名者に伝送する第３段階、演算手段を用い、全ての署名者が電子署名を生成したかを確認して、未署名者があれば第３段階に復帰して、未署名者がいなければ最終電子署名として（ｙ1，ｙ2，ｙ3，・・・，ｙn-1，ｙn，ｘn）を生成する第４段階、および、検証者が、公衆電子署名（ｙ1，ｙ2，ｙ3，・・・，ｙn-1，ｙn，ｘn）および各署名者らの識別子ＩＤｉを受信して
【００４８】
【数３９】
2004129303.tif 000041
を使用して演算手段により（ｘn，ｙn）からｘn-1を復元することを開始してはじめの署名者の電子署名（ｘ1，ｙ1）を復元して、これでメッセージｍを復元して電子署名の正当性を検証する第５段階をコンピュータを用いた計算にしたがって実行することを特徴とする。
【００４９】
　また、コンピュータ通信網を利用した情報交換システムにおける電子メッセージｍに対して電子署名を生成するブラインド電子署名方法において、記憶手段から読み出したシステム係数がｇ，ｑ，ｐで署名者の公開鍵が
【００５０】
【数４０】
2004129303.tif 000042
とする時、検証者が任意数ｒＢを選択して署名者の公開鍵の
【００５１】
【数４１】
2004129303.tif 000043
をｒＢ乗してこれとメッセージｍを掛けてｐで割った剰余
【００５２】
【数４２】
2004129303.tif 000044
を演算手段により計算して、インタフェースを介して上記署名者にｘBを送信する第１段階、署名者が任意数ｒAを選択してｇを−ｒA乗して受信したｘBと掛けた後ｐで割った剰余
【００５３】
【数４３】
2004129303.tif 000045
を計算して、インタフェースを介して検証者に送信する第２段階、検証者が署名者から受信したｘAとメッセージｍをハッシュ関数に入力してｈ（ｘA，ｍ）を求めた後、これに任意数ｒBを足してｑで割った剰余
【数４４】
2004129303.tif 000046
を計算して、インタフェースを介して上記署名者に送信する第３段階、演算手段を用い、署名者が受信したｙBに自分の秘密鍵のａAを掛けて任意数ｒAを足してｑで割った剰余
【数４５】
2004129303.tif 000047
を計算して検証者に送信すると、検証者がメッセージｍについてのブラインド署名(ｂｌｉｎｄ　ｓｉｇｎａｔｕｒｅ）（ｘA，ｙA）を受信する第４段階、および、生成された電子署名を検証するために、検証者が第３段階で求めたｈ（ｘA，ｍ）を利用してｖAをｈ（ｘA，ｍ）乗して、これにｇをｙA乗して掛けた後さらにｘAを掛けてｐで割った剰余
【００５４】
【数４６】
2004129303.tif 000048
を計算してメッセージｍを復元して、その内容を確認することにより署名者の電子署名（ｘA，ｙA）の正当性を検証する第５段階を包含することを特徴とする。
【発明の効果】
【００５５】
　上記の本発明の鍵交換方法によると、二人の使用者が、第三者がわからないように共通の秘密鍵を交換することにより、システムの信頼性を向上できる効果がある。
【００５６】
　また、本発明の公衆電子署名方法によると、階層的構造を持つ業務上で同一なメッセージや書類に対して、複数の署名者が一連の電子署名を生成できる効果がある。
【００５７】
　また、本発明のブラインド電子署名方法によると、署名者はメッセージの内容を確認できないし、また検証者は署名者の秘密鍵がわからないから、メッセージｍに対して検証者が署名者の電子署名を偽造できない効果がある。
【発明を実施するための最良の形態】
【００５８】
　本発明を概略的に説明すると、離散的対数の計算の困難さに安全性を基礎として多様な応用性を持つことで、証明交換方法によれば証明者が検証者に多くの付加的な情報を提供して証明者が検証者に自分の身元をより確実に証明できる。
【００５９】
　すなわち、証明者（ｐｒｏｖｅｒ）が検証者（ｖｅｒｉｆｉｅｒ）に自分の身元を認証するために認証情報に識別番号（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ　ｎｕｍｂｅｒ）、現在の日付と時間、そして現在使用しているシステム（ｈｏｓｔ　ｃｏｍｐｕｔｅｒ　ａｄｄｒｅｓｓ）等を示す情報を包含させる方法として、他の認証交換方法と比較して証明者はより多くの付随的な情報を検証者に提供することにより認証者が証明者の身元を認証することにおいて、幅広い弁別力を提供できる方法である。
【００６０】
　また、本発明の電子署名方法は、基本的に署名するメッセージの大きさ（２進ビット数列の大きさ）により付加型または復元型で電子署名を生成できる複合型電子署名方法で、鍵交換方法としても活用される。メッセージに対して復元型方法で署名する場合において、電子署名の検証結果として復元される情報に署名者のメッセージに関する説明文句と電子署名を生成する時点の日付と時間等を包含させることにより、検証者が電子署名の検証結果として電子署名が生成された時期と署名者が署名したメッセージに関する署名者の付随的な情報を得られるようにする方法である。
【００６１】
　そして、公衆電子署名方法は、階層的構造を持つ組織内で業務上の同一なメッセージや書類に対して複数の署名者が一連の電子署名を生成できる。ブラインド電子署名方法は、署名者がメッセージの内容をわからない状態でそのメッセージに対して電子署名を生成する際に公証機関や登記所で公証を受けるために提出する文書の内容を公開することが困難な場合に主に使用される。
【００６２】
　以下、添付した図面を参照して本発明による実施の形態を詳細に説明する。
【００６３】
　図１は本発明による認証交換方法のフロー図である。
【００６４】
　各使用者のシステム係数は（ｇ，ｑ，ｐ）、上記ｐ，ｑは大きい素数、ｇは１とｐの間の自然数としてｑ乗してｐで割った剰余が１の数
【数４７】
2004129303.tif 000049
の時、各使用者は１とｑの間で自然数ａ（１＜ａ＜ｑ）を選択して秘密鍵に使用して、公開鍵
【数４８】
2004129303.tif 000050
を計算して公開した後、使用者らはハッシュ関数(ｈａｓｈ　ｆｕｎｃｔｉｏｎ)としてｈを共通に使用する。
【００６５】
　そして、各使用者らは、本方法の使用の登録時に鍵管理センタ（ｋｅｙ　ａｕｔｈｅｎｔｉｃａｒｔｉｏｎ　ｃｅｎｔｅｒ）から固有な識別番号（ＩＤ：ｉｄｅｎｔｉｆｉｃａｉｏｎ　ｎｕｍｂｅｒ）を受けるが、これは一定な長さの２進数列になっている。
【００６６】
　図１のように証明者Ａが検証者Ｂに自分の身元を証明する認証交換方法では、証明者Ａが１とｑの間で任意数ｒ（１＜ｒ＜ｑ）を選択してｇを−ｒ乗してｇ-rを計算する。その後証明者Ａは、自分の識別番号ＩＤA、現在の日付と時間、そして現在使用する端末の位置を示すアドレス(ｈｏｓｔ　ａｄｄｒｅｓｓ　ｏｒ　ｎｏｄｅ　ａｄｄｒｅｓｓ)等を包含する情報Ｉ（＝ＩＤA、現在の日付と時間、現在使用される端末の位置）を作成してｇ-rに掛けてｐで割った剰余
【数４９】
2004129303.tif 000051
を計算して検証者Ｂに送信する。
【００６７】
　検証者Ｂは、証明者Ａからｘを受信すると、１とｑの間で任意数ｅを選択して証明者Ａに送信する。証明者Ａは検証者Ｂから受信したｅとｘをハッシュ関数に入力してｈ（ｘ，ｅ）を求めて自分の秘密鍵ａを掛けた後、これにｘの計算に使用した任意数ｒを足してｑで割った剰余
【数５０】
2004129303.tif 000052
を計算して検証者Ｂに送信する。
【００６８】
　証明者Ａからｙを受信した検証者Ｂは、ｘとｅをハッシュ関数に入力してｈ（ｘ，ｅ）を求めた後、ｇをｙ乗したものに証明者Ａの公開鍵ｖをｈ（ｘ，ｅ）乗して掛ける。そして、この結果にｘを掛けた後ｐで割った剰余
【数５１】
2004129303.tif 000053
を計算して証明者Ａの認証情報Ｉを復元する。検証者Ｂは、復元された認証情報Ｉの内容を確認して、証明者Ａの身元を認証する。
【００６９】
　また証明者Ａは、場合によってｘに包含する認証情報Ｉを１として
【数５２】
2004129303.tif 000054
を計算して、検証者Ｂから受信したｅについて
【数５３】
2004129303.tif 000055
を計算して検証者に送信できる。この時、検証者Ｂは
【数５４】
2004129303.tif 000056
を計算してＩが１であるかを確認して、証明者Ａの身元を認証することもできる。
【００７０】
　図２および図３は本発明による電子署名方法のフロー図である。
【００７１】
　上記認証交換方法のようにｐ，ｑは大きい素数で、ｇは１とｐの間の自然数でありｑ乗してｐで割った剰余が
【数５５】
2004129303.tif 000057
の数である。従って、各使用者らはシステム係数に（ｇ，ｑ，ｐ）を共通に使用して１とｑの間で秘密鍵ａを選択して
【数５６】
2004129303.tif 000058
を計算してｖを公開鍵として使用する。
【００７２】
　そして、各使用者らが鍵管理センサ(ｋｅｙ　ａｕｔｈｅｎｔｉｃａｔｉｏｎ　ｃｅｎｔｅｒ)に本方法の使用を登録すると、鍵管理センタから固有な識別番号ＩＤが付与される。すると各使用者の公開係数は（ｇ，ｑ，ｐ，ｖ，ＩＤ）になり、ハッシュ関数としてｈを共通に使用する。
【００７３】
　上記のように、署名者Ａが電子化されたメッセージｍについて電子署名を生成するメカニズムをメッセージｍの大きさ（２進ビット数）により復元型と付加型で署名する方法を図２および図３を参照して詳細に説明すると、次の通りである。
【００７４】
　図２は本発明による復元型電子署名方法のフロー図である。
【００７５】
　署名するメッセージｍの２進ビット数が素数ｐの２進ビット数より小さい場合、この復元型電子署名方法がに遂行される。
【００７６】
　図２のように、署名者Ａは、１とｑの間で任意数ｒを選択してｇを−ｒ乗してｇ-rを求めた後、これにメッセージｍを掛けてｐで割った剰余
【数５７】
2004129303.tif 000059
を求める。そして、署名者Ａはｘと自分の識別番号ＩＤAを共にハッシュ関数に入力してｈ（ｘ，ＩＤA）を求めた後、これに自分の秘密鍵ａを掛けた後ｒを足してｑで割った剰余
【数５８】
2004129303.tif 000060
を求める。すると、（ｘ，ｙ）がメッセージｍについての復元型電子署名になる。
【００７７】
　そして、上記メッセージｍについての復元型電子署名（ｘ，ｙ）の正当性の検証はだれでもできなければならないもので、検証者は検証の結果として復元されたメッセージの内容を確認して、署名の正当性を検証する。この方法を説明すると、次の通りである。
【００７８】
　署名者Ａのメッセージｍについての復元型電子署名が（ｘ，ｙ）とすると、検証者Ｂは、ｘと署名者Ａの識別番号ＩＤAを共にハッシュ関数に入力してｈ（ｘ，ＩＤA）を求める。検証者Ｂは、ｇをｙ乗してこれに署名者Ａの公開鍵
【数５９】
2004129303.tif 000061
をｈ（ｘ，ＩＤA）乗して
【００７９】
【数６０】
2004129303.tif 000062
を計算する。検証者Ｂは、この計算値にｘを掛けてｐで割った剰余
【００８０】
【数６１】
2004129303.tif 000063
を計算して、メッセージｍを復元する。検証者Ｂは、電子署名の検証の結果として復元されたメッセージｍの内容を確認して、電子署名の正当性を検証する。
【００８１】
　図３は本発明による付加型電子署名方法のフロー図である。
【００８２】
　署名するメッセージｍの２進ビット数が素数ｐの２進ビット数より大きい場合に、この付加型電子署名方法が遂行される。
【００８３】
　図３のように、署名するメッセージをｍとすると、署名者Ａはメッセージｍを自分の識別番号ＩＤAと共にハッシュ関数に入力してＩ（＝ｈ（ＩＤA，ｍ））を求める。署名者Ａは、１とｑの間で任意数ｒを選択してｇを−ｒ乗してｇ-rを求めて、これにＩを掛けた後ｐで割った剰余
【数６２】
2004129303.tif 000064
を求める。署名者Ａは、ｘとメッセージｍをハッシュ関数に入力してｈ（ｘ，ｍ）を求めて、これに自分の秘密鍵ａを掛けた後ｘの計算に使用した任意数ｒを足してｑで割った剰余
【数６３】
2004129303.tif 000065
を求める。
【００８４】
　このようにして計算した（ｘ，ｙ）が、メッセージｍについての付加型電子署名としてメッセージｍと共に（ｍ，ｘ，ｙ）として処理される。
【００８５】
　署名者Ａのメッセージｍについての付加型電子署名（ｍ，ｘ，ｙ）の検証方法は、受信したｘとメッセージｍをハッシュ関数に入力してｈ（ｘ，ｍ）を求めた後、ｇをｙ乗してこれに署名者の公開鍵ｖをｈ（ｘ，ｍ）乗してｇyｖh(x,m)を求める。その後、ｇyｖh(x,m)にｘを掛けてｐで割った剰余ｘｇyｖh(x,m)ｍｏｄ　ｐを計算してハッシュ関数値Ｉを復元する。検証者Ｂは、メッセージｍを署名者の識別番号ＩＤAと共にハッシュ関数に入力してｈ（ＩＤA，ｍ）を求め、Ｉと同一かを確認して付加型電子署名（ｍ，ｘ，ｙ）の正当性を検証する。
【００８６】
　そして、署名者は、署名するメッセージについての署名者の説明文句と署名する時点の時間等を示す情報を包含する電子署名を生成できるが、その方法の説明は次の通りである。
【００８７】
　署名者は、自分の識別番号ＩＤとメッセージをハッシュ関数に入力してｈ（ＩＤ，ｍ）を求めて、メッセージｍについての説明文句を作成してｈ（ＩＤ，ｍ）の後に付加する。そして、署名者が使用するコンピュータ端末を通じて、該当メッセージについての説明と電子署名を生成する時点の時間等を付加して、Ｉ（＝ｈ（ＩＤA，ｍ）、説明文句、署名した時間）を作成した後、メッセージに対して付加型方法で電子署名を生成するとよい。
【００８８】
　この方法は、既存の署名方法がメッセージについての署名のみを行えるのと違い、署名するメッセージについての多様な情報を包含させることにより、検証者が署名検証の結果として署名の正当性確認および署名したメッセージに関連された情報を共に取得できるようにする方法である。
【００８９】
　一方、同一なメッセージや書類に対して複数の署名者が一連の電子署名を生成することが階層的構造を持つ業務上に必要であるが、このように生成された電子署名を公衆電子署名として、この公衆電子署名を生成する方法を説明すると、次の通りである。
【００９０】
　まず、生成される電子署名の大きさを小さくして通信量を減少できる復元型公衆電子署名方法は、署名するメッセージをｍとし、署名者ＡとＢ、そしてＣがそれらの識別子ＩＤA，ＩＤBおよびＩＤCを各々包含するメッセージｍに対して一連の電子署名を生成するために署名者Ａは任意数ｒAを選択してｇを−ｒA乗して
【００９１】
【数６４】
2004129303.tif 000066
を求めて、これとメッセージｍを掛けてｐで割った剰余
【００９２】
【数６５】
2004129303.tif 000067
を求めて、ｘAとメッセージ署名者Ａの識別子ＩＤAをハッシュ関数に入力してｈ（ｘA，ＩＤA）を求めて、これと自分の秘密鍵のａAを掛けて任意数ｒAを足してｑで割った剰余　
【数６６】
2004129303.tif 000068
を求めると、（ｘA，ｙA）がメッセージｍについての署名者Ａの電子署名になる。
【００９３】
　署名者Ｂは、任意数ｒBを選択してｇを−ｒB乗して
【００９４】
【数６７】
2004129303.tif 000069
を求めた後、これとｘAを掛けてｐで割った剰余
【００９５】
【数６８】
2004129303.tif 000070
を求める。その後、ｘBと署名者Ｂの識別子ＩＤBをハッシュ関数に入力してｈ（ｘB，ＩＤB）を求めて、これと自分の秘密鍵ａBを掛けて任意数ｒBを足してｑで割った剰余
【数６９】
2004129303.tif 000071
を求めると、（ｘB，ｙB）がメッセージｍについての署名者Ｂの電子署名になる。
【００９６】
　次に署名者Ｃは、任意数ｒCを選択してｇを−ｒC乗して
【００９７】
【数７０】
2004129303.tif 000072
を求めた後、これをｘＢと掛けてｐで割った剰余
【００９８】
【数７１】
2004129303.tif 000073
を求める。その後ｘCと署名者Ｃの識別子ＩＤCをハッシュ関数に入力してｈ（ｘC，ＩＤC）を求めて、これと自分の秘密鍵ａCを掛けて任意数ｒCを足してｑで割った剰余
【数７２】
2004129303.tif 000074
を求めると、（ｘC，ｙC）がメッセージｍについての署名者Ｃの電子署名になり、メッセージｍについての署名者ＡとＢ、そしてＣの一連の電子署名は（ｙA，ｙB，ｙC，ｘC）になる。
【００９９】
　この一連の電子署名の検証方法では、検証者が、
【０１００】
【数７３】
2004129303.tif 000075
を使用してｍについての署名者Ｃの電子署名（ｘC，ｙC）からｘBを復元して、また
【０１０１】
【数７４】
2004129303.tif 000076
を使用してｍについての署名者Ｂの電子署名（ｘB，ｙB）でｘAを復元して、ｍについての署名者Ａの電子署名（ｘA，ｙA）からメッセージｍを復元する。そして、この内容を確認して署名者Ａの電子署名の正当性を検証することにより、一連の電子署名（ｙA，ｙB，ｙC，ｘC）が正当か否かを検証できる。
【０１０２】
　このような方法で、ｎ名の署名者がメッセージｍについて次のように公衆署名（ｙ1，ｙ2，ｙ3，・・・，ｙn-1，ｙn，ｘn）を生成できる。この検証は、
【０１０３】
【数７５】
2004129303.tif 000077
を使用して、（ｘn，ｙn）からｘn-1を復元することを開始してはじめの署名者の電子署名（ｘ1，ｙ1）を復元して、これでメッセージｍを復元してこの内容を確認することにより、全体の公衆電子署名の正当性を検証できる。
【０１０４】
　次に、メッセージに対して各署名者の説明文句と署名した時間等を包含する付加型公衆電子署名方法は、署名者Ａがメッセージｍと自分の識別番号ＩＤAをハッシュ関数に入力してｈ（ＩＤA，ｍ）を求めた後これとメッセージｍについての署名者Ａの説明文句と現在の時間等を包含する情報
【数７６】
2004129303.tif 000078
を作成した後、任意数ｒAを選択して
【０１０５】
【数７７】
2004129303.tif 000079
と
【数７８】
2004129303.tif 000080
を計算して電子署名（ｘA，ｙA）を生成する。そして、署名者ＢがｙAとメッセージｍについての署名者Ｂの説明文句と現在の時間を包含する情報
【数７９】
2004129303.tif 000081
を作成した後、任意数ｒBを選択して
【０１０６】
【数８０】
2004129303.tif 000082
と
【数８１】
2004129303.tif 000083
を計算して電子署名（ｘB，ｙB）を生成する。そして、署名者ＣはｙBとメッセージｍについての署名者Ｃの説明文句と現在の時間を包含する情報ＩC（＝ｙB、説明文句、現在の時間）を作成した後、任意数ｒCを選択して
【０１０７】
【数８２】
2004129303.tif 000084
と
【数８３】
2004129303.tif 000085
を計算して電子署名（ｘC，ｙC）を生成すると、（ｘA，ｘB，ｘC，ｙC）がメッセージｍについての付加型公衆電子署名になる。
【０１０８】
　この電子署名の検証方法は、検証者が
【０１０９】
【数８４】
2004129303.tif 000086
を使用して電子署名（ｘC，ｙ）からｙＢを復元して、
【０１１０】
【数８５】
2004129303.tif 000087
を使用して電子署名（ｘＢ，ｙＢ）からｙAを復元して、
【０１１１】
【数８６】
2004129303.tif 000088
を使用して電子署名（ｘA，ｙA）の正当性を検証して、（ｘA，ｙA）から復元されたＩAのｈ（ＩＤA，ｍ）が検証者が計算したｈ（ＩＤA，ｍ）と同値かを検証することにより確認するものである。そして、検証者は検証の各段階で、署名者のメッセージについての説明文句と電子署名を生成した時間を知ることができる。
【０１１２】
　このような方法で、ｎ名の署名者が公衆署名（ｘ1，ｘ2，ｘ3，・・・，ｘn-1，ｘn，ｙn）を生成でき、この検証は
【０１１３】
【数８７】
2004129303.tif 000089
を使用して（ｘn，ｙn）からｙn-1の復元を開始してはじめの署名者の電子署名（ｘA，ｙA）を復元した後、（ｘ1，ｙ1）から復元されたＩAのｈ（ＩＤA，ｍ）が検証者が計算したｈ（ＩＤ1，ｍ）と同値かを検証して正当性を検証することにより、全体の公衆電子署名の正当性を検証できる。
【０１１４】
　図４は本発明によるブラインド電子署名(Ｂｌｉｎｄ　ｓｉｇｎａｔｕｒｅ)方法のフロー図である。
【０１１５】
　このブラインド電子署名方法は、署名者がメッセージの内容をわからない状態でそのメッセージに対して電子署名を生成する方法である。
【０１１６】
　これは、公証機関や登記所で公証を受けるために文書を提出する時、文書の内容を公開することが困難な場合に主に使用される署名方法である。メッセージの内容が署名者Ａに公開されない状態で検証者Ｂが署名者Ａに電子署名を生成するようにすれば、検証者Ｂは任意数ｒBを選択して、署名者Ａの公開鍵の
【０１１７】
【数８８】
2004129303.tif 000090
をｒB乗する。この結果とメッセージｍを掛けてｐで割った剰余
【０１１８】
【数８９】
2004129303.tif 000091
を計算して、署名者ＡにｘBを送信する。
【０１１９】
　署名者Ａは、任意数ｒAを選択してｇを−ｒA乗して受信したｘBに掛けた後ｐで割った剰余
【０１２０】
【数９０】
2004129303.tif 000092
を計算して検証者Ｂに送信すると、検証者Ｂは署名者Ａから受信したｘAとメッセージｍをハッシュ関数に入力してｈ（ｘA，ｍ）を求めた後、これと任意数ｒBを足してｑで割った剰余
【数９１】
2004129303.tif 000093
を求めて署名者Ａに送信する。
【０１２１】
　署名者Ａは、検証者Ｂから受信したｙBに自分の秘密鍵ａAを掛けて任意数ｒAを足してｑで割った剰余
【数９２】
2004129303.tif 000094
を計算して検証者Ｂに送信すると、検証者Ｂは署名者Ａからメッセージｍについてのブラインド署名(ｂｌｉｎｄ　ｓｉｇｎａｔｕｒｅ）（ｘA，ｙA）を受信することになる。そして、検証者Ｂが、以降、
【０１２２】
【数９３】
2004129303.tif 000095
を計算してメッセージｍを復元して、この内容を確認して（ｘA，ｙA）の正当性を検証する。
【０１２３】
　鍵交換方法では、二人の使用者ＡとＢがシステム係数に（ｇ，ｑ，ｐ）とハッシュ関数ｈを共通に使用する。使用者Ａの秘密鍵がａ、公開鍵が
【数９４】
2004129303.tif 000096
そして使用者Ｂの秘密鍵がｂ、公開鍵が
【数９５】
2004129303.tif 000097
とする時、使用者ＡとＢが共通の秘密鍵を生成する方法は次の通りである。
【０１２４】
　使用者Ａは、任意数Ｒとｒを生成してｇをＲ乗してこれにｇを−ｒ乗して掛けた後ｐで割った剰余
【数９６】
2004129303.tif 000098
を求める。そして、使用者Ａは、使用者Ｂの公開鍵ｖBを自分の秘密鍵のａ乗してｐで割った剰余
【０１２５】
【数９７】
2004129303.tif 000099
を求めた後、ｘとｋをハッシュ関数に入力してｈ（ｘ，ｋ）を求めて、これと自分の秘密鍵ａを掛けて任意数ｒを足してｑで割った剰余
【数９８】
2004129303.tif 000100
を求めて使用者Ｂに送信する。
【０１２６】
　その後使用者Ａは、使用者Ｂの公開鍵ｖBをＲ乗してｐで割った剰余
【０１２７】
【数９９】
2004129303.tif 000101
を計算して共有鍵に定める。使用者Ｂは、使用者Ａの公開鍵ｖAを自分の秘密鍵のｂ乗してｐで割った剰余
【０１２８】
【数１００】
2004129303.tif 000102
を求めた後、使用者Ａから受信した（ｘ，ｙ）からｇRを次のように求める。すなわち、ｇをｙ乗してこれに使用者Ａの公開鍵ｖAをｈ（ｘ，ｋ）乗してさらにこれにｘを掛けてｐで割った剰余
【０１２９】
【数１０１】
2004129303.tif 000103
を計算して復元する。その後使用者Ｂは、ｇRを自分の秘密鍵の−ｂ乗してｐで割った剰余
【数１０２】
2004129303.tif 000104
を計算して共有鍵に定める。
【０１３０】
　従って、使用者ＡとＢは秘密鍵としてＫを共有する。本発明の鍵交換方法では、共有鍵を生成する使用者ＡでもＢでもない第三者は、使用者ＡとＢの公開鍵のｖAとｖBからＫを計算できないし、使用者ＡからＢに伝達される情報（ｘ，ｙ）から共有鍵生成者ｇRを復元できないから、第三者は使用者ＡとＢの間の秘密鍵の共有鍵Ｋを計算できない。
【図面の簡単な説明】
【０１３１】
【図１】認証交換方法を説明するためのフロー図である。
【図２】本発明による復元型電子署名方法を説明するためのフロー図である。
【図３】本発明による付加型電子署名方法を説明するためのフロー図である。
【図４】本発明によるブラインド電子署名方法を説明するためのフロー図である。
【図１】
2004129303.tif 000132
【図２】
2004129303.tif 000133
【図３】
2004129303.tif 000134
【図４】
2004129303.tif 000135