Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3619486B2 - Electronic matching method, apparatus program thereof and recording medium thereof - Google Patents
[go: Go Back, main page]

JP3619486B2 - Electronic matching method, apparatus program thereof and recording medium thereof - Google Patents

Electronic matching method, apparatus program thereof and recording medium thereof Download PDF

Info

Publication number
JP3619486B2
JP3619486B2 JP2001332186A JP2001332186A JP3619486B2 JP 3619486 B2 JP3619486 B2 JP 3619486B2 JP 2001332186 A JP2001332186 A JP 2001332186A JP 2001332186 A JP2001332186 A JP 2001332186A JP 3619486 B2 JP3619486 B2 JP 3619486B2
Authority
JP
Japan
Prior art keywords
ans
matching server
public
answer
matching
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
JP2001332186A
Other languages
Japanese (ja)
Other versions
JP2003141380A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001332186A priority Critical patent/JP3619486B2/en
Publication of JP2003141380A publication Critical patent/JP2003141380A/en
Application granted granted Critical
Publication of JP3619486B2 publication Critical patent/JP3619486B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は複数のユーザ(u1,u2,…,un)とこれと区別が可能な1人のユーザ(v)と彼らへの質問(例えばu1,u2,…,unに対して「1万円で売るか?」、vに対して「1万円で買うか?」など)が存在し、u1,u2,…,un中の1人でも、かつvの質問への答えがYESであるときにのみその旨判定できる方法であり、前述の例のように両者が売買人の関係にあるときは「取引成立」とすることが可能な電子マッチングの方法およびそのプログラムを記録した記録媒体に関する。
【0002】
【従来の技術】
従来の電子マッチングの方法がMoni Naor,Benny Pinkas:「Oblivious Transfer and Polynomial Evaluation」,STOC99,ACMに挙げられている。この方法は1人対1人の電子マッチングシステムであり、この方法はOblivious Evaluation of Polynomialという技術を用いている。この技術はAlice(アリス)とBob(ボブ)がおり、Aliceしか知らない値xとBobしか知らない多項式Pがあり、AliceはBobにxを知られることなく、BobはAliceにPを知られることなく、Aliceが値P(x)を得るものである。MoniとNaorはこの手法の応用として以下のような1対1のマッチングを提案している。ユーザuとユーザvがおり、uしか知らない関数Pと値x,vしか知らない関数Pと値xがある。先のOblivious Evaluation of Polynomial を用いて、各々相手にx,xを知られることなく、uはP(x)を、vはP(x)を得、uはP(x)+P(x)を公開し、vはP(x)+P(x)を公開する。両者の秘密の値x,xが等しいならば公開されたこれらも一致する。
【0003】
【発明が解決しようとする課題】
従来技術の問題点は、1対1でのマッチングしかできないということである。その理由は、各種電子商取引の分野では1対多ないしは多対多であることが多く、これに対応できないためである。
この発明の目的は、1対多者間においてユーザのプライバシー(答え)を守りつつ比較できる電子マッチング方法を提供することにある。
【0004】
【課題を解決するための手段】
この発明によれば複数の第一ユーザ装置u1,u2,…,unと、これらと区別が可能な1つの第二ユーザ装置vと、2つのマッチングサーバ装置A,Bとを備え、第一ユーザ装置及び第二ユーザ装置への質問に対するYESまたはNOの答えをこれら装置はそれぞれ秘密に持ち、2つのマッチングサーバ装置A,Bを仲介させることにより第一ユーザ装置u1,u2,…,unの回答が少くとも1つYESがあり、かつ第二ユーザ装置の回答がYESの時のみ、そのことを判定可能とする。
【0005】
例えば第一ユーザ装置u1,u2,…,unではその回答がYESであれば、互いに異なる乱数ANSi,A ,ANSi,B (i=1,2,…,n)を、回答がNOであれば互いに等しい乱数ANSi,A ,ANSi,B を生成し、第二ユーザ装置vはその答えがYESであればANSi,A の全てと関連した成分を含む確率的準同型暗号文VとANSi,B の全てと関連した成分を含む確率的準同型暗号文Vを、答えがNOであれば同一乱数に対する各確率的準同型暗号文V,Vを生成し、マッチングサーバ装置A,BはV,Vを復号する。
【0006】
従来技術とは、1対多者間でのマッチングを可能とした点が異なる。
【0007】
【発明の実施の形態】
次に、この発明の実施の形態について図面を参照して詳細に説明する。
第1の実施の形態
この発明が適用されるシステムの構成例は図1に示すように、複数の第一ユーザ装置100と、ひとつの第二ユーザ装置200と、2つのマッチングサーバ装置300と、公開掲示板装置400がネットワーク500で接続されている。
第一ユーザ装置100の機能構成例を図2に、第二ユーザ装置200の機能構成例を図3に、マッチングサーバ装置300の機能構成例を図4に、公開掲示板装置400の機能構成例を図5にそれぞれ示す。
【0008】
次に、図6〜図10のフローチャートを参照してこの実施の形態の全体の動作について詳細に説明する。
まず図6に示すように、第一ユーザui(i=1,2,…,n)の第一ユーザ装置100(図2参照)は乱数生成部101にて異なる乱数ANSi,A,ANSi,B,Ri,A,Ri,Bを生成し(S1)、回答記憶部102からの回答としてYESまたはNOを読み出す(S2)。回答生成部103はこの回答がNOならば(S3)、ANSi,BをANSi,Aで上書きしてANSi,Aと等しくする(S4)。公開鍵記憶部104からPK,PKを読み出し(S5)、確率暗号演算部105はPK,PKでANSi,A,ANSi,Bをそれぞれ暗号化してUi,A,Ui,Bを作成する(S6)。また一方向性関数演算部106にて(ANSi,A,Ri,A),(ANSi,B,Ri,B)に対しそれぞれ一方向性関数を施してhi,A,hi,Bを作成する(S7)。送信部107はhi,A,hi,Bを公開掲示板装置400へ、Ui,Aをマッチングサーバ装置300へ、Ui,Bをもうひとつのマッチングサーバ装置300へそれぞれ送信する(S8)。
【0009】
図10に示すように公開掲示板装置400(図5参照)は受信部401にてhi,A,hi,Bを受信し(S1)、他の装置からも参照可能な公開記憶部402へ蓄積する(S2)。
次に図8に示すように、マッチングサーバ装置300は動作する。なお図8及び以下の説明ではマッチングサーバ装置300はマッチングサーバAであるものとして記述するが、もうひとつのマッチングサーバ装置300はマッチングサーバBとなり、その動作は図8および以下の説明内容中のAを全てBに置き換えたものとして動作する。マッチングサーバ装置300(図4参照)はまず受信部301にて複数の第一ユーザ装置100から送信されたU1,A,U2,A…,Un,Aを受信する(S1)。次に公開鍵秘密鍵記憶部302からマッチングサーバの秘密鍵SKを読み出し(S2)、確率的準同型公開鍵暗号復号部303にてU1,A,U2, A…,Un,Aを復号してANS1,A,ANS2,B,…ANSn,Aを得る(S3)。一方向性関数演算部304にて(ANS1,A,ANS2,A,…ANSn,A)に一方向性関数を施してhを得る(S4)。公開鍵秘密鍵記憶部302から公開鍵PKを読み出し(S5)、確率的準同型公開鍵暗号暗号部305にてhをPKで暗号化してTを得る(S6)。送信部306にてTを第二ユーザ装置200へ送信する(S7)。
【0010】
次に図7に示すように、第二ユーザ装置200(図3参照)は、受信部201にてマッチングサーバ装置300からTを、もうひとつのマッチングサーバ装置300からTをそれぞれ受信する(S1)。乱数生成部203にて乱数Rを生成し(S2)、公開鍵記憶部202からPK,PKを読み出す(S3)。確率的準同型公開鍵暗号暗号部204にてRをPK,PKでそれぞれ暗号化してS,Sを得る(S4)。回答記憶部205より回答としてYESまたはNOを読み出す(S5)。回答生成部206は、読み出した回答がYESならば(S6)、V=S×T,V=S×Tとしてそれぞれ生成し(S7)、回答がNOならばV=S,V=Sとし(S8)、一方向性関数演算部207はRに一方向性関数を施してhを作成する(S9)。送信部208はhを公開掲示板装置400へ、Vをマッチングサーバ装置300へ、Vをもうひとつのマッチングサーバ装置300にそれぞれ送信する(S9)。
【0011】
図10に示すように、公開掲示板装置400は受信部401にてhを受信し(S1)、公開記憶部402へ蓄積する(S2)。
次に図9に示すように、マッチングサーバ装置300は動作する。なお図9及び以下の説明ではマッチングサーバ装置300はマッチングサーバAであるものとして記述するが、もうひとつのマッチングサーバ装置300はマッチングサーバBとなり、その動作は図9および以下の説明内容中のAを全てBに置き換えたものとして動作する。まず受信部301にてVを受信する(S1)。公開鍵秘密鍵記憶部302からマッチングサーバAの秘密鍵SKを読み出し(S2)、確率的準同型公開鍵暗号復号部303にてVをSKで復号してFを得る(S3)。送信部306にてFを公開掲示板装置400へ送信する(S4)。
【0012】
次に図10に示すように、公開掲示板装置400は動作し、まず2つのマッチングサーバ装置300よりF,Fをそれぞれ受信部401にて受信し、次に他の装置からも参照可能な公開記憶部402へF,Fを蓄積する。
確率的準同型暗号はE(a・b)=E(a)・E(b)となる性質がある。従って、第二ユーザ装置vの回答がYESの場合は、V=S×T=EPKA(R・h),V=S×T=EPKB(R・h)となる。第一ユーザ装置u1,…,un中の1つでもその回答にYESがあれば、h≠hとなる。つまり第一ユーザ装置u1,…,un中の1つでもその回答がYESであり、かつ第二ユーザ装置vの回答もYESであれば、必ずF(=R・h)≠F(=R・h)となる。これ以外の場合には、第一ユーザ装置u1,…,unの回答中にYESがあっても、第二ユーザ装置vの回答がNOであれば、F(=R)=F(=R)となり、また第二ユーザ装置vの回答がYESであっても第一ユーザ装置u1,…,unの全ての回答がNOであればh=hであるため、F(=R・h)=F(=R・h)となり、何れの場合もF=Fとなる。よってF≠Fの時のみマッチングが成立したことになる。
【0013】
しかも確率暗号により暗号化されているため第三者はT=TなのかT≠Tなのか区別することができず、またV,VもT,Tを含むかどうか分からない。つまり第一ユーザ装置の回答が全てNOだったのか、第二ユーザ装置の回答がNOだったのか判別が不可能である。
第一ユーザ装置100がhi,A,hi,Bを公開掲示板装置400へ送信するのは、その答えの否認防止のためのコミットメントとして公開し、第二ユーザ装置200がhを公開掲示板装置400へ送信するのも、その答えの否認防止のためのコミットメントとして公開するためである。第一ユーザ装置100からサーバ装置300へのANSi,A,ANSi,Bの送信は、要はこれらを第三者に漏らすことなく秘密に送ればよい。
第2の実施の形態
第1の実施の形態は公開掲示板装置400を除くと、情報の流れが第一ユーザ装置100→マッチングサーバ装置300→第二ユーザ装置200→マッチングサーバ装置300となっていた。第2の実施の形態では、情報の流れを第一ユーザ装置100→第二ユーザ装置200→マッチングサーバ装置300としてマッチングサーバ装置300の負担を軽減したものである。
【0014】
適用されるシステム構成例は図1に示したものと同様である。第一ユーザ装置100の機能構成例は図11に示すように、図2に示した構成中の確率暗号演算部105が確率的準同型公開鍵暗号暗号部115となっている。第二ユーザ装置200の機能構成例は図12に示すように、図3に示した構成に、T,T生成部209が加わっている。マッチングサーバ装置300の機能構成例は図13に示すものとなり、公開掲示板装置400の機能構成例は図5に示したものと同様である。第一ユーザ装置100、第二ユーザ装置200、マッチングサーバ装置300の各処理手順の例を図14〜図16にそれぞれ示す。公開掲示板装置400の処理手順は図10と同様である。
【0015】
以下第2の実施の形態の全体の動作について詳細に説明する。
まず第一ユーザi(i=1,2,…,n)の第一ユーザ装置100(図11参照)は図14に示すように、乱数生成部101にて異なる乱数ANSi,A,ANSi,B,Ri,A,Ri,Bを生成し(S1)、回答記憶部102から回答としてYESまたはNOを読み出す(S2)。回答生成部103はこの回答がNOならば(S3)、ANSi,BをANSi,Aで上書きしてANSi,BとANSi,Aを等しくする(S4)。公開鍵記憶部104からマッチングサーバA,Bの各公開鍵PK,PKを読み出し(S5)、確率的準同型公開鍵暗号暗号部115によりPK,PKをそれぞれ用いてANSi,A,ANSi,Bを暗号化してUi,A,Ui,Bを生成する(S6)。
【0016】
一方向性関数演算部106により(ANSi,A,Ri,A)と(ANSi,B,Ri,B)にそれぞれ一方向性関数を施してhi,A=h(ANSi,A,Ri,A)とhi,B=h(ANSi,B,Ri,B)を生成する(S7)。送信部107によりUi,A,Ui,B、hi,A,hi,Bを公開掲示板装置400へ送信する(S8)。なおhi,A,hi,Bは答えの否認防止のためのコミットメントとして用いられる。
第二ユーザ装置200(図12参照)は図15に示すように、受信部201にて公開掲示板装置400からU1,A,U2,A,…,Un,A,U1,B,U2,B,…,Un,Bを受信する(S1)。T,T生成部209にてT=U1,A×U2,A×…×Un,A,T=U1,B×U2,B×…×Un,Bを演算生成する(S2)。
【0017】
乱数生成部203にて乱数Rを生成し(S3)、公開鍵記憶部202からマッチングサーバA,Bの公開鍵PK,PKを読み出す(S4)。
確率的準同型公開鍵暗号暗号部204により公開鍵PK,PKを用いてRを暗号化してS,Sを生成する(S5)。回答記憶部205より回答としてYESまたはNOを読み出す(S6)。回答生成部206は読み出した回答がYESであれば(S7)、V=S×T、V=S×Tを生成し(S8)、回答がNOであればV=S、V=Sとし(S9)、一方向性関数部207はRに一方向性関数を施してh=h(R)を生成する(S10)。送信部208はhを答えの否認防止のためのコミットメントとして公開掲示板装置400へ、VをマッチングサーバAの装置300へ、VをマッチングサーバBの装置300へそれぞれ送信する(S11)。
【0018】
図10に示すように公開掲示板装置400は受信部401にてhを受信し(S1)、公開記憶部402へ蓄積する(S2)。
図16に示すようにマッチングサーバ装置300(図13参照)は次のように動作する。なお図16及び以下の説明ではマッチングサーバ装置300はマッチングサーバAの装置であるものとして記述するが、もうひとつのマッチングサーバ装置300はマッチングサーバBのものとなり、その動作は図10および以下の説明内容中のAを全てBに置き換えたものとして動作する。まず受信部301にてVを受信する(S1)。秘密鍵記憶部302から自装置の秘密鍵SKを読み出し(S2)、確率的準同型公開鍵暗号復号部303にてVを復号しFを得る(S3)。送信部304にてFを公開掲示板装置400へ送信する(S4)。
【0019】
図10に示すように公開掲示板装置400は、2つのマッチングサーバ装置300よりF,Fをそれぞれ受信部401にて受信する。次に他の装置からも参照可能な公開記憶部402へF,Fを蓄積する。
この場合も、第1の実施の形態と同様に、FとFが異なれば、ユーザu1,…unの各装置100からの回答の少くとも1つがYESであり、かつ第二ユーザ装置200の回答がYESであると判断し、FとFが一致すれば、他の場合であると判断する。V,Vは第二ユーザ装置200の回答がYESの場合、準同型暗号の性質から次式となる。
【0020】

Figure 0003619486
これらの両式から、第二ユーザ装置200の回答がYESであれば、第一ユーザu1,u2…unの各装置100の回答の少くとも1つがYESであればF≠Fとなり、第一ユーザ装置100からの回答の全てがNOであればF=Fとなる。
【0021】
一方、第一ユーザ装置100からの回答にYESが含まれていても、第二ユーザ装置200の回答がNOであれば、V=S、V=SとなりF=Fとなる。従って、上記判断が正しいことになる。
第1の実施の形態、第2の実施の形態の何れにおいても、F,Fを公開することなく、マッチングサーバA,Bの各装置300が復号したF,Fを、従来の技術の項で説明した1対1のマッチングを利用し、これらを公開することなく比較してもよい。例えばマッチングサーバ装置300が復号したFを、Oblivious Evaluation of Polynomial技術を用いて、マッチングサーバAの装置300はマッチングサーバBしか知らない多項式PについてP(F)をマッチングサーバBに知られることなく得、同様に、マッチングサーバBの装置300がP(F)を得、両マッチングサーバ装置300において、それぞれP(F)+P(F),P(F)+P(F)をそれぞれ公開して両者を比較し、これらが互いに相違すればF≠Fであると判定できる。
第3の実施の形態
次に、この発明の電子マッチング方法を電子商取引に適用した例を述べる。n人の売り手(u1,…,un)と1人の買い手(v)が存在し、1円〜5円のいずれかを売値・買値として回答してくるものとする。また準同型確率暗号としてElGamal暗号を用いることとし、素数pとZ の原始元gをシステムに共通なシステムパラメータとする。
【0022】
マッチングサーバ装置Aの秘密鍵をx(∈Zp−1)、公開鍵をy(=gxA mod p)とし、同様にマッチングサーバ装置Bの秘密鍵をx(∈Zp−1)、公開鍵をy(=gxB mod p)とする。成立した際の買い手の優先順位はu1,u2,…unの順とする。また複数価格で成立する可能性がある場合は買値が優先されるものとする。
(1)希望売値登録
各売り手装置uiは以下のようにANSi,A,ANSi,Bを準備する。
【0023】
Figure 0003619486
但し、ANSi,x,x∈Zである。
例えば売り手装置uiの希望売値が「3円以上」であるとすると、ANSi,AとANSi,Bは図16のようにセットされる。つまりANSi,j,A,ANSi,j,B(j=1,2,…,5)を各価格に対応して用意し、希望売値以上のANSi,j,AとANSi,j,Bとを互いに異ならせ、つまり回答YESとし、希望売値より小さいANSi,j,AとANSi,j,Bとを互いに等しく、つまり回答NOとする。
【0024】
uiは次のような乱数群Ri,A,Ri,Bを生成する。
Figure 0003619486
をコミットメントとして公開する。さらにANSi,AとRi,Aをマッチングサーバ装置Aに、ANSi,BAとRi,Bをマッチングサーバ装置Bに他人に知られないように送信する。
(2)売値バンドル
マッチングサーバ装置AはANS1,A,ANS2,A,…,ANSn,Aを受け取る。
【0025】
Figure 0003619486
1,A,h2,A,…,h5,Aを自装置の公開鍵と乱数raで各々暗号化してTj,A(j=1,…,5)を得る。
【0026】
j,A=(yra j,A mod p,gra mod p)
j=1,…,5に対して
j,Aをユーザ装置vに送る。
同様にマッチングサーバ装置BはANS1,B,ANS2,B,…,ANSn,Bを受け取り、h1,B,h2,B,…,h5,Bを計算し、自装置の公開鍵と乱数rbにて各々暗号化して、Tj,B(j=1,…,5)を得る。
j,B=(yrb j,B mod p,grb mod p)
j=1,…,5に対して、
j,Bをユーザ装置vに送る。
(3)希望買値登録
ユーザ装置vはT1,A,T2,A,…,T5,A,T1,B,T2,B,…,T5,Bを受け取り、乱数R1,v,R2,v,…,R5,v(∈Z)を生成する。Rj,vを装置Aの公開鍵と乱数rA,vにて各々暗号化してSj,Aを得る。同様に、Rj,vを装置Bの公開鍵と乱数rB,vにて各々暗号化してSj,Bを得る。
【0027】
Figure 0003619486
装置vは乱数Rj,V(j=1,…,5)を生成し、h(Rj,v,Rj,v)をコミットメントとして公開する。各jと希望買値の大小関係に応じて以下のようにVj,A,Vj,Bを計算する。
【0028】
Figure 0003619486
j=1,…,5に対してVj,Aを装置Aに、Vj,Bを装置Bに送る。
(4)売買値比較
装置Aは(Vj,A)を復号し、W1,A,W2,A,…,W5,Aを得る。同様に装置Bは(Vj,B)を復号し、W1,B,W2,B,…,W5,Bを得る。j=1とする。A,BはWj,A,Wj,Bを公開する。もしWj,A≠Wj,Bならば(5)へ、それ以外ではj←j+1とし、同じプロセスを繰り返す。もし全てのjに対してWj,A=Wj,Bとなれば、この取引は「不成立」を結果として返して終了する。
(5)ui特定
(4)の処理からのjの値を引き継ぎ以下を実行する。i=1とする。装置A,BはANSi,j,AとANSi,j,Bを各々公開する。もしANSi,j,A≠ANSi,j,Bならば装置uiが勝者であり、この取引は「成立」を結果として返して終了する。それ以外ではi←i+1とし、同じプロセスを繰り返す。
【0029】
この方法によれば以下のように安全性が保証される。
(A)ユーザの登録情報の秘匿性
もしマッチングが「不成立」(F=F)ならば、第三者が得たいのは、どの状況で「不成立」となったかである。第三者が得られる情報は、h(ANSi,A,Ri,A),h(ANSi,B,Ri,B),T,T,h(R,R′),V,V,W,Wである。
h(ANSi,A,Ri,A),h(ANSi,B,Ri,B)からANSi,A,ANSi,Bを求める困難性は関数hの一方向性に基づいている。
【0030】
,Tは確率暗号にて暗号化された結果であるので、第三者はT=TなのかT≠Tなのか区別がつかない。
またV,Vも確率暗号による暗号文であるため、これらがT,Tを含むかどうかは分からない。
(B)公平性
各ユーザは他ユーザの登録した回答を得られるか。
(A)と同様に、公開されている情報から他ユーザの回答は得られない。ただし、両マッチングサーバA,Bは互いに結託しないものとし、またマッチングサーバA,Bが同一のユーザと結託することがないものとする。
【0031】
以上よりユーザは自分の回答登録前に他ユーザの回答を得ることはできない。
(C)否認不可性
第一ユーザがuはh(ANSi,A,Ri,A),h(ANSi,B,Ri,B)を、第二ユーザvはh(R,R′)をコミットメントとして公開しており、これを否認するためには関数hのコリジョンを見つけることが必要となる。
上述においては最も安い価格で買うことができるが、第一ユーザ装置u1,…unが希望買値登録し、第二ユーザ装置vが希望売値登録して、最も高い価格で売るようにすることもできる。この場合は第一ユーザ装置uiはその希望買値b(1m:mは価格リストの最高値、前記例では5円)に対し、jbではANSi,j,A≠ANSi,j,B,j>bではANSi,j,A=ANSi,j,Bとし(j=1,…,m、i=1,…,n)、第二ユーザ装置vはその希望売値s(1m)に対し、j<sではVj,A=Sj,A、Vj,B=Sj,Bとし、jsではVj,A=Tj,A×Sj,A、Vj,B=Tj,B×Sj,Bとし、売買値比較の際にj=mから順次jの値を小さくして最初にFj,A≠Fj,Bとなるjを探せばよい。
【0032】
図2、図3、図11、図12にそれぞれ示したユーザ装置はコンピュータにより、それぞれ図6、図7、図14、図15に示した処理方法を実行する電子マッチングユーザ装置プログラムを実行させて機能させてもよい。この場合はそのコンピュータに、CD−ROM、可撓性磁気ディスクなどの記録媒体から電子マッチングユーザ装置プログラムをインストールさせ、又は通信回線を介してダウンロードさせて実行させればよい。同様に図4に示したマッチングサーバ装置はコンピュータにより、図8及び図9に示した方法を実行するマッチングサーバ装置プログラムを実行させて機能させてもよい。
【0033】
【発明の効果】
以上述べたようにこの発明によれば、2つのマッチングサーバ装置を仲介させることにより、次の効果が得られる。
この発明による第1の効果は、現実に近い商取引の場にて、より効率的にかつ安全に取引相手を決定することが可能であることにある。
その理由は、一般的な商取引では1対多ないし多対多での価格交渉が一般的である。これまでの1対1のマッチングではこれを人数回数分繰り返すなど膨大な処理を繰り返すことになっていた。これに対し、この発明では1対多者間にて、マッチングを実現し、かつもし答えが一致するものが一組もなければ各ユーザの答えを守りつつマッチングができるという従来の安全性に関する性質を落とすことなく実現していることにある。
【図面の簡単な説明】
【図1】この発明方法が適用されるシステム構成例を示す図。
【図2】第1の実施の形態における第一ユーザ装置100の機能構成例を示す図。
【図3】第1の実施の形態における第二ユーザ装置200の機能構成例を示す図。
【図4】第1の実施の形態におけるマッチングサーバ装置300の機能構成例を示す図。
【図5】第1の実施の形態における公開掲示板装置400の機能構成例を示す図。
【図6】第1の実施の形態における第一ユーザ装置100の処理手順の例を示す流れ図。
【図7】第1の実施の形態における第二ユーザ装置200の処理手順の例を示す流れ図。
【図8】第1の実施の形態におけるマッチングサーバ装置300の処理手順の例の一部を示す流れ図。
【図9】図8に示した処理手順の残りの部分を示す流れ図。
【図10】第1の実施の形態における公開掲示板装置400の処理手順の例を示す流れ図。
【図11】第2の実施の形態における第一ユーザ装置100の機能構成例を示す図。
【図12】第2の実施の形態における第二ユーザ装置200の機能構成例を示す図。
【図13】第2の実施の形態におけるマッチングサーバ装置300の機能構成例を示す図。
【図14】第2の実施の形態における第一ユーザ装置100の処理手順の例を示す流れ図。
【図15】第2の実施の形態における第二ユーザ装置200の処理手順の例を示す流れ図。
【図16】第2の実施の形態におけるマッチングサーバ装置300の処理手順の例の一部を示す流れ図。
【図17】第1ユーザ装置uiの希望売値登録の例を示す図。[0001]
BACKGROUND OF THE INVENTION
In the present invention, a plurality of users (u1, u2,..., Un), one user (v) that can be distinguished from this, and their questions (for example, u1, u2,. , "Do you want to buy for 10,000 yen?") And v is one of u1, u2, ..., un, and the answer to v's question is YES The present invention relates to an electronic matching method capable of determining “transaction establishment” when both are in the relationship of a seller as in the above example, and a recording medium on which the program is recorded.
[0002]
[Prior art]
Conventional electronic matching methods are listed in Moni Naor, Benny Pinkas: “Obligious Transfer and Polynomial Evaluation”, STOC99, ACM. This method is a one-to-one electronic matching system, and this method uses a technique called Obvious Evaluation of Polynomial. This technique has Alice (Alice) and Bob (Bob), there is a value x that only Alice knows and a polynomial P that only Bob knows, Alice knows Bob does not know x, Bob knows P to Alice Without Alice, the value P (x) is obtained. Moni and Naor have proposed the following one-to-one matching as an application of this method. Function P that user u and user v know only uuAnd value xu, V only knows function PvAnd value xvThere is. Using the previous Oblivious Evaluation of Polynomial,u, XvWithout knowing uv(Xu), V is Pu(Xv), U is Pu(Xu) + Pv(Xu) And v is Pv(Xv) + Pu(Xu). Secret value x of bothu, XvIf they are equal, the published ones will match.
[0003]
[Problems to be solved by the invention]
The problem with the prior art is that only one-to-one matching is possible. The reason is that in the field of various electronic commerce, there are many one-to-many or many-to-many, and this is not possible.
An object of the present invention is to provide an electronic matching method capable of making a comparison between a one-to-many person while protecting a user's privacy (answer).
[0004]
[Means for Solving the Problems]
According to the present invention, a plurality of first user devices u1, u2,..., Un, one second user device v distinguishable from these, and two matching server devices A and B are provided. These devices each have a secret answer of YES or NO to the questions to the device and the second user device, and the answers of the first user devices u1, u2,..., Un by interposing the two matching server devices A and B. Can be determined only when there is at least one YES and the answer of the second user device is YES.
[0005]
For example, if the answer is YES in the first user devices u1, u2,.i, A  , ANSi, B  (I = 1, 2,..., N) are equal to each other if the answer is NO.i, A  , ANSi, B  If the answer is YES, the second user device vi, A  Probabilistic homomorphic ciphertext V containing components related to allAAnd ANSi, B  Probabilistic homomorphic ciphertext V containing components related to allBIf the answer is NO, each stochastic homomorphic ciphertext V for the same random numberA, VBAnd the matching server devices A and B are VA, VBIs decrypted.
[0006]
It differs from the prior art in that one-to-many matching is possible.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
First embodiment
A configuration example of a system to which the present invention is applied includes a plurality of first user devices 100, one second user device 200, two matching server devices 300, and a public bulletin board device 400 as shown in FIG. 500 is connected.
FIG. 2 shows a functional configuration example of the first user device 100, FIG. 3 shows a functional configuration example of the second user device 200, FIG. 4 shows a functional configuration example of the matching server device 300, and FIG. Each is shown in FIG.
[0008]
Next, the overall operation of this embodiment will be described in detail with reference to the flowcharts of FIGS.
First, as shown in FIG. 6, the first user device 100 (see FIG. 2) of the first user ui (i = 1, 2,..., N) has different random numbers ANS in the random number generation unit 101.i, A, ANSi, B, Ri, A, Ri, BIs generated (S1), and YES or NO is read as an answer from the answer storage unit 102 (S2). If this answer is NO (S3), the answer generation unit 103 determines that the answer is ANS.i, BANSi, AOverwrite with ANSi, A(S4). Public key storage unit 104 to PKA, PKBIs read (S5), and the probability cryptographic operation unit 105 performs PKA, PKBANSi, A, ANSi, BEncrypt Ui, A, Ui, BIs created (S6). In the one-way function calculation unit 106 (ANSi, A, Ri, A), (ANSi, B, Ri, B) For each one-way functioni, A, Hi, BIs created (S7). The transmitter 107 is hi, A, Hi, BTo the public bulletin board apparatus 400, Ui, ATo the matching server device 300, Ui, BAre transmitted to another matching server device 300 (S8).
[0009]
As shown in FIG. 10, the public bulletin board apparatus 400 (see FIG. 5)i, A, Hi, BAre stored in the public storage unit 402 that can be referred to by other devices (S2).
Next, as shown in FIG. 8, the matching server device 300 operates. In FIG. 8 and the following description, the matching server device 300 is described as being the matching server A, but the other matching server device 300 is the matching server B, and the operation thereof is shown in FIG. It is assumed that all are replaced with B. The matching server device 300 (see FIG. 4) first receives Us transmitted from the plurality of first user devices 100 by the receiving unit 301.1, A, U2, A..., Un, AIs received (S1). Next, the private key SK of the matching server from the public key private key storage unit 302A(S2), and the probabilistic homomorphic public key encryption / decryption unit 303 executes U1, A, U2, A..., Un, AANS1, A, ANS2, B, ANSn, AIs obtained (S3). In the one-way function calculation unit 304 (ANS1, A, ANS2, A, ANSn, A) With a one-way functionAIs obtained (S4). Public key PK from public key private key storage unit 302A(S5), and the probabilistic homomorphic public key encryption unit 305APKAEncrypt with TAIs obtained (S6). T at transmission unit 306AIs transmitted to the second user apparatus 200 (S7).
[0010]
Next, as shown in FIG. 7, the second user device 200 (see FIG. 3) receives the matching server device 300 from the matching server device 300 in the receiving unit 201.AFrom another matching server device 300 to TBAre respectively received (S1). Random number R in random number generator 203V(S2) and PK from the public key storage unit 202A, PKBIs read (S3). R in the probabilistic homomorphic public key encryption unit 204VPKA, PKBEncrypt each with SA, SBIs obtained (S4). YES or NO is read from the answer storage unit 205 as an answer (S5). If the read answer is YES (S6), the answer generator 206A= SA× TA, VB= SB× TB(S7), and if the answer is NO, VA= SA, VB= SB(S8), the one-way function calculation unit 207 is RVApply a one-way function to hVIs created (S9). The transmitter 208 is hVTo the public bulletin board device 400, VATo the matching server device 300, VBAre transmitted to another matching server device 300 (S9).
[0011]
As shown in FIG. 10, the public bulletin board apparatus 400 receives h at the receiving unit 401.VIs received (S1) and stored in the public storage unit 402 (S2).
Next, as shown in FIG. 9, the matching server device 300 operates. In FIG. 9 and the following description, the matching server device 300 is described as being the matching server A, but the other matching server device 300 is the matching server B, and the operation thereof is shown in FIG. It is assumed that all are replaced with B. First, the receiving unit 301 uses VAIs received (S1). The private key SK of the matching server A from the public key private key storage unit 302A(S2), and the probabilistic homomorphic public key encryption / decryption unit 303 performs VASKADecrypted with FAIs obtained (S3). F at the transmission unit 306AIs transmitted to the public bulletin board apparatus 400 (S4).
[0012]
Next, as shown in FIG. 10, the public bulletin board device 400 operates, and first FA, FBAre received by the receiving unit 401 and then transferred to the public storage unit 402 that can be referred to by other devices.A, FBAccumulate.
Probabilistic homomorphic encryption has the property that E (a · b) = E (a) · E (b). Therefore, if the answer of the second user device v is YES, VA= SA× TA= EPKA(Rv・ HA), VB= SB× TB= EPKB(Rv・ HB) If at least one of the first user devices u1,.A≠ hBIt becomes. That is, if at least one of the first user devices u1,..., Un is answered and the answer of the second user device v is also YES, FA(= RV・ HA) ≠ FB(= RV・ HB) In other cases, even if there is YES in the responses of the first user devices u1,..., Un, if the answer of the second user device v is NO, FA(= RV) = FB(= RVIn addition, even if the answer of the second user device v is YES, if all the answers of the first user devices u1,.A= HBTherefore, FA(= RV・ HA) = FB(= RV・ HB) And in either case FA= FBIt becomes. So FA≠ FBMatching is established only when
[0013]
Moreover, since it is encrypted with probability encryption,A= TBNana TA≠ TBCannot be distinguished, and VA, VBAlso TA, TBI don't know if it contains. That is, it is impossible to determine whether the answer of the first user device is NO or the answer of the second user device is NO.
The first user device 100 is hi, A, Hi, BIs transmitted to the public bulletin board apparatus 400 as a commitment to prevent denial of the answer, and the second user apparatus 200 sends hVIs sent to the public bulletin board apparatus 400 in order to make it public as a commitment to prevent denial of the answer. ANS from the first user device 100 to the server device 300i, A, ANSi, BIn short, it is only necessary to send them secretly without leaking them to a third party.
Second embodiment
In the first embodiment, except for the public bulletin board device 400, the information flow is the first user device 100 → the matching server device 300 → the second user device 200 → the matching server device 300. In the second embodiment, the burden of the matching server device 300 is reduced by changing the information flow from the first user device 100 to the second user device 200 to the matching server device 300.
[0014]
The applied system configuration example is the same as that shown in FIG. As shown in FIG. 11, the functional configuration example of the first user device 100 is a probabilistic homomorphic public key encryption unit 115 in the configuration of the stochastic encryption unit 105 illustrated in FIG. 2. An example of the functional configuration of the second user apparatus 200 is shown in FIG.A, TBA generation unit 209 is added. The functional configuration example of the matching server device 300 is as shown in FIG. 13, and the functional configuration example of the public bulletin board device 400 is the same as that shown in FIG. Examples of the processing procedures of the first user device 100, the second user device 200, and the matching server device 300 are shown in FIGS. The processing procedure of the public bulletin board apparatus 400 is the same as that in FIG.
[0015]
The overall operation of the second embodiment will be described in detail below.
First, the first user device 100 (see FIG. 11) of the first user i (i = 1, 2,..., N) has different random numbers ANS in the random number generation unit 101 as shown in FIG.i, A, ANSi, B, Ri, A, Ri, BIs generated (S1), and YES or NO is read from the answer storage unit 102 as an answer (S2). If this answer is NO (S3), the answer generation unit 103 determines that the answer is ANS.i, BANSi, AOverwrite with ANSi, BAnd ANSi, AAre made equal (S4). Each public key PK of the matching servers A and B from the public key storage unit 104A, PKBIs read out (S5), and the probabilistic homomorphic public key encryption unit 115 performs PKA, PKBANS using eachi, A, ANSi, BEncrypt Ui, A, Ui, BIs generated (S6).
[0016]
The one-way function calculation unit 106 (ANSi, A, Ri, A) And (ANSi, B, Ri, B) With a one-way functioni, A= H (ANSi, A, Ri, A) And hi, B= H (ANSi, B, Ri, B) Is generated (S7). U by the transmitter 107i, A, Ui, B, Hi, A, Hi, BIs transmitted to the public bulletin board apparatus 400 (S8). Hi, A, Hi, BIs used as a commitment to prevent nonrepudiation of answers.
As shown in FIG. 15, the second user device 200 (see FIG. 12) receives the U from the public bulletin board device 400 in the receiving unit 201.1, A, U2, A, ..., Un, A, U1, B, U2, B, ..., Un, BIs received (S1). TA, TBT in the generation unit 209A= U1, A× U2, A× ... × Un, A, TB= U1, B× U2, B× ... × Un, BIs generated (S2).
[0017]
Random number R in random number generator 203V(S3) and the public keys PK of the matching servers A and B from the public key storage unit 202A, PKBIs read (S4).
The public key PK is obtained by the probabilistic homomorphic public key cryptography unit 204.A, PKBUsing RVEncrypt SA, SBIs generated (S5). YES or NO is read from the answer storage unit 205 as an answer (S6). If the read answer is YES (S7), the answer generator 206A= SA× TA, VB= SB× TBIs generated (S8), and if the answer is NO, VA= SA, VB= SB(S9), the one-way function unit 207 is RVApply a one-way function to hV= H (RV) Is generated (S10). The transmitter 208 is hVTo the public bulletin board apparatus 400 as a commitment to prevent non-repudiation of the answer,ATo the device 300 of the matching server A, VBAre transmitted to the device 300 of the matching server B (S11).
[0018]
As shown in FIG. 10, the public bulletin board apparatus 400 is hVIs received (S1) and stored in the public storage unit 402 (S2).
As shown in FIG. 16, the matching server device 300 (see FIG. 13) operates as follows. In FIG. 16 and the following description, the matching server device 300 is described as being the device of the matching server A, but the other matching server device 300 is that of the matching server B, and the operation thereof is illustrated in FIG. 10 and the following description. It operates as if A in the content is all replaced with B. First, the receiving unit 301 uses VAIs received (S1). Private key SK of own device from secret key storage unit 302A(S2), and the probabilistic homomorphic public key encryption / decryption unit 303 performs VADecrypts FAIs obtained (S3). F at the transmission unit 304AIs transmitted to the public bulletin board apparatus 400 (S4).
[0019]
As shown in FIG. 10, the public bulletin board device 400 has two Fs from the matching server device 300.A, FBAre received by the receiving unit 401. Next, to the public storage unit 402 that can be referred to from other devices.A, FBAccumulate.
Also in this case, as in the first embodiment, FAAnd FBAre different, it is determined that at least one of the responses from the devices 100 of the users u1,... Un is YES and the response of the second user device 200 is YES.AAnd FBIf they match, it is determined that the other case has occurred. VA, VBIf the answer of the second user device 200 is YES, the following equation is obtained from the property of the homomorphic encryption.
[0020]
Figure 0003619486
From both of these formulas, if the answer of the second user device 200 is YES, if at least one of the responses of each device 100 of the first user u1, u2,.A≠ FBIf all of the responses from the first user device 100 are NO, FA= FBIt becomes.
[0021]
On the other hand, even if YES is included in the answer from the first user device 100, if the answer of the second user device 200 is NO, VA= SA, VB= SBNext FA= FBIt becomes. Therefore, the above judgment is correct.
In both the first embodiment and the second embodiment, FA, FBF that decrypted by each device 300 of matching servers A and B without publishingA, FBMay be compared without using the one-to-one matching described in the section of the prior art. For example, the F decrypted by the matching server device 300AUsing the Obvious Evaluation of Polynomial technique, the device 300 of the matching server A knows only the polynomial PBAbout PB(FA) Without being known to the matching server B, and similarly, the device 300 of the matching server BA(FB) And both matching server devices 300 each have PA(FA) + PB(FA), PB(FB) + PA(FB) And comparing them, and if they are different from each other,A≠ FBCan be determined.
Third embodiment
Next, an example in which the electronic matching method of the present invention is applied to electronic commerce will be described. It is assumed that there are n sellers (u1,..., un) and one buyer (v), and any one of 1 to 5 yen is answered as the selling price / buying price. ElGamal encryption is used as the homomorphic probability encryption, and the prime numbers p and Z* pIs a system parameter common to the system.
[0022]
The secret key of matching server device A is xA(∈Zp-1) YA(= GxA  mod p), and similarly, the matching server device B's private key is xB(∈Zp-1) YB(= GxB  mod p). The priority order of buyers when established is u1, u2,. If there is a possibility that it will be established at multiple prices, the purchase price will be given priority.
(1) Register desired price
Each seller device ui is ANS as followsi, A, ANSi, BPrepare.
[0023]
Figure 0003619486
However, ANSi, x, x∈ZpIt is.
For example, if the desired selling price of the seller device ui is “3 yen or more”, the ANSi, AAnd ANSi, BAre set as shown in FIG. In other words, ANSi, j, A, ANSi, j, B(J = 1, 2,..., 5) corresponding to each price, ANS more than the desired selling pricei, j, AAnd ANSi, j, BAre different from each other, that is, the answer is YES, and the ANS is smaller than the desired selling price.i, j, AAnd ANSi, j, BAre equal to each other, that is, the answer is NO.
[0024]
ui is a random number group R such asi, A, Ri, BIs generated.
Figure 0003619486
Is published as a commitment. ANSi, AAnd Ri, ATo the matching server device A, ANSi, BAAnd Ri, BIs transmitted to the matching server device B so as not to be known to others.
(2) Sell price bundle
Matching server device A is ANS1, A, ANS2, A, ..., ANSn, AReceive.
[0025]
Figure 0003619486
h1, A, H2, A, ..., h5, AIs encrypted with its own public key and random number ra.j, A(J = 1,..., 5) is obtained.
[0026]
Tj, A= (Yra Ahj, A  mod p, gramod p)
For j = 1, ..., 5
Tj, ATo the user device v.
Similarly, the matching server device B is an ANS.1, B, ANS2, B, ..., ANSn, BH1, B, H2, B, ..., h5, BAre calculated using the public key of the device and the random number rb, and Tj, B(J = 1,..., 5) is obtained.
Tj, B= (Yrb B  hj, B  mod p, grb  mod p)
For j = 1, ..., 5,
Tj, BTo the user device v.
(3) Desired bid price registration
User device v is T1, A, T2, A, ..., T5, A, T1, B, T2, B, ..., T5, BRandom number R1, v, R2, v, ..., R5, v(∈Zp) Is generated. Rj, vDevice A's public key and random number rA, vEncrypt each with Sj, AGet. Similarly, Rj, vDevice B's public key and random number rB, vEncrypt each with Sj, BGet.
[0027]
Figure 0003619486
Device v is a random number Rj, V(J = 1,..., 5) and h (Rj, v, Rj, v) As a commitment. Depending on the magnitude relationship between each j and the desired bid price, Vj, A, Vj, BCalculate
[0028]
Figure 0003619486
V for j = 1, ..., 5j, ATo device A, Vj, BTo device B.
(4) Comparison of trading value
Device A is (Vj, A) And W1, A, W2, A, ..., W5, AGet. Similarly, device B is (Vj, B) And W1, B, W2, B, ..., W5, BGet. Let j = 1. A and B are Wj, A, Wj, BPublish. If Wj, A≠ Wj, BIf so, go to (5), otherwise set j ← j + 1 and repeat the same process. W for all jj, A= Wj, BIf this is the case, this transaction is terminated with a “not established” result.
(5) Specify ui
Takes over the value of j from the process of (4) and executes the following. i = 1. Devices A and B are ANSi, j, AAnd ANSi, j, BPublish each. If ANSi, j, A≠ ANSi, j, BIf so, the device ui is the winner, and the transaction ends with “successful” as a result. Otherwise, i ← i + 1, and the same process is repeated.
[0029]
According to this method, safety is ensured as follows.
(A) Confidentiality of user registration information
If the match is “not established” (FA= FB) If so, what the third party wants to get is in what situation it was “not established”. Information obtained by a third party is h (ANSi, A, Ri, A), H (ANSi, B, Ri, B), TA, TB, H (RV, RV′), VA, VB, WA, WBIt is.
h (ANSi, A, Ri, A), H (ANSi, B, Ri, B) To ANSi, A, ANSi, BIs based on the unidirectionality of the function h.
[0030]
TA, TBIs the result of encryption using probability encryption,A= TBNana TA≠ TBI can't tell if it is.
VA, VBSince these are ciphertexts using probabilistic encryption, these are TA, TBI don't know if it contains.
(B) Fairness
Can each user get answers registered by other users?
Similar to (A), other users' answers cannot be obtained from the published information. However, it is assumed that the matching servers A and B do not collide with each other, and the matching servers A and B do not collide with the same user.
[0031]
From the above, the user cannot obtain another user's answer before registering his answer.
(C) Non-repudiation
The first user is u (ANSi, A, Ri, A), H (ANSi, B, Ri, B), The second user v is h (RV, RV′) Is published as a commitment, and in order to deny it, it is necessary to find the collision of the function h.
In the above, it is possible to buy at the lowest price, but the first user device u1,. . In this case, the first user device ui has its desired bid price b (1<b<m: m is the highest price in the price list (5 yen in the above example)<In b, ANSi, j, A≠ ANSi, j, B, J> b, ANSi, j, A= ANSi, j, B(J = 1,..., M, i = 1,..., N), and the second user device v receives the desired selling price s (1<s<m) for j <sj, A= Sj, A, Vj, B= Sj, BAnd j>s for Vj, A= Tj, A× Sj, A, Vj, B= Tj, B× Sj, BAnd the value of j is sequentially decreased from j = m in the sale price comparison, and Fj, A≠ Fj, BFind j that becomes
[0032]
2, 3, 11, and 12 cause a computer to execute an electronic matching user device program that executes the processing methods illustrated in FIGS. 6, 7, 14, and 15, respectively, by a computer. May function. In this case, the electronic matching user device program may be installed in the computer from a recording medium such as a CD-ROM or a flexible magnetic disk, or downloaded through a communication line and executed. Similarly, the matching server apparatus shown in FIG. 4 may be caused to function by executing a matching server apparatus program that executes the method shown in FIGS. 8 and 9 by a computer.
[0033]
【The invention's effect】
As described above, according to the present invention, the following effects can be obtained by mediating two matching server devices.
The first effect of the present invention is that it is possible to determine a trading partner more efficiently and safely in a commercial transaction place.
The reason is that in general commercial transactions, one-to-many or many-to-many price negotiations are common. In the one-to-one matching so far, enormous processing such as repeating this for the number of people has been repeated. On the other hand, in the present invention, matching is realized between one-to-many people, and if there is no one that matches the answer, it is possible to perform matching while protecting each user's answer. It is to have realized without dropping.
[Brief description of the drawings]
FIG. 1 is a diagram showing a system configuration example to which the method of the present invention is applied.
FIG. 2 is a diagram illustrating a functional configuration example of a first user device 100 according to the first embodiment.
FIG. 3 is a diagram illustrating a functional configuration example of a second user apparatus 200 according to the first embodiment.
FIG. 4 is a diagram illustrating a functional configuration example of a matching server device 300 according to the first embodiment.
FIG. 5 is a diagram illustrating a functional configuration example of a public bulletin board apparatus 400 according to the first embodiment.
FIG. 6 is a flowchart showing an example of a processing procedure of the first user apparatus 100 in the first embodiment.
FIG. 7 is a flowchart showing an example of a processing procedure of the second user apparatus 200 according to the first embodiment.
FIG. 8 is a flowchart showing a part of an example of a processing procedure of the matching server device 300 according to the first embodiment.
FIG. 9 is a flowchart showing the remaining part of the processing procedure shown in FIG. 8;
FIG. 10 is a flowchart showing an example of a processing procedure of the public bulletin board apparatus 400 in the first embodiment.
FIG. 11 is a diagram illustrating a functional configuration example of a first user device 100 according to the second embodiment.
FIG. 12 is a diagram illustrating a functional configuration example of a second user apparatus 200 according to the second embodiment.
FIG. 13 is a diagram illustrating a functional configuration example of a matching server device 300 according to the second embodiment.
FIG. 14 is a flowchart showing an example of a processing procedure of the first user apparatus 100 according to the second embodiment.
FIG. 15 is a flowchart illustrating an example of a processing procedure of the second user apparatus 200 according to the second embodiment.
FIG. 16 is a flowchart showing a part of an example of a processing procedure of the matching server device 300 according to the second embodiment.
FIG. 17 is a diagram showing an example of desired selling price registration of the first user device ui.

Claims (12)

複数の第一ユーザ装置u1,u2,…,unと、これらと区別が可能な1つの第二ユーザ装置vと、2つのマッチングサーバ装置A,Bと、公開掲示板装置なる誰もが参照可能な領域とを備え、
各第一ユーザ装置ui(i=1,2,…,n)はその装置uiの答えがYESならば相異なり、NOならば同じ値である乱数ANSi,A とANSi,B を生成し、これらANSi,A ,ANSi,B をマッチングサーバ装置Aの各公開鍵PKA ,PKB でそれぞれ暗号化してUi,A ,Ui,B を作成し、そのUi,A をマッチングサーバ装置Aへ、Ui,B をマッチングサーバ装置Bへ送り、
さらに相異なる乱数Ri,A ,Ri,B を生成し、(ANSi,A,Ri,A),(ANSi,B,Ri,B)に、それぞれ一方向性関数を施してhi,A =h(ANSi,A ,Ri,A )とhi,B =h(ANSi,B ,Ri,B )を生成し、これらhi,A ,hi,B を答えの否認防止のためのコミットメントとして公開掲示板装置にて公開し、
マッチングサーバ装置Aは各第一ユーザ装置uiから受信した各Ui,Aを秘密鍵SKAで復号してANSi,Aを求め、これら(ANS1,A,…,ANSn,A)に一方向性関数を施してhA =h(ANS1,A ,ANS2,A ,…,ANSn,A )を計算し、これをマッチングサーバ装置Aの公開鍵を用いて確率的準同型公開鍵暗号にて暗号化してTA を求め、これを第二ユーザ装置vに送り、
マッチングサーバ装置Bは各ユーザ装置uiから受信した各Ui,Bを秘密鍵SKBで復号してANSi,Bを求め、これら(ANS1,B,…,ANSn,B)に一方向性関数を施してhB =h(ANS1,B ,ANS2,B ,…,ANSn,B )を計算し、これをマッチングサーバ装置Bの公開鍵を用いて確率的準同型公開鍵暗号にて暗号化してTB を作り、これを第二ユーザ装置vに送り、
第二ユーザ装置vは乱数Rv を生成し、Rv をマッチングサーバ装置Aの公開鍵、マッチングサーバ装置Bの公開鍵をそれぞれ用いて確率的準同型公開鍵暗号にて各々暗号化してSA ,SB を作り、その装置vの答えがYESならばVA =TA ×SA ,VB =TB ×SB を演算し、NOならばVA =SA ,VB =SB とし、VA をマッチングサーバ装置Aに、VB をマッチングサーバ装置Bに送り、さらにRvに一方向性関数を施してhv=h(Rv)を計算し、このhvを答えの否認防止のためのコミットメントとして公開掲示板装置にて公開し、
マッチングサーバ装置AはVA をマッチングサーバ装置BはB を各々その秘密鍵で復号して、各々FA ,FB を作り、これらを公開掲示板装置にて公開し、
これらFAとFB が相異なれば第一ユーザ装置u1,…,unの答えに少くなくとも1つYESがあり、かつ第二ユーザ装置vの答えがYESであり、これらが一致すればそれ以外であると判断することを特徴とする電子マッチング方法。
A plurality of first user devices u1, u2,..., One second user device v that can be distinguished from these, two matching server devices A and B, and any public bulletin board device can be referred to. With areas,
Each first user device ui (i = 1, 2,..., N) generates random numbers ANS i, A and ANS i, B that are different if the answer of the device ui is YES, and if NO, is the same value. these ANS i, a, ANS i, each public key B to matching server device a PK a, and encrypts each with PK B U i, a, U i, to create a B, matching the U i, a Send U i, B to matching server device B to server device A,
Furthermore, different random numbers R i, A , R i, B are generated, and a one-way function is applied to (ANS i, A , R i, A ), (ANS i, B , R i, B ), respectively. h i, A = h (ANS i, A , R i, A ) and h i, B = h (ANS i, B , R i, B ) are generated, and these h i, A , h i, B are generated. Published on the bulletin board device as a commitment to prevent denial of answers,
The matching server device A decrypts each U i, A received from each first user device ui with the secret key SK A to obtain ANS i, A and determines them (ANS 1, A ,..., ANS n, A ). A one-way function is applied to calculate h A = h (ANS 1, A , ANS 2, A ,..., ANS n, A ), and this is used for probabilistic homomorphic disclosure using the public key of the matching server device A seeking T a and encrypted by key encryption and sends it to the second user device v,
The matching server device B decrypts each U i, B received from each user device ui with the secret key SK B to obtain ANS i, B and makes one direction to these (ANS 1, B ,..., ANS n, B ). H B = h (ANS 1, B , ANS 2, B ,..., ANS n, B ) is calculated by applying a sex function, and this is used for the probabilistic homomorphic public key cryptography using the public key of the matching server device B make T B by encrypting at sends it to the second user device v,
Second user device v generates a random number R v, the public key of R v a matching server device A, and each encrypted by the matching server device, respectively used in stochastic homomorphic public key encryption public key of B S A , S B, and if the answer of the device v is YES, V A = T A × S A , V B = T B × S B is calculated, and if NO, V A = S A , V B = S B and then, the V a matching server device a, sends V B to matching server device B, to calculate the h v = h (R v) further subjected to one-way function to the R v, answer the h v Published on the bulletin board device as a commitment to prevent non-repudiation,
The matching server device A decrypts V A and the matching server device B decrypts V B with the secret key, respectively, creates F A and F B , and publishes them on the public bulletin board device,
These F A and F B is first user equipment Different phases u1, ..., even without less to answer un has one YES, and is the answer of the second user device v is YES, it if they match An electronic matching method characterized in that it is determined to be other than the above.
複数の第一ユーザ装置u1,u2,…,unと、これらと区別が可能な1つの第二ユーザ装置vと、2つのマッチングサーバ装置A,Bと、公開掲示板装置なる誰もが参照可能な領域とを備え、
第一ユーザ装置ui(i=1,…,n)はその答えがYESならば相異なる値の、NOならば同じ値の乱数ANSi,A とANSi,B を生成し、
マッチングサーバ装置A,Bの各公開鍵PKA ,PKB を用いて確率的準同型公開鍵暗号により乱数ANSi,A ,ANSi,B をそれぞれ暗号化してUi,A ,Ui,B を生成し、
これらUi,A ,Ui,B を公開掲示板装置へ送信して公開し、
相異なる乱数Ri,A ,Ri,B を生成し、
(ANSi,A ,Ri,A )と(ANSi,B ,Ri,B )にそれぞれ一方向性関数を施してhi,A =h(ANSi,A ,Ri,A )とhi,B =h(ANSi,B ,Ri,B )を生成し、
これらhi,A ,hi,B を答えの否認防止のためのコミットメントとして公開掲示板装置へ送信して公開し、
第二ユーザ装置vは公開掲示板装置からU1,A ,…,Un,A ,U1,B ,…,Un,B を取得し、
A =U1,A ×U2,A ×…×Un,A ,TB =U1,B ×U2,B ×…×Un,B を演算し、
乱数Rv を生成し、
公開鍵PKA ,PKB を用いてRv を確率的準同型公開鍵暗号により暗号化してSA ,SB を生成し、
第二ユーザ装置vの答えがYESであればVA =TA ×SA ,VB =TB ×SB を演算し、答えがNOであればVA =SA ,VB =SB とし、
A をマッチングサーバ装置Aへ、VB をマッチングサーバ装置Bへそれぞれ送信し、
v に一方向性関数を施してhv =h( v )を生成し、
v を答えの否認防止のためのコミットメントとして公開掲示板装置へ送信して公開し、
マッチングサーバ装置Aは受信したVA を秘密鍵SKA で復号してFA を生成し、このFA を公開掲示板装置へ送信し、
マッチングサーバ装置Bは受信したVB を秘密鍵SKB で復号してFB を生成し、このFB を公開掲示板装置へ送信し、
A とFB が異なれば第一ユーザ装置u1,…,unの答えの少くなくとも1つはYESであり、かつ第二ユーザ装置vの答えがYESであり、FA とFB が一致すれば、それ以外であると判断することを特徴とする電子マッチング方法。
A plurality of first user devices u1, u2,..., One second user device v that can be distinguished from these, two matching server devices A and B, and any public bulletin board device can be referred to. With areas,
The first user device ui (i = 1,..., N) generates random numbers ANS i, A and ANS i, B having different values if the answer is YES, and the same value if NO.
The random numbers ANS i, A and ANS i, B are encrypted by probabilistic homomorphic public key encryption using the public keys PK A and PK B of the matching server devices A and B, respectively, and U i, A , U i, B Produces
Send these U i, A , U i, B to the public bulletin board device and publish them,
Generate different random numbers R i, A , R i, B ,
(ANS i, A , R i, A ) and (ANS i, B , R i, B ) are respectively subjected to a one-way function to obtain h i, A = h (ANS i, A , R i, A ) and h i, B = h (ANS i, B , R i, B )
These h i, A , h i, B are sent to the public bulletin board device as a commitment to prevent the repudiation of answers, and are released.
Second user device v is U 1 from the public bulletin board system, A, ..., U n, A, U 1, B, ..., acquires U n, B,
T A = U 1, A × U 2, A × ... × U n, A , T B = U 1, B × U 2, B × ... × U n, B
Generate a random number R v
Public key PK A, and encrypted by stochastic homomorphic public key encryption and R v using PK B S A, generates a S B,
If the answer of the second user device v is YES V A = T A × S A, calculates the V B = T B × S B , If the answer is NO V A = S A, V B = S B age,
V A is sent to matching server device A and V B is sent to matching server device B.
Applying a one-way function to R v , h v = h ( R v )
h v is sent to the public bulletin board device as a commitment to prevent non-repudiation of the answer,
The matching server device A decrypts the V A received a secret key SK A to generate F A, sends this F A to public bulletin board system,
Matching server device B decrypts the V B received the secret key SK B to generate F B, sends this F B to public bulletin board system,
F A and F B are different if the first user device u1, ..., one even without least answer un is YES, and and the answer of the second user device v is YES, the match F A and F B If so, an electronic matching method characterized in that it is determined to be other than that.
自装置の答えがYESならば相異なる値の、NOならば同じ値の乱数ANSi,A とANSi,B を生成し、
これら乱数ANSi,A ,ANSi,B を、それぞれマッチングサーバ装置A,Bへ、ANSi,A ,ANSi,B を第三者に漏らすことなく秘密送信し、
相異なる乱数Ri,A ,Ri,B を生成し、
(ANSi,A ,Ri,A )と(ANSi,B ,Ri,B )にそれぞれ一方向性関数を施してhi,A =h(ANSi,A ,Ri,A )とhi,B =h(ANSi,B ,Ri,B )を生成し、これらhi,A ,hi,B を答えの否認防止のためのコミットメントとして公開掲示板装置へ送信して公開することを特徴とする電子マッチングユーザ装置の処理方法。
Generate random numbers ANS i, A and ANS i, B of different values if the answer of the device is YES, or the same value if NO,
These random numbers ANS i, A and ANS i, B are sent to the matching server devices A and B in secret without leaking the ANS i, A and ANS i, B to a third party,
Generate different random numbers R i, A , R i, B ,
(ANS i, A , R i, A ) and (ANS i, B , R i, B ) are respectively subjected to a one-way function to obtain h i, A = h (ANS i, A , R i, A ) and h i, B = h (ANS i, B , R i, B ) is generated, and these h i, A , h i, B are transmitted to the public bulletin board apparatus as a commitment for preventing the denial of the answer and published. The processing method of the electronic matching user apparatus characterized by the above-mentioned.
第一ユーザ装置u1,…,unから暗号文U1,A,…,Un,Aをそれぞれ受信し、
これら暗号文U1,A,…,Un,Aをそれぞれ復号してANS1,A ,…,ANSn,A を求め、
これらに対し一括して一方向性関数を施してhA =h(ANS1,A ,…,ANSn,A )を生成し、
A を自装置の公開鍵を用いて確率的準同型公開鍵暗号により暗号化してTA を生成し、
A を第二ユーザ装置へ送信し、
第二ユーザ装置から暗号文VA を受信し、
そのVA を、自装置の秘密鍵を用いて確率的準同型公開鍵暗号により復号し、その復号結果FA を公開掲示板装置へ送信して公開することを特徴とする電子マッチングのマッチングサーバ装置の処理方法。
The first user device u1, ..., ciphertext from un U 1, A, ..., received U n, A, respectively,
These ciphertext U 1, A, ..., U n, decodes each A ANS 1, A, ..., determine the ANS n, A,
These are collectively subjected to a one-way function to generate h A = h (ANS 1, A ,..., ANS n, A ),
h A is encrypted by probabilistic homomorphic public key cryptography using its own public key to generate T A ,
T A is sent to the second user device,
Receiving the ciphertext V A from the second user device,
The matching server device for electronic matching, characterized in that the V A is decrypted by probabilistic homomorphic public key encryption using the private key of the device itself, and the decrypted result F A is transmitted to the public bulletin board device for publication. Processing method.
マッチングサーバ装置A,Bから確率的準同型公開鍵暗号により暗号化された暗号文TA ,TB をそれぞれ受信し、
乱数Rv を生成し、
マッチングサーバ装置A,Bの公開鍵PKA ,PKB をそれぞれ用いて確率的準同型公開鍵暗号にて暗号化してSA ,SB を生成し、
v に対し一方向性関数を施してhv =h(Rv )を生成し、
そのhv を公開掲示板装置へ送信して公開し、
自装置の答えがYESであればVA =TA ×SA ,VB =TB ×SB を演算し、答えがNOであればVA =SA ,VB =SB とし、
A とVB をそれぞれマッチングサーバ装置A,Bへ送信することを特徴とする電子マッチングユーザ装置の処理方法。
Ciphertexts T A and T B encrypted by probabilistic homomorphic public key cryptography are received from matching server devices A and B , respectively.
Generate a random number R v
S A and S B are generated by encrypting with the probabilistic homomorphic public key encryption using the public keys PK A and PK B of the matching server devices A and B, respectively.
By performing a one-way function to the R v generate a h v = h (R v) ,
Send the h v to the public bulletin board device and publish it,
If the answer of the device itself is YES calculates the V A = T A × S A , V B = T B × S B, and V A = S A, V B = S B If the answer is NO,
A processing method for an electronic matching user device, wherein V A and V B are transmitted to matching server devices A and B, respectively.
自装置の答えがYESならば相異なる値の、NOならば同じ値の乱数ANSi,A とANSi,B を生成し、
マッチングサーバ装置A,Bの各公開鍵PKA ,PKB を用いて確率的準同型公開鍵暗号によりANSi,A ,ANSi,B をそれぞれ暗号化してUi,A ,Ui,B を生成し、
これらUi,A ,Ui,B を公開掲示板装置へ送信して公開し、
相異なる乱数Ri,A ,Ri,B を生成し、
(ANSi,A ,Ri,A )と(ANSi,B ,Ri,B )にそれぞれ一方向性関数を施してhi,A =h(ANSi,A ,Ri,A )とhi,B =h(ANSi,B ,Ri,B )を生成し、
これらhi,A ,hi,B を答えの否認防止のためのコミットメントとして公開掲示板装置へ送信して公開することを特徴とする電子マッチングユーザ装置の処理方法。
Generate random numbers ANS i, A and ANS i, B of different values if the answer of the device is YES, or the same value if NO,
Using the public keys PK A and PK B of the matching server devices A and B, ANS i, A and ANS i, B are respectively encrypted by probabilistic homomorphic public key cryptography to obtain U i, A , U i, B. Generate
Send these U i, A , U i, B to the public bulletin board device and publish them,
Generate different random numbers R i, A , R i, B ,
(ANS i, A , R i, A ) and (ANS i, B , R i, B ) are respectively subjected to a one-way function to obtain h i, A = h (ANS i, A , R i, A ) and h i, B = h (ANS i, B , R i, B )
A processing method of an electronic matching user device, wherein h i, A , h i, B are transmitted to a public bulletin board device as a commitment for preventing rejection of an answer and are made public.
公開掲示板装置から、確率的準同型公開鍵暗号により暗号化された暗号文U1,A,…,Un,A,U1,B,…,Un,Bを取得し、
A =U1,A×U2,A ×…×Un,A ,TB =U1,B×U2,B×…×Un,Bを演算し、
乱数Rv を生成し、
公開鍵PKA ,PKB を用いてRv を確率的準同型公開鍵暗号により暗号化してSA ,SB を生成し、
自装置vの答えがYESであればVA =TA ×SA ,VB =TB ×SB を、NOであればVA =SA ,VB =SB を生成し、
A をマッチングサーバ装置Aへ、VB をマッチングサーバ装置Bへそれぞれ送信し、
v に一方向性関数を施してhv =h(Rv )を生成し、
v を答えの否認防止のためのコミットメントとして公開掲示板装置へ送信して公開することを特徴とする電子マッチングユーザ装置の処理方法。
Obtain ciphertexts U 1, A ,..., U n, A , U 1, B ,..., U n, B encrypted by probabilistic homomorphic public key cryptography from the public bulletin board apparatus,
T A = U 1, A × U 2, A × ... × U n, A , T B = U 1, B × U 2, B × ... × U n, B
Generate a random number R v
Public key PK A, and encrypted by stochastic homomorphic public key encryption and R v using PK B S A, generates a S B,
If the answer of the device itself v is a YES V A = T A × S A, the V B = T B × S B , to generate the V A = S A, V B = S B if NO, the
V A is sent to matching server device A and V B is sent to matching server device B.
By applying a one-way function in R v generate a h v = h (R v) ,
A processing method for an electronic matching user device, wherein h v is transmitted to a public bulletin board device as a commitment for preventing nonrepudiation of an answer and made public.
請求項3、5〜7の何れかに記載の方法をコンピュータに実行させるための電子マッチングユーザ装置プログラム。The electronic matching user apparatus program for making a computer perform the method in any one of Claim 3, 5-7 . 請求項記載の方法をコンピュータに実行させるための電子マッチングのマッチングサーバ装置プログラム。An electronic matching server program for causing a computer to execute the method according to claim 4 . 請求項又はに記載のプログラムを記録したコンピュータ読み出し可能な記録媒体。A computer-readable recording medium in which the program according to claim 8 or 9 is recorded. 複数の第一ユーザ装置u1,u2,…,unの各装置ui(i=1,…,n)は、価格リスト中のm個の価格のそれぞれと対応した乱数列ANSi,A={ANSi,1,A,…,ANSi,m,A}ANSi,B ={ANSi,1,B ,…,ANSi,m,B }を、希望売値s(1m)以上の価格に対してANSi,j,A ≠ANSi,j,B(sm)とし、sより小さい価格に対してANSi,j,A =ANSi,j,B(1j<s)として生成し、
ANSi,A をマッチングサーバ装置Aへ、ANSi,Bをマッチングサーバ装置Bへそれぞれ、これら乱数列を第三者に漏らすことなく安全に送信し、
マッチングサーバ装置Aは受信したn個の乱数列ANSi,Aを各同一価格のもののm個の乱数列ANSj,A ={ANS1,j,A,ANS2,j,A,…,ANSn,j,A}に並びかえ、
これらm個の乱数列のそれぞれに対し一方向性関数を施してhj,A =h(ANSj,A)を生成し、
各hj,A を自装置の公開鍵PKAで確率的準同型暗号により暗号化してTj,Aを生成し、
そのTj,Aをひとつの第二ユーザ装置へ送信し、
マッチングサーバ装置Bは受信したn個の乱数列ANSi,Bを各同一価格のもののm個の乱数列ANSj,B={ANS1,j,B,ANS2,j,B,…,ANSn,j,B}に並びかえ、
これらm個の乱数列のそれぞれに対し、一方向性関数を施してhj,B=h(ANSj,B)を生成し、
各hj,Bを自装置の公開鍵PKBで確率的準同型暗号により暗号化してTj,Bを生成し、
そのTj,Bを第二ユーザ装置へ送信し、
第二ユーザ装置はm個の乱数Rj,vを生成し、
マッチングサーバ装置A、Bの各公開鍵PKA、PKBでRj,vをそれぞれ暗号化してSj ,A,Sj,Bを生成し、
希望買値b(1m)以下の価格j(jb)に対し、Vj,A=Tj,A×Sj,A,Vj,B=Tj,B×Sj,Bを生成し、bより大きい価格j(j>b)に対してVj,A=Sj,A、Vj,B=Sj,Bを生成し、
j,Aをマッチングサーバ装置Aへ、Vj,Bをマッチングサーバ装置Bへそれぞれ送信し、
マッチングサーバ装置Aは受信したm個のVj,Aを自装置の秘密鍵で復号してm個のFj,Aを得、
マッチングサーバ装置Bは受信したm個のVj,Bを自装置の秘密鍵で復号してm個のFj,Bを得、
マッチングサーバ装置A及びBはj=1から順にFj,A、Fj,Bをそれぞれ順次公開し、Fj,A≠Fj,Bとなると、マッチングサーバ装置A及びBはそのjに対するANSi,j,A、ANSi,j,Bをそれぞれiについて予め決めた順に公開し、ANSi,j,A≠ANSi,j,Bとなったらそのiの第一ユーザ装置を勝者とする
ことを特徴とする電子マッチング方法。
Each device ui (i = 1,..., N) of the plurality of first user devices u1, u2,..., Un is a random number sequence ANS i, A = {ANS corresponding to each of the m prices in the price list. i, 1, A ,..., ANS i, m, A } ANS i, B = {ANS i, 1, B ,..., ANS i, m, B } is greater than or equal to the desired selling price s (1 < s < m). ANS i, j, A ≠ ANS i, j, B (s < j < m) and ANS i, j, A = ANS i, j, B (1 < j <s),
ANS i, A is sent to matching server device A, and ANS i, B is sent to matching server device B.
The matching server device A converts the received n random number sequences ANS i, A into m random number sequences ANS j, A = {ANS 1, j, A , ANS 2, j, A ,. n, j, A }
A one-way function is applied to each of these m random number sequences to generate h j, A = h (ANS j, A ),
Each h j, encrypted by stochastic homomorphic encryption with the public key PK A of the apparatus the A T j, generates A,
Send that T j, A to one second user device,
The matching server apparatus B converts the received n random number sequences ANS i, B into m random number sequences ANS j, B = {ANS 1, j, B , ANS 2, j, B ,. n, j, B }
Each of these m random number sequences is subjected to a one-way function to generate h j, B = h (ANS j, B ),
T j, B is generated by encrypting each h j, B with the public key PK B of its own device by probabilistic homomorphic encryption,
Send the T j, B to the second user device,
The second user device generates m random numbers R j, v ,
S j , A , S j, B are generated by encrypting R j, v with the public keys PK A , PK B of the matching server devices A, B,
V j, A = T j, A × S j, A , V j, B = T j, B × S j, for price j (j < b) less than desired bid price b (1 < b < m) B , V j, A = S j, A , V j, B = S j, B for a price j (j> b) greater than b,
V j, A is sent to matching server device A, V j, B is sent to matching server device B,
The matching server device A decrypts the received m V j, A with its own secret key to obtain m F j, A ,
The matching server device B decrypts the received m V j, B with its own secret key to obtain m F j, B ,
The matching server devices A and B sequentially release F j, A and F j, B in order from j = 1 , and when F j, A ≠ F j, B , the matching server devices A and B are ANS for that j. i, j, A and ANS i, j, B are released in the order determined in advance for i, and if ANS i, j, A ≠ ANS i, j, B , the first user device of i is the winner An electronic matching method characterized by that.
複数の第一ユーザ装置u1,u2,…,unの各装置ui(i=1,…,n)は、価格リスト中のm個の価格のそれぞれと対応した乱数列ANSi,A={ANSi,1,A,…,ANSi,m,A}ANSi,B ={ANSi,1,B ,…,ANSi,m,B }を、希望買値b(1m)以下の価格に対してANSi,j,A ≠ANSi,j,B(b1)とし、bより大きい価格に対してANSi,j,A =ANSi,j,B(b<jm)として生成し、
ANSi,A をマッチングサーバ装置Aへ、ANSi,Bをマッチングサーバ装置Bへそれぞれ、これら乱数列を第三者に漏らすことなく安全に送信し、
マッチングサーバ装置Aは受信したn個の乱数列ANSi,Aを各同一価格のもののm個の乱数列ANSj,A ={ANS1,j,A,ANS2,j,A,…,ANSn,j,A}に並びかえ、
これらm個の乱数列のそれぞれに対し一方向性関数を施してhj,A =h(ANSj,A)を生成し、
各hj,A を自装置の公開鍵PKAで確率的準同型暗号により暗号化してTj,Aを生成し、
そのTj,Aをひとつの第二ユーザ装置へ送信し、
マッチングサーバ装置Bは受信したn個の乱数列ANSi,Bを各同一価格のもののm個の乱数列ANSj,B={ANS1,j,B,ANS2,j,B,…,ANSn,j,B}に並びかえ、
これらm個の乱数列のそれぞれに対し、一方向性関数を施してhj,B=h(ANSj,B)を生成し、
各hj,Bを自装置の公開鍵PKBで確率的準同型暗号により暗号化してTj,Bを生成し、
そのTj,Bを第二ユーザ装置へ送信し、
第二ユーザ装置はm個の乱数Rj,vを生成し、
マッチングサーバ装置A、Bの各公開鍵PKA、PKBでRj,vをそれぞれ暗号化してSj,A,Sj,Bを生成し、
希望買値s(1m)以上の価格j(js)に対し、Vj,A=Tj,A×Sj,A,Vj,B=Tj,B×Sj,Bを生成し、sより小さい価格j(j<s)に対してVj,A=Sj,A、Vj,B=Sj,Bを生成し、
j,Aをマッチングサーバ装置Aへ、Vj,Bをマッチングサーバ装置Bへそれぞれ送信し、
マッチングサーバ装置Aは受信したm個のVj,Aを自装置の秘密鍵で復号してm個のFj,Aを得、
マッチングサーバ装置Bは受信したm個のVj,Bを自装置の秘密鍵で復号してm個のFj,Bを得、
マッチングサーバ装置A及びBはj=mから順にFj,A、Fj,Bをそれぞれ順次公開し、Fj,A≠Fj,Bとなると、マッチングサーバ装置A及びBはそのjに対するANSi,j,A、ANSi,j,Bをそれぞれiについて予め決めた順に公開し、ANSi,j,A≠ANSi,j,Bとなったらそのiの第一ユーザ装置を勝者とする
ことを特徴とする電子マッチング方法。
Each device ui (i = 1,..., N) of the plurality of first user devices u1, u2,..., Un is a random number sequence ANS i, A = {ANS corresponding to each of the m prices in the price list. i, 1, A ,..., ANS i, m, A } ANS i, B = {ANS i, 1, B ,..., ANS i, m, B } is less than or equal to the desired bid price b (1 < b < m). ANS i, j, A ≠ ANS i, j, B (b > j > 1) and ANS i, j, A = ANS i, j, B (b < j < m),
ANS i, A is sent to matching server device A, and ANS i, B is sent to matching server device B.
The matching server device A converts the received n random number sequences ANS i, A into m random number sequences ANS j, A = {ANS 1, j, A , ANS 2, j, A ,. n, j, A }
A one-way function is applied to each of these m random number sequences to generate h j, A = h (ANS j, A ),
Each h j, encrypted by stochastic homomorphic encryption with the public key PK A of the apparatus the A T j, generates A,
Send that T j, A to one second user device,
The matching server apparatus B converts the received n random number sequences ANS i, B into m random number sequences ANS j, B = {ANS 1, j, B , ANS 2, j, B ,. n, j, B }
Each of these m random number sequences is subjected to a one-way function to generate h j, B = h (ANS j, B ),
T j, B is generated by encrypting each h j, B with the public key PK B of its own device by probabilistic homomorphic encryption,
Send the T j, B to the second user device,
The second user device generates m random numbers R j, v ,
S j, A , S j, B are generated by encrypting R j, v with the public keys PK A , PK B of the matching server devices A, B,
V j, A = T j, A × S j, A , V j, B = T j, B × S j, for price j (j > s) greater than or equal to the desired bid price s (1 < s < m) B is generated, and V j, A = S j, A and V j, B = S j, B are generated for a price j (j <s) smaller than s,
V j, A is sent to matching server device A, V j, B is sent to matching server device B,
The matching server device A decrypts the received m V j, A with its own secret key to obtain m F j, A ,
The matching server device B decrypts the received m V j, B with its own secret key to obtain m F j, B ,
The matching server devices A and B sequentially release F j, A and F j, B in order from j = m , and when F j, A ≠ F j, B , the matching server devices A and B are ANS for that j. i, j, A and ANS i, j, B are released in the order determined in advance for i, and if ANS i, j, A ≠ ANS i, j, B , the first user device of i is the winner An electronic matching method characterized by that.
JP2001332186A 2001-10-30 2001-10-30 Electronic matching method, apparatus program thereof and recording medium thereof Expired - Fee Related JP3619486B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001332186A JP3619486B2 (en) 2001-10-30 2001-10-30 Electronic matching method, apparatus program thereof and recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001332186A JP3619486B2 (en) 2001-10-30 2001-10-30 Electronic matching method, apparatus program thereof and recording medium thereof

Publications (2)

Publication Number Publication Date
JP2003141380A JP2003141380A (en) 2003-05-16
JP3619486B2 true JP3619486B2 (en) 2005-02-09

Family

ID=19147638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001332186A Expired - Fee Related JP3619486B2 (en) 2001-10-30 2001-10-30 Electronic matching method, apparatus program thereof and recording medium thereof

Country Status (1)

Country Link
JP (1) JP3619486B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019072264A2 (en) * 2018-11-07 2019-04-18 Alibaba Group Holding Limited Blockchain data protection using homomorphic encryption

Also Published As

Publication number Publication date
JP2003141380A (en) 2003-05-16

Similar Documents

Publication Publication Date Title
CN110458554B (en) Identity-based data fast transaction method on blockchain
US6834272B1 (en) Privacy preserving negotiation and computation
US6202150B1 (en) Auto-escrowable and auto-certifiable cryptosystems
Omote et al. A practical English auction with one-time registration
JPH10301491A (en) Encryption communication method and system
CN103095453A (en) Public-key Encrypted Bloom Filters With Applications To Private Set Intersection
JPWO2020240771A5 (en)
Chen et al. ARMOR: A secure combinatorial auction for heterogeneous spectrum
JPWO2019186978A1 (en) Electronic trading system, trading server, verification server, electronic trading method and program
Li et al. Secure multi‐unit sealed first‐price auction mechanisms
JP3619486B2 (en) Electronic matching method, apparatus program thereof and recording medium thereof
JP3784055B2 (en) List matching method, network system, server and information terminal
Wang et al. Secure double auction protocols with full privacy protection
KR100441416B1 (en) The system of sharing customer data with security and the method of that
CN115720146A (en) Transaction method of block chain energy transaction system
JP4758110B2 (en) Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method
Singh et al. A secure web-based android chat application using the AES encryption algorithm
Hsu et al. Publicly Verifiable M+ 1st‐Price Auction Fit for IoT with Minimum Storage
Vangujar et al. Secure E-Auctions: A Blockchain-Based Cluster Consensus Identity-Based Identification Scheme
JP2009171384A (en) ENCRYPTION INFORMATION GENERATION DEVICE AND ITS PROGRAM, PRIVATE KEY GENERATION DEVICE AND ITS PROGRAM, CONTENT DECRYPTION DEVICE AND ITS PROGRAM
JP4298441B2 (en) Anonymous online service providing method and anonymous online service system
Tran et al. On Sealed-Bid Combinatorial Auction with Privacy-Preserving Dynamic Programming
JP2004220248A (en) Many-to-many matching system, market server, terminal device, and computer program
Dreier et al. Brandt’s fully private auction protocol revisited
JP2004062236A (en) Market server and many-to-many matching system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040910

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041112

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

Free format text: PAYMENT UNTIL: 20071119

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees