(57)【要約】  本発明の目的は、入札価格に対応する公開鍵のリストを入札者に公開する必要がなく、かつ価格秘匿性の証明が可能な電子入札システム、電子入札方法を提供することである。入札装置３００における暗号化機能において、入札値をＩＤとするＩＤベース暗号（ＩＢＥ）方式に基づき、入札価格と、分散復号を可能とする合成条件に基づいて複数の部分開札装置が生成した部分秘密鍵に対応する部分公開鍵を合成したＩＢＥ公開鍵とを用いて公開鍵を生成し、所定の入札用メッセージを暗号化する。また、開札装置４００における復号機能において、入札可能価格のうち落札条件に近い落札値候補から順に、分散復号の充足数を満たす部分開札装置に落札値候補に対する復号演算を行わせて、結果出力される部分開札データを合成して得られる復号データと入札用メッセージとを照合することによって落札値を決定する。
2007063876.tif 000002
【特許請求の範囲】
【請求項１】
入札者が入札を行う入札装置と、前記入札装置と通信ネットワークを介して接続される開札装置とを備え、
前記入札装置は、
入札者から入力される入札値をＩＤとするＩＤベース暗号（ＩＢＥ）方式を用いて暗号化を行うＩＢＥ暗号化手段と、
前記ＩＢＥ暗号化手段が暗号化した結果出力される暗号データを前記開札装置に送信する送信手段とを備え、
前記開札装置は、
入札可能価格をＩＤとするＩＤベース暗号方式を用いて、前記入札装置から送信される暗号データの復号を行うＩＢＥ復号手段と、
前記ＩＢＥ復号手段が復号した結果出力される復号データに基づいて、落札値および落札者を判定する判定手段とを備えた
ことを特徴とする電子入札システム。
【請求項２】
前記ＩＢＥ暗号化手段は、少なくとも入札可能価格を示す情報と、予め定めた入札用メッセージと、ＩＤベース暗号方式において暗号化および復号に用いる情報を示す暗号パラメータとを含み、開札者側から事前に公開されている情報である公開パラメータと、入札者から入力される入札値とを用いて、前記入札値をＩＤとするＩＤベース暗号方式の暗号理論に基づいて計算することによって、前記入札値に対応する暗号化鍵を生成し、該生成した暗号化鍵を用いて、前記所定の入札用メッセージを暗号化し、
前記ＩＢＥ復号手段は、復号に必要な秘密を示す復号用秘密情報と、前記公開パラメータと、各入札者の暗号データと、入札可能価格の中から所定の条件に従って選択される候補値とを用いて、前記候補値をＩＤとするＩＤベース暗号方式の暗号理論に基づいて計算することによって、暗号データを復号し、
前記判定手段は、前記ＩＢＥ復号手段が復号した復号データが、前記入札用メッセージと一致した場合に、復号に用いた前記候補値を秘匿にされた入札値と判断することによって判定を行う
請求項１に記載の電子入札システム。
【請求項３】
入札者が入札を行う入札装置と、復号に必要な秘密を示す復号用秘密情報を記憶している１つまたは複数の部分開札装置と、前記入札装置および前記部分開札装置と通信ネットワークを介して接続される開札装置とを備え、
前記部分開札装置は、
公開パラメータを入力として、前記復号用秘密情報に対応する情報であって、ＩＤベース暗号（ＩＢＥ）方式において暗号化に用いるＩＢＥ公開鍵を生成するために必要な部分公開鍵を生成する部分公開鍵生成手段と、
前記公開パラメータと、暗号データとを入力として、前記復号用秘密情報にかかる復号演算を行い、前記復号演算の結果を示す部分開札データを生成する部分開札データ生成手段とを備え、
前記入札装置は、前記公開パラメータと、前記部分公開鍵生成手段が生成した部分公開鍵を用いて生成されるＩＢＥ公開鍵と、入札者から入力される入札値とを入力として、前記入札値をＩＤとするＩＤベース暗号方式の暗号理論に基づき、所定の入札メッセージを暗号化した暗号データを生成する暗号データ生成手段を備え、
前記開札装置は、
前記公開パラメータと、前記部分公開鍵生成手段が生成した部分公開鍵を用いて生成されるＩＢＥ公開鍵と、暗号データと、前記部分開札データ生成手段が生成した部分開札データとを入力として、暗号データを復号した結果を示す復号データを生成する復号データ生成手段と、
前記復号データ生成手段が生成した復号データに基づいて、落札値および落札者を判定する落札判定手段とを備えた
ことを特徴とする電子入札システム。
【請求項４】
前記開札装置は、前記部分開札装置から部分公開鍵を収集し、該収集した部分公開鍵を所定の合成条件に従って合成することにより、ＩＢＥ公開鍵を生成する開札装置側ＩＢＥ公開鍵生成手段を備えた
請求項３記載の電子入札システム。
【請求項５】
前記部分開札装置は、該部分開札装置が１番目の拠点として設置されている場合に、該部分開札装置が備える部分公開鍵生成手段が生成した部分公開鍵をＩＢＥ公開鍵として、２番目の拠点の部分開札装置に送信し、
また、前記部分開札装置が２番目以降の拠点として設置されている場合に、前の拠点から受信したＩＢＥ公開鍵と、該部分開札装置が備える部分公開鍵生成手段が生成した部分公開鍵とを所定の合成条件に従って合成してＩＢＥ公開鍵を更新していくことで、分散復号に必要な充足数を満たす部分公開鍵を逐次的に合成してＩＢＥ公開鍵を生成する部分開札装置側ＩＢＥ公開鍵生成手段を備えた
請求項３記載の電子入札システム。
【請求項６】
前記開札装置は、分散復号に必要な充足数を満たす部分開札データを収集し、収集した部分開札データを所定の合成条件に従って合成することにより、分散された復号用秘密情報にかかる復号演算の完全な演算結果を示す開札データを生成する開札装置側開札データ生成手段を備えた
請求項３記載の電子入札システム。
【請求項７】
前記部分開札装置は、該部分開札装置が１番目の拠点として設置されている場合に、該部分開札装置が備える部分開札データ生成手段が生成した部分開札データを開札データとして、２番目の拠点の部分開札装置に送信し、
また、前記部分開札装置が２番目以降の拠点として設置されている場合に、前の拠点から受信した開札データと、該部分開札装置が備える部分開札データ生成手段が生成した部分開札データとを所定の合成条件に従って合成して部分開札データを更新していくことで、分散復号に必要な充足数を満たす部分開札データを逐次的に合成して開札データを生成する部分開札装置側開札データ生成手段を備えた
請求項３記載の電子入札システム。
【請求項８】
前記入札装置および開札装置と、通信ネットワークを介して接続される入札値知識証明検証装置を備え、
前記入札装置は、
予め割り当てられた入札者固有の情報と、暗号化に用いる暗号パラメータのうち、該入札装置が無作為に選択することができる暗号化任意情報とを用いて、入札値に関する知識を証明するためのデータである入札値知識証明データを生成する入札値知識証明生成手段と、
前記入札値知識証明生成手段が生成した入札値知識証明データを、暗号データ生成手段が生成した暗号データに付加する入札値知識証明データ付加手段とを備え、
前記入札値知識証明検証装置は、
公開パラメータと、前記入札値知識証明データ付加手段によって付加された入札値知識証明データ付き暗号データとを入力として、前記入札値知識証明データを前記入札者固有の情報に基づいて検証する検証手段と、
前記検証手段が検証した結果、正しい入札値知識証明データが付加されていた暗号データを開札装置に送信し、そうでない暗号データを不受理とする旨とともに出力する検証結果対応手段とを備えた
請求項３から請求項７のうちのいずれか１項に記載の電子入札システム。
【請求項９】
入札者が入札を行う入札装置と、前記入札装置と通信ネットワークを介して接続される開札装置とを備えた電子入札システムで使用される電子入札方法であって、
前記入札装置が、入札者から入力される入札値をＩＤとするＩＤベース暗号（ＩＢＥ）方式を用いて暗号化を行い、
前記入札装置が、暗号化した結果出力される暗号データを前記開札装置に送信し、
前記開札装置が、入札可能価格をＩＤとするＩＤベース暗号方式を用いて、前記入札装置から送信される暗号データの復号を行い、
前記開札装置が、復号した結果出力される復号データに基づいて、落札値および落札者を判定する
ことを特徴とする電子入札方法。
【請求項１０】
入札者が入札を行う入札装置と、復号に必要な秘密を示す復号用秘密情報を記憶している１つまたは複数の部分開札装置と、前記入札装置および前記部分開札装置と通信ネットワークを介して接続される開札装置とを備えた電子入札システムで使用される電子入札方法であって、
前記部分開札装置が、公開パラメータを入力として、前記復号用秘密情報に対応する情報であって、ＩＤベース暗号方式において暗号化に用いるＩＢＥ公開鍵を生成するために必要な部分公開鍵を生成し、
前記部分開札装置が、前記公開パラメータと、暗号データとを入力として、前記復号用秘密情報にかかる復号演算を行い、前記復号演算の結果を示す部分開札データを生成し、  前記入札装置が、前記公開パラメータと、前記部分開札装置が生成した部分公開鍵を用いて生成されるＩＢＥ公開鍵と、入札者から入力される入札値とを入力として、前記入札値をＩＤとするＩＤベース暗号方式の暗号理論に基づき、所定の入札メッセージを暗号化した暗号データを生成し、
前記開札装置が、前記公開パラメータと、前記部分開札装置が生成した部分公開鍵を用いて生成されるＩＢＥ公開鍵と、暗号データと、前記部分開札装置が生成した部分開札データとを入力として、暗号データを復号した結果を示す復号データを生成し、
前記開札装置が、前記復号データに基づいて、落札値および落札者を判定する
ことを特徴とする電子入札方法。
【請求項１１】
前記入札装置が、予め割り当てられた入札者固有の情報と、暗号化に用いる暗号パラメータのうち、該入札装置が無作為に選択することができる暗号化任意情報とを用いて、入札値に関する知識を証明するためのデータである入札値知識証明データを生成し、
前記入札装置が、前記生成した入札値知識証明データを、暗号データに付加して、通信ネットワークを介して接続される入札値知識証明検証装置に送信し、
前記入札値知識証明検証装置が、公開パラメータと、前記入札値知識証明データ付き暗号データとを入力として、前記入札値知識証明データを前記入札者固有の情報に基づいて検証し、
前記入札値知識証明検証装置が、検証した結果、正しい入札値知識証明データが付加されていた暗号データを開札装置に送信し、そうでない暗号データを不受理とする旨とともに出力する
請求項１０記載の電子入札方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、落札値以外の入札値を明かすことなく、落札値を決定できる電子入札システムおよび電子入札方法に関して、特に、入札時に入札価格に対応する公開鍵のリストを公開することなく、かつ価格秘匿性の証明が可能な電子入札システムおよび電子入札方法に関する。
【背景技術】
【０００２】
従来の電子入札方法の代表的な例として、非特許文献１が挙げられる。非特許文献１に記載の電子入札方法は、入札者が、入札価格に対応する公開鍵を用いて予め定められた入札用メッセージを暗号化し、開札者が、入札用メッセージに復号できる秘密鍵を見つけることによって、その秘密鍵に対応する値がその入札者の入札価格であると判定する電子入札方法である。開札者が、落札条件に最も近い値（例えば、最高値）から順に復号を試みることによって、入札者全員の入札値を確認しなくても落札値を決定することができる。非特許文献１には、エルガマル暗号と呼ばれる暗号方式と、ＲＳＡ暗号と呼ばれる暗号方式の２つの暗号方式を用いた電子入札方法が提案されている。【０００３】
非特許文献１に記載のエルガマル暗号を用いた電子入札方法は、まず開札者が入札価格ごとに秘密鍵を定め、その秘密鍵から各入札価格に対応する公開鍵を計算し、入札価格と入札価格に対応する公開鍵をリスト化した価格・公開鍵リストを公開する。なお、開札者が定めた秘密鍵は開札者によって秘密に保管される。各入札者は、入札価格を決定し、価格・公開鍵リストに含まれる入札者が決定した入札価格に対応する公開鍵を用いて、予め定められた入札用メッセージ（例えば、「私は○○を購入します」）を暗号化し、開札者に送信する。【０００４】
開札者は、例えば落札可能な入札価格の最大値に対応する秘密鍵から順に用いて、受信した全入札者の暗号文を復号していく。ここで、入札者の入札価格と一致する値に対応する秘密鍵を用いて暗号文を復号した場合には、暗号文が入札用メッセージに正しく復号されるため、復号に用いた秘密鍵からその入札者の入札価格を割り出すことができる。開札者は、例えば、最初に正しく復号できた暗号文の送り主を落札者として、またその際用いた秘密鍵に対応する値を落札値として決定する。【０００５】
また、非特許文献１に記載のＲＳＡ暗号を用いた電子入札方法は、入札者が、自身で希望する入札価格を利用して公開鍵を生成することができる電子入札方法である。これは「ある”秘密”を知っている人は、任意の公開鍵から秘密鍵を生成することができる」というＲＳＡ暗号の性質を利用したものである。従って、非特許文献１に記載のＲＳＡ暗号を用いた電子入札方法では、開札者が入札価格に対応する公開鍵を生成し、公開する必要がない。【０００６】
開札者は、秘密鍵から秘密鍵を計算するために必要な”秘密”を生成して保管しておき、開札時に、保管しておいた”秘密”を用いて入札価格に対応する秘密鍵を生成することで、暗号文を復号することができる。落札価格の決定は、上記で示したエルガマル暗号を用いた場合と同様である。なお、非特許文献１に記載の電子入札方法を用いた電子入札システムが、特許文献１に記載されている。【０００７】
【特許文献１】特開２０００−２００３１１号公報（段落００１５−００１７）
【非特許文献１】K.Sako, "An Auction Protocol Which Hides Bids of Losers", PK C2000, Lecture Notes in Computer Science, 2000, No.1751, pp.422-432
【非特許文献２】D.Boneh and M.Franklin, "Identity-Based Encryption from the Weil Pairing", SLAM J. of Computing, 2003, Vol.32, No.3, pp.586-615
【非特許文献３】D.Boneh and X.Boyen, "Secure Identity Based Enctyption Without Random Oracles", CRYPTO2004, Lecture Notes in Computer Science, 2004, No.3152, pp.443-459
【非特許文献４】C.P.Schnorr, "Efficient Signature Generation by Smart Cards", Journal of Cryptology, 1991, Vol.4, pp.161-174
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献１に記載の電子入札方法において、エルガマル暗号を用いた電子入札方法は、入札者に価格・公開鍵リストを公開する必要がある。この価格・公開鍵リストは、一般にサイズが大きいものであるため、効率がよくない。【０００９】
また、ＲＳＡ暗号を用いた電子入札方法は、価格・公開リストを公開する必要はないが、ＲＳＡ暗号がある種の安全性を満たすことを仮定しても、ＲＳＡ暗号を用いた電子入札方法に脆弱性がないことを数学的に証明できない。即ち、価格秘匿性を満たすという数学的な証明ができない。ここで、価格秘匿性とは、入札データから入札価格に関する情報が漏れないという電子入札に必要な性質をいう。【００１０】
従って、本発明が解決しようとする課題は、入札価格に対応する公開鍵のリストを入札者に公開する必要がなく、かつ価格秘匿性の証明が可能な電子入札システム、電子入札方法を提供することである。
【課題を解決するための手段】
【００１１】
本発明の第１の視点による電子入札システムは、入札者が入札を行う入札装置と、前記入札装置と通信ネットワークを介して接続される開札装置とを備え、前記入札装置は、入札者から入力される入札値をＩＤとするＩＤベース暗号方式（Identity-Based Encryption ，ＩＢＥ）を用いて暗号化を行うＩＢＥ暗号化手段（例えば、ＩＢＥ暗号化手段３０２）と、前記ＩＢＥ暗号化手段が暗号化した結果出力される暗号データを前記開札装置に送信する送信手段（例えば、送受信部３０１）とを備え、前記開札装置は、入札可能価格をＩＤとするＩＤベース暗号方式を用いて、前記入札装置から送信される暗号データの復号を行うＩＢＥ復号手段（例えば、開札データ生成手段４０４およびＩＢＥ復号手段４０５）と、前記ＩＢＥ復号手段が復号した結果出力される復号データに基づいて、落札値および落札者を判定する判定手段（例えば、判定手段４０６）とを備えたことを特徴とする。【００１２】
また、前記ＩＢＥ暗号化手段は、少なくとも入札可能価格を示す情報と、予め定めた入札用メッセージと、ＩＤベース暗号方式において暗号化および復号に用いる情報を示す暗号パラメータとを含み、開札者側から事前に公開されている情報である公開パラメータと、入札者から入力される入札値とを用いて、前記入札値をＩＤとするＩＤベース暗号方式の暗号理論に基づいて計算することによって、前記入札値に対応する暗号化鍵（公開鍵とも呼ばれる）を生成し、生成した暗号化鍵を用いて、所定の入札用メッセージを暗号化し、前記ＩＢＥ復号手段は、復号に必要な秘密を示す復号用秘密情報と、前記公開パラメータと、各入札者の暗号データと、入札可能価格の中から所定の条件に従って選択される候補値とを用いて、前記候補値をＩＤとするＩＤベース暗号方式の暗号理論に基づいて計算することによって、暗号データを復号し、前記判定手段は、前記ＩＢＥ復号手段が復号した復号データが、前記入札用メッセージと一致した場合に、復号に用いた前記候補値を秘匿にされた入札値と判断することによって判定を行ってもよい。【００１３】
また、本発明の第２の視点による電子入札システムは、入札者が入札を行う入札装置と、復号に必要な秘密を示す復号用秘密情報を記憶している１つまたは複数の部分開札装置と、前記入札装置および前記部分開札装置と通信ネットワークを介して接続される開札装置とを備え、前記部分開札装置は、公開パラメータを入力として、前記復号用秘密情報に対応する情報であって、ＩＤベース暗号方式において暗号化に用いるＩＢＥ公開鍵を生成するために必要な部分公開鍵を生成する部分公開鍵生成手段（例えば、部分公開鍵生成手段１０４）と、公開パラメータと、暗号データとを入力として、前記復号用秘密情報にかかる復号演算を行い、前記復号演算の結果を示す部分開札データを生成する部分開札データ生成手段（例えば、部分開札データ生成手段１０５）とを備え、前記入札装置は、公開パラメータと、前記部分公開鍵生成手段が生成した部分公開鍵を用いて生成されるＩＢＥ公開鍵と、入札者から入力される入札値とを入力として、前記入札値をＩＤとするＩＤベース暗号方式の暗号理論に基づき、所定の入札メッセージを暗号化した暗号データを生成する暗号データ生成手段（例えば、ＩＢＥ暗号化手段３０２）を備え、前記開札装置は、公開パラメータと、前記部分公開鍵生成手段が生成した部分公開鍵を用いて生成されるＩＢＥ公開鍵と、暗号データと、前記部分開札データ生成手段が生成した部分開札データとを入力として、暗号データを復号した結果を示す復号データを生成する復号データ生成手段（例えば、ＩＢＥ復号手段４０５）と、前記復号データ生成手段が生成した復号データに基づいて、落札値および落札者を判定する落札判定手段（例えば、判定手段４０６）とを備えたことを特徴とする。【００１４】
また、前記開札装置は、前記部分開札装置から部分公開鍵を収集し、収集した部分公開鍵を所定の合成条件に従って合成することにより、ＩＢＥ公開鍵を生成する開札装置側ＩＢＥ公開鍵生成手段（例えば、ＩＢＥ公開鍵生成手段２０２）を備えていてもよい。【００１５】
また、前記部分開札装置は、該部分開札装置が１番目の拠点として設置されている場合に、該部分開札装置が備える部分公開鍵生成手段が生成した部分公開鍵をＩＢＥ公開鍵として、２番目の拠点の部分開札装置に送信し、また、前記部分開札装置が２番目以降の拠点として設置されている場合に、前の拠点から受信したＩＢＥ公開鍵と、該部分開札装置が備える部分公開鍵生成手段が生成した部分公開鍵とを所定の合成条件に従って合成してＩＢＥ公開鍵を更新していくことで、分散復号に必要な充足数を満たす部分公開鍵を逐次的に合成してＩＢＥ公開鍵を生成する部分開札装置側ＩＢＥ公開鍵生成手段（例えば、部分公開鍵生成手段１１４）を備えていてもよい。【００１６】
また、前記開札装置は、分散復号に必要な充足数を満たす部分開札データを収集し、収集した部分開札データを所定の合成条件に従って合成することにより、分散された復号用秘密情報にかかる復号演算の完全な演算結果を示す開札データを生成する開札装置側開札データ生成手段（例えば、開札データ生成手段４０４）を備えていてもよい。【００１７】
また、前記部分開札装置は、該部分開札装置が１番目の拠点として設置されている場合に、該部分開札装置が備える部分開札データ生成手段が生成した部分開札データを開札データとして、２番目の拠点の部分開札装置に送信し、また、前記部分開札装置が２番目以降の拠点として設置されている場合に、前の拠点から受信した開札データと、該部分開札装置が備える部分開札データ生成手段が生成した部分開札データとを所定の合成条件に従って合成して部分開札データを更新していくことで、分散復号に必要な充足数を満たす部分開札データを逐次的に合成して開札データを生成する部分開札装置側開札データ生成手段（例えば、部分開札データ生成手段１１５）を備えていてもよい。【００１８】
また、本発明の第３の視点によれば、前記電子入札システムは、前記入札装置および開札装置と、通信ネットワークを介して接続される入札値知識証明検証装置を備え、前記入札装置は、予め割り当てられた入札者固有の情報と、暗号化に用いる暗号パラメータのうち、該入札装置が無作為に選択することができる暗号化任意情報とを用いて、入札値に関する知識を証明するためのデータである入札値知識証明データを生成する入札値知識証明生成手段（例えば、入札値知識証明手段３２３）と、前記入札値知識証明生成手段が生成した入札値知識証明データを、暗号データ生成手段が生成した暗号データに付加する入札値知識証明データ付加手段と（例えば、入札値知識証明手段３２３）を備え、前記入札値知識証明検証装置は、公開パラメータと、前記入札値知識証明データ付加手段によって付加された入札値知識証明データ付き暗号データとを入力として、前記入札値知識証明データを前記入札者固有の情報に基づいて検証する検証手段（例えば、検証手段５２３）と、前記検証手段が検証した結果、正しい入札値知識証明データが付加されていた暗号データを開札装置に送信し、そうでない暗号データを不受理とする旨とともに出力する検証結果対応手段（例えば、検証手段５２３）とを備えていてもよい。【００１９】
また、本発明の第４の視点による電子入札方法は、入札者が入札を行う入札装置と、前記入札装置と通信ネットワークを介して接続される開札装置とを備えた電子入札システムで使用される電子入札方法であって、前記入札装置が、入札者から入力される入札値をＩＤとするＩＤベース暗号方式を用いて暗号化を行い、前記入札装置が、暗号化した結果出力される暗号データを前記開札装置に送信し、前記開札装置が、入札可能価格をＩＤとするＩＤベース暗号方式を用いて、前記入札装置から送信される暗号データの復号を行い、前記開札装置が、復号した結果出力される復号データに基づいて、落札値および落札者を判定することを特徴とする。【００２０】
また、本発明の第５の視点による電子入札方法は、入札者が入札を行う入札装置と、復号に必要な秘密を示す復号用秘密情報を記憶している１つまたは複数の部分開札装置と、前記入札装置および前記部分開札装置と通信ネットワークを介して接続される開札装置とを備えた電子入札システムで使用される電子入札方法であって、前記部分開札装置が、公開パラメータを入力として、前記復号用秘密情報に対応する情報であって、ＩＤベース暗号方式において暗号化に用いるＩＢＥ公開鍵を生成するために必要な部分公開鍵を生成し、前記部分開札装置が、公開パラメータと、暗号データとを入力として、前記復号用秘密情報にかかる復号演算を行い、前記復号演算の結果を示す部分開札データを生成し、前記入札装置が、公開パラメータと、前記部分開札装置が生成した部分公開鍵を用いて生成されるＩＢＥ公開鍵と、入札者から入力される入札値とを入力として、前記入札値をＩＤとするＩＤベース暗号方式の暗号理論に基づき、所定の入札メッセージを暗号化した暗号データを生成し、前記開札装置が、公開パラメータと、前記部分開札装置が生成した部分公開鍵を用いて生成されるＩＢＥ公開鍵と、暗号データと、前記部分開札装置が生成した部分開札データとを入力として、暗号データを復号した結果を示す復号データを生成し、前記開札装置が、前記復号データに基づいて、落札値および落札者を判定してもよい。【００２１】
また、本発明の第６の視点によれば、前記電子入札方法は、前記入札装置が、予め割り当てられた入札者固有の情報と、暗号化に用いる暗号パラメータのうち、該入札装置が無作為に選択することができる暗号化任意情報とを用いて、入札値に関する知識を証明するためのデータである入札値知識証明データを生成し、前記入札装置が、前記生成した入札値知識証明データを、暗号データに付加して、通信ネットワークを介して接続される入札値知識証明検証装置に送信し、前記入札値知識証明検証装置が、公開パラメータと、前記入札値知識証明データ付き暗号データとを入力として、前記入札値知識証明データを前記入札者固有の情報に基づいて検証し、前記入札値知識証明検証装置が、検証した結果、正しい入札値知識証明データが付加されていた暗号データを開札装置に送信し、そうでない暗号データを不受理とする旨とともに出力してもよい。【００２２】
また、本発明の第７の視点によれば、前記した各電子入札システムを構成する入札装置、開札装置、部分開札装置又は入札値知識証明検証装置が提供される。【００２３】
また、本発明の第８の視点によれば、前記した各電子入札方法を実施するためのコンピュータプログラム又は該コンピュータプログラムを格納した記憶媒体が提供される。
【発明の効果】
【００２４】
本発明によれば、入札値をＩＤとするＩＤベース暗号方式を用いて暗号化するので、入札価格に対応する公開鍵のリストを開札者側が公開する必要がなく、かつ価格秘匿性の証明が可能である。【００２５】
また、復号用秘密情報を複数の部分開札装置に分散して記憶させておくことができるため、不正に落札値以外の入札値を求める行為をより効果的に防止することができる。【００２６】
また、暗号データに入札値に関する知識証明データを付与し、検証するので、他人の暗号データの不正利用を防止することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明による電子入札システムの構成例を示すブロック図である。
【図２】本実施の形態によるＩＢＥ公開鍵生成動作の一例を示す流れ図である。
【図３】本実施の形態による入札動作の一例を示す流れ図である。
【図４】本実施の形態による開札動作の一例を示す流れ図である。
【図５】第２の実施の形態による電子入札システムの構成例を示すブロック図である。
【図６】第２の実施の形態によるＩＢＥ公開鍵生成動作の一例を示す流れ図である。
【図７】第２の実施の形態による開札動作の一例を示す流れ図である。
【図８】第３の実施の形態による電子入札システムの構成例を示すブロック図である。
【図９】第３の実施の形態による入札動作の一例を示す流れ図である。
【図１０】第３の実施の形態による検証動作の一例を示す流れ図である。
【図１１】第４の実施の形態による電子入札システムの構成例を示すブロック図である。
【図１２】本実施例におけるＩＢＥ公開鍵生成動作の一例を示す流れ図である。
【図１３】本実施例における入札動作の一例を示す流れ図である。
【図１４】本実施例における開札動作の一例を示す流れ図である。
【図１５】本実施例における開札動作のうちの部分開札データ生成の動作例を示す流れ図である。
【図１６】第２の実施例におけるＩＢＥ公開鍵生成動作の一例を示す流れ図である。
【図１７】第２の実施例における開札動作の一例を示す流れ図である。
【図１８】第２の実施例における開札動作のうちの開札データ合成の動作例を示す流れ図である。
【図１９】第３の実施例における入札動作の一例を示す流れ図である。
【図２０】第３の実施例における検証動作の一例を示す説明図である。
【図２１】第５の実施例におけるＩＢＥ公開鍵生成動作の一例を示す流れ図である。
【図２２】第５の実施例における入札動作の一例を示す流れ図である。
【図２３】第５の実施例における開札動作の一例を示す流れ図である。
【図２４】第５の実施例における開札動作のうちの部分開札データ生成の動作例を示す流れ図である。
【図２５】第６の実施例におけるＩＢＥ公開鍵生成動作の一例を示す流れ図である。
【図２６】第６の実施例における開札動作の一例を示す流れ図である。
【図２７】第６の実施例における開札動作のうちの開札データ合成の動作例を示す流れ図である。
【図２８】第７の実施例における入札動作の一例を示す流れ図である。
【図２９】第７の実施例における検証動作の一例を示す説明図である。
【符号の説明】
【００２８】
１００  部分開札装置
１０１  送受信部
１０２  部分秘密鍵生成手段
１０３  部分秘密鍵格納装置
１０４  部分公開鍵生成手段
１０５  部分開札データ生成手段
２００  ＩＢＥ公開鍵生成装置
２０１  送受信部
２０２  ＩＢＥ公開鍵生成手段
３００  入札装置
３０１  送受信部
３０２  ＩＢＥ暗号化手段
４００  開札装置
４０１  送受信部
４０２  暗号入札データ記憶装置
４０３  落札値候補決定手段
４０４  開札データ生成手段
４０５  ＩＢＥ復号手段
４０６  判定手段
３２３  入札値知識証明手段
５２０  入札値知識証明検証装置
５２１  送受信部
５２２  入札値知識証明付き暗号入札データ記憶装置
５２３  検証手段
【発明を実施するための最良の形態】
【００２９】
実施の形態１．
まず、本発明の概要を説明する。本発明は、電子入札において、入札価格を秘匿にするための暗号化にＩＤベース暗号方式（Identity-Based Encryption ，ＩＢＥ）を用いることを特徴とする。ＩＤベース暗号方式とは、発信者側で、例えば受信者の電子メールアドレスや会員番号などの固有のＩＤを用いて公開鍵を生成し、その公開鍵を用いてメッセージを暗号化することができる暗号方式である。本発明では、入札値（入札価格を示す値）をＩＤとして用いることによって、より安全で効率のよい電子入札を実現する。【００３０】
つまり、入札値をＩＤとするＩＤベース暗号方式を用いることによって、入札者側が自身の入札値を用いて公開鍵を生成することができるため、開札者側が入札価格に対応する公開鍵のリストを公開する必要がなく、効率のよい電子入札が可能となる。【００３１】
また、本発明が用いるＩＤベース暗号方式として、例えば、文献「D.Boneh and M.Franklin, "Identity-Based Encryption from the Weil Pairing", SLAM J. of Computing, 2003, Vol.32, No.3, pp.586-615」（非特許文献２）に記載されているＩＤベース暗号方式（以下、Ｂｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式という。）を用いることができる。Ｂｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式は、ペアリングを用いたＩＤベース暗号方式であって、ランダムオラクルと呼ばれる理想的なハッシュ関数の存在を仮定し、さらに数学的な仮定をおくことにより安全性を証明できるＩＤベース暗号方式である。【００３２】
このＢｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式では、暗号文から暗号化に用いた公開鍵に関する情報が漏洩しないという安全性証明が数学的に可能である。従って、入札値をＩＤとするＢｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式を用いて生成した公開鍵を用いて暗号化した暗号文を入札することによって、入札値に関する情報が漏れないという価格秘匿性が証明できる。【００３３】
また、本発明においては、非特許文献２に記載のＢｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式だけでなく、例えば、文献「D.Boneh and X.Boyen, "Secure Identity Based Enctyption Without Random Oracles", CRYPTO2004, Lecture Notes in Computer Science, 2004, No.3152, pp.443-459」（非特許文献３）に記載されているＩＤベース暗号方式（以下、Ｂｏｎｅｈ−ＢｏｙｅｎＩＢＥ方式という。）も利用可能である。Ｂｏｎｅｈ−ＢｏｙｅｎＩＢＥ方式は、同じくペアリングを用いたＩＤベース暗号方式であって、Ｂｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式に比べて安全性が依拠している数学的な仮定が強いが、理想的なハッシュ関数であるランダムオラクルの存在を仮定しないで安全性を証明できるＩＤベース暗号方式である。なお、上記で示した２つのＩＤベース暗号方式に限らず、暗号文から暗号化に用いた公開鍵に関する情報が漏洩しないという安全性証明が数学的に可能なＩＤベース暗号方式であれば、他のＩＤベース暗号方式であってもよい。【００３４】
さらに、本発明は、復号に必要な”秘密”を示す復号用秘密情報を複数の装置に分散させて管理することが可能な電子入札方法を提案する。なお、このような電子入札を実現するためには、上記で示したＩＤベース暗号方式の性質に加えて、分散復号（group decryption）が可能であるという性質を満たすＩＤベース暗号方式を用いることが条件となる。ここで、「分散復号が可能」とは、復号用秘密情報を複数で分散して生成することができ、かつ分散された復号用秘密情報のうち、予め定められた充足数（例えば、１０あるうちの７つ）を用いれば復号処理を行うことができる暗号理論上の性質をいう。なお、上記で示した２つのＩＤベース暗号方式は、いずれも分散復号が可能なＩＤベース暗号方式である。【００３５】
本発明では、開札者側が、複数の部分開札装置が生成した部分秘密鍵に対応する部分公開鍵を所定の合成条件に基づいて合成したＩＢＥ公開鍵を暗号化に用いるパラメータとして公開し、入札者側が、そのＩＢＥ公開鍵と入札価格とを用いて所定の入札用メッセージを暗号化することによって分散復号を実現する。ここで、部分秘密鍵とは、各装置が任意性を持って定めた復号用秘密情報に基づいて生成される分散された秘密鍵（復号用秘密情報そのままである場合も含む。）をいう。任意性とは、各部分開札装置が部分秘密鍵を生成する際に用いるパラメータの少なくとも１つを無作為に抽出することが可能な性質をいう。また、部分公開鍵とは、部分秘密鍵に対応する情報であってＩＢＥ公開鍵の元となる情報である。また、ＩＢＥ公開鍵とは、部分開札装置が生成した部分秘密鍵を用いて復号するために必要な情報であって、開札者側から入札前に公開される暗号方式に関するパラメータである。また、ＩＢＥ公開鍵を生成するための合成条件（以下、ＩＢＥ公開鍵の合成条件という。）とは、分散復号の充足数を満たす部分秘密鍵を用いて、暗号化した入札用メッセージの復号演算を分散して行うことを可能とする数学理論上の演算条件をいう。なお、具体的なＩＢＥ公開鍵の合成条件は、ＩＤベース暗号方式の暗号理論に依存する。【００３６】
また、開札時には、開札者側が、分散復号の充足数を満たす部分開札装置に部分秘密鍵にかかる復号演算を行わせて、結果出力されるデータ（以下、部分開札データという。）を合成することによって完全な復号結果を得る。このようにして復号用秘密情報を分散して管理することによって、不正に落札値以外の入札値を求める行為をより効果的に防止することができる。つまり、不正に落札値以外の入札値を確認しようとした場合、攻撃者は、入札値のとりうる値に対して改めて必要な部分開札データを全て取得した上で合成しなければ、他の入札者の入札値を完全には確認することができない。従って、１つの装置で復号用秘密情報を管理する場合に比べて、不正に必要な部分開札データを取得する点およびそれらを正しく合成する点の困難性において、不正に落札値以外の入札値を求める行為を防止できる。【００３７】
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明による電子入札システムの構成例を示すブロック図である。図１に示す電子入札システムは、１つ以上の部分開札装置１００−１〜ｎ（ｎは部分開札装置の数に対応する数値）と、ＩＢＥ公開鍵生成装置２００と、入札装置３００と、開札装置４００とを備える。なお、各装置は、通信ネットワーク（例えば、インターネットや専門回線）を介して接続される。また、図１では、１つの入札装置３００を示しているが、入札装置３００は、例えば入札者の数に応じて、複数存在してもよい。なお、複数の入札者がいる場合であっても、ログイン時にユーザＩＤ等を入力させることによって、１つの入札装置３００で各入札者に応じた入札を行うことも可能である。また、図１において破線で囲まれたデータは、各装置に公開されるデータを示している（予め記憶装置に記憶される場合も含む）。【００３８】
部分開札装置１００−１は、主に部分秘密鍵を管理して部分秘密鍵にかかる復号演算を行う情報処理装置（例えば、パーソナルコンピュータ）であって、送受信部１０１−１と、部分秘密鍵生成手段１０２−１と、部分秘密鍵格納装置１０３−１と、部分公開鍵生成手段１０４−１と、部分開札データ生成手段１０５−１とを有する。送受信部１０１−１は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。部分秘密鍵生成手段１０２−１は、公開パラメータに基づいて部分秘密鍵を生成する。【００３９】
ここで、公開パラメータとは、開札者側から事前に公開される入札に必要な情報であって、入札に関する情報と暗号方式に関する情報とを含む情報である。入札に関する情報とは、少なくとも入札可能価格と入札用メッセージとを含む情報であって、必要に応じて入札時期などを含めてもよい。入札可能価格として、例えば、入札値のとりうる値をリスト化してもよいし、入札値のとりうる値によっては入札価格の最小値と最大値と上がり幅とを指定してもよい。また、暗号方式に関する情報とは、暗号化および復号の計算に必要なパラメータ（例えば、セキュリティパラメータ）であって、用いるＩＤベース暗号方式によって異なる。【００４０】
部分秘密鍵格納装置１０３−１は、部分秘密鍵生成手段１０２−１が生成した部分秘密鍵−１を記憶する。部分公開鍵生成手段１０４−１は、部分秘密鍵生成手段１０２−１が生成した部分秘密鍵−１および公開パラメータに基づいて、部分秘密鍵−１に対応する部分公開鍵−１を生成し、ＩＢＥ公開鍵生成装置２００に送信する。部分開札データ生成手段１０５−１は、部分秘密鍵格納装置１０３−１に記憶された部分秘密鍵−１を用いて各入札者の暗号化された入札用メッセージ（以下、暗号入札データという。）の開札処理を行い、部分開札データ−１を生成する。ここで、開札処理とは、暗号入札データから入札値を得るために行う復号演算をいう。また、部分開札データは、既に説明したように、部分秘密鍵を用いた開札処理の結果出力されるデータである。【００４１】
なお、ここでは部分開札装置１００−１について説明したが、他の部分開札装置についても同様である。以下、全部分開札装置に共通な事項を説明する場合には、例えば、”部分開札装置１００”のように、”−”以下を省略して表現する場合がある。なお、図１に示す構成において、部分秘密鍵生成手段１０２、部分公開鍵生成手段１０４および部分開札データ生成手段１０５は、プログラムに従って動作する部分開札装置１００のＣＰＵによって実現される。送受信部１０１は、プログラムに従って動作する部分開札装置１００のＣＰＵと、ハードウェアの通信装置とによって実現される。部分秘密鍵格納装置１０３は、部分開札装置１００の記憶装置によって実現される。【００４２】
ＩＢＥ公開鍵生成装置２００は、部分開札装置１００によって分散して管理されている部分公開鍵からＩＢＥ公開鍵を生成して公開する情報処理装置（例えば、パーソナルコンピュータ）であって、送受信部２０１と、ＩＢＥ公開鍵生成手段２０２とを有する。送受信部２０１は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。ＩＢＥ公開鍵生成手段２０２は、公開パラメータおよび部分開札装置１００−１〜ｎが生成した部分公開鍵−１〜ｎに基づいて、ＩＢＥ公開鍵を生成する。ここでＩＢＥ公開鍵とは、既に説明したように、分散復号を可能とするＩＢＥ公開鍵の合成条件に従って部分公開鍵−１〜ｎを合成した、暗号方式に関するパラメータの一つである。【００４３】
なお、図１に示す構成において、ＩＢＥ公開鍵生成手段２０２は、プログラムに従って動作するＩＢＥ公開鍵生成装置２００のＣＰＵによって実現される。送受信部２０１は、プログラムに従って動作するＩＢＥ公開鍵生成装置２００のＣＰＵと、ハードウェアの通信装置とによって実現される。【００４４】
入札装置３００は、入札者が入札を行うために用いる情報処理装置（例えば、パーソナルコンピュータ）であって、送受信部３０１と、ＩＢＥ暗号化手段３０２とを有する。送受信部３０１は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。ＩＢＥ暗号化手段３０２は、公開パラメータとＩＢＥ公開鍵生成装置２００が生成したＩＢＥ公開鍵と入札者から入力される入札値とに基づいて、暗号入札データを生成する。なお、図１に示す構成において、ＩＢＥ暗号化手段３０２は、プログラムに従って動作する入札装置３００のＣＰＵによって実現される。送受信部３０１は、プログラムに従って動作する入札装置３００のＣＰＵと、ハードウェアの通信装置とによって実現される。なお、入札装置３００の機能を実現するためのプログラムは、入札装置３００が備える記憶装置に記憶されるプログラムだけでなく、例えば、入札を行うための入札サイトを提供しているＷｅｂサーバにアクセスすることによってダウンロードされ実行されるクライアント側アプリケーションプログラムであってもよい。【００４５】
開札装置４００は、入札装置３００から送られる暗号入札データを開札して落札値および落札者を決定する情報処理装置（例えば、パーソナルコンピュータ）であって、送受信部４０１と、暗号入札データ記憶装置４０２と、落札値候補決定手段４０３と、開札データ生成手段４０４と、ＩＢＥ復号手段４０５と、判定手段４０６とを有する。送受信部４０１は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。暗号入札データ記憶装置４０２は、入札装置３００から送られる暗号入札データを記憶する。【００４６】
落札値候補決定手段４０３は、暗号入札データを開札する際に、落札値の候補とする入札値（以下、落札値候補という。）を決定する。開札データ生成手段４０４は、部分秘密鍵にかかる復号演算に必要なデータを各部分開札装置１００に送信し、各部分開札装置１００から送られる部分開札データをＩＢＥ公開鍵の合成条件に応じて定まる合成条件に基づき合成して開札データを生成する。ＩＢＥ復号手段４０５は、開札データ生成手段４０４が生成した開札データに基づいて各暗号入札データを復号し、結果を復号データリストとしてまとめる。判定手段４０６は、ＩＢＥ復号手段４０５から出力される復号データリストに基づいて落札値候補が落札値となりうるか否かを判定する。【００４７】
なお、図１に示す構成において、暗号入札データ記憶装置４０２は、開札装置４００の記憶装置によって実現される。落札値候補決定手段４０３、開札データ生成手段４０４、ＩＢＥ復号手段４０５および判定手段４０６は、開札装置４００のＣＰＵによって実現される。送受信部４０１は、開札装置４００のＣＰＵと、ハードウェアの通信装置とによって実現される。【００４８】
次に、本実施の形態における電子入札システムの動作について説明する。本実施の形態における電子入札システムの動作は、大きく分けて、入札を実施する前にＩＢＥ公開鍵を生成するＩＢＥ公開鍵生成動作と、入札者から入力される入札値に基づいて暗号化した暗号入札データを開札者側へ送信する入札動作と、受信した暗号入札データを復号し落札値を決定する開札動作とに分かれる。なお、本システムが備える各装置には事前に公開パラメータが入力されているものとする。例えば、各装置が備える記憶装置に予め記憶しておいてもよいし、開札を行う事業者から予め記憶媒体（例えば、ＣＤ−ＲＯＭ）に記憶されて配布される場合には、その記憶媒体から読み込んでもよい。また、所定のタイミング（起動時や各動作の開始時）または所有者の指示に応じて通信ネットワークを介して公開パラメータを管理している管理装置（ＩＢＥ公開鍵生成装置や開札装置であってもよい）にアクセスして受信してもよい。【００４９】
まず、ＩＢＥ公開鍵生成動作について図２を参照して説明する。図２は、本実施の形態によるＩＢＥ公開鍵生成動作の一例を示す流れ図である。ここでは、復号用秘密情報を分散させて管理するために、部分開札装置１００が複数存在する場合を例にとって説明する。部分開札装置１００−１〜ｎおよびＩＢＥ公開鍵生成装置２００には、それぞれ公開パラメータが入力されている（ステップＡ１００）。まず、部分開札装置１００−１〜ｎが動作する。以下、部分開札装置１００−１を例にとって説明する。【００５０】
まず、部分秘密鍵生成手段１０２−１は、公開パラメータを入力として、部分秘密鍵−１を生成する（ステップＡ２００−１）。部分秘密鍵生成手段１０２−１は、公開パラメータを用いて、例えば、ＩＤベース暗号方式に応じた暗号理論に基づいて抽出または計算することによって部分秘密鍵−１を生成する。なお、具体的な生成方法はＩＤベース暗号方式によって異なる。また、部分秘密鍵生成手段１０２−１は、生成した部分秘密鍵−１を部分秘密鍵格納装置１０３−１に格納する。【００５１】
次に、部分公開鍵生成手段１０４−１は、公開パラメータおよび部分秘密鍵生成手段１０２−１が生成した部分秘密鍵−１を入力として、部分公開鍵−１を生成する（ステップＡ３００−１）。部分公開鍵生成手段１０４−１は、公開パラメータおよび部分秘密鍵−１を用いて、例えば、ＩＤベース暗号方式に応じた暗号理論に基づいて計算することによって、部分秘密鍵−１に対応する部分公開鍵−１を生成する。なお、具体的な生成方法はＩＤベース暗号方式によって異なる。また、部分公開鍵生成手段１０４−１は、送受信部１０１を通じて、生成した部分公開鍵−１をＩＢＥ公開鍵生成装置２００に送信する（ステップＡ４００−１）。【００５２】
他の部分開札装置も同様に動作する。例えば、部分開札装置１００−ｎの部分秘密鍵生成手段１０２−ｎは、公開パラメータを入力として、部分秘密鍵−ｎを生成し（ステップＡ２００−ｎ）、部分秘密鍵格納装置１０３−ｎに格納する。次に、部分公開鍵生成手段１０４−ｎは、公開パラメータおよび部分秘密鍵−ｎを入力として、部分公開鍵−ｎを生成し（ステップＡ３００−ｎ）、ＩＢＥ公開鍵生成装置２００に送信する（ステップＡ４００−ｎ）。【００５３】
また、ＩＢＥ公開鍵生成装置２００は、部分開札装置１００−１〜ｎから部分公開鍵−１〜ｎを受信する。ＩＢＥ公開鍵生成装置２００のＩＢＥ公開鍵生成手段２０２は、公開パラメータおよび受信した部分公開鍵−１〜ｎを入力として、ＩＢＥ合成鍵を生成する（ステップＡ５００）。ＩＢＥ公開鍵生成手段２０２は、公開パラメータと部分公開鍵−１〜ｎとを用いて、例えば、ＩＤベース暗号方式に応じたＩＢＥ公開鍵の合成条件に基づいて計算することによって、ＩＢＥ公開鍵を生成する。なお、具体的な生成方法はＩＤベース暗号方式によって異なる。例えば、Ｂｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式を用いる場合には、各部分公開鍵を掛け合わせることによって、分散復号を可能とするＩＢＥ公開鍵を生成することができる。【００５４】
また、ＩＢＥ公開鍵生成手段２０２は、生成したＩＢＥ公開鍵を公開する（ステップＡ６００）。例えば、ＩＢＥ公開鍵生成手段２０２は、送受信部２０１を通じて、入札装置３００および開札装置４００にＩＢＥ公開鍵を送信することによって公開してもよい。または、ＩＢＥ公開鍵を配信するための専用Ｗｅｂサイトを提供することによって公開することも可能である。また、開札者が配布可能なようにＩＢＥ公開鍵を印刷したり、記憶媒体などに記憶することによって公開することも可能である。【００５５】
なお、復号用秘密情報を分散管理しない場合、つまり部分開札装置１００が１つである場合には、部分公開鍵−１のみを用いてＩＢＥ公開鍵を生成する。【００５６】
次に、入札動作について図３を参照して説明する。図３は、本実施の形態による入札動作の一例を示す流れ図である。入札装置３００には、公開パラメータとＩＢＥ公開鍵と入札値とが入力されている（ステップＢ１００）。ＩＢＥ公開鍵は、ＩＢＥ公開鍵生成動作において説明したように、ＩＢＥ公開鍵生成装置２００から受信してもよい。また、ＩＢＥ公開鍵生成装置２００が専用Ｗｅｂサイトを提供する場合には、専用Ｗｅｂサイトにアクセスして受信してもよい。また、記憶媒体から読み込んでもよいし、入力画面を表示することによって、紙などに印刷されているＩＢＥ公開鍵を入札者に入力させてもよい。また、入札値は、例えば、入力画面を表示することによって入札者に入力させる。【００５７】
まず、入札装置３００のＩＢＥ暗号化手段３０２は、公開パラメータとＩＢＥ公開鍵と入札値とを入力として、暗号入札データを生成する（ステップＢ２００）。ＩＢＥ暗号化手段３０２は、公開パラメータとＩＢＥ公開鍵と入札値とを用いて、例えば、ＩＤベース暗号方式に応じた暗号理論に基づいて計算することによって、暗号入札データを生成する。ＩＢＥ暗号化手段３０２は、例えば、公開パラメータとＩＢＥ公開鍵と入札値とを用いて入札値に対応する公開鍵を生成し、生成した公開鍵を用いて入札用メッセージを暗号化することによって暗号入札データを生成する。また、ＩＢＥ暗号化手段３０２は、送受信部３０１を通じて、生成した暗号入札データを開札装置４００に送信する（ステップＢ３００）。【００５８】
開札装置４００は、入札装置３００から暗号入札データを受信する。開札装置４００は、受信した暗号入札データを入札者がわかるように（例えば、入札者を示す情報と対応づけて）、暗号入札データ記憶装置４０２に記憶する。【００５９】
次に、開札動作について図４を参照して説明する。図４は、本実施の形態による開札動作の一例を示す流れ図である。開札装置４００には、公開パラメータとＩＢＥ公開鍵と全入札者の暗号入札データとが入力されている（ステップＣ１００）。全入札者の暗号入札データは、入札動作において説明したように、開札装置４００が備える暗号入札データ記憶装置４０２に記憶されている。【００６０】
まず、開札装置４００の落札値候補決定手段４０３は、落札値候補を決定する（ステップＣ２００）。落札値候補の決定は、復号を行う復号鍵を選択する行為に相当する。ここでは、落札条件に最も近い値から順に復号を試みる場合を例にとって説明する。落札値候補決定手段４０３は、例えば、入札可能価格のうち最大値を最初の落札値候補に決定する。【００６１】
次に、開札データ生成手段４０４は、部分開札装置が部分秘密鍵を用いた開札処理を行うために必要なデータを開札処理用データとしてまとめて、部分開札装置１００−１〜ｎに送信する（ステップＣ３００）。開札処理用データには、少なくとも落札値候補決定手段４０３が決定した落札値候補と全入札者の暗号入札データ（の一部を抽出する場合もある）とが含まれる。なお、ここでは部分開札装置１００−１〜ｎに送信すると説明したが、分散復号の充足数を満たす数の部分開札装置１００だけに送信することも可能である。また、復号用秘密情報を分散管理しない場合、つまり部分開札装置１００が１つである場合には、部分開札装置１００−１にだけ送信すればよい。ここでは、分散復号の充足数がｎ（全て部分開札装置が必要）である場合を例にとって説明する。【００６２】
部分開札装置１００−１〜ｎは、開札処理用データをそれぞれ受信する。開札処理用データを受信した部分開札装置１００−１〜ｎは、それぞれ次に示すように動作する。以下、部分開札装置１００−１を例にとって説明する。部分開札装置１００−１の部分開札データ生成手段１０５−１は、受信した開札処理用データ（落札値候補と全入札者の暗号入札データ）と公開パラメータとＩＢＥ公開鍵と部分秘密鍵格納装置１０３−１に記憶してある部分秘密鍵−１とを入力として、部分開札データ−１を生成し、開札装置４００に送信する（ステップＣ４００−１，Ｃ５００−１）。部分開札データ生成手段１０５−１は、落札値候補と全入札者の暗号入札データと公開パラメータとＩＢＥ公開鍵と部分秘密鍵−１とを用いて、例えば、ＩＤベース暗号方式に応じた暗号理論に基づいて計算することによって、暗号入札データ毎の落札値候補に対応する部分秘密鍵にかかる復号演算の結果を示す部分開札データ−１を生成する。【００６３】
他の部分開札装置も同様に動作する。例えば、部分開札装置１００−ｎの部分開札データ生成手段１０５−ｎは、受信した開札処理用データ（落札値候補と全入札者の暗号入札データ）と公開パラメータとＩＢＥ公開鍵と部分秘密鍵格納装置１０３−ｎに記憶してある部分秘密鍵−ｎとを入力として、部分開札データ−ｎを生成し、開札装置４００に送信する（ステップＣ４００−ｎ，Ｃ５００−ｎ）。【００６４】
開札装置４００は、部分開札装置１００−１〜ｎから部分開札データ−１〜ｎを受信する。開札装置４００の開札データ生成手段４０４は、受信した部分開札データ−１〜ｎと、公開パラメータとＩＢＥ公開鍵と暗号入札データ記憶装置４０２に記憶されている全入札者の入札データとを入力として、開札データを生成する（ステップＣ６００）。ここで、開札データとは、部分開札装置が生成した部分開札データを合成したデータであって、暗号入札データ毎の落札値候補に対応する秘密鍵にかかる復号演算の結果を示すデータである。開札データ生成手段４０４は、部分開札データ−１〜ｎと公開パラメータとＩＢＥ公開鍵と全入札者の入札データとを用いて、例えば、ＩＤベース暗号方式に応じた分散復号の合成条件に基づいて計算することによって、開札データを生成する。なお、ここでは全ての部分開札データを用いると説明したが、既に説明したように、分散復号の充足数を満たす数の部分開札データを用いて開札データを生成することも可能である。また、復号用秘密情報を分散管理しない場合、つまり部分開札装置１００が１つである場合には、部分開札データ−１がそのまま開札データとなる。【００６５】
次に、ＩＢＥ復号手段４０５は、開札データ生成手段４０４が生成した開札データと公開パラメータとＩＢＥ公開鍵と全暗号入札データとを入力として、全暗号入札データを復号し、復号データリストを生成する（ステップＣ７００）。ここで、復号データリストとは、開札データを用いて各暗号入札データに復号処理を行った結果出力される復号データをリスト化したものをいい、各暗号入札データをそれぞれ、落札値候補に対応する秘密鍵を用いて完全に復号した状態を示す復号データの集合（全入札者分）をいう。ＩＢＥ復号手段４０５は、開札データと公開パラメータとＩＢＥ公開鍵と全入札者の暗号入札データとを用いて、例えば、ＩＤベース暗号方式に応じた暗号理論に基づいて計算することによって、復号データを生成する。【００６６】
次に、判定手段４０６は、公開パラメータと復号データリストとを入力として、復号データリストの中に、正しい形式をした復号データが存在するか否かを判定する（ステップＣ８００）。判定手段４０６は、具体的には、復号データと公開パラメータに含まれる入札用メッセージとが一致する場合に正しい形式であると判定する。正しい形式をした復号データが存在する場合には、判定手段４０６は、その復号データの復号に用いた落札値候補を落札値と決定する（ステップＣ９００）。なお、正しい形式に復号された復号データの入札者が落札者となる。例えば、同じ入札値が複数入札された場合であっても、入札者ごとに復号データを生成するため、正しく落札者を決定することができる。【００６７】
また、正しい形式をしたデータが存在しなかった場合には、落札値候補を入札値とした入札者がいなかったとして、落札値候補を更新して落札値が決定するまで復号処理（ステップＣ３００〜Ｃ７００）を繰り返す（ステップＣ２００に戻る）。なお、ここでは落札値が決定するまで繰り返すと説明したが、例えば、落札者が複数ありうる場合には、落札者が全て決定されるまで繰り返す。【００６８】
本実施の形態によれば、入札価格を秘匿にするための暗号化に入札値をＩＤとするＩＤベース暗号方式を用いているため、公開パラメータに入札価格に対応する公開鍵のリストを含める必要がない。それは、入札装置３００が入札者から入力される入札値を用いて、入札値に対応する公開鍵を生成することができるからである。さらに、開札に用いる部分秘密鍵を部分開札装置が分散して記憶するので、不正に落札値以外の入札値を求める行為を防止できる。【００６９】
また、入札値に対応する公開鍵を用いて公開している入札用メッセージを暗号化しているので、落札値よりも落札条件に近い入札可能値に対応する復号鍵で全入札者の暗号入札データを復号した結果が正しい形式をしていなかったことを証明することにより、開札の正当性を証明することができる。例えば、入札を締め切った時点で、全入札者の暗号入札データを公開しておき、落札値が決定した際には、落札値よりも落札条件に近い入札可能値に対応する復号鍵を全て公開することによって、誰もが全入札者の暗号入札データの復号を試すことができるので、落札値よりも落札条件に近い入札値が入札されていなかったことを検証できる。【００７０】
例えば、最大の入札値を落札値とする場合には、入札可能値のうち落札値より大きな値に対応する復号鍵を全て公開することで正当性を証明できる。同様に、例えば最小の入札値を落札値とする場合には、入札可能値のうち落札値より小さな値に対応する復号鍵を全て公開することで正当性を証明できる。なお、落札値に対応する復号鍵を公開して、落札者の暗号入札メッセージが正しく復号されるかを検証させることも可能である。【００７１】
実施の形態２．
次に、本発明の第２の実施の形態を図面を参照して説明する。図５は、第２の実施の形態による電子入札システムの構成例を示すブロック図である。図５に示す電子入札システムは、１つ以上の部分開札装置１１０−１〜ｎ（ｎは部分開札装置の数に対応する数値）と、入札装置３００と、開札装置４１０とを備える。なお、各装置は、通信ネットワーク（例えば、インターネットや専門回線）を介して接続される。図５に示す電子入札システムは、図１に示す第１の実施の形態に比べて、ＩＢＥ公開鍵生成装置２００が省略されている点が異なる。また、部分開札装置１１０および開札装置４１０も、一部第１の実施の形態と異なる。なお、入札装置３００は第１の実施の形態と同様である。入札装置３００は、第１の実施の形態と同様に、例えば入札者の数に応じて複数存在してもよい。また、図５においても破線で囲まれたデータは、各装置に公開されるデータを示している。【００７２】
本実施の形態では、分散復号にかかる合成処理であるＩＢＥ公開鍵と開札データの合成演算を、部分開札装置１１０が前の拠点から次の拠点へ受け渡しながら逐次的に行う。部分開札装置１１０−１〜ｎは、それぞれ送受信部１０１と、部分秘密鍵生成手段１０２と、部分秘密鍵格納装置１０３と、部分公開鍵生成手段１１４と、部分開札データ生成手段１１５とを有する。ここでは、部分公開鍵生成手段１１４および部分開札データ生成手段１１５が第１の実施の形態と異なる。【００７３】
本実施の形態において、部分公開鍵生成手段１１４は、部分秘密鍵生成手段１０２が生成した部分秘密鍵および公開パラメータに基づいて、部分秘密鍵に対応する部分公開鍵を生成する。部分公開鍵生成手段１１４は、前の拠点の部分開札装置１１０から送られてくるＩＢＥ公開鍵と自身が生成した部分公開鍵とを合成することによってＩＢＥ公開鍵を更新し、次の拠点の部分開札装置１１０へ送信する。なお、最初の拠点として設置されている場合には、生成した部分公開鍵をそのままＩＢＥ公開鍵として次の拠点へ送信する。また、最後の拠点として設置されている場合には、更新したＩＢＥ公開鍵を公開する。つまり、部分公開鍵生成手段１１４は、前の拠点から次の拠点へ順に受け渡しながら、部分公開鍵を逐次的に合成していくことで、ＩＢＥ公開鍵を生成する。なお、ＩＢＥ合成鍵の合成条件は、第１の実施の形態と同様である。【００７４】
また、部分開札データ生成手段１１５も部分公開鍵生成手段１１４と同様に、前の拠点から次の拠点へ順に受け渡しながら、部分開札データを逐次的に合成していくことで、開札データを生成する。なお、部分開札データ生成手段１１５の場合は、最後の拠点にて最終的に更新した開札データを開札装置４１０に送信する。なお、図５に示す構成において、部分公開鍵生成手段１１４および部分開札データ生成手段１１５は、プログラムに従って動作する部分開札装置１１０のＣＰＵによって実現される。【００７５】
また、開札装置４１０は、送受信部４０１と、暗号入札データ記憶装置４０２と、落札値候補決定手段４０３と、開札データ生成手段４１４と、ＩＢＥ復号手段４０５と、判定手段４０６とを有する。ここでは、開札データ生成手段４１４が、部分開札装置１１０によって開札データが逐次的に合成されることに起因して、第１の実施の形態と異なる。開札データ生成手段４１４は、部分秘密鍵を用いた開札処理に必要なデータを最初の拠点となる部分開札装置１１０に送信し、また、最後の拠点となる部分開札装置１１０から送られる開札データを受信することによって開札データを生成する。なお、図５に示す構成において、開札データ生成手段４１４は、プログラムに従って動作する開札装置４１０のＣＰＵによって実現される。【００７６】
次に、本実施の形態における電子入札システムの動作について説明する。本実施の形態における電子入札システムの動作は、第１の実施の形態と同様、大きく分けて、ＩＢＥ公開鍵生成動作と入札動作と開札動作とに分かれる。なお、本実施の形態の入札動作は、第１の実施の形態と同様であるため、説明省略している。また、各装置には、第１の実施の形態と同様に、事前に公開パラメータが入力されているものとする。【００７７】
まず、ＩＢＥ公開鍵生成動作について図６を参照して説明する。図６は、第２の実施の形態によるＩＢＥ公開鍵生成動作の一例を示す流れ図である。ここでは、復号用秘密情報を分散管理するために、部分開札装置１１０が複数存在する場合であって、部分開札装置１１０が、ＩＢＥ公開鍵と開札データとをそれぞれ逐次的に合成する場合を例にとって説明する。その際、部分開札装置１１０−１が１番目，部分開札装置１１０−２が２番目，・・・，部分開札装置１１０−ｎがｎ番目の拠点として設置されているものとする。【００７８】
部分開札装置１１０−１〜ｎには、それぞれ公開パラメータが入力されている（ステップＡ１１０）。部分開札装置１１０−１〜ｎは、それぞれ次に示すように動作する。まず、部分開札装置１１０−１が動作する。部分開札装置１１０−１の部分秘密鍵生成手段１０２−１は、第１の実施の形態と同様に、公開パラメータを入力として、部分秘密鍵−１を生成し（ステップＡ２１０−１）、部分秘密鍵格納装置１０３−１に格納する。次に、部分公開鍵生成手段１１４−１は、第１の実施の形態と同様に、公開パラメータおよび部分秘密鍵生成手段１０２−１が生成した部分秘密鍵−１を入力として、部分公開鍵−１を生成する（ステップＡ３１０−１）。ここで、部分公開鍵生成手段１１４−１は、部分開札装置１１０−１が最初の拠点であることから、生成した部分公開鍵−１をＩＢＥ公開鍵−１として、次の拠点である部分開札装置１１０−２に送信する（ステップＡ４１０−１）。【００７９】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１からＩＢＥ公開鍵−１を受信する。部分開札装置１１０−２の部分秘密鍵生成手段１０２−２は、部分開札装置１１０−１と同様に、公開パラメータを入力として、部分秘密鍵−２を生成し（ステップＡ２１０−２）、部分秘密鍵格納装置１０３−２に格納する。部分公開鍵生成手段１１４−２も部分開札装置１１０−１と同様に、公開パラメータおよび部分秘密鍵生成手段１０２−２が生成した部分秘密鍵−２を入力として、部分公開鍵−２を生成する（ステップＡ３１０−２）。【００８０】
ここで、部分公開鍵生成手段１１４−２は、部分開札装置１１０−２が２番目以降の拠点であることから、前の拠点である部分開札装置１１０−１から受信したＩＢＥ公開鍵−１に部分公開鍵−２を合成してＩＢＥ公開鍵−２を生成し、次の拠点である部分開札装置１１０−３に送信する（ステップＡ４１０−２）。部分公開鍵生成手段１１４−２は、受信したＩＢＥ公開鍵−１と生成した部分公開鍵−２とを用いて、例えば、ＩＤベース暗号方式に応じたＩＢＥ公開鍵の合成条件に基づいて計算することによって、ＩＢＥ公開鍵−２を生成する。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【００８１】
部分開札装置１１０−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）からＩＢＥ公開鍵−（ｎ−１）を受信する。部分開札装置１１０−ｎの部分秘密鍵生成手段１０２−ｎは、部分開札装置１１０−１と同様に、公開パラメータを入力として、部分秘密鍵−ｎを生成し（ステップＡ２１０−ｎ）、部分秘密鍵格納装置１０３−ｎに格納する。次に、部分公開鍵生成手段１１４−ｎは、部分開札装置１１０−１と同様に、公開パラメータおよび部分秘密鍵生成手段１０２−ｎが生成した部分秘密鍵−ｎを入力として、部分公開鍵−ｎを生成する（ステップＡ３１０−ｎ）。【００８２】
ここで、部分公開鍵生成手段１１４−ｎは、部分開札装置１１０−ｎが最後の拠点であることから、前の拠点である部分開札装置１１０−（ｎ−１）から受信したＩＢＥ公開鍵−（ｎ−１）に部分公開鍵−ｎを合成してＩＢＥ公開鍵−ｎを生成し、生成したＩＢＥ公開鍵−ｎをＩＢＥ公開鍵として公開する（ステップＡ４１０−ｎ）。例えば、部分公開鍵生成手段１１４−ｎは、送受信部１０１−ｎを通じて、入札装置３００および開札装置４１０にＩＢＥ公開鍵を送信することによって公開してもよい。または、ＩＢＥ公開鍵を配信するための専用Ｗｅｂサイトを提供することによって公開してもよい。また、開札者が配布可能なようにＩＢＥ公開鍵を印刷したり、または記憶媒体などに記憶することによって公開することも可能である。【００８３】
次に、開札動作について図７を参照して説明する。図７は、第２の実施の形態による開札動作の一例を示す流れ図である。開札装置４１０には、公開パラメータとＩＢＥ公開鍵と全入札者の暗号入札データとが入力されている（ステップＣ１１０）。まず、開札装置４１０の落札値候補決定手段４０３は、第１の実施の形態と同様に、落札値候補を決定する（ステップＣ２１０）。落札値候補決定手段４０３は、例えば、入札可能価格のうち最大値を最初の落札値候補に決定する。次に、開札データ生成手段４１４は、部分開札装置が部分秘密鍵を用いた開札処理を行うために必要なデータを開札処理用データとしてまとめて、最初の拠点となる部分開札装置１１０−１に送信する（ステップＣ３１０）。【００８４】
部分開札装置１１０−１は、開札処理用データを受信する。部分開札装置１１０−１の部分開札データ生成手段１１５−１は、第１の実施の形態と同様に、受信した開札処理用データと公開パラメータとＩＢＥ公開鍵と部分秘密鍵格納装置１０３−１に記憶してある部分秘密鍵−１とを入力として、部分開札データ−１を生成する（ステップＣ４１０−１）。ここで、部分開札データ生成手段１１５−１は、部分開札装置１１０−１が最初の拠点であることから、生成した部分開札データ−１をそのまま開札データ−１として、次の拠点である部分開札装置１１０−２に送信する（ステップＣ５１０−１）。なお、ここでは開札データを次の拠点へ送信する際には、以降の拠点において開札処理を行うために必要なデータも開札処理用データとして合わせて送信する。【００８５】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１から開札データ−１を受信する。部分開札装置１１０−２の部分開札データ生成手段１１５−２は、部分開札装置１１０−１と同様に、開札処理用データと公開パラメータとＩＢＥ公開鍵と部分秘密鍵格納装置１０３−２に記憶してある部分秘密鍵−２とを入力として、部分開札データ−２を生成する（ステップＣ４１０−２）。ここで、部分開札データ生成手段１１５−２は、部分開札装置１１０−２が２番目以降の拠点であることから、前の拠点である部分開札装置１１０−１から受信した開札データ−１に部分開札データ−２を合成して開札データ−２を生成し、次の拠点である部分開札装置１１０−３に送信する（ステップＣ５１０−２）。部分開札データ生成手段１１５−２は、受信した開札データ−１と部分開札データ−２とを用いて、例えば、ＩＤベース暗号方式に応じた分散復号の合成条件に基づいて計算することによって、開札データを更新する。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【００８６】
部分開札装置１１０−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）から開札データ−（ｎ−１）を受信する。部分開札装置１１０−ｎの部分開札データ生成手段１１５−ｎは、開札処理用データと公開パラメータとＩＢＥ公開鍵と部分秘密鍵格納装置１０３−ｎに記憶してある部分秘密鍵−ｎとを入力として、部分開札データ−ｎを生成する（ステップＣ４１０−ｎ）。ここで、部分開札データ生成手段１１５−ｎは、部分開札装置１１０−ｎが最後の拠点であることから、前の拠点である部分開札装置１１０−（ｎ−１）から受信した開札データ−（ｎ−１）に部分開札データ−ｎを合成して開札データ−ｎを生成し、生成した開札データ−ｎを開札データとして開札装置４１０に送信する（ステップＣ５１０−ｎ）。【００８７】
開札装置４１０は、部分開札装置１１０−ｎから開札データを受信する。開札装置４１０の開札データ生成手段４１４は、受信した開札データをＩＢＥ復号手段４０５に出力する。ＩＢＥ復号手段４０５は、第１の実施の形態と同様に、開札データと公開パラメータとＩＢＥ公開鍵と全暗号入札データとを入力として、全暗号入札データを復号し、復号データリストを生成する（ステップＣ７１０）。次に、判定手段４０６は、第１の実施の形態と同様に、公開パラメータと復号データリストとを入力として、復号データリストの中に、正しい形式をした復号データが存在するか否かを判定する（ステップＣ８１０）。正しい形式をした復号データが存在する場合には、判定手段４０６は、その復号データの復号に用いた落札値候補を落札値と決定する（ステップＣ９１０）。【００８８】
本実施の形態によれば、第１の実施の形態と同様に、入札価格を秘匿にするための暗号化に入札値をＩＤとするＩＤベース暗号方式を用いているため、公開パラメータに入札価格に対応する公開鍵のリストを含める必要がない。さらに、開札に用いる部分秘密鍵を部分開札装置が分散して記憶することによって、不正に落札値以外の入札値を求める行為を防止できる。【００８９】
さらに、分散復号にかかる合成処理を部分開札装置１１０が逐次的に合成することによって、部分公開鍵や部分開札データを合成するために収集する手間を省くことができる。なお、本実施の形態では、ＩＢＥ公開鍵と開札データの両方を部分開札装置１１０が逐次的に合成する場合を説明したが、ＩＢＥ公開鍵と開札データのうち、いずれか一方のみを部分開札装置１１０によって逐次的に合成させることも可能である（他方は第１の実施の形態と同じく同時並行的に合成させる）。また、逐次的に合成する方法として、１番目の拠点からｎ番目の拠点まで受け渡しさせて合成する方法を説明したが、ｎ番目の拠点まで受け渡ししなくても、分散復号の充足数を満たした時点で最後の拠点として動作することも可能である。他の点に関しては、第１の実施の形態と同様である。【００９０】
実施の形態３．
次に、本発明の第３の実施の形態を図面を参照して説明する。図８は、第３の実施の形態による電子入札システムの構成例を示すブロック図である。図８に示す電子入札システムは、１つ以上の部分開札装置１００−１〜ｎ（ｎは部分開札装置の数に対応する数値）と、ＩＢＥ公開鍵生成装置２００と、入札装置３２０と、開札装置４００と、検証装置５２０とを備える。なお、各装置は、通信ネットワーク（例えば、インターネットや専門回線）を介して接続される。図８に示す電子入札システムは、図１に示す第１の実施の形態に比べて、検証装置５２０が追加となっている点が異なる。また、入札装置３２０が、入札値知識証明手段３２３を有している点が異なる。なお、部分開札装置１００−１〜ｎ、ＩＢＥ公開鍵生成装置２００および開札装置４００は、第１の実施の形態と同様である。また、図８では、１つの入札装置３２０を示しているが、入札装置３２０は、例えば入札者の数に応じて複数存在してもよい。また、図８においても破線で囲まれたデータは、各装置に公開されるデータを示している。【００９１】
本実施の形態では、入札値に関する知識証明のためのデータを暗号入札データに付加して入札を行う。ここで、入札値に関する知識証明とは、入札値を明かさずに入札値を知っていることを証明する証明方法をいう。入札値に関する知識証明として、入札値を知らないまま検証を通る知識証明を生成できない証明方法（例えば、ゼロ知識証明など）を採用することで、例えば、他人の暗号入札データを利用して入札する行為を防止することができる。【００９２】
本実施の形態では、入札値に関する知識証明を行うために、入札者に予め固有の識別情報（例えば、ユーザＩＤ）を割り当てる。また、入札装置３２０が暗号入札データを生成した際に、ユーザＩＤと暗号化に用いた情報のうち入札者毎に任意性のある入札値以外の情報（暗号化に用いる乱数など。以下、暗号化任意情報という。）とを用いて、入札値に関する知識証明のためのデータ（以下、入札値知識証明データという。）を生成し、暗号入札データに付与する。入札値知識証明データは、例えば、文献「C.P.Schnorr, "Efficient Signature Generation by Smart Cards", Journal of Cryptology, 1991, Vol.4, pp.161-174」（非特許文献４）に記載されているゼロ知識証明の証明論理に基づいて生成することができる。非特許文献４に記載されているゼロ知識証明は、ある離散対数の指数部を隠したまま指数部を知っていることを証明する証明方法である。なお、本実施の形態において用いる知識証明は、上記で示したゼロ知識証明に限定されず、秘密情報を知っていることを秘密を明かさずに証明することができる証明方法であれば、他の証明方法であってもよい。【００９３】
入札装置３２０は、送受信部３０１と、ＩＢＥ暗号化手段３０２と、入札値知識証明手段３２３とを有する。ここでは、入札値知識証明手段３２３が追加となっている点が第１の実施の形態と異なる。入札値知識証明手段３２３は、ＩＢＥ暗号化手段３０２が暗号入札データを生成した際に、ＩＢＥ暗号化手段３０２が暗号化に用いた暗号化任意情報と入札者のユーザＩＤとを用いて入札値知識証明データを生成し、暗号入札データに付加する。以下、入札値知識証明データが付加された暗号入札データを入札値知識証明付き暗号入札データという。なお、図８に示す構成において、入札値知識証明手段３２３は、プログラムに従って動作する入札装置３２０のＣＰＵによって実現される。【００９４】
検証装置５２０は、入札値知識証明付き暗号入札データの検証を行う情報処理装置（例えば、パーソナルコンピュータ）であって、送受信部５２１と、入札値知識証明付き暗号入札データ記憶装置５２２と、検証手段５２３とを有する。送受信部５２１は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。入札値知識証明付き暗号入札データ記憶装置５２２は、入札装置３２０から送られる入札値知識証明付き暗号入札データを記憶する。検証手段５２３は、入札値知識証明データの証明論理に基づいて入札値知識証明付き暗号入札データを検証する。【００９５】
なお、図８に示す構成において、入札値知識証明付き暗号入札データ記憶装置５２２は、検証装置５２０の記憶装置によって実現される。検証手段５２３は、検証装置５２０のＣＰＵによって実現される。送受信部５２１は、検証装置５２０のＣＰＵと、ハードウェアの通信装置とによって実現される。【００９６】
次に、本実施の形態における電子入札システムの動作について説明する。本実施の形態における電子入札システムの動作は、大きく分けて、ＩＢＥ公開鍵生成動作と入札動作と検証動作と開札動作とに分かれる。検証動作は、入札された暗号入札データが正しいかを検証する動作である。本実施の形態では、開札装置４００の前に検証装置５２０が入札値知識証明付き暗号入札データを受信して検証を行う場合を例にとって説明する。なお、ＩＢＥ公開鍵生成動作および開札動作は、第１の実施の形態と同様のため、説明省略している。また、各装置には、第１の実施の形態と同様に、事前に公開パラメータが入力されているものとする。【００９７】
まず、入札動作について図９を参照して説明する。図９は、第３の実施の形態による入札動作の一例を示す流れ図である。なお、図９では１つの入札装置３２０しか図示していないが、入札装置３２０は、例えば、入札者に応じて複数存在してもよい。【００９８】
入札装置３２０には、公開パラメータとＩＢＥ公開鍵と入札値とユーザＩＤとが入力されている（ステップＢ１２０）。まず、入札装置３２０のＩＢＥ暗号化手段３０２は、第１の実施の形態と同様に、公開パラメータとＩＢＥ公開鍵と入札値とを入力として、暗号入札データを生成する（ステップＢ２２０）。次に、入札値知識証明手段３２３は、ＩＢＥ暗号化手段３０２から出力される暗号入札データおよび知識証明の対象となる暗号化任意情報と、ユーザＩＤ、公開パラメータ、ＩＢＥ公開鍵、入札値とを入力として、入札値知識証明付き暗号入札データを生成し、検証装置５２０に送信する。入札値知識証明手段３２３は、暗号入札データと、暗号化任意情報と、ユーザＩＤと、公開パラメータと、ＩＢＥ公開鍵と、入札値とを用いて、例えば、使用する証明方法の証明理論に従って計算を行うことによって、入札者固有の入札値知識証明データを生成し（ステップＢ３２０）、生成した入札値知識証明データを付加した入札値知識証明付き暗号入札データを検証装置５２０に送信する（ステップＢ４２０）。【００９９】
検証装置５２０は、入札装置３２０から入札値知識証明付き暗号入札データを受信する。例えば、入札装置３２０が、入札者に応じて複数ある場合には、複数の入札装置３２０からそれぞれの入札者の入札値知識証明付き暗号入札データを受信する。検証装置５２０は、受信した入札値知識証明付き暗号入札データを、入札値知識証明付き暗号入札データ記憶装置５２２に、入札者がわかるように（例えば、ユーザＩＤと対応づけて）記憶する。なお、入札値知識証明付き暗号入札データ記憶装置５２２に記憶せずに、そのまま検証動作を行ってもよい。【０１００】
次に、検証動作について図１０を参照して説明する。図１０は、第３の実施の形態による検証動作の一例を示す流れ図である。検証装置５２０には、公開パラメータとＩＢＥ公開鍵とが入力されている。検証装置５２０の検証手段５２３は、入札装置３２０から入札値知識証明付き暗号入札データを受信すると（Ｄ１２０）、受信した入札値知識証明付き暗号入札データとユーザＩＤ、公開パラメータ、ＩＢＥ公開鍵とを入力として、入札値知識証明データの検証を行う（ステップＤ２２０）。検証手段５２３は、例えば、入札値知識証明付き暗号入札データに付加された入札値知識証明データを使用する証明方法の検証理論に従って計算することによって解析する。解析した結果正しい入札値知識証明データが付加されている判断できた場合には、正しい暗号入札データが入札されたとして、入札値知識証明データを除いた暗号入札データを開札装置４００に送信する（Ｄ３２０）。正しくない入札値知識証明データが付加されていた場合には、不正な暗号入札データが入札されたとして、例えば、その暗号入札データの入札を非受理として扱うことができる。非受理となった暗号入札データは、非受理である旨とともに公開してもよい。【０１０１】
このように、本実施の形態によれば、入札者からの入力によって入札装置３２０が暗号入札データを生成する際に、入札値に関する知識証明が可能な入札値知識証明データを付加して入札を行うことによって、例えば、他人の暗号入札データをコピーすることによって、コピー元の入札値を知ることなくコピー元の同額の入札を行うという行為を防止することができる。他の点に関しては、第１の実施の形態と同様である。【０１０２】
実施の形態４．
第３の実施の形態として、第１の実施の形態による電子入札システムに、入札値知識証明を追加した構成を説明したが、同様に、第２の実施の形態による電子入札システムに入札値知識証明を追加することも可能である。図１１は、第４の実施の形態による電子入札システムの構成例を示すブロック図である。図１１に示す電子入札システムは、１つ以上の部分開札装置１３０−１〜ｎ（ｎは部分開札装置の数に対応する数値）と、入札装置３３０と、開札装置４３０と、入札値知識証明検証装置５３０とを備える。なお、各装置は、通信ネットワーク（例えば、インターネットや専門回線）を介して接続される。また、図１１では、１つの入札装置３２０を示しているが、入札装置３２０は、例えば入札者の数に応じ、複数存在してもよい。【０１０３】
図１１に示す電子入札システムは、図５に示す第２の実施の形態に比べて、検証装置５２０が追加となっている点が異なる。また、入札装置３２０が、入札値知識証明手段３２３を有している点が異なる。なお、部分開札装置１１０−１〜ｎおよび開札装置４１０は、第２の実施の形態と同様である。また、入札装置３２０および検証装置５２０は、第３の実施の形態と同様である。【０１０４】
そのような場合には、部分開札装置が逐次的に分散復号にかかる合成処理を行うことによって、各部分開札装置との間に合成するための特別なインターフェースを用意しなくても部分秘密鍵を分散して管理でき、不正に落札以外の入札値を求める行為を防止することができるとともに、各入札者の暗号入札データに入札値知識証明データを付加し検証することによって、不正に他人の暗号入札データを利用して入札する行為を防止することができる。
【実施例１】
【０１０５】
次に、具体的な実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第１の実施の形態による電子入札システムを、Ｂｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式を用いて実現する場合の実施例である。なお、本実施例において、復号用秘密情報を分散管理する部分開札装置１００がｎ台存在するものとする。なお、本実施例における分散復号の充足数はｎとする。【０１０６】
まず、ＩＢＥ公開鍵生成動作について図１２を参照して説明する。図１２は、本実施例におけるＩＢＥ公開鍵生成動作の一例を示す流れ図である。部分開札装置１００−１〜ｎおよび開札装置４００には、公開パラメータが入力されている（ステップＥ１００）。ここでは、公開パラメータとして、入札価格リストｖ＿｛ｔ｝＝｛ｖ＿１，・・・，ｖ＿ｔ｝と、入札用メッセージサイズｍと、ｍビットの入札用メッセージＭと、セキュリティパラメータｋ（１≦ｋ）と、素数ｑと、ペアリング組（Ｇ＿｛１｝，Ｇ＿｛Ｔ｝，ｅ（・，・））と、生成元Ｐと、ハッシュ関数Ｈ＿｛１｝と、ハッシュ関数Ｈ＿｛２｝とが入力される。【０１０７】
入札価格リストｖ＿｛ｔ｝は、入札可能な入札値の集合であって、ｖ＿ｔは入札価格帯における最高値を示す。入札用メッセージＭは、ｍビットの任意のビット列である。素数ｑは、ペアリング組中のＧ＿｛１｝，Ｇ＿｛Ｔ｝の要素数である。ペアリング組（Ｇ＿｛１｝，Ｇ＿｛Ｔ｝，ｅ（・，・））は、Ｇ＿｛１｝とＧ＿｛Ｔ｝が同じ位数ｑを持つ有限群であり、ｅ（・，・）が、Ｇ＿｛１｝×Ｇ＿｛１｝からＧ＿｛Ｔ｝への写像で、任意のｇ，ｈ，ｘ，ｙに対してｅ（ｇ＾ｘ，ｈ＾ｙ）＝ｅ（ｇ,ｈ）＾｛ｘｙ｝が成立し、ｇをＧ＿｛１｝の生成元としたとき、ｅ（ｇ，ｇ）≠１が成立するものである。ここで、ｇ＾ｘという表記は、ｇのｘ乗を表している。生成元Ｐは、Ｇ＿｛１｝の生成元である。ハッシュ関数Ｈ＿｛１｝は、任意の長さのバイナリ系列の集合からＧ＿｛１｝へのハッシュ関数である。ハッシュ関数Ｈ＿｛２｝は、Ｇ＿｛Ｔ｝からｍビット長のバイナリ系列の集合へのハッシュ関数である。なお、以下、素数ｑを法とする剰余群を”Ｚ＿｛ｑ｝”と表記する。また、ビット毎の排他的論理和を”ＸＯＲ”と表記する。また、ビットの連結を”‖”と表記する（例えば、ａ＝１０（バイナリ表記），ｂ＝０１とした場合、ａ‖ｂ＝１００１となる）。【０１０８】
部分開札装置１００−１〜ｎは、それぞれ次に示すように動作する。以下、部分開札装置１００−１を例にとって説明する。まず、部分開札装置１００−１の部分秘密鍵生成手段１０２−１は、ｓ＿｛１｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２００−１）。次に、選んだｓ＿｛１｝を部分秘密鍵格納装置１０３−１に格納する。次に、部分公開鍵生成手段１０４−１は、Ｐ＿｛ｐｕｂ，１｝＝Ｐ＾｛ｓ＿｛１｝｝を計算する（ステップＥ３００−１）。部分公開鍵生成手段１０４−１は、計算したＰ＿｛ｐｕｂ，１｝をＩＢＥ公開鍵生成装置２００に部分公開鍵−１として送信する（ステップＥ４００−１）。【０１０９】
他の部分開札装置も同様に動作する。例えば、部分開札装置１００−ｎの部分秘密鍵生成手段１０２−ｎは、ｓ＿｛ｎ｝をＺ＿｛ｑ｝からランダムに選び（ステップＥ２００−１）、選んだｓ＿｛ｎ｝を部分秘密鍵格納装置１０３−ｎに格納する。次に、部分公開鍵生成手段１０４−ｎは、Ｐ＿｛ｐｕｂ，ｎ｝＝Ｐ＾｛ｓ＿｛ｎ｝｝を計算し（ステップＥ３００−ｎ）、計算したＰ＿｛ｐｕｂ，ｎ｝をＩＢＥ公開鍵生成装置２００に送信する（ステップＥ４００−ｎ）。【０１１０】
ＩＢＥ公開鍵生成装置２００は、部分開札装置１００−１〜ｎからＰ＿｛ｐｕｂ，１｝，・・・，Ｐ＿｛ｐｕｂ，ｎ｝を受信する。ＩＢＥ公開鍵生成装置２００のＩＢＥ公開鍵生成手段２０２は、Ｐ＿｛ｐｕｂ，１｝，・・・，Ｐ＿｛ｐｕｂ，ｎ｝を入力として、Ｐ＿｛ｐｕｂ｝＝Ｐ＾｛ｓ＿｛１｝｝・Ｐ＾｛ｓ＿｛２｝｝・・・・・Ｐ＾｛ｓ＿｛ｎ｝｝を計算し、計算したＰ＿｛ｐｕｂ｝をＩＢＥ公開鍵として公開する（ステップＥ５００，Ｅ６００）。【０１１１】
次に、入札動作について図１３を参照して説明する。図１３は、本実施例における入札動作の一例を示す流れ図である。入札装置３００には、上記で示した公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値ｖとが入力されている（ステップＦ１００）。まず、入札装置３００のＩＢＥ暗号化手段３０２は、Ｑ＿｛ｖ｝＝Ｈ＿｛１｝（ｖ）を計算する（ステップＦ２００）。次に、ｇ＿｛ｖ｝＝ｅ（Ｐ＿｛ｐｕｂ｝,Ｑ＿｛ｖ｝）を計算する（ステップＦ３００）。次に、ｒをＺ＿｛ｑ｝からランダムに選ぶ（Ｆ４００）。次に、Ｘ＝Ｐ＾｛ｒ｝を計算する（Ｆ５００）。次に、Ｙ＝Ｍ  ＸＯＲ  Ｈ＿｛２｝（（ｇ＿｛ｖ｝）＾｛ｒ｝）を計算する（Ｆ６００）。次に、Ｃ＝＜Ｘ,Ｙ＞を暗号入札データとして開札装置４００に送信する（Ｆ７００）。ここで、ＩＢＥ暗号化手段３０２は、例えば、ＸとＹとを所定の規則で連結させたビット列を暗号入札データＣとして送信してもよい。【０１１２】
開札装置４００は、入札装置３００から各入札者の暗号入札データを受信する。ここで、開札装置４００は、入札を締め切るまでに、ａ人の入札者から暗号入札データを受信したとする。以下、各入札者を区別する際には、各入札者の暗号入札データをＣ＿｛ｊ｝，Ｃ＿｛ｊ｝＝＜Ｘ＿｛ｊ｝，Ｙ＿｛ｊ｝＞と表現する（１≦ｊ≦ａ）。開札装置４００は、受信した暗号入札データＣ＿｛１｝，・・・，Ｃ＿｛ａ｝を暗号入札データ記憶装置４０２に記憶する。【０１１３】
次に、開札動作について、図１４および図１５を参照して説明する。図１４は、本実施例における開札動作の一例を示す流れ図である。また、図１５は、本実施例における開札動作のうち、部分開札装置１００−１による部分開札データ生成の動作例を示す流れ図である。開札装置４００には、上記で示した公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と全入札者の暗号入札データＣ＿｛１｝，・・・，Ｃ＿｛ａ｝とが入力されている（ステップＧ１００）。まず、開札装置４００の落札値候補決定手段４０３は、落札値候補ｖ＿｛ｉ｝を決定する（ステップＧ２００）。ここでは、落札値候補決定手段４０３は、まず、最も高い入札値ｖ＿｛ｔ｝を落札値候補に決定する（ｉ＝ｔとセットする）。【０１１４】
次に、開札データ生成手段４０４は、まず、全入札者の暗号入札データの各ｊ（１≦ｊ≦ａ）に対して、Ｃ＿｛ｊ｝＝＜Ｘ＿｛ｊ｝,Ｙ＿｛ｊ｝＞とパースする（ステップＧ３００）。つまり、Ｃ＿｛ｊ｝をＸ＿｛ｊ｝，Ｙ＿｛ｊ｝に分解する。次に、落札値候補ｖ＿｛ｉ｝と、Ｘ＿｛１｝，・・・，Ｘ＿｛ａ｝とを開札処理用データとして、部分開札装置１００−１〜ｎに送信する（ステップＧ４００）。【０１１５】
開札処理用データを受信した部分開札装置１００は、それぞれ部分開札データ成処理（ステップＧ５００）を行う。以下、部分開札装置１００−１を例にとって説明する。図１５は、部分開札装置１００−１における部分開札データ生成処理の一例を示した説明図である。まず、部分開札装置１００−１は、開札装置４００から開札処理用データとして、落札値候補ｖ＿｛ｉ｝と、Ｘ＿｛１｝，・・・，Ｘ＿｛ａ｝とを受信する（ステップＧ５０１−１）。部分開札装置１００−１の部分開札データ生成手段１０５−１は、まず、Ｑ＿｛ｖ＿｛ｉ｝｝＝Ｈ＿｛１｝（ｖ＿｛ｉ｝）を計算する（ステップＧ５０２−１）。次に、Ｓ＿｛ｖ＿｛ｉ｝｝＝Ｑ＿｛ｖ＿｛ｉ｝｝＾｛ｓ＿｛１｝｝を計算する（ステップＧ５０２−１）。次に、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝＝ｅ（Ｘ＿｛１｝，Ｓ＿｛ｖ＿｛ｉ｝｝）を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝（全入札者分）を計算する（ステップＧ５０３−１）。部分開札データ生成手段１０５−１は、計算したＤ＿｛ｖ＿｛ｉ｝，１，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝を、部分開札データ−１として開札装置４００に送信する（ステップＧ５０４−１）。【０１１６】
他の部分開札装置も同様に動作する。例えば、部分開札装置１００−ｎの部分開札データ生成手段１０５−ｎは、Ｑ＿｛ｖ＿｛ｉ｝｝＝Ｈ＿｛１｝（ｖ＿｛ｉ｝）を計算し、Ｓ＿｛ｖ＿｛ｉ｝｝＝Ｑ＿｛ｖ＿｛ｉ｝｝＾｛ｓ＿｛ｎ｝｝を計算し、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝＝ｅ（Ｘ＿｛１｝，Ｓ＿｛ｖ＿｛ｉ｝｝）を計算し、同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，ｎ｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，ｎ｝を計算する。部分開札データ生成手段１０５−ｎは、計算したＤ＿｛ｖ＿｛ｉ｝，１，ｎ｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，ｎ｝を、部分開札データ−ｎとして開札装置４００に送信する。【０１１７】
開札装置４００は、部分開札装置１００−１〜ｎから部分開札データを受信する。開札装置４００の開札データ生成手段４０４は、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，１｝・Ｄ＿｛ｖ＿｛ｉ｝，１，２｝・・・・・Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝（全入札者分）を計算する（ステップＧ６００−１）。次に、ＩＢＥ復号手段４０５は、開札データＤ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝と、公開パラメータと、全入札者の暗号入札データＣ＿｛１｝，・・・，Ｃ＿｛ａ｝を入力として、Ｍ＿｛１｝＝Ｙ＿｛１｝  ＸＯＲ  Ｈ＿｛２｝（Ｄ＿｛ｖ＿｛ｉ｝，１｝）を計算する。また、Ｍ＿｛１｝と同様にして、Ｍ＿｛２｝，・・・，Ｍ＿｛ａ｝（全入札者分）を計算する（ステップＧ７００）。【０１１８】
次に、判定手段４０６は、Ｍ＿｛１｝，・・・，Ｍ＿｛ａ｝の中に、公開パラメータに含まれる入札用メッセージＭと一致するものが存在するか否かを判定する（ステップＧ８００）。入札用メッセージＭと一致するものが存在する場合には、ステップＧ２００において決定した落札値候補ｖ＿｛ｉ｝を落札値と決定する（ステップＧ８００のＹｅｓ，Ｇ１１００）。また、入札用メッセージＭと一致するものが存在しない場合には、次の落札値候補にて同様の動作を行う。ここで、次の落札値候補となる値が存在しない場合（ｉ＜１）には、落札値なしとする（ステップＧ９００のＹｅｓ，Ｇ１１００）。そうでなければ、次に落札条件に近い値に落札値候補を更新して（ｉにｉ−１をセットして）、Ｇ４００に戻る（ステップＧ９００のＮｏ，Ｇ１０００）。
【実施例２】
【０１１９】
次に、第２の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第２の実施の形態による電子入札システムを、Ｂｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式を用いて実現する場合の実施例である。なお、本実施例においても、復号用秘密情報を分散管理する部分開札装置１１０がｎ台存在するものとする。その際、部分開札装置１１０−１が１番目，部分開札装置１１０−２が２番目，・・・，部分開札装置１１０−ｎがｎ番目の拠点として設置されているものとする。本実施例では、部分開札装置１１０によって、分散復号にかかるＩＢＥ公開鍵および開札データの両方を逐次的に合成させる場合を例にとって説明する。なお、本実施例における分散復号の充足数もｎとする。また、各装置には、あらかじめ第１の実施例と同様の公開パラメータが記憶されている。【０１２０】
まず、ＩＢＥ公開鍵生成動作について図１６を参照して説明する。図１６は、第２の実施例におけるＩＢＥ公開鍵生成動作の一例を示す流れ図である。部分開札装置１１０−１〜ｎには、それぞれ公開パラメータが入力されている（ステップＥ１１０）。まず、部分開札装置１１０−１が動作する。部分開札装置１１０−１の部分秘密鍵生成手段１０２−１は、ｓ＿｛１｝をＺ＿｛ｑ｝からランダムに選び（ステップＥ２１０−１）、選んだｓ＿｛１｝を部分秘密鍵格納装置１０３−１に格納する。次に、部分公開鍵生成手段１１４−１は、Ｐ＿｛ｐｕｂ，１｝＝Ｐ＾｛ｓ＿｛１｝｝を計算する（ステップＥ３１０−１）。ここで、部分公開鍵生成手段１１４−１は、部分開札装置１１０−１が最初の拠点であることから、Ｐ＿｛ｐｕｂ｝＝Ｐ＿｛ｐｕｂ,１｝とセットして、次の拠点である部分開札装置１１０−２に送信する（ステップＥ４１０−１，Ｅ５１０−１）。【０１２１】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１からＰ＿｛ｐｕｂ｝を受信する。部分開札装置１１０−２の部分秘密鍵生成手段１０２−２は、ｓ＿｛２｝をＺ＿｛ｑ｝からランダムに選び（ステップＥ２１０−２）、選んだｓ＿｛２｝を部分秘密鍵格納装置１０３−２に格納する。次に、部分公開鍵生成手段１１４−２は、Ｐ＿｛ｐｕｂ，２｝＝Ｐ＾｛ｓ＿｛２｝｝を計算する（ステップＥ３１０−２）。ここで、部分公開鍵生成手段１１４−２は、部分開札装置１１０−２が２番目以降の拠点であることから、Ｐ＿｛ｐｕｂ｝＝Ｐ＾｛ｓ＿｛２｝｝・Ｐ＿｛ｐｕｂ｝を計算し、計算したＰ＿｛ｐｕｂ｝を次の拠点である部分開札装置１１０−３に送信する（ステップＥ４１０−２，Ｅ５１０−２）。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【０１２２】
部分開札装置１１０−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）からＰ＿｛ｐｕｂ｝を受信する。部分開札装置１１０−ｎの部分秘密鍵生成手段１０２−ｎは、ｓ＿｛ｎ｝をＺ＿｛ｑ｝からランダムに選び（ステップＥ２１０−ｎ）、選んだｓ＿｛ｎ｝を部分秘密鍵格納装置１０３−ｎに格納する。次に、部分公開鍵生成手段１１４−ｎは、Ｐ＿｛ｐｕｂ，ｎ｝＝Ｐ＾｛ｓ＿｛ｎ｝｝を計算する（ステップＥ３１０−ｎ）。ここで、部分公開鍵生成手段１１４−ｎは、部分開札装置１１０−ｎが最後の拠点であることから、Ｐ＿｛ｐｕｂ｝＝Ｐ＾｛ｓ＿｛ｎ｝｝・Ｐ＿｛ｐｕｂ｝を計算し、計算したＰ＿｛ｐｕｂ｝を、ＩＢＥ公開鍵として公開する（ステップＥ４１０−ｎ，Ｅ５１０−ｎ）。【０１２３】
次に、開札動作について、図１７および図１８を参照して説明する。なお、入札動作は、第１の実施例と同様のため、説明省略している。ここでは、開札装置４１０が、ａ人の入札者から入札を受け付けたものとする。図１７は、第２の実施例における開札動作の一例を示す流れ図である。図１８は、第２の実施例における開札動作のうち、部分開札装置１１０による開札データ合成の動作例を示す流れ図である。開札装置４１０には、公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と全入札者の暗号入札データＣ＿｛１｝，・・・，Ｃ＿｛ａ｝とが入力されている（ステップＧ１１０）。まず、開札装置４１０の落札値候補決定手段４０３は、落札値候補ｖ＿｛ｉ｝を決定する（ステップＧ２１０）。ここでは、落札値候補決定手段４０３は、まず、最も高い入札値ｖ＿｛ｔ｝を落札値候補に決定（ｉ＝ｔとセット）する。【０１２４】
次に、開札データ生成手段４１４は、全入札者の暗号入札データＣの各ｊ（１≦ｊ≦ａ）に対して、Ｃ＿｛ｊ｝＝＜Ｘ＿｛ｊ｝,Ｙ＿｛ｊ｝＞とパースする（ステップＧ３１０）。つまり、Ｃ＿｛ｊ｝をＸ＿｛ｊ｝，Ｙ＿｛ｊ｝に分解する。次に、落札値候補ｖ＿｛ｉ｝と、Ｘ＿｛１｝，・・・，Ｘ＿｛ａ｝とを開札処理用データとして、最初の拠点となる部分開札装置１１０−１に送信する（ステップＧ４１０）。【０１２５】
開札処理用データを受信した部分開札装置１１０−１は、開札データの合成動作を開始する（ステップＧ５１０）。図１８に示すように、はじめに、各部分開札装置１１０には、公開パラメータおよびＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝が入力されている（ステップＧ５１１）。部分開札装置１１０−１の部分開札データ生成手段１１５−１は、開札処理用データを受信すると（ステップＧ５１２−１）、まず、Ｑ＿｛ｖ＿｛ｉ｝｝＝Ｈ＿｛１｝（ｖ＿｛ｉ｝）を計算する（ステップＧ５１３−１）。次に、Ｓ＿｛ｖ＿｛ｉ｝，１｝＝Ｑ＿｛ｖ＿｛ｉ｝｝＾｛ｓ＿｛１｝｝を計算する（ステップＧ５１４−１）。次に、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝＝ｅ（Ｘ＿｛１｝，Ｓ＿｛ｖ＿｛ｉ｝，１｝）を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝（全入札者分）を計算する（ステップＧ５１５−１）。【０１２６】
ここで、部分開札データ生成手段１１５−１は、部分開札装置１１０−１が最初の拠点であることから、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，１｝とセットして、またＤ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝をセットして、次の拠点である部分開札装置１１０−２に送信する（ステップＧ５１６−１，Ｇ５１７−１）。なお、開札データを次の拠点に送る際には、Ｑ＿｛ｖ＿｛ｉ｝｝とＸ＿｛１｝，・・・，Ｘ＿｛ａ｝とを開札処理用データとして含めて送信する。【０１２７】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１から開札データ−１と開札処理用データとを受信する。部分開札装置１１０−２の部分開札データ生成手段１１５−２は、Ｓ＿｛ｖ＿｛ｉ｝，２｝＝Ｑ＿｛ｖ＿｛ｉ｝｝＾｛ｓ＿｛２｝｝を計算する（ステップＧ５１４−２）。次に、Ｄ＿｛ｖ＿｛ｉ｝，１，２｝＝ｅ（Ｘ＿｛１｝，Ｓ＿｛ｖ＿｛ｉ｝，２｝）を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，２｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，２｝を計算する（ステップＧ５１５−２）。ここで、部分公開鍵生成手段１１４−２は、前の拠点である部分開札装置１１０−１から受信した開札データ−１を用いて、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，２｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＧ５１６−２）。次に、計算したＤ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を開札データ−２として、次の拠点である部分開札装置１１０−３に送信する（ステップＧ５１７−２）。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【０１２８】
部分開札装置１１０−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）から開札データ−（ｎ−１）と開札処理用データとを受信する。部分開札装置１１０−ｎの部分開札データ生成手段１１５−ｎは、Ｓ＿｛ｖ＿｛ｉ｝，ｎ｝＝Ｑ＿｛ｖ＿｛ｉ｝｝＾｛ｓ＿｛ｎ｝｝を計算する（ステップＧ５１４−ｎ）。次に、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝＝ｅ（Ｘ＿｛１｝，Ｓ＿｛ｖ＿｛ｉ｝，ｎ｝）を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，ｎ｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，ｎ｝を計算する（ステップＧ５１５−ｎ）。ここで、部分公開鍵生成手段１１４−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）から受信した開札データ−（ｎ−１）を用いて、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＧ５１６−ｎ）。また、部分公開鍵生成手段１１４−ｎは、部分開札装置１１０−ｎが最後の拠点であることから、Ｄ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を開札データとして、開札装置４１０に送信する（ステップＧ５１７−ｎ）。【０１２９】
部分開札装置１１０−ｎから開札データを受信した開札装置４１０の開札データ生成手段４１４は、受信した開札データをＩＢＥ復号手段４０５に出力する。以降の動作は、第１の実施の形態と同様のため、説明省略する。
【実施例３】
【０１３０】
次に、第３の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第３の実施の形態による電子入札システムを、Ｂｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式を用いて実現する場合の実施例である。なお、本実施例において、入札装置３２０は、入札者に応じてａ台存在し、各入札装置３２０には入札者固有のＩＤが割り振られているものとする。以下、入札装置３２０−１のＩＤをＩＤ＿｛１｝、入札装置３２０−２のＩＤをＩＤ＿｛２｝と表記する。ＩＤは、例えば、名前や会員番号などで、予めレジストレーションを行って発行してもよいし、それ以外の方法で割り振ってもよい。【０１３１】
また、本実施例における公開パラメータには、第１の実施例に示した公開パラメータに加えて、ハッシュ関数Ｈ＿｛３｝が含まれる。ハッシュ関数Ｈ＿｛３｝は、任意の長さのバイナリ系列の集合からＧ＿｛１｝へのハッシュ関数である。なお、ハッシュ関数Ｈ＿｛３｝は、ハッシュ関数Ｈ＿｛１｝とは異なるハッシュ関数である。【０１３２】
本実施例では、入札値に関する知識証明が可能な電子入札システムにおける入札動作および検証動作について具体例を示す。なお、ＩＢＥ公開鍵生成動作および開札動作は、第１の実施例と同様であるため、説明省略する。まず、入札動作について図１９を参照して説明する。図１９は、第３の実施例における入札動作の一例を示す流れ図である。入札装置３２０には、公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値ｖとが入力されている（ステップＦ１２０）。また、入札装置３２０には、入札者固有のＩＤであるＩＤ＿｛ｉ｝も入力されている（１≦ｉ≦ａ）。【０１３３】
入札装置３２０のＩＢＥ暗号化手段３０２は、まず、Ｑ＿｛ｖ｝＝Ｈ＿｛１｝（ｖ）を計算する（ステップＦ２２０）。次に、ｇ＿｛ｖ｝＝ｅ（Ｐ＿｛ｐｕｂ｝，Ｑ＿｛ｖ｝）を計算する（ステップＦ３２０）。次に、ｒ＿｛ｉ｝をＺ＿｛ｑ｝からランダムに選ぶ（Ｆ４２０）。次に、Ｘ＿｛ｉ｝＝Ｐ＾｛ｒ＿｛ｉ｝｝を計算する（Ｆ５００）。次に、Ｙ＿｛ｉ｝＝Ｍ  ＸＯＲ  Ｈ＿｛２｝（（ｇ＿｛ｖ｝）＾｛ｒ＿｛ｉ｝｝）を計算する（Ｆ６２０）。【０１３４】
次に、入札値知識証明手段３２３は、入札値知識証明データを生成する。本実施例では、ｒ＿｛ｉ｝の知識を証明することによって入札値に関する知識証明を行う。入札値知識証明手段３２３は、まず、ｈ＿｛ｉ｝＝Ｈ＿｛３｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝）を計算する（ステップＦ７２０）。次に、ｐｒｏｏｆ＿｛ｉ｝＝ｈ＿｛ｉ｝＾｛ｒ＿｛ｉ｝｝を計算する（ステップＦ８２０）。次に、入札値知識証明手段３２３は、生成した入札値知識証明データｐｒｏｏｆ＿｛ｉ｝と、暗号入札データＣ＿｛ｉ｝＝＜Ｘ＿｛ｉ｝，Ｙ＿｛ｉ｝＞とを検証装置５２０に送信する（ステップＦ９２０）。検証装置５２０は、入札装置３２０から受信した各入札者のｐｒｏｏｆ＿｛ｉ｝とＣ＿｛ｉ｝とを入札値知識証明付き暗号入札データ記憶装置５２２に記憶する。【０１３５】
上記に示した入札値知識証明の証明法において、ｒ＿｛ｉ｝に関する知識を持たずにｐｒｏｏｆ＿｛ｉ｝を求めることができる可能性は非常に低い。このようなことができる装置が仮に存在するならば、この装置を用いて離散対数問題を解くことができる。この問題は現在多くの公開鍵暗号方式の安全性が依拠している問題であり、上記の装置の存在は、現在のほとんどの公開鍵暗号方式を使えなくするほどの影響があり、このようなことが起こることは稀である。【０１３６】
また、ハッシュ関数Ｈ＿｛３｝の入力に、入札者のＩＤであるＩＤ＿｛ｉ｝が含まれているため、ハッシュ関数の衝突困難性によりＩＤ＿｛ｉ｝以外のＩＤを持つ入札者がこの証明をコピーしても、検証を通ることはない。【０１３７】
ここで入札値知識証明としては、非特許文献４に掲載の証明法を用いることにより、ｒ＿｛ｉ｝の知識をゼロ知識証明で示すこともできる。非特許文献４に掲載の証明法を用いる場合には、まず、ｈ＿｛ｉ｝＝Ｈ＿｛３｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝）を計算し、次に、Ｒ＿｛ｉ｝をＺ＿｛ｑ｝からランダムに選ぶ。次に、α＿｛ｉ｝＝Ｐ＾｛Ｒ＿｛ｉ｝｝を計算する。次に、ｔ＿｛ｉ｝＝Ｒ＿｛ｉ｝＋ｈ＿｛ｉ｝・ｒ＿｛ｉ｝を計算する。そして、ｐｒｏｏｆ＿｛ｉ｝＝（α＿｛ｉ｝，ｔ＿｛ｉ｝）とする。【０１３８】
次に、検証動作について図２０を参照して説明する。図２０は、第３の実施例における検証動作の一例を示す説明図である。検証装置５２０には、上記で示した公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値知識証明付き暗号入札データ（Ｃ＿｛ｉ｝，ｐｒｏｏｆ＿｛ｉ｝）とＩＤ＿｛ｉ｝とが入力されている（ステップＨ１２０）。検証装置５２０の検証手段５２３は、まず、暗号入札データＣ＿｛ｉ｝に対して、Ｃ＿｛ｉ｝＝＜Ｘ＿｛ｉ｝,Ｙ＿｛ｉ｝＞とパースする（ステップＨ２２０）。つまり、Ｃ＿｛ｉ｝をＸ＿｛ｉ｝，Ｙ＿｛ｉ｝に分解する。次に、Ｖ＿｛１，ｉ｝＝ｅ（Ｘ＿｛ｉ｝，Ｈ＿｛３｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝））を計算する（ステップＨ３２０）。次に、Ｖ＿｛２，ｉ｝＝ｅ（Ｐ，ｐｒｏｏｆ＿｛ｉ｝）を計算する（ステップＨ４２０）。【０１３９】
次に、検証手段５２３は、Ｖ＿｛１，ｉ｝＝Ｖ＿｛２，ｉ｝を判定する（ステップＨ５２０）。一致した場合には、入札値知識証明データは正しいものであるとして、Ｃ＿｛ｉ｝を開札装置４００に送信する（ステップＨ６２０）。一致しなかった場合には、不正なものであるとして、その旨出力する（ステップＨ７２０）。このような検証動作を、全入札者データ（Ｃ＿｛１｝，ｐｒｏｏｆ＿｛１｝），・・・，（Ｃ＿｛ａ｝，ｐｒｏｏｆ＿｛ａ｝）に対して行う。【０１４０】
また、入札値知識証明として非特許文献４に記載の証明法を用いた場合、検証装置５２０には、ｐｒｏｏｆ＿｛ｉ｝として、（α＿｛ｉ｝，ｔ＿｛ｉ｝）が入力される。そのような場合の検証動作は、まず、Ｖ＿｛１，ｉ｝＝Ｐ＾｛ｔ＿｛ｉ｝｝を計算する。次に、Ｖ＿｛２，ｉ｝＝α＿｛ｉ｝・Ｘ＿｛ｉ｝＾｛Ｈ＿｛３｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝）を計算する。そして、Ｖ＿｛１，ｉ｝＝Ｖ＿｛２，ｉ｝を判定する。一致した場合には、入札値知識証明データは正しいものであるとして、Ｃ＿｛ｉ｝を開札装置４００に送信する。一致しなかった場合には、不正なものであるとして、その旨出力する。
【実施例４】
【０１４１】
次に、第４の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第４の実施の形態による電子入札システムを、Ｂｏｎｅｈ−ＦｒａｎｋｌｉｎＩＢＥ方式を用いて実現する場合の実施例である。本実施例は、第２の実施例と第３の実施例を組み合わせたものである。従って、本実施例においても、復号用秘密情報を分散管理する部分開札装置１１０がｎ台存在するものとする。その際、部分開札装置１１０−１が１番目，部分開札装置１１０−２が２番目，・・・，部分開札装置１１０−ｎがｎ番目の拠点として設置されているものとする。また、入札装置３２０は、入札者に応じてａ台存在し、各入札装置３２０には入札者固有のＩＤが割り振られているものとする。なお、本実施例における公開パラメータは、第３の実施例と同様である。【０１４２】
まず、ＩＢＥ公開鍵生成動作について説明する。ＩＢＥ公開鍵生成動作は、図１６に示す第２の実施例と同様であって、部分開札装置１１０−１〜ｎには、それぞれ公開パラメータが入力されている（ステップＥ１１０）。まず、部分開札装置１１０−１が動作する。部分開札装置１１０−１の部分秘密鍵生成手段１０２−１は、まず、ｓ＿｛１｝をＺ＿｛ｑ｝からランダムに選び（ステップＥ２１０−１）、選んだｓ＿｛１｝を部分秘密鍵格納装置１０３−１に格納する。次に、部分公開鍵生成手段１１４−１は、Ｐ＿｛ｐｕｂ，１｝＝Ｐ＾｛ｓ＿｛１｝｝を計算する（ステップＥ３１０−１）。ここで、部分公開鍵生成手段１１４−１は、部分開札装置１１０−１が最初の拠点であることから、Ｐ＿｛ｐｕｂ｝＝Ｐ＿｛ｐｕｂ,１｝とセットして、次の拠点である部分開札装置１１０−２に送信する（ステップＥ４１０−１，Ｅ５１０−１）。【０１４３】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１からＰ＿｛ｐｕｂ｝を受信する。部分開札装置１１０−２の部分秘密鍵生成手段１０２−２は、ｓ＿｛２｝をＺ＿｛ｑ｝からランダムに選び（ステップＥ２１０−２）、選んだｓ＿｛２｝を部分秘密鍵格納装置１０３−２に格納する。次に、部分公開鍵生成手段１１４−２は、Ｐ＿｛ｐｕｂ，２｝＝Ｐ＾｛ｓ＿｛２｝｝を計算する（ステップＥ３１０−２）。ここで、部分公開鍵生成手段１１４−２は、部分開札装置１１０−２が２番目以降の拠点であることから、Ｐ＿｛ｐｕｂ｝＝Ｐ＾｛ｓ＿｛２｝｝・Ｐ＿｛ｐｕｂ｝を計算し、計算したＰ＿｛ｐｕｂ｝を次の拠点である部分開札装置１１０−３に送信する（ステップＡ４１０−２）。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【０１４４】
最終的に、部分開札装置１１０−ｎが、前の拠点である部分開札装置１１０−（ｎ−１）からＰ＿｛ｐｕｂ｝を受信する。部分開札装置１１０−ｎの部分秘密鍵生成手段１０２−ｎは、ｓ＿｛ｎ｝をＺ＿｛ｑ｝からランダムに選び（ステップＥ２１０−ｎ）、選んだｓ＿｛ｎ｝を部分秘密鍵格納装置１０３−ｎに格納する。次に、部分公開鍵生成手段１１４−ｎは、Ｐ＿｛ｐｕｂ，ｎ｝＝Ｐ＾｛ｓ＿｛ｎ｝｝を計算する（ステップＥ３１０−ｎ）。ここで、部分公開鍵生成手段１１４−ｎは、部分開札装置１１０−ｎが最後の拠点であることから、Ｐ＿｛ｐｕｂ｝＝Ｐ＾｛ｓ＿｛ｎ｝｝・Ｐ＿｛ｐｕｂ｝を計算し、計算したＰ＿｛ｐｕｂ｝を、ＩＢＥ公開鍵として公開する（ステップＥ４１０−ｎ）。【０１４５】
次に、入札の動作について説明する。入札動作は、図１９に示す第３の実施例と同様であって、入札装置３２０には、公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値ｖとが入力されている（ステップＦ１２０）。また、入札装置３２０には、入札者固有のＩＤであるＩＤ＿｛ｉ｝が入力されている（１≦ｉ≦ａ）。入札装置３２０のＩＢＥ暗号化手段３０２は、まず、Ｑ＿｛ｖ｝＝Ｈ＿｛１｝（ｖ）を計算する（ステップＦ２２０）。次に、ｇ＿｛ｖ｝＝ｅ（Ｐ＿｛ｐｕｂ｝，Ｑ＿｛ｖ｝）を計算する（ステップＦ３２０）。次に、ｒ＿｛ｉ｝をＺ＿｛ｑ｝からランダムに選ぶ（Ｆ４２０）。次に、Ｘ＿｛ｉ｝＝Ｐ＾｛ｒ＿｛ｉ｝｝を計算する（Ｆ５００）。次に、Ｙ＿｛ｉ｝＝Ｍ  ＸＯＲ  Ｈ＿｛２｝（（ｇ＿｛ｖ｝）＾｛ｒ＿｛ｉ｝｝）を計算する（Ｆ６２０）。【０１４６】
次に、入札値知識証明手段３２３は、入札値知識証明データを生成する。本実施例では、ｒ＿｛ｉ｝の知識を証明することによって入札値に関する知識証明を行う。入札値知識証明手段３２３は、まず、ｈ＿｛ｉ｝＝Ｈ＿｛３｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝）を計算する（ステップＦ７２０）。次に、ｐｒｏｏｆ＿｛ｉ｝＝ｈ＿｛ｉ｝＾｛ｒ＿｛ｉ｝｝を計算する（ステップＦ８２０）。次に、入札値知識証明手段３２３は、生成した入札値知識証明データｐｒｏｏｆ＿｛ｉ｝と、暗号入札データＣ＿｛ｉ｝＝＜Ｘ＿｛ｉ｝，Ｙ＿｛ｉ｝＞とを検証装置５２０に送信する（ステップＦ９２０）。検証装置５２０は、入札装置３２０から受信した各入札者のｐｒｏｏｆ＿｛ｉ｝とＣ＿｛ｉ｝とを入札値知識証明付き暗号入札データ記憶装置５２２に記憶する。【０１４７】
ここで入札値知識証明としては、非特許文献４に掲載の証明法を用いることにより、ｒ＿｛ｉ｝の知識をゼロ知識証明で示すこともできる。非特許文献４に掲載の証明法を用いる場合には、まず、ｈ＿｛ｉ｝＝Ｈ＿｛３｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝）を計算し、次に、Ｒ＿｛ｉ｝をＺ＿｛ｑ｝からランダムに選ぶ。次に、α＿｛ｉ｝＝Ｐ＾｛Ｒ＿｛ｉ｝｝を計算する。次に、ｔ＿｛ｉ｝＝Ｒ＿｛ｉ｝＋ｈ＿｛ｉ｝・ｒ＿｛ｉ｝を計算する。そして、ｐｒｏｏｆ＿｛ｉ｝＝（α＿｛ｉ｝，ｔ＿｛ｉ｝）とする。【０１４８】
次に、検証動作について説明する。検証動作は、図２０に示す第３の実施例と同様であって、検証装置５２０には、上記で示した公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値知識証明付き暗号入札データ（Ｃ＿｛ｉ｝，ｐｒｏｏｆ＿｛ｉ｝）とが入力されている（ステップＨ１２０）。まず、検証装置５２０の検証手段５２３は、暗号入札データＣ＿｛ｉ｝に対して、Ｃ＿｛ｉ｝＝＜Ｘ＿｛ｉ｝,Ｙ＿｛ｉ｝＞とパースする（ステップＨ２２０）。つまり、Ｃ＿｛ｉ｝をＸ＿｛ｉ｝，Ｙ＿｛ｉ｝に分解する。次に、Ｖ＿｛１，ｉ｝＝ｅ（Ｘ＿｛ｉ｝，Ｈ＿｛３｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝））を計算する（ステップＨ３２０）。次に、Ｖ＿｛２，ｉ｝＝ｅ（Ｐ，ｐｒｏｏｆ＿｛ｉ｝）を計算する（ステップＨ４２０）。【０１４９】
次に、検証手段５２３は、Ｖ＿｛１，ｉ｝＝Ｖ＿｛２，ｉ｝を判定する（ステップＨ５２０）。一致した場合には、入札値知識証明データは正しいものであるとして、Ｃ＿｛ｉ｝を開札装置４００に送信する（ステップＨ６２０）。一致しなかった場合には、不正なものであるとして、その旨出力する（ステップＨ７２０）。このような検証動作を、全入札者データ（Ｃ＿｛１｝，ｐｒｏｏｆ＿｛１｝），・・・，（Ｃ＿｛ａ｝，ｐｒｏｏｆ＿｛ａ｝）に対して行う。【０１５０】
また、入札値知識証明として非特許文献４に記載の証明法を用いた場合、検証装置５２０には、ｐｒｏｏｆ＿｛ｉ｝として、（α＿｛ｉ｝，ｔ＿｛ｉ｝）が入力される。そのような場合の検証動作は、まず、Ｖ＿｛１，ｉ｝＝Ｐ＾｛ｔ＿｛ｉ｝｝を計算する。次に、Ｖ＿｛２，ｉ｝＝α＿｛ｉ｝・Ｘ＿｛ｉ｝＾｛Ｈ＿｛３｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝）を計算する。そして、Ｖ＿｛１，ｉ｝＝Ｖ＿｛２，ｉ｝を判定する。一致した場合には、入札値知識証明データは正しいものであるとして、Ｃ＿｛ｉ｝を開札装置４００に送信する。一致しなかった場合には、不正なものであるとして、その旨出力する。【０１５１】
次に、開札動作について説明する。開札動作は、図１７および図１８に示す第２の実施例と同様であって、開札装置４１０には、公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と全入札者の暗号入札データＣ＿｛１｝，・・・，Ｃ＿｛ａ｝とが入力されている（ステップＧ１１０）。まず、開札装置４１０の落札値候補決定手段４０３は、落札値候補ｖ＿｛ｉ｝を決定する（ステップＧ２１０）。ここでは、落札値候補決定手段４０３は、まず、最も高い入札値ｖ＿｛ｔ｝を落札値候補に決定（ｉ＝ｔとセット）する。【０１５２】
次に、開札データ生成手段４１４は、まず、全入札者の暗号入札データＣの各ｊ（１≦ｊ≦ａ）に対して、Ｃ＿｛ｊ｝＝＜Ｘ＿｛ｊ｝,Ｙ＿｛ｊ｝＞とパースする（ステップＧ３１０）。つまり、Ｃ＿｛ｊ｝をＸ＿｛ｊ｝，Ｙ＿｛ｊ｝に分解する。次に、落札値候補ｖ＿｛ｉ｝と、Ｘ＿｛１｝，・・・，Ｘ＿｛ａ｝とを開札処理用データとして、最初の拠点となる部分開札装置１１０−１に送信する（ステップＧ４１０）。【０１５３】
開札処理用データを受信した部分開札装置１１０−１は、開札データの合成動作を開始する（ステップＧ５１０）。図１８に示すように、はじめに、各部分開札装置１１０には、公開パラメータおよびＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝が入力されている（ステップＧ５１１）。部分開札装置１１０−１の部分開札データ生成手段１１５−１は、開札処理用データを受信すると（ステップＧ５１２−１）、まず、Ｑ＿｛ｖ＿｛ｉ｝｝＝Ｈ＿｛１｝（ｖ＿｛ｉ｝）を計算する（ステップＧ５１３−１）。次に、Ｓ＿｛ｖ＿｛ｉ｝，１｝＝Ｑ＿｛ｖ＿｛ｉ｝｝＾｛ｓ＿｛１｝｝を計算する（ステップＧ５１４−１）。次に、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝＝ｅ（Ｘ＿｛１｝，Ｓ＿｛ｖ＿｛ｉ｝，１｝）を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝（全入札者分）を計算する（ステップＧ５１５−１）。【０１５４】
ここで、部分開札データ生成手段１１５−１は、部分開札装置１１０−１が最初の拠点であることから、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，１｝とセットして、またＤ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝をセットして、次の拠点である部分開札装置１１０−２に送信する（ステップＧ５１６−１，Ｇ５１７−１）。なお、開札データを次の拠点に送る際には、Ｑ＿｛ｖ＿｛ｉ｝｝とＸ＿｛１｝，・・・，Ｘ＿｛ａ｝とを開札処理用データとして含めて送信する。【０１５５】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１から開札データ−１と開札処理用データとを受信する。部分開札装置１１０−２の部分開札データ生成手段１１５−２は、Ｓ＿｛ｖ＿｛ｉ｝，２｝＝Ｑ＿｛ｖ＿｛ｉ｝｝＾｛ｓ＿｛２｝｝を計算する（ステップＧ５１４−２）。次に、Ｄ＿｛ｖ＿｛ｉ｝，１，２｝＝ｅ（Ｘ＿｛１｝，Ｓ＿｛ｖ＿｛ｉ｝，２｝）を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，２｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，２｝を計算する（ステップＧ５１５−２）。ここで、部分公開鍵生成手段１１４−２は、前の拠点である部分開札装置１１０−１から受信した開札データ−１を用いて、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，２｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＧ５１６−２）。次に、計算したＤ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を開札データ−２として、次の拠点である部分開札装置１１０−３に送信する（ステップＧ５１７−２）。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【０１５６】
最終的に、部分開札装置１１０−ｎが、前の拠点である部分開札装置１１０−（ｎ−１）から開札データ−（ｎ−１）と開札処理用データとを受信する。部分開札装置１１０−ｎの部分開札データ生成手段１１５−ｎは、Ｓ＿｛ｖ＿｛ｉ｝，ｎ｝＝Ｑ＿｛ｖ＿｛ｉ｝｝＾｛ｓ＿｛ｎ｝｝を計算する（ステップＧ５１４−ｎ）。次に、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝＝ｅ（Ｘ＿｛１｝，Ｓ＿｛ｖ＿｛ｉ｝，ｎ｝）を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，ｎ｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，ｎ｝を計算する（ステップＧ５１５−ｎ）。ここで、部分公開鍵生成手段１１４−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）から受信した開札データ−（ｎ−１）を用いて、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＧ５１６−ｎ）。また、部分公開鍵生成手段１１４−ｎは、部分開札装置１１０−ｎが最後の拠点であることから、Ｄ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を開札データとして、開札装置４１０に送信する（ステップＧ５１７−ｎ）。【０１５７】
部分開札装置１１０−ｎから開札データを受信した開札装置４１０の開札データ生成手段４１４は、受信した開札データをＩＢＥ復号手段４０５に出力する。以降の動作は、第１の実施の形態と同様のため、説明省略する。
【実施例５】
【０１５８】
次に、本発明の第５の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第１の実施の形態による電子入札システムを、Ｂｏｎｅｈ−ＢｏｙｅｎＩＢＥ方式を用いて実現する場合の実施例である。なお、本実施例において、復号用秘密情報を分散管理する部分開札装置１００がｎ台存在するものとする。なお、本実施例における分散復号の充足数はｎとする。【０１５９】
まず、ＩＢＥ公開鍵生成動作について図２１を参照して説明する。図２１は、第５の実施例におけるＩＢＥ公開鍵生成動作の一例を示す流れ図である。部分開札装置１００−１〜ｎおよびＩＢＥ公開鍵生成装置２００には、それぞれ公開パラメータが入力されている（ステップＥ１４０）。ここでは、公開パラメータとして、入札価格リストｖ＿｛ｔ｝＝｛ｖ＿１，・・・，ｖ＿ｔ｝と、セキュリティパラメータｋ（１≦ｋ）と、アルファベットのサイズｓと、ｓ個の記号からなるアルファベットの集合Σと、素数ｑと、ペアリング組（Ｇ＿｛１｝，Ｇ＿｛Ｔ｝，ｅ（・，・））と、ハッシュ関数の値域Ｎと、ハッシュ関数の族｛Ｈ｝と、ハッシュ関数Ｈ＿｛１｝と、入札用メッセージＭと、生成元ｇ，ｇ＿｛２｝と、Ｎ×ｍ行列Ｕ＝（ｕ＿｛ｉ｝｛ｊ｝）（１≦ｉ≦Ｎ，１≦ｊ≦ｍ）とが入力される。【０１６０】
入札価格リストｖ＿｛ｔ｝は、入札可能な入札値の集合であって、ｖ＿ｔは入札価格帯における最高値を示す。素数ｑは、ペアリング組中のＧ＿｛１｝，Ｇ＿｛Ｔ｝の要素数である。ペアリング組（Ｇ＿｛１｝，Ｇ＿｛Ｔ｝，ｅ（・，・））は、Ｇ＿｛１｝とＧ＿｛Ｔ｝が同じ位数ｑを持つ有限群であり、ｅ（・，・）が、Ｇ＿｛１｝×Ｇ＿｛１｝からＧ＿｛Ｔ｝への写像で、任意のｇ、ｈ、ｘ、ｙに対してｅ（ｇ＾ｘ，ｈ＾ｙ）＝ｅ（ｇ，ｈ）＾｛ｘｙ｝が成立し、ｇをＧ＿｛１｝の生成元としたとき、ｅ（ｇ，ｇ）≠１が成立するものである。ハッシュ関数Ｈ＿｛１｝は、任意の長さのバイナリ系列の集合からΣによって作られる長さＮの列全体の集合へのハッシュ関数の族｛Ｈ｝からランダムに選ばれたハッシュ関数である。入札用メッセージＭは、Ｇ＿｛Ｔ｝の元である。生成元ｇ，ｇ＿｛２｝は、ともにＧ＿｛１｝の生成元である。ただし、ｇとｇ＿｛２｝は異なる生成元である。行列Ｕは、Ｕ＝（ｕ＿｛ｉ｝｛ｊ｝）（１≦ｉ≦Ｎ，１≦ｊ≦ｍ）であって、ｕ＿｛ｉ｝｛ｊ｝はＧ＿｛１｝の元である。【０１６１】
部分開札装置１００−１〜ｎは、それぞれ次に示すように動作する。以下、部分開札装置１００−１を例にとって説明する。まず、部分開札装置１００−１の部分秘密鍵生成手段１０２−１は、α＿｛１｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２４０−１）。次に、Ｓ＿｛１｝＝ｇ＿｛２｝＾｛α＿｛１｝｝を計算し、Ｓ＿｛１｝を部分秘密鍵格納装置１０３−１に格納する（ステップＥ３４０−１）。次に、部分公開鍵生成手段１０４−１は、ｇ＿｛１，１｝＝ｇ＾｛α＿｛１｝｝を計算する（ステップＥ４４０−１）。次に、Ｐ＿｛ｐｕｂ，１｝＝（ｇ，ｇ＿｛１，１｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝）としてＩＢＥ公開鍵生成装置２００に送信する（ステップＥ５４０−１）。【０１６２】
他の部分開札装置も同様に動作する。例えば、部分開札装置１００−ｎの部分秘密鍵生成手段１０２−ｎは、α＿｛ｎ｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２４０−ｎ）。次に、Ｓ＿｛ｎ｝＝ｇ＿｛２｝＾｛α＿｛ｎ｝｝を計算し、Ｓ＿｛ｎ｝を部分秘密鍵格納装置１０３−１に格納する（ステップＥ３４０−ｎ）。次に、部分公開鍵生成手段１０４−１は、ｇ＿｛１，ｎ｝＝ｇ＾｛α＿｛ｎ｝｝を計算し（ステップＥ４４０−ｎ）、Ｐ＿｛ｐｕｂ，ｎ｝＝（ｇ，ｇ＿｛１，ｎ｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝）としてＩＢＥ公開鍵生成装置２００に送信する（ステップＥ５４０−ｎ）。【０１６３】
ＩＢＥ公開鍵生成装置２００は、部分開札装置１００−１〜ｎからＰ＿｛ｐｕｂ，１｝，・・・，Ｐ＿｛ｐｕｂ，ｎ｝を受信する。ＩＢＥ公開鍵生成装置２００のＩＢＥ公開鍵生成手段２０２は、Ｐ＿｛ｐｕｂ，１｝，・・・，Ｐ＿｛ｐｕｂ，ｎ｝を入力として、ｇ＿｛１｝＝ｇ＿｛１，１｝・ｇ＿｛１，２｝・・・ｇ＿｛１，ｎ｝を計算する（ステップＥ６４０）。次に、Ｑ＝ｅ（ｇ＿｛１｝，ｇ＿｛２｝）を計算する（ステップＥ７４０）。次に、Ｐ＿｛ｐｕｂ｝＝（ｇ，ｇ＿｛１｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝，Ｑ）をＩＢＥ公開鍵として公開する（ステップＥ８４０）。【０１６４】
次に、入札動作について図２２を参照して説明する。図２２は、第５の実施例における入札動作の一例を示す流れ図である。入札装置３００には、上記で示した公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値ｖとが入力されている（ステップＦ１４０）。入札装置３００のＩＢＥ暗号化手段３０２は、まず、Ｈ＿｛１｝（ｖ）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＦ２４０）。次に、ｔをＺ＿｛ｑ｝からランダムに選ぶ（ステップＦ３４０）。次に、Ａ＝Ｑ＾｛ｔ｝・Ｍを計算する（ステップＦ４４０）。次に、Ｂ＝ｇ＾｛ｔ｝を計算する（ステップＦ５４０）。次に、Ｃ＿｛１｝＝ｕ＿｛１，ａ＿｛１｝｝＾｛ｔ｝，・・・，Ｃ＿｛Ｎ｝＝ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｔ｝を計算する（ステップＦ６４０）。次に、Ｘ＝（Ａ，Ｂ，Ｃ＿｛１｝，・・・，Ｃ＿｛Ｎ｝）を暗号入札データとして開札装置４００に送信する（ステップＦ７４０）。【０１６５】
開札装置４００は、入札装置３００から各入札者の暗号入札データを受信する。ここで、開札装置４００は、入札を締め切るまでに、ａ人の入札者から暗号入札データを受信したとする。以下、各入札者を区別する際には、各入札者の暗号入札データをＸ＿｛ｊ｝，Ｘ＿｛ｊ｝＝（Ａ＿｛ｊ｝，Ｂ＿｛ｊ｝，Ｃ＿｛ｊ，１｝，・・・，Ｃ＿｛ｊ，Ｎ｝）と表現する（１≦ｊ≦ａ）。開札装置４００は、受信した暗号入札データＸ＿｛１｝，・・・，Ｘ＿｛ａ｝を暗号入札データ記憶装置４０２に記憶する。【０１６６】
次に、開札動作について、図２３および図２４を参照して説明する。図２３は、第５の実施例における開札動作の一例を示す流れ図である。図２４は、第５の実施例における開札動作のうち、部分開札装置１００−１による部分開札データ生成の動作例を示す流れ図である。開札装置４００には、上記で示した公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と全入札者の暗号入札データＸ＿｛１｝，・・・，Ｘ＿｛ａ｝とが入力されている（ステップＧ１４０）。まず、開札装置４００の落札値候補決定手段４０３は、落札値候補ｖ＿｛ｉ｝を決定する（ステップＧ２４０）。ここでは、落札値候補決定手段４０３は、まず、最も高い入札値ｖ＿｛ｔ｝を落札値候補に決定する（ｉ＝ｔとセットする）。【０１６７】
次に、開札データ生成手段４０４は、まず、全入札者の暗号入札データの各ｊ（１≦ｊ≦ａ）に対して、Ｘ＿｛ｊ｝＝＜Ａ＿｛ｊ｝，Ｂ＿｛ｊ｝，Ｃ＿｛ｊ，１｝，・・・，Ｃ＿｛ｊ，Ｎ｝＞とパースする（ステップＧ３４０）。つまり、Ｘ＿｛ｊ｝をＡ＿｛ｊ｝，Ｂ＿｛ｊ｝，Ｃ＿｛ｊ，１｝，・・・，Ｃ＿｛ｊ，Ｎ｝に分解する。次に、落札値候補ｖ＿｛ｉ｝と、（Ｂ＿｛１｝，Ｃ＿｛１，１｝，・・・，Ｃ＿｛１，Ｎ｝），・・・，（Ｂ＿｛ａ｝，Ｃ＿｛ａ，１｝，・・・，Ｃ＿｛ａ，Ｎ｝）とを開札処理用データとして、部分開札装置１００−１〜ｎに送信する（ステップＧ４４０）。【０１６８】
開札処理用データを受信した部分開札装置１００は、それぞれ部分開札データ成処理（ステップＧ５００）を行う。以下、部分開札装置１００−１を例にとって説明する。図２４は、本実施例における開札動作のうち、部分開札装置１００−１による部分開札データ生成の動作例を示す流れ図である。まず、部分開札装置１００−１は、開札装置４００から開札処理用データとして、落札値候補ｖ＿｛ｉ｝と、（Ｂ＿｛１｝，Ｃ＿｛１，１｝，・・・，Ｃ＿｛１，Ｎ｝），・・・，（Ｂ＿｛ａ｝，Ｃ＿｛ａ，１｝，・・・，Ｃ＿｛ａ，Ｎ｝）とを受信する（ステップＧ５４１−１）。【０１６９】
部分開札装置１００−１の部分開札データ生成手段１０５−１は、まず、Ｈ＿｛１｝（ｖ＿｛ｉ｝）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＧ５４２−１）。次に、ｒ＿｛１，１｝，ｒ＿｛１，２｝，・・・，ｒ＿｛１，Ｎ｝をＺ＿｛ｑ｝の元からランダムに選ぶ（ステップＧ５４３−１）。次に、ｄ＿｛１，０｝＝Ｓ＿｛１｝・ｕ＿｛１，ａ＿｛１｝｝＾｛ｒ＿｛１，１｝｝・・・・・ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｒ＿｛１，Ｎ｝｝を計算する（ステップＧ５４４−１）。次に、ｄ＿｛１，１｝＝ｇ＾｛ｒ＿｛１，１｝｝，ｄ＿｛１，２｝＝ｇ＾｛ｒ＿｛１，２｝｝，・・・，ｄ＿｛１，Ｎ｝＝ｇ＾｛ｒ＿｛１，Ｎ｝｝を計算する（ステップＧ５４５−１）。次に、Ｕ＿｛１｝＝ｅ（Ｃ＿｛１，１｝，ｄ＿｛１，１｝）・・・・・ｅ（Ｃ＿｛１，Ｎ｝，ｄ＿｛１，Ｎ｝）を計算する。また、Ｕ＿｛１｝と同様にして、Ｕ＿｛２｝＝ｅ（Ｃ＿｛２，１｝，ｄ＿｛１，１｝）・・・・・ｅ（Ｃ＿｛２，Ｎ｝，ｄ＿｛１，Ｎ｝），・・・，Ｕ＿｛ａ｝を計算する（ステップＧ５４６−１）。次に、Ｖ＿｛１｝＝ｅ（Ｂ＿｛１｝，ｄ＿｛１，０｝）を計算する。また、Ｖ＿｛１｝と同様にして、Ｖ＿｛２｝＝ｅ（Ｂ＿｛２｝，ｄ＿｛１，０｝），・・・，Ｖ＿｛ａ｝を計算する（ステップＧ５４７−１）。【０１７０】
次に、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝＝Ｕ＿｛１｝÷Ｖ＿｛１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，１｝＝Ｕ＿｛２｝÷Ｖ＿｛２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝＝Ｕ＿｛ａ｝÷Ｖ＿｛ａ｝を計算する（ステップＧ５４８−１）。部分開札データ生成手段１０５−１は、計算したＤ＿｛ｖ＿｛ｉ｝，１，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝を、部分開札データ−１として開札装置４００に送信する（ステップＧ５４９−１）。他の部分開札装置も同様に動作する。【０１７１】
開札装置４００は、部分開札装置１００−１〜ｎから部分開札データを受信する。開札装置４００の開札データ生成手段４０４は、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，１｝・Ｄ＿｛ｖ＿｛ｉ｝，１，２｝・・・・・Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＧ７４０）。次に、Ｍ＿｛１｝＝Ａ＿｛１｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｍ＿｛１｝と同様にして、Ｍ＿｛２｝，・・・，Ｍ＿｛ａ｝を計算する（ステップＧ８４０）。【０１７２】
次に、判定手段４０６は、Ｍ＿｛１｝，・・・，Ｍ＿｛ａ｝の中に、公開パラメータに含まれる入札用メッセージＭと一致するものが存在するか否かを判定する（ステップＧ９４０）。入札用メッセージＭと一致するものが存在する場合には、ステップＧ２４０において決定した落札値候補ｖ＿｛ｉ｝を落札値と決定する（ステップＧ９４０のＹｅｓ，Ｇ１２４０）。また、入札用メッセージＭと一致するものが存在しない場合には、次の落札値候補にて同様の動作を行う。ここで、次の落札値候補となる値が存在しない場合（ｉ＜１）には、落札値なしとする（ステップＧ１０４０のＹｅｓ，Ｇ１２４０）。そうでなければ、次に落札条件に近い値に落札値候補を更新して（ｉにｉ−１をセットして）、Ｇ４４０に戻る（ステップＧ１０４０のＮｏ，Ｇ１１４０）。
【実施例６】
【０１７３】
次に、第６の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第２の実施の形態による電子入札システムを、Ｂｏｎｅｈ−ＢｏｙｅｎＩＢＥ方式を用いて実現する場合の実施例である。なお、本実施例においても、復号用秘密情報を分散管理する部分開札装置１１０がｎ台存在するものとする。その際、部分開札装置１１０−１が１番目，部分開札装置１１０−２が２番目，・・・，部分開札装置１１０−ｎがｎ番目の拠点として設置されているものとする。本実施例では、部分開札装置１１０によって、分散復号にかかるＩＢＥ公開鍵および開札データの両方を逐次的に合成させる場合を例にとって説明する。なお、本実施例における分散復号の充足数もｎとする。また、各装置には、あらかじめ第５の実施例と同様の公開パラメータが記憶されている。【０１７４】
まず、ＩＢＥ公開鍵生成動作について図２５を参照して説明する。図２５は、第６の実施例におけるＩＢＥ公開鍵生成動作の一例を示す流れ図である。部分開札装置１１０−１〜ｎには、それぞれ公開パラメータが入力されている（ステップＥ１５０）。まず、部分開札装置１１０−１が動作する。部分開札装置１１０−１の部分秘密鍵生成手段１０２−１は、まず、α＿｛１｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２５０−１）。次に、Ｓ＿｛１｝＝ｇ＿｛２｝＾｛α＿｛１｝｝を計算し、部分秘密鍵格納装置１０３−１に格納する（ステップＥ３５０−１）。次に、部分公開鍵生成手段１１４−１は、ｇ＿｛１，１｝＝ｇ＾｛α＿｛１｝｝を計算し、ｇ＿｛１｝＝ｇ＿｛１，１｝とセットする（ステップＥ４５０−１，５５０−１）。次に、Ｐ＿｛ｐｕｂ，１｝＝（ｇ，ｇ＿｛１｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝）とセットし、次の拠点である部分開札装置１１０−２に送信する（ステップＥ６５０−１）。【０１７５】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１からＰ＿｛ｐｕｂ，１｝を受信する。部分開札装置１１０−２の部分秘密鍵生成手段１０２−２は、まず、α＿｛２｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２５０−２）。次に、Ｓ＿｛２｝＝ｇ＿｛２｝＾｛α＿｛２｝｝を計算し、部分秘密鍵格納装置１０３−２に格納する（ステップＥ３５０−２）。次に、部分公開鍵生成手段１１４−２は、ｇ＿｛１，２｝＝ｇ＾｛α＿｛２｝｝を計算する（ステップＥ４５０−２）。次に、ｇ＿｛１｝＝ｇ＿｛１，２｝・ｇ＿｛１｝を計算する（ステップＥ５５０−２）。次に、Ｐ＿｛ｐｕｂ，２｝＝（ｇ，ｇ＿｛１｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝）とセットして部分開札装置１１０−３に送る（ステップＥ６５０−２）。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【０１７６】
部分開札装置１１０−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）からＰ＿｛ｐｕｂ，ｎ｝を受信する。部分開札装置１１０−２の部分秘密鍵生成手段１０２−２は、まず、α＿｛ｎ｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２５０−ｎ）。次に、Ｓ＿｛ｎ｝＝ｇ＿｛２｝＾｛α＿｛ｎ｝｝を計算し、部分秘密鍵格納装置１０３−ｎに格納する（ステップＥ３５０−ｎ）。次に、部分公開鍵生成手段１１４−ｎは、ｇ＿｛１，ｎ｝＝ｇ＿｛１｝＾｛α＿｛ｎ｝｝を計算する（ステップＥ４５０−ｎ）。次に、ｇ＿｛１｝＝ｇ＿｛１，ｎ｝・ｇ＿｛１｝を計算する（ステップＥ５５０−ｎ）。次に、Ｑ＝ｅ（ｇ＿｛１｝，ｇ＿｛２｝）を計算する（ステップＥ６５０−ｎ）。次に、Ｐ＿｛ｐｕｂ｝＝（ｇ，ｇ＿｛１｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝，Ｑ）をＩＢＥ公開鍵として公開する（ステップＥ７５０−ｎ）。【０１７７】
次に、開札動作について、図２６および図２７を参照して説明する。なお、入札動作は、第５の実施例と同様のため、説明省略している。ここでは、開札装置４１０が、ａ人の入札者から入札を受け付けたものとする。図２６は、第６の実施例における開札動作の一例を示す流れ図である。図２７は、第６の実施例における開札動作のうち、部分開札装置１１０による開札データ合成の動作例を示す流れ図である。開札装置４１０には、公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と全入札者の暗号入札データＸ＿｛１｝，・・・，Ｘ＿｛ａ｝とが入力されている（ステップＧ１５０）。まず、開札装置４１０の落札値候補決定手段４０３は、落札値候補ｖ＿｛ｉ｝を決定する（ステップＧ２５０）。ここでは、落札値候補決定手段４０３は、まず、最も高い入札値ｖ＿｛ｔ｝を落札値候補に決定（ｉ＝ｔとセット）する。【０１７８】
次に、開札データ生成手段４１４は、全入札者の暗号入札データＸの各ｊ（１≦ｊ≦ａ）に対して、Ｘ＿｛ｊ｝＝＜Ａ＿｛ｊ｝，Ｂ＿｛ｊ｝，Ｃ＿｛ｊ，１｝，・・・，Ｃ＿｛ｊ，Ｎ｝＞とパースする（ステップＧ３５０）。つまり、Ｘ＿｛ｊ｝をＡ＿｛ｊ｝，Ｂ＿｛ｊ｝，Ｃ＿｛ｊ，１｝，・・・，Ｃ＿｛ｊ，Ｎ｝に分解する。次に、落札値候補ｖ＿｛ｉ｝と、（Ｂ＿｛１｝，Ｃ＿｛１，１｝，・・・，Ｃ＿｛１，Ｎ｝），・・・，（Ｂ＿｛ａ｝，Ｃ＿｛ａ，１｝，・・・，Ｃ＿｛ａ，Ｎ｝）とを開札処理用データとして、部分開札装置１１０−１に送信する（ステップＧ４５０）。【０１７９】
開札処理用データを受信した部分開札装置１１０−１は、開札データの合成動作を開始する（ステップＧ５５０）。図２７に示すように、はじめに、各部分開札装置１１０には、公開パラメータおよびＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝が入力されている（ステップＧ５５１）。部分開札装置１１０−１の部分開札データ生成手段１１５−１は、開札処理用データを受信すると、まず、Ｈ＿｛１｝（ｖ＿｛ｉ｝）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＥ５５２−１）。次に、ｒ＿｛１，１｝，ｒ＿｛１，２｝，・・・，ｒ＿｛１，Ｎ｝をＺ＿｛ｑ｝の元からランダムに選ぶ（ステップＥ５５３−１）。次に、ｄ＿｛１，０｝＝Ｓ＿｛１｝・ｕ＿｛１，ａ＿｛１｝｝＾｛ｒ＿｛１，１｝｝・・・・・ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｒ＿｛１，Ｎ｝｝を計算する（ステップＥ５５４−１）。次に、ｄ＿｛１，１｝＝ｇ＾｛ｒ＿｛１，１｝｝，ｄ＿｛１，２｝＝ｇ＾｛ｒ＿｛１，２｝｝，・・・，ｄ＿｛１，Ｎ｝＝ｇ＾｛ｒ＿｛１，Ｎ｝｝を計算する（ステップＥ５５５−１）。次に、Ｕ＿｛１｝＝ｅ（Ｃ＿｛１，１｝，ｄ＿｛１，１｝）・・・・・ｅ（Ｃ＿｛１，Ｎ｝，ｄ＿｛１，Ｎ｝）を計算する。また、Ｕ＿｛１｝と同様にして、Ｕ＿｛２｝＝ｅ（Ｃ＿｛２，１｝，ｄ＿｛１，１｝）・・・・・ｅ（Ｃ＿｛２，Ｎ｝，ｄ＿｛１，Ｎ｝），・・・，Ｕ＿｛ａ｝を計算する（ステップＥ５５６−１）。次に、Ｖ＿｛１｝＝ｅ（Ｂ＿｛１｝，ｄ＿｛１，０｝）を計算する。また、Ｖ＿｛１｝と同様にして、Ｖ＿｛２｝＝ｅ（Ｂ＿｛２｝，ｄ＿｛１，０｝），・・・，Ｖ＿｛ａ｝を計算する（ステップＥ５５７−１）。【０１８０】
次に、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝＝Ｕ＿｛１｝÷Ｖ＿｛１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，１｝＝Ｕ＿｛２｝÷Ｖ＿｛２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝＝Ｕ＿｛ａ｝÷Ｖ＿｛ａ｝を計算する（ステップＥ５５８−１）。ここで、部分開札データ生成手段１１５−１は、部分開札装置１１０−１が最初の拠点であることから、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝＝Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝とセットして、開札データ−１として、部分開札装置１１０−２に送る（ステップＥ５５ａ−１）。なお、開札データを次の拠点に送る際には、ｖ＿｛ｉ｝と、（Ｂ＿｛１｝，Ｃ＿｛１，１｝，・・・，Ｃ＿｛１，Ｎ｝），・・・，（Ｂ＿｛ａ｝，Ｃ＿｛ａ，１｝，・・・，Ｃ＿｛ａ，Ｎ｝）とを開札処理用データとして含めて送信する。【０１８１】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１から開札データ−１と開札処理用データとを受信する。部分開札装置１１０−２の部分開札データ生成手段１１５−２は、まず、Ｈ＿｛１｝（ｖ＿｛ｉ｝）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＥ５５２−２）。次に、ｒ＿｛２，１｝，ｒ＿｛２，２｝，・・・，ｒ＿｛２，Ｎ｝をＺ＿｛ｑ｝の元からランダムに選ぶ（ステップＥ５５３−２）。次に、ｄ＿｛２，０｝＝Ｓ＿｛２｝・ｕ＿｛１，ａ＿｛１｝｝＾｛ｒ＿｛２，１｝｝・・・・・ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｒ＿｛２，Ｎ｝｝を計算する（ステップＥ５５４−２）。次に、ｄ＿｛２，１｝＝ｇ＾｛ｒ＿｛２，１｝｝，ｄ＿｛２，２｝＝ｇ＾｛ｒ＿｛２，２｝｝，・・・，ｄ＿｛２，Ｎ｝＝ｇ＾｛ｒ＿｛２，Ｎ｝｝を計算する（ステップＥ５５５−２）。次に、Ｕ＿｛１｝＝ｅ（Ｃ＿｛１，１｝，ｄ＿｛２，１｝）・・・・・ｅ（Ｃ＿｛１，Ｎ｝，ｄ＿｛２，Ｎ｝）を計算する。また、Ｕ＿｛１｝と同様にして、Ｕ＿｛２｝＝ｅ（Ｃ＿｛２，１｝，ｄ＿｛２，１｝）・・・・・ｅ（Ｃ＿｛２，Ｎ｝，ｄ＿｛２，Ｎ｝），・・・，Ｕ＿｛ａ｝を計算する（ステップＥ５５６−２）。次に、Ｖ＿｛１｝＝ｅ（Ｂ＿｛１｝，ｄ＿｛２，０｝）を計算する。また、Ｖ＿｛１｝と同様にして、Ｖ＿｛２｝＝ｅ（Ｂ＿｛２｝，ｄ＿｛２，０｝），・・・，Ｖ＿｛ａ｝を計算する（ステップＥ５５７−２）。【０１８２】
次に、Ｄ＿｛ｖ＿｛ｉ｝，１，２｝＝Ｕ＿｛１｝÷Ｖ＿｛１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，２｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，２｝＝Ｕ＿｛２｝÷Ｖ＿｛２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，２｝＝Ｕ＿｛ａ｝÷Ｖ＿｛ａ｝を計算する（ステップＥ５５８−２）。ここで、部分公開鍵生成手段１１４−２は、前の拠点である部分開札装置１１０−１から受信した開札データ−１を用いて、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，２｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝＝Ｄ＿｛ｖ＿｛ｉ｝，２，２｝・Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝＝Ｄ＿｛ｖ＿｛ｉ｝，ａ，２｝・Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＥ５５９−２）。次に、計算したＤ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を開札データ−２として、部分開札装置１１０−３に送信する（ステップＥ５５ａ−２）。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【０１８３】
部分開札装置１１０−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）から開札データ−（ｎ−１）と開札処理用データとを受信する。部分開札装置１１０−ｎの部分開札データ生成手段１１５−ｎは、まず、Ｈ＿｛１｝（ｖ＿｛ｉ｝）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＥ５５２−ｎ）。次に、ｒ＿｛ｎ，１｝，ｒ＿｛ｎ，２｝，・・・，ｒ＿｛ｎ，Ｎ｝をＺ＿｛ｑ｝の元からランダムに選ぶ（ステップＥ５５３−ｎ）。次に、ｄ＿｛ｎ，０｝＝Ｓ＿｛ｎ｝・ｕ＿｛１，ａ＿｛１｝｝＾｛ｒ＿｛ｎ，１｝｝，・・・，ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｒ＿｛ｎ，Ｎ｝｝を計算する（ステップＥ５５４−ｎ）。次に、ｄ＿｛ｎ，１｝＝ｇ＾｛ｒ＿｛ｎ，１｝｝，ｄ＿｛ｎ，２｝＝ｇ＾｛ｒ＿｛ｎ，２｝｝，・・・，ｄ＿｛ｎ，Ｎ｝＝ｇ＾｛ｒ＿｛ｎ，Ｎ｝｝を計算する（ステップＥ５５５−ｎ）。次に、Ｕ＿｛１｝＝ｅ（Ｃ＿｛１，１｝，ｄ＿｛ｎ，１｝）・・・・・ｅ（Ｃ＿｛１，Ｎ｝，ｄ＿｛ｎ，Ｎ｝）を計算する。また、Ｕ＿｛１｝と同様にして、Ｕ＿｛２｝＝ｅ（Ｃ＿｛２，１｝，ｄ＿｛ｎ，１｝）・・・・・ｅ（Ｃ＿｛２，Ｎ｝，ｄ＿｛ｎ，Ｎ｝），・・・，Ｕ＿｛ａ｝を計算する（ステップＧ５４６−１）（ステップＥ５５６−ｎ）。次に、Ｖ＿｛１｝＝ｅ（Ｂ＿｛１｝，ｄ＿｛ｎ，０｝）を計算する。また、Ｖ＿｛１｝と同様にして、Ｖ＿｛２｝＝ｅ（Ｂ＿｛２｝，ｄ＿｛ｎ，０｝），・・・，Ｖ＿｛ａ｝を計算する（ステップＥ５５７−ｎ）。【０１８４】
次に、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝＝Ｕ＿｛１｝÷Ｖ＿｛１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，ｎ｝＝Ｕ＿｛２｝÷Ｖ＿｛２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，ｎ｝＝Ｕ＿｛ａ｝÷Ｖ＿｛ａ｝を計算する（ステップＥ５５８−ｎ）。ここで、部分公開鍵生成手段１１４−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）から受信した開札データ−（ｎ−１）を用いて、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝＝Ｄ＿｛ｖ＿｛ｉ｝，２，ｎ｝・Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝＝Ｄ＿｛ｖ＿｛ｉ｝，ａ，ｎ｝・Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＥ５５９−ｎ）。また、部分公開鍵生成手段１１４−ｎは、部分開札装置１１０−ｎが最後の拠点であることから、Ｄ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を開札データとして、開札装置４１０に送信する（ステップＧ５１７−ｎ）。【０１８５】
部分開札装置１１０−ｎから開札データを受信した開札装置４１０の開札データ生成手段４１４は、受信した開札データをＩＢＥ復号手段４０５に出力する。以降の動作は、第５の実施の形態と同様のため、説明省略する。
【実施例７】
【０１８６】
次に、第７の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第３の実施の形態による電子入札システムを、Ｂｏｎｅｈ−ＢｏｙｅｎＩＢＥ方式を用いて実現する場合の実施例である。なお、本実施例において、入札装置３２０は、入札者に応じてａ台存在し、各入札装置３２０には入札者固有のＩＤが割り振られているものとする。以下、入札装置３２０−１のＩＤをＩＤ＿｛１｝、入札装置３２０−２のＩＤをＩＤ＿｛２｝と表記する。ＩＤは、例えば、名前や会員番号などで、予めレジストレーションを行って発行してもよいし、それ以外の方法で割り振ってもよい。【０１８７】
また、本実施例における公開パラメータには、第６の実施例に示した公開パラメータに加えて、ハッシュ関数Ｈ＿｛２｝が含まれる。ハッシュ関数Ｈ＿｛２｝は、任意の長さのバイナリ系列の集合からＧ＿｛１｝へのハッシュ関数である。【０１８８】
本実施例では、入札値に関する知識証明が可能な電子入札システムにおける入札動作および検証動作について具体例を示す。なお、ＩＢＥ公開鍵生成動作および開札動作は、第５の実施例と同様であるため、説明省略する。まず、入札動作について図２８を参照して説明する。図２８は、第７の実施例における入札動作の一例を示す流れ図である。入札装置３２０には、公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値ｖとが入力されている（ステップＦ１６０）。また、入札装置３２０には、入札者固有のＩＤであるＩＤ＿｛ｉ｝が入力されている（１≦ｉ≦ａ）。【０１８９】
入札装置３２０のＩＢＥ暗号化手段３０２は、まず、Ｈ＿｛１｝（ｖ）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＦ２６０）。次に、ｔをＺ＿｛ｑ｝からランダムに選ぶ（ステップＦ３６０）。次に、Ａ＝Ｑ＾｛ｔ｝・Ｍを計算する（ステップＦ４６０）。次に、Ｂ＝ｇ＾｛ｔ｝を計算する（ステップＦ５６０）。次に、Ｃ＿｛１｝＝ｕ＿｛１，ａ＿｛１｝｝＾｛ｔ｝，・・・，Ｃ＿｛Ｎ｝＝ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｔ｝を計算する（ステップＦ６６０）。【０１９０】
次に、入札値知識証明手段３２３は、入札値知識証明データを生成する。本実施例では、ｔの知識を証明することによって入札値に関する知識証明を行う。入札値知識証明手段３２３は、まず、ｈ＿｛ｉ｝＝Ｈ＿｛２｝（Ａ‖ＩＤ＿｛ｉ｝）を計算する（ステップＦ７６０）。次に、ｐｒｏｏｆ＿｛ｉ｝＝ｈ＿｛ｉ｝＾｛ｔ｝を計算する（ステップＦ８６０）。次に、入札値知識証明手段３２３は、生成した入札値知識証明データｐｒｏｏｆ＿｛ｉ｝と、暗号入札データＸ＝（Ａ，Ｂ，Ｃ＿｛１｝，・・・，Ｃ＿｛Ｎ｝）とを検証装置５２０に送信する（ステップＦ９６０）。検証装置５２０は、入札装置３２０から受信した各入札者のｐｒｏｏｆ＿｛ｉ｝とＸ＿｛ｉ｝＝（Ａ＿｛ｉ｝，Ｂ＿｛ｉ｝，Ｃ＿｛ｉ，１｝，・・・，Ｃ＿｛ｉ，Ｎ｝）とを入札値知識証明付き暗号入札データ記憶装置５２２に記憶する。【０１９１】
上記に示した入札値知識証明の証明法において、ｔに関する知識を持たずにｐｒｏｏｆ＿｛ｉ｝を求めることができる可能性は非常に低い。このようなことができる装置が仮に存在するならば、この装置を用いて離散対数問題を解くことができる。この問題は現在多くの公開鍵暗号方式の安全性が依拠している問題であり、上記の装置の存在は、現在のほとんどの公開鍵暗号方式を使えなくするほどの影響があり、このようなことが起こることは稀である。【０１９２】
また、ハッシュ関数Ｈ＿｛２｝の入力に、入札者のＩＤであるＩＤ＿｛ｉ｝が含まれているため、ハッシュ関数の衝突困難性によりＩＤ＿｛ｉ｝以外のＩＤを持つ入札者がこの証明をコピーしても、検証を通ることはない。【０１９３】
ここで入札値知識証明としては、非特許文献４に掲載の証明法を用いることにより、ｔの知識をゼロ知識証明で示すこともできる。非特許文献４に掲載の証明法を用いる場合には、まず、ｈ＿｛ｉ｝＝Ｈ＿｛２｝（Ａ‖ＩＤ＿｛ｉ｝）を計算する。次に、ｒ＿｛ｉ｝をＺ＿｛ｑ｝からランダムに選ぶ。次に、α＿｛ｉ｝＝ｇ＾｛ｒ＿｛ｉ｝｝を計算する。次に、ｓ＿｛ｉ｝＝ｒ＿｛ｉ｝＋ｈ＿｛ｉ｝・ｔを計算する。そして、ｐｒｏｏｆ＿｛ｉ｝＝（α＿｛ｉ｝，ｓ＿｛ｉ｝）とする。【０１９４】
次に、検証動作について図２９を参照して説明する。図２９は、第７の実施例における検証動作の一例を示す説明図である。検証装置５２０には、上記で示した公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値知識証明付き入札データ（Ｘ＿｛ｉ｝，ｐｒｏｏｆ＿｛ｉ｝）とが入力されている（ステップＨ１６０）。まず、検証装置５２０の検証手段５２３は、暗号入札データＸ＿｛ｉ｝に対して、Ｘ＿｛ｉ｝＝＜Ａ＿｛ｉ｝，Ｂ＿｛ｉ｝，Ｃ＿｛ｉ，１｝，・・・，Ｃ＿｛ｉ，Ｎ｝＞とパースする（ステップＨ２６０）。つまり、Ｘ＿｛ｉ｝をＡ＿｛ｉ｝，Ｂ＿｛ｉ｝，Ｃ＿｛ｉ，１｝，・・・，Ｃ＿｛ｉ，Ｎ｝に分解する。次に、Ｖ＿｛１，ｉ｝＝ｅ（Ｂ＿｛ｉ｝，Ｈ＿｛２｝（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝））を計算する（ステップＨ３６０）。次に、Ｖ＿｛２，ｉ｝＝ｅ（ｇ，ｐｒｏｏｆ＿｛ｉ｝）を計算する（ステップＨ４６０）。【０１９５】
次に、検証手段５２３は、Ｖ＿｛１，ｉ｝＝Ｖ＿｛２，ｉ｝を判定する（ステップＨ５６０）。一致した場合には、入札値知識証明データは正しいものであるとして、Ｃ＿｛ｉ｝を開札装置４００に送信する（ステップＨ６６０）。一致しなかった場合には、不正なものであるとして、その旨出力する（ステップＨ７６０）。このような検証動作を、全入札者データ（Ｘ＿｛１｝，ｐｒｏｏｆ＿｛１｝），・・・，（Ｘ＿｛ａ｝，ｐｒｏｏｆ＿｛ａ｝）に対して行う。【０１９６】
また、入札値知識証明として非特許文献４に記載の証明法を用いた場合、検証装置５２０には、ｐｒｏｏｆ＿｛ｉ｝として（α＿｛ｉ｝，ｓ＿｛ｉ｝）が入力される。そのような場合の検証動作は、まず、Ｖ＿｛１，ｉ｝＝Ｐ＾｛ｓ＿｛ｉ｝｝を計算する。次に、Ｖ＿｛２，ｉ｝＝α＿｛ｉ｝・Ｂ＿｛ｉ｝＾｛Ｈ＿｛２｝（Ａ＿｛ｉ｝‖ＩＤ＿｛ｉ｝）を計算する。そして、Ｖ＿｛１，ｉ｝＝Ｖ＿｛２，ｉ｝を判定する。一致した場合には、入札値知識証明データは正しいものであるとして、Ｘ＿｛ｉ｝を開札装置４００に送信する。一致しなかった場合には、不正なものであるとして、その旨出力する。
【実施例８】
【０１９７】
次に、第８の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第４の実施の形態による電子入札システムを、Ｂｏｎｅｈ−ＢｏｙｅｎＩＢＥ方式を用いて実現する場合の実施例である。本実施例は、第６の実施例と第７の実施例を組み合わせたものである。従って、本実施例においても、復号用秘密情報を分散管理する部分開札装置１１０がｎ台存在するものとする。その際、部分開札装置１１０−１が１番目，部分開札装置１１０−２が２番目，・・・，部分開札装置１１０−ｎがｎ番目の拠点として設置されているものとする。また、入札装置３２０は、入札者に応じてａ台存在し、各入札装置３２０には入札者固有のＩＤが割り振られているものとする。なお、本実施例における公開パラメータは、第７の実施例と同様である。【０１９８】
まず、ＩＢＥ公開鍵生成動作について説明する。ＩＢＥ公開鍵生成動作は、図２５に示す第６の実施例と同様であって、部分開札装置１１０−１〜ｎには、それぞれ公開パラメータが入力されている（ステップＥ１５０）。まず、部分開札装置１１０−１が動作する。部分開札装置１１０−１の部分秘密鍵生成手段１０２−１は、まず、α＿｛１｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２５０−１）。次に、Ｓ＿｛１｝＝ｇ＿｛２｝＾｛α＿｛１｝｝を計算し、部分秘密鍵格納装置１０３−１に格納する（ステップＥ３５０−１）。次に、部分公開鍵生成手段１１４−１は、ｇ＿｛１，１｝＝ｇ＾｛α＿｛１｝｝を計算し、ｇ＿｛１｝＝ｇ＿｛１，１｝とセットする（ステップＥ４５０−１，５５０−１）。次に、Ｐ＿｛ｐｕｂ，１｝＝（ｇ，ｇ＿｛１｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝）とセットし、次の拠点である部分開札装置１１０−２に送信する（ステップＥ６５０−１）。【０１９９】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１からＰ＿｛ｐｕｂ，１｝を受信する。部分開札装置１１０−２の部分秘密鍵生成手段１０２−２は、まず、α＿｛２｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２５０−２）。次に、Ｓ＿｛２｝＝ｇ＿｛２｝＾｛α＿｛２｝｝を計算し、部分秘密鍵格納装置１０３−２に格納する（ステップＥ３５０−２）。次に、部分公開鍵生成手段１１４−２は、ｇ＿｛１，２｝＝ｇ＾｛α＿｛２｝｝を計算する（ステップＥ４５０−２）。次に、ｇ＿｛１｝＝ｇ＿｛１，２｝・ｇ＿｛１｝を計算する（ステップＥ５５０−２）。次に、Ｐ＿｛ｐｕｂ，２｝＝（ｇ，ｇ＿｛１｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝）とセットして部分開札装置１１０−３に送る（ステップＥ６５０−２）。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【０２００】
部分開札装置１１０−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）からＰ＿｛ｐｕｂ，ｎ｝を受信する。部分開札装置１１０−２の部分秘密鍵生成手段１０２−２は、まず、α＿｛ｎ｝をＺ＿｛ｑ｝からランダムに選ぶ（ステップＥ２５０−ｎ）。次に、Ｓ＿｛ｎ｝＝ｇ＿｛２｝＾｛α＿｛ｎ｝｝を計算し、部分秘密鍵格納装置１０３−ｎに格納する（ステップＥ３５０−ｎ）。次に、部分公開鍵生成手段１１４−ｎは、ｇ＿｛１，ｎ｝＝ｇ＿｛１｝＾｛α＿｛ｎ｝｝を計算する（ステップＥ４５０−ｎ）。次に、ｇ＿｛１｝＝ｇ＿｛１，ｎ｝・ｇ＿｛１｝を計算する（ステップＥ５５０−ｎ）。次に、Ｑ＝ｅ（ｇ＿｛１｝，ｇ＿｛２｝）を計算する（ステップＥ６５０−ｎ）。次に、Ｐ＿｛ｐｕｂ｝＝（ｇ，ｇ＿｛１｝，ｇ＿｛２｝，Ｕ，Ｈ＿｛１｝，Ｑ）をＩＢＥ公開鍵として公開する（ステップＥ７５０−ｎ）。【０２０１】
次に、入札動作について説明する。入札動作は、図２８に示す第７の実施例と同様であって、入札装置３２０には、公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値ｖとが入力されている（ステップＦ１６０）。また、入札装置３２０には、入札者固有のＩＤであるＩＤ＿｛ｉ｝が入力されている（１≦ｉ≦ａ）。【０２０２】
入札装置３２０のＩＢＥ暗号化手段３０２は、まず、Ｈ＿｛１｝（ｖ）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＦ２６０）。次に、ｔをＺ＿｛ｑ｝からランダムに選ぶ（ステップＦ３６０）。次に、Ａ＝Ｑ＾｛ｔ｝・Ｍを計算する（ステップＦ４６０）。次に、Ｂ＝ｇ＾｛ｔ｝を計算する（ステップＦ５６０）。次に、Ｃ＿｛１｝＝ｕ＿｛１，ａ＿｛１｝｝＾｛ｔ｝，・・・，Ｃ＿｛Ｎ｝＝ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｔ｝を計算する（ステップＦ６６０）。【０２０３】
次に、入札値知識証明手段３２３は、入札値知識証明データを生成する。本実施例では、ｔの知識を証明することによって入札値に関する知識証明を行う。入札値知識証明手段３２３は、まず、ｈ＿｛ｉ｝＝Ｈ＿｛２｝（Ａ‖ＩＤ＿｛ｉ｝）を計算する（ステップＦ７６０）。次に、ｐｒｏｏｆ＿｛ｉ｝＝ｈ＿｛ｉ｝＾｛ｔ｝を計算する（ステップＦ８６０）。次に、入札値知識証明手段３２３は、生成した入札値知識証明データｐｒｏｏｆ＿｛ｉ｝と、暗号入札データＸ＝（Ａ，Ｂ，Ｃ＿｛１｝，・・・，Ｃ＿｛Ｎ｝）とを検証装置５２０に送信する（ステップＦ９６０）。検証装置５２０は、入札装置３２０から受信した各入札者のｐｒｏｏｆ＿｛ｉ｝とＸ＿｛ｉ｝＝（Ａ＿｛ｉ｝，Ｂ＿｛ｉ｝，Ｃ＿｛ｉ，１｝，・・・，Ｃ＿｛ｉ，Ｎ｝）とを入札値知識証明付き暗号入札データ記憶装置５２２に記憶する。【０２０４】
ここで入札値知識証明としては、非特許文献４に掲載の証明法を用いることにより、ｔの知識をゼロ知識証明で示すこともできる。非特許文献４に掲載の証明法を用いる場合には、まず、ｈ＿｛ｉ｝＝Ｈ＿｛２｝（Ａ‖ＩＤ＿｛ｉ｝）を計算する。次に、ｒ＿｛ｉ｝をＺ＿｛ｑ｝からランダムに選ぶ。次に、α＿｛ｉ｝＝ｇ＾｛ｒ＿｛ｉ｝｝を計算する。次に、ｓ＿｛ｉ｝＝ｒ＿｛ｉ｝＋ｈ＿｛ｉ｝・ｔを計算する。そして、ｐｒｏｏｆ＿｛ｉ｝＝（α＿｛ｉ｝，ｓ＿｛ｉ｝）とする。【０２０５】
次に、検証動作について説明する。検証動作は、図２９に示す第７の実施例と同様であって、検証装置５２０には、上記で示した公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と入札値知識証明付き暗号入札データ（Ｘ＿｛ｉ｝，ｐｒｏｏｆ＿｛ｉ｝）とが入力されている（ステップＨ１６０）。まず、検証装置５２０の検証手段５２３は、暗号入札データＸ＿｛ｉ｝に対して、Ｘ＿｛ｉ｝＝＜Ａ＿｛ｉ｝，Ｂ＿｛ｉ｝，Ｃ＿｛ｉ，１｝，・・・，Ｃ＿｛ｉ，ｎ｝＞とパースする（ステップＨ２６０）。つまり、Ｘ＿｛ｉ｝をＡ＿｛ｉ｝，Ｂ＿｛ｉ｝，Ｃ＿｛ｉ，１｝，・・・，Ｃ＿｛ｉ，ｎ｝に分解する。次に、Ｖ＿｛１，ｉ｝＝ｅ（Ｂ＿｛ｉ｝，Ｈ（Ｙ＿｛ｉ｝‖ＩＤ＿｛ｉ｝））を計算する（ステップＨ３６０）。次に、Ｖ＿｛２，ｉ｝＝ｅ（ｇ，ｐｒｏｏｆ＿｛ｉ｝）を計算する（ステップＨ４６０）。【０２０６】
次に、検証手段５２３は、Ｖ＿｛１，ｉ｝＝Ｖ＿｛２，ｉ｝を判定する（ステップＨ５６０）。一致した場合には、入札値知識証明データは正しいものであるとして、Ｃ＿｛ｉ｝を開札装置４００に送信する（ステップＨ６６０）。一致しなかった場合には、不正なものであるとして、その旨出力する（ステップＨ７６０）。このような検証動作を、全入札者データ（Ｘ＿｛１｝，ｐｒｏｏｆ＿｛１｝），・・・，（Ｘ＿｛ａ｝，ｐｒｏｏｆ＿｛ａ｝）に対して行う。【０２０７】
また、入札値知識証明として非特許文献４に記載の証明法を用いた場合、検証装置５２０には、ｐｒｏｏｆ＿｛ｉ｝として（α＿｛ｉ｝，ｓ＿｛ｉ｝）が入力される。そのような場合の検証動作は、まず、Ｖ＿｛１，ｉ｝＝Ｐ＾｛ｓ＿｛ｉ｝｝を計算する。次に、Ｖ＿｛２，ｉ｝＝α＿｛ｉ｝・Ｂ＿｛ｉ｝＾｛Ｈ＿｛２｝（Ａ＿｛ｉ｝‖ＩＤ＿｛ｉ｝）を計算する。そして、Ｖ＿｛１，ｉ｝＝Ｖ＿｛２，ｉ｝を判定する。一致した場合には、入札値知識証明データは正しいものであるとして、Ｘ＿｛ｉ｝を開札装置４００に送信する。一致しなかった場合には、不正なものであるとして、その旨出力する。【０２０８】
次に、開札動作について説明する。開札動作は、図２６および図２７に示す第６の実施例と同様であって、開札装置４１０には、公開パラメータとＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝と全入札者の暗号入札データＸ＿｛１｝，・・・，Ｘ＿｛ａ｝とが入力されている（ステップＧ１５０）。まず、開札装置４１０の落札値候補決定手段４０３は、落札値候補ｖ＿｛ｉ｝を決定する（ステップＧ２５０）。ここでは、落札値候補決定手段４０３は、まず、最も高い入札値ｖ＿｛ｔ｝を落札値候補に決定（ｉ＝ｔとセット）する。【０２０９】
次に、開札データ生成手段４１４は、全入札者の暗号入札データＸの各ｊ（１≦ｊ≦ａ）に対して、Ｘ＿｛ｊ｝＝＜Ａ＿｛ｊ｝，Ｂ＿｛ｊ｝，Ｃ＿｛ｊ，１｝，・・・，Ｃ＿｛ｊ，Ｎ｝＞とパースする（ステップＧ３５０）。つまり、Ｘ＿｛ｊ｝をＡ＿｛ｊ｝，Ｂ＿｛ｊ｝，Ｃ＿｛ｊ，１｝，・・・，Ｃ＿｛ｊ，Ｎ｝に分解する。次に、落札値候補ｖ＿｛ｉ｝と、（Ｂ＿｛１｝，Ｃ＿｛１，１｝，・・・，Ｃ＿｛１，Ｎ｝），・・・，（Ｂ＿｛ａ｝，Ｃ＿｛ａ，１｝，・・・，Ｃ＿｛ａ，Ｎ｝）とを開札処理用データとして、部分開札装置１１０−１に送信する（ステップＧ４５０）。【０２１０】
開札処理用データを受信した部分開札装置１１０−１は、開札データの合成動作を開始する（ステップＧ５５０）。図２７に示すように、はじめに、各部分開札装置１１０には、公開パラメータおよびＩＢＥ公開鍵Ｐ＿｛ｐｕｂ｝が入力されている（ステップＧ５５１）。部分開札装置１１０−１の部分開札データ生成手段１１５−１は、開札処理用データを受信すると、まず、Ｈ＿｛１｝（ｖ＿｛ｉ｝）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＥ５５２−１）。次に、ｒ＿｛１，１｝，ｒ＿｛１，２｝，・・・，ｒ＿｛１，Ｎ｝をＺ＿｛ｑ｝の元からランダムに選ぶ（ステップＥ５５３−１）。次に、ｄ＿｛１，０｝＝Ｓ＿｛１｝・ｕ＿｛１，ａ＿｛１｝｝＾｛ｒ＿｛１，１｝｝・・・・・ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｒ＿｛１，Ｎ｝｝を計算する（ステップＥ５５４−１）。次に、ｄ＿｛１，１｝＝ｇ＾｛ｒ＿｛１，１｝｝，ｄ＿｛１，２｝＝ｇ＾｛ｒ＿｛１，２｝｝，・・・，ｄ＿｛１，Ｎ｝＝ｇ＾｛ｒ＿｛１，Ｎ｝｝を計算する（ステップＥ５５５−１）。次に、Ｕ＿｛１｝＝ｅ（Ｃ＿｛１，１｝，ｄ＿｛１，１｝）・・・・・ｅ（Ｃ＿｛１，Ｎ｝，ｄ＿｛１，Ｎ｝）を計算する。また、Ｕ＿｛１｝と同様にして、Ｕ＿｛２｝＝ｅ（Ｃ＿｛２，１｝，ｄ＿｛１，１｝）・・・・・ｅ（Ｃ＿｛２，Ｎ｝，ｄ＿｛１，Ｎ｝），・・・，Ｕ＿｛ａ｝を計算する（ステップＥ５５６−１）。次に、Ｖ＿｛１｝＝ｅ（Ｂ＿｛１｝，ｄ＿｛１，０｝）を計算する。また、Ｖ＿｛１｝と同様にして、Ｖ＿｛２｝＝ｅ（Ｂ＿｛２｝，ｄ＿｛１，０｝），・・・，Ｖ＿｛ａ｝を計算する（ステップＥ５５７−１）。【０２１１】
次に、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝＝Ｕ＿｛１｝÷Ｖ＿｛１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，１｝＝Ｕ＿｛２｝÷Ｖ＿｛２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝＝Ｕ＿｛ａ｝÷Ｖ＿｛ａ｝を計算する（ステップＥ５５８−１）。ここで、部分開札データ生成手段１１５−１は、部分開札装置１１０−１が最初の拠点であることから、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝＝Ｄ＿｛ｖ＿｛ｉ｝，ａ，１｝とセットして、開札データ−１として、部分開札装置１１０−２に送る（ステップＥ５５ａ−１）。なお、開札データを次の拠点に送る際には、ｖ＿｛ｉ｝と、（Ｂ＿｛１｝，Ｃ＿｛１，１｝，・・・，Ｃ＿｛１，Ｎ｝），・・・，（Ｂ＿｛ａ｝，Ｃ＿｛ａ，１｝，・・・，Ｃ＿｛ａ，Ｎ｝）とを開札処理用データとして含めて送信する。【０２１２】
部分開札装置１１０−２は、前の拠点である部分開札装置１１０−１から開札データ−１と開札処理用データとを受信する。部分開札装置１１０−２の部分開札データ生成手段１１５−２は、まず、Ｈ＿｛１｝（ｖ＿｛ｉ｝）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＥ５５２−２）。次に、ｒ＿｛２，１｝，ｒ＿｛２，２｝，・・・，ｒ＿｛２，Ｎ｝をＺ＿｛ｑ｝の元からランダムに選ぶ（ステップＥ５５３−２）。次に、ｄ＿｛２，０｝＝Ｓ＿｛２｝・ｕ＿｛１，ａ＿｛１｝｝＾｛ｒ＿｛２，１｝｝・・・・・ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｒ＿｛２，Ｎ｝｝を計算する（ステップＥ５５４−２）。次に、ｄ＿｛２，１｝＝ｇ＾｛ｒ＿｛２，１｝｝，ｄ＿｛２，２｝＝ｇ＾｛ｒ＿｛２，２｝｝，・・・，ｄ＿｛２，Ｎ｝＝ｇ＾｛ｒ＿｛２，Ｎ｝｝を計算する（ステップＥ５５５−２）。次に、Ｕ＿｛１｝＝ｅ（Ｃ＿｛１，１｝，ｄ＿｛２，１｝）・・・・・ｅ（Ｃ＿｛１，Ｎ｝，ｄ＿｛２，Ｎ｝）を計算する。また、Ｕ＿｛１｝と同様にして、Ｕ＿｛２｝＝ｅ（Ｃ＿｛２，１｝，ｄ＿｛２，１｝）・・・・・ｅ（Ｃ＿｛２，Ｎ｝，ｄ＿｛２，Ｎ｝），・・・，Ｕ＿｛ａ｝を計算する（ステップＥ５５６−２）。次に、Ｖ＿｛１｝＝ｅ（Ｂ＿｛１｝，ｄ＿｛２，０｝）を計算する。また、Ｖ＿｛１｝と同様にして、Ｖ＿｛２｝＝ｅ（Ｂ＿｛２｝，ｄ＿｛２，０｝），・・・，Ｖ＿｛ａ｝を計算する（ステップＥ５５７−２）。【０２１３】
次に、Ｄ＿｛ｖ＿｛ｉ｝，１，２｝＝Ｕ＿｛１｝÷Ｖ＿｛１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，２｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，２｝＝Ｕ＿｛２｝÷Ｖ＿｛２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，２｝＝Ｕ＿｛ａ｝÷Ｖ＿｛ａ｝を計算する（ステップＥ５５８−２）。ここで、部分公開鍵生成手段１１４−２は、前の拠点である部分開札装置１１０−１から受信した開札データ−１を用いて、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，２｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝＝Ｄ＿｛ｖ＿｛ｉ｝，２，２｝・Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝＝Ｄ＿｛ｖ＿｛ｉ｝，ａ，２｝・Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＥ５５９−２）。次に、計算したＤ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を開札データ−２として、部分開札装置１１０−３に送信する（ステップＥ５５ａ−２）。同様の手順で、部分開札装置１１０−（ｎ−１）まで動作する。【０２１４】
部分開札装置１１０−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）から開札データ−（ｎ−１）と開札処理用データとを受信する。部分開札装置１１０−ｎの部分開札データ生成手段１１５−ｎは、まず、Ｈ＿｛１｝（ｖ＿｛ｉ｝）＝（ａ＿｛１｝，・・・，ａ＿｛Ｎ｝）を計算する（ステップＥ５５２−ｎ）。次に、ｒ＿｛ｎ，１｝，ｒ＿｛ｎ，２｝，・・・，ｒ＿｛ｎ，Ｎ｝をＺ＿｛ｑ｝の元からランダムに選ぶ（ステップＥ５５３−ｎ）。次に、ｄ＿｛ｎ，０｝＝Ｓ＿｛ｎ｝・ｕ＿｛１，ａ＿｛１｝｝＾｛ｒ＿｛ｎ，１｝｝，・・・，ｕ＿｛Ｎ，ａ＿｛Ｎ｝｝＾｛ｒ＿｛ｎ，Ｎ｝｝を計算する（ステップＥ５５４−ｎ）。次に、ｄ＿｛ｎ，１｝＝ｇ＾｛ｒ＿｛ｎ，１｝｝，ｄ＿｛ｎ，２｝＝ｇ＾｛ｒ＿｛ｎ，２｝｝，・・・，ｄ＿｛ｎ，Ｎ｝＝ｇ＾｛ｒ＿｛ｎ，Ｎ｝｝を計算する（ステップＥ５５５−ｎ）。次に、Ｕ＿｛１｝＝ｅ（Ｃ＿｛１，１｝，ｄ＿｛ｎ，１｝）・・・・・ｅ（Ｃ＿｛１，Ｎ｝，ｄ＿｛ｎ，Ｎ｝）を計算する。また、Ｕ＿｛１｝と同様にして、Ｕ＿｛２｝＝ｅ（Ｃ＿｛２，１｝，ｄ＿｛ｎ，１｝）・・・・・ｅ（Ｃ＿｛２，Ｎ｝，ｄ＿｛ｎ，Ｎ｝），・・・，Ｕ＿｛ａ｝を計算する（ステップＧ５４６−１）（ステップＥ５５６−ｎ）。次に、Ｖ＿｛１｝＝ｅ（Ｂ＿｛１｝，ｄ＿｛ｎ，０｝）を計算する。また、Ｖ＿｛１｝と同様にして、Ｖ＿｛２｝＝ｅ（Ｂ＿｛２｝，ｄ＿｛ｎ，０｝），・・・，Ｖ＿｛ａ｝を計算する（ステップＥ５５７−ｎ）。【０２１５】
次に、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝＝Ｕ＿｛１｝÷Ｖ＿｛１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２，ｎ｝＝Ｕ＿｛２｝÷Ｖ＿｛２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ，ｎ｝＝Ｕ＿｛ａ｝÷Ｖ＿｛ａ｝を計算する（ステップＥ５５８−ｎ）。ここで、部分公開鍵生成手段１１４−ｎは、前の拠点である部分開札装置１１０−（ｎ−１）から受信した開札データ−（ｎ−１）を用いて、Ｄ＿｛ｖ＿｛ｉ｝，１｝＝Ｄ＿｛ｖ＿｛ｉ｝，１，ｎ｝・Ｄ＿｛ｖ＿｛ｉ｝，１｝を計算する。また、Ｄ＿｛ｖ＿｛ｉ｝，１｝と同様にして、Ｄ＿｛ｖ＿｛ｉ｝，２｝＝Ｄ＿｛ｖ＿｛ｉ｝，２，ｎ｝・Ｄ＿｛ｖ＿｛ｉ｝，２｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝＝Ｄ＿｛ｖ＿｛ｉ｝，ａ，ｎ｝・Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を計算する（ステップＥ５５９−ｎ）。また、部分公開鍵生成手段１１４−ｎは、部分開札装置１１０−ｎが最後の拠点であることから、Ｄ＿｛ｖ＿｛ｉ｝，１｝，・・・，Ｄ＿｛ｖ＿｛ｉ｝，ａ｝を開札データとして、開札装置４１０に送信する（ステップＧ５１７−ｎ）。【０２１６】
部分開札装置１１０−ｎから開札データを受信した開札装置４１０の開札データ生成手段４１４は、受信した開札データをＩＢＥ復号手段４０５に出力する。以降の動作は、第５の実施の形態と同様のため、説明省略する。
【実施例９】
【０２１７】
次に、第９の実施例を用いて本発明を実施するための形態を説明する。本実施例は、本発明の電子入札システムの事業形態を、第１の実施の形態を例にとって具体的に説明する。図１に示す電子入札システムにおいて、例えば、部分開札装置１００は、開札作業の一部を管理する事業者（以下、部分開札事業者と呼ぶ）によって運営される。ここで、部分開札装置１００−１〜ｎは、異なる部分開札事業者によって運営されることが望ましい。また、ＩＢＥ公開鍵生成装置２００は、例えば、電子入札を主催する事業者（以下、入札主催事業者）によって運営される。入札主催事業者は、例えば、ある公共事業を外注する外注先を入札によって決定したい地方公共団体であってもよい。開札装置４００は、例えば、開札作業を取りまとめる事業者（以下、開札事業者と呼ぶ）によって運営される。【０２１８】
このような事業形態においては、まず、入札主催事業者が、公開パラメータを決定し、入札を実施する旨とともに、例えば新聞などによって公知する。次に、開札事業者が部分開札事業者に指示するなどして、部分開札装置１００および開札装置４００に公開パラメータを入力し、結果出力されるＩＢＥ公開鍵を公開する。次に、入札したい入札者が、入札装置３００に公開パラメータ、ＩＢＥ公開鍵および入札値を入力し、暗号入札データを開札装置４００に送信させる。このようにして送信される各入札者の暗号入札データを開札装置４００が受信して開札を行い、結果出力される落札結果を開札事業者が入札主催事業者に通知する。【０２１９】
なお、上記では第１の実施の形態による電子入札システムの事業形態について、具体例を示したが、他の実施の形態においても同様の事業形態が可能である。なお、第３または第４の実施の形態による電子入札システムの場合には、例えば、検証装置５２０は、入札値知識証明を検証する事業者（以下、入札値知識証明検証事業者と呼ぶ）によって運営される。なお、入札値知識証明検証事業者と開札事業者は、同一事業者であってもよい。【０２２０】
本発明は、上記に示した各実施例に限定されるものではなく、本発明の技術思想の範囲内において、各実施例を適宜変更して実施可能である。
【産業上の利用可能性】
【０２２１】
本発明は、通信ネットワークを介して入札値を秘匿にして入札を行う電子入札に好適に適用できる。
【図１】
2007063876.tif 000003
【図２】
2007063876.tif 000004
【図３】
2007063876.tif 000005
【図４】
2007063876.tif 000006
【図５】
2007063876.tif 000007
【図６】
2007063876.tif 000008
【図７】
2007063876.tif 000009
【図８】
2007063876.tif 000010
【図９】
2007063876.tif 000011
【図１０】
2007063876.tif 000012
【図１１】
2007063876.tif 000013
【図１２】
2007063876.tif 000014
【図１３】
2007063876.tif 000015
【図１４】
2007063876.tif 000016
【図１５】
2007063876.tif 000017
【図１６】
2007063876.tif 000018
【図１７】
2007063876.tif 000019
【図１８】
2007063876.tif 000020
【図１９】
2007063876.tif 000021
【図２０】
2007063876.tif 000022
【図２１】
2007063876.tif 000023
【図２２】
2007063876.tif 000024
【図２３】
2007063876.tif 000025
【図２４】
2007063876.tif 000026
【図２５】
2007063876.tif 000027
【図２６】
2007063876.tif 000028
【図２７】
2007063876.tif 000029
【図２８】
2007063876.tif 000030
【図２９】
2007063876.tif 000031
【国際調査報告】
2007063876.tif 000032
2007063876.tif 000033
2007063876.tif 000034
2007063876.tif 000035