JP4962317B2 - 電子入札システムおよび電子入札方法 - Google Patents

電子入札システムおよび電子入札方法 Download PDF

Info

Publication number
JP4962317B2
JP4962317B2 JP2007547961A JP2007547961A JP4962317B2 JP 4962317 B2 JP4962317 B2 JP 4962317B2 JP 2007547961 A JP2007547961 A JP 2007547961A JP 2007547961 A JP2007547961 A JP 2007547961A JP 4962317 B2 JP4962317 B2 JP 4962317B2
Authority
JP
Japan
Prior art keywords
bid
partial
data
bid opening
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007547961A
Other languages
English (en)
Other versions
JPWO2007063876A1 (ja
Inventor
寿幸 一色
和恵 佐古
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007547961A priority Critical patent/JP4962317B2/ja
Publication of JPWO2007063876A1 publication Critical patent/JPWO2007063876A1/ja
Application granted granted Critical
Publication of JP4962317B2 publication Critical patent/JP4962317B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/466Electronic auction

Description

本発明は、落札値以外の入札値を明かすことなく、落札値を決定できる電子入札システムおよび電子入札方法に関して、特に、入札時に入札価格に対応する公開鍵のリストを公開することなく、かつ価格秘匿性の証明が可能な電子入札システムおよび電子入札方法に関する。
従来の電子入札方法の代表的な例として、非特許文献1が挙げられる。非特許文献1に記載の電子入札方法は、入札者が、入札価格に対応する公開鍵を用いて予め定められた入札用メッセージを暗号化し、開札者が、入札用メッセージに復号できる秘密鍵を見つけることによって、その秘密鍵に対応する値がその入札者の入札価格であると判定する電子入札方法である。開札者が、落札条件に最も近い値(例えば、最高値)から順に復号を試みることによって、入札者全員の入札値を確認しなくても落札値を決定することができる。非特許文献1には、エルガマル暗号と呼ばれる暗号方式と、RSA暗号と呼ばれる暗号方式の2つの暗号方式を用いた電子入札方法が提案されている。
非特許文献1に記載のエルガマル暗号を用いた電子入札方法は、まず開札者が入札価格ごとに秘密鍵を定め、その秘密鍵から各入札価格に対応する公開鍵を計算し、入札価格と入札価格に対応する公開鍵をリスト化した価格・公開鍵リストを公開する。なお、開札者が定めた秘密鍵は開札者によって秘密に保管される。各入札者は、入札価格を決定し、価格・公開鍵リストに含まれる入札者が決定した入札価格に対応する公開鍵を用いて、予め定められた入札用メッセージ(例えば、「私は○○を購入します」)を暗号化し、開札者に送信する。
開札者は、例えば落札可能な入札価格の最大値に対応する秘密鍵から順に用いて、受信した全入札者の暗号文を復号していく。ここで、入札者の入札価格と一致する値に対応する秘密鍵を用いて暗号文を復号した場合には、暗号文が入札用メッセージに正しく復号されるため、復号に用いた秘密鍵からその入札者の入札価格を割り出すことができる。開札者は、例えば、最初に正しく復号できた暗号文の送り主を落札者として、またその際用いた秘密鍵に対応する値を落札値として決定する。
また、非特許文献1に記載のRSA暗号を用いた電子入札方法は、入札者が、自身で希望する入札価格を利用して公開鍵を生成することができる電子入札方法である。これは「ある”秘密”を知っている人は、任意の公開鍵から秘密鍵を生成することができる」というRSA暗号の性質を利用したものである。従って、非特許文献1に記載のRSA暗号を用いた電子入札方法では、開札者が入札価格に対応する公開鍵を生成し、公開する必要がない。
開札者は、秘密鍵から秘密鍵を計算するために必要な”秘密”を生成して保管しておき、開札時に、保管しておいた”秘密”を用いて入札価格に対応する秘密鍵を生成することで、暗号文を復号することができる。落札価格の決定は、上記で示したエルガマル暗号を用いた場合と同様である。なお、非特許文献1に記載の電子入札方法を用いた電子入札システムが、特許文献1に記載されている。
特開2000−200311号公報(段落0015−0017) 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
しかしながら、非特許文献1に記載の電子入札方法において、エルガマル暗号を用いた電子入札方法は、入札者に価格・公開鍵リストを公開する必要がある。この価格・公開鍵リストは、一般にサイズが大きいものであるため、効率がよくない。
また、RSA暗号を用いた電子入札方法は、価格・公開リストを公開する必要はないが、RSA暗号がある種の安全性を満たすことを仮定しても、RSA暗号を用いた電子入札方法に脆弱性がないことを数学的に証明できない。即ち、価格秘匿性を満たすという数学的な証明ができない。ここで、価格秘匿性とは、入札データから入札価格に関する情報が漏れないという電子入札に必要な性質をいう。
従って、本発明が解決しようとする課題は、入札価格に対応する公開鍵のリストを入札者に公開する必要がなく、かつ価格秘匿性の証明が可能な電子入札システム、電子入札方法を提供することである。
本発明の第1の視点による電子入札システムは、入札者が入札を行う入札装置と、前記入札装置と通信ネットワークを介して接続される開札装置とを備え、前記入札装置は、入札者から入力される入札値をIDとするIDベース暗号方式(Identity-Based Encryption ,IBE)を用いて暗号化を行うIBE暗号化手段(例えば、IBE暗号化手段302)と、前記IBE暗号化手段が暗号化した結果出力される暗号データを前記開札装置に送信する送信手段(例えば、送受信部301)とを備え、前記開札装置は、入札可能価格をIDとするIDベース暗号方式を用いて、前記入札装置から送信される暗号データの復号を行うIBE復号手段(例えば、開札データ生成手段404およびIBE復号手段405)と、前記IBE復号手段が復号した結果出力される復号データに基づいて、落札値および落札者を判定する判定手段(例えば、判定手段406)とを備えたことを特徴とする。
また、前記IBE暗号化手段は、少なくとも入札可能価格を示す情報と、予め定めた入札用メッセージと、IDベース暗号方式において暗号化および復号に用いる情報を示す暗号パラメータとを含み、開札者側から事前に公開されている情報である公開パラメータと、入札者から入力される入札値とを用いて、前記入札値をIDとするIDベース暗号方式の暗号理論に基づいて計算することによって、前記入札値に対応する暗号化鍵(公開鍵とも呼ばれる)を生成し、生成した暗号化鍵を用いて、所定の入札用メッセージを暗号化し、前記IBE復号手段は、復号に必要な秘密を示す復号用秘密情報と、前記公開パラメータと、各入札者の暗号データと、入札可能価格の中から所定の条件に従って選択される候補値とを用いて、前記候補値をIDとするIDベース暗号方式の暗号理論に基づいて計算することによって、暗号データを復号し、前記判定手段は、前記IBE復号手段が復号した復号データが、前記入札用メッセージと一致した場合に、復号に用いた前記候補値を秘匿にされた入札値と判断することによって判定を行ってもよい。
また、本発明の第2の視点による電子入札システムは、入札者が入札を行う入札装置と、復号に必要な秘密を示す復号用秘密情報を記憶している1つまたは複数の部分開札装置と、前記入札装置および前記部分開札装置と通信ネットワークを介して接続される開札装置とを備え、前記部分開札装置は、公開パラメータを入力として、前記復号用秘密情報に対応する情報であって、IDベース暗号方式において暗号化に用いるIBE公開鍵を生成するために必要な部分公開鍵を生成する部分公開鍵生成手段(例えば、部分公開鍵生成手段104)と、公開パラメータと、暗号データとを入力として、前記復号用秘密情報にかかる復号演算を行い、前記復号演算の結果を示す部分開札データを生成する部分開札データ生成手段(例えば、部分開札データ生成手段105)とを備え、前記入札装置は、公開パラメータと、前記部分公開鍵生成手段が生成した部分公開鍵を用いて生成されるIBE公開鍵と、入札者から入力される入札値とを入力として、前記入札値をIDとするIDベース暗号方式の暗号理論に基づき、所定の入札メッセージを暗号化した暗号データを生成する暗号データ生成手段(例えば、IBE暗号化手段302)を備え、前記開札装置は、公開パラメータと、前記部分公開鍵生成手段が生成した部分公開鍵を用いて生成されるIBE公開鍵と、暗号データと、前記部分開札データ生成手段が生成した部分開札データとを入力として、暗号データを復号した結果を示す復号データを生成する復号データ生成手段(例えば、IBE復号手段405)と、前記復号データ生成手段が生成した復号データに基づいて、落札値および落札者を判定する落札判定手段(例えば、判定手段406)とを備えたことを特徴とする。
また、前記開札装置は、前記部分開札装置から部分公開鍵を収集し、収集した部分公開鍵を所定の合成条件に従って合成することにより、IBE公開鍵を生成する開札装置側IBE公開鍵生成手段(例えば、IBE公開鍵生成手段202)を備えていてもよい。
また、前記部分開札装置は、該部分開札装置が1番目の拠点として設置されている場合に、該部分開札装置が備える部分公開鍵生成手段が生成した部分公開鍵をIBE公開鍵として、2番目の拠点の部分開札装置に送信し、また、前記部分開札装置が2番目以降の拠点として設置されている場合に、前の拠点から受信したIBE公開鍵と、該部分開札装置が備える部分公開鍵生成手段が生成した部分公開鍵とを所定の合成条件に従って合成してIBE公開鍵を更新していくことで、分散復号に必要な充足数を満たす部分公開鍵を逐次的に合成してIBE公開鍵を生成する部分開札装置側IBE公開鍵生成手段(例えば、部分公開鍵生成手段114)を備えていてもよい。
また、前記開札装置は、分散復号に必要な充足数を満たす部分開札データを収集し、収集した部分開札データを所定の合成条件に従って合成することにより、分散された復号用秘密情報にかかる復号演算の完全な演算結果を示す開札データを生成する開札装置側開札データ生成手段(例えば、開札データ生成手段404)を備えていてもよい。
また、前記部分開札装置は、該部分開札装置が1番目の拠点として設置されている場合に、該部分開札装置が備える部分開札データ生成手段が生成した部分開札データを開札データとして、2番目の拠点の部分開札装置に送信し、また、前記部分開札装置が2番目以降の拠点として設置されている場合に、前の拠点から受信した開札データと、該部分開札装置が備える部分開札データ生成手段が生成した部分開札データとを所定の合成条件に従って合成して部分開札データを更新していくことで、分散復号に必要な充足数を満たす部分開札データを逐次的に合成して開札データを生成する部分開札装置側開札データ生成手段(例えば、部分開札データ生成手段115)を備えていてもよい。
また、本発明の第3の視点によれば、前記電子入札システムは、前記入札装置および開札装置と、通信ネットワークを介して接続される入札値知識証明検証装置を備え、前記入札装置は、予め割り当てられた入札者固有の情報と、暗号化に用いる暗号パラメータのうち、該入札装置が無作為に選択することができる暗号化任意情報とを用いて、入札値に関する知識を証明するためのデータである入札値知識証明データを生成する入札値知識証明生成手段(例えば、入札値知識証明手段323)と、前記入札値知識証明生成手段が生成した入札値知識証明データを、暗号データ生成手段が生成した暗号データに付加する入札値知識証明データ付加手段と(例えば、入札値知識証明手段323)を備え、前記入札値知識証明検証装置は、公開パラメータと、前記入札値知識証明データ付加手段によって付加された入札値知識証明データ付き暗号データとを入力として、前記入札値知識証明データを前記入札者固有の情報に基づいて検証する検証手段(例えば、検証手段523)と、前記検証手段が検証した結果、正しい入札値知識証明データが付加されていた暗号データを開札装置に送信し、そうでない暗号データを不受理とする旨とともに出力する検証結果対応手段(例えば、検証手段523)とを備えていてもよい。
また、本発明の第4の視点による電子入札方法は、入札者が入札を行う入札装置と、前記入札装置と通信ネットワークを介して接続される開札装置とを備えた電子入札システムで使用される電子入札方法であって、前記入札装置が、入札者から入力される入札値をIDとするIDベース暗号方式を用いて暗号化を行い、前記入札装置が、暗号化した結果出力される暗号データを前記開札装置に送信し、前記開札装置が、入札可能価格をIDとするIDベース暗号方式を用いて、前記入札装置から送信される暗号データの復号を行い、前記開札装置が、復号した結果出力される復号データに基づいて、落札値および落札者を判定することを特徴とする。
また、本発明の第5の視点による電子入札方法は、入札者が入札を行う入札装置と、復号に必要な秘密を示す復号用秘密情報を記憶している1つまたは複数の部分開札装置と、前記入札装置および前記部分開札装置と通信ネットワークを介して接続される開札装置とを備えた電子入札システムで使用される電子入札方法であって、前記部分開札装置が、公開パラメータを入力として、前記復号用秘密情報に対応する情報であって、IDベース暗号方式において暗号化に用いるIBE公開鍵を生成するために必要な部分公開鍵を生成し、前記部分開札装置が、公開パラメータと、暗号データとを入力として、前記復号用秘密情報にかかる復号演算を行い、前記復号演算の結果を示す部分開札データを生成し、前記入札装置が、公開パラメータと、前記部分開札装置が生成した部分公開鍵を用いて生成されるIBE公開鍵と、入札者から入力される入札値とを入力として、前記入札値をIDとするIDベース暗号方式の暗号理論に基づき、所定の入札メッセージを暗号化した暗号データを生成し、前記開札装置が、公開パラメータと、前記部分開札装置が生成した部分公開鍵を用いて生成されるIBE公開鍵と、暗号データと、前記部分開札装置が生成した部分開札データとを入力として、暗号データを復号した結果を示す復号データを生成し、前記開札装置が、前記復号データに基づいて、落札値および落札者を判定してもよい。
また、本発明の第6の視点によれば、前記電子入札方法は、前記入札装置が、予め割り当てられた入札者固有の情報と、暗号化に用いる暗号パラメータのうち、該入札装置が無作為に選択することができる暗号化任意情報とを用いて、入札値に関する知識を証明するためのデータである入札値知識証明データを生成し、前記入札装置が、前記生成した入札値知識証明データを、暗号データに付加して、通信ネットワークを介して接続される入札値知識証明検証装置に送信し、前記入札値知識証明検証装置が、公開パラメータと、前記入札値知識証明データ付き暗号データとを入力として、前記入札値知識証明データを前記入札者固有の情報に基づいて検証し、前記入札値知識証明検証装置が、検証した結果、正しい入札値知識証明データが付加されていた暗号データを開札装置に送信し、そうでない暗号データを不受理とする旨とともに出力してもよい。
また、本発明の第7の視点によれば、前記した各電子入札システムを構成する入札装置、開札装置、部分開札装置又は入札値知識証明検証装置が提供される。
また、本発明の第8の視点によれば、前記した各電子入札方法を実施するためのコンピュータプログラム又は該コンピュータプログラムを格納した記憶媒体が提供される。
本発明によれば、入札値をIDとするIDベース暗号方式を用いて暗号化するので、入札価格に対応する公開鍵のリストを開札者側が公開する必要がなく、かつ価格秘匿性の証明が可能である。
また、復号用秘密情報を複数の部分開札装置に分散して記憶させておくことができるため、不正に落札値以外の入札値を求める行為をより効果的に防止することができる。
また、暗号データに入札値に関する知識証明データを付与し、検証するので、他人の暗号データの不正利用を防止することができる。
本発明による電子入札システムの構成例を示すブロック図である。 本実施の形態によるIBE公開鍵生成動作の一例を示す流れ図である。 本実施の形態による入札動作の一例を示す流れ図である。 本実施の形態による開札動作の一例を示す流れ図である。 第2の実施の形態による電子入札システムの構成例を示すブロック図である。 第2の実施の形態によるIBE公開鍵生成動作の一例を示す流れ図である。 第2の実施の形態による開札動作の一例を示す流れ図である。 第3の実施の形態による電子入札システムの構成例を示すブロック図である。 第3の実施の形態による入札動作の一例を示す流れ図である。 第3の実施の形態による検証動作の一例を示す流れ図である。 第4の実施の形態による電子入札システムの構成例を示すブロック図である。 本実施例におけるIBE公開鍵生成動作の一例を示す流れ図である。 本実施例における入札動作の一例を示す流れ図である。 本実施例における開札動作の一例を示す流れ図である。 本実施例における開札動作のうちの部分開札データ生成の動作例を示す流れ図である。 第2の実施例におけるIBE公開鍵生成動作の一例を示す流れ図である。 第2の実施例における開札動作の一例を示す流れ図である。 第2の実施例における開札動作のうちの開札データ合成の動作例を示す流れ図である。 第3の実施例における入札動作の一例を示す流れ図である。 第3の実施例における検証動作の一例を示す説明図である。 第5の実施例におけるIBE公開鍵生成動作の一例を示す流れ図である。 第5の実施例における入札動作の一例を示す流れ図である。 第5の実施例における開札動作の一例を示す流れ図である。 第5の実施例における開札動作のうちの部分開札データ生成の動作例を示す流れ図である。 第6の実施例におけるIBE公開鍵生成動作の一例を示す流れ図である。 第6の実施例における開札動作の一例を示す流れ図である。 第6の実施例における開札動作のうちの開札データ合成の動作例を示す流れ図である。 第7の実施例における入札動作の一例を示す流れ図である。 第7の実施例における検証動作の一例を示す説明図である。
符号の説明
100 部分開札装置
101 送受信部
102 部分秘密鍵生成手段
103 部分秘密鍵格納装置
104 部分公開鍵生成手段
105 部分開札データ生成手段
200 IBE公開鍵生成装置
201 送受信部
202 IBE公開鍵生成手段
300 入札装置
301 送受信部
302 IBE暗号化手段
400 開札装置
401 送受信部
402 暗号入札データ記憶装置
403 落札値候補決定手段
404 開札データ生成手段
405 IBE復号手段
406 判定手段
323 入札値知識証明手段
520 入札値知識証明検証装置
521 送受信部
522 入札値知識証明付き暗号入札データ記憶装置
523 検証手段
実施の形態1.
まず、本発明の概要を説明する。本発明は、電子入札において、入札価格を秘匿にするための暗号化にIDベース暗号方式(Identity-Based Encryption ,IBE)を用いることを特徴とする。IDベース暗号方式とは、発信者側で、例えば受信者の電子メールアドレスや会員番号などの固有のIDを用いて公開鍵を生成し、その公開鍵を用いてメッセージを暗号化することができる暗号方式である。本発明では、入札値(入札価格を示す値)をIDとして用いることによって、より安全で効率のよい電子入札を実現する。
つまり、入札値をIDとするIDベース暗号方式を用いることによって、入札者側が自身の入札値を用いて公開鍵を生成することができるため、開札者側が入札価格に対応する公開鍵のリストを公開する必要がなく、効率のよい電子入札が可能となる。
また、本発明が用いるIDベース暗号方式として、例えば、文献「D.Boneh and M.Franklin, "Identity-Based Encryption from the Weil Pairing", SLAM J. of Computing, 2003, Vol.32, No.3, pp.586-615」(非特許文献2)に記載されているIDベース暗号方式(以下、Boneh−FranklinIBE方式という。)を用いることができる。Boneh−FranklinIBE方式は、ペアリングを用いたIDベース暗号方式であって、ランダムオラクルと呼ばれる理想的なハッシュ関数の存在を仮定し、さらに数学的な仮定をおくことにより安全性を証明できるIDベース暗号方式である。
このBoneh−FranklinIBE方式では、暗号文から暗号化に用いた公開鍵に関する情報が漏洩しないという安全性証明が数学的に可能である。従って、入札値をIDとするBoneh−FranklinIBE方式を用いて生成した公開鍵を用いて暗号化した暗号文を入札することによって、入札値に関する情報が漏れないという価格秘匿性が証明できる。
また、本発明においては、非特許文献2に記載のBoneh−FranklinIBE方式だけでなく、例えば、文献「D.Boneh and X.Boyen, "Secure Identity Based Enctyption Without Random Oracles", CRYPTO2004, Lecture Notes in Computer Science, 2004, No.3152, pp.443-459」(非特許文献3)に記載されているIDベース暗号方式(以下、Boneh−BoyenIBE方式という。)も利用可能である。Boneh−BoyenIBE方式は、同じくペアリングを用いたIDベース暗号方式であって、Boneh−FranklinIBE方式に比べて安全性が依拠している数学的な仮定が強いが、理想的なハッシュ関数であるランダムオラクルの存在を仮定しないで安全性を証明できるIDベース暗号方式である。なお、上記で示した2つのIDベース暗号方式に限らず、暗号文から暗号化に用いた公開鍵に関する情報が漏洩しないという安全性証明が数学的に可能なIDベース暗号方式であれば、他のIDベース暗号方式であってもよい。
さらに、本発明は、復号に必要な”秘密”を示す復号用秘密情報を複数の装置に分散させて管理することが可能な電子入札方法を提案する。なお、このような電子入札を実現するためには、上記で示したIDベース暗号方式の性質に加えて、分散復号(group decryption)が可能であるという性質を満たすIDベース暗号方式を用いることが条件となる。ここで、「分散復号が可能」とは、復号用秘密情報を複数で分散して生成することができ、かつ分散された復号用秘密情報のうち、予め定められた充足数(例えば、10あるうちの7つ)を用いれば復号処理を行うことができる暗号理論上の性質をいう。なお、上記で示した2つのIDベース暗号方式は、いずれも分散復号が可能なIDベース暗号方式である。
本発明では、開札者側が、複数の部分開札装置が生成した部分秘密鍵に対応する部分公開鍵を所定の合成条件に基づいて合成したIBE公開鍵を暗号化に用いるパラメータとして公開し、入札者側が、そのIBE公開鍵と入札価格とを用いて所定の入札用メッセージを暗号化することによって分散復号を実現する。ここで、部分秘密鍵とは、各装置が任意性を持って定めた復号用秘密情報に基づいて生成される分散された秘密鍵(復号用秘密情報そのままである場合も含む。)をいう。任意性とは、各部分開札装置が部分秘密鍵を生成する際に用いるパラメータの少なくとも1つを無作為に抽出することが可能な性質をいう。また、部分公開鍵とは、部分秘密鍵に対応する情報であってIBE公開鍵の元となる情報である。また、IBE公開鍵とは、部分開札装置が生成した部分秘密鍵を用いて復号するために必要な情報であって、開札者側から入札前に公開される暗号方式に関するパラメータである。また、IBE公開鍵を生成するための合成条件(以下、IBE公開鍵の合成条件という。)とは、分散復号の充足数を満たす部分秘密鍵を用いて、暗号化した入札用メッセージの復号演算を分散して行うことを可能とする数学理論上の演算条件をいう。なお、具体的なIBE公開鍵の合成条件は、IDベース暗号方式の暗号理論に依存する。
また、開札時には、開札者側が、分散復号の充足数を満たす部分開札装置に部分秘密鍵にかかる復号演算を行わせて、結果出力されるデータ(以下、部分開札データという。)を合成することによって完全な復号結果を得る。このようにして復号用秘密情報を分散して管理することによって、不正に落札値以外の入札値を求める行為をより効果的に防止することができる。つまり、不正に落札値以外の入札値を確認しようとした場合、攻撃者は、入札値のとりうる値に対して改めて必要な部分開札データを全て取得した上で合成しなければ、他の入札者の入札値を完全には確認することができない。従って、1つの装置で復号用秘密情報を管理する場合に比べて、不正に必要な部分開札データを取得する点およびそれらを正しく合成する点の困難性において、不正に落札値以外の入札値を求める行為を防止できる。
以下、本発明の実施の形態を図面を参照して説明する。図1は、本発明による電子入札システムの構成例を示すブロック図である。図1に示す電子入札システムは、1つ以上の部分開札装置100−1〜n(nは部分開札装置の数に対応する数値)と、IBE公開鍵生成装置200と、入札装置300と、開札装置400とを備える。なお、各装置は、通信ネットワーク(例えば、インターネットや専門回線)を介して接続される。また、図1では、1つの入札装置300を示しているが、入札装置300は、例えば入札者の数に応じて、複数存在してもよい。なお、複数の入札者がいる場合であっても、ログイン時にユーザID等を入力させることによって、1つの入札装置300で各入札者に応じた入札を行うことも可能である。また、図1において破線で囲まれたデータは、各装置に公開されるデータを示している(予め記憶装置に記憶される場合も含む)。
部分開札装置100−1は、主に部分秘密鍵を管理して部分秘密鍵にかかる復号演算を行う情報処理装置(例えば、パーソナルコンピュータ)であって、送受信部101−1と、部分秘密鍵生成手段102−1と、部分秘密鍵格納装置103−1と、部分公開鍵生成手段104−1と、部分開札データ生成手段105−1とを有する。送受信部101−1は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。部分秘密鍵生成手段102−1は、公開パラメータに基づいて部分秘密鍵を生成する。
ここで、公開パラメータとは、開札者側から事前に公開される入札に必要な情報であって、入札に関する情報と暗号方式に関する情報とを含む情報である。入札に関する情報とは、少なくとも入札可能価格と入札用メッセージとを含む情報であって、必要に応じて入札時期などを含めてもよい。入札可能価格として、例えば、入札値のとりうる値をリスト化してもよいし、入札値のとりうる値によっては入札価格の最小値と最大値と上がり幅とを指定してもよい。また、暗号方式に関する情報とは、暗号化および復号の計算に必要なパラメータ(例えば、セキュリティパラメータ)であって、用いるIDベース暗号方式によって異なる。
部分秘密鍵格納装置103−1は、部分秘密鍵生成手段102−1が生成した部分秘密鍵−1を記憶する。部分公開鍵生成手段104−1は、部分秘密鍵生成手段102−1が生成した部分秘密鍵−1および公開パラメータに基づいて、部分秘密鍵−1に対応する部分公開鍵−1を生成し、IBE公開鍵生成装置200に送信する。部分開札データ生成手段105−1は、部分秘密鍵格納装置103−1に記憶された部分秘密鍵−1を用いて各入札者の暗号化された入札用メッセージ(以下、暗号入札データという。)の開札処理を行い、部分開札データ−1を生成する。ここで、開札処理とは、暗号入札データから入札値を得るために行う復号演算をいう。また、部分開札データは、既に説明したように、部分秘密鍵を用いた開札処理の結果出力されるデータである。
なお、ここでは部分開札装置100−1について説明したが、他の部分開札装置についても同様である。以下、全部分開札装置に共通な事項を説明する場合には、例えば、”部分開札装置100”のように、”−”以下を省略して表現する場合がある。なお、図1に示す構成において、部分秘密鍵生成手段102、部分公開鍵生成手段104および部分開札データ生成手段105は、プログラムに従って動作する部分開札装置100のCPUによって実現される。送受信部101は、プログラムに従って動作する部分開札装置100のCPUと、ハードウェアの通信装置とによって実現される。部分秘密鍵格納装置103は、部分開札装置100の記憶装置によって実現される。
IBE公開鍵生成装置200は、部分開札装置100によって分散して管理されている部分公開鍵からIBE公開鍵を生成して公開する情報処理装置(例えば、パーソナルコンピュータ)であって、送受信部201と、IBE公開鍵生成手段202とを有する。送受信部201は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。IBE公開鍵生成手段202は、公開パラメータおよび部分開札装置100−1〜nが生成した部分公開鍵−1〜nに基づいて、IBE公開鍵を生成する。ここでIBE公開鍵とは、既に説明したように、分散復号を可能とするIBE公開鍵の合成条件に従って部分公開鍵−1〜nを合成した、暗号方式に関するパラメータの一つである。
なお、図1に示す構成において、IBE公開鍵生成手段202は、プログラムに従って動作するIBE公開鍵生成装置200のCPUによって実現される。送受信部201は、プログラムに従って動作するIBE公開鍵生成装置200のCPUと、ハードウェアの通信装置とによって実現される。
入札装置300は、入札者が入札を行うために用いる情報処理装置(例えば、パーソナルコンピュータ)であって、送受信部301と、IBE暗号化手段302とを有する。送受信部301は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。IBE暗号化手段302は、公開パラメータとIBE公開鍵生成装置200が生成したIBE公開鍵と入札者から入力される入札値とに基づいて、暗号入札データを生成する。なお、図1に示す構成において、IBE暗号化手段302は、プログラムに従って動作する入札装置300のCPUによって実現される。送受信部301は、プログラムに従って動作する入札装置300のCPUと、ハードウェアの通信装置とによって実現される。なお、入札装置300の機能を実現するためのプログラムは、入札装置300が備える記憶装置に記憶されるプログラムだけでなく、例えば、入札を行うための入札サイトを提供しているWebサーバにアクセスすることによってダウンロードされ実行されるクライアント側アプリケーションプログラムであってもよい。
開札装置400は、入札装置300から送られる暗号入札データを開札して落札値および落札者を決定する情報処理装置(例えば、パーソナルコンピュータ)であって、送受信部401と、暗号入札データ記憶装置402と、落札値候補決定手段403と、開札データ生成手段404と、IBE復号手段405と、判定手段406とを有する。送受信部401は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。暗号入札データ記憶装置402は、入札装置300から送られる暗号入札データを記憶する。
落札値候補決定手段403は、暗号入札データを開札する際に、落札値の候補とする入札値(以下、落札値候補という。)を決定する。開札データ生成手段404は、部分秘密鍵にかかる復号演算に必要なデータを各部分開札装置100に送信し、各部分開札装置100から送られる部分開札データをIBE公開鍵の合成条件に応じて定まる合成条件に基づき合成して開札データを生成する。IBE復号手段405は、開札データ生成手段404が生成した開札データに基づいて各暗号入札データを復号し、結果を復号データリストとしてまとめる。判定手段406は、IBE復号手段405から出力される復号データリストに基づいて落札値候補が落札値となりうるか否かを判定する。
なお、図1に示す構成において、暗号入札データ記憶装置402は、開札装置400の記憶装置によって実現される。落札値候補決定手段403、開札データ生成手段404、IBE復号手段405および判定手段406は、開札装置400のCPUによって実現される。送受信部401は、開札装置400のCPUと、ハードウェアの通信装置とによって実現される。
次に、本実施の形態における電子入札システムの動作について説明する。本実施の形態における電子入札システムの動作は、大きく分けて、入札を実施する前にIBE公開鍵を生成するIBE公開鍵生成動作と、入札者から入力される入札値に基づいて暗号化した暗号入札データを開札者側へ送信する入札動作と、受信した暗号入札データを復号し落札値を決定する開札動作とに分かれる。なお、本システムが備える各装置には事前に公開パラメータが入力されているものとする。例えば、各装置が備える記憶装置に予め記憶しておいてもよいし、開札を行う事業者から予め記憶媒体(例えば、CD−ROM)に記憶されて配布される場合には、その記憶媒体から読み込んでもよい。また、所定のタイミング(起動時や各動作の開始時)または所有者の指示に応じて通信ネットワークを介して公開パラメータを管理している管理装置(IBE公開鍵生成装置や開札装置であってもよい)にアクセスして受信してもよい。
まず、IBE公開鍵生成動作について図2を参照して説明する。図2は、本実施の形態によるIBE公開鍵生成動作の一例を示す流れ図である。ここでは、復号用秘密情報を分散させて管理するために、部分開札装置100が複数存在する場合を例にとって説明する。部分開札装置100−1〜nおよびIBE公開鍵生成装置200には、それぞれ公開パラメータが入力されている(ステップA100)。まず、部分開札装置100−1〜nが動作する。以下、部分開札装置100−1を例にとって説明する。
まず、部分秘密鍵生成手段102−1は、公開パラメータを入力として、部分秘密鍵−1を生成する(ステップA200−1)。部分秘密鍵生成手段102−1は、公開パラメータを用いて、例えば、IDベース暗号方式に応じた暗号理論に基づいて抽出または計算することによって部分秘密鍵−1を生成する。なお、具体的な生成方法はIDベース暗号方式によって異なる。また、部分秘密鍵生成手段102−1は、生成した部分秘密鍵−1を部分秘密鍵格納装置103−1に格納する。
次に、部分公開鍵生成手段104−1は、公開パラメータおよび部分秘密鍵生成手段102−1が生成した部分秘密鍵−1を入力として、部分公開鍵−1を生成する(ステップA300−1)。部分公開鍵生成手段104−1は、公開パラメータおよび部分秘密鍵−1を用いて、例えば、IDベース暗号方式に応じた暗号理論に基づいて計算することによって、部分秘密鍵−1に対応する部分公開鍵−1を生成する。なお、具体的な生成方法はIDベース暗号方式によって異なる。また、部分公開鍵生成手段104−1は、送受信部101を通じて、生成した部分公開鍵−1をIBE公開鍵生成装置200に送信する(ステップA400−1)。
他の部分開札装置も同様に動作する。例えば、部分開札装置100−nの部分秘密鍵生成手段102−nは、公開パラメータを入力として、部分秘密鍵−nを生成し(ステップA200−n)、部分秘密鍵格納装置103−nに格納する。次に、部分公開鍵生成手段104−nは、公開パラメータおよび部分秘密鍵−nを入力として、部分公開鍵−nを生成し(ステップA300−n)、IBE公開鍵生成装置200に送信する(ステップA400−n)。
また、IBE公開鍵生成装置200は、部分開札装置100−1〜nから部分公開鍵−1〜nを受信する。IBE公開鍵生成装置200のIBE公開鍵生成手段202は、公開パラメータおよび受信した部分公開鍵−1〜nを入力として、IBE合成鍵を生成する(ステップA500)。IBE公開鍵生成手段202は、公開パラメータと部分公開鍵−1〜nとを用いて、例えば、IDベース暗号方式に応じたIBE公開鍵の合成条件に基づいて計算することによって、IBE公開鍵を生成する。なお、具体的な生成方法はIDベース暗号方式によって異なる。例えば、Boneh−FranklinIBE方式を用いる場合には、各部分公開鍵を掛け合わせることによって、分散復号を可能とするIBE公開鍵を生成することができる。
また、IBE公開鍵生成手段202は、生成したIBE公開鍵を公開する(ステップA600)。例えば、IBE公開鍵生成手段202は、送受信部201を通じて、入札装置300および開札装置400にIBE公開鍵を送信することによって公開してもよい。または、IBE公開鍵を配信するための専用Webサイトを提供することによって公開することも可能である。また、開札者が配布可能なようにIBE公開鍵を印刷したり、記憶媒体などに記憶することによって公開することも可能である。
なお、復号用秘密情報を分散管理しない場合、つまり部分開札装置100が1つである場合には、部分公開鍵−1のみを用いてIBE公開鍵を生成する。
次に、入札動作について図3を参照して説明する。図3は、本実施の形態による入札動作の一例を示す流れ図である。入札装置300には、公開パラメータとIBE公開鍵と入札値とが入力されている(ステップB100)。IBE公開鍵は、IBE公開鍵生成動作において説明したように、IBE公開鍵生成装置200から受信してもよい。また、IBE公開鍵生成装置200が専用Webサイトを提供する場合には、専用Webサイトにアクセスして受信してもよい。また、記憶媒体から読み込んでもよいし、入力画面を表示することによって、紙などに印刷されているIBE公開鍵を入札者に入力させてもよい。また、入札値は、例えば、入力画面を表示することによって入札者に入力させる。
まず、入札装置300のIBE暗号化手段302は、公開パラメータとIBE公開鍵と入札値とを入力として、暗号入札データを生成する(ステップB200)。IBE暗号化手段302は、公開パラメータとIBE公開鍵と入札値とを用いて、例えば、IDベース暗号方式に応じた暗号理論に基づいて計算することによって、暗号入札データを生成する。IBE暗号化手段302は、例えば、公開パラメータとIBE公開鍵と入札値とを用いて入札値に対応する公開鍵を生成し、生成した公開鍵を用いて入札用メッセージを暗号化することによって暗号入札データを生成する。また、IBE暗号化手段302は、送受信部301を通じて、生成した暗号入札データを開札装置400に送信する(ステップB300)。
開札装置400は、入札装置300から暗号入札データを受信する。開札装置400は、受信した暗号入札データを入札者がわかるように(例えば、入札者を示す情報と対応づけて)、暗号入札データ記憶装置402に記憶する。
次に、開札動作について図4を参照して説明する。図4は、本実施の形態による開札動作の一例を示す流れ図である。開札装置400には、公開パラメータとIBE公開鍵と全入札者の暗号入札データとが入力されている(ステップC100)。全入札者の暗号入札データは、入札動作において説明したように、開札装置400が備える暗号入札データ記憶装置402に記憶されている。
まず、開札装置400の落札値候補決定手段403は、落札値候補を決定する(ステップC200)。落札値候補の決定は、復号を行う復号鍵を選択する行為に相当する。ここでは、落札条件に最も近い値から順に復号を試みる場合を例にとって説明する。落札値候補決定手段403は、例えば、入札可能価格のうち最大値を最初の落札値候補に決定する。
次に、開札データ生成手段404は、部分開札装置が部分秘密鍵を用いた開札処理を行うために必要なデータを開札処理用データとしてまとめて、部分開札装置100−1〜nに送信する(ステップC300)。開札処理用データには、少なくとも落札値候補決定手段403が決定した落札値候補と全入札者の暗号入札データ(の一部を抽出する場合もある)とが含まれる。なお、ここでは部分開札装置100−1〜nに送信すると説明したが、分散復号の充足数を満たす数の部分開札装置100だけに送信することも可能である。また、復号用秘密情報を分散管理しない場合、つまり部分開札装置100が1つである場合には、部分開札装置100−1にだけ送信すればよい。ここでは、分散復号の充足数がn(全て部分開札装置が必要)である場合を例にとって説明する。
部分開札装置100−1〜nは、開札処理用データをそれぞれ受信する。開札処理用データを受信した部分開札装置100−1〜nは、それぞれ次に示すように動作する。以下、部分開札装置100−1を例にとって説明する。部分開札装置100−1の部分開札データ生成手段105−1は、受信した開札処理用データ(落札値候補と全入札者の暗号入札データ)と公開パラメータとIBE公開鍵と部分秘密鍵格納装置103−1に記憶してある部分秘密鍵−1とを入力として、部分開札データ−1を生成し、開札装置400に送信する(ステップC400−1,C500−1)。部分開札データ生成手段105−1は、落札値候補と全入札者の暗号入札データと公開パラメータとIBE公開鍵と部分秘密鍵−1とを用いて、例えば、IDベース暗号方式に応じた暗号理論に基づいて計算することによって、暗号入札データ毎の落札値候補に対応する部分秘密鍵にかかる復号演算の結果を示す部分開札データ−1を生成する。
他の部分開札装置も同様に動作する。例えば、部分開札装置100−nの部分開札データ生成手段105−nは、受信した開札処理用データ(落札値候補と全入札者の暗号入札データ)と公開パラメータとIBE公開鍵と部分秘密鍵格納装置103−nに記憶してある部分秘密鍵−nとを入力として、部分開札データ−nを生成し、開札装置400に送信する(ステップC400−n,C500−n)。
開札装置400は、部分開札装置100−1〜nから部分開札データ−1〜nを受信する。開札装置400の開札データ生成手段404は、受信した部分開札データ−1〜nと、公開パラメータとIBE公開鍵と暗号入札データ記憶装置402に記憶されている全入札者の入札データとを入力として、開札データを生成する(ステップC600)。ここで、開札データとは、部分開札装置が生成した部分開札データを合成したデータであって、暗号入札データ毎の落札値候補に対応する秘密鍵にかかる復号演算の結果を示すデータである。開札データ生成手段404は、部分開札データ−1〜nと公開パラメータとIBE公開鍵と全入札者の入札データとを用いて、例えば、IDベース暗号方式に応じた分散復号の合成条件に基づいて計算することによって、開札データを生成する。なお、ここでは全ての部分開札データを用いると説明したが、既に説明したように、分散復号の充足数を満たす数の部分開札データを用いて開札データを生成することも可能である。また、復号用秘密情報を分散管理しない場合、つまり部分開札装置100が1つである場合には、部分開札データ−1がそのまま開札データとなる。
次に、IBE復号手段405は、開札データ生成手段404が生成した開札データと公開パラメータとIBE公開鍵と全暗号入札データとを入力として、全暗号入札データを復号し、復号データリストを生成する(ステップC700)。ここで、復号データリストとは、開札データを用いて各暗号入札データに復号処理を行った結果出力される復号データをリスト化したものをいい、各暗号入札データをそれぞれ、落札値候補に対応する秘密鍵を用いて完全に復号した状態を示す復号データの集合(全入札者分)をいう。IBE復号手段405は、開札データと公開パラメータとIBE公開鍵と全入札者の暗号入札データとを用いて、例えば、IDベース暗号方式に応じた暗号理論に基づいて計算することによって、復号データを生成する。
次に、判定手段406は、公開パラメータと復号データリストとを入力として、復号データリストの中に、正しい形式をした復号データが存在するか否かを判定する(ステップC800)。判定手段406は、具体的には、復号データと公開パラメータに含まれる入札用メッセージとが一致する場合に正しい形式であると判定する。正しい形式をした復号データが存在する場合には、判定手段406は、その復号データの復号に用いた落札値候補を落札値と決定する(ステップC900)。なお、正しい形式に復号された復号データの入札者が落札者となる。例えば、同じ入札値が複数入札された場合であっても、入札者ごとに復号データを生成するため、正しく落札者を決定することができる。
また、正しい形式をしたデータが存在しなかった場合には、落札値候補を入札値とした入札者がいなかったとして、落札値候補を更新して落札値が決定するまで復号処理(ステップC300〜C700)を繰り返す(ステップC200に戻る)。なお、ここでは落札値が決定するまで繰り返すと説明したが、例えば、落札者が複数ありうる場合には、落札者が全て決定されるまで繰り返す。
本実施の形態によれば、入札価格を秘匿にするための暗号化に入札値をIDとするIDベース暗号方式を用いているため、公開パラメータに入札価格に対応する公開鍵のリストを含める必要がない。それは、入札装置300が入札者から入力される入札値を用いて、入札値に対応する公開鍵を生成することができるからである。さらに、開札に用いる部分秘密鍵を部分開札装置が分散して記憶するので、不正に落札値以外の入札値を求める行為を防止できる。
また、入札値に対応する公開鍵を用いて公開している入札用メッセージを暗号化しているので、落札値よりも落札条件に近い入札可能値に対応する復号鍵で全入札者の暗号入札データを復号した結果が正しい形式をしていなかったことを証明することにより、開札の正当性を証明することができる。例えば、入札を締め切った時点で、全入札者の暗号入札データを公開しておき、落札値が決定した際には、落札値よりも落札条件に近い入札可能値に対応する復号鍵を全て公開することによって、誰もが全入札者の暗号入札データの復号を試すことができるので、落札値よりも落札条件に近い入札値が入札されていなかったことを検証できる。
例えば、最大の入札値を落札値とする場合には、入札可能値のうち落札値より大きな値に対応する復号鍵を全て公開することで正当性を証明できる。同様に、例えば最小の入札値を落札値とする場合には、入札可能値のうち落札値より小さな値に対応する復号鍵を全て公開することで正当性を証明できる。なお、落札値に対応する復号鍵を公開して、落札者の暗号入札メッセージが正しく復号されるかを検証させることも可能である。
実施の形態2.
次に、本発明の第2の実施の形態を図面を参照して説明する。図5は、第2の実施の形態による電子入札システムの構成例を示すブロック図である。図5に示す電子入札システムは、1つ以上の部分開札装置110−1〜n(nは部分開札装置の数に対応する数値)と、入札装置300と、開札装置410とを備える。なお、各装置は、通信ネットワーク(例えば、インターネットや専門回線)を介して接続される。図5に示す電子入札システムは、図1に示す第1の実施の形態に比べて、IBE公開鍵生成装置200が省略されている点が異なる。また、部分開札装置110および開札装置410も、一部第1の実施の形態と異なる。なお、入札装置300は第1の実施の形態と同様である。入札装置300は、第1の実施の形態と同様に、例えば入札者の数に応じて複数存在してもよい。また、図5においても破線で囲まれたデータは、各装置に公開されるデータを示している。
本実施の形態では、分散復号にかかる合成処理であるIBE公開鍵と開札データの合成演算を、部分開札装置110が前の拠点から次の拠点へ受け渡しながら逐次的に行う。部分開札装置110−1〜nは、それぞれ送受信部101と、部分秘密鍵生成手段102と、部分秘密鍵格納装置103と、部分公開鍵生成手段114と、部分開札データ生成手段115とを有する。ここでは、部分公開鍵生成手段114および部分開札データ生成手段115が第1の実施の形態と異なる。
本実施の形態において、部分公開鍵生成手段114は、部分秘密鍵生成手段102が生成した部分秘密鍵および公開パラメータに基づいて、部分秘密鍵に対応する部分公開鍵を生成する。部分公開鍵生成手段114は、前の拠点の部分開札装置110から送られてくるIBE公開鍵と自身が生成した部分公開鍵とを合成することによってIBE公開鍵を更新し、次の拠点の部分開札装置110へ送信する。なお、最初の拠点として設置されている場合には、生成した部分公開鍵をそのままIBE公開鍵として次の拠点へ送信する。また、最後の拠点として設置されている場合には、更新したIBE公開鍵を公開する。つまり、部分公開鍵生成手段114は、前の拠点から次の拠点へ順に受け渡しながら、部分公開鍵を逐次的に合成していくことで、IBE公開鍵を生成する。なお、IBE合成鍵の合成条件は、第1の実施の形態と同様である。
また、部分開札データ生成手段115も部分公開鍵生成手段114と同様に、前の拠点から次の拠点へ順に受け渡しながら、部分開札データを逐次的に合成していくことで、開札データを生成する。なお、部分開札データ生成手段115の場合は、最後の拠点にて最終的に更新した開札データを開札装置410に送信する。なお、図5に示す構成において、部分公開鍵生成手段114および部分開札データ生成手段115は、プログラムに従って動作する部分開札装置110のCPUによって実現される。
また、開札装置410は、送受信部401と、暗号入札データ記憶装置402と、落札値候補決定手段403と、開札データ生成手段414と、IBE復号手段405と、判定手段406とを有する。ここでは、開札データ生成手段414が、部分開札装置110によって開札データが逐次的に合成されることに起因して、第1の実施の形態と異なる。開札データ生成手段414は、部分秘密鍵を用いた開札処理に必要なデータを最初の拠点となる部分開札装置110に送信し、また、最後の拠点となる部分開札装置110から送られる開札データを受信することによって開札データを生成する。なお、図5に示す構成において、開札データ生成手段414は、プログラムに従って動作する開札装置410のCPUによって実現される。
次に、本実施の形態における電子入札システムの動作について説明する。本実施の形態における電子入札システムの動作は、第1の実施の形態と同様、大きく分けて、IBE公開鍵生成動作と入札動作と開札動作とに分かれる。なお、本実施の形態の入札動作は、第1の実施の形態と同様であるため、説明省略している。また、各装置には、第1の実施の形態と同様に、事前に公開パラメータが入力されているものとする。
まず、IBE公開鍵生成動作について図6を参照して説明する。図6は、第2の実施の形態によるIBE公開鍵生成動作の一例を示す流れ図である。ここでは、復号用秘密情報を分散管理するために、部分開札装置110が複数存在する場合であって、部分開札装置110が、IBE公開鍵と開札データとをそれぞれ逐次的に合成する場合を例にとって説明する。その際、部分開札装置110−1が1番目,部分開札装置110−2が2番目,・・・,部分開札装置110−nがn番目の拠点として設置されているものとする。
部分開札装置110−1〜nには、それぞれ公開パラメータが入力されている(ステップA110)。部分開札装置110−1〜nは、それぞれ次に示すように動作する。まず、部分開札装置110−1が動作する。部分開札装置110−1の部分秘密鍵生成手段102−1は、第1の実施の形態と同様に、公開パラメータを入力として、部分秘密鍵−1を生成し(ステップA210−1)、部分秘密鍵格納装置103−1に格納する。次に、部分公開鍵生成手段114−1は、第1の実施の形態と同様に、公開パラメータおよび部分秘密鍵生成手段102−1が生成した部分秘密鍵−1を入力として、部分公開鍵−1を生成する(ステップA310−1)。ここで、部分公開鍵生成手段114−1は、部分開札装置110−1が最初の拠点であることから、生成した部分公開鍵−1をIBE公開鍵−1として、次の拠点である部分開札装置110−2に送信する(ステップA410−1)。
部分開札装置110−2は、前の拠点である部分開札装置110−1からIBE公開鍵−1を受信する。部分開札装置110−2の部分秘密鍵生成手段102−2は、部分開札装置110−1と同様に、公開パラメータを入力として、部分秘密鍵−2を生成し(ステップA210−2)、部分秘密鍵格納装置103−2に格納する。部分公開鍵生成手段114−2も部分開札装置110−1と同様に、公開パラメータおよび部分秘密鍵生成手段102−2が生成した部分秘密鍵−2を入力として、部分公開鍵−2を生成する(ステップA310−2)。
ここで、部分公開鍵生成手段114−2は、部分開札装置110−2が2番目以降の拠点であることから、前の拠点である部分開札装置110−1から受信したIBE公開鍵−1に部分公開鍵−2を合成してIBE公開鍵−2を生成し、次の拠点である部分開札装置110−3に送信する(ステップA410−2)。部分公開鍵生成手段114−2は、受信したIBE公開鍵−1と生成した部分公開鍵−2とを用いて、例えば、IDベース暗号方式に応じたIBE公開鍵の合成条件に基づいて計算することによって、IBE公開鍵−2を生成する。同様の手順で、部分開札装置110−(n−1)まで動作する。
部分開札装置110−nは、前の拠点である部分開札装置110−(n−1)からIBE公開鍵−(n−1)を受信する。部分開札装置110−nの部分秘密鍵生成手段102−nは、部分開札装置110−1と同様に、公開パラメータを入力として、部分秘密鍵−nを生成し(ステップA210−n)、部分秘密鍵格納装置103−nに格納する。次に、部分公開鍵生成手段114−nは、部分開札装置110−1と同様に、公開パラメータおよび部分秘密鍵生成手段102−nが生成した部分秘密鍵−nを入力として、部分公開鍵−nを生成する(ステップA310−n)。
ここで、部分公開鍵生成手段114−nは、部分開札装置110−nが最後の拠点であることから、前の拠点である部分開札装置110−(n−1)から受信したIBE公開鍵−(n−1)に部分公開鍵−nを合成してIBE公開鍵−nを生成し、生成したIBE公開鍵−nをIBE公開鍵として公開する(ステップA410−n)。例えば、部分公開鍵生成手段114−nは、送受信部101−nを通じて、入札装置300および開札装置410にIBE公開鍵を送信することによって公開してもよい。または、IBE公開鍵を配信するための専用Webサイトを提供することによって公開してもよい。また、開札者が配布可能なようにIBE公開鍵を印刷したり、または記憶媒体などに記憶することによって公開することも可能である。
次に、開札動作について図7を参照して説明する。図7は、第2の実施の形態による開札動作の一例を示す流れ図である。開札装置410には、公開パラメータとIBE公開鍵と全入札者の暗号入札データとが入力されている(ステップC110)。まず、開札装置410の落札値候補決定手段403は、第1の実施の形態と同様に、落札値候補を決定する(ステップC210)。落札値候補決定手段403は、例えば、入札可能価格のうち最大値を最初の落札値候補に決定する。次に、開札データ生成手段414は、部分開札装置が部分秘密鍵を用いた開札処理を行うために必要なデータを開札処理用データとしてまとめて、最初の拠点となる部分開札装置110−1に送信する(ステップC310)。
部分開札装置110−1は、開札処理用データを受信する。部分開札装置110−1の部分開札データ生成手段115−1は、第1の実施の形態と同様に、受信した開札処理用データと公開パラメータとIBE公開鍵と部分秘密鍵格納装置103−1に記憶してある部分秘密鍵−1とを入力として、部分開札データ−1を生成する(ステップC410−1)。ここで、部分開札データ生成手段115−1は、部分開札装置110−1が最初の拠点であることから、生成した部分開札データ−1をそのまま開札データ−1として、次の拠点である部分開札装置110−2に送信する(ステップC510−1)。なお、ここでは開札データを次の拠点へ送信する際には、以降の拠点において開札処理を行うために必要なデータも開札処理用データとして合わせて送信する。
部分開札装置110−2は、前の拠点である部分開札装置110−1から開札データ−1を受信する。部分開札装置110−2の部分開札データ生成手段115−2は、部分開札装置110−1と同様に、開札処理用データと公開パラメータとIBE公開鍵と部分秘密鍵格納装置103−2に記憶してある部分秘密鍵−2とを入力として、部分開札データ−2を生成する(ステップC410−2)。ここで、部分開札データ生成手段115−2は、部分開札装置110−2が2番目以降の拠点であることから、前の拠点である部分開札装置110−1から受信した開札データ−1に部分開札データ−2を合成して開札データ−2を生成し、次の拠点である部分開札装置110−3に送信する(ステップC510−2)。部分開札データ生成手段115−2は、受信した開札データ−1と部分開札データ−2とを用いて、例えば、IDベース暗号方式に応じた分散復号の合成条件に基づいて計算することによって、開札データを更新する。同様の手順で、部分開札装置110−(n−1)まで動作する。
部分開札装置110−nは、前の拠点である部分開札装置110−(n−1)から開札データ−(n−1)を受信する。部分開札装置110−nの部分開札データ生成手段115−nは、開札処理用データと公開パラメータとIBE公開鍵と部分秘密鍵格納装置103−nに記憶してある部分秘密鍵−nとを入力として、部分開札データ−nを生成する(ステップC410−n)。ここで、部分開札データ生成手段115−nは、部分開札装置110−nが最後の拠点であることから、前の拠点である部分開札装置110−(n−1)から受信した開札データ−(n−1)に部分開札データ−nを合成して開札データ−nを生成し、生成した開札データ−nを開札データとして開札装置410に送信する(ステップC510−n)。
開札装置410は、部分開札装置110−nから開札データを受信する。開札装置410の開札データ生成手段414は、受信した開札データをIBE復号手段405に出力する。IBE復号手段405は、第1の実施の形態と同様に、開札データと公開パラメータとIBE公開鍵と全暗号入札データとを入力として、全暗号入札データを復号し、復号データリストを生成する(ステップC710)。次に、判定手段406は、第1の実施の形態と同様に、公開パラメータと復号データリストとを入力として、復号データリストの中に、正しい形式をした復号データが存在するか否かを判定する(ステップC810)。正しい形式をした復号データが存在する場合には、判定手段406は、その復号データの復号に用いた落札値候補を落札値と決定する(ステップC910)。
本実施の形態によれば、第1の実施の形態と同様に、入札価格を秘匿にするための暗号化に入札値をIDとするIDベース暗号方式を用いているため、公開パラメータに入札価格に対応する公開鍵のリストを含める必要がない。さらに、開札に用いる部分秘密鍵を部分開札装置が分散して記憶することによって、不正に落札値以外の入札値を求める行為を防止できる。
さらに、分散復号にかかる合成処理を部分開札装置110が逐次的に合成することによって、部分公開鍵や部分開札データを合成するために収集する手間を省くことができる。なお、本実施の形態では、IBE公開鍵と開札データの両方を部分開札装置110が逐次的に合成する場合を説明したが、IBE公開鍵と開札データのうち、いずれか一方のみを部分開札装置110によって逐次的に合成させることも可能である(他方は第1の実施の形態と同じく同時並行的に合成させる)。また、逐次的に合成する方法として、1番目の拠点からn番目の拠点まで受け渡しさせて合成する方法を説明したが、n番目の拠点まで受け渡ししなくても、分散復号の充足数を満たした時点で最後の拠点として動作することも可能である。他の点に関しては、第1の実施の形態と同様である。
実施の形態3.
次に、本発明の第3の実施の形態を図面を参照して説明する。図8は、第3の実施の形態による電子入札システムの構成例を示すブロック図である。図8に示す電子入札システムは、1つ以上の部分開札装置100−1〜n(nは部分開札装置の数に対応する数値)と、IBE公開鍵生成装置200と、入札装置320と、開札装置400と、検証装置520とを備える。なお、各装置は、通信ネットワーク(例えば、インターネットや専門回線)を介して接続される。図8に示す電子入札システムは、図1に示す第1の実施の形態に比べて、検証装置520が追加となっている点が異なる。また、入札装置320が、入札値知識証明手段323を有している点が異なる。なお、部分開札装置100−1〜n、IBE公開鍵生成装置200および開札装置400は、第1の実施の形態と同様である。また、図8では、1つの入札装置320を示しているが、入札装置320は、例えば入札者の数に応じて複数存在してもよい。また、図8においても破線で囲まれたデータは、各装置に公開されるデータを示している。
本実施の形態では、入札値に関する知識証明のためのデータを暗号入札データに付加して入札を行う。ここで、入札値に関する知識証明とは、入札値を明かさずに入札値を知っていることを証明する証明方法をいう。入札値に関する知識証明として、入札値を知らないまま検証を通る知識証明を生成できない証明方法(例えば、ゼロ知識証明など)を採用することで、例えば、他人の暗号入札データを利用して入札する行為を防止することができる。
本実施の形態では、入札値に関する知識証明を行うために、入札者に予め固有の識別情報(例えば、ユーザID)を割り当てる。また、入札装置320が暗号入札データを生成した際に、ユーザIDと暗号化に用いた情報のうち入札者毎に任意性のある入札値以外の情報(暗号化に用いる乱数など。以下、暗号化任意情報という。)とを用いて、入札値に関する知識証明のためのデータ(以下、入札値知識証明データという。)を生成し、暗号入札データに付与する。入札値知識証明データは、例えば、文献「C.P.Schnorr, "Efficient Signature Generation by Smart Cards", Journal of Cryptology, 1991, Vol.4, pp.161-174」(非特許文献4)に記載されているゼロ知識証明の証明論理に基づいて生成することができる。非特許文献4に記載されているゼロ知識証明は、ある離散対数の指数部を隠したまま指数部を知っていることを証明する証明方法である。なお、本実施の形態において用いる知識証明は、上記で示したゼロ知識証明に限定されず、秘密情報を知っていることを秘密を明かさずに証明することができる証明方法であれば、他の証明方法であってもよい。
入札装置320は、送受信部301と、IBE暗号化手段302と、入札値知識証明手段323とを有する。ここでは、入札値知識証明手段323が追加となっている点が第1の実施の形態と異なる。入札値知識証明手段323は、IBE暗号化手段302が暗号入札データを生成した際に、IBE暗号化手段302が暗号化に用いた暗号化任意情報と入札者のユーザIDとを用いて入札値知識証明データを生成し、暗号入札データに付加する。以下、入札値知識証明データが付加された暗号入札データを入札値知識証明付き暗号入札データという。なお、図8に示す構成において、入札値知識証明手段323は、プログラムに従って動作する入札装置320のCPUによって実現される。
検証装置520は、入札値知識証明付き暗号入札データの検証を行う情報処理装置(例えば、パーソナルコンピュータ)であって、送受信部521と、入札値知識証明付き暗号入札データ記憶装置522と、検証手段523とを有する。送受信部521は、通信ネットワークを介して他の装置と通信を行う際のプロトコル制御等を行いデータを送受信する。入札値知識証明付き暗号入札データ記憶装置522は、入札装置320から送られる入札値知識証明付き暗号入札データを記憶する。検証手段523は、入札値知識証明データの証明論理に基づいて入札値知識証明付き暗号入札データを検証する。
なお、図8に示す構成において、入札値知識証明付き暗号入札データ記憶装置522は、検証装置520の記憶装置によって実現される。検証手段523は、検証装置520のCPUによって実現される。送受信部521は、検証装置520のCPUと、ハードウェアの通信装置とによって実現される。
次に、本実施の形態における電子入札システムの動作について説明する。本実施の形態における電子入札システムの動作は、大きく分けて、IBE公開鍵生成動作と入札動作と検証動作と開札動作とに分かれる。検証動作は、入札された暗号入札データが正しいかを検証する動作である。本実施の形態では、開札装置400の前に検証装置520が入札値知識証明付き暗号入札データを受信して検証を行う場合を例にとって説明する。なお、IBE公開鍵生成動作および開札動作は、第1の実施の形態と同様のため、説明省略している。また、各装置には、第1の実施の形態と同様に、事前に公開パラメータが入力されているものとする。
まず、入札動作について図9を参照して説明する。図9は、第3の実施の形態による入札動作の一例を示す流れ図である。なお、図9では1つの入札装置320しか図示していないが、入札装置320は、例えば、入札者に応じて複数存在してもよい。
入札装置320には、公開パラメータとIBE公開鍵と入札値とユーザIDとが入力されている(ステップB120)。まず、入札装置320のIBE暗号化手段302は、第1の実施の形態と同様に、公開パラメータとIBE公開鍵と入札値とを入力として、暗号入札データを生成する(ステップB220)。次に、入札値知識証明手段323は、IBE暗号化手段302から出力される暗号入札データおよび知識証明の対象となる暗号化任意情報と、ユーザID、公開パラメータ、IBE公開鍵、入札値とを入力として、入札値知識証明付き暗号入札データを生成し、検証装置520に送信する。入札値知識証明手段323は、暗号入札データと、暗号化任意情報と、ユーザIDと、公開パラメータと、IBE公開鍵と、入札値とを用いて、例えば、使用する証明方法の証明理論に従って計算を行うことによって、入札者固有の入札値知識証明データを生成し(ステップB320)、生成した入札値知識証明データを付加した入札値知識証明付き暗号入札データを検証装置520に送信する(ステップB420)。
検証装置520は、入札装置320から入札値知識証明付き暗号入札データを受信する。例えば、入札装置320が、入札者に応じて複数ある場合には、複数の入札装置320からそれぞれの入札者の入札値知識証明付き暗号入札データを受信する。検証装置520は、受信した入札値知識証明付き暗号入札データを、入札値知識証明付き暗号入札データ記憶装置522に、入札者がわかるように(例えば、ユーザIDと対応づけて)記憶する。なお、入札値知識証明付き暗号入札データ記憶装置522に記憶せずに、そのまま検証動作を行ってもよい。
次に、検証動作について図10を参照して説明する。図10は、第3の実施の形態による検証動作の一例を示す流れ図である。検証装置520には、公開パラメータとIBE公開鍵とが入力されている。検証装置520の検証手段523は、入札装置320から入札値知識証明付き暗号入札データを受信すると(D120)、受信した入札値知識証明付き暗号入札データとユーザID、公開パラメータ、IBE公開鍵とを入力として、入札値知識証明データの検証を行う(ステップD220)。検証手段523は、例えば、入札値知識証明付き暗号入札データに付加された入札値知識証明データを使用する証明方法の検証理論に従って計算することによって解析する。解析した結果正しい入札値知識証明データが付加されている判断できた場合には、正しい暗号入札データが入札されたとして、入札値知識証明データを除いた暗号入札データを開札装置400に送信する(D320)。正しくない入札値知識証明データが付加されていた場合には、不正な暗号入札データが入札されたとして、例えば、その暗号入札データの入札を非受理として扱うことができる。非受理となった暗号入札データは、非受理である旨とともに公開してもよい。
このように、本実施の形態によれば、入札者からの入力によって入札装置320が暗号入札データを生成する際に、入札値に関する知識証明が可能な入札値知識証明データを付加して入札を行うことによって、例えば、他人の暗号入札データをコピーすることによって、コピー元の入札値を知ることなくコピー元の同額の入札を行うという行為を防止することができる。他の点に関しては、第1の実施の形態と同様である。
実施の形態4.
第3の実施の形態として、第1の実施の形態による電子入札システムに、入札値知識証明を追加した構成を説明したが、同様に、第2の実施の形態による電子入札システムに入札値知識証明を追加することも可能である。図11は、第4の実施の形態による電子入札システムの構成例を示すブロック図である。図11に示す電子入札システムは、1つ以上の部分開札装置130−1〜n(nは部分開札装置の数に対応する数値)と、入札装置330と、開札装置430と、入札値知識証明検証装置530とを備える。なお、各装置は、通信ネットワーク(例えば、インターネットや専門回線)を介して接続される。また、図11では、1つの入札装置320を示しているが、入札装置320は、例えば入札者の数に応じ、複数存在してもよい。
図11に示す電子入札システムは、図5に示す第2の実施の形態に比べて、検証装置520が追加となっている点が異なる。また、入札装置320が、入札値知識証明手段323を有している点が異なる。なお、部分開札装置110−1〜nおよび開札装置410は、第2の実施の形態と同様である。また、入札装置320および検証装置520は、第3の実施の形態と同様である。
そのような場合には、部分開札装置が逐次的に分散復号にかかる合成処理を行うことによって、各部分開札装置との間に合成するための特別なインターフェースを用意しなくても部分秘密鍵を分散して管理でき、不正に落札以外の入札値を求める行為を防止することができるとともに、各入札者の暗号入札データに入札値知識証明データを付加し検証することによって、不正に他人の暗号入札データを利用して入札する行為を防止することができる。
次に、具体的な実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第1の実施の形態による電子入札システムを、Boneh−FranklinIBE方式を用いて実現する場合の実施例である。なお、本実施例において、復号用秘密情報を分散管理する部分開札装置100がn台存在するものとする。なお、本実施例における分散復号の充足数はnとする。
まず、IBE公開鍵生成動作について図12を参照して説明する。図12は、本実施例におけるIBE公開鍵生成動作の一例を示す流れ図である。部分開札装置100−1〜nおよび開札装置400には、公開パラメータが入力されている(ステップE100)。ここでは、公開パラメータとして、入札価格リストv_{t}={v_1,・・・,v_t}と、入札用メッセージサイズmと、mビットの入札用メッセージMと、セキュリティパラメータk(1≦k)と、素数qと、ペアリング組(G_{1},G_{T},e(・,・))と、生成元Pと、ハッシュ関数H_{1}と、ハッシュ関数H_{2}とが入力される。
入札価格リストv_{t}は、入札可能な入札値の集合であって、v_tは入札価格帯における最高値を示す。入札用メッセージMは、mビットの任意のビット列である。素数qは、ペアリング組中のG_{1},G_{T}の要素数である。ペアリング組(G_{1},G_{T},e(・,・))は、G_{1}とG_{T}が同じ位数qを持つ有限群であり、e(・,・)が、G_{1}×G_{1}からG_{T}への写像で、任意のg,h,x,yに対してe(g^x,h^y)=e(g,h)^{xy}が成立し、gをG_{1}の生成元としたとき、e(g,g)≠1が成立するものである。ここで、g^xという表記は、gのx乗を表している。生成元Pは、G_{1}の生成元である。ハッシュ関数H_{1}は、任意の長さのバイナリ系列の集合からG_{1}へのハッシュ関数である。ハッシュ関数H_{2}は、G_{T}からmビット長のバイナリ系列の集合へのハッシュ関数である。なお、以下、素数qを法とする剰余群を”Z_{q}”と表記する。また、ビット毎の排他的論理和を”XOR”と表記する。また、ビットの連結を”‖”と表記する(例えば、a=10(バイナリ表記),b=01とした場合、a‖b=1001となる)。
部分開札装置100−1〜nは、それぞれ次に示すように動作する。以下、部分開札装置100−1を例にとって説明する。まず、部分開札装置100−1の部分秘密鍵生成手段102−1は、s_{1}をZ_{q}からランダムに選ぶ(ステップE200−1)。次に、選んだs_{1}を部分秘密鍵格納装置103−1に格納する。次に、部分公開鍵生成手段104−1は、P_{pub,1}=P^{s_{1}}を計算する(ステップE300−1)。部分公開鍵生成手段104−1は、計算したP_{pub,1}をIBE公開鍵生成装置200に部分公開鍵−1として送信する(ステップE400−1)。
他の部分開札装置も同様に動作する。例えば、部分開札装置100−nの部分秘密鍵生成手段102−nは、s_{n}をZ_{q}からランダムに選び(ステップE200−1)、選んだs_{n}を部分秘密鍵格納装置103−nに格納する。次に、部分公開鍵生成手段104−nは、P_{pub,n}=P^{s_{n}}を計算し(ステップE300−n)、計算したP_{pub,n}をIBE公開鍵生成装置200に送信する(ステップE400−n)。
IBE公開鍵生成装置200は、部分開札装置100−1〜nからP_{pub,1},・・・,P_{pub,n}を受信する。IBE公開鍵生成装置200のIBE公開鍵生成手段202は、P_{pub,1},・・・,P_{pub,n}を入力として、P_{pub}=P^{s_{1}}・P^{s_{2}}・・・・・P^{s_{n}}を計算し、計算したP_{pub}をIBE公開鍵として公開する(ステップE500,E600)。
次に、入札動作について図13を参照して説明する。図13は、本実施例における入札動作の一例を示す流れ図である。入札装置300には、上記で示した公開パラメータとIBE公開鍵P_{pub}と入札値vとが入力されている(ステップF100)。まず、入札装置300のIBE暗号化手段302は、Q_{v}=H_{1}(v)を計算する(ステップF200)。次に、g_{v}=e(P_{pub},Q_{v})を計算する(ステップF300)。次に、rをZ_{q}からランダムに選ぶ(F400)。次に、X=P^{r}を計算する(F500)。次に、Y=M XOR H_{2}((g_{v})^{r})を計算する(F600)。次に、C=<X,Y>を暗号入札データとして開札装置400に送信する(F700)。ここで、IBE暗号化手段302は、例えば、XとYとを所定の規則で連結させたビット列を暗号入札データCとして送信してもよい。
開札装置400は、入札装置300から各入札者の暗号入札データを受信する。ここで、開札装置400は、入札を締め切るまでに、a人の入札者から暗号入札データを受信したとする。以下、各入札者を区別する際には、各入札者の暗号入札データをC_{j},C_{j}=<X_{j},Y_{j}>と表現する(1≦j≦a)。開札装置400は、受信した暗号入札データC_{1},・・・,C_{a}を暗号入札データ記憶装置402に記憶する。
次に、開札動作について、図14および図15を参照して説明する。図14は、本実施例における開札動作の一例を示す流れ図である。また、図15は、本実施例における開札動作のうち、部分開札装置100−1による部分開札データ生成の動作例を示す流れ図である。開札装置400には、上記で示した公開パラメータとIBE公開鍵P_{pub}と全入札者の暗号入札データC_{1},・・・,C_{a}とが入力されている(ステップG100)。まず、開札装置400の落札値候補決定手段403は、落札値候補v_{i}を決定する(ステップG200)。ここでは、落札値候補決定手段403は、まず、最も高い入札値v_{t}を落札値候補に決定する(i=tとセットする)。
次に、開札データ生成手段404は、まず、全入札者の暗号入札データの各j(1≦j≦a)に対して、C_{j}=<X_{j},Y_{j}>とパースする(ステップG300)。つまり、C_{j}をX_{j},Y_{j}に分解する。次に、落札値候補v_{i}と、X_{1},・・・,X_{a}とを開札処理用データとして、部分開札装置100−1〜nに送信する(ステップG400)。
開札処理用データを受信した部分開札装置100は、それぞれ部分開札データ成処理(ステップG500)を行う。以下、部分開札装置100−1を例にとって説明する。図15は、部分開札装置100−1における部分開札データ生成処理の一例を示した説明図である。まず、部分開札装置100−1は、開札装置400から開札処理用データとして、落札値候補v_{i}と、X_{1},・・・,X_{a}とを受信する(ステップG501−1)。部分開札装置100−1の部分開札データ生成手段105−1は、まず、Q_{v_{i}}=H_{1}(v_{i})を計算する(ステップG502−1)。次に、S_{v_{i}}=Q_{v_{i}}^{s_{1}}を計算する(ステップG502−1)。次に、D_{v_{i},1,1}=e(X_{1},S_{v_{i}})を計算する。また、D_{v_{i},1,1}と同様にして、D_{v_{i},2,1},・・・,D_{v_{i},a,1}(全入札者分)を計算する(ステップG503−1)。部分開札データ生成手段105−1は、計算したD_{v_{i},1,1},・・・,D_{v_{i},a,1}を、部分開札データ−1として開札装置400に送信する(ステップG504−1)。
他の部分開札装置も同様に動作する。例えば、部分開札装置100−nの部分開札データ生成手段105−nは、Q_{v_{i}}=H_{1}(v_{i})を計算し、S_{v_{i}}=Q_{v_{i}}^{s_{n}}を計算し、D_{v_{i},1,n}=e(X_{1},S_{v_{i}})を計算し、同様にして、D_{v_{i},2,n},・・・,D_{v_{i},a,n}を計算する。部分開札データ生成手段105−nは、計算したD_{v_{i},1,n},・・・,D_{v_{i},a,n}を、部分開札データ−nとして開札装置400に送信する。
開札装置400は、部分開札装置100−1〜nから部分開札データを受信する。開札装置400の開札データ生成手段404は、D_{v_{i},1}=D_{v_{i},1,1}・D_{v_{i},1,2}・・・・・D_{v_{i},1,n}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2},・・・,D_{v_{i},a}(全入札者分)を計算する(ステップG600−1)。次に、IBE復号手段405は、開札データD_{v_{i},1},・・・,D_{v_{i},a}と、公開パラメータと、全入札者の暗号入札データC_{1},・・・,C_{a}を入力として、M_{1}=Y_{1} XOR H_{2}(D_{v_{i},1})を計算する。また、M_{1}と同様にして、M_{2},・・・,M_{a}(全入札者分)を計算する(ステップG700)。
次に、判定手段406は、M_{1},・・・,M_{a}の中に、公開パラメータに含まれる入札用メッセージMと一致するものが存在するか否かを判定する(ステップG800)。入札用メッセージMと一致するものが存在する場合には、ステップG200において決定した落札値候補v_{i}を落札値と決定する(ステップG800のYes,G1100)。また、入札用メッセージMと一致するものが存在しない場合には、次の落札値候補にて同様の動作を行う。ここで、次の落札値候補となる値が存在しない場合(i<1)には、落札値なしとする(ステップG900のYes,G1100)。そうでなければ、次に落札条件に近い値に落札値候補を更新して(iにi−1をセットして)、G400に戻る(ステップG900のNo,G1000)。
次に、第2の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第2の実施の形態による電子入札システムを、Boneh−FranklinIBE方式を用いて実現する場合の実施例である。なお、本実施例においても、復号用秘密情報を分散管理する部分開札装置110がn台存在するものとする。その際、部分開札装置110−1が1番目,部分開札装置110−2が2番目,・・・,部分開札装置110−nがn番目の拠点として設置されているものとする。本実施例では、部分開札装置110によって、分散復号にかかるIBE公開鍵および開札データの両方を逐次的に合成させる場合を例にとって説明する。なお、本実施例における分散復号の充足数もnとする。また、各装置には、あらかじめ第1の実施例と同様の公開パラメータが記憶されている。
まず、IBE公開鍵生成動作について図16を参照して説明する。図16は、第2の実施例におけるIBE公開鍵生成動作の一例を示す流れ図である。部分開札装置110−1〜nには、それぞれ公開パラメータが入力されている(ステップE110)。まず、部分開札装置110−1が動作する。部分開札装置110−1の部分秘密鍵生成手段102−1は、s_{1}をZ_{q}からランダムに選び(ステップE210−1)、選んだs_{1}を部分秘密鍵格納装置103−1に格納する。次に、部分公開鍵生成手段114−1は、P_{pub,1}=P^{s_{1}}を計算する(ステップE310−1)。ここで、部分公開鍵生成手段114−1は、部分開札装置110−1が最初の拠点であることから、P_{pub}=P_{pub,1}とセットして、次の拠点である部分開札装置110−2に送信する(ステップE410−1,E510−1)。
部分開札装置110−2は、前の拠点である部分開札装置110−1からP_{pub}を受信する。部分開札装置110−2の部分秘密鍵生成手段102−2は、s_{2}をZ_{q}からランダムに選び(ステップE210−2)、選んだs_{2}を部分秘密鍵格納装置103−2に格納する。次に、部分公開鍵生成手段114−2は、P_{pub,2}=P^{s_{2}}を計算する(ステップE310−2)。ここで、部分公開鍵生成手段114−2は、部分開札装置110−2が2番目以降の拠点であることから、P_{pub}=P^{s_{2}}・P_{pub}を計算し、計算したP_{pub}を次の拠点である部分開札装置110−3に送信する(ステップE410−2,E510−2)。同様の手順で、部分開札装置110−(n−1)まで動作する。
部分開札装置110−nは、前の拠点である部分開札装置110−(n−1)からP_{pub}を受信する。部分開札装置110−nの部分秘密鍵生成手段102−nは、s_{n}をZ_{q}からランダムに選び(ステップE210−n)、選んだs_{n}を部分秘密鍵格納装置103−nに格納する。次に、部分公開鍵生成手段114−nは、P_{pub,n}=P^{s_{n}}を計算する(ステップE310−n)。ここで、部分公開鍵生成手段114−nは、部分開札装置110−nが最後の拠点であることから、P_{pub}=P^{s_{n}}・P_{pub}を計算し、計算したP_{pub}を、IBE公開鍵として公開する(ステップE410−n,E510−n)。
次に、開札動作について、図17および図18を参照して説明する。なお、入札動作は、第1の実施例と同様のため、説明省略している。ここでは、開札装置410が、a人の入札者から入札を受け付けたものとする。図17は、第2の実施例における開札動作の一例を示す流れ図である。図18は、第2の実施例における開札動作のうち、部分開札装置110による開札データ合成の動作例を示す流れ図である。開札装置410には、公開パラメータとIBE公開鍵P_{pub}と全入札者の暗号入札データC_{1},・・・,C_{a}とが入力されている(ステップG110)。まず、開札装置410の落札値候補決定手段403は、落札値候補v_{i}を決定する(ステップG210)。ここでは、落札値候補決定手段403は、まず、最も高い入札値v_{t}を落札値候補に決定(i=tとセット)する。
次に、開札データ生成手段414は、全入札者の暗号入札データCの各j(1≦j≦a)に対して、C_{j}=<X_{j},Y_{j}>とパースする(ステップG310)。つまり、C_{j}をX_{j},Y_{j}に分解する。次に、落札値候補v_{i}と、X_{1},・・・,X_{a}とを開札処理用データとして、最初の拠点となる部分開札装置110−1に送信する(ステップG410)。
開札処理用データを受信した部分開札装置110−1は、開札データの合成動作を開始する(ステップG510)。図18に示すように、はじめに、各部分開札装置110には、公開パラメータおよびIBE公開鍵P_{pub}が入力されている(ステップG511)。部分開札装置110−1の部分開札データ生成手段115−1は、開札処理用データを受信すると(ステップG512−1)、まず、Q_{v_{i}}=H_{1}(v_{i})を計算する(ステップG513−1)。次に、S_{v_{i},1}=Q_{v_{i}}^{s_{1}}を計算する(ステップG514−1)。次に、D_{v_{i},1,1}=e(X_{1},S_{v_{i},1})を計算する。また、D_{v_{i},1,1}と同様にして、D_{v_{i},2,1},・・・,D_{v_{i},a,1}(全入札者分)を計算する(ステップG515−1)。
ここで、部分開札データ生成手段115−1は、部分開札装置110−1が最初の拠点であることから、D_{v_{i},1}=D_{v_{i},1,1}とセットして、またD_{v_{i},1}と同様にして、D_{v_{i},2},・・・,D_{v_{i},a}をセットして、次の拠点である部分開札装置110−2に送信する(ステップG516−1,G517−1)。なお、開札データを次の拠点に送る際には、Q_{v_{i}}とX_{1},・・・,X_{a}とを開札処理用データとして含めて送信する。
部分開札装置110−2は、前の拠点である部分開札装置110−1から開札データ−1と開札処理用データとを受信する。部分開札装置110−2の部分開札データ生成手段115−2は、S_{v_{i},2}=Q_{v_{i}}^{s_{2}}を計算する(ステップG514−2)。次に、D_{v_{i},1,2}=e(X_{1},S_{v_{i},2})を計算する。また、D_{v_{i},1,2}と同様にして、D_{v_{i},2,2},・・・,D_{v_{i},a,2}を計算する(ステップG515−2)。ここで、部分公開鍵生成手段114−2は、前の拠点である部分開札装置110−1から受信した開札データ−1を用いて、D_{v_{i},1}=D_{v_{i},1,2}・D_{v_{i},1}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2},・・・,D_{v_{i},a}を計算する(ステップG516−2)。次に、計算したD_{v_{i},1},・・・,D_{v_{i},a}を開札データ−2として、次の拠点である部分開札装置110−3に送信する(ステップG517−2)。同様の手順で、部分開札装置110−(n−1)まで動作する。
部分開札装置110−nは、前の拠点である部分開札装置110−(n−1)から開札データ−(n−1)と開札処理用データとを受信する。部分開札装置110−nの部分開札データ生成手段115−nは、S_{v_{i},n}=Q_{v_{i}}^{s_{n}}を計算する(ステップG514−n)。次に、D_{v_{i},1,n}=e(X_{1},S_{v_{i},n})を計算する。また、D_{v_{i},1,n}と同様にして、D_{v_{i},2,n},・・・,D_{v_{i},a,n}を計算する(ステップG515−n)。ここで、部分公開鍵生成手段114−nは、前の拠点である部分開札装置110−(n−1)から受信した開札データ−(n−1)を用いて、D_{v_{i},1}=D_{v_{i},1,n}・D_{v_{i},1}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2},・・・,D_{v_{i},a}を計算する(ステップG516−n)。また、部分公開鍵生成手段114−nは、部分開札装置110−nが最後の拠点であることから、D_{v_{i},1},・・・,D_{v_{i},a}を開札データとして、開札装置410に送信する(ステップG517−n)。
部分開札装置110−nから開札データを受信した開札装置410の開札データ生成手段414は、受信した開札データをIBE復号手段405に出力する。以降の動作は、第1の実施の形態と同様のため、説明省略する。
次に、第3の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第3の実施の形態による電子入札システムを、Boneh−FranklinIBE方式を用いて実現する場合の実施例である。なお、本実施例において、入札装置320は、入札者に応じてa台存在し、各入札装置320には入札者固有のIDが割り振られているものとする。以下、入札装置320−1のIDをID_{1}、入札装置320−2のIDをID_{2}と表記する。IDは、例えば、名前や会員番号などで、予めレジストレーションを行って発行してもよいし、それ以外の方法で割り振ってもよい。
また、本実施例における公開パラメータには、第1の実施例に示した公開パラメータに加えて、ハッシュ関数H_{3}が含まれる。ハッシュ関数H_{3}は、任意の長さのバイナリ系列の集合からG_{1}へのハッシュ関数である。なお、ハッシュ関数H_{3}は、ハッシュ関数H_{1}とは異なるハッシュ関数である。
本実施例では、入札値に関する知識証明が可能な電子入札システムにおける入札動作および検証動作について具体例を示す。なお、IBE公開鍵生成動作および開札動作は、第1の実施例と同様であるため、説明省略する。まず、入札動作について図19を参照して説明する。図19は、第3の実施例における入札動作の一例を示す流れ図である。入札装置320には、公開パラメータとIBE公開鍵P_{pub}と入札値vとが入力されている(ステップF120)。また、入札装置320には、入札者固有のIDであるID_{i}も入力されている(1≦i≦a)。
入札装置320のIBE暗号化手段302は、まず、Q_{v}=H_{1}(v)を計算する(ステップF220)。次に、g_{v}=e(P_{pub},Q_{v})を計算する(ステップF320)。次に、r_{i}をZ_{q}からランダムに選ぶ(F420)。次に、X_{i}=P^{r_{i}}を計算する(F500)。次に、Y_{i}=M XOR H_{2}((g_{v})^{r_{i}})を計算する(F620)。
次に、入札値知識証明手段323は、入札値知識証明データを生成する。本実施例では、r_{i}の知識を証明することによって入札値に関する知識証明を行う。入札値知識証明手段323は、まず、h_{i}=H_{3}(Y_{i}‖ID_{i})を計算する(ステップF720)。次に、proof_{i}=h_{i}^{r_{i}}を計算する(ステップF820)。次に、入札値知識証明手段323は、生成した入札値知識証明データproof_{i}と、暗号入札データC_{i}=<X_{i},Y_{i}>とを検証装置520に送信する(ステップF920)。検証装置520は、入札装置320から受信した各入札者のproof_{i}とC_{i}とを入札値知識証明付き暗号入札データ記憶装置522に記憶する。
上記に示した入札値知識証明の証明法において、r_{i}に関する知識を持たずにproof_{i}を求めることができる可能性は非常に低い。このようなことができる装置が仮に存在するならば、この装置を用いて離散対数問題を解くことができる。この問題は現在多くの公開鍵暗号方式の安全性が依拠している問題であり、上記の装置の存在は、現在のほとんどの公開鍵暗号方式を使えなくするほどの影響があり、このようなことが起こることは稀である。
また、ハッシュ関数H_{3}の入力に、入札者のIDであるID_{i}が含まれているため、ハッシュ関数の衝突困難性によりID_{i}以外のIDを持つ入札者がこの証明をコピーしても、検証を通ることはない。
ここで入札値知識証明としては、非特許文献4に掲載の証明法を用いることにより、r_{i}の知識をゼロ知識証明で示すこともできる。非特許文献4に掲載の証明法を用いる場合には、まず、h_{i}=H_{3}(Y_{i}‖ID_{i})を計算し、次に、R_{i}をZ_{q}からランダムに選ぶ。次に、α_{i}=P^{R_{i}}を計算する。次に、t_{i}=R_{i}+h_{i}・r_{i}を計算する。そして、proof_{i}=(α_{i},t_{i})とする。
次に、検証動作について図20を参照して説明する。図20は、第3の実施例における検証動作の一例を示す説明図である。検証装置520には、上記で示した公開パラメータとIBE公開鍵P_{pub}と入札値知識証明付き暗号入札データ(C_{i},proof_{i})とID_{i}とが入力されている(ステップH120)。検証装置520の検証手段523は、まず、暗号入札データC_{i}に対して、C_{i}=<X_{i},Y_{i}>とパースする(ステップH220)。つまり、C_{i}をX_{i},Y_{i}に分解する。次に、V_{1,i}=e(X_{i},H_{3}(Y_{i}‖ID_{i}))を計算する(ステップH320)。次に、V_{2,i}=e(P,proof_{i})を計算する(ステップH420)。
次に、検証手段523は、V_{1,i}=V_{2,i}を判定する(ステップH520)。一致した場合には、入札値知識証明データは正しいものであるとして、C_{i}を開札装置400に送信する(ステップH620)。一致しなかった場合には、不正なものであるとして、その旨出力する(ステップH720)。このような検証動作を、全入札者データ(C_{1},proof_{1}),・・・,(C_{a},proof_{a})に対して行う。
また、入札値知識証明として非特許文献4に記載の証明法を用いた場合、検証装置520には、proof_{i}として、(α_{i},t_{i})が入力される。そのような場合の検証動作は、まず、V_{1,i}=P^{t_{i}}を計算する。次に、V_{2,i}=α_{i}・X_{i}^{H_{3}(Y_{i}‖ID_{i})を計算する。そして、V_{1,i}=V_{2,i}を判定する。一致した場合には、入札値知識証明データは正しいものであるとして、C_{i}を開札装置400に送信する。一致しなかった場合には、不正なものであるとして、その旨出力する。
次に、第4の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第4の実施の形態による電子入札システムを、Boneh−FranklinIBE方式を用いて実現する場合の実施例である。本実施例は、第2の実施例と第3の実施例を組み合わせたものである。従って、本実施例においても、復号用秘密情報を分散管理する部分開札装置110がn台存在するものとする。その際、部分開札装置110−1が1番目,部分開札装置110−2が2番目,・・・,部分開札装置110−nがn番目の拠点として設置されているものとする。また、入札装置320は、入札者に応じてa台存在し、各入札装置320には入札者固有のIDが割り振られているものとする。なお、本実施例における公開パラメータは、第3の実施例と同様である。
まず、IBE公開鍵生成動作について説明する。IBE公開鍵生成動作は、図16に示す第2の実施例と同様であって、部分開札装置110−1〜nには、それぞれ公開パラメータが入力されている(ステップE110)。まず、部分開札装置110−1が動作する。部分開札装置110−1の部分秘密鍵生成手段102−1は、まず、s_{1}をZ_{q}からランダムに選び(ステップE210−1)、選んだs_{1}を部分秘密鍵格納装置103−1に格納する。次に、部分公開鍵生成手段114−1は、P_{pub,1}=P^{s_{1}}を計算する(ステップE310−1)。ここで、部分公開鍵生成手段114−1は、部分開札装置110−1が最初の拠点であることから、P_{pub}=P_{pub,1}とセットして、次の拠点である部分開札装置110−2に送信する(ステップE410−1,E510−1)。
部分開札装置110−2は、前の拠点である部分開札装置110−1からP_{pub}を受信する。部分開札装置110−2の部分秘密鍵生成手段102−2は、s_{2}をZ_{q}からランダムに選び(ステップE210−2)、選んだs_{2}を部分秘密鍵格納装置103−2に格納する。次に、部分公開鍵生成手段114−2は、P_{pub,2}=P^{s_{2}}を計算する(ステップE310−2)。ここで、部分公開鍵生成手段114−2は、部分開札装置110−2が2番目以降の拠点であることから、P_{pub}=P^{s_{2}}・P_{pub}を計算し、計算したP_{pub}を次の拠点である部分開札装置110−3に送信する(ステップA410−2)。同様の手順で、部分開札装置110−(n−1)まで動作する。
最終的に、部分開札装置110−nが、前の拠点である部分開札装置110−(n−1)からP_{pub}を受信する。部分開札装置110−nの部分秘密鍵生成手段102−nは、s_{n}をZ_{q}からランダムに選び(ステップE210−n)、選んだs_{n}を部分秘密鍵格納装置103−nに格納する。次に、部分公開鍵生成手段114−nは、P_{pub,n}=P^{s_{n}}を計算する(ステップE310−n)。ここで、部分公開鍵生成手段114−nは、部分開札装置110−nが最後の拠点であることから、P_{pub}=P^{s_{n}}・P_{pub}を計算し、計算したP_{pub}を、IBE公開鍵として公開する(ステップE410−n)。
次に、入札の動作について説明する。入札動作は、図19に示す第3の実施例と同様であって、入札装置320には、公開パラメータとIBE公開鍵P_{pub}と入札値vとが入力されている(ステップF120)。また、入札装置320には、入札者固有のIDであるID_{i}が入力されている(1≦i≦a)。入札装置320のIBE暗号化手段302は、まず、Q_{v}=H_{1}(v)を計算する(ステップF220)。次に、g_{v}=e(P_{pub},Q_{v})を計算する(ステップF320)。次に、r_{i}をZ_{q}からランダムに選ぶ(F420)。次に、X_{i}=P^{r_{i}}を計算する(F500)。次に、Y_{i}=M XOR H_{2}((g_{v})^{r_{i}})を計算する(F620)。
次に、入札値知識証明手段323は、入札値知識証明データを生成する。本実施例では、r_{i}の知識を証明することによって入札値に関する知識証明を行う。入札値知識証明手段323は、まず、h_{i}=H_{3}(Y_{i}‖ID_{i})を計算する(ステップF720)。次に、proof_{i}=h_{i}^{r_{i}}を計算する(ステップF820)。次に、入札値知識証明手段323は、生成した入札値知識証明データproof_{i}と、暗号入札データC_{i}=<X_{i},Y_{i}>とを検証装置520に送信する(ステップF920)。検証装置520は、入札装置320から受信した各入札者のproof_{i}とC_{i}とを入札値知識証明付き暗号入札データ記憶装置522に記憶する。
ここで入札値知識証明としては、非特許文献4に掲載の証明法を用いることにより、r_{i}の知識をゼロ知識証明で示すこともできる。非特許文献4に掲載の証明法を用いる場合には、まず、h_{i}=H_{3}(Y_{i}‖ID_{i})を計算し、次に、R_{i}をZ_{q}からランダムに選ぶ。次に、α_{i}=P^{R_{i}}を計算する。次に、t_{i}=R_{i}+h_{i}・r_{i}を計算する。そして、proof_{i}=(α_{i},t_{i})とする。
次に、検証動作について説明する。検証動作は、図20に示す第3の実施例と同様であって、検証装置520には、上記で示した公開パラメータとIBE公開鍵P_{pub}と入札値知識証明付き暗号入札データ(C_{i},proof_{i})とが入力されている(ステップH120)。まず、検証装置520の検証手段523は、暗号入札データC_{i}に対して、C_{i}=<X_{i},Y_{i}>とパースする(ステップH220)。つまり、C_{i}をX_{i},Y_{i}に分解する。次に、V_{1,i}=e(X_{i},H_{3}(Y_{i}‖ID_{i}))を計算する(ステップH320)。次に、V_{2,i}=e(P,proof_{i})を計算する(ステップH420)。
次に、検証手段523は、V_{1,i}=V_{2,i}を判定する(ステップH520)。一致した場合には、入札値知識証明データは正しいものであるとして、C_{i}を開札装置400に送信する(ステップH620)。一致しなかった場合には、不正なものであるとして、その旨出力する(ステップH720)。このような検証動作を、全入札者データ(C_{1},proof_{1}),・・・,(C_{a},proof_{a})に対して行う。
また、入札値知識証明として非特許文献4に記載の証明法を用いた場合、検証装置520には、proof_{i}として、(α_{i},t_{i})が入力される。そのような場合の検証動作は、まず、V_{1,i}=P^{t_{i}}を計算する。次に、V_{2,i}=α_{i}・X_{i}^{H_{3}(Y_{i}‖ID_{i})を計算する。そして、V_{1,i}=V_{2,i}を判定する。一致した場合には、入札値知識証明データは正しいものであるとして、C_{i}を開札装置400に送信する。一致しなかった場合には、不正なものであるとして、その旨出力する。
次に、開札動作について説明する。開札動作は、図17および図18に示す第2の実施例と同様であって、開札装置410には、公開パラメータとIBE公開鍵P_{pub}と全入札者の暗号入札データC_{1},・・・,C_{a}とが入力されている(ステップG110)。まず、開札装置410の落札値候補決定手段403は、落札値候補v_{i}を決定する(ステップG210)。ここでは、落札値候補決定手段403は、まず、最も高い入札値v_{t}を落札値候補に決定(i=tとセット)する。
次に、開札データ生成手段414は、まず、全入札者の暗号入札データCの各j(1≦j≦a)に対して、C_{j}=<X_{j},Y_{j}>とパースする(ステップG310)。つまり、C_{j}をX_{j},Y_{j}に分解する。次に、落札値候補v_{i}と、X_{1},・・・,X_{a}とを開札処理用データとして、最初の拠点となる部分開札装置110−1に送信する(ステップG410)。
開札処理用データを受信した部分開札装置110−1は、開札データの合成動作を開始する(ステップG510)。図18に示すように、はじめに、各部分開札装置110には、公開パラメータおよびIBE公開鍵P_{pub}が入力されている(ステップG511)。部分開札装置110−1の部分開札データ生成手段115−1は、開札処理用データを受信すると(ステップG512−1)、まず、Q_{v_{i}}=H_{1}(v_{i})を計算する(ステップG513−1)。次に、S_{v_{i},1}=Q_{v_{i}}^{s_{1}}を計算する(ステップG514−1)。次に、D_{v_{i},1,1}=e(X_{1},S_{v_{i},1})を計算する。また、D_{v_{i},1,1}と同様にして、D_{v_{i},2,1},・・・,D_{v_{i},a,1}(全入札者分)を計算する(ステップG515−1)。
ここで、部分開札データ生成手段115−1は、部分開札装置110−1が最初の拠点であることから、D_{v_{i},1}=D_{v_{i},1,1}とセットして、またD_{v_{i},1}と同様にして、D_{v_{i},2},・・・,D_{v_{i},a}をセットして、次の拠点である部分開札装置110−2に送信する(ステップG516−1,G517−1)。なお、開札データを次の拠点に送る際には、Q_{v_{i}}とX_{1},・・・,X_{a}とを開札処理用データとして含めて送信する。
部分開札装置110−2は、前の拠点である部分開札装置110−1から開札データ−1と開札処理用データとを受信する。部分開札装置110−2の部分開札データ生成手段115−2は、S_{v_{i},2}=Q_{v_{i}}^{s_{2}}を計算する(ステップG514−2)。次に、D_{v_{i},1,2}=e(X_{1},S_{v_{i},2})を計算する。また、D_{v_{i},1,2}と同様にして、D_{v_{i},2,2},・・・,D_{v_{i},a,2}を計算する(ステップG515−2)。ここで、部分公開鍵生成手段114−2は、前の拠点である部分開札装置110−1から受信した開札データ−1を用いて、D_{v_{i},1}=D_{v_{i},1,2}・D_{v_{i},1}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2},・・・,D_{v_{i},a}を計算する(ステップG516−2)。次に、計算したD_{v_{i},1},・・・,D_{v_{i},a}を開札データ−2として、次の拠点である部分開札装置110−3に送信する(ステップG517−2)。同様の手順で、部分開札装置110−(n−1)まで動作する。
最終的に、部分開札装置110−nが、前の拠点である部分開札装置110−(n−1)から開札データ−(n−1)と開札処理用データとを受信する。部分開札装置110−nの部分開札データ生成手段115−nは、S_{v_{i},n}=Q_{v_{i}}^{s_{n}}を計算する(ステップG514−n)。次に、D_{v_{i},1,n}=e(X_{1},S_{v_{i},n})を計算する。また、D_{v_{i},1,n}と同様にして、D_{v_{i},2,n},・・・,D_{v_{i},a,n}を計算する(ステップG515−n)。ここで、部分公開鍵生成手段114−nは、前の拠点である部分開札装置110−(n−1)から受信した開札データ−(n−1)を用いて、D_{v_{i},1}=D_{v_{i},1,n}・D_{v_{i},1}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2},・・・,D_{v_{i},a}を計算する(ステップG516−n)。また、部分公開鍵生成手段114−nは、部分開札装置110−nが最後の拠点であることから、D_{v_{i},1},・・・,D_{v_{i},a}を開札データとして、開札装置410に送信する(ステップG517−n)。
部分開札装置110−nから開札データを受信した開札装置410の開札データ生成手段414は、受信した開札データをIBE復号手段405に出力する。以降の動作は、第1の実施の形態と同様のため、説明省略する。
次に、本発明の第5の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第1の実施の形態による電子入札システムを、Boneh−BoyenIBE方式を用いて実現する場合の実施例である。なお、本実施例において、復号用秘密情報を分散管理する部分開札装置100がn台存在するものとする。なお、本実施例における分散復号の充足数はnとする。
まず、IBE公開鍵生成動作について図21を参照して説明する。図21は、第5の実施例におけるIBE公開鍵生成動作の一例を示す流れ図である。部分開札装置100−1〜nおよびIBE公開鍵生成装置200には、それぞれ公開パラメータが入力されている(ステップE140)。ここでは、公開パラメータとして、入札価格リストv_{t}={v_1,・・・,v_t}と、セキュリティパラメータk(1≦k)と、アルファベットのサイズsと、s個の記号からなるアルファベットの集合Σと、素数qと、ペアリング組(G_{1},G_{T},e(・,・))と、ハッシュ関数の値域Nと、ハッシュ関数の族{H}と、ハッシュ関数H_{1}と、入札用メッセージMと、生成元g,g_{2}と、N×m行列U=(u_{i}{j})(1≦i≦N,1≦j≦m)とが入力される。
入札価格リストv_{t}は、入札可能な入札値の集合であって、v_tは入札価格帯における最高値を示す。素数qは、ペアリング組中のG_{1},G_{T}の要素数である。ペアリング組(G_{1},G_{T},e(・,・))は、G_{1}とG_{T}が同じ位数qを持つ有限群であり、e(・,・)が、G_{1}×G_{1}からG_{T}への写像で、任意のg、h、x、yに対してe(g^x,h^y)=e(g,h)^{xy}が成立し、gをG_{1}の生成元としたとき、e(g,g)≠1が成立するものである。ハッシュ関数H_{1}は、任意の長さのバイナリ系列の集合からΣによって作られる長さNの列全体の集合へのハッシュ関数の族{H}からランダムに選ばれたハッシュ関数である。入札用メッセージMは、G_{T}の元である。生成元g,g_{2}は、ともにG_{1}の生成元である。ただし、gとg_{2}は異なる生成元である。行列Uは、U=(u_{i}{j})(1≦i≦N,1≦j≦m)であって、u_{i}{j}はG_{1}の元である。
部分開札装置100−1〜nは、それぞれ次に示すように動作する。以下、部分開札装置100−1を例にとって説明する。まず、部分開札装置100−1の部分秘密鍵生成手段102−1は、α_{1}をZ_{q}からランダムに選ぶ(ステップE240−1)。次に、S_{1}=g_{2}^{α_{1}}を計算し、S_{1}を部分秘密鍵格納装置103−1に格納する(ステップE340−1)。次に、部分公開鍵生成手段104−1は、g_{1,1}=g^{α_{1}}を計算する(ステップE440−1)。次に、P_{pub,1}=(g,g_{1,1},g_{2},U,H_{1})としてIBE公開鍵生成装置200に送信する(ステップE540−1)。
他の部分開札装置も同様に動作する。例えば、部分開札装置100−nの部分秘密鍵生成手段102−nは、α_{n}をZ_{q}からランダムに選ぶ(ステップE240−n)。次に、S_{n}=g_{2}^{α_{n}}を計算し、S_{n}を部分秘密鍵格納装置103−1に格納する(ステップE340−n)。次に、部分公開鍵生成手段104−1は、g_{1,n}=g^{α_{n}}を計算し(ステップE440−n)、P_{pub,n}=(g,g_{1,n},g_{2},U,H_{1})としてIBE公開鍵生成装置200に送信する(ステップE540−n)。
IBE公開鍵生成装置200は、部分開札装置100−1〜nからP_{pub,1},・・・,P_{pub,n}を受信する。IBE公開鍵生成装置200のIBE公開鍵生成手段202は、P_{pub,1},・・・,P_{pub,n}を入力として、g_{1}=g_{1,1}・g_{1,2}・・・g_{1,n}を計算する(ステップE640)。次に、Q=e(g_{1},g_{2})を計算する(ステップE740)。次に、P_{pub}=(g,g_{1},g_{2},U,H_{1},Q)をIBE公開鍵として公開する(ステップE840)。
次に、入札動作について図22を参照して説明する。図22は、第5の実施例における入札動作の一例を示す流れ図である。入札装置300には、上記で示した公開パラメータとIBE公開鍵P_{pub}と入札値vとが入力されている(ステップF140)。入札装置300のIBE暗号化手段302は、まず、H_{1}(v)=(a_{1},・・・,a_{N})を計算する(ステップF240)。次に、tをZ_{q}からランダムに選ぶ(ステップF340)。次に、A=Q^{t}・Mを計算する(ステップF440)。次に、B=g^{t}を計算する(ステップF540)。次に、C_{1}=u_{1,a_{1}}^{t},・・・,C_{N}=u_{N,a_{N}}^{t}を計算する(ステップF640)。次に、X=(A,B,C_{1},・・・,C_{N})を暗号入札データとして開札装置400に送信する(ステップF740)。
開札装置400は、入札装置300から各入札者の暗号入札データを受信する。ここで、開札装置400は、入札を締め切るまでに、a人の入札者から暗号入札データを受信したとする。以下、各入札者を区別する際には、各入札者の暗号入札データをX_{j},X_{j}=(A_{j},B_{j},C_{j,1},・・・,C_{j,N})と表現する(1≦j≦a)。開札装置400は、受信した暗号入札データX_{1},・・・,X_{a}を暗号入札データ記憶装置402に記憶する。
次に、開札動作について、図23および図24を参照して説明する。図23は、第5の実施例における開札動作の一例を示す流れ図である。図24は、第5の実施例における開札動作のうち、部分開札装置100−1による部分開札データ生成の動作例を示す流れ図である。開札装置400には、上記で示した公開パラメータとIBE公開鍵P_{pub}と全入札者の暗号入札データX_{1},・・・,X_{a}とが入力されている(ステップG140)。まず、開札装置400の落札値候補決定手段403は、落札値候補v_{i}を決定する(ステップG240)。ここでは、落札値候補決定手段403は、まず、最も高い入札値v_{t}を落札値候補に決定する(i=tとセットする)。
次に、開札データ生成手段404は、まず、全入札者の暗号入札データの各j(1≦j≦a)に対して、X_{j}=<A_{j},B_{j},C_{j,1},・・・,C_{j,N}>とパースする(ステップG340)。つまり、X_{j}をA_{j},B_{j},C_{j,1},・・・,C_{j,N}に分解する。次に、落札値候補v_{i}と、(B_{1},C_{1,1},・・・,C_{1,N}),・・・,(B_{a},C_{a,1},・・・,C_{a,N})とを開札処理用データとして、部分開札装置100−1〜nに送信する(ステップG440)。
開札処理用データを受信した部分開札装置100は、それぞれ部分開札データ成処理(ステップG500)を行う。以下、部分開札装置100−1を例にとって説明する。図24は、本実施例における開札動作のうち、部分開札装置100−1による部分開札データ生成の動作例を示す流れ図である。まず、部分開札装置100−1は、開札装置400から開札処理用データとして、落札値候補v_{i}と、(B_{1},C_{1,1},・・・,C_{1,N}),・・・,(B_{a},C_{a,1},・・・,C_{a,N})とを受信する(ステップG541−1)。
部分開札装置100−1の部分開札データ生成手段105−1は、まず、H_{1}(v_{i})=(a_{1},・・・,a_{N})を計算する(ステップG542−1)。次に、r_{1,1},r_{1,2},・・・,r_{1,N}をZ_{q}の元からランダムに選ぶ(ステップG543−1)。次に、d_{1,0}=S_{1}・u_{1,a_{1}}^{r_{1,1}}・・・・・u_{N,a_{N}}^{r_{1,N}}を計算する(ステップG544−1)。次に、d_{1,1}=g^{r_{1,1}},d_{1,2}=g^{r_{1,2}},・・・,d_{1,N}=g^{r_{1,N}}を計算する(ステップG545−1)。次に、U_{1}=e(C_{1,1},d_{1,1})・・・・・e(C_{1,N},d_{1,N})を計算する。また、U_{1}と同様にして、U_{2}=e(C_{2,1},d_{1,1})・・・・・e(C_{2,N},d_{1,N}),・・・,U_{a}を計算する(ステップG546−1)。次に、V_{1}=e(B_{1},d_{1,0})を計算する。また、V_{1}と同様にして、V_{2}=e(B_{2},d_{1,0}),・・・,V_{a}を計算する(ステップG547−1)。
次に、D_{v_{i},1,1}=U_{1}÷V_{1}を計算する。また、D_{v_{i},1,1}と同様にして、D_{v_{i},2,1}=U_{2}÷V_{2},・・・,D_{v_{i},a,1}=U_{a}÷V_{a}を計算する(ステップG548−1)。部分開札データ生成手段105−1は、計算したD_{v_{i},1,1},・・・,D_{v_{i},a,1}を、部分開札データ−1として開札装置400に送信する(ステップG549−1)。他の部分開札装置も同様に動作する。
開札装置400は、部分開札装置100−1〜nから部分開札データを受信する。開札装置400の開札データ生成手段404は、D_{v_{i},1}=D_{v_{i},1,1}・D_{v_{i},1,2}・・・・・D_{v_{i},1,n}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2},・・・,D_{v_{i},a}を計算する(ステップG740)。次に、M_{1}=A_{1}・D_{v_{i},1}を計算する。また、M_{1}と同様にして、M_{2},・・・,M_{a}を計算する(ステップG840)。
次に、判定手段406は、M_{1},・・・,M_{a}の中に、公開パラメータに含まれる入札用メッセージMと一致するものが存在するか否かを判定する(ステップG940)。入札用メッセージMと一致するものが存在する場合には、ステップG240において決定した落札値候補v_{i}を落札値と決定する(ステップG940のYes,G1240)。また、入札用メッセージMと一致するものが存在しない場合には、次の落札値候補にて同様の動作を行う。ここで、次の落札値候補となる値が存在しない場合(i<1)には、落札値なしとする(ステップG1040のYes,G1240)。そうでなければ、次に落札条件に近い値に落札値候補を更新して(iにi−1をセットして)、G440に戻る(ステップG1040のNo,G1140)。
次に、第6の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第2の実施の形態による電子入札システムを、Boneh−BoyenIBE方式を用いて実現する場合の実施例である。なお、本実施例においても、復号用秘密情報を分散管理する部分開札装置110がn台存在するものとする。その際、部分開札装置110−1が1番目,部分開札装置110−2が2番目,・・・,部分開札装置110−nがn番目の拠点として設置されているものとする。本実施例では、部分開札装置110によって、分散復号にかかるIBE公開鍵および開札データの両方を逐次的に合成させる場合を例にとって説明する。なお、本実施例における分散復号の充足数もnとする。また、各装置には、あらかじめ第5の実施例と同様の公開パラメータが記憶されている。
まず、IBE公開鍵生成動作について図25を参照して説明する。図25は、第6の実施例におけるIBE公開鍵生成動作の一例を示す流れ図である。部分開札装置110−1〜nには、それぞれ公開パラメータが入力されている(ステップE150)。まず、部分開札装置110−1が動作する。部分開札装置110−1の部分秘密鍵生成手段102−1は、まず、α_{1}をZ_{q}からランダムに選ぶ(ステップE250−1)。次に、S_{1}=g_{2}^{α_{1}}を計算し、部分秘密鍵格納装置103−1に格納する(ステップE350−1)。次に、部分公開鍵生成手段114−1は、g_{1,1}=g^{α_{1}}を計算し、g_{1}=g_{1,1}とセットする(ステップE450−1,550−1)。次に、P_{pub,1}=(g,g_{1},g_{2},U,H_{1})とセットし、次の拠点である部分開札装置110−2に送信する(ステップE650−1)。
部分開札装置110−2は、前の拠点である部分開札装置110−1からP_{pub,1}を受信する。部分開札装置110−2の部分秘密鍵生成手段102−2は、まず、α_{2}をZ_{q}からランダムに選ぶ(ステップE250−2)。次に、S_{2}=g_{2}^{α_{2}}を計算し、部分秘密鍵格納装置103−2に格納する(ステップE350−2)。次に、部分公開鍵生成手段114−2は、g_{1,2}=g^{α_{2}}を計算する(ステップE450−2)。次に、g_{1}=g_{1,2}・g_{1}を計算する(ステップE550−2)。次に、P_{pub,2}=(g,g_{1},g_{2},U,H_{1})とセットして部分開札装置110−3に送る(ステップE650−2)。同様の手順で、部分開札装置110−(n−1)まで動作する。
部分開札装置110−nは、前の拠点である部分開札装置110−(n−1)からP_{pub,n}を受信する。部分開札装置110−2の部分秘密鍵生成手段102−2は、まず、α_{n}をZ_{q}からランダムに選ぶ(ステップE250−n)。次に、S_{n}=g_{2}^{α_{n}}を計算し、部分秘密鍵格納装置103−nに格納する(ステップE350−n)。次に、部分公開鍵生成手段114−nは、g_{1,n}=g_{1}^{α_{n}}を計算する(ステップE450−n)。次に、g_{1}=g_{1,n}・g_{1}を計算する(ステップE550−n)。次に、Q=e(g_{1},g_{2})を計算する(ステップE650−n)。次に、P_{pub}=(g,g_{1},g_{2},U,H_{1},Q)をIBE公開鍵として公開する(ステップE750−n)。
次に、開札動作について、図26および図27を参照して説明する。なお、入札動作は、第5の実施例と同様のため、説明省略している。ここでは、開札装置410が、a人の入札者から入札を受け付けたものとする。図26は、第6の実施例における開札動作の一例を示す流れ図である。図27は、第6の実施例における開札動作のうち、部分開札装置110による開札データ合成の動作例を示す流れ図である。開札装置410には、公開パラメータとIBE公開鍵P_{pub}と全入札者の暗号入札データX_{1},・・・,X_{a}とが入力されている(ステップG150)。まず、開札装置410の落札値候補決定手段403は、落札値候補v_{i}を決定する(ステップG250)。ここでは、落札値候補決定手段403は、まず、最も高い入札値v_{t}を落札値候補に決定(i=tとセット)する。
次に、開札データ生成手段414は、全入札者の暗号入札データXの各j(1≦j≦a)に対して、X_{j}=<A_{j},B_{j},C_{j,1},・・・,C_{j,N}>とパースする(ステップG350)。つまり、X_{j}をA_{j},B_{j},C_{j,1},・・・,C_{j,N}に分解する。次に、落札値候補v_{i}と、(B_{1},C_{1,1},・・・,C_{1,N}),・・・,(B_{a},C_{a,1},・・・,C_{a,N})とを開札処理用データとして、部分開札装置110−1に送信する(ステップG450)。
開札処理用データを受信した部分開札装置110−1は、開札データの合成動作を開始する(ステップG550)。図27に示すように、はじめに、各部分開札装置110には、公開パラメータおよびIBE公開鍵P_{pub}が入力されている(ステップG551)。部分開札装置110−1の部分開札データ生成手段115−1は、開札処理用データを受信すると、まず、H_{1}(v_{i})=(a_{1},・・・,a_{N})を計算する(ステップE552−1)。次に、r_{1,1},r_{1,2},・・・,r_{1,N}をZ_{q}の元からランダムに選ぶ(ステップE553−1)。次に、d_{1,0}=S_{1}・u_{1,a_{1}}^{r_{1,1}}・・・・・u_{N,a_{N}}^{r_{1,N}}を計算する(ステップE554−1)。次に、d_{1,1}=g^{r_{1,1}},d_{1,2}=g^{r_{1,2}},・・・,d_{1,N}=g^{r_{1,N}}を計算する(ステップE555−1)。次に、U_{1}=e(C_{1,1},d_{1,1})・・・・・e(C_{1,N},d_{1,N})を計算する。また、U_{1}と同様にして、U_{2}=e(C_{2,1},d_{1,1})・・・・・e(C_{2,N},d_{1,N}),・・・,U_{a}を計算する(ステップE556−1)。次に、V_{1}=e(B_{1},d_{1,0})を計算する。また、V_{1}と同様にして、V_{2}=e(B_{2},d_{1,0}),・・・,V_{a}を計算する(ステップE557−1)。
次に、D_{v_{i},1,1}=U_{1}÷V_{1}を計算する。また、D_{v_{i},1,1}と同様にして、D_{v_{i},2,1}=U_{2}÷V_{2},・・・,D_{v_{i},a,1}=U_{a}÷V_{a}を計算する(ステップE558−1)。ここで、部分開札データ生成手段115−1は、部分開札装置110−1が最初の拠点であることから、D_{v_{i},1}=D_{v_{i},1,1},・・・,D_{v_{i},a}=D_{v_{i},a,1}とセットして、開札データ−1として、部分開札装置110−2に送る(ステップE55a−1)。なお、開札データを次の拠点に送る際には、v_{i}と、(B_{1},C_{1,1},・・・,C_{1,N}),・・・,(B_{a},C_{a,1},・・・,C_{a,N})とを開札処理用データとして含めて送信する。
部分開札装置110−2は、前の拠点である部分開札装置110−1から開札データ−1と開札処理用データとを受信する。部分開札装置110−2の部分開札データ生成手段115−2は、まず、H_{1}(v_{i})=(a_{1},・・・,a_{N})を計算する(ステップE552−2)。次に、r_{2,1},r_{2,2},・・・,r_{2,N}をZ_{q}の元からランダムに選ぶ(ステップE553−2)。次に、d_{2,0}=S_{2}・u_{1,a_{1}}^{r_{2,1}}・・・・・u_{N,a_{N}}^{r_{2,N}}を計算する(ステップE554−2)。次に、d_{2,1}=g^{r_{2,1}},d_{2,2}=g^{r_{2,2}},・・・,d_{2,N}=g^{r_{2,N}}を計算する(ステップE555−2)。次に、U_{1}=e(C_{1,1},d_{2,1})・・・・・e(C_{1,N},d_{2,N})を計算する。また、U_{1}と同様にして、U_{2}=e(C_{2,1},d_{2,1})・・・・・e(C_{2,N},d_{2,N}),・・・,U_{a}を計算する(ステップE556−2)。次に、V_{1}=e(B_{1},d_{2,0})を計算する。また、V_{1}と同様にして、V_{2}=e(B_{2},d_{2,0}),・・・,V_{a}を計算する(ステップE557−2)。
次に、D_{v_{i},1,2}=U_{1}÷V_{1}を計算する。また、D_{v_{i},1,2}と同様にして、D_{v_{i},2,2}=U_{2}÷V_{2},・・・,D_{v_{i},a,2}=U_{a}÷V_{a}を計算する(ステップE558−2)。ここで、部分公開鍵生成手段114−2は、前の拠点である部分開札装置110−1から受信した開札データ−1を用いて、D_{v_{i},1}=D_{v_{i},1,2}・D_{v_{i},1}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2}=D_{v_{i},2,2}・D_{v_{i},2},・・・,D_{v_{i},a}=D_{v_{i},a,2}・D_{v_{i},a}を計算する(ステップE559−2)。次に、計算したD_{v_{i},1},・・・,D_{v_{i},a}を開札データ−2として、部分開札装置110−3に送信する(ステップE55a−2)。同様の手順で、部分開札装置110−(n−1)まで動作する。
部分開札装置110−nは、前の拠点である部分開札装置110−(n−1)から開札データ−(n−1)と開札処理用データとを受信する。部分開札装置110−nの部分開札データ生成手段115−nは、まず、H_{1}(v_{i})=(a_{1},・・・,a_{N})を計算する(ステップE552−n)。次に、r_{n,1},r_{n,2},・・・,r_{n,N}をZ_{q}の元からランダムに選ぶ(ステップE553−n)。次に、d_{n,0}=S_{n}・u_{1,a_{1}}^{r_{n,1}},・・・,u_{N,a_{N}}^{r_{n,N}}を計算する(ステップE554−n)。次に、d_{n,1}=g^{r_{n,1}},d_{n,2}=g^{r_{n,2}},・・・,d_{n,N}=g^{r_{n,N}}を計算する(ステップE555−n)。次に、U_{1}=e(C_{1,1},d_{n,1})・・・・・e(C_{1,N},d_{n,N})を計算する。また、U_{1}と同様にして、U_{2}=e(C_{2,1},d_{n,1})・・・・・e(C_{2,N},d_{n,N}),・・・,U_{a}を計算する(ステップG546−1)(ステップE556−n)。次に、V_{1}=e(B_{1},d_{n,0})を計算する。また、V_{1}と同様にして、V_{2}=e(B_{2},d_{n,0}),・・・,V_{a}を計算する(ステップE557−n)。
次に、D_{v_{i},1,n}=U_{1}÷V_{1}を計算する。また、D_{v_{i},1,n}と同様にして、D_{v_{i},2,n}=U_{2}÷V_{2},・・・,D_{v_{i},a,n}=U_{a}÷V_{a}を計算する(ステップE558−n)。ここで、部分公開鍵生成手段114−nは、前の拠点である部分開札装置110−(n−1)から受信した開札データ−(n−1)を用いて、D_{v_{i},1}=D_{v_{i},1,n}・D_{v_{i},1}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2}=D_{v_{i},2,n}・D_{v_{i},2},・・・,D_{v_{i},a}=D_{v_{i},a,n}・D_{v_{i},a}を計算する(ステップE559−n)。また、部分公開鍵生成手段114−nは、部分開札装置110−nが最後の拠点であることから、D_{v_{i},1},・・・,D_{v_{i},a}を開札データとして、開札装置410に送信する(ステップG517−n)。
部分開札装置110−nから開札データを受信した開札装置410の開札データ生成手段414は、受信した開札データをIBE復号手段405に出力する。以降の動作は、第5の実施の形態と同様のため、説明省略する。
次に、第7の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第3の実施の形態による電子入札システムを、Boneh−BoyenIBE方式を用いて実現する場合の実施例である。なお、本実施例において、入札装置320は、入札者に応じてa台存在し、各入札装置320には入札者固有のIDが割り振られているものとする。以下、入札装置320−1のIDをID_{1}、入札装置320−2のIDをID_{2}と表記する。IDは、例えば、名前や会員番号などで、予めレジストレーションを行って発行してもよいし、それ以外の方法で割り振ってもよい。
また、本実施例における公開パラメータには、第6の実施例に示した公開パラメータに加えて、ハッシュ関数H_{2}が含まれる。ハッシュ関数H_{2}は、任意の長さのバイナリ系列の集合からG_{1}へのハッシュ関数である。
本実施例では、入札値に関する知識証明が可能な電子入札システムにおける入札動作および検証動作について具体例を示す。なお、IBE公開鍵生成動作および開札動作は、第5の実施例と同様であるため、説明省略する。まず、入札動作について図28を参照して説明する。図28は、第7の実施例における入札動作の一例を示す流れ図である。入札装置320には、公開パラメータとIBE公開鍵P_{pub}と入札値vとが入力されている(ステップF160)。また、入札装置320には、入札者固有のIDであるID_{i}が入力されている(1≦i≦a)。
入札装置320のIBE暗号化手段302は、まず、H_{1}(v)=(a_{1},・・・,a_{N})を計算する(ステップF260)。次に、tをZ_{q}からランダムに選ぶ(ステップF360)。次に、A=Q^{t}・Mを計算する(ステップF460)。次に、B=g^{t}を計算する(ステップF560)。次に、C_{1}=u_{1,a_{1}}^{t},・・・,C_{N}=u_{N,a_{N}}^{t}を計算する(ステップF660)。
次に、入札値知識証明手段323は、入札値知識証明データを生成する。本実施例では、tの知識を証明することによって入札値に関する知識証明を行う。入札値知識証明手段323は、まず、h_{i}=H_{2}(A‖ID_{i})を計算する(ステップF760)。次に、proof_{i}=h_{i}^{t}を計算する(ステップF860)。次に、入札値知識証明手段323は、生成した入札値知識証明データproof_{i}と、暗号入札データX=(A,B,C_{1},・・・,C_{N})とを検証装置520に送信する(ステップF960)。検証装置520は、入札装置320から受信した各入札者のproof_{i}とX_{i}=(A_{i},B_{i},C_{i,1},・・・,C_{i,N})とを入札値知識証明付き暗号入札データ記憶装置522に記憶する。
上記に示した入札値知識証明の証明法において、tに関する知識を持たずにproof_{i}を求めることができる可能性は非常に低い。このようなことができる装置が仮に存在するならば、この装置を用いて離散対数問題を解くことができる。この問題は現在多くの公開鍵暗号方式の安全性が依拠している問題であり、上記の装置の存在は、現在のほとんどの公開鍵暗号方式を使えなくするほどの影響があり、このようなことが起こることは稀である。
また、ハッシュ関数H_{2}の入力に、入札者のIDであるID_{i}が含まれているため、ハッシュ関数の衝突困難性によりID_{i}以外のIDを持つ入札者がこの証明をコピーしても、検証を通ることはない。
ここで入札値知識証明としては、非特許文献4に掲載の証明法を用いることにより、tの知識をゼロ知識証明で示すこともできる。非特許文献4に掲載の証明法を用いる場合には、まず、h_{i}=H_{2}(A‖ID_{i})を計算する。次に、r_{i}をZ_{q}からランダムに選ぶ。次に、α_{i}=g^{r_{i}}を計算する。次に、s_{i}=r_{i}+h_{i}・tを計算する。そして、proof_{i}=(α_{i},s_{i})とする。
次に、検証動作について図29を参照して説明する。図29は、第7の実施例における検証動作の一例を示す説明図である。検証装置520には、上記で示した公開パラメータとIBE公開鍵P_{pub}と入札値知識証明付き入札データ(X_{i},proof_{i})とが入力されている(ステップH160)。まず、検証装置520の検証手段523は、暗号入札データX_{i}に対して、X_{i}=<A_{i},B_{i},C_{i,1},・・・,C_{i,N}>とパースする(ステップH260)。つまり、X_{i}をA_{i},B_{i},C_{i,1},・・・,C_{i,N}に分解する。次に、V_{1,i}=e(B_{i},H_{2}(Y_{i}‖ID_{i}))を計算する(ステップH360)。次に、V_{2,i}=e(g,proof_{i})を計算する(ステップH460)。
次に、検証手段523は、V_{1,i}=V_{2,i}を判定する(ステップH560)。一致した場合には、入札値知識証明データは正しいものであるとして、C_{i}を開札装置400に送信する(ステップH660)。一致しなかった場合には、不正なものであるとして、その旨出力する(ステップH760)。このような検証動作を、全入札者データ(X_{1},proof_{1}),・・・,(X_{a},proof_{a})に対して行う。
また、入札値知識証明として非特許文献4に記載の証明法を用いた場合、検証装置520には、proof_{i}として(α_{i},s_{i})が入力される。そのような場合の検証動作は、まず、V_{1,i}=P^{s_{i}}を計算する。次に、V_{2,i}=α_{i}・B_{i}^{H_{2}(A_{i}‖ID_{i})を計算する。そして、V_{1,i}=V_{2,i}を判定する。一致した場合には、入札値知識証明データは正しいものであるとして、X_{i}を開札装置400に送信する。一致しなかった場合には、不正なものであるとして、その旨出力する。
次に、第8の実施例を用いて本発明を実施するための形態の動作を説明する。本実施例は、本発明の第4の実施の形態による電子入札システムを、Boneh−BoyenIBE方式を用いて実現する場合の実施例である。本実施例は、第6の実施例と第7の実施例を組み合わせたものである。従って、本実施例においても、復号用秘密情報を分散管理する部分開札装置110がn台存在するものとする。その際、部分開札装置110−1が1番目,部分開札装置110−2が2番目,・・・,部分開札装置110−nがn番目の拠点として設置されているものとする。また、入札装置320は、入札者に応じてa台存在し、各入札装置320には入札者固有のIDが割り振られているものとする。なお、本実施例における公開パラメータは、第7の実施例と同様である。
まず、IBE公開鍵生成動作について説明する。IBE公開鍵生成動作は、図25に示す第6の実施例と同様であって、部分開札装置110−1〜nには、それぞれ公開パラメータが入力されている(ステップE150)。まず、部分開札装置110−1が動作する。部分開札装置110−1の部分秘密鍵生成手段102−1は、まず、α_{1}をZ_{q}からランダムに選ぶ(ステップE250−1)。次に、S_{1}=g_{2}^{α_{1}}を計算し、部分秘密鍵格納装置103−1に格納する(ステップE350−1)。次に、部分公開鍵生成手段114−1は、g_{1,1}=g^{α_{1}}を計算し、g_{1}=g_{1,1}とセットする(ステップE450−1,550−1)。次に、P_{pub,1}=(g,g_{1},g_{2},U,H_{1})とセットし、次の拠点である部分開札装置110−2に送信する(ステップE650−1)。
部分開札装置110−2は、前の拠点である部分開札装置110−1からP_{pub,1}を受信する。部分開札装置110−2の部分秘密鍵生成手段102−2は、まず、α_{2}をZ_{q}からランダムに選ぶ(ステップE250−2)。次に、S_{2}=g_{2}^{α_{2}}を計算し、部分秘密鍵格納装置103−2に格納する(ステップE350−2)。次に、部分公開鍵生成手段114−2は、g_{1,2}=g^{α_{2}}を計算する(ステップE450−2)。次に、g_{1}=g_{1,2}・g_{1}を計算する(ステップE550−2)。次に、P_{pub,2}=(g,g_{1},g_{2},U,H_{1})とセットして部分開札装置110−3に送る(ステップE650−2)。同様の手順で、部分開札装置110−(n−1)まで動作する。
部分開札装置110−nは、前の拠点である部分開札装置110−(n−1)からP_{pub,n}を受信する。部分開札装置110−2の部分秘密鍵生成手段102−2は、まず、α_{n}をZ_{q}からランダムに選ぶ(ステップE250−n)。次に、S_{n}=g_{2}^{α_{n}}を計算し、部分秘密鍵格納装置103−nに格納する(ステップE350−n)。次に、部分公開鍵生成手段114−nは、g_{1,n}=g_{1}^{α_{n}}を計算する(ステップE450−n)。次に、g_{1}=g_{1,n}・g_{1}を計算する(ステップE550−n)。次に、Q=e(g_{1},g_{2})を計算する(ステップE650−n)。次に、P_{pub}=(g,g_{1},g_{2},U,H_{1},Q)をIBE公開鍵として公開する(ステップE750−n)。
次に、入札動作について説明する。入札動作は、図28に示す第7の実施例と同様であって、入札装置320には、公開パラメータとIBE公開鍵P_{pub}と入札値vとが入力されている(ステップF160)。また、入札装置320には、入札者固有のIDであるID_{i}が入力されている(1≦i≦a)。
入札装置320のIBE暗号化手段302は、まず、H_{1}(v)=(a_{1},・・・,a_{N})を計算する(ステップF260)。次に、tをZ_{q}からランダムに選ぶ(ステップF360)。次に、A=Q^{t}・Mを計算する(ステップF460)。次に、B=g^{t}を計算する(ステップF560)。次に、C_{1}=u_{1,a_{1}}^{t},・・・,C_{N}=u_{N,a_{N}}^{t}を計算する(ステップF660)。
次に、入札値知識証明手段323は、入札値知識証明データを生成する。本実施例では、tの知識を証明することによって入札値に関する知識証明を行う。入札値知識証明手段323は、まず、h_{i}=H_{2}(A‖ID_{i})を計算する(ステップF760)。次に、proof_{i}=h_{i}^{t}を計算する(ステップF860)。次に、入札値知識証明手段323は、生成した入札値知識証明データproof_{i}と、暗号入札データX=(A,B,C_{1},・・・,C_{N})とを検証装置520に送信する(ステップF960)。検証装置520は、入札装置320から受信した各入札者のproof_{i}とX_{i}=(A_{i},B_{i},C_{i,1},・・・,C_{i,N})とを入札値知識証明付き暗号入札データ記憶装置522に記憶する。
ここで入札値知識証明としては、非特許文献4に掲載の証明法を用いることにより、tの知識をゼロ知識証明で示すこともできる。非特許文献4に掲載の証明法を用いる場合には、まず、h_{i}=H_{2}(A‖ID_{i})を計算する。次に、r_{i}をZ_{q}からランダムに選ぶ。次に、α_{i}=g^{r_{i}}を計算する。次に、s_{i}=r_{i}+h_{i}・tを計算する。そして、proof_{i}=(α_{i},s_{i})とする。
次に、検証動作について説明する。検証動作は、図29に示す第7の実施例と同様であって、検証装置520には、上記で示した公開パラメータとIBE公開鍵P_{pub}と入札値知識証明付き暗号入札データ(X_{i},proof_{i})とが入力されている(ステップH160)。まず、検証装置520の検証手段523は、暗号入札データX_{i}に対して、X_{i}=<A_{i},B_{i},C_{i,1},・・・,C_{i,n}>とパースする(ステップH260)。つまり、X_{i}をA_{i},B_{i},C_{i,1},・・・,C_{i,n}に分解する。次に、V_{1,i}=e(B_{i},H(Y_{i}‖ID_{i}))を計算する(ステップH360)。次に、V_{2,i}=e(g,proof_{i})を計算する(ステップH460)。
次に、検証手段523は、V_{1,i}=V_{2,i}を判定する(ステップH560)。一致した場合には、入札値知識証明データは正しいものであるとして、C_{i}を開札装置400に送信する(ステップH660)。一致しなかった場合には、不正なものであるとして、その旨出力する(ステップH760)。このような検証動作を、全入札者データ(X_{1},proof_{1}),・・・,(X_{a},proof_{a})に対して行う。
また、入札値知識証明として非特許文献4に記載の証明法を用いた場合、検証装置520には、proof_{i}として(α_{i},s_{i})が入力される。そのような場合の検証動作は、まず、V_{1,i}=P^{s_{i}}を計算する。次に、V_{2,i}=α_{i}・B_{i}^{H_{2}(A_{i}‖ID_{i})を計算する。そして、V_{1,i}=V_{2,i}を判定する。一致した場合には、入札値知識証明データは正しいものであるとして、X_{i}を開札装置400に送信する。一致しなかった場合には、不正なものであるとして、その旨出力する。
次に、開札動作について説明する。開札動作は、図26および図27に示す第6の実施例と同様であって、開札装置410には、公開パラメータとIBE公開鍵P_{pub}と全入札者の暗号入札データX_{1},・・・,X_{a}とが入力されている(ステップG150)。まず、開札装置410の落札値候補決定手段403は、落札値候補v_{i}を決定する(ステップG250)。ここでは、落札値候補決定手段403は、まず、最も高い入札値v_{t}を落札値候補に決定(i=tとセット)する。
次に、開札データ生成手段414は、全入札者の暗号入札データXの各j(1≦j≦a)に対して、X_{j}=<A_{j},B_{j},C_{j,1},・・・,C_{j,N}>とパースする(ステップG350)。つまり、X_{j}をA_{j},B_{j},C_{j,1},・・・,C_{j,N}に分解する。次に、落札値候補v_{i}と、(B_{1},C_{1,1},・・・,C_{1,N}),・・・,(B_{a},C_{a,1},・・・,C_{a,N})とを開札処理用データとして、部分開札装置110−1に送信する(ステップG450)。
開札処理用データを受信した部分開札装置110−1は、開札データの合成動作を開始する(ステップG550)。図27に示すように、はじめに、各部分開札装置110には、公開パラメータおよびIBE公開鍵P_{pub}が入力されている(ステップG551)。部分開札装置110−1の部分開札データ生成手段115−1は、開札処理用データを受信すると、まず、H_{1}(v_{i})=(a_{1},・・・,a_{N})を計算する(ステップE552−1)。次に、r_{1,1},r_{1,2},・・・,r_{1,N}をZ_{q}の元からランダムに選ぶ(ステップE553−1)。次に、d_{1,0}=S_{1}・u_{1,a_{1}}^{r_{1,1}}・・・・・u_{N,a_{N}}^{r_{1,N}}を計算する(ステップE554−1)。次に、d_{1,1}=g^{r_{1,1}},d_{1,2}=g^{r_{1,2}},・・・,d_{1,N}=g^{r_{1,N}}を計算する(ステップE555−1)。次に、U_{1}=e(C_{1,1},d_{1,1})・・・・・e(C_{1,N},d_{1,N})を計算する。また、U_{1}と同様にして、U_{2}=e(C_{2,1},d_{1,1})・・・・・e(C_{2,N},d_{1,N}),・・・,U_{a}を計算する(ステップE556−1)。次に、V_{1}=e(B_{1},d_{1,0})を計算する。また、V_{1}と同様にして、V_{2}=e(B_{2},d_{1,0}),・・・,V_{a}を計算する(ステップE557−1)。
次に、D_{v_{i},1,1}=U_{1}÷V_{1}を計算する。また、D_{v_{i},1,1}と同様にして、D_{v_{i},2,1}=U_{2}÷V_{2},・・・,D_{v_{i},a,1}=U_{a}÷V_{a}を計算する(ステップE558−1)。ここで、部分開札データ生成手段115−1は、部分開札装置110−1が最初の拠点であることから、D_{v_{i},1}=D_{v_{i},1,1},・・・,D_{v_{i},a}=D_{v_{i},a,1}とセットして、開札データ−1として、部分開札装置110−2に送る(ステップE55a−1)。なお、開札データを次の拠点に送る際には、v_{i}と、(B_{1},C_{1,1},・・・,C_{1,N}),・・・,(B_{a},C_{a,1},・・・,C_{a,N})とを開札処理用データとして含めて送信する。
部分開札装置110−2は、前の拠点である部分開札装置110−1から開札データ−1と開札処理用データとを受信する。部分開札装置110−2の部分開札データ生成手段115−2は、まず、H_{1}(v_{i})=(a_{1},・・・,a_{N})を計算する(ステップE552−2)。次に、r_{2,1},r_{2,2},・・・,r_{2,N}をZ_{q}の元からランダムに選ぶ(ステップE553−2)。次に、d_{2,0}=S_{2}・u_{1,a_{1}}^{r_{2,1}}・・・・・u_{N,a_{N}}^{r_{2,N}}を計算する(ステップE554−2)。次に、d_{2,1}=g^{r_{2,1}},d_{2,2}=g^{r_{2,2}},・・・,d_{2,N}=g^{r_{2,N}}を計算する(ステップE555−2)。次に、U_{1}=e(C_{1,1},d_{2,1})・・・・・e(C_{1,N},d_{2,N})を計算する。また、U_{1}と同様にして、U_{2}=e(C_{2,1},d_{2,1})・・・・・e(C_{2,N},d_{2,N}),・・・,U_{a}を計算する(ステップE556−2)。次に、V_{1}=e(B_{1},d_{2,0})を計算する。また、V_{1}と同様にして、V_{2}=e(B_{2},d_{2,0}),・・・,V_{a}を計算する(ステップE557−2)。
次に、D_{v_{i},1,2}=U_{1}÷V_{1}を計算する。また、D_{v_{i},1,2}と同様にして、D_{v_{i},2,2}=U_{2}÷V_{2},・・・,D_{v_{i},a,2}=U_{a}÷V_{a}を計算する(ステップE558−2)。ここで、部分公開鍵生成手段114−2は、前の拠点である部分開札装置110−1から受信した開札データ−1を用いて、D_{v_{i},1}=D_{v_{i},1,2}・D_{v_{i},1}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2}=D_{v_{i},2,2}・D_{v_{i},2},・・・,D_{v_{i},a}=D_{v_{i},a,2}・D_{v_{i},a}を計算する(ステップE559−2)。次に、計算したD_{v_{i},1},・・・,D_{v_{i},a}を開札データ−2として、部分開札装置110−3に送信する(ステップE55a−2)。同様の手順で、部分開札装置110−(n−1)まで動作する。
部分開札装置110−nは、前の拠点である部分開札装置110−(n−1)から開札データ−(n−1)と開札処理用データとを受信する。部分開札装置110−nの部分開札データ生成手段115−nは、まず、H_{1}(v_{i})=(a_{1},・・・,a_{N})を計算する(ステップE552−n)。次に、r_{n,1},r_{n,2},・・・,r_{n,N}をZ_{q}の元からランダムに選ぶ(ステップE553−n)。次に、d_{n,0}=S_{n}・u_{1,a_{1}}^{r_{n,1}},・・・,u_{N,a_{N}}^{r_{n,N}}を計算する(ステップE554−n)。次に、d_{n,1}=g^{r_{n,1}},d_{n,2}=g^{r_{n,2}},・・・,d_{n,N}=g^{r_{n,N}}を計算する(ステップE555−n)。次に、U_{1}=e(C_{1,1},d_{n,1})・・・・・e(C_{1,N},d_{n,N})を計算する。また、U_{1}と同様にして、U_{2}=e(C_{2,1},d_{n,1})・・・・・e(C_{2,N},d_{n,N}),・・・,U_{a}を計算する(ステップG546−1)(ステップE556−n)。次に、V_{1}=e(B_{1},d_{n,0})を計算する。また、V_{1}と同様にして、V_{2}=e(B_{2},d_{n,0}),・・・,V_{a}を計算する(ステップE557−n)。
次に、D_{v_{i},1,n}=U_{1}÷V_{1}を計算する。また、D_{v_{i},1,n}と同様にして、D_{v_{i},2,n}=U_{2}÷V_{2},・・・,D_{v_{i},a,n}=U_{a}÷V_{a}を計算する(ステップE558−n)。ここで、部分公開鍵生成手段114−nは、前の拠点である部分開札装置110−(n−1)から受信した開札データ−(n−1)を用いて、D_{v_{i},1}=D_{v_{i},1,n}・D_{v_{i},1}を計算する。また、D_{v_{i},1}と同様にして、D_{v_{i},2}=D_{v_{i},2,n}・D_{v_{i},2},・・・,D_{v_{i},a}=D_{v_{i},a,n}・D_{v_{i},a}を計算する(ステップE559−n)。また、部分公開鍵生成手段114−nは、部分開札装置110−nが最後の拠点であることから、D_{v_{i},1},・・・,D_{v_{i},a}を開札データとして、開札装置410に送信する(ステップG517−n)。
部分開札装置110−nから開札データを受信した開札装置410の開札データ生成手段414は、受信した開札データをIBE復号手段405に出力する。以降の動作は、第5の実施の形態と同様のため、説明省略する。
次に、第9の実施例を用いて本発明を実施するための形態を説明する。本実施例は、本発明の電子入札システムの事業形態を、第1の実施の形態を例にとって具体的に説明する。図1に示す電子入札システムにおいて、例えば、部分開札装置100は、開札作業の一部を管理する事業者(以下、部分開札事業者と呼ぶ)によって運営される。ここで、部分開札装置100−1〜nは、異なる部分開札事業者によって運営されることが望ましい。また、IBE公開鍵生成装置200は、例えば、電子入札を主催する事業者(以下、入札主催事業者)によって運営される。入札主催事業者は、例えば、ある公共事業を外注する外注先を入札によって決定したい地方公共団体であってもよい。開札装置400は、例えば、開札作業を取りまとめる事業者(以下、開札事業者と呼ぶ)によって運営される。
このような事業形態においては、まず、入札主催事業者が、公開パラメータを決定し、入札を実施する旨とともに、例えば新聞などによって公知する。次に、開札事業者が部分開札事業者に指示するなどして、部分開札装置100および開札装置400に公開パラメータを入力し、結果出力されるIBE公開鍵を公開する。次に、入札したい入札者が、入札装置300に公開パラメータ、IBE公開鍵および入札値を入力し、暗号入札データを開札装置400に送信させる。このようにして送信される各入札者の暗号入札データを開札装置400が受信して開札を行い、結果出力される落札結果を開札事業者が入札主催事業者に通知する。
なお、上記では第1の実施の形態による電子入札システムの事業形態について、具体例を示したが、他の実施の形態においても同様の事業形態が可能である。なお、第3または第4の実施の形態による電子入札システムの場合には、例えば、検証装置520は、入札値知識証明を検証する事業者(以下、入札値知識証明検証事業者と呼ぶ)によって運営される。なお、入札値知識証明検証事業者と開札事業者は、同一事業者であってもよい。
本発明は、上記に示した各実施例に限定されるものではなく、本発明の技術思想の範囲内において、各実施例を適宜変更して実施可能である。
本発明は、通信ネットワークを介して入札値を秘匿にして入札を行う電子入札に好適に適用できる。

Claims (11)

  1. 入札者が入札を行う入札装置と、前記入札装置と通信ネットワークを介して接続される開札装置とを備え、
    前記入札装置は、
    入札者から入力される入札値をIDとするIDベース暗号(IBE)方式を用いて暗号化を行うIBE暗号化手段と、
    前記IBE暗号化手段が暗号化した結果出力される暗号データを前記開札装置に送信する送信手段とを備え、
    前記開札装置は、
    入札可能価格をIDとするIDベース暗号方式を用いて、前記入札装置から送信される暗号データの復号を行うIBE復号手段と、
    前記IBE復号手段が復号した結果出力される復号データに基づいて、落札値および落札者を判定する判定手段とを備えた
    ことを特徴とする電子入札システム。
  2. 前記IBE暗号化手段は、少なくとも入札可能価格を示す情報と、予め定めた入札用メッセージと、IDベース暗号方式において暗号化および復号に用いる情報を示す暗号パラメータとを含み、開札者側から事前に公開されている情報である公開パラメータと、入札者から入力される入札値とを用いて、前記入札値をIDとするIDベース暗号方式の暗号理論に基づいて計算することによって、前記入札値に対応する暗号化鍵を生成し、該生成した暗号化鍵を用いて、前記所定の入札用メッセージを暗号化し、
    前記IBE復号手段は、復号に必要な秘密を示す復号用秘密情報と、前記公開パラメータと、各入札者の暗号データと、入札可能価格の中から所定の条件に従って選択される候補値とを用いて、前記候補値をIDとするIDベース暗号方式の暗号理論に基づいて計算することによって、暗号データを復号し、
    前記判定手段は、前記IBE復号手段が復号した復号データが、前記入札用メッセージと一致した場合に、復号に用いた前記候補値を秘匿にされた入札値と判断することによって判定を行う
    請求項1に記載の電子入札システム。
  3. 入札者が入札を行う入札装置と、復号に必要な秘密を示す復号用秘密情報を記憶している1つまたは複数の部分開札装置と、前記入札装置および前記部分開札装置と通信ネットワークを介して接続される開札装置とを備え、
    前記部分開札装置は、
    公開パラメータを入力として、前記復号用秘密情報に対応する情報であって、IDベース暗号(IBE)方式において暗号化に用いるIBE公開鍵を生成するために必要な部分公開鍵を生成する部分公開鍵生成手段と、
    前記公開パラメータと、暗号データとを入力として、前記復号用秘密情報にかかる復号演算を行い、前記復号演算の結果を示す部分開札データを生成する部分開札データ生成手段とを備え、
    前記入札装置は、前記公開パラメータと、前記部分公開鍵生成手段が生成した部分公開鍵を用いて生成されるIBE公開鍵と、入札者から入力される入札値とを入力として、前記入札値をIDとするIDベース暗号方式の暗号理論に基づき、所定の入札メッセージを暗号化した暗号データを生成する暗号データ生成手段を備え、
    前記開札装置は、
    前記公開パラメータと、前記部分公開鍵生成手段が生成した部分公開鍵を用いて生成されるIBE公開鍵と、暗号データと、前記部分開札データ生成手段が生成した部分開札データとを入力として、暗号データを復号した結果を示す復号データを生成する復号データ生成手段と、
    前記復号データ生成手段が生成した復号データに基づいて、落札値および落札者を判定する落札判定手段とを備えた
    ことを特徴とする電子入札システム。
  4. 前記開札装置は、前記部分開札装置から部分公開鍵を収集し、該収集した部分公開鍵を所定の合成条件に従って合成することにより、IBE公開鍵を生成する開札装置側IBE公開鍵生成手段を備えた
    請求項3記載の電子入札システム。
  5. 前記部分開札装置は、該部分開札装置が1番目の拠点として設置されている場合に、該部分開札装置が備える部分公開鍵生成手段が生成した部分公開鍵をIBE公開鍵として、2番目の拠点の部分開札装置に送信し、
    また、前記部分開札装置が2番目以降の拠点として設置されている場合に、前の拠点から受信したIBE公開鍵と、該部分開札装置が備える部分公開鍵生成手段が生成した部分公開鍵とを所定の合成条件に従って合成してIBE公開鍵を更新していくことで、分散復号に必要な充足数を満たす部分公開鍵を逐次的に合成してIBE公開鍵を生成する部分開札装置側IBE公開鍵生成手段を備えた
    請求項3記載の電子入札システム。
  6. 前記開札装置は、分散復号に必要な充足数を満たす部分開札データを収集し、収集した部分開札データを所定の合成条件に従って合成することにより、分散された復号用秘密情報にかかる復号演算の完全な演算結果を示す開札データを生成する開札装置側開札データ生成手段を備えた
    請求項3記載の電子入札システム。
  7. 前記部分開札装置は、該部分開札装置が1番目の拠点として設置されている場合に、該部分開札装置が備える部分開札データ生成手段が生成した部分開札データを開札データとして、2番目の拠点の部分開札装置に送信し、
    また、前記部分開札装置が2番目以降の拠点として設置されている場合に、前の拠点から受信した開札データと、該部分開札装置が備える部分開札データ生成手段が生成した部分開札データとを所定の合成条件に従って合成して部分開札データを更新していくことで、分散復号に必要な充足数を満たす部分開札データを逐次的に合成して開札データを生成する部分開札装置側開札データ生成手段を備えた
    請求項3記載の電子入札システム。
  8. 前記入札装置および開札装置と、通信ネットワークを介して接続される入札値知識証明検証装置を備え、
    前記入札装置は、
    予め割り当てられた入札者固有の情報と、暗号化に用いる暗号パラメータのうち、該入札装置が無作為に選択することができる暗号化任意情報とを用いて、入札値に関する知識を証明するためのデータである入札値知識証明データを生成する入札値知識証明生成手段と、
    前記入札値知識証明生成手段が生成した入札値知識証明データを、暗号データ生成手段が生成した暗号データに付加する入札値知識証明データ付加手段とを備え、
    前記入札値知識証明検証装置は、
    公開パラメータと、前記入札値知識証明データ付加手段によって付加された入札値知識証明データ付き暗号データとを入力として、前記入札値知識証明データを前記入札者固有の情報に基づいて検証する検証手段と、
    前記検証手段が検証した結果、正しい入札値知識証明データが付加されていた暗号データを開札装置に送信し、そうでない暗号データを不受理とする旨とともに出力する検証結果対応手段とを備えた
    請求項3から請求項7のうちのいずれか1項に記載の電子入札システム。
  9. 入札者が入札を行う入札装置と、前記入札装置と通信ネットワークを介して接続される開札装置とを備えた電子入札システムで使用される電子入札方法であって、
    前記入札装置が、入札者から入力される入札値をIDとするIDベース暗号(IBE)方式を用いて暗号化を行い、
    前記入札装置が、暗号化した結果出力される暗号データを前記開札装置に送信し、
    前記開札装置が、入札可能価格をIDとするIDベース暗号方式を用いて、前記入札装置から送信される暗号データの復号を行い、
    前記開札装置が、復号した結果出力される復号データに基づいて、落札値および落札者を判定する
    ことを特徴とする電子入札方法。
  10. 入札者が入札を行う入札装置と、復号に必要な秘密を示す復号用秘密情報を記憶している1つまたは複数の部分開札装置と、前記入札装置および前記部分開札装置と通信ネットワークを介して接続される開札装置とを備えた電子入札システムで使用される電子入札方法であって、
    前記部分開札装置が、公開パラメータを入力として、前記復号用秘密情報に対応する情報であって、IDベース暗号方式において暗号化に用いるIBE公開鍵を生成するために必要な部分公開鍵を生成し、
    前記部分開札装置が、前記公開パラメータと、暗号データとを入力として、前記復号用秘密情報にかかる復号演算を行い、前記復号演算の結果を示す部分開札データを生成し、 前記入札装置が、前記公開パラメータと、前記部分開札装置が生成した部分公開鍵を用いて生成されるIBE公開鍵と、入札者から入力される入札値とを入力として、前記入札値をIDとするIDベース暗号方式の暗号理論に基づき、所定の入札メッセージを暗号化した暗号データを生成し、
    前記開札装置が、前記公開パラメータと、前記部分開札装置が生成した部分公開鍵を用いて生成されるIBE公開鍵と、暗号データと、前記部分開札装置が生成した部分開札データとを入力として、暗号データを復号した結果を示す復号データを生成し、
    前記開札装置が、前記復号データに基づいて、落札値および落札者を判定する
    ことを特徴とする電子入札方法。
  11. 前記入札装置が、予め割り当てられた入札者固有の情報と、暗号化に用いる暗号パラメータのうち、該入札装置が無作為に選択することができる暗号化任意情報とを用いて、入札値に関する知識を証明するためのデータである入札値知識証明データを生成し、
    前記入札装置が、前記生成した入札値知識証明データを、暗号データに付加して、通信ネットワークを介して接続される入札値知識証明検証装置に送信し、
    前記入札値知識証明検証装置が、公開パラメータと、前記入札値知識証明データ付き暗号データとを入力として、前記入札値知識証明データを前記入札者固有の情報に基づいて検証し、
    前記入札値知識証明検証装置が、検証した結果、正しい入札値知識証明データが付加されていた暗号データを開札装置に送信し、そうでない暗号データを不受理とする旨とともに出力する
    請求項10記載の電子入札方法。
JP2007547961A 2005-12-01 2006-11-29 電子入札システムおよび電子入札方法 Expired - Fee Related JP4962317B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007547961A JP4962317B2 (ja) 2005-12-01 2006-11-29 電子入札システムおよび電子入札方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005348321 2005-12-01
JP2005348321 2005-12-01
JP2007547961A JP4962317B2 (ja) 2005-12-01 2006-11-29 電子入札システムおよび電子入札方法
PCT/JP2006/323779 WO2007063876A1 (ja) 2005-12-01 2006-11-29 電子入札システムおよび電子入札方法

Publications (2)

Publication Number Publication Date
JPWO2007063876A1 JPWO2007063876A1 (ja) 2009-05-07
JP4962317B2 true JP4962317B2 (ja) 2012-06-27

Family

ID=38092209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007547961A Expired - Fee Related JP4962317B2 (ja) 2005-12-01 2006-11-29 電子入札システムおよび電子入札方法

Country Status (4)

Country Link
US (1) US10797867B2 (ja)
EP (1) EP1971072A4 (ja)
JP (1) JP4962317B2 (ja)
WO (1) WO2007063876A1 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1933266A1 (en) * 2006-12-15 2008-06-18 Sap Ag Method and system for preventing attacks on online auction sales
US8554683B2 (en) * 2006-12-19 2013-10-08 Fox Audience Network, Inc. Content security for real-time bidding
US8831987B2 (en) 2006-12-19 2014-09-09 The Rubicon Project Managing bids in a real-time auction for advertisements
EP2095322A4 (en) 2006-12-19 2011-04-20 Fox Audience Network Inc AUCTION FOR EVERY PRINT OF INDIVIDUAL ADVERTISING STRIP
EP2122903A1 (en) * 2006-12-21 2009-11-25 International Business Machines Corporation Key distribution for securing broadcast transmission to groups of users in wireless networks
JP6165044B2 (ja) * 2013-12-16 2017-07-19 Kddi株式会社 利用者認証装置、システム、方法及びプログラム
CN106452770B (zh) * 2015-08-12 2020-10-13 深圳市腾讯计算机系统有限公司 一种数据加密方法、解密方法、装置和系统
KR101740958B1 (ko) 2015-11-06 2017-05-30 고려대학교 산학협력단 암호 시스템 및 방법
WO2017132087A1 (en) 2016-01-25 2017-08-03 nToggle, Inc. Platform for programmatic advertising
US10389532B2 (en) * 2017-09-22 2019-08-20 Yokogawa Electric Corporation Secure message routing in multi-tenant system without content inspection
CN108319860B (zh) * 2018-02-07 2021-05-11 南通市公共资源交易中心 一种远程开评标管理方法、管理系统及管理设备
JP7364238B2 (ja) * 2018-03-29 2023-10-18 日本電気株式会社 電子取引システム、取引サーバ、検証サーバ、電子取引方法及びプログラム
US11288699B2 (en) 2018-07-13 2022-03-29 Pubwise, LLLP Digital advertising platform with demand path optimization
CN112182596B (zh) * 2020-03-24 2021-12-31 工保科技(浙江)有限公司 通过电子保函系统投标和开标的方法及数据保密方法
CN112016111B (zh) * 2020-09-08 2024-04-09 杭州天谷信息科技有限公司 一种可信的支持集中解密的招投标加解密的方法
CN113704794B (zh) * 2021-09-02 2023-09-26 国泰新点软件股份有限公司 电子招投标系统中的投标文件处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200311A (ja) * 1998-12-28 2000-07-18 Nec Corp 電子入札システム
US20030074330A1 (en) * 2001-10-11 2003-04-17 Nokia Corporation Efficient electronic auction schemes with privacy protection
JP2004208263A (ja) * 2002-12-24 2004-07-22 Kankoku Joho Tsushin Gakuen バイリニアペアリングを用いた個人識別情報に基づくブラインド署名装置及び方法
JP2005500740A (ja) * 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ Idベース暗号化および関連する暗号手法のシステムおよび方法
US20050262009A1 (en) * 2004-05-19 2005-11-24 Samsung Electronics Co., Ltd. Method and system for bidding in on-line auction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1526472A3 (en) * 1995-02-13 2006-07-26 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6363365B1 (en) * 1998-05-12 2002-03-26 International Business Machines Corp. Mechanism for secure tendering in an open electronic network
JP3864247B2 (ja) * 2001-10-19 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、端末装置、情報の配信方法及び復号方法
ATE388570T1 (de) * 2004-05-19 2008-03-15 Alcatel Lucent Verfahren zur bereitstellung eines signierungsschlüssels zur digitalen signierung, überprüfung oder verschlüsselung von daten
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000200311A (ja) * 1998-12-28 2000-07-18 Nec Corp 電子入札システム
JP2005500740A (ja) * 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ Idベース暗号化および関連する暗号手法のシステムおよび方法
US20030074330A1 (en) * 2001-10-11 2003-04-17 Nokia Corporation Efficient electronic auction schemes with privacy protection
JP2004208263A (ja) * 2002-12-24 2004-07-22 Kankoku Joho Tsushin Gakuen バイリニアペアリングを用いた個人識別情報に基づくブラインド署名装置及び方法
US20050262009A1 (en) * 2004-05-19 2005-11-24 Samsung Electronics Co., Ltd. Method and system for bidding in on-line auction

Also Published As

Publication number Publication date
EP1971072A1 (en) 2008-09-17
JPWO2007063876A1 (ja) 2009-05-07
US20090083190A1 (en) 2009-03-26
US10797867B2 (en) 2020-10-06
WO2007063876A1 (ja) 2007-06-07
EP1971072A4 (en) 2012-07-25

Similar Documents

Publication Publication Date Title
JP4962317B2 (ja) 電子入札システムおよび電子入札方法
TWI725124B (zh) 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
JP5851558B2 (ja) 再暗号化鍵生成装置、再暗号化装置及びプログラム
CN113259329B (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
JP6139804B2 (ja) 再暗号化鍵生成装置、再暗号化装置、暗号化装置、復号装置及びプログラム
US7899184B2 (en) Ends-messaging protocol that recovers and has backward security
CN110417547B (zh) 基于无证书密码学的保密通信的密钥更新方法和系统
JP2008172736A (ja) 暗号文復号権委譲システム
CN110557248A (zh) 基于无证书密码学的抗量子计算签密的密钥更新方法和系统
JP5324813B2 (ja) 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム
CN110557367B (zh) 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统
JP6468567B2 (ja) 鍵交換方法、鍵交換システム
JP2001211154A (ja) 秘密鍵生成方法,暗号化方法及び暗号通信方法
JPWO2016199507A1 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、通信装置、およびプログラム
JP2002237810A (ja) 匿名復号システム及び匿名復号方法並びにプログラム
JP2009141767A (ja) 暗号鍵の生成システム、暗号鍵の生成方法、暗号化認証システム及び暗号化通信システム
JP4856933B2 (ja) 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法
KR100718687B1 (ko) 겹선형 쌍 함수를 이용한 아이디 기반의 문턱 서명 방법
CN113141249B (zh) 一种门限解密方法、系统及可读存储介质
JP7254296B2 (ja) 鍵交換システム、情報処理装置、鍵交換方法及びプログラム
JP4960688B2 (ja) 署名検証装置、暗号化装置、署名検証方法及び暗号化方法
Guo et al. Comment on “An Efficient ABE Scheme With Verifiable Outsourced Encryption and Decryption”
Singh et al. Security of Data with 3DES & Watermarking Algorithm
JP3884593B2 (ja) 秘密鍵生成装置,暗号化装置,暗号通信方法,暗号通信システム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091027

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120312

R150 Certificate of patent or registration of utility model

Ref document number: 4962317

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees