JP3619486B2 - Electronic matching method, apparatus program thereof and recording medium thereof - Google Patents
Electronic matching method, apparatus program thereof and recording medium thereof Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic 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しか知らない関数Pu と値xu ,vしか知らない関数Pv と値xv がある。先のOblivious Evaluation of Polynomial を用いて、各々相手にxu ,xv を知られることなく、uはPv (xu )を、vはPu (xv )を得、uはPu (xu )+Pv (xu )を公開し、vはPv (xv )+Pu (xu )を公開する。両者の秘密の値xu ,xv が等しいならば公開されたこれらも一致する。
【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 の全てと関連した成分を含む確率的準同型暗号文VA とANSi,B の全てと関連した成分を含む確率的準同型暗号文VB を、答えがNOであれば同一乱数に対する各確率的準同型暗号文VA ,VB を生成し、マッチングサーバ装置A,BはVA ,VB を復号する。
【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からPKA,PKBを読み出し(S5)、確率暗号演算部105はPKA,PKBで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からマッチングサーバの秘密鍵SKAを読み出し(S2)、確率的準同型公開鍵暗号復号部303にてU1,A,U2, A…,Un,Aを復号してANS1,A,ANS2,B,…ANSn,Aを得る(S3)。一方向性関数演算部304にて(ANS1,A,ANS2,A,…ANSn,A)に一方向性関数を施してhAを得る(S4)。公開鍵秘密鍵記憶部302から公開鍵PKAを読み出し(S5)、確率的準同型公開鍵暗号暗号部305にてhAをPKAで暗号化してTAを得る(S6)。送信部306にてTAを第二ユーザ装置200へ送信する(S7)。
【0010】
次に図7に示すように、第二ユーザ装置200(図3参照)は、受信部201にてマッチングサーバ装置300からTAを、もうひとつのマッチングサーバ装置300からTBをそれぞれ受信する(S1)。乱数生成部203にて乱数RVを生成し(S2)、公開鍵記憶部202からPKA,PKBを読み出す(S3)。確率的準同型公開鍵暗号暗号部204にてRVをPKA,PKBでそれぞれ暗号化してSA,SBを得る(S4)。回答記憶部205より回答としてYESまたはNOを読み出す(S5)。回答生成部206は、読み出した回答がYESならば(S6)、VA=SA×TA,VB=SB×TBとしてそれぞれ生成し(S7)、回答がNOならばVA=SA,VB=SBとし(S8)、一方向性関数演算部207はRVに一方向性関数を施してhVを作成する(S9)。送信部208はhVを公開掲示板装置400へ、VAをマッチングサーバ装置300へ、VBをもうひとつのマッチングサーバ装置300にそれぞれ送信する(S9)。
【0011】
図10に示すように、公開掲示板装置400は受信部401にてhVを受信し(S1)、公開記憶部402へ蓄積する(S2)。
次に図9に示すように、マッチングサーバ装置300は動作する。なお図9及び以下の説明ではマッチングサーバ装置300はマッチングサーバAであるものとして記述するが、もうひとつのマッチングサーバ装置300はマッチングサーバBとなり、その動作は図9および以下の説明内容中のAを全てBに置き換えたものとして動作する。まず受信部301にてVAを受信する(S1)。公開鍵秘密鍵記憶部302からマッチングサーバAの秘密鍵SKAを読み出し(S2)、確率的準同型公開鍵暗号復号部303にてVAをSKAで復号してFAを得る(S3)。送信部306にてFAを公開掲示板装置400へ送信する(S4)。
【0012】
次に図10に示すように、公開掲示板装置400は動作し、まず2つのマッチングサーバ装置300よりFA,FBをそれぞれ受信部401にて受信し、次に他の装置からも参照可能な公開記憶部402へFA,FBを蓄積する。
確率的準同型暗号はE(a・b)=E(a)・E(b)となる性質がある。従って、第二ユーザ装置vの回答がYESの場合は、VA=SA×TA=EPKA(Rv・hA),VB=SB×TB=EPKB(Rv・hB)となる。第一ユーザ装置u1,…,un中の1つでもその回答にYESがあれば、hA≠hBとなる。つまり第一ユーザ装置u1,…,un中の1つでもその回答がYESであり、かつ第二ユーザ装置vの回答もYESであれば、必ずFA(=RV・hA)≠FB(=RV・hB)となる。これ以外の場合には、第一ユーザ装置u1,…,unの回答中にYESがあっても、第二ユーザ装置vの回答がNOであれば、FA(=RV)=FB(=RV)となり、また第二ユーザ装置vの回答がYESであっても第一ユーザ装置u1,…,unの全ての回答がNOであればhA=hBであるため、FA(=RV・hA)=FB(=RV・hB)となり、何れの場合もFA=FBとなる。よってFA≠FBの時のみマッチングが成立したことになる。
【0013】
しかも確率暗号により暗号化されているため第三者はTA=TBなのかTA≠TBなのか区別することができず、またVA,VBもTA,TBを含むかどうか分からない。つまり第一ユーザ装置の回答が全てNOだったのか、第二ユーザ装置の回答がNOだったのか判別が不可能である。
第一ユーザ装置100がhi,A,hi,Bを公開掲示板装置400へ送信するのは、その答えの否認防止のためのコミットメントとして公開し、第二ユーザ装置200がhVを公開掲示板装置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に示した構成に、TA,TB生成部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の各公開鍵PKA,PKBを読み出し(S5)、確率的準同型公開鍵暗号暗号部115によりPKA,PKBをそれぞれ用いて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)。TA,TB生成部209にてTA=U1,A×U2,A×…×Un,A,TB=U1,B×U2,B×…×Un,Bを演算生成する(S2)。
【0017】
乱数生成部203にて乱数RVを生成し(S3)、公開鍵記憶部202からマッチングサーバA,Bの公開鍵PKA,PKBを読み出す(S4)。
確率的準同型公開鍵暗号暗号部204により公開鍵PKA,PKBを用いてRVを暗号化してSA,SBを生成する(S5)。回答記憶部205より回答としてYESまたはNOを読み出す(S6)。回答生成部206は読み出した回答がYESであれば(S7)、VA=SA×TA、VB=SB×TBを生成し(S8)、回答がNOであればVA=SA、VB=SBとし(S9)、一方向性関数部207はRVに一方向性関数を施してhV=h(RV)を生成する(S10)。送信部208はhVを答えの否認防止のためのコミットメントとして公開掲示板装置400へ、VAをマッチングサーバAの装置300へ、VBをマッチングサーバBの装置300へそれぞれ送信する(S11)。
【0018】
図10に示すように公開掲示板装置400は受信部401にてhVを受信し(S1)、公開記憶部402へ蓄積する(S2)。
図16に示すようにマッチングサーバ装置300(図13参照)は次のように動作する。なお図16及び以下の説明ではマッチングサーバ装置300はマッチングサーバAの装置であるものとして記述するが、もうひとつのマッチングサーバ装置300はマッチングサーバBのものとなり、その動作は図10および以下の説明内容中のAを全てBに置き換えたものとして動作する。まず受信部301にてVAを受信する(S1)。秘密鍵記憶部302から自装置の秘密鍵SKAを読み出し(S2)、確率的準同型公開鍵暗号復号部303にてVAを復号しFAを得る(S3)。送信部304にてFAを公開掲示板装置400へ送信する(S4)。
【0019】
図10に示すように公開掲示板装置400は、2つのマッチングサーバ装置300よりFA,FBをそれぞれ受信部401にて受信する。次に他の装置からも参照可能な公開記憶部402へFA,FBを蓄積する。
この場合も、第1の実施の形態と同様に、FAとFBが異なれば、ユーザu1,…unの各装置100からの回答の少くとも1つがYESであり、かつ第二ユーザ装置200の回答がYESであると判断し、FAとFBが一致すれば、他の場合であると判断する。VA,VBは第二ユーザ装置200の回答がYESの場合、準同型暗号の性質から次式となる。
【0020】
これらの両式から、第二ユーザ装置200の回答がYESであれば、第一ユーザu1,u2…unの各装置100の回答の少くとも1つがYESであればFA≠FBとなり、第一ユーザ装置100からの回答の全てがNOであればFA=FBとなる。
【0021】
一方、第一ユーザ装置100からの回答にYESが含まれていても、第二ユーザ装置200の回答がNOであれば、VA=SA、VB=SBとなりFA=FBとなる。従って、上記判断が正しいことになる。
第1の実施の形態、第2の実施の形態の何れにおいても、FA,FBを公開することなく、マッチングサーバA,Bの各装置300が復号したFA,FBを、従来の技術の項で説明した1対1のマッチングを利用し、これらを公開することなく比較してもよい。例えばマッチングサーバ装置300が復号したFAを、Oblivious Evaluation of Polynomial技術を用いて、マッチングサーバAの装置300はマッチングサーバBしか知らない多項式PBについてPB(FA)をマッチングサーバBに知られることなく得、同様に、マッチングサーバBの装置300がPA(FB)を得、両マッチングサーバ装置300において、それぞれPA(FA)+PB(FA),PB(FB)+PA(FB)をそれぞれ公開して両者を比較し、これらが互いに相違すればFA≠FBであると判定できる。
第3の実施の形態
次に、この発明の電子マッチング方法を電子商取引に適用した例を述べる。n人の売り手(u1,…,un)と1人の買い手(v)が存在し、1円〜5円のいずれかを売値・買値として回答してくるものとする。また準同型確率暗号としてElGamal暗号を用いることとし、素数pとZ* pの原始元gをシステムに共通なシステムパラメータとする。
【0022】
マッチングサーバ装置Aの秘密鍵をxA(∈Zp−1)、公開鍵をyA(=gxA mod p)とし、同様にマッチングサーバ装置Bの秘密鍵をxB(∈Zp−1)、公開鍵をyB(=gxB mod p)とする。成立した際の買い手の優先順位はu1,u2,…unの順とする。また複数価格で成立する可能性がある場合は買値が優先されるものとする。
(1)希望売値登録
各売り手装置uiは以下のようにANSi,A,ANSi,Bを準備する。
【0023】
但し、ANSi,x,x∈Zpである。
例えば売り手装置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を生成する。
をコミットメントとして公開する。さらにANSi,AとRi,Aをマッチングサーバ装置Aに、ANSi,BAとRi,Bをマッチングサーバ装置Bに他人に知られないように送信する。
(2)売値バンドル
マッチングサーバ装置AはANS1,A,ANS2,A,…,ANSn,Aを受け取る。
【0025】
h1,A,h2,A,…,h5,Aを自装置の公開鍵と乱数raで各々暗号化してTj,A(j=1,…,5)を得る。
【0026】
Tj,A=(yra Ahj,A mod p,gra mod p)
j=1,…,5に対して
Tj,Aをユーザ装置vに送る。
同様にマッチングサーバ装置BはANS1,B,ANS2,B,…,ANSn,Bを受け取り、h1,B,h2,B,…,h5,Bを計算し、自装置の公開鍵と乱数rbにて各々暗号化して、Tj,B(j=1,…,5)を得る。
Tj,B=(yrb B hj,B mod p,grb mod p)
j=1,…,5に対して、
Tj,Bをユーザ装置vに送る。
(3)希望買値登録
ユーザ装置vはT1,A,T2,A,…,T5,A,T1,B,T2,B,…,T5,Bを受け取り、乱数R1,v,R2,v,…,R5,v(∈Zp)を生成する。Rj,vを装置Aの公開鍵と乱数rA,vにて各々暗号化してSj,Aを得る。同様に、Rj,vを装置Bの公開鍵と乱数rB,vにて各々暗号化してSj,Bを得る。
【0027】
装置vは乱数Rj,V(j=1,…,5)を生成し、h(Rj,v,Rj,v)をコミットメントとして公開する。各jと希望買値の大小関係に応じて以下のようにVj,A,Vj,Bを計算する。
【0028】
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)ユーザの登録情報の秘匿性
もしマッチングが「不成立」(FA=FB)ならば、第三者が得たいのは、どの状況で「不成立」となったかである。第三者が得られる情報は、h(ANSi,A,Ri,A),h(ANSi,B,Ri,B),TA,TB,h(RV,RV′),VA,VB,WA,WBである。
h(ANSi,A,Ri,A),h(ANSi,B,Ri,B)からANSi,A,ANSi,Bを求める困難性は関数hの一方向性に基づいている。
【0030】
TA,TBは確率暗号にて暗号化された結果であるので、第三者はTA=TBなのかTA≠TBなのか区別がつかない。
またVA,VBも確率暗号による暗号文であるため、これらがTA,TBを含むかどうかは分からない。
(B)公平性
各ユーザは他ユーザの登録した回答を得られるか。
(A)と同様に、公開されている情報から他ユーザの回答は得られない。ただし、両マッチングサーバA,Bは互いに結託しないものとし、またマッチングサーバA,Bが同一のユーザと結託することがないものとする。
【0031】
以上よりユーザは自分の回答登録前に他ユーザの回答を得ることはできない。
(C)否認不可性
第一ユーザがuはh(ANSi,A,Ri,A),h(ANSi,B,Ri,B)を、第二ユーザvはh(RV,RV′)をコミットメントとして公開しており、これを否認するためには関数hのコリジョンを見つけることが必要となる。
上述においては最も安い価格で買うことができるが、第一ユーザ装置u1,…unが希望買値登録し、第二ユーザ装置vが希望売値登録して、最も高い価格で売るようにすることもできる。この場合は第一ユーザ装置uiはその希望買値b(1<b<m:mは価格リストの最高値、前記例では5円)に対し、j<bではANSi,j,A≠ANSi,j,B,j>bではANSi,j,A=ANSi,j,Bとし(j=1,…,m、i=1,…,n)、第二ユーザ装置vはその希望売値s(1<s<m)に対し、j<sではVj,A=Sj,A、Vj,B=Sj,Bとし、j>sでは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
FIG. 2 shows a functional configuration example of the
[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
[0009]
As shown in FIG. 10, the public bulletin board apparatus 400 (see FIG. 5)i, A, Hi, BAre stored in the
Next, as shown in FIG. 8, the
[0010]
Next, as shown in FIG. 7, the second user device 200 (see FIG. 3) receives the matching
[0011]
As shown in FIG. 10, the public
Next, as shown in FIG. 9, the matching
[0012]
Next, as shown in FIG. 10, the public
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
Second embodiment
In the first embodiment, except for the public
[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
[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
[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
As shown in FIG. 15, the second user device 200 (see FIG. 12) receives the U from the public
[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
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
[0018]
As shown in FIG. 10, the public
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
[0019]
As shown in FIG. 10, the public
Also in this case, as in the first embodiment, FAAnd FBAre different, it is determined that at least one of the responses from the
[0020]
From both of these formulas, if the answer of the
[0021]
On the other hand, even if YES is included in the answer from the
In both the first embodiment and the second embodiment, FA, FBF that decrypted by each
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]
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.
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]
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]
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]
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
FIG. 3 is a diagram illustrating a functional configuration example of a
FIG. 4 is a diagram illustrating a functional configuration example of a matching
FIG. 5 is a diagram illustrating a functional configuration example of a public
FIG. 6 is a flowchart showing an example of a processing procedure of the
FIG. 7 is a flowchart showing an example of a processing procedure of the
FIG. 8 is a flowchart showing a part of an example of a processing procedure of the matching
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
FIG. 11 is a diagram illustrating a functional configuration example of a
FIG. 12 is a diagram illustrating a functional configuration example of a
FIG. 13 is a diagram illustrating a functional configuration example of a matching
FIG. 14 is a flowchart showing an example of a processing procedure of the
FIG. 15 is a flowchart illustrating an example of a processing procedure of the
FIG. 16 is a flowchart showing a part of an example of a processing procedure of the matching
FIG. 17 is a diagram showing an example of desired selling price registration of the first user device ui.
Claims (12)
各第一ユーザ装置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はVB を各々その秘密鍵で復号して、各々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.
第一ユーザ装置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 を取得し、
TA =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 とし、
VA をマッチングサーバ装置Aへ、VB をマッチングサーバ装置Bへそれぞれ送信し、
Rv に一方向性関数を施してhv =h( Rv )を生成し、
hv を答えの否認防止のためのコミットメントとして公開掲示板装置へ送信して公開し、
マッチングサーバ装置Aは受信したVA を秘密鍵SKA で復号してFA を生成し、このFA を公開掲示板装置へ送信し、
マッチングサーバ装置Bは受信したVB を秘密鍵SKB で復号してFB を生成し、このFB を公開掲示板装置へ送信し、
FA と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.
これら乱数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,A,…,Un,Aをそれぞれ復号してANS1,A ,…,ANSn,A を求め、
これらに対し一括して一方向性関数を施してhA =h(ANS1,A ,…,ANSn,A )を生成し、
hA を自装置の公開鍵を用いて確率的準同型公開鍵暗号により暗号化してTA を生成し、
TA を第二ユーザ装置へ送信し、
第二ユーザ装置から暗号文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.
乱数Rv を生成し、
マッチングサーバ装置A,Bの公開鍵PKA ,PKB をそれぞれ用いて確率的準同型公開鍵暗号にて暗号化してSA ,SB を生成し、
Rv に対し一方向性関数を施してhv =h(Rv )を生成し、
そのhv を公開掲示板装置へ送信して公開し、
自装置の答えがYESであればVA =TA ×SA ,VB =TB ×SB を演算し、答えがNOであればVA =SA ,VB =SB とし、
VA と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.
マッチングサーバ装置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.
TA =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 を生成し、
VA をマッチングサーバ装置Aへ、VB をマッチングサーバ装置Bへそれぞれ送信し、
Rv に一方向性関数を施してhv =h(Rv )を生成し、
hv を答えの否認防止のためのコミットメントとして公開掲示板装置へ送信して公開することを特徴とする電子マッチングユーザ装置の処理方法。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.
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(1<b<m)以下の価格j(j<b)に対し、Vj,A=Tj,A×Sj,A,Vj,B=Tj,B×Sj,Bを生成し、bより大きい価格j(j>b)に対してVj,A=Sj,A、Vj,B=Sj,Bを生成し、
Vj,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.
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(1<s<m)以上の価格j(j>s)に対し、Vj,A=Tj,A×Sj,A,Vj,B=Tj,B×Sj,Bを生成し、sより小さい価格j(j<s)に対してVj,A=Sj,A、Vj,B=Sj,Bを生成し、
Vj,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.
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)
| 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 |
-
2001
- 2001-10-30 JP JP2001332186A patent/JP3619486B2/en not_active Expired - Fee Related
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 |