JP4041746B2 - Multiple goods bidding method, apparatus thereof, and program thereof - Google Patents

Multiple goods bidding method, apparatus thereof, and program thereof Download PDF

Info

Publication number
JP4041746B2
JP4041746B2 JP2003016646A JP2003016646A JP4041746B2 JP 4041746 B2 JP4041746 B2 JP 4041746B2 JP 2003016646 A JP2003016646 A JP 2003016646A JP 2003016646 A JP2003016646 A JP 2003016646A JP 4041746 B2 JP4041746 B2 JP 4041746B2
Authority
JP
Japan
Prior art keywords
component
vector
processing
bidder
bid
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
JP2003016646A
Other languages
Japanese (ja)
Other versions
JP2004227425A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2003016646A priority Critical patent/JP4041746B2/en
Publication of JP2004227425A publication Critical patent/JP2004227425A/en
Application granted granted Critical
Publication of JP4041746B2 publication Critical patent/JP4041746B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は複数の入札者がインターネットなどの通信ネットワーク上に分散配置された入札者装置を利用して電子的通信により入札を複数種類の財の組合せに対し入札を行い、かつその際、入札値を秘匿にしておく入札方法およびその装置、そのプログラムに関する。
【0002】
【従来の技術】
1種類の財についてのみの電子的入札方法において、入札価格を秘密にしておく方法は非特許文献1に示されている。しかし複数種類の財の組合せについて、入札価格を秘密にしておく技術は提案されていない。
まず複数種類の財の組合せに対する電子入札方法として通常の組合せ入札法と、一般化Vickrey入札法とについて述べる。
b人の入札者B={1,2,…,i,…,b}に対するg種類の財G={1,2,…,j,…,g}の割当ての組合せについて入札を行うとする。この場合財GのBへの割当てBG ={A:G→B}はbg 通りとなる。例えばb=2,g=2の場合、財の割当表TG は図1Aに示すように、入札人B=1に財G=1とG=2を割当て、入札人B=2には何れの財も割当てない場合A1と、B=1にG=1を、B=2にG=2をそれぞれ割当てる場合A2 と、B=1にG=2を、B=2にG=1をそれぞれ割当てる場合A3 と、B=1には何れも割当てることなくB=2にG=1とG=2を割当てる場合との4通りとなる。なおどの入札者にも割当てられない財がある割当は、ダミーの入札者を入れることにより表すことができる。
【0003】
このような財割当表TG と、入札可能な価格P={1,2,…,k,…,p)の表TP (図1B)を開札者は入札者に予め公開しておく。入札者B=iは各財の割当A1 ,A2 ,…,Aq ,…,Aa (a=bg)に対し、価格表TP に示されている金額の何れかで入札価格を決め、入札価格bi =(b1,i ,…,bq,i ,…,ba,i ):BG →Pを開札者へ送る。
通常の組合せ入札の場合、開札者は全入札価格の和Σii を最大化する割当A* ∈BG を求め、その割当A* における各入札者xの支払価格px =bx(A*)とする。各入札者xは割当A* に従って財を受取り、支払価格px に従って代金を払う。
【0004】
一般化Vickrey入札の場合、開札者は全入札価格の和Σii を最大化する割当A* ∈BG を求め、また各入札者xの支払価格を次式により求める。
x =Σi x i(A* x)−Σi x i(A*) (1)
* x∈BG はmaxAΣi x i(A)を最大化する割当である。
式(1)の右辺第1項は入札者xが入札に参加しなかった場合の和の最大値であり、第2項は入札者xの入札価格を除いた価格の和である。各入札者xは割当A* に従って財を受取り、支払価格px に従って代金を払う。この技術は例えば特許文献1に記載されている。
【0005】
例えば二人の入札者B={1,2}、二種類の財G={1,2}の場合、財の割当A1 ,A2 ,A3 ,A4 は図1Aに示したようになり、これに対する入札者B=1の入札価格b1 =(b1,1 ,b2,1 ,b3,1 ,b4,1 )=(3,2,2,0)、入札者B=2の入札価格b2 =(b1,2 ,b2,2 ,b3,2 ,b4,2 )=(0,2,0,3)とする。つまり入札者B=1が財G=1とG=2を買うA1 に対し入札価格b1,1 =3円とし、財G1のみを買うA2 に対し入札価格b2,1 =2円とし、財G2のみを買うA3 に対し、b3,1 =2円とし、何にも買わないA4に対し、b4,1 =0円とする。この場合の全入札価格の和
1 +b2 =(3,4,2,3)
となり、Σi=1,2 i(A)を最大にするA* はA2 となる。式(1)に対応する値を代入すると、
1 =b2(A4)(=b4,2)−b2(A2)(=b2,2)=3−2=1
2 =b1(A1)(=b1,1)−b1(A2)(=b2,1)=3−2=1
となる。A2 に従って入札者B=1は財G=1を価格p1 =1で購入し、入札者B=2は財2を価格p2 =1で購入することになる。
【0006】
次に準同型暗号Eを用いて複数の値の最大値を求めたり、ある値にある値を加算し、しかも何れの値を加算したかがわからないようにする技術について説明する。この技術は例えば非特許文献2に示されており、この発明はこの技術を利用している。
準同型暗号Eは(1)識別不能、つまり平文m0 ,m1 と暗号E(mb)を見て、E(mb)はm0 を暗号化したものか、m1 を暗号化したものか当てることができない、(2)準同型的、つまりE(a・b)=E(a)E(b)であり、(3)再暗号化可能、即ちE(m)から同じ平文の別の暗号文E′(m)を効率的に計算できるものであり、例えばElGamal暗号やPaillierの暗号などである。数値w(1≦w≦n)を下記のように1番目の成分からw番目の成分までが暗号文E(z),(w+1)番目の成分からn番目の成分までが暗号文E(1)であるベクトル(w)で表わす。

Figure 0004041746
【0007】
つまり図2に示すように数値w=0の場合E(1)のみであり、w=1では1番目の成分のみがE(z)であり、w=2では1番目と2番目の成分のみがE(z)であり、w=n−1ではn番目の成分のみがE(1)であり、w=nでは全ての成分がE(z)である。ここでzは1以外の暗号文の平文になり得る範囲の整数であり、例えば1024ビットの数で表わされる数である。
最大値の計算(図3および図4参照):b個の暗号文のベクトル
Figure 0004041746
で表わした数値の中の最大値を、各数値w1 〜wb を知ることなく、つまり秘匿したまま以下のようにして求めることができる。まず全ての暗号文ベクトルの成分毎の積を積部でとる(S1)。
Figure 0004041746
暗号Eの準同型的性質、E(a)・E(b)=E(a・b)により、式(3)の積演算結果のベクトル(w)の各成分Ej(j=1,…,n)は式(4)にな
る。
j =Πi=1 bj,i=E(zs(j)) …(4)
ここで、s(j)=#{i|j≦wb }はj以上の数値の数であり、jについて単調に減少している。このことは図2をみれば直に理解されるように数値j以上の暗号文ベクトル(wi)におけるj番目の成分Ej,iは全てE(z)であるから、Πi=1 bj,i=E(zs(j))となる。数値j以上の暗号文ベクトルの数s(j)はjが大きくなるに従って段々減少することになる。そこで積ベクトル(w)の各成分Ej をj=n,n−1,…,lについて順番に復号部で復号し(S3)、制御部で復号結果D(Ej)がzに等しいか否かを調べD(Ej)=zに最初になった時のjの値が、暗号文ベクトル(w1)〜(wb)の数値w1 〜wb 中の最大値wmax となる(S2,S4,S5)。このようにして(w1)〜(wb)の各数値w1 〜wb を秘匿したままその最大値wmax を求めることができる。
【0008】
定数の加算(図5、図6参照):暗号文ベクトル(wi)=(E1,i ,E2,i ,…,En,i)で表わされた数値に対して数値wiを知ることなく公開された定数cを加算することができる。まず各成分E1,i ,…,En,i が順次格納されたシフトレジスタ(シフト部)を右へc段だけシフトして、右のc個の成分をシフトレジスタから除去し、左にc個の段を空きにして下記のベクトルとする(S1)。ただし、c≦n−wとする。
Figure 0004041746
付加部で空きとなった各シフト段にE(z)をc個格納してwi にcを加算した下記のベクトルとする(S2)。
Figure 0004041746
この暗号文ベクトルをランダム部でランダム化してwiに定数cを加算した数値wi+cの下記別の暗号文ベクトル(wi+c)に変更する(S3)。
Figure 0004041746
このようにして準同型暗号Eのランダム化可能という性質により、式(5)の暗号文ベクトルと式(6)の暗号文ベクトルは同一数値wi +cを表わすが別の暗号文ベクトルとなっているから(wi)と(wi+c)から定数cの情報を知ることは一切できない。この加算時にランダム化をしないと、加算前の暗号文ベクトルと加算後の暗号文ベクトルの各対応成分を比較し、不一致となる成分の個数から加算した定数がわかるから、前記ランダム化を行う。
【0009】
【特許文献1】
特許公開2000−243362公報、段落[0002]〜[0006]
【非特許文献1】
佐古和恵「落札値以外を秘匿する全体検証可能な電子入札方式」SCIS'99 35−40(1999)
【非特許文献2】
Makoto Yokoo,Koutarou Suzuki "Secure multi-agent dynamic programming based on homomorphic encryption and its application to combinatorial auctions." Proc. of Autonomous Agents and Multi−Agent Systems 2002,pp.112−119,ACM Press(2002) 第3.2項「Overview」
【0010】
【発明が解決しようとする課題】
先に述べたように、入札価格を秘匿したままの入札方法は1種類の財についてのみの入札しか提案されていなかった。このため「この財とこの財を一緒に欲しい」など財の組合せに対する要求をする入札を、入札価格を秘密にしたまま行うことができなかった。
この発明の目的は複数種類の財の組合せの入札を入札価格を秘密にしたまま可能とする入札方法、その装置およびそのプログラムを提供することにある。
【0011】
【課題を解決するための手段】
この発明によれば、開札者装置は各入札者の財の割当A={1,…,q,…,a}の表(財割当表)TG と入札できる金額の表(価格表)TP と、準同型暗号Eとその暗号による暗号文となり得る、1以外の数値zを公開し、また財割当表TG の各割当Aに対し、価格0を入札価格とした入札価格ベクトルbの各成分を、数値1の暗号z(1)のn個からなる価格0を表わす価格ベクトルで表現した暗号ベクトルを処理用 0 =( 0,0 ,…, a,b ), 1 =( 0,1 ,…, a,1 ),…, b =( 0,0 ,…, a,b )をそれぞれ生成し、公開または1つの入札者装置Bi へ送信する。
【0012】
入札者装置Bx は入札価格bx =(b1,x ,…,ba,x)が入力されると、 0 b 中の 0 x に対してその各成分の値に対し、対応する入札価格の加算をE(z)の付加とランダム化処理により、 0 x を復号することなく行って、その各加算結果を 0 x とし、 0 b を公開又は他の入札者装置へ送信する。
全入札者装置での入札処理が終ると、開札者装置は最終の 0 b について、まず 0 の各成分ベクトル 0,0 ,…, a,0 の積を求め、その積ベクトルの各成分をn番目から順次復号して最初に得られたzの成分番号から、 0,0 ,…, a,0 中の最大値mを求め、また各成分ベクトル 0,0 ,…, a,0 の第m番目の成分を復号してzとなる成分ベクトルと対応する財の割当Aq を求め、これを入札価格の和を最大とする財の割当A* とし、その成分の番号qをQとし、最終ベクトル 1 ,…, x ,…, b のそれぞれのA* と対応する各成分ベクトル Q,x (x∈{1,…,b})についてそれぞれn番目から順次復号して最初にzになった成分番号wQ,x を入札者xの割当A* に対する入札価格、つまり支払価格px とし、財の割当A* と、各支払価格px を公開する。
【0013】
この発明の他の面(一般化Vickrey入札)によれば、開札者装置が行う前処理、つまり 0 b を公開又は送信するまでは前記発明の一面(通常入札)と同一である。入札者装置Bx は入札価格bx =(b1,x ,…,ba,x )が入力されると、 0 b 中の x を除いた全てに対し、対応する入札価格の加算を、E(z)付加とランダム化処理により、 0 b を復号することなく行い、その演算結果を x を除く 0 b とし、これらと x を公開又は他の入札者装置へ送信する。
【0014】
全入札者装置での入札処理が終ると、開札者装置は最終の 0 b について、まず 0 の各成分ベクトルの最大値mを求め、更にその各成分ベクトルのm番目の成分を復号することによりΣi i を最大化する財の割当A* を求め、これと対応する 0 中の成分番号Qを求めることは前記発明の一面(通常入札)の場合と同様である。次に各最終ベクトル x(x∈{1,…,b})のそれぞれのQ番目の成分 Q,x のn番目の成分から順次復号して最初にzとなる番号を値wQ,xとし、更に各最終ベクトル xの最大値w′m,xとして、これらベクトルの積を求め、その積ベクトルをn番目の成分から順次復号し、最初にzが得られた成分番号を求める。このw′m,xから各wQ,x をそれぞれ引算した結果を入札者xの支払価格px とし、各支払価格と財割当(落札割当)A* を公開する。
【0015】
【発明の実施の形態】
図7にこの発明の方法が適用されるシステムの構成例を示す。複数の入札者装置B1 ,…,Bb と開札者装置11とがインターネットなどの通信網12を通じてそれぞれ通信することができ、また入札者装置B1 ,…,Bb 相互の通信も可能とされている。更にこの例では通信網12に掲示板装置13が接続され、また第3者装置14が接続されている場合である。
実施形態1(通常入札)
開札者装置11の処理手順の例を図8に、機能構成を図10に各々示し、入札者装置の処理手順の例を図9に、その機能構成の例を図11に各々示す。開札者装置11は例えばパーソナルコンピュータを主体に構成することができ、入札する複数種類の財と入札者が決まるとその財の割当表TG を図12に示すように財割当表作成部21で作成し(S1)、掲示板装置13に公開する。財割当表TG は具体的には前述した図1Aに示すようなものである。図12において入札者B−iは財割当番号1…aにはAi,1 ,…,Ai,a が割当てられていることを示している。各入札者の例えば登録番号についてこの割当られる財がこのように決められているものとする。つまり入札者は財割当表TG のどの行欄の割当を自分のものとするかは知ることができる。なお入札者の人数をe、財の種類をgとすると割当番号の最大値aはbg である。
【0016】
開札者装置11は割当られた一組の各財Aq,i(i∈{1,…,b},q∈{1,…,a})に対する入札可能な価格を示す価格表TP(例えば図1Bに示したものと同様なもの)を掲示板装置13に公開する。また鍵生成部22で秘密鍵SKとその公開鍵PKを生成して秘密鍵SKを鍵生成部22内に保持し公開鍵PKを掲示板装置13に公開し、更に準同型暗号Eの暗号文とすることができる、数値1以外の数zを掲示板装置13に公開する(S2)。
更に零関数を準同型暗号Eで暗号化したb+1個のベクトル 0 b を零関数生成部23で生成し(S3)、この例ではこれらベクトルを入札者装置の1つB1 へ送信する(S4)。これまでの処理が開札者装置11における前処理である。入札者装置Bx は掲示板装置13から財割当表TG 、価格表TP 、公開鍵PKと数値zを取得し、記憶部41に格納する(S1)。入札者は自分に割当られた財(A1,x ,…,Aq,x ,…Aa,x )に対し入札価格bx =(b1,x ,…,bq,x ,…,ba,x )を入力部42により入力する(S2)。この状態で入札者装置Bx-1 からのベクトル 0 ,…, b の受信を待ち、これが受信されると(S3)、加算部43でベクトル 0 x に入札価格bx を加算する(S4)。この加算は図5及び図6を参照して説明したようにシフト部43aで各ベクトル 0 x の各成分各 q,0 q,x (q∈{1,…,a})をそれぞれbq,x 個右にシフトする(S4a)、暗号部43bでzを準同型暗号Eで暗号化した暗号文E(z)を前記シフトにより空いた部分にbq,x 個だけ付加部43cにより付加し(S4b)、更にその付加された成分 q,0 q,x を各々ランダム部43dでランダム化する(S4c)。このようにして入札価格bx をベクトル 0 x に加算したものを新たにベクトル 0 x として他の加算しなかったベクトルと共に次の入札者装置Bx+1 へ送信する(S5)。この入札者装置Bx+1 に巡回的にベクトル 0 ,…, b を送信する順番は任意でよいが、予め決めておき最初は開札者装置11が送信し、最後の入札者装置は開札者装置11に送信する。このようなベクトルに対する入札価格の加算処理は掲示板装置13あるいは開札者装置11を介しながら順に行ってもよい。
【0017】
図11に示すように入札者装置は受信部44、送信部45、更に各部を動作させる制御部46を備え、例えばパーソナルコンピュータで構成することができる。
開札者装置11における開札処理の説明に先立ちベクトル 0 ,…, b について図13を参照して説明する。ベクトル 0 は入札価格b0 =(b1,0 ,…,bq,0 …,ba,0 )と対応し
1,0 ,…, q,0 ,…, a,0
でありその成分を代表して q,0
E(bq,0 =0)=(E1,q,0 (1),E2,q,0 (1),…,En,q,0 (1)
である。つまり財の割当の各財に対する組み合わせに対する各入札価格bq,0(q∈{1,…,a})がすべて0であり従って入札価格bq,0が0の暗号文ベクトルと対応する。他のベクトル 1 ,…, b も図に i を代表して示すように成分がa個であって、それぞれさらに成分がn個のE(1)よりなる価格0を示す暗号文ベクトルである。ここでnは価格表TP の最大値の例えば2、3倍程度であり、全入札者装置による加算処理を行った状態で加算値がnを越えないように選定されている。
【0018】
零関数暗号ベクトル 0 ,…, b が以上のような構成とされており、入札者装置においては先に述べたように入札価格が加算されてこれらベクトルが更新され次の入札者装置へ送られるため、入札者装置Bx における入札価格bx の加算処理は図14に示す式で表わされることになる。つまりその加算結果としてbx の暗号ベクトルが加算されるからその1つの成分ベクトルについてみれば、入札者装置Bx-1 からの対応成分ベクトル q,x-1(=e(Σi=1 x-1q,i))に入札価格bq,xを加算した暗号文が得られ、これが新たな q,xとされる。従ってすべての入札者装置による処理が終了するとベクトル 0 はそれが表わす値はΣi=1 bi となる。
【0019】
受信したベクトル 1 ,…, b に対しては x に対してのみbx を加算するため、すべての入札者装置による処理が終了するとベクトル 1 =E(b1),…, b =E(bb)となる。入札者装置B1 ,…,Bb の処理を簡便に表わすと図15に示すようになる。
全入札者装置の処理が終了するとそのベクトル 0 の各成分は図16に示すようになり、また各ベクトル i (i∈{1,…,b},q∈{1,…,a})の各成分は図16に示すようになる。
【0020】
次に図8、図10を参照して開札処理の例を説明する。
全入札者装置の処理が終ったベクトル 0 ,…, b を受信するとこれらを記憶部24に記憶した後(S5)、そのベクトル 0 の成分 q,0 の最大値mを 0 成分最大値検出部25で検出する(S6)。この最大値の検出は図3及び図4を参照して説明したようにまず成分ベクトル 1,0 ,…, a,0 の積を求め(S6a)、その積ベクトルをn番目の成分から順次復号し(S6b)、最初にzが復号された成分番号を最大値mとする(S6c)。
【0021】
次に割当決定部26により入札価格の和を最大とする割当、つまり最適割当A* を決定する(S7)。このためqを1とし(S7a)、ベクトル 0 の成分 q,0 のm番目の成分を復号し(S7b)、その復号結果がzと等しいかを調べ(S7c)、zと等しくなければqを+1してステップS7bに戻る(S7d)。ステップS7cでzと等しければその時のqをQとしそのq=Qに対する割当Aが求める最適割当A* とする(S7e)。
【0022】
次に支払額決定部27により各入札者に対する支払価格を決定する(S8)。このため価格パラメータwをnとし(S8a)、各ベクトル x(x∈{1,…
,b})のQ番目の成分 Q,x =e(bQ,x )のw番目の成分を復号し(S8b)、その結果がzと等しいかを調べ(S8c)、等しくなければwを−1してステップS8bに戻り(S8d)、等しければその時のwを入札者xに対する支払額px とする(S8e)。このようにして各入札者xに対する支払額px が求まる。これら各支払価格pxと最適割当(落札割当)を掲示板装置13に公開する。必要に応じて支払額px と最適割当A* あるいはその番号Q又はその割当A中の入札者xに対する財とを含む落札通知を通知部28で作成して入札者装置Bx へ送信する(S9)。
図10において開札者装置は送信部29、受信部31も備え、さらに各部を動作させる制御部32を持ち、例えばパーソナルコンピュータで構成される。
このように各入札者装置においてはその受信ベクトル 0 ,…, b と送信ベクトル 0 ,…, b とを比較しても入札価格は隠された状態であり、開札処理においても各入札者の入札価格を明かすことがないので開札者は落札結果以外の入札者とその入札価格との対応を知ることはできない。
【0023】
実施形態2(一般化 Vickrey 入札)
実施形態2における開札者装置の処理手順を図17に、機能構成の例を図19に各々示し、入札者装置の処理手順の例を図18に示す。開札者装置における前処理は実施形態1のそれ、つまり図8中のステップS1乃至S4までの処理と同一である。入札者装置の機能構成は実施形態1のそれ、つまり図11に示す構成とほぼ同一であり、その処理もステップS1乃至S3は図9中のステップS1乃至S3と同一である。
この実施形態2においては入札者装置Bx において受信ベクトル 0 ,…, b 中の x 以外のすべてに入札価格bx を加算し、これらベクトルを更新し(S4)、ベクトル 0 ,…, b を入札者装置Bx+1 へ送信する(S5)。図11中に加算部43の入力としての括弧書き「( 0 1 …, x-1 x+1,…, b)」はこの実施形態2に対するものである。
【0024】
開札者装置の処理においてこの実施形態2では成分ベクトルの最大値mも開札者にわからないようにした場合であってベクトル 0に乱数ベクトル=(r1=…=ra)が加算されたベクトルを加算ベクトル取得部33で取得する(S6)。例えば開札処理に当って図7中に示す第3者装置14に 0を送り、 0を返送してもらい、あるいは最後に入札処理をした入札者装置は 0 bを第3者装置14へ送信し、第3者装置がの加算処理を行い、これを開札者装置11又は掲示板装置13へ登録してもよい。この乱数ベクトルの加算は図5、図6を参照して説明したようにシフト処理とE(z)の付加とランダム化によって行われる。この加算されたベクトル( 0 )の成分の最大値mを( 0 )最大値検出部34で求める(S7)。この場合の最大値mを求める処理手順は図8中のステップS6のそれと同様に行えばよい。
【0025】
次に割当決定部35で最適割当A* を決定する(S8)。この処理は加算部33よりの加算ベクトルに対し最大値検出部34で求めたmを用いて図8中のステップS7で行ったと同様の処理をすればよい。
このステップS7乃至S8による処理の結果はベクトル 0 が実施形態1における 0 と同一であり、ただこれに乱数が加算されているだけであって、ベクトル 0 の成分の最大値を隠した状態で最適割当A* を求めることができる。
【0026】
次に第3者装置14から乱数ベクトル′=(r′1=…=r′a)が加算されたベクトル 1′,…, b′を加算ベクトル取得部36で取得すると(S9)、これら x′(x∈{1,…,b})の成分の最大値w′m,xを成分最大値検出部37で求める(S10)。この処理も図3及び図4を用いて説明したと同様の処理で求める。ここでベクトル 1 は入札者装置B1 において入札価格b1 が加算されてない他の入札者の入札価格b2 ,…,bb を加算したものであり、同様に各入札者装置Bx ではEx を除いてbx の加算を行っている(x∈{1,…,b})。従って最大値w′m,xは入札者xの入札価格を除いた他のすべての入札価格の和を最大とする価格、つまり式(1)右辺の第1項に相当する値であることは容易に理解されよう。
【0027】
次に成分値検出部38で加算ベクトル x′のQ番目の成分の各価格wQ,x(x∈{1,…,b})を検出する(S11)。この処理は図8中のステップS8と同様に行えばよい。得られた各価格wQ,xは最大値w′m,xについての説明から理解されるように入札者xの入札価格bx を除いた入札価格の総和、つまり式(1)の右辺第2項と対応するものであることは容易に理解できよう。
そこで減算部39で最大値w′m,xからwQ,xを減算して入札者xの支払価格px を求める(S12)。この減算において乱数r′Q が除去されることに注意されたい。このようにして得られた各入札者xの支払価格px と最適割当(落札割当)A* を掲示板装置13に公開する。必要に応じて支払い価格pxとAまたはその割当番号Q、あるいはそのA中のその入札者xに対する財とを含む落札通知を通知作成部28で作成して入札者装置Bx に通知する(S13)。あるいは落札割当Aと各支払価格pxを公開する。
【0028】
この図19に示す開札者装置において図10と対応する部分には同一符号を付してある。制御部32は各部を動作させるものであり、全体としてパーソナルコンピュータを主体に構成することができる。
この実施形態2によれば一般化Vickrey入札をその入札者と入札価格の対応を明かすことなく、かつその最大入札価格も明かすことなく開札処理を行うことができる。最大入札価格を明かしても良い場合は乱数の加算を行わず、つまり加算ベクトル取得部33および36を除去し、 0 1 ,…, b を成分最大値検出部34と37および成分値検出部38へ供給すればよい。乱数′は同一のものでもよい。これらを異なるものとすれば秘匿性がより高くなる。掲示板装置を設けることなく、開札者装置と入札者装置間の通信などで財割当表TG、価格表Tp、公開鍵PK、数値zを入札装置が知ることができればよい。零関数暗号ベクトル、財割当表TGは開札者装置以外の装置が作成してもよい。
【0029】
上述したように図10および図19に示す各開札者装置、また図11に示す入札者装置はコンピュータにプログラムを実行させて機能させることができる。この場合はCD−ROM、磁気ディスク等の記録媒体からあるいは通信回線を介して開札プログラムや入札プログラムをダウンロードしてそのコンピュータに実行させればよい。また上述において開札者装置を複数のサーバーにより構成し、秘密鍵は複数のサーバーにしきい値秘密とされ、しきい値以上のサーバーが協力しなければ復号できないようにして開札者の不正を防ぐようにすることもできる。このように複数の開札者装置を用いる場合は実施形態2において第3者装置による乱数の加算受信に代えて複数の開札装置でそれぞれ乱数を生成加算して全体として乱数′が加算されたベクトルが取得されるようにしてもよい。
【0030】
なお、開札者装置は公開鍵暗号もしくは公開鍵暗号と共通鍵暗号を組み合わせたハイブリッド暗号Eの公開鍵を公開する。ここで暗号Eは識別不能な確率的公開鍵暗号であり、識別不能とは平文に関する情報を一切漏らさないことである。各入札者装置Bxは入札価格bxを公開鍵で暗号化して、E(bx)を開札者装置に送信する。
開札者装置は全ての入札者装置からの暗号文E(bx)を復号して各入札価格bxを求める。通常入札の場合は全入札価格の和Σibiを最大化する割当てA*と各入札者xの支払価格px=bx(A*)を決定し、これらを対応する入札者装置へ通知する。一般化Vickrey入札の場合は復号した全てのbxを用いて通常入札の場合と同様に最適割当A*を求め、又、式(1)を前述した様に計算して各入札者xの支払価格pxを決定する。その決定したPxとその対応割当A*中の財をその入札者装置bxに通知する。この様な入札方法によって、入札価格を第三者と他の入札者に対して秘密にすることができる。
【0031】
【発明の効果】
この発明によれば、入札結果以外の入札価格に関する情報を第三者のみならず、他の入札者及び開札者に対しても秘密にしておくことができる。特に実施形態2において乱数によりマスクする場合は最高入札価格も誰にも秘密にしておく事ができる。
【図面の簡単な説明】
【図1】Aは財割当表TGの具体例を示す図、Bは価格表TPの一例を示す図である。
【図2】数値(価格)wに対する暗号文ベクトルの例を示す図。
【図3】最大値を求める処理手順の例を示す図。
【図4】その機能構成の例を示す図。
【図5】定数加算処理の例を示す流れ図。
【図6】その機能構成を示す図。
【図7】この発明方法が適応されるシステム構成例を示す図。
【図8】実施形態1の開札装置の処理手順例を示す流れ図。
【図9】実施形態1の入札者装置の処理手順例を示す流れ図。
【図10】実施形態1の開札者装置の機能構成例を示す図。
【図11】実施形態1の入札者装置の機能構成例を示す図。
【図12】財割当表TGの例を示す図。
【図13】零関数暗号ベクトルの構成例を示す図。
【図14】入札者装置での入札価格加算処理を説明するための図。
【図15】入札者装置における零関数ベクトルに対する順次加算処理を簡便に表す図。
【図16】実施形態1における全ての入札者装置による加算処理が終了した状態のベクトルE0,Eiの構成例を示す図。
【図17】実施形態2の開札者装置の処理手順例を示す流れ図。
【図18】実施形態2の入札者装置の処理手順例を示す流れ図。
【図19】実施形態2の開札者装置の機能構成例を示す図。[0001]
BACKGROUND OF THE INVENTION
In the present invention, a plurality of bidders bid for a combination of a plurality of types of goods by electronic communication using a bidder apparatus distributed on a communication network such as the Internet, and at that time, a bid value The present invention relates to a bidding method, a device thereof, and a program for keeping the information secret.
[0002]
[Prior art]
Non-patent document 1 discloses a method for keeping a bid price secret in an electronic bidding method for only one type of goods. However, no technology has been proposed that keeps bid prices secret for combinations of multiple types of goods.
First, an ordinary bidding method and a generalized Vickrey bidding method will be described as an electronic bidding method for a combination of multiple types of goods.
Suppose that bidding is performed for a combination of allocation of g types of goods G = {1, 2,..., j,..., g} to b bidders B = {1, 2,. . In this case, allocation B of goods G to BG= {A: G → B} is bgIt becomes street. For example, when b = 2 and g = 2, the goods allocation table TGAs shown in FIG. 1A, when goods B = 1 and G = 2 are assigned to bidder B = 1, and no goods are assigned to bidder B = 2, A1And G = 1 for B = 1 and G = 2 for B = 22When G = 2 is assigned to B = 1 and G = 1 is assigned to B = 2ThreeThen, there are four ways of assigning G = 1 and G = 2 to B = 2 without assigning any to B = 1. Note that an assignment that has goods that cannot be assigned to any bidder can be represented by inserting a dummy bidder.
[0003]
Such goods allocation table TGAnd a table T of bidable prices P = {1, 2,..., K,.P(FIG. 1B) opens the bidder to the bidder in advance. Bidder B = i is assigned to each goods A1, A2, ..., Aq, ..., Aa(A = bg) For price list TPThe bid price is determined by one of the amounts shown ini= (B1, i, ..., bq, i, ..., ba, i: BG→ Send P to the bidder.
In the case of normal combination bidding, bidders will be the sum of all bid prices ΣibiAllocation A that maximizes* ∈BGAnd its allocation A* Payment price p of each bidder x inx= Bx(A*). Each bidder x is assigned A* Receive the goods according to the payment price pxTo pay according to.
[0004]
In the case of generalized Vickrey bids, bidders will be the sum of all bid prices ΣibiAllocation A that maximizes* ∈BGAnd the payment price of each bidder x is obtained by the following equation.
px= Σi xbi(A* x) −Σi xbi(A*(1)
A* x∈BGIs maxAΣi xbiThis is an allocation that maximizes (A).
The first term on the right side of Equation (1) is the maximum sum when the bidder x does not participate in bidding, and the second term is the sum of the prices excluding the bid price of the bidder x. Each bidder x is assigned A* Receive the goods according to the payment price pxTo pay according to. This technique is described in Patent Document 1, for example.
[0005]
For example, when two bidders B = {1,2} and two types of goods G = {1,2}, the allocation of goods A1, A2, AThree, AFourIs as shown in FIG. 1A, and bid price b of bidder B = 1 for this1= (B1,1, B2,1, B3,1, B4,1) = (3,2,2,0), bid price b of bidder B = 22= (B1,2, B2,2, B3,2, B4,2) = (0, 2, 0, 3). In other words, bidder B = 1 buys goods G = 1 and G = 21Bid price b1,1A = 3 yen and buy only goods G12Bid price b2,1 A = 2 yen and buy only goods G2ThreeFor b3,1 A = 2 yen and not buy anythingFourFor b4,1 = 0 yen. Sum of all bid prices in this case
b1+ B2= (3,4,2,3)
And Σi = 1,2biA to maximize (A)* Is A2It becomes. Substituting the value corresponding to equation (1),
p1= B2(AFour) (= B4,2-B2(A2) (= B2,2) = 3-2 = 1
p2= B1(A1) (= B1,1-B1(A2) (= B2,1) = 3-2 = 1
It becomes. A2According to bidder B = 1 goods G = 1 price p1= 1 and bidder B = 2 buys goods 2 at price p2= 1 will be purchased.
[0006]
Next, a technique for obtaining the maximum value of a plurality of values using the homomorphic encryption E, adding a certain value to a certain value, and not knowing which value has been added will be described. This technique is disclosed in Non-Patent Document 2, for example, and this invention uses this technique.
Homomorphic encryption E is (1) indistinguishable, that is, plaintext m0, M1And encryption E (mb), E (mb) Is m0Is encrypted or m1(2) Homomorphic, ie E (a · b) = E (a) E (b), and (3) Re-encryptable, ie E (m) Thus, another ciphertext E ′ (m) of the same plaintext can be efficiently calculated, for example, ElGamal cipher or Palier cipher. The numerical value w (1 ≦ w ≦ n) is expressed by ciphertext E (z) from the first component to the wth component and ciphertext E (1) from the (w + 1) th component to the nth component as follows: ) Vectore(W)
Figure 0004041746
[0007]
That is, as shown in FIG. 2, when the numerical value w = 0, only E (1) is obtained, when w = 1, only the first component is E (z), and when w = 2, only the first and second components are present. Is E (z). When w = n−1, only the nth component is E (1), and when w = n, all components are E (z). Here, z is an integer in a range that can be a plaintext of ciphertext other than 1, for example, a number represented by a number of 1024 bits.
Maximum value calculation (see FIGS. 3 and 4): b ciphertext vectors
Figure 0004041746
The maximum value among the numerical values represented by1~ WbWithout knowing, that is, it can be obtained in the following manner while keeping it secret. First, the product for every component of all ciphertext vectors is taken in the product section (S1).
Figure 0004041746
The vector of the product operation result of Expression (3) by the homomorphic property of the cipher E, E (a) · E (b) = E (a · b)eEach component E of (w)j(j = 1,..., n) is expressed by equation (4)
The
Ej= Πi = 1 bEj, i= E (zs (j)(4)
Here, s (j) = # {i | j ≦ wb} Is the number of numerical values greater than or equal to j, and monotonously decreases with respect to j. This can be easily understood by referring to FIG.e(WiJ-th component E)j, iAre all E (z), so Πi = 1 bEj, i= E (zs (j)) The number s (j) of ciphertext vectors greater than or equal to the numerical value j gradually decreases as j increases. So product vectoreEach component E of (w)jAre sequentially decoded by the decoding unit for j = n, n-1,..., L (S3), and the decoding result D (Ej) Is equal to z and D (Ej) = The value of j at the beginning of z is the ciphertext vectore(W1) ~e(Wb) Number w1~ WbMaximum value wmax(S2, S4, S5). In this waye(W1) ~e(Wb) Each numerical value w1~ WbThe maximum value w while keeping secretmaxCan be requested.
[0008]
Addition of constants (see FIGS. 5 and 6): ciphertext vectore(Wi) = (E1, i, E2, i, ..., En, i) For the numerical value represented byiThe published constant c can be added without knowing. First, each component E1, i, ..., En, iAre sequentially shifted to the right by c stages, c components on the right are removed from the shift register, and c stages on the left are vacant to form the following vector ( S1). However, c ≦ n−w.
Figure 0004041746
Store c E (z) in each shift stage that is vacant in the appending unit, and wiThe following vector obtained by adding c to (S2).
Figure 0004041746
This ciphertext vector is randomized by the random part and wiA numerical value w obtained by adding a constant c toi+ C another ciphertext vectore(Wi+ C) (S3).
Figure 0004041746
Thus, the ciphertext vector of equation (5) and the ciphertext vector of equation (6) have the same numerical value w due to the property that the homomorphic encryption E can be randomized.i+ C, but it is a separate ciphertext vectore(Wi)Whene(WiInformation on the constant c cannot be obtained from + c). If randomization is not performed at the time of addition, the corresponding components of the ciphertext vector before addition and the ciphertext vector after addition are compared, and the added constant is found from the number of components that do not match, so the randomization is performed.
[0009]
[Patent Document 1]
Patent Publication 2000-243362, paragraphs [0002] to [0006]
[Non-Patent Document 1]
Kazue Sako “Entirely verifiable electronic bidding method concealing other than the winning bid value” SCIS '99 35-40 (1999)
[Non-Patent Document 2]
Makoto Yokoo, Koutarou Suzuki "Secure multi-agent dynamic programming based on homomorphic encryption and its application to combinatorial auctions." Proc. Of Autonomous Agents and Multi-Agent Systems 2002, pp.112-119, ACM Press (2002), Section 3.2 "Overview"
[0010]
[Problems to be solved by the invention]
As mentioned above, the bid method with the bid price kept secret has only been proposed for one type of goods. For this reason, a bid requesting a combination of goods such as “I want this goods and this goods together” could not be made with the bid price kept secret.
An object of the present invention is to provide a bidding method, an apparatus therefor, and a program therefor that enable bidding of combinations of a plurality of types of goods while keeping the bid price secret.
[0011]
[Means for Solving the Problems]
According to this invention, the bid opener device assigns each bidder's goods allocation A = {1,..., Q,.GAnd price list (price list) TPAnd a homomorphic cipher E and a numerical value z other than 1 that can be a ciphertext by the cipher, and a goods allocation table TGFor each allocation A, the encryption vector expressing each component of the bid price vector b with the price 0 as the bid price is represented by a price vector representing the price 0 consisting of n pieces of the numerical value 1 cipher z (1).E 0= (e 0,0, ...,e a, b ),E 1= (e 0,1, ...,e a, 1), ...,E b= (e 0,0, ...,e a, b ), Respectively, and public or one bidder device BiSend to.
[0012]
Bidder device BxIs the bid price bx= (B1, x, ..., ba, x) Is entered,E 0~E bInE 0WhenE xFor each component value, the corresponding bid price is added by adding E (z) and randomizing.E 0,E xWithout decrypting the result of each additionE 0,E xage,E 0~E bTo the public or to other bidder devices.
When the bidding process is completed on all bidder devices, the bidder deviceE 0~E bAbout firstE 0Each component vector ofe 0,0, ...,e a, 0From the component number of z obtained first by sequentially decoding each component of the product vector from the nth,e 0,0, ...,e a, 0Find the maximum value m, and each component vectore 0,0, ...,e a, 0Allocation of goods corresponding to the component vector z which is decoded from the m-th component ofqAllocation of goods that maximizes the sum of bid prices A*And the component number q is Q and the final vectorE 1, ...,E x, ...,E bEach A* And corresponding component vectorse Q, xThe component number w that first becomes z after sequentially decoding from nth for (x∈ {1,..., B})Q, xIs assigned to bidder x*Bid price for, ie payment price pxAllocation of goods A*And each payment price pxPublish.
[0013]
According to another aspect of the invention (generalized Vickrey bidding), the pre-processing performed by the bid opener device, that is,E 0~E bIs the same as one aspect of the invention (ordinary bid) until it is disclosed or transmitted. Bidder device BxIs the bid price bx= (B1, x , ..., ba, x ) Is entered,E 0~E bInE xFor all except, add the corresponding bid price by adding E (z) and randomizing,E 0~E bWithout decrypting the resultE xexcept forE 0~E bAnd with theseE xTo the public or to other bidder devices.
[0014]
When the bidding process is completed on all bidder devices, the bidder deviceE 0~E bAbout firstE 0By calculating the maximum value m of each component vector and decoding the m-th component of each component vectoribiAllocation of goods that maximizes A* And respond to thisE 0The determination of the component number Q is the same as in the case of one aspect of the invention (ordinary bid). Then each final vectorE xEach Qth component of (x∈ {1, ..., b})e Q, xDecode sequentially from the n-th component of the first and the number that becomes z first is the value wQ, xAnd each final vectorE xMaximum value of w ′m, xThen, the product of these vectors is obtained, the product vector is sequentially decoded from the nth component, and the component number from which z is obtained first is obtained. This w 'm, xTo each wQ, x The result of subtracting each is the payment price p of bidder xxEach payment price and goods allocation (successful bid allocation) A*Publish.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 7 shows a configuration example of a system to which the method of the present invention is applied. Multiple bidder devices B1, ..., BbCan communicate with the bid opener device 11 through the communication network 12 such as the Internet.1, ..., BbMutual communication is also possible. Further, in this example, a bulletin board device 13 is connected to the communication network 12 and a third party device 14 is connected.
Embodiment 1 (Normal bidding)
An example of the processing procedure of the bid opener apparatus 11 is shown in FIG. 8, the functional configuration is shown in FIG. 10, an example of the processing procedure of the bidder apparatus is shown in FIG. The bid opener device 11 can be composed mainly of, for example, a personal computer. When a plurality of types of goods to be bid and bidders are determined, the allocation table T of the goods is determined.G12 is created by the goods allocation table creating unit 21 as shown in FIG. 12 (S 1) and published to the bulletin board apparatus 13. Goods allocation table TGSpecifically, as shown in FIG. 1A described above. In FIG. 12, the bidder Bi is assigned the goods allocation number 1.i, 1, ..., Ai, aIs assigned. It is assumed that the allocated goods are determined in this way for each bidder, for example, the registration number. In other words, the bidder mustGIt is possible to know which line column of the assignment is to be yours. If the number of bidders is e and the type of goods is g, the maximum value a of the assigned number is bgIt is.
[0016]
The bid opener device 11 has a set of allotted goods Aq, iPrice table T indicating the bidable price for (i∈ {1,..., b}, q∈ {1,..., a})P(For example, the same as shown in FIG. 1B) is released to the bulletin board apparatus 13. In addition, the key generation unit 22 generates a secret key SK and its public key PK, holds the secret key SK in the key generation unit 22, publishes the public key PK to the bulletin board apparatus 13, The number z other than the numerical value 1 that can be made is disclosed to the bulletin board apparatus 13 (S2).
Furthermore, b + 1 vectors obtained by encrypting the zero function with the homomorphic encryption EE 0...E bIs generated by the zero function generator 23 (S3), and in this example, these vectors are converted into one of the bidder devices B1(S4). The processing so far is the preprocessing in the bid opener device 11. Bidder device BxIs the goods allocation table T from the bulletin board device 13.G, Price list TPThe public key PK and the numerical value z are acquired and stored in the storage unit 41 (S1). The bidder must assign the goods (A1, x, ..., Aq, x, ... Aa, xBid price b)x= (B1, x, ..., bq, x, ..., ba, x) Is input by the input unit 42 (S2). Bidder device B in this statex-1Vector fromE 0, ...,E bWhen this is received (S3), the adder 43 generates a vector.E 0WhenE xBid price bxAre added (S4). As described with reference to FIG. 5 and FIG.E 0WhenE xEach component of eache q, 0Whene q, x(q∈ {1, ..., a}) to bq, xShift right (S4a), and the ciphertext E (z) obtained by encrypting z with the homomorphic cipher E by the encryption unit 43b is transferred to the portion vacated by the shift.q, xAre added by the adding unit 43c (S4b), and the added components are added.e q, 0Whene q, xAre randomized by the random part 43d (S4c). In this way bid price bxVectorE 0WhenE xNew vector added toE 0WhenE xNext bidder device B along with other unadded vectorsx + 1 (S5). This bidder device Bx + 1 Vector cyclicallyE 0, ...,E bThe order of transmitting the URLs may be arbitrary, but is determined in advance and transmitted by the bid opener device 11 first, and the last bidder device transmits it to the bid opener device 11. The addition process of the bid price for such a vector may be sequentially performed via the bulletin board device 13 or the bidder device 11.
[0017]
As shown in FIG. 11, the bidder apparatus includes a receiving unit 44, a transmitting unit 45, and a control unit 46 for operating each unit, and can be constituted by a personal computer, for example.
Prior to the description of the bid opening process in the bid opener device 11, the vectorE 0, ...,E bWill be described with reference to FIG. vectorE 0Is the bid price b0= (B1,0 , ..., bq, 0 ..., ba, 0 Corresponding to
(e 1,0 , ...,e q, 0 , ...,e a, 0 )
On behalf of its ingredientse q, 0 Is
E (bq, 0 = 0) = (E1, q, 0 (1), E2, q, 0 (1), ..., En, q, 0 (1))
It is. That is, each bid price b for the combination of goods allocation for each goods bq, 0(q∈ {1, ..., a}) are all 0, so the bid price bq, 0Corresponds to a ciphertext vector of zero. Other vectorsE 1, ...,E bAlso in the figureE iIs a ciphertext vector indicating a price of 0 having a component and n components each including E (1). Where n is the price list TPFor example, it is selected so that the addition value does not exceed n in a state where the addition processing is performed by all bidder apparatuses.
[0018]
Zero-function cryptographic vectorE 0, ...,E bSince the bidder device adds the bid price and updates these vectors to be sent to the next bidder device as described above, the bidder device B is configured as described above.xBid price atxIs represented by the equation shown in FIG. In other words, the addition result is bxSince one of the component vectors is added, the bidder apparatus B is added.x-1Corresponding component vector frome q, x-1(= E (Σi = 1 x-1bq, i)) Bid price bq, xThe ciphertext is obtained by addinge q, xIt is said. Therefore, when processing by all bidder devices is complete,E 0Is the value it representsi = 1 bbiIt becomes.
[0019]
Received vectorE 1, ...,E bAgainstE xOnly for bxWhen all the bidder devices have finished processing, the vectorE 1= E (b1), ...,E b= E (bb) Bidder device B1, ..., BbFIG. 15 is a simplified representation of this process.
When all bidders have finished processing, the vectorE 0The components of are as shown in FIG.E iEach component of (i∈ {1,..., B}, q∈ {1,..., A}) is as shown in FIG.
[0020]
Next, an example of the bid opening process will be described with reference to FIGS.
Vector after all bidders have been processedE 0, ...,E bAre stored in the storage unit 24 (S5), and then the vectorE 0Ingredientse q, 0The maximum value of mE 0This is detected by the component maximum value detection unit 25 (S6). The detection of the maximum value starts with the component vector as described with reference to FIGS.e 1,0, ...,e a, 0(S6a), the product vector is sequentially decoded from the nth component (S6b), and the component number from which z is first decoded is set to the maximum value m (S6c).
[0021]
Next, the allocation deciding unit 26 allocates the maximum bid price, that is, the optimal allocation A* Is determined (S7). Therefore, q is set to 1 (S7a), and the vectorE 0Ingredientse q, 0The m-th component is decoded (S7b), and it is checked whether the decoding result is equal to z (S7c). If it is not equal to z, q is incremented by 1 and the process returns to step S7b (S7d). If it is equal to z in step S7c, q at that time is set as Q, and the optimal allocation A obtained by allocation A for q = Q is obtained.* (S7e).
[0022]
Next, the payment amount determination unit 27 determines a payment price for each bidder (S8). Therefore, the price parameter w is set to n (S8a), and each vectorE x(x∈ {1, ...
, B}) Qth componente Q, x= E (bQ, x) Is decoded (S8b), and whether the result is equal to z is checked (S8c). If not equal, w is decremented by 1 and the process returns to step S8b (S8d). Payment p for person xx(S8e). In this way, the payment amount p for each bidder xxIs obtained. Each of these payment prices pxAnd the optimum allocation (successful bid allocation) are disclosed to the bulletin board apparatus 13. Payment amount p if necessaryxAnd optimal allocation A* Or its number Q or its allocation A*The notification unit 28 creates a successful bid notification including the goods for the bidder x in the bidder device Bx(S9).
In FIG. 10, the bid opener apparatus also includes a transmission unit 29 and a reception unit 31, and further includes a control unit 32 that operates each unit, and is configured by a personal computer, for example.
Thus, in each bidder device, its reception vectorE 0, ...,E bAnd send vectorE 0, ...,E bSince the bid price is hidden even if compared with the bid opening process, the bid opener does not reveal the bid price of each bidder, so the bid opener knows the correspondence between bidders other than the successful bid result and the bid price It is not possible.
[0023]
Embodiment 2 (generalization Vickrey bid)
FIG. 17 shows a processing procedure of the bid opener apparatus according to the second embodiment, FIG. 19 shows an example of the functional configuration, and FIG. 18 shows an example of a processing procedure of the bidder apparatus. The pre-processing in the bid opener apparatus is the same as that of the first embodiment, that is, the processing from steps S1 to S4 in FIG. The functional configuration of the bidder apparatus is substantially the same as that of the first embodiment, that is, the configuration shown in FIG. 11, and the processing is also the same as steps S1 to S3 in FIG.
In this embodiment 2, bidder apparatus BxReceive vector atE 0, ...,E bInE xBid price b for everything exceptxAre added, and these vectors are updated (S4).E 0, ...,E bBidder device Bx + 1(S5). In FIG. 11, parentheses “((E 0,E 1, …,E x-1,E x + 1, ...,E b) "Is for the second embodiment.
[0024]
In the processing of the bid opener device, in the second embodiment, the maximum value m of the component vector is also made unknown to the bid opener.E 0A random vectorR= (R1= ... = ra) Added vectorE+RIs acquired by the addition vector acquisition unit 33 (S6). For example, the third party device 14 shown in FIG.E 0SendE 0+RThe bidder device that has returnedE 0~E bIs transmitted to the third party device 14, and the third party deviceRMay be registered in the bid opener device 11 or the bulletin board device 13. This random number vector addition is performed by shift processing, addition of E (z) and randomization as described with reference to FIGS. This added vector (E 0+R) Component maximum value m (E 0+R) Obtained by the maximum value detector 34 (S7). The processing procedure for obtaining the maximum value m in this case may be performed similarly to that in step S6 in FIG.
[0025]
Next, in the allocation determination unit 35, the optimal allocation A* Is determined (S8). This process may be the same as that performed in step S7 in FIG. 8 by using m obtained by the maximum value detection unit 34 for the addition vector from the addition unit 33.
The result of the processing in steps S7 to S8 is a vectorE 0Is in Embodiment 1.E 0, Just a random number is added to this and the vectorE 0The optimal allocation A with the maximum value of the components of* Can be requested.
[0026]
Next, the random number vector from the third party device 14R′ = (R ′1= ... = r 'a) Added vectorE 1+R′,…,E b+R'Is acquired by the addition vector acquisition unit 36 (S9), theseE x+R′ (X∈ {1,..., B}) component maximum value w ′m, xIs obtained by the component maximum value detection unit 37 (S10). This process is also obtained by the same process as described with reference to FIGS. Vector hereE 1Is bidder device B1Bid price b1Bid price b of other bidders that are not added2, ..., bbIn the same way, each bidder device BxThen ExExcept bx(X∈ {1,..., B}). Therefore, the maximum value w ′m, xIt can be easily understood that is a price that maximizes the sum of all other bid prices excluding the bid price of bidder x, that is, a value corresponding to the first term on the right side of Equation (1).
[0027]
Next, an addition vector is detected by the component value detection unit 38.E x+REach price w of Q 'ingredient of'Q, x(Xε {1,..., B}) is detected (S11). This process may be performed in the same manner as step S8 in FIG. Each price w obtainedQ, xIs the maximum value w 'm, xAs can be understood from the explanation about the bid price b of the bidder xxIt can be easily understood that the sum of the bid prices excluding, that is, the one corresponding to the second term on the right side of Equation (1).
Therefore, the subtraction unit 39 uses the maximum value w ′.m, xTo wQ, xSubtracting the payment price p of bidder xxIs obtained (S12). In this subtraction, a random number r ′QNote that is removed. The payment price p of each bidder x obtained in this wayxAnd optimal allocation (successful bid allocation) A* To the bulletin board apparatus 13. Payment price p as requiredxAnd A*Or its assigned number Q or its A*The notice creation unit 28 creates a successful bid notification including the goods for the bidder x in the bidder device Bx(S13). Or successful bid allocation A*And each payment price pxPublish.
[0028]
In the bid opener apparatus shown in FIG. 19, the same reference numerals are given to the portions corresponding to those in FIG. The control unit 32 operates each unit, and can be configured mainly with a personal computer as a whole.
According to the second embodiment, the bid opening process can be performed for the generalized Vickrey bid without revealing the correspondence between the bidder and the bid price and without revealing the maximum bid price. When the maximum bid price may be disclosed, random number addition is not performed, that is, the addition vector acquisition units 33 and 36 are removed,E 0WhenE 1, ...,E bMay be supplied to the component maximum value detectors 34 and 37 and the component value detector 38. random numberRWhenR'May be the same. If these are different, the confidentiality will be higher. Goods allocation table T by communication between bidder device and bidder device without providing bulletin board deviceG, Price list TpIt is only necessary for the bidding device to know the public key PK and the numerical value z. Zero-function cryptographic vector, goods allocation table TGMay be created by a device other than the bid opener device.
[0029]
As described above, each of the bid opener devices shown in FIGS. 10 and 19 and the bidder device shown in FIG. 11 can function by causing a computer to execute a program. In this case, a bid opening program or a bidding program may be downloaded from a recording medium such as a CD-ROM or a magnetic disk or via a communication line and executed by the computer. Also, in the above, the bid opener device is configured by a plurality of servers, and the secret key is set as a threshold secret to a plurality of servers, so that it cannot be decrypted unless the servers above the threshold cooperate to prevent fraud of the bid opener. It can also be. When a plurality of bid opener devices are used in this way, random numbers are generated and added by a plurality of bid opening devices instead of the random number addition reception by the third party device in the second embodiment, so that the random number as a whole.RWhenRA vector obtained by adding ′ may be acquired.
[0030]
The bid opener device publishes the public key of the hybrid cipher E that combines public key cryptography or public key cryptography and common key cryptography. Here, the cipher E is an indistinguishable probabilistic public key cipher, and indistinguishable means that no information about plaintext is leaked. Each bidder apparatus Bx encrypts the bid price bx with the public key, and E (bx) To the bid opener device.
The bid opener device sends the ciphertext E (b from all bidder devices.x) To obtain each bid price bx. Allocation A that maximizes the sum of all bid prices Σibi for normal bidding*And the payment price p of each bidder xx= Bx(A*) And notify the corresponding bidder apparatus. In the case of generalized Vickrey bidding, the optimal allocation A is used as in the case of normal bidding using all the decoded bx.*And the payment price p of each bidder x by calculating the equation (1) as described above.xDecide. The determined Px and its corresponding allocation A*Bid device b in the goods insidexNotify By such a bidding method, the bid price can be kept secret from third parties and other bidders.
[0031]
【The invention's effect】
According to the present invention, information related to the bid price other than the bid result can be kept secret not only for third parties but also for other bidders and bidders. In particular, when masking with random numbers in the second embodiment, the highest bid price can be kept secret to anyone.
[Brief description of the drawings]
FIG. 1 A is a goods allocation table TG, B shows price list TPIt is a figure which shows an example.
FIG. 2 is a diagram showing an example of a ciphertext vector for a numerical value (price) w.
FIG. 3 is a diagram showing an example of a processing procedure for obtaining a maximum value.
FIG. 4 is a diagram showing an example of the functional configuration.
FIG. 5 is a flowchart showing an example of constant addition processing.
FIG. 6 is a diagram showing a functional configuration thereof.
FIG. 7 is a diagram showing a system configuration example to which the method of the present invention is applied.
FIG. 8 is a flowchart showing a processing procedure example of the bid opening device according to the first embodiment;
FIG. 9 is a flowchart showing an example of a processing procedure of the bidder apparatus according to the first embodiment.
FIG. 10 is a diagram illustrating a functional configuration example of the bid opener device according to the first embodiment.
FIG. 11 is a diagram illustrating a functional configuration example of the bidder apparatus according to the first embodiment.
[Figure 12] Goods allocation table TGFIG.
FIG. 13 is a diagram showing a configuration example of a zero function encryption vector.
FIG. 14 is a view for explaining bid price addition processing in the bidder apparatus;
FIG. 15 is a diagram simply illustrating sequential addition processing for a zero function vector in a bidder apparatus.
FIG. 16 is a vector E in a state where the addition processing by all bidder apparatuses in the first embodiment is completed;0, EiFIG.
FIG. 17 is a flowchart showing a processing procedure example of the bid opener device according to the second embodiment;
FIG. 18 is a flowchart showing an example of a processing procedure of the bidder apparatus according to the second embodiment.
FIG. 19 is a diagram illustrating a functional configuration example of the bid opener device according to the second embodiment.

Claims (11)

開札者装置と、複数の入札者装置B1 ,…,Bb と、これらを接続することができる通信網とを備え、
各入札者装置Bx(x∈{1,…,b})は複数種類の財G={1,…,g}を各入札者B∈{1,…,b}に割当てた財割当表TG に基づき入力された入札価格bx =(b1,x,…,ba,x)(a=bg)の各価格について、開札者装置の準同型公開鍵暗号Eの公開鍵PKで数1以外の数zを暗号化した暗号E(z)をその価格値の数だけ生成し、
w∈{0,…,n}個の暗号E(z)と、n−w個の数1を公開鍵PKで暗号化された暗号E(1)との計n個の成分を有する成分ベクトルのa個をそれぞれ成分とするb+1個の処理用ベクトル 0 ,…, b 中の 0 xとに入札価格の加算を、生成した暗号E(z)の付加とランダム化処理により行い、その加算結果をそれぞれ 0 xとして処理用ベクトル 0 ,…, b を送信し、ここで 0 ,…, b の初期値は全ての成分ベクトルの各成分が全て暗号E(1)であり、成分ベクトルの成分番号は小さい方がE(z)、大きい方がE(1)であり、この加算処理(入札処理とも書く)は最初に行う入札者装置が初期 0 ,…, b に対し、その他の入札者装置が処理された 0 ,…, b に対し順次行い、
開札者装置は全ての入札者装置による入札処理がなされた処理用ベクトル 0 ,…, b について、まず 0 の各成分ベクトルの積を求め、その積ベクトルの各成分を成分番号nから順次復号して最初にzが得られた成分番号をこれら成分ベクトル中の最大値mとし、
0 の各成分ベクトルの成分番号mの成分を復号してzが得られた成分ベクトルと対応する財の割当を最適割当A* とし、その成分ベクトルの 0 における成分番号をQとし、各処理用ベクトル x(x∈{1,…,b})の成分番号Qの成分ベクトルを成分番号nから順次復号して最初にzとなった成分番号wQ,x を入札者xの最適割当A* に対する入札価格(支払価格)pとする
ことを特徴とする複数財入札方法。
A bidder device, a plurality of bidder devices B 1 ,..., B b, and a communication network capable of connecting them,
Each bidder apparatus B x (x∈ {1,..., B}) has a plurality of goods G = {1,..., G} assigned to each bidder B∈ {1,. For each price of bid price b x = (b 1, x ,..., B a, x ) (a = b g ) input based on TG , the public key PK of the homomorphic public key encryption E of the bidder apparatus The number E of the numbers z other than the number 1 is encrypted by the number of the price values.
Component vector having a total of n components of wε {0,..., n} ciphers E (z) and n−w ciphers E (1) encrypted with the public key PK. , B + 1 processing vectors E 0 ,..., E b of which are added as components, respectively, by adding the bid price to the generated E 0 and E x and adding the generated encryption E (z) and randomizing processing performed, the addition result of processing vector E 0 respectively as E 0 and E x, ..., and transmits the E b, where E 0, ..., each component of all encryption initial value every component vector of E b E (1), the component number of the component vector is E (z) when the component number is small, and E (1) when the component number is large. This addition processing (also referred to as bidding processing) is performed by the bidder device that performs the initial E 0, ..., with respect to E b, other bidders device E 0 that has been processed, ..., sequentially performed with respect to E b,
Tender opening's device all bidders device processing vector E 0 bid process has been performed by, ..., the E b, the first product of the component vector of E 0 determined, the components of the product vector from component number n The component number for which z is obtained first by sequential decoding is set as the maximum value m in these component vectors,
The allocation of the goods corresponding to the component vector obtained by decoding the component number m of each component vector of E 0 and obtaining z is the optimal allocation A * , the component number at E 0 of the component vector is Q, The component vector of the component number Q of the processing vector E x (x∈ {1,..., B}) is sequentially decoded from the component number n, and the component number w Q, x that becomes z first is optimal for the bidder x. A multi-goods bidding method characterized in that a bid price (payment price) p for the allocation A * is used.
開札者装置と、複数の入札者装置B1 ,…,Bb と、これらを接続することができる通信網とを備え、
各入札者装置Bx(x∈{1,…,b})は複数種類の財G={1,…,g}を各入札者B∈{1,…,b}に割当てた財割当表TG に基づき入札された入札価格bx =(b1,x,…,ba,x)(a=bg)の各価格について、開札者装置の準同型公開鍵暗号Eの公開鍵PKで数1以外の数zを暗号化した暗号E(z)をその価格値の数だけ生成し、
w∈{0,…,n}個の暗号E(z)と、n−w個の数1を公開鍵PKで暗号化された暗号E(1)との計n個の成分を有する成分ベクトルのa個をそれぞれ成分とするb+1個の処理用ベクトル 0 ,…, b に対し、 x を除いて、入札価格の加算を、生成した暗号E(z)の付加とランダム化処理により行い、その加算結果をそれぞれ 0 ,…, x-1 x+1 ,…, b として処理用ベクトル 0 ,…, b を送信し、ここで 0 ,…, b の初期値は全ての成分ベクトルの各成分が全て暗号E(1)であり、成分ベクトルの成分番号は小さい方がE(z)、大きい方がE(1)であり、
この加算処理(入札処理とも書く)は最初に行う入札者装置が初期の 0 ,…, b に対し、その他の入札者装置が処理された 0 ,…, b に対し順次行い、
開札者装置は全ての入札者装置による入札処理がなされた処理用ベクトル 0 ,…, b について、まず 0 の各成分ベクトルの積を求め、その積ベクトルの各成分を成分番号nから順次復号して最初にzが得られた成分番号をこれら成分ベクトル中の最大値mとし、
0 の各成分ベクトルの成分番号mの成分を復号してzが得られた成分ベクトルと対応する財の割当を最適割当A* とし、その成分ベクトルの 0 における成分番号をQとし、
各処理用ベクトル x(x∈{1,…,b})の成分の積を求め、その積ベクトルを成分番号nから順次復号し、最初にzが得られた成分番号をw′m,xとし、
各処理用ベクトル x(x∈{1,…,b})中の各成分番号Qの成分ベクトルを成分番号nから順次復号して、最初にzが得られた成分番号をwQ,x とし、w′m,xからwQ,x を減算して入札者xに対する支払価格px を求める
ことを特徴とする複数財入札方法。
A bidder device, a plurality of bidder devices B 1 ,..., B b, and a communication network capable of connecting them,
Each bidder apparatus B x (x∈ {1,..., B}) has a plurality of goods G = {1,..., G} assigned to each bidder B∈ {1,. The public key PK of the homomorphic public key encryption E of the bidder apparatus for each price of bid price b x = (b 1, x ,..., B a, x ) (a = b g ) bid based on T G The number E of the numbers z other than the number 1 is encrypted by the number of the price values.
Component vector having a total of n components of wε {0,..., n} ciphers E (z) and n−w ciphers E (1) encrypted with the public key PK. b + 1 pieces of processing vector E 0 to a number of respective components, ..., to E b, with the exception of E x, the sum of bid, by the addition and randomization process generated encryption E (z) performed, the addition result of each E 0, ..., E x- 1, E x + 1, ..., processing vector E 0 as E b, ..., and transmits the E b, where E 0, ..., E b The initial values of all of the component vectors are all encrypted E (1), the component number of the component vector is E (z) where the smaller number is E (1),
This addition process (also written to the bidding process) is E 0 bidders device initial of the first to do, ..., with respect to E b, other E 0 bidder device has been processing of, ..., sequentially performed with respect to E b,
Tender opening's device all bidders device processing vector E 0 bid process has been performed by, ..., the E b, the first product of the component vector of E 0 determined, the components of the product vector from component number n The component number for which z is obtained first by sequential decoding is set as the maximum value m in these component vectors,
The allocation of the goods corresponding to the component vector obtained by decoding the component number m of each component vector of E 0 and obtaining z is the optimal allocation A * , the component number at E 0 of the component vector is Q,
The product of the components of each processing vector E x (x∈ {1,..., B}) is obtained, the product vector is sequentially decoded from the component number n, and the component number from which z is obtained first is represented by w ′ m, x ,
The component vector of each component number Q in each processing vector E x (xε {1,..., B}) is sequentially decoded from the component number n, and the component number from which z is obtained first is represented by w Q, x. And subtracting w Q , x from w ′ m, x to obtain a payment price p x for the bidder x.
開札者装置は処理用ベクトル 0 に乱数=(r1 =r2=…=ra)が加算されたベクトル 0 を取得し、このベクトル 0 に対し、その成分ベクトル中の最大値mを求め、ベクトル 0 の成分番号mの成分を復号して最適割当A* と、成分番号Qを求め、
各処理ベクトル x(x∈{1,…,b})に乱数′=(r′1 =r′2 …=r′a)が加算されたベクトル x ′を取得し、 x ′の成分の積を求めてw′m,xを求め、
各加算されたベクトル x ′(x∈{1,…,b})の各成分番号Qの成分ベクトルからwQ,xを求めることを特徴とする請求項2記載の複数財入札方法。
Tender opening's device random number R = a processing vector E 0 (r 1 = r 2 = ... = r a) obtains the vector E 0 + R of the addition, to this vector E 0 + R, the component vector The maximum value m is obtained, the component of the component number m of the vector E 0 + R is decoded to obtain the optimum allocation A * and the component number Q,
Each processing vector E x (x∈ {1,..., B}) has a random number R ′ = (r ′ 1 = r ′ 2 = ... = r ′ a ) is added to obtain a vector E x + R ′, a product of components of E x + R ′ is obtained, and w ′ m, x is obtained,
3. The multi-goods bidding method according to claim 2 , wherein w Q, x is obtained from the component vector of each component number Q of each added vector E x + R ′ (x∈ {1,..., B}). .
複数の入札者装置B1 ,…,Bb により、複数種類の財G={1,…,g}を各入札者B∈{1,…,b}に割当てた財割当表TG に基づき、入札処理されたb+1個の処理用ベクトル 0 ,…, b に対し開札処理を行う開札者装置であって、
上記各処理用ベクトル x(x∈{1,…,b})は財割当表TG の割当数a(=bg)個の成分ベクトルを有し、これら各成分ベクトルは、開札者装置の準同型公開鍵暗号Eの公開鍵PKで数1以外の数zを暗号化した暗号E(z)のw∈{0,…,n}個と、数1を公開鍵PKで暗号化した暗号E(1)のn−w個との計n個の成分を有し、
上記公開鍵PKと対をなす秘密鍵SKが格納された記憶部と、
処理用ベクトル 0 ,…, b を受信する受信部と、
処理用ベクトル 0 が入力され、その各成分ベクトルの積を演算し、その積ベクトルの各成分を成分番号nから順次復号して最初にzが得られた成分番号をこれら成分ベクトル中の最大値mとして出力する成分最大値検出部と、
処理用ベクトル 0 と最大値mが入力され、 0 の各成分ベクトルの成分番号mの成分を復号してzが得られた成分ベクトルの 0 における成分番号Qを財割当表中の落札割当番号として出力する割当決定部と、
処理用ベクトル 1 ,…, b と成分番号Qが入力され、各処理用ベクトル x(x∈{1,…,b})の成分番号Qの成分ベクトルを成分番号nから順次復号して最初にzとなった成分番号wQ,x を入札者xに対する入札価格(支払価格)pxとして出力する支払価格決定部と
を具備する開札者装置。
A plurality of bidders device B 1, ..., a B b, a plurality of types of goods G = {1, ..., g } each bidder B∈ the {1, ..., b} on the basis of the goods assigned table T G assigned to bid treated b + 1 pieces of processing vector E 0, ..., a bid opening's apparatus for performing tender opening process to E b,
Each of the processing vectors E x (x∈ {1,..., B}) has component vectors a (= b g ) in the goods allocation table T G , and each of these component vectors is a bidder device. Wε {0,..., N} of ciphers E (z) obtained by encrypting a number z other than the number 1 with the public key PK of the homomorphic public key cipher E, and the number 1 encrypted with the public key PK It has a total of n components with nw of the code E (1),
A storage unit storing a secret key SK paired with the public key PK;
A receiving unit for receiving the processing vectors E 0 ,..., E b ;
The processing vector E 0 is input, the product of each component vector is calculated, each component of the product vector is sequentially decoded from the component number n, and the component number for which z is obtained first is the maximum in these component vectors. A component maximum value detection unit that outputs the value m;
The processing vector E 0 and the maximum value m are input, and the component number Q at E 0 of the component vector obtained by decoding the component of the component number m of each component vector of E 0 and obtaining z is a successful bid in the property allocation table. An allocation determination unit that outputs as an allocation number;
The processing vector E 1 ,..., E b and the component number Q are input, and the component vector of the component number Q of each processing vector E x (x∈ {1,..., B}) is sequentially decoded from the component number n. A bidder apparatus comprising a payment price determining unit that outputs the component number w Q, x that is first z as a bid price (payment price) px for the bidder x .
複数の入札者装置B1 ,…,Bb により、複数種類の財G={1,…,g}を各入札者B∈{1,…,b}に割当てた財割当表TG に基づき、入札処理されたb+1個の処理用ベクトル 0 ,…, b に対し開札処理を行う開札者装置であって、
上記各処理用ベクトル x(x∈{1,…,b})はa個の成分ベクトルを有し、これら各成分ベクトルは開札者装置の準同型公開鍵暗号Eの公開鍵PKで数1以外の数zを暗号化した暗号E(z)のw∈{0,…,n}個と、数1を公開鍵PKで暗号化した暗号E(1)のn−w個との計n個の成分を有し、
上記公開鍵PKと対をなす秘密鍵SKが格納された記憶部と、
処理用ベクトル 0 ,…, b を受信する受信部と、
処理用ベクトル 0 が入力され、積を演算し、その積ベクトルの各成分を成分番号nから順次復号して最初にzが得られた成分番号をこれら成分ベクトル中の最大値mとして出力する成分最大値検出部と、
処理用ベクトル 0 と最大値mが入力され、 0 の各成分ベクトルの成分番号mの成分を復号してzが得られた成分ベクトルの 0 における成分番号Qを財の割当表中の落札割当番号として出力する割当決定部と、
処理用ベクトル 1 ,…, b が入力され、 xの成分の積を演算し、
その積ベクトルを成分番号nから順次復号し、最初にzが得られた成分番号をw′m,xとして出力する第2成分最大値検出部と、
処理用ベクトル 1 ,…, b に成分番号Qが入力され、各処理用ベクトル x(x∈{1,…,b})中の各成分番号Qの成分ベクトルを成分番号nから順次復号して、最初にzが得られた成分番号をwQ,x として出力する成分値検出部と、
上記w′m,x および上記w′Q,x が入力され、w′m,x からwQ,x を減算して入札者xに対する支払価格px として出力する減算部と
を備える開札者装置。
A plurality of bidders device B 1, ..., a B b, a plurality of types of goods G = {1, ..., g } each bidder B∈ the {1, ..., b} on the basis of the goods assigned table T G assigned to bid treated b + 1 pieces of processing vector E 0, ..., a bid opening's apparatus for performing tender opening process to E b,
Each of the processing vectors E x (x∈ {1,..., B}) has a component vector, and each of these component vectors is a public key PK of the homomorphic public key cryptography E of the bidder device. N is the total of wε {0,..., N} of ciphers E (z) obtained by encrypting a number z other than n and n−w ciphers E (1) obtained by encrypting the number 1 using a public key PK. Having components,
A storage unit storing a secret key SK paired with the public key PK;
A receiving unit for receiving the processing vectors E 0 ,..., E b ;
The processing vector E 0 is input, the product is calculated, each component of the product vector is sequentially decoded from the component number n, and the component number from which z is first obtained is output as the maximum value m in these component vectors. A component maximum value detection unit;
The processing vector E 0 and the maximum value m are inputted, and the component number Q at E 0 of the component vector obtained by decoding the component of the component number m of each component vector of E 0 is obtained in the allocation table of goods. An allocation determination unit that outputs the successful bid allocation number;
Processing vectors E 1 ,..., E b are input, and the product of the components of E x is calculated.
A second component maximum value detection unit that sequentially decodes the product vector from the component number n and outputs the component number from which z is first obtained as w ′ m, x ;
The component number Q is input to the processing vectors E 1 ,..., E b, and the component vector of each component number Q in each processing vector E x (x∈ {1,..., B}) is sequentially started from the component number n. A component value detector that decodes and outputs the component number from which z is first obtained as w Q, x ;
Said w 'm, x and the w' Q, x is the input, w 'm, x from w Q, bid opening's apparatus and a subtraction unit for outputting as the payment price p x for subtraction to bidders x a x .
上記処理用ベクトル 0 が乱数ベクトル=(r1 ,…,ra)で撹乱されたものであり、上記処理用ベクトル 1 ,…, b がそれぞれ乱数ベクトル′=(r′1 =r′2 =…=r′a)で撹乱されたものであることを特徴とする請求項5記載の開札者装置。The processing vector E 0 is perturbed by a random number vector R = (r 1 ,..., Ra ), and the processing vectors E 1 ,..., E b are respectively random number vectors R ′ = (r ′ 1 6. The bid opener apparatus according to claim 5, wherein the bidder apparatus is disturbed by = r ′ 2 =... = R ′ a ). 複数種類の財G={1,…,g}を各入札者B∈{1,…,b}に割当てた財割当表TG に基づき入札処理を行う入札者装置であって、
開札者装置の準同型公開鍵暗号Eの公開鍵PKを記憶する記憶部と、
数1以外の数zを公開鍵PKで暗号化して暗号E(z)を出力する暗号部と、入札者装置Bx で処理された、暗号E(z)のw∈{1,…,n}個と数1を公開鍵PKで暗号化した暗号E(1)のn−w個の計n個の成分を有する成分ベクトルのa=bg 個をそれぞれ成分とするb+1個の処理用ベクトル 0 ,…, b を受信する受信部と、
入札価格bx =(b1,x ,…,ba,x)が入力される入力部と、
処理用ベクトル 0 x(x∈{1,…,b})および入札価格bx =(b1,x ,…,ba,x)の各価格と対応した数の暗号E(z)が入力され、 0 x に対し暗号E(z)の付加とランダム化処理により、 0 x がそれぞれ表わす値に対して入札価格bx を加算した処理用ベクトル 0 x を出力する加算部と、
加算部よりの処理用ベクトル 0 x とその他の受信された処理用ベクトルを入札者装置Bx+1 の処理用に送信する送信部と
を具備する入札者装置。
A bidder apparatus that performs a bid process based on a goods allocation table T G in which a plurality of types of goods G = {1,..., G} are assigned to each bidder Bε {1,.
A storage unit for storing the public key PK of the homomorphic public key cipher E of the bid opener device;
An encryption unit that encrypts a number z other than Equation 1 with the public key PK and outputs the encryption E (z), and wε {1,..., N of the encryption E (z) processed by the bidder apparatus B x } And b + 1 processing vectors each having a component of a = b g component vectors having n-w components in total and n−w components of the cipher E (1) encrypted with the public key PK. A receiving unit for receiving E 0 ,..., E b ;
An input unit for inputting a bid price b x = (b 1, x ,..., B a, x );
The number of ciphers E (z corresponding to each price of the processing vectors E 0 and E x (x∈ {1,..., B}) and the bid price b x = (b 1, x ,..., B a, x ) ), And by adding the encryption E (z) to E 0 and E x and randomizing processing, the processing vector E 0 is obtained by adding the bid price b x to the values represented by E 0 and E x , respectively. An adder that outputs E x ;
A bidder apparatus comprising: a transmission unit that transmits processing vectors E 0 and E x from the adding unit and other received processing vectors for processing of the bidder device B x + 1 .
複数種類の財G={1,…,g}を各入札者B∈{1,…,b}に割当てた財割当表TG に基づき入札処理を行う入札者装置であって、
開札者装置の準同型公開鍵暗号Eの公開鍵PKを記憶する記憶部と、
数1以外の数zを公開鍵PKで暗号化して暗号E(z)を出力する暗号部と、入札者装置Bx で処理された暗号E(z)のw∈{1,…,n}個と数1を公開鍵PKで暗号化した暗号E(1)のn−w個の計n個の成分を有する成分ベクトルのa=bg 個をそれぞれ成分とするb+1個の処理用ベクトル 0 ,…, b を受信する受信部と、
入札価格bx =(b1,x ,…,ba,x)が入力される入力部と、
処理用ベクトル 0,…, b 中の x(x∈{1,…,b})以外のものおよび入札価格bx =(b1,x ,…,ba,x)の各価格と対応した数の暗号E(z)が入力され、入力された各処理用ベクトルに対し暗号E(z)の付加とランダム化処理により、その処理用ベクトルがそれぞれ表わす値に対して入札価格bx を加算した処理用ベクトルを出力する加算部と、
加算部よりの加算処理された処理用ベクトルと受信された処理用ベクトル xを入札者装置Bx+1 の処理用に送信する送信部と
を具備する入札者装置。
A bidder apparatus that performs a bid process based on a goods allocation table T G in which a plurality of types of goods G = {1,..., G} are assigned to each bidder Bε {1,.
A storage unit for storing the public key PK of the homomorphic public key cipher E of the bid opener device;
An encryption unit that encrypts a number z other than Equation 1 with the public key PK and outputs the encryption E (z), and wε {1,..., N} of the encryption E (z) processed by the bidder apparatus B x B + 1 processing vectors E each having a component of a = b g of component vectors having a total of n-w components of the cipher E (1) obtained by encrypting the number 1 and the number 1 with the public key PK. A receiving unit for receiving 0 ,..., E b ;
An input unit for inputting a bid price b x = (b 1, x ,..., B a, x );
Other than E x (x∈ {1,..., B}) in the processing vector E 0 ,..., E b and each price of the bid price b x = (b 1, x ,..., B a, x ) The number of ciphers E (z) corresponding to each of the processing vectors is input, and the bid price b is applied to the values respectively represented by the processing vectors by adding and randomizing the encryption E (z) to the input processing vectors. an adder that outputs a processing vector obtained by adding x ;
A bidder apparatus comprising: a processing unit that transmits the processing vector added by the adding unit and the received processing vector E x for processing of the bidder apparatus B x + 1 .
上記加算部は入力された各処理用ベクトルの各成分ベクトルと q(q∈{1,…,a})の各成分を成分番号が大きい側にbq,xだけシフトするシフト部と、そのシフトより空いた成分番号部分に暗号(z)をそれぞれ付加する付加部と、その付加部よりの成分番号1乃至nの成分をランダム化して出力するランダム部とを備えることを特徴とする請求項7又は8記載の入札者装置。The adding unit shifts each component vector of each input processing vector E and each component of e q (qε {1,..., A}) by b q, x to the side with the larger component number; And an addition unit for respectively adding the code E (z) to the component number portion vacant from the shift, and a random unit for randomizing and outputting the components of component numbers 1 to n from the addition unit. The bidder device according to claim 7 or 8. 請求項4〜6の何れかに記載した開札者装置としてコンピュータを機能させるための開札プログラム。A bid opening program for causing a computer to function as the bid opener device according to any one of claims 4 to 6. 請求項7〜9の何れかに記載した入札者装置としてコンピュータを機能させるための入札プログラム。A bidding program for causing a computer to function as the bidder apparatus according to claim 7.
JP2003016646A 2003-01-24 2003-01-24 Multiple goods bidding method, apparatus thereof, and program thereof Expired - Fee Related JP4041746B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003016646A JP4041746B2 (en) 2003-01-24 2003-01-24 Multiple goods bidding method, apparatus thereof, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003016646A JP4041746B2 (en) 2003-01-24 2003-01-24 Multiple goods bidding method, apparatus thereof, and program thereof

Publications (2)

Publication Number Publication Date
JP2004227425A JP2004227425A (en) 2004-08-12
JP4041746B2 true JP4041746B2 (en) 2008-01-30

Family

ID=32904039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003016646A Expired - Fee Related JP4041746B2 (en) 2003-01-24 2003-01-24 Multiple goods bidding method, apparatus thereof, and program thereof

Country Status (1)

Country Link
JP (1) JP4041746B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4611769B2 (en) * 2005-02-25 2011-01-12 日本電信電話株式会社 Electronic procurement bidding method, electronic procurement bidding system, and electronic procurement bidding program
CN113205399B (en) * 2021-05-21 2023-07-14 中国联合网络通信集团有限公司 Electronic bidding method, first bidding node equipment and neutral third party node equipment

Also Published As

Publication number Publication date
JP2004227425A (en) 2004-08-12

Similar Documents

Publication Publication Date Title
EP3924852B1 (en) Fast oblivious transfers
US7634084B2 (en) Prime calculation device, method, and key issuing system
KR100833828B1 (en) Method of authenticating anonymous users while reducing potential for ?middleman? fraud
US8533487B2 (en) Secure logical vector clocks
US20090083190A1 (en) System and Method for Electronic Bidding
JP2007510947A (en) Method and apparatus for efficient multi-party multiplication
CN113536379B (en) Private data query method and device and electronic equipment
JP2019061233A (en) System and method for safe two-party evaluation for usefulness of sharing data
Sun et al. Privacy-preserving verifiable incentive mechanism for online crowdsourcing markets
Chen et al. ARMOR: A secure combinatorial auction for heterogeneous spectrum
US20040037424A1 (en) Information distribution and processing
CN106714183B (en) Heterogeneous spectrum allocation method for protecting privacy
US7240198B1 (en) Honesty preserving negotiation and computation
CN116204912A (en) Data processing method and device based on isomorphic encryption
CN112865953A (en) Safe multi-party computing method, device and system based on auxiliary server
Blake et al. Conditional encrypted mapping and comparing encrypted numbers
CN112800479B (en) Multi-party combined data processing method and device by using trusted third party
Guo et al. Secure first-price sealed-bid auction scheme
JP4041746B2 (en) Multiple goods bidding method, apparatus thereof, and program thereof
CN111314059B (en) Processing method, device and equipment for account authority proxy and readable storage medium
CN114144783A (en) Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium
CN116861477A (en) Data processing method, system, terminal and storage medium based on privacy protection
Wang et al. Quantum sealed-bid auction protocol based on quantum secret sharing
US7979712B2 (en) Network system, server and information terminal for list matching
CN113645022A (en) Method and device for determining privacy set intersection, electronic equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050121

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071024

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: 20071106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071112

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees