JP4024542B2 - Large / small comparison method, device thereof, mean value registration method, program thereof, and recording medium thereof - Google Patents

Large / small comparison method, device thereof, mean value registration method, program thereof, and recording medium thereof Download PDF

Info

Publication number
JP4024542B2
JP4024542B2 JP2002008616A JP2002008616A JP4024542B2 JP 4024542 B2 JP4024542 B2 JP 4024542B2 JP 2002008616 A JP2002008616 A JP 2002008616A JP 2002008616 A JP2002008616 A JP 2002008616A JP 4024542 B2 JP4024542 B2 JP 4024542B2
Authority
JP
Japan
Prior art keywords
value
user
size comparison
information
bulletin board
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
JP2002008616A
Other languages
Japanese (ja)
Other versions
JP2002304287A (en
Inventor
浩司 千田
邦生 小林
光 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002008616A priority Critical patent/JP4024542B2/en
Publication of JP2002304287A publication Critical patent/JP2002304287A/en
Application granted granted Critical
Publication of JP4024542B2 publication Critical patent/JP4024542B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、情報セキュリティ技術の応用技術であって、例えばインターネットなどによるオンライン上で、複数のユーザ(利用者)が意中の値を秘密に保持したまま比較し、最大値あるいは最小値と、それを意中の値としたユーザだけが特定される大小比較方法、その装置、ユーザの意中値登録方法、そのプログラム及びその記録媒体に関するものである。
【0002】
【従来の技術】
大小比較がオンラインで実施される例として「電子入札方式」などがある。上記方式では、最大値あるいは最小値と、それを意中の値としたユーザは特定されるが、その他の情報は秘密に保持される技術が例えば
・小林,森田,「大小比較に一方向性関数を用いた効率的な入札方式」,ISEC99,などに示されている。また、
・H.Kikuchi,M.Harkavy, J.D.Tygar,"Multi-round anonymous auction protocols"In IEEE Workshop on Dependable and Real-Time E-Commerce System,1998,では、ある数値に対してそれ以上あるいはそれ以下を意中の値としたユーザがいるかどうかだけが分かる方式を提案している。
【0003】
【発明が解決しようとする課題】
後者は最大値あるいは最小値を意中の値としたユーザが複数いる場合にそのユーザを特定できないことと、最大値あるいは最小値を意中の値としたユーザが2番目の数値を知り得てしまうという問題点があった。
この発明の目的は複数のユーザが意中のものとした値の大小をオンラインで比較して、安全かつ効率的に、これらの最大値あるいは最小値、更に必要に応じてそれを意中の値としたユーザだけが特定され、他は秘密が保持されるための大小比較方法、その装置、ユーザの意中値登録方法、そのプログラム及びその記録媒体を提供することにある。
【0004】
【課題を解決するための手段】
この発明によれば、複数のユーザ装置i,i=1,…,Nと、Nは2以上の整数であり、第1及び第2大小比較装置と、上記ユーザ装置及び上記第1及び第2大小比較装置から受信した情報を公開する掲示板装置とにより、予め決めた下限値V1と上限値VMの範囲の単調増加するM個の値Vw、ただし、w=1,2,…,M、で、全ユーザがそれぞれ決めた意中の値Vviからそれらの最小値VMIN及びその最小値を意中値としたユーザjだけを特定する大小比較方法は、
(a) 各上記ユーザ装置iで、ユーザにより入力された意中値Vviに対し、上記下限値V1以上、上記意中値Vvi未満で互いに対応した要素が等しく、上記意中値Vvi以上、上記上限値VM以下で互いに対応した要素が互いに異なるそれぞれM個の要素からなる2つの情報系列si及びtiを生成し、それらに対応する情報を秘密にそれぞれ上記第1及び第2大小比較装置に送信するステップと、Mは上記下限値V1以上で上記上限値VM以下の上記意中値として選択可能な値の数を表し、
(b) 上記第1大小比較装置で、上記下限値V1以上、上記上限値VM以下の与えられた値Vwについて、全ユーザ装置からの上記情報系列si中のそれぞれwに対応した要素si,w を取り出し、それらを決められた順序により並べた要素連結Seqs,w=s1,w‖s2,w‖…‖sN,wを作成するステップと、‖はデータの連結を表し、
(c) 上記第2大小比較装置で、上記与えられた値Vwについて、全ユーザ装置からの上記情報系列ti中のそれぞれwに対応した要素ti,wを取り出し、それらを決められた順序により並べた要素連結Seqt,w=t1,w‖t2,w‖…‖tN,wを作成するステップと、
(d) 上記掲示板装置で、上記要素連結Seqs,wとSeqt,w を、それら自身の値を明かすことなく比較し、それらが互いに異なっていればVw以下を意中の値としたユーザがいると判定し、等しければVw以下を意中の値としたユーザがいないと判定し、その判定に基づき、wの値を変更していくことで最小意中値VMINを決定し、要素番号MINを公開するステップと、
(e) 上記第1及び第2大小比較装置で,公表された上記要素番号MINに対し,対応する要素連結Seqs,MIN及びSeqt,MINを上記掲示板装置に送信して公開することにより,各上記ユーザ装置に対し,上記要素連結中の互いに対応する要素si,MIN及びti,MINについてsj,MIN≠tj,MINとなる番号jが、上記最小意中値をコミットしたユーザ番号jであることを検出可能にするステップ,
とを含む。
【0005】
この発明による上記大小比較方法に用いられるユーザ装置が、比較の対象となる整数値についての上限VM及び下限V1のM個、Mは2以上の整数、の値から選択した意中値Vviを登録する方法は、
(a) 入力された上記意中値Vviに対し、V1以上Vvi未満に対応した要素は互いに等しく、Vvi以上VM以下に対応した要素は互いに異なるそれぞれM個の要素からなる2つの情報系列si及びtiを生成するステップと、
(b) 上記情報系列si及びtiが入力され、これらに対する一方向性関数を演算して演算結果H1i,H2iを出力するステップと、
(c) 上記情報系列siを第1大小比較装置へ、上記情報系列tiを第2大小比較装置へ、H1i及びH2iを掲示板装置へそれぞれ送信するステップ、
とを含む。
【0006】
この発明による大小比較方法に用いられるユーザ装置は、
比較の対象となる整数値についての上限VM及び下限V1のM個の値が記憶された記憶部と、
V1以上、VM以下の意中の値Vviを入力する入力手段と、
VviとV1,VMが入力され、V1以上Vvi未満に対応した要素は互いに等しく、Vvi以上VM以下に対応した要素は互いに異なるそれぞれM個の要素からなる2つの情報系列si及びti、又はV1以上Vvi以下に対応した要素は互いに異なり、VVi+1以上VM以下に対応した要素は互いに等しいそれぞれM個の要素からなる2つの情報系列si及びtiの一方を生成して出力する情報系列生成部と、MはV1以上VM以下の意中値Vviとして選択可能な値の数であり、
上記情報系列si及びtiが入力され、これらに対する一方向性関数を演算して演算結果H1i,H2iを出力する一方向性関数演算部と、
上記情報系列siを第1大小比較装置へ、上記情報系列tiを第2大小比較装置へ、H1i及びH2iを掲示板装置へそれぞれ送信する送信部と
を含むように構成される。
【0007】
この発明による大小比較方法に用いられる大小比較装置は、
各ユーザ装置から送られた、下限値V1以上、上限値VM以下の意中値Vviとして選択可能な値の数Mの要素よりなる情報系列を受信し、掲示板装置から送られた整数値wを受信する受信部と、
受信した上記情報系列を記憶する記憶部と、
各ユーザから受信した情報系列中のw番目の要素を入力して、これらの連結に対して一方向性関数を演算し、その演算結果を出力する一方向性関数演算部と、
上記一方向性関数演算結果を上記掲示板装置へ送信する送信部と
を含むように構成される。
【0008】
上述において、最大意中値VMAXを決定するには、一連の値V1〜VMに対し、その大きい順に番号1〜Mを対応付け、意中値Vviに対応する番号をviとすると、2つの情報系列si, tiの生成は、番号1〜Mに対し、番号要素wが1以上、vi未満ではsi,w=ti,wとし、vi以上、M以下ではsi,w≠ti,wとなるように情報系列を生成すれば、上述したアルゴリズムをそのまま使って意中値Vviの最大値VMAXを決定することができる。
この発明による上記大小比較方法に用いられる大小比較装置による大小比較方法は、
(a) 各ユーザ装置i, i=1,2,…,Nから、下限値V1以上、上限値VM以下のM個の値中の意中値Vviを表す情報としてM個の要素よりなる情報系列si=[si,1,si,2,…,si,M]をそれぞれ受信するステップと、
(b) 掲示板装置から送られた整数値wを受信するステップと、
(c) 各ユーザ装置から受信した情報系列si中のw番目の要素si,wを入力して、これらの連結に対して一方向性関数を演算するステップと、
(d) 上記一方向性関数演算結果を上記掲示板装置へ送信するステップ、
とを含む。
【0009】
この発明による上記大小比較方法に用いられる大小比較装置は、
各ユーザ装置から送られた、下限値V1以上、上限値VM以下の意中値Vviとして選択可能な値の数Mの要素よりなる情報系列を受信し、掲示板装置から送られた整数値wを受信する受信部と、
受信した上記情報系列を記憶する記憶部と、
各ユーザから受信した情報系列中のw番目の要素を入力して、これらの連結に対して一方向性関数を演算し、その演算結果を出力する一方向性関数演算部と、
上記一方向性関数演算結果を上記掲示板装置へ送信する送信部と
を含むことを含むように構成される。
【0010】
このように、この発明では、各ユーザ11-i(i=1,2,…,N)は、V1以上VM以下の意中の値Vviを決定した後、ユーザ装置により、それぞれM個の値からなる2系列の数値をV1以上Vvi未満に対応した要素は等しく、Vvi以上VM以下に対応した要素は互いに異なるような2つの情報系列si及びtiを作成し、siを第1大小比較装置に、tiを第2大小比較装置にそれぞれ秘密に送信する。siあるいはtiだけでは、Vviに関する情報は全く分からないために、誰にもまた各大小比較装置にさえもVviが知られることはない。
【0011】
全ユーザの意中の値に関する情報si, ti(i=1,2,…,N)がそろったら次に最小値を決定する。この手順は自由であるが、効率的な手法としては、まず1〜Mの2つの変数wmin, wmaxの初期値をそれぞれ1及びMとし、(wmin+wmax)/2=(1+M)/2以下の最大の整数をwとし、Vw以下を意中の値としたユーザがいるかどうかの判定を、第1大小比較装置は全ユーザの情報系列siからw番目の要素si,wを取り出し、それらを決められた順序(例えばユーザに予め番号が割り振られていてその番号順など)により並べたものSeqs,w=s1,w‖s2,w‖…‖sN,w(‖はデータの連結を表す)を作成し、第2大小比較装置は全ユーザの情報系列tiからw番目の要素ti,wを取り出し、それらを決められた順序により並べたものSeqt,w=t1,w‖t2,w‖…‖tN,wを作成し、Seqs,wとSeqt,wを、一方向性関数や暗号関数などを用いてそれ自身の値を明かすことなく比較し、それらが異なっていればVw以下を意中の値としたユーザがいると判定し、変数wmaxにwを代入し、同様にSeqs,w, Seqt,wを生成し、前記比較を行い等しければVw以下を意中の値としたユーザがいないと判定し、変数wminにw+1を代入して、上記操作をwmin=wmax(=MIN)となるまで繰り返すことで最小値VMINを決定する。
最後にwmin=wmax=MINである場合、Seqs,MIN, Seqt,MINを公開して、誰もが最小値VMINを意中の値としたユーザを特定することができる。
【0012】
【発明の実施の形態】
大小比較を行う際、上限の整数値VM、下限の整数値V1、大きな素数Pがすでに決められているものとする。素数PはP-1が大きな素因数を約数に持つ、つまり離散対数問題をより所とする暗号方式の条件を満すような素数である。
まず第1の実施例として、2つの大小比較装置を用いて全ユーザの意中の値から最小値及びそれを意中の値としたユーザのみが特定できる方法を示す。次に第2の実施例として、そのセキュリティを改善した例を、また、第3実施例として3つの大小比較装置を用いて、そのうちの一つが大小比較の途中でシステムがダウンした場合に、全ユーザの読み出した意中の値から最小値及びそれを意中の値としたユーザのみを特定できる方法を示す。
第1実施例
まずはじめに、第1の実施例におけるシステム全体の構成を図1に示す。ユーザ装置13-1〜13-N、大小比較装置15A及び15B、掲示板装置21及びデータベース23が設けられ、各ユーザ装置13-1〜13-Nは通信網を通じて大小比較装置15A,15B、及び掲示板装置21と通信することができ、大小比較装置15A及び15Bは掲示板装置21と通信することができる。記号Yは掲示板装置21から読み出された閲覧情報を示す。また掲示板装置21にはデータベース23が接続されている。なお、図1に破線で示す大小比較装置15Cは、後述の第3実施例において使用されるものである。
【0013】
各ユーザ装置13-iは、図2に示すように入力部30と、乱数生成部31と、記憶部32と、情報系列生成部33と、暗号化部34と、ハッシュ関数演算部35と、送信部36と、制御部37と、連結部38と、分解部39とから構成される。
各ユーザ11-i(i=1,2,…,N)は、V1以上VM以下の意中の整数値Vviを定め、そのユーザ装置13-iにキーボードなどの入力部30により入力する。ユーザ装置13-iの情報系列生成部33は入力されたVviと乱数生成部31により生成した乱数に基づき同じ要素数Mの2系列の情報si={si,1, si,2,…,si,M}と ti={ti,1, ti,2,…, ti,M}を生成する。MはV1からVMまでのユーザが意中の値として選択することができる値の数であり、従って、単調増加の一連の値V1〜VMはそれぞれ番号1〜Mに1対1で対応する。
【0014】
ここでユーザ11-iは意中値をVviと決めると、2系列si, tiをsi,1=ti,1,si,2=ti,2,…,si,vi-1=ti,vi-1,si,vi≠ti,vi,si,vi+1≠ti,vi+1,…,si,M≠ti,Mとなるように生成する。つまりsiとtiは、V1以上Vvi未満の対応した要素(情報)は互いに等しく、Vvi以上VM以下の対応した要素は互いに異なるように生成する。
図3は、このような2系列の情報siとtiの生成手順の例を示す。
ステップS1:予め決めたビット数からなるvi-1個の乱数r1, r2, …, r(vi-1)を生成し、これらをsi,m=ti,m, m=1,2,…,vi-1である2つの部分系列si,1, si,2, …, si,vi-1及びti,1, ti,2, …, ti,vi-1とする。
ステップS2:mをviとする。
ステップS3:2個の乱数rs, rtを生成する。
ステップS4:この2個の乱数rsとrtを比較し、等しければステップS3に戻る。
ステップS5:これら2個の乱数が互いに異なればrsをsi,mに、rtをti,mにそれぞれ設定し、mを+1する。
ステップS6:mがMより小であればステップS3に戻る。
ステップS7:ステップS6でmがMより小でなければ、ステップS1で生成した2つの部分系列si,1, si,2, …, si,vi-1及びti,1, ti,2, …, ti,vi-1にステップS3〜S5の繰り返しで設定したsi,vi, si,vi+1, …, si,Mとti,vi, ti,vi+1, …, ti,Mをそれぞれ連結して2系列情報si={si,1, si,2, …, si,M}とti={ti,1, ti,2, …, ti,M}を得て、図2の記憶部32に保存する。
【0015】
乱数生成部31で乱数R1i,R2iを生成し、(si,R1i)の組を大小比較装置15Aに、(ti,R2i)の組を大小比較装置15Bにそれぞれ秘密に、例えば暗号化部34で暗号化関数EA, EBにより暗号化して暗号化系列情報EA(si‖R1i), EB(ti‖R2i)として送信する。暗号化関数EA及びEBはそれぞれ大小比較装置15A及び15Bのみが復号できる公開鍵暗号関数である。また、後述する最小の意中値VMINの正当性を検証するためのデータとして、乱数生成部31で乱数riを生成し、連結部38で意中値Vviと乱数riを連結したVvi‖riを生成し、更に、分解部39でri=ai*bi(*は予め公表されている演算子)となる乱数情報ai, biを決める。演算子*はai, biが与えられればriが一義に定まるものである必要があればどのようなものでもよく、例えば排他的論理和、減算、加算、その他を使用することができる。
【0016】
ハッシュ関数演算部35で各系列と乱数の連結si‖R1i及びti‖R2iに対しハッシュ関数hによってハッシュ値H1i=h(si‖R1i),H2i=h(ti‖R2i)を計算する。ハッシュ関数演算部35は更に、ai, bi, Vvi‖riのハッシュ値h(ai), h(bi), h(Vvi‖ri)を計算し、これら全てを掲示板装置21に送信する。なお、最小値及び最大値V1、VM、2系列si,ti、乱数R1i,R2i,意中値Vvi、乱数ri、乱数情報ai, biは記憶部32に記憶され、各情報の大小比較装置15A,15Bや掲示板装置21への送信は送信部36が行う。記憶部32に対する読み書き、各部に対する動作指示は制御部37により行う。このユーザ装置13-iはコンピュータによりプログラムを実行させて機能させるように構成してもよい。
【0017】
各ユーザ装置13-iはこのようにハッシュ値h(Vvi‖ri), H1i及びH2iを掲示板装置21に送信し、その値が公開されることで意中値Vviをコミットしたことになる。つまり意中値Vviを公に明かすことなく、Vviを意中の値としたことを登録したことになる。これにより、以降、意中値Vviを変更不可能とするとともに、もしなんらかの理由で自分の意中の値Vviより大きい値が最小値VMINととして掲示板装置21に公表された場合は、si,R1i,ti,R2iの組又は(Vvi‖ri)を公開することで自分の意中値Vviが公表された最小値VMINより小さいことを示し、不正を立証することができる。また、掲示板装置21に情報系列si, tiを送る際に、それらをそれぞれ単独でハッシュするのではなく、情報系列si, tiと乱数R1i, R2iをそれぞれ連結してハッシュする理由は、以下の理由による。即ち、H1i=h(si),H2i=h(ti)とすると、もし通信容量削減のため情報系列si, tiの各要素のビット数を小さくし、かつ系列siあるいはtiの一方を他ユーザが何らかの方法で知ったとすると、そのユーザは他方の値も推定しやすくなる(従って、si, tiを知ればVviが分かる可能性がある)ので、そのようなことを防ぎ、大小比較装置15A,15Bに対して秘密を高めるためである。しかしながら、秘密性をある程度緩めてよい、又は各要素のビット数が大きいのであれば、乱数R1i,R2iを省略してもよい。
【0018】
大小比較装置15A(及び15B)の構成は図4(及び図5)に示すように、受信部40A(40B)と、復号部47A(47B)と、記憶部47A(47B)と、乱数生成部42A,(42B)と、ハッシュ関数演算部43A(43B)と、べき乗剰余演算部44A(44B)と、送信部45A(45B)と、制御部46A(46B)とから構成されている。
大小比較装置15Aの受信部40Aに受信された各ユーザ装置13-iからの暗号化系列情報EA(si‖R1i)は復号部47Aにより復号されてsi‖R1i(i=1,…,N)が得られ、必要に応じてsi‖R1iをハッシュ関数演算部43Aでハッシュすることによりh(si‖R1i)を得て、これが掲示板装置21に公開されたH1iと一致することを検証することができる。得られたsi‖R1iから情報系列s1〜sN及び乱数R11〜R1N分離され、それぞれ記憶部41Aに格納される。記憶部41Aには前述した大きな素数Pも予め格納されてある。同様に、大小比較装置15Bの受信部40Bに受信された各ユーザ装置13-iからの暗号化系列情報EB(ti‖R2i)は復号部47Bにより復号され、得られたti‖R2iを同様に検証してから情報系列t1〜tN及び乱数R21〜R2Nを分離し、それぞれ記憶部41Bに格納する。記憶部41Bには前記大きな素数Pが格納されている。
【0019】
掲示板装置21はユーザ装置13-1〜13-N及び大小比較装置15A, 15Bから受信した情報をデータベース23に格納し、どの装置からでもアクセス可能に公開し、後述の大小比較処理においては、大小比較装置15Aと15Bからの情報が一致するか判定し、判定結果に基づいて大小比較装置15A, 15Bに与えるwの値を更新するだけであり、それらの構成は図示してない。
全てのユーザ装置13-i, i=1,…,N,から暗号化情報EA(si‖R1i),EB(ti‖R2i)、ハッシュ値H1i,H2i, h(Vvi‖ri), h(ai), h(bi)の送信が完了すると、例えば掲示板装置21から、1〜Mの2つの整数変数wmin, wmaxの初期値をそれぞれ1及びMとし、(wmin+wmax)/2=(1+M)/2以下の最大の整数をwとして初期値Vwが大小比較装置15A,15Bに送信し、受信部40A, 40Bで受信される。大小比較装置15Aは、図4に示すように乱数生成部42Aから乱数RAwを生成し、系列生成器48Aで各ユーザ装置13-iから受信した系列si中のwに対応した要素si,wを記憶部41Aから取り出し、それらをユーザ11-1,ユーザ11-2,…,ユーザ11-Nの順に並べた要素の連結Seqs,w=s1,w‖s2,w‖…‖sN,wを作成する。ハッシュ関数演算部43Aはハッシュ関数h'によって要素連結Seqs,wに対するハッシュ値HSw=h'(Seqs,w)と連結器49Aで生成した乱数RAwとハッシュ値HSwの連結RAw‖HSwに対するハッシュ関数hによるハッシュ値HAw=h(RAw‖HSw)を計算し、そのHSwと乱数RAwをべき乗剰余演算部44Aに入力してCAw=HSw RAw(mod P)を計算し、それら(HAw,CAw)の組を送信部45Aから掲示板装置21に送信し、公開する。ただし、ハッシュ関数h'は任意の値を有限体Fp上に一意に、かつランダムに写すような一方向性関数である。また、ハッシュ関数hはSHA-1のような汎用性関数である。
【0020】
大小比較装置15Bは図5に示すように乱数生成部42Bで乱数RBwを生成し、全ユーザ装置から受信した各情報系列ti中のwに対応した要素ti,wを記憶部41Bから取り出し、それらをユーザ11-1,ユーザ11-2,…,ユーザ11-Nの順に並べた要素連結Seqt,w=t1,w‖t2,w‖…‖tN,wを作成する。ハッシュ関数演算部43Bは、ハッシュ関数h'によって要素連結Seqt,wに対するハッシュ値HTw=h'(Seqt,w)と、連結器49Bで生成した乱数RBwとハッシュ関数hによるハッシュ値HTwの連結RBw‖HTwに対するハッシュ値HBw=h(RBw‖HTw)を計算する。これらHTwとRBwをべき乗剰余演算部44Bに入力してCBw=HTw RBw(mod P)を計算し、それら(HBw,CBw)の組を送信部45Bから掲示板装置21に送信し、公開する。
【0021】
次に大小比較装置15Aは、掲示板装置21により公開されたCBwを読み、べき乗剰余演算部44Aに入力し、先に生成した乱数RAwを使ってCBw RAwを計算し、その計算結果を掲示板装置21に送信する。大小比較装置15Bも同様に、掲示板装置21により公開されたCAw=HSw RAw(mod P)を読み、べき乗剰余演算部44Bに入力してCAw RBw=(HSw RAw)RBw(mod P)を計算し、その結果を掲示板装置21に送信する。
図6は各ユーザ装置13-iが情報系列生成部33で生成する情報系列si, ti, i=1,…,Nを模式的にそれぞれ縦に並べて示す。各対の系列si={si,1,si,2,…,si,m,…,si,M}, ti={ti,1,ti,2,…,ti,m,…,ti,M}中の対応する要素の任意の組(si,m, ti,m), m=1,2,…,Mにおいて、直線部はsi,m=ti,mの部分系列を表し、ジグザグ部はsi,m≠ti,mの部分系列を表している。例えば、図に示すように、m=wの値が全ての系列si, tiの組に対し、それらの直線部を通る場合は、(s1,w‖s2,w‖…‖sN,w)=(t1,w‖t2,w‖…‖tN,w), 即ち、Seqs,w=Seqt,wであり、従って、h'(Seqs,w)=h'(Seqt,w),即ちHSw=HTwであることがわかる。しかしながら、wの高さが少なくとも1組のsi, tiのジグザグ部を通る高さであれば、(s1,w‖s2, w‖…‖sN,w)≠(t1,w‖t2,w‖…‖tN,w)なので、HSw=HTwとなる可能性は無視できる程度に小さい。従って、HSw≠HTwとなる。
【0022】
HSwとHTwが等しければ、掲示板装置21に送信された(HTw RBw)RAw(mod P)と(HSw RAw)RBw(mod P)は等しい。またPが大きな素数であり、かつP-1は大きな素因数を約数にもつから、HSwとHTwが異なれば、(HTw RBw)RAw(mod P)と(HSw RAw)RBw(mod P)が等しくなる可能性は無視できるほど小さい。従って、(HTw RBw)RAw(mod P)と(HSw RAw)RBw(mod P)が等しければs1,w=t1,w,s2,w=t2,w,…,sN,w=tN,wであるから、各iに対し、si,m=ti,m, m=1,…,wであり、V1からVMのM個の値のうち、1番目からw番目までの値V1〜Vwに意中値Vviはなく、従っての最小意中値VMINはない。即ち、w+1番目からM番目までに最小意中値があることになる。(HTw RBw)RAw(mod P)と(HSw RAw)RBw(mod P)が異なればw番目以下に最小意中値があるということが圧倒的確率で分かる。
【0023】
掲示板装置21はこの比較判定を行い、もし(HTw RBw)RAw(mod P)と(HSw RAw)RBw(mod P)が等しければ変数wminにw+1を代入し、異なれば変数wmaxにwを代入して上記操作を繰り返す。以上のことを繰り返すことにより、およそlogM回でwmax=wmin(=MINとおく)となる。このとき、V1〜VM中のMIN番目の値VMINが最小意中値である。
上述の最小値探索手順を図7に示す。
ステップS1:掲示板装置21は、まず1〜Mの整数変数wminとwmaxの初期値をそれぞれ1及びMとし、(wmin+wmax)/2以下の最大の整数wを求め、そのwを大小比較装置15A、15Bに送信する。
ステップS2A:大小比較装置15Aでは要素連結Seqs,w及び乱数RAwを生成し、ハッシュ値HSw=h'(Seqs,w), HAw=h(RAw‖HSw)及びべき乗剰余CAw=HSw RAw(mod P)をそれぞれ計算し、(HAw, CAw)を掲示板装置21に送信する。
ステップS2B:大小比較装置15Bにおいても同様に要素連結Seqt,w及び乱数RBwを生成し、HTw=h'(Seqt,w), HBw=h(RBw‖HTw),CBw=HTw RBw(mod P)をそれぞれ計算し、(HBw, CBw)を掲示板装置21に送信する。
ステップS3A:大小比較装置15Aは、掲示板装置21からCBwを読み取り、CBw RAwmod P=(HTw RBw)RAwmod Pを計算して掲示板装置21に送信する。
ステップS3B:大小比較装置15Bは、掲示板装置21からCAwを読み取り、CAw RBwmod P=(HSw RAw)RBwmod Pを計算し、掲示板装置21に送信する。
ステップS4:掲示板装置21は(HTw RBw)RAwmod Pと(HSw RAw)RBwmod Pが一致しているかを調べる。
ステップS5:一致していればw+1をwminとする。
ステップS6:一致していなければwをwmaxとする。
ステップS7:wmax=wminになったかを調べ、なっていなければステップS1に戻り、ステップS2A,S2B,S3A,S3B,S4,S5,S6による同様の処理が繰り返される。
ステップS8:ステップS7でwmaxとwminとが等しければ、そのwmin=MINと、その番号MINに対応する値を最小意中値VMINとして共に公表する。大小比較装置15A, 15BはMINに対応する要素連結Seqs,MIN, Seqt,MINを掲示板装置21に送信することにより、これら2つの要素連結中の対応する要素sj,MINとtj,MINが互いに異なるユーザ11-jを特定可能にする。
【0024】
つまりユーザ11-1〜11-Nがそれぞれ意中値Vv1〜VvNとしてコミットしたもののうちの最小意中値VMINが求まったことになる。この最小意中値VMINが分かった後、大小比較装置15A,15Bはそのwmin=wmax= MINとなったときのSeqs,MIN,RAMIN,Seqt,MIN,RBMINを掲示板装置21に送信することにより、全ユーザ11-1〜11-Nは、それら2要素連結Seqs,MIN, Seqt,MINの対応する要素si,MINとti,MIN, を各i=1,…,Nについて比較し、対応する部分がsj,MIN≠tj,MINとなる情報が入ったj番目の部分に該当するユーザ11-jが最小意中値VMINを意中値Vvjとしたことを確認できる。Seqs,MIN,Seqt,MINの配列順が知られていれば、前記異なるj番目に該当するユーザjが特定できる。
【0025】
上述の第1実施例において、大小比較装置15Aはユーザ11-i, i=1,…,Nからri=ai*biなる乱数情報aiを受信しており、大小比較装置15Bはユーザ11-iから乱数情報biを受信している。又、掲示板装置21は各ユーザ11-iからh(ai), h(bi), h(Vvi‖ri)を受信している。従って、最小意中値VMINの探索前において、もし大小比較装置15Aが全てのユーザについての乱数riを知ってしまったら、各iについてV1からVMまで各値Vwに対し順次h(Vw‖ri)を計算することにより、公開されているh(Vvi‖ri)と一致するVw=Vviを見つけることができ、従って、掲示板装置21がVMINの探索を開始する前にVMINが大小比較装置15Bに知られてしまい、セキュリティの点から好ましくない。しかしながら、上述の第1実施例では、ri=ai*biの乱数情報aiとbiは大小比較装置15Aと15Bに別々に与えるので、大小比較装置15A,15Bは何れも単独でVMINを探索することはできない。
【0026】
最小意中値VMINの探索後、掲示板装置21に公開された最小意中値VMINの正当性は以下のようにして検証することができる。
ユーザ11-jのh(aj), h(bj), h(Vvj‖rj)はすでに公開されている。大小比較装置15A、15Bはそれぞれ乱数情報aj, bjを掲示板装置21に送信し、公表する。各ユーザ装置13-iは、公開されたVvj=VMIN, rj=aj*bjを使ってh(VMIN‖aj*bj)を計算し、h(VMIN‖aj*bj)=h(Vvj‖rj)が成立するかを検証する。一致しない場合は、ユーザ11-jが不正をしたか、大小比較装置15A又は15Bが不正をしたことになる。そこで、aj, bjからh(aj), h(bj)を計算し、それらが公開されているものと一致するか検証する。不一致であれば、aj, bjのうち不一致のものを送信した大小比較装置が不正をしたと判定することができる。もし、両方とも一致すれば、公開されたh(Vvj‖rj)を送信したユーザjが不正をしたと判定できる。
【0027】
このように、各ユーザはri=ai*biなるai, biを決め、h(ai), h(bi), h(Vvi‖ri)を掲示板装置21に公開しておくことにより、大小比較装置15A,15Bが掲示板装置21に送信したaj, bjの正当性を確認することができるが、これは掲示板装置21により公開された検証用情報h(ai), h(bi)がユーザ11-iのものであることさえ証明されていれば、ai, biにユーザ11-iが署名をつけて正当性を保証する場合と同等の効果が得られ、しかも署名を使用する場合より演算処理量が少なく、かつ、ユーザは署名手段を必要としない利点がある。なお、乱数riはセキュリティの観点から十分な大きさであることが望ましい。
【0028】
なお上述の第1実施例において、仮にHTwを知ったものがHSwを推定でき、それが正しければ他のユーザの意中の値を知ることができるが、Pが大きな素数であり、かつP-1は大きな素因数を約数にもつようにされているためHSw RAwmod PのRAwを求めることが困難であるため、そのHSwが真に正しいものか知ることができない。従って他のユーザが意中の値を知ることはできない。
最後に、RAMIN,RBMINを公開することにより、これらとSeqs,MIN,Seqt,MINを用いることにより、大小比較処理が正しく行われたかを確認することができる。
【0029】
大小比較装置15A,15Bにおいては、その記憶部41A, 41Bに対する読み書き、受信情報の処理、各送信情報を対応する装置へ送信部45A, 45Bにより送信させ、その他の各部の動作をさせることなどを制御部46A, 46Bで行う。この大小比較装置15A,15Bもコンピュータによりプログラムを実行させて機能させることもできる。
掲示板装置21はその機能構成を特に図に示さなかったが、各ユーザ装置、大小比較装置15A,15Bとの送受信部を備え、受信された情報をデータベース23(図1)に格納し、閲覧要求があれば、対応する情報をデータベース23が読み出して、要求元へ送信し、また図7に示した処理とその実行に必要な送受信を行う。この掲示板装置21もコンピュータによりプログラムを実行させて機能させるようにすることもできる。
【0030】
上述では一連の値V1〜VMに対し、その小さい順に番号1〜Mを対応付け、全ユーザの意中値Vvi中の最小値VMINを決定する場合を説明したが、最大意中値VMAXを決定するには、一連の値V1〜VMに対し、その大きい順に番号1〜Mを対応付けすれば、意中値Vviに対応する番号をviとすると、2つの情報系列si, tiの生成は、番号1〜Mに対し、番号要素wが1以上、vi未満ではsi,w=ti,wとし、vi以上、M以下ではsi,w≠ti,wとなるように情報系列を生成すれば、上述したアルゴリズムをそのまま使って意中値Vviの最大値VMAXを決定することができる。つまり、図6において値V1〜VMの上下を逆転して並べるだけで、前述した最小意中値VMINを与える番号MINを決定することは最大意中値VMANを与える番号MAXを決定することと同じであることが分かる。即ち、上述の第1実施例において、V1〜VMに対する1〜Mの番号付けを逆にM〜1とし、MINをMAXに置き換えれば図7の処理は最大意中値VMAXを探索する大小比較処理手順を示すことになる。このことは以下の実施例についても同様である。
第2実施例
ところで、上述の第1実施例において、もしあるユーザ11-iがいずれか一方の大小比較装置と結託すれば、そのユーザ11-iはすでに意中値Vviをコミットしているにもかかわらず、他ユーザ及び他大小比較装置に知られることなく、試合放棄(入札の取り下げ)ができてしまう。ここで、試合放棄とは、コミットした意中値Vviとは無関係に、即ち、全ユーザの意中値Vv1,Vv2,…,VvN中、Vviが最小であるか否かに係わらず、そのユーザ11-iが最小意中値VMINに決まることがない(落札しない)ことを意味する。
【0031】
例えば、ユーザ11-iが大小比較装置15Bと結託し、図7の大小比較処理において、掲示板装置21からwが与えられるごとに、ステップS2Bでそのユーザ11-iの系列要素ti,wを要素連結Seqt,wに埋め込む代わりに、ユーザ11-iから知らされた系列要素si,wの値を埋め込むことにより、即ち本来si,w≠ti,wであるべきところを系列si,w=ti,wとしてしまうことにより、たとえユーザ11-iの意中値Vviが最小値VMINであったとしても、掲示板装置21による最小値探索でユーザ11-iが最小値VMINとして決定されることはなくなり、残りのユーザのいずれかがVMINと決定されてしまう。このような決定は正当であるといえない。この最小値VMINの決定の正当性については、前述の正当性の検証方法は、最小値VMINと決定され、公表された意中値Vvjとユーザ11-jに対してのみh(Vvj‖rj)とh(aj‖bj)を検証するだけなので、ユーザ11-iと大小比較装置15Bの結託による不正を検出することはできない。
【0032】
以下に、このようなユーザと大小比較装置の結託による不正ができないように改善した実施例の大小比較方法を説明する。
この第2実施例の特徴は、第1実施例における各ユーザ11-iの対の情報系列si, tiの生成方法にあり、その特徴は、M個の要素からなる系列si={si,1,…,si,M}及びti={ti,1,…,ti,M}の生成において、第m番目の要素の生成は、それを遡る全ての要素の情報に基づいて生成することである。従って、系列si,1, si,2, …, si,Mを生成した場合、もし、m番目の要素si,mをti,mあるいは他の任意の値s'i,mで置き換えると、系列si,1, si,2, …, s'i,m, …, si,Mにおける要素s'i,mはそれより遡った要素si,1, si,2, …, si,m-1の情報に基づいておらず、また、それ以降の要素si,m+1, …,si,Mも要素si,m以前の要素に基づいていないので、その不正な置き換えを検出することができる。以下、第2実施例を具体的に説明する。
【0033】
図8は第2実施例による大小比較方法を実施するためのユーザ装置13-iの構成を示す。この構成は、図2のユーザ装置において連結部38及び分解部39を除去し、情報系列生成部33を図9に示す構成としたものである。乱数生成部31は図2の実施例と同様に乱数R1i, R2iを生成し、更に初期乱数としてsi,M+1, ti,M+1, cai, cbiを生成する。情報系列生成部33はこれら初期乱数を元に、順次si,M, si,M-1,…,si,1,及びsi,0と、ti,M, ti,M-1,…,ti,1を生成する。
図9は情報系列生成部33の構成例を示す。図9において、情報系列生成部33はハッシュ演算器33-1A, 33-1Bと、連結器33-2A, 33-2Bと、ハッシュ演算器33-3A, 33-3Bと、連結器33-4とから構成される。ハッシュ演算器33-1A, 33-1Bは初期乱数cai, cbiがそれぞれ与えられ、それらのハッシュ値h(cai), h(cbi)を演算し、次回以降はそれら演算結果を繰り返しハッシュ演算する。連結器33-2Aは前回までのsi系列情報と、その回のハッシュ演算器33-1A, 33-1Bの出力を連結する。連結器33-2Bは前回までのti系列情報と、その回のハッシュ演算器33-1A, 33-1Bの出力を連結する。ハッシュ演算器33-3A, 33-3Bはそれぞれ連結器33-2A, 33-2Bの出力をハッシュ値を計算し、その回の系列要素si,m, ti,mとして出力する。ハッシュ演算器33-3A, 33-3Bによるm回目のハッシュ演算のために連結器33-2A, 33-2Bに入力するハッシュ演算器33-1A, 33-1Bの出力は、m+1回目のハッシュ演算出力である。
【0034】
si,m≠ti,mの部分系列si,m, ti,mを生成する処理においては、si系列情報及びti系列情報の初期値としてそれぞれsi,M+1, ti,M+1を連結器33-2A, 33-2Bに入力し、ハッシュ器33-1A, 33-1Bの1回目のハッシュ出力を両連結器33-2A, 33-2Bに入力し、それらの連結器の出力のハッシュ値が2回目以降のsi系列情報及びti系列情報として連結器33-2A, 33-2Bの入力として与えられる。
m=Mからm=vまでの部分系列の生成が終了すると、意中値Vviに対応するm=vi-1において連結器33-4の出力si,vi‖ti,viを両連結器33-2A, 33-2Bにそれぞれsi系列情報及びti系列情報として入力し、連結結果をそれぞれハッシュ演算器33-3A, 33-3Bでハッシュ値を計算する。この処理では、同じハッシュ演算器33-1A, 33-1Bの出力と同じ系列情報si,vi‖ti,viが両連結器33-2A, 33-2Bに与えられるので、m=vi-1でのハッシュ演算器33-3A, 33-3Bの出力si,mとti,mは等しくなる。
【0035】
以降は、再びハッシュ演算器33-3A, 33-3Bの出力si,m, ti,mがそれぞれ系列情報として連結器33-2A, 33-2Bに入力され、m=vi-2, vi-3, …, 0について逐次演算を繰り返すことによりsi,m=ti,mの部分系列が生成される。
図10は第2実施例におけるユーザ装置13-iの処理手順を示す。
ステップS1:ユーザ11-iは初期乱数R1i, R2i, cai, cbi, si,M+1, ti,M+1を生成する。
ステップS2:mの初期値をMと設定し、意中値Viに対応する要素番号viに対し、m=M,M-1,…,viについて逐次
si,m=h(si,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
ti,m=h(ti,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
を計算し、si,m≠ti,mである部分系列として保存する。
ステップS3:m=vi-1についての系列要素
si,m=ti,m=h(si,m+1‖ti,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
を計算し、保存する。
ステップS4:m=vi-2, vi-3, …, 0について逐次
si,m=ti,m=h(si,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
を計算し、si,m=ti,mの部分系列として保存する。
ステップS5:R1i, si=[si,1,si,2,…,si,M]を暗号化し、得られたEA(si‖R1i)を大小比較装置15Aへ送信し、R2i, ti=[ti,1,ti,2,…,ti,M]を暗号化し、得られたEB(ti‖R2i)を大小比較装置15Bへ送信する。
ステップS6:H1i=h(si‖R1i), H2i=h(ti‖R2i), si,0, hM+1(cai), hM+1(cbi)を掲示板装置21に送り、公開する。
【0036】
掲示板装置21と大小比較装置15A,15Bによる大小比較処理、即ち最小意中値VMIN探索処理は、図7と同じである。
最小意中値VMINの特定以降、掲示板装置21は各ユーザ装置13-iから受信したh(cai), h(cbi)をM+1-MIN回ハッシュ演算することによりhM+1-MIN(cai), hM+1-MIN (cbi), i=1,2,…,Nを得て、これらを公開する。これらの値の正当性は、これらの値を更にMIN回ハッシュ演算して得られた値が公開情報hM+1(cai), hM+1(cbi)と一致することを検証することにより保障される。更に、勝者(落札者)特定のフェーズによって、各ユーザのsi,MIN, ti,MIN, hM+1-MIN(cai), hM+1-MIN(cbi)が公開されているため、これらを使ってステップS4を実行することによりこれらからどのユーザもsi,0を計算できる。
【0037】
ここで、もし前述のようにユーザ11-iと大小比較装置15Aまたは15Bが結託してsi,wとti,wの置き換えをこれらsi,MIN及びti,MINに対して行っていれば、一般にsi,0とは異なる値が計算される。即ち、この置き換えは検出されることになる。ただし、この検証は意中値の選択可能数Mとユーザ数Nの積MNのオーダで効率が悪い。しかしながら、本来の目的は勝者とその意中値を導出することなので、この敗者の"正当性検証フェーズ"は本質的でなく、実際にはプロトコル終了後に行えば十分である。
第3実施例
前述の第1及び第2実施例においては、2つの大小比較装置を使用し、各ユーザ装置は2系列の情報si, tiを生成する場合を示したが、第3実施例は、図1に破線で示す第3の大小比較装置15Cを加えて3つの大小比較装置を使用する。各ユーザは3系列の情報si,ti,uiを前述の実施例と同様にm=1,2,…,vi-1に対してsi,m=ti,m=ui,mとし、m=vi,vi+1,…,Mに対してsi,m≠ti,m≠ui,mとなるように生成し、それぞれ秘密に3つの大小比較装置に送り、第1実施例と同様に2つの大小比較装置と掲示板装置による大小比較処理を行う。この場合、2つのうちのいずれか一方が故障した場合、第3の大小比較装置が故障したものに代わって処理を実行可能である。基本的な動作は第1実施例と同様であるので、それらの図を参照して以下に説明する。
【0038】
ユーザ11-i(i=1,2,…,N)は、V1以上VM以下の意中の整数値Vviを定め、図2のユーザ装置13-iにおける情報系列生成部33によりV1以上Vvi未満に対応した情報は全て等しく、Vvi以上VM以下に対応した情報は全て異なるような3系列の情報si,ti,uiを作成する。また、乱数生成部31により乱数R1i,R2i,R3i及びriを生成し、ri=ai*bi*ciなる乱数情報ai, bi, ciを決める。(si,R1i)の組と情報aiを大小比較装置15Aに、(ti,R2i)の組と情報biを大小比較装置15Bに、(ui,R3i)の組と情報ciを大小比較装置15Cに、それぞれ秘密に(即ち、暗号化して)送信する。また、各組の連結si‖R1i,ti‖R2i,ui‖R3iについてハッシュ関数hによってハッシュ値H1i=h(si‖R1i),H2i=h(ti‖R2i),H3i=h(ui‖R3i)を計算し、更に、乱数情報のハッシュ値h(ai), h(bi), h(ci)と意中値Vviと乱数riのハッシュ値h(Vvi‖ri)を計算し、更に乱数情報のハッシュ値h(ai), h(bi), h(ci)と意中値Vviと乱数riのハッシュ値h(Vvi‖ri)を計算し、それらを掲示板装置21に送信し、公開する。
【0039】
各ユーザ11-iはH1i, H2i, H3i及びh(Vvi‖ri)を掲示板装置21に送信し、その値が公開されることでVviをコミットしたことになる。これにより、以降、意中の値を変更不可能とするとともに、もしなんらかの理由で自分の意中の値より大きい値が最小値となったときは、(si,R1i),(ti,R2i),(ui,R3i)の少なくとも2組を公開することで自分の意中の値が最小値であることを示すことができる。ただし、少なくとも2組が揃えばriが計算できるものとする。
以降の大小比較処理は、第1実施例で示したように掲示板装置21と2つの大小比較装置があればできるので、2つの大小比較装置,例えば15A及び15Bを使って図7の処理手順に従って実行する。
【0040】
即ち、掲示板装置21は、まず(wmin+wmax)/2=(1+M)/2以下の最大の整数wを初期値として大小比較装置15A,15Bに送る。大小比較装置15Aは、乱数RAw を生成し、全ユーザ装置から受信した系列si の要素si,wを取り出し、それらをユーザ11-1, 11-2, …,11-Nの順に並べた要素の連結Seqs,w=s1,w‖s2,w‖…‖sN,wを作成する。更に、ハッシュ関数h'によるハッシュ値HSw=h'(Seqs,w),ハッシュ関数hによるハッシュ値HAw=h(RAw‖HSw)及びべき乗剰余CAw=HSw RAw(mod P)を計算し、それら(HAw,CAw)の組を掲示板装置に送信する。大小比較装置15Bは、乱数RBwを生成し、全ユーザ装置から受信した系列ti の要素ti,wを取り出し、それらをユーザ11-1,11-2,…, 11-Nの順に並べた要素連結Seqt,w=t1,w‖t2,w‖…‖tN,wを作成し、ハッシュ関数h'によるハッシュ値HTw=h'(Seqt,w)、ハッシュ関数hによるハッシュ値HBw=h(RBw‖HTw)及びCBw=HTw RBw(mod P)を計算し、それら(HBw,CBw)の組を掲示板装置に送信する。
【0041】
次に大小比較装置15Aは、掲示板装置21より公開されたCBw=HTw RBw(mod P)を読み込み、CBw RAwmod P=(HTw RBw)RAw(mod P)を計算し、それを掲示板装置21に送信し、大小比較装置15Bは、掲示板装置21より公開されたCAw=HSw RAw(mod P)を読み込み、CAw RBwmod P=(HSw RAw)RBw(mod P)を計算し、それを掲示板装置21に送信する。
HSw とHTw が等しければ(HTw RBw)RAw(mod P)と(HSw RAw)RBw(mod P)は等しく、またPが大きな素数であり、かつP-1は大きな素因子を約数にもつから、HSw とHTw が異なり(HTw RBw)RAw(mod P)と(HSw RAw)RBw(mod P)が等しくなる可能性は無視できるほど小さい。従って、(HTw RBw)RAw(mod P)と(HSw RAw)RBw(mod P)が等しければ最小意中値VMINはVw+1以上であり、異なればVw以下であることが圧倒的確率で分かる。もし等しければ変数wminにw+1を代入し、異なれば変数wmaxにwを代入して上記操作を繰り返すことにより、およそlogM回でwmax=wmin(=MIN)となる。このときの値VMINが最小意中値となる。以下、図6で示したと同様に、MINを系列si, ti中のVMINに対応する要素番号とする。
【0042】
最小意中値VMINが分かった後、大小比較装置15Aは、aj, Seqs,MIN, RAMINを、大小比較装置15Bはbj, Seqt,MIN, RBMINを、大小比較装置15Cはcjのみをそれぞれ掲示板装置21に送信して公開することで、全ユーザは、それら2系列に対して異なる情報が入った部分に該当するユーザが最小値VMINを意中の値としたユーザ11-jであるということを特定できる。
上記過程で、トラブルにより一方の大小比較装置、例えば15Bのシステムがダウンしたとする。しかし、大小比較装置15Bのもつ情報と大小比較装置15Cのもつ情報は本質的に同じであるから、そのまま大小比較装置15Bの操作を大小比較装置15Cが引き継ぐことができる。
【0043】
最小意中値VMINの探索後、掲示板装置21に公開された最小意中値VMINの正当性についてはコミットしたH(Aj), H(Bj), H(Cj)について、例えばShamir, Aによる"How to Share a Secret," Comm. Assoc. Comput. March., vol.22, no.11, pp.612-613(Nov. 1979)に示されているようなシークレットシェアリング技術を応用することにより、3つの大小比較装置の任意の少なくとも2つが協力することで、ユーザのコミットした値Aj, Bj, Cjを開示するようにできる。即ち、H(Vmin‖Aj*Bj*Cj)を検証することができる。
【0044】
大小比較装置15A,15Bは連結要素Seqs,MIN, Seqt,MINを掲示板装置21に送信して公開した後、必要に応じてSeqs,z, Seqt,z(z=1,2,…,MIN)のうち大小比較処理に用いられたものを掲示板装置21へ送信し、VMINが正しいものであることを明らかにしてもよい。
以上説明したように、この発明では、要は、大小比較装置15A,15Bにおいて、掲示板装置21により指定された値wに対応した要素si,w, ti,wをそれぞれの系列si, ti(i=1,…,N)から取出し、それらを決められた順序に並べた要素連結Seqs,wとSeqt,wを作り、これらを明すことなく比較して、異なるか等しいかにより、Vw以下(最大値を求める場合はVw以上)に意中の値としたユーザがいるかを判定し、その判定結果にもとづき、wを変更すればよい。大小比較装置15A,15Bはべき乗剰余演算CAw=HSw RAw(mod P), CBw=HTw RBw(mod P)を使用せず、図7のステップS2A,S2BにおいてHSw=h(Seqs,w)とHTw=h(Seqt,w)とのみを生成して掲示板装置21に送信し、ステップS4でこれらを比較して、一致するか否か判定をしてもよい。ただし、この場合、系列si, tiの各要素が例えば1ビットと単純な構成にすると、要素連結Seqs,wが例えば(0‖1‖1‖0‖1‖0‖0)のように簡単なものになってしまい、任意のビット列のSeqs,wを作り、そのハッシュ値を計算して公開されているHSw=h(Seqs,w)と一致するようなビット列を試行錯誤で見つけることは容易になってしまうため、安全上好ましくない。一方、図7の実施例のように、HSw及びHTwをそれぞれ乱数RAw, RBwと連結してハッシュすることによりHSw, HTwを秘匿した場合、系列si, tiの要素を1ビットとしても安全である。系列si, tiの各要素を1ビットにした場合、ユーザ装置から大小比較装置15A,15Bへ送信する暗号化情報EA(si‖R1i), EB(ti‖R2i)のデータ量を削減でき、通信容量を削減できる利点がある。
【0045】
検証用ハッシュ値H1i=h(si‖R1i), H2i=h(ti‖R2i)を掲示板装置21に送信する場合も同様に、乱数R1i,R2iは安全性を高めたのであり、必ずしも用いなくてもよい。従ってH1i=h(si),H2i=h(ti)として掲示板装置へ送信してもよい。
また、上述においては大小比較装置15A,15Bで作成したSeqs,w, Seqt,wをそれ自身の値を明かすことなく、比較するために一方向性関数を用いたが、例えば同一の暗号鍵で、同一の暗号演算をSeqs,w, Seqt,wに対して行い、その結果を掲示板装置21へ送信して比較を行ってもよい。
【0046】
上述した第1及び第3実施例において、情報系列生成部33で生成する2系列情報si,tiとしては、例えば最小値を求める場合は、予め決めた共通の一方向性関数Fを使い、意中値Vviに対して、Fd(s'i)≠Fd(t'i)、(d=0, 1, …, M-vi)かつFe(s'i)=Fe(t'i)、(e=M-vi+1, …, M-1)となるようなシード値s'i, t'iを決めてもよい。ここで例えばF3(s'i)はF(F(F(s'i)))を表わす多重関数である。従って、情報系列si, tiはそれぞれ
si={si,1=FM-1(s'i), si,2=FM-2(s'i), …, si,vi-1=FM-vi+1(s'i), si,vi=FM-vi(s'i), …, si,M-1=F(s'i), si,M=s'i
ti={ti,1=FM-1(t'i), ti,2=FM-2(t'i), …, ti,vi-1=FM-vi+1(t'i), ti,vi=FM-vi(t'i), …, ti,M-1=F(t'i), ti,M=t'i
となる。この系列生成法では、シード値s'i, t'iが与えられれば、共通の一方向性関数Fを使って全ての要素si,1,…,si,M及びti,1,…,ti,Mを計算により求めることができる。従って、ユーザ装置から大小比較装置15A,15Bに送る暗号化系列情報EA(si‖R1i)及びEB(ti‖R2i)中に系列si, tiの全体を組み込まなくても、シート値s'i, t'iのみ、即ち、EA(s'i‖R1i), EB(t'i‖R2i)を組み込んで送れば、大小比較装置15A,15Bは、共通の一方向性関数Fを使ってシード値s'i, t'iから系列si, tiを生成することができる。
【0047】
このようなシード値s'i, t'iに基づいて情報系列si, tiを生成する多重関数F(x)、及びシード値の決め方について以下に説明する。
ユーザ装置11-iは、適当な大きさの素数p、qを選んで合成数n=p*qを計算する。合成数nは素因数分解問題を拠り所とする、RSA暗号などで用いられる方である。セキュリティの観点から、p、qは512ビット又は1024ビット程度の大きさ、かつp-1, q-1はそれぞれ大きな素因数を持つことが好ましい。
続いて、k=0からmについて、値が0からn-1の間の乱数akを生成し、多項式
F(x)= am*xm + am-1*xm-1 + … + a1*x + a0
を作成する。次に、値が0からn-1の間の乱数s'i, t'iを生成し、これらをシード値とする。次に、手法は自由であるが、例えば以下によりF(x)mod nに対するコリジョンを見つける。
ステップ1:u=1,2,…,cについてFu(s'i)mod nを計算し、逐次その計算結果F(s'i), F2(s'i),…, Fc(s'i)を記憶する。ここで、cはユーザが決定するパラメータであり、また、Fu(x)はu重の多重関数である。
ステップ2:flag=0, v=0, mx=c'とする。ここで、c'はユーザが決定するパラメータである。
ステップ3:Fv(t'i)mod nを計算し、その計算結果を記憶すると共に、その値がステップ1で記憶したF(s'i), F2(s'i),… ,Fc(s'i)のいずれかと一致するかを検査し、一致するものがあればflag=1とする。
ステップ4:flag=1又はv=c'であれば処理を終了し、そうでなければvに+1してステップ3に戻る。
【0048】
この場合、最終的にflag=1であることは、コリジョンが見つかったことに等しい。しかし一般にはF(x)mod nのとる範囲が広いため(1024ビット又は2048ビット程度)、コリジョンは簡単に見つからないことが予想される。そこで、nより小さい自然数n'を選び、本来の出力F(x)mod nを(F(x)mod n)mod n'と置き換えるなど、小さい範囲に還元する方法をとることによりコリジョンを見つけやすくできる。ここで、例えば(35mod15)mod3は5mod3=2である。いずれにしろ、以降、コリジョンが見つかったとして説明する。
【0049】
Fu'-1(s'i)≠Fv'-1(t'i), Fu'(s'i)=Fv'(t'i), 意中の値Vviが最小値V1から数えてw番目であるとすると、M-w+1≦u'かつM-w+1≦v'であればsi, tiが構成できる。即ち、
si={si,1=Fu'+w-2 (s'i),…,si,w=Fu'-1(s'i),…,si,M=Fu'+w-M-1(s'i)}
ti={ti,1=Fv'+w-2 (t'i),…,ti,w=Fv'-1(t'i),…,ti,M=Fv'+w-M-1(t'i)}
とすればよい。
なお,法(mod)として素因数分解問題を拠り所とするような合成数nを使用するのは,ある定数x'が存在したとき,F(x)-x'=0 mod nについて多項式F'(x)=F(x)/(x-x')の因数分解を容易にできなくするためである。例えば,siの要素の1つであるsi,kをみたとき、F(z)=si,kmod nを満たすzがただ1つ,即ちsi,k+1しか存在しない場合,明らかにユーザ11-iはVkを意中値としていないことがわかる。
【0050】
上述のコリジョン探索方法では意中値に関する情報が漏れてしまう危険があるため,n'のとり方に注意する必要がある。逆に,上記si, tiの構成条件を満たさない場合は,コリジョン探索ステップ1〜4を再度行えばよい。
また,関数F(x)としては,ハッシュ関数を用いてもよい。その場合もやはり一般にコリジョンは簡単に見つからないことが予想されるが,上記と同様の手法で出力を小さい範囲に還元することでコリジョンを見つけやすくすることができる。ただし,還元するサイズに関連して,場合によっては入力に対してパディングする必要が生じる。
【0051】
上述したようなシード値のみを送る方法によれば、大小比較装置へ系列情報を送信するための通信容量及び通信時間を削減することができる。また、意中値Vviとして選択可能な値の数Mが増加しても、送るのはシード値だけであり、通信容量は変わらない。一方、第1実施例のように、乱数により系列を生成する場合は、意中値として選択可能な値の数Mが増加すればそれと比例して系列の要素数が増加し、通信容量が増加する。
最大値を求める場合も同様に一方向性関数を使ってシード値から系列の全要素を生成してもよい。
【0052】
上述の実施例においては全ユーザの意中の値Vvi中の最小値VMINを決定したが、最大意中値VMAXの決定も同様に行うことができる。この場合は2系列情報siとtiとしては、V1以上Vvi以下に対応した情報はsiとtiとで異なり、Vvi+1以上VM以下に対応した情報はsiとtiとで等しいようにする。また各選択されたwに対応するSeqs,wとSeqt,wの比較、HSw=h'(Seqs,w)とHTw=h'(Seqt,w)の比較、(HTw RBw)RAwmod Pと(HSw RAw)RBwmod Pの比較において異なっていればVw以上を意中の値としたユーザがいると判断し、等しければVw以上を意中の値としたユーザがいないと判断し、等しい場合はw-1をwmaxとし、異なっていれば、wをwminとして、同様の処理を繰り返せばよい。
【0053】
wの決定は先に述べたようにすると効率的に最小値又は最大値を求めることができるが、wを例えばV1又はVMから順次変化させて大小比較を行ってもよい。更に1つの大小比較装置が最初のwを決定し、wを掲示板装置21を介して他の大小比較装置へ送り、掲示板装置21から必要な情報を受け取って、図7に示した処理を行ってもよい。
【0054】
【発明の効果】
以上述べたようにこの発明によれば、ユーザは意中の値に関する情報を1回だけ各大小比較装置及び掲示板装置に送信するだけで、効率的に最大値あるいは最小値とを特定でき、必要に応じてそれを意中の値としたユーザのみが特定できる、秘匿性の高い大小比較が実現できる。
【図面の簡単な説明】
【図1】第1の実施形態の全体のシステム構成例を示す図。
【図2】ユーザ装置のおもな機能構成例を示す図。
【図3】2系列情報の生成手順を示す流れ図。
【図4】大小比較装置15Aのおもな機能構成例を示す図。
【図5】大小比較装置15Bのおもな機能構成例を示す図。
【図6】それぞれの組の2系列情報を模式的に示す図。
【図7】最小値を特定するための流れ図。
【図8】第2実施例におけるユーザ装置の機能構成を示すブロック図。
【図9】図8における情報系列生成部33の機能構成を示すブロック図。
【図10】第2実施例におけるユーザ装置の処理手順を示す流れ図。
[0001]
BACKGROUND OF THE INVENTION
The present invention is an application technology of information security technology, for example, online on the Internet or the like, a plurality of users (users) compare secret values held in secret, the maximum value or the minimum value, The present invention relates to a size comparison method in which only a user having the intended value is specified, its apparatus, a user's intention value registration method, its program, and its recording medium.
[0002]
[Prior art]
An example of online comparison is “electronic bidding”. In the above method, the maximum value or the minimum value and the user who sets the maximum value or the minimum value are specified, but other information can be kept secret.
・ Kobayashi, Morita, “Efficient bidding method using one-way function for large / small comparison”, ISEC99, etc. Also,
・ H.Kikuchi, M.Harkavy, JDTygar, "Multi-round anonymous auction protocols" In IEEE Workshop on Dependable and Real-Time E-Commerce System, 1998, means more or less for a certain number We propose a method that only knows whether there is a user with a medium value.
[0003]
[Problems to be solved by the invention]
In the latter case, when there are multiple users with the maximum or minimum value as the intended value, the user cannot be identified, and the user with the maximum or minimum value as the intended value can know the second numerical value. There was a problem of end.
The object of the present invention is to compare the values that a plurality of users have intended on-line, and to safely and efficiently compare these maximum or minimum values and, if necessary, the desired values. The other is to provide a size comparison method, a device, a user's mean value registration method, a program thereof, and a recording medium for maintaining a secret.
[0004]
[Means for Solving the Problems]
According to the present invention, the plurality of user devices i, i = 1,..., N, and N is an integer equal to or greater than 2, the first and second magnitude comparison devices, the user device, and the first and second The lower limit V determined in advance by the bulletin board device that publishes the information received from the large / small comparison device1And upper limit VMMonotonically increasing M values V in the rangewHowever, w = 1,2, ..., M, and the desired value V determined by all usersviFrom their minimum value VMINAnd the magnitude comparison method for specifying only the user j having the minimum value as the mean value is:
(a) The implied value V input by the user in each of the above user devices iviFor the above lower limit V1Above, mean value VviThe elements corresponding to each other with less thanviAbove, upper limit VMIn the following, two information sequences s composed of M elements each having mutually different corresponding elementsiAnd tiAnd secretly transmitting information corresponding thereto to the first and second magnitude comparison devices, respectively, and M is the lower limit value V1The above upper limit VMIt represents the number of values that can be selected as the above mean value,
(b) In the first size comparison device, the lower limit V1Above, upper limit VMGiven value V belowwFor the above information series s from all user devicesiElements s corresponding to wi, wElement concatenated Seq which are arranged in a predetermined orders, w= S1, w‖S2, w‖… ‖SN, wAnd ‖ represents data concatenation,
(c) In the second comparison device, the given value VwThe above information series t from all user devicesiElement t corresponding to each wi, wElement concatenated Seq which are arranged in a predetermined ordert, w= T1, w‖T2, w‖… ‖TN, wThe steps of creating
(d) In the bulletin board device, the element connection Seqs, wAnd Seqt, wV, if they are different from each other, without revealing their own valueswIt is determined that there is a user with the following values as intended, and if equal, VwIt is determined that there is no user who has the following values, and based on the determination, the value of w is changed to change the minimum intention value VMINAnd publishing the element number MIN,
(e) The element connection Seq corresponding to the element number MIN published by the first and second size comparison devices.s, MINAnd Seqt, MINIs transmitted to the bulletin board device and published to each user device, so that the corresponding elements s in the element connection are associated with each other.i, MINAnd ti, MINAbout sj, MIN≠ tj, MINEnabling to detect that the number j is a user number j that has committed the minimum intention value;
Including.
[0005]
The user device used in the above-described size comparison method according to the present invention has an upper limit V for an integer value to be compared.MAnd lower limit V1M value, M is an integer greater than or equal to 2viHow to register
(a) Entered mean value VviV1VviElements corresponding to less than are equal to each other and VviVMThe elements corresponding to the following are two information series s consisting of M elements which are different from each other.iAnd tiA step of generating
(b) Information series aboveiAnd tiIs calculated, and the one-way function for these is calculated and the calculation result H1i, H2iA step of outputting
(c) The above information seriesiTo the first large / small comparing device, the above information series tiTo the second large / small comparison device, H1iAnd H2iSending each to the bulletin board device,
Including.
[0006]
The user device used in the size comparison method according to the present invention is:
Upper limit V for integer value to be comparedMAnd lower limit V1A storage unit storing M values of
V1VMThe following intended value VviAn input means for inputting
VviAnd V1, VMIs entered and V1VviElements corresponding to less than are equal to each other and VviVMThe elements corresponding to the following are two information series s consisting of M elements which are different from each other.iAnd tiOr V1VviThe following elements are different from each other, and VVi + 1VMThe elements corresponding to the following are two information sequences s consisting of M elements that are equal to each other.iAnd tiAn information sequence generation unit that generates and outputs one of1VMThe following nominal value VviIs the number of values that can be selected as
The above information seriesiAnd tiIs calculated, and the one-way function for these is calculated and the calculation result H1i, H2iA one-way function calculation unit that outputs
The above information seriesiTo the first large / small comparing device, the above information series tiTo the second large / small comparison device, H1iAnd H2iA transmission unit for transmitting the message to the bulletin board device
It is comprised so that it may contain.
[0007]
The size comparison device used in the size comparison method according to the present invention is:
Lower limit value V sent from each user device1Above, upper limit VMThe following nominal value VviA receiving unit that receives an information sequence composed of elements of the number M of values that can be selected as: and receives an integer value w sent from the bulletin board device;
A storage unit for storing the received information series;
A w-th element in the information series received from each user is input, a one-way function is calculated for these connections, and a one-way function calculation unit that outputs the calculation result;
A transmitter for transmitting the one-way function calculation result to the bulletin board device;
It is comprised so that it may contain.
[0008]
In the above, maximum mean value VMAXTo determine the series of values V1~ VMAre assigned numbers 1 to M in descending order, and the implied value VviIf the number corresponding to is vi, two information series si, tiIs generated when the number element w is 1 or more and less than vi for numbers 1 to M.i, w= ti, wAnd s for vi and above and below Mi, w≠ ti, wIf the information sequence is generated so thatviMaximum value of VMAXCan be determined.
The size comparison method by the size comparison device used in the size comparison method according to the present invention is:
(a) From each user device i, i = 1, 2, ..., N, lower limit V1Above, upper limit VMSignificant value V among the following M valuesviInformation sequence s consisting of M elements as information representingi= [si, 1, si, 2,…, Si, M] Each receiving
(b) receiving an integer value w sent from the bulletin board device;
(c) Information series received from each user deviceiWth element ini, wAnd calculating a one-way function for these concatenations;
(d) transmitting the one-way function calculation result to the bulletin board device;
Including.
[0009]
The size comparison device used in the size comparison method according to the present invention is:
Lower limit value V sent from each user device1Above, upper limit VMThe following nominal value VviA receiving unit that receives an information sequence composed of elements of the number M of values that can be selected as: and receives an integer value w sent from the bulletin board device;
A storage unit for storing the received information series;
A w-th element in the information series received from each user is input, a one-way function is calculated for these connections, and a one-way function calculation unit that outputs the calculation result;
A transmitter for transmitting the one-way function calculation result to the bulletin board device;
Is configured to include.
[0010]
Thus, in this invention, each user 11-i (i = 1, 2,..., N)1VMThe following intended value VviIs determined by the user device, and two series of numerical values each consisting of M values are converted to V1VviElements corresponding to less than are equal and VviVMTwo information series s whose elements corresponding to the following are different from each otheriAnd tiCreate and siTo the first large and small comparison device, tiAre secretly transmitted to the second size comparison device. siOr tiJust VviSince no information is available about anyone, even for each large and small comparison device VviIs never known.
[0011]
Information about the intended value of all usersi, tiWhen (i = 1, 2,..., N) are complete, the minimum value is determined. Although this procedure is free, as an efficient method, first, two variables w 1 to M are used.min, wmaxLet the initial values of be 1 and M, respectively (wmin+ wmax) / 2 = The largest integer less than (1 + M) / 2 is w and VwThe first large / small comparison device determines whether there is a user who has the following values as intentional values.iThe w th element fromi, wSeq that is arranged in a predetermined order (for example, the user is assigned a number in advance and the number is in that order)s, w= S1, w‖S2, w‖… ‖SN, w(‖ Represents data concatenation), and the second large / small comparison device displays the information sequence t for all users.iTo w th element ti, wSeq, which is arranged in a predetermined ordert, w= T1, w‖T2, w‖… ‖TN, wCreate and Seqs, wAnd Seqt, wAre compared using one-way functions or cryptographic functions without revealing their own values, and if they are different, VwIt is determined that there is a user who has the following values, and the variable wmaxSubstituting w for Seqs, w, Seqt, wAnd make the comparison and VwIt is determined that there is no user with the following values as intended, and the variable wminSubstituting w + 1 formin= WmaxBy repeating until (= MIN), the minimum value VMINTo decide.
Finally wmin= wmaxIf = MIN, Seqs, MIN, Seqt, MINPublishing the minimum value for everyone VMINCan be identified.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
When performing a size comparison, the upper limit integer value VM, Lower integer value V1Assume that a large prime number P has already been determined. The prime number P is a prime number such that P-1 has a large prime factor as a divisor, that is, satisfies a condition of a cryptosystem with a discrete logarithm problem as a place.
First, as a first embodiment, a method will be described in which two users can specify only the minimum value and the user who sets it as the intended value from the intended values of all users using two size comparison devices. Next, as a second embodiment, an example in which security is improved, and as a third embodiment, when three size comparison devices are used, and one of them is in the middle of a size comparison, the system goes down. A method is shown in which only the minimum value and the user who sets the minimum value from the intended value read by the user can be specified.
First embodiment
First, FIG. 1 shows the configuration of the entire system in the first embodiment. User devices 13-1 to 13-N, size comparison devices 15A and 15B, a bulletin board device 21, and a database 23 are provided. The size comparison devices 15 </ b> A and 15 </ b> B can communicate with the bulletin board device 21. The symbol Y indicates browsing information read from the bulletin board device 21. A database 23 is connected to the bulletin board device 21. Note that the size comparison device 15C indicated by a broken line in FIG. 1 is used in a third embodiment to be described later.
[0013]
As shown in FIG. 2, each user device 13-i includes an input unit 30, a random number generation unit 31, a storage unit 32, an information series generation unit 33, an encryption unit 34, a hash function calculation unit 35, The transmitting unit 36, the control unit 37, the connecting unit 38, and the disassembling unit 39 are configured.
Each user 11-i (i = 1, 2,..., N)1VMThe following integer value VviAnd is input to the user device 13-i by the input unit 30 such as a keyboard. The information sequence generation unit 33 of the user device 13-i receives the input VviAnd two series of information s with the same number of elements M based on the random number generated by the random number generator 31.i= {Si, 1, si, 2,…, Si, M} And ti= {Ti, 1, ti, 2,…, Ti, M} Is generated. M is V1To VMIs the number of values that the user can select as the intent value, and therefore a monotonically increasing series of values V1~ VMRespectively correspond to the numbers 1 to M on a one-to-one basis.
[0014]
Here, user 11-i sets the mean value to Vvi2 series si, tiSi, 1= Ti, 1, Si, 2= Ti, 2, ..., si, vi-1= Ti, vi-1, Si, vi≠ ti, vi, Si, vi + 1≠ ti, vi + 1, ..., si, M≠ ti, MTo be generated. SiAnd tiV1VviLess than corresponding elements (information) are equal to each other and VviVMThe following corresponding elements are generated differently.
FIG. 3 shows such two series of information s.iAnd tiAn example of the generation procedure is shown.
Step S1: vi-1 random number r having a predetermined number of bits1, r2,…, R(vi-1)Generate these si, m= ti, m, m = 1,2, ..., vi-1 two subsequences si, 1, si, 2,…, Si, vi-1And ti, 1, ti, 2,…, Ti, vi-1And
Step S2: Let m be vi.
Step S3: Two random numbers rs, rtIs generated.
Step S4: These two random numbers rsAnd rtIf they are equal, the process returns to step S3.
Step S5: If these two random numbers are different from each other, rsSi, mRtTi, mAnd m is incremented by one.
Step S6: If m is smaller than M, the process returns to Step S3.
Step S7: If m is not smaller than M in Step S6, the two partial series s generated in Step S1i, 1, si, 2,…, Si, vi-1And ti, 1, ti, 2,…, Ti, vi-1Set by repeating steps S3 to S5i, vi, si, vi + 1,…, Si, MAnd ti, vi, ti, vi + 1,…, Ti, M2 series informationi= {Si, 1, si, 2,…, Si, M} And ti= {Ti, 1, ti, 2,…, Ti, M} Is stored in the storage unit 32 of FIG.
[0015]
Random number R1 in the random number generator 31i, R2iProduces (si, R1i) To the size comparison device 15A, (ti, R2i) Are secretly stored in the size comparison device 15B, for example, the encryption unit 34 uses the encryption function EA, EBEncrypted sequence information EA(si‖R1i), EB(ti‖R2i). Encryption function EAAnd EBAre public key encryption functions that can be decrypted only by the size comparison devices 15A and 15B. In addition, the minimum intention value V described laterMINAs the data for verifying the validity of the random number riAnd the implied value V at the connecting portion 38.viAnd random number riV concatenatedvi‖RiFurther, r is decomposed by the decomposition unit 39.i= ai* biRandom number information a (* is an operator announced in advance)i, biDecide. Operator * is ai, biIf giveniAs long as it is necessary to be determined uniquely, for example, exclusive OR, subtraction, addition, etc. can be used.
[0016]
Concatenation of each series and random number by hash function calculator 35i‖R1iAnd ti‖R2iFor the hash value h1 by the hash function hi= H (si‖R1i), H2i= H (ti‖R2i). The hash function calculation unit 35 further includes ai, bi, Vvi‖RiHash value h (ai), h (bi), h (Vvi‖Ri) And all these are transmitted to the bulletin board apparatus 21. The minimum and maximum values V1, VM2 seriesi, Ti, Random number R1i, R2i, Mean value Vvi, Random number ri, Random number information ai, biIs stored in the storage unit 32, and the transmission unit 36 transmits each information to the size comparison devices 15A and 15B and the bulletin board device 21. Reading / writing with respect to the memory | storage part 32 and the operation instruction | indication with respect to each part are performed by the control part 37. FIG. The user device 13-i may be configured to function by executing a program with a computer.
[0017]
Each user device 13-i has a hash value h (Vvi‖Ri), H1iAnd H2iIs sent to the bulletin board device 21 and the value is disclosed to theviIs committed. In other words, mean value VviV without revealingviIs registered as having the desired value. As a result, the implied value VviCan not be changed, and for whatever reason, the value VviLarger value is minimum value VMIN, Si, R1i, Ti, R2iOr (Vvi‖Ri) Is open to the publicviThe minimum value V announcedMINIt can show that it is smaller and can prove fraud. In addition, information series si, tiInstead of hashing each of them individually,i, tiAnd random number R1i, R2iThe reasons for concatenating and hashing are as follows. That is, H1i= H (si), H2i= H (ti) If the number of bits of each element of the information sequence si, ti is reduced and the sequence siOr tiIf one of the users knows in some way, that user can easily estimate the value of the other (thus si, tiKnow VviThis is to prevent such a situation and increase the secret for the size comparison devices 15A and 15B. However, if the confidentiality may be relaxed to some extent or if the number of bits of each element is large, the random number R1i, R2iMay be omitted.
[0018]
As shown in FIG. 4 (and FIG. 5), the configuration of the size comparison device 15A (and 15B) includes a receiving unit 40A (40B), a decrypting unit 47A (47B), a storage unit 47A (47B), and a random number generating unit. 42A, (42B), a hash function calculation unit 43A (43B), a power-residue calculation unit 44A (44B), a transmission unit 45A (45B), and a control unit 46A (46B).
Encrypted sequence information E from each user device 13-i received by the receiving unit 40A of the size comparison device 15AA(si‖R1i) Is decrypted by the decryption unit 47A and si‖R1i(i = 1, ..., N) is obtained, s as neededi‖R1iH (s) by hashing with the hash function calculation unit 43Ai‖R1i), And this is published on the bulletin board 21iCan be verified. Obtained si‖R1iFrom information series1~ SNAnd random number R11~ R1NSeparated and stored in the storage unit 41A. The large prime number P described above is also stored in advance in the storage unit 41A. Similarly, the encrypted sequence information E from each user device 13-i received by the receiving unit 40B of the size comparison device 15B.B(ti‖R2i) Is decoded by the decoding unit 47B and obtained ti‖R2iVerify the information series t1~ TNAnd random number R21~ R2NAre stored in the storage unit 41B. The large prime number P is stored in the storage unit 41B.
[0019]
The bulletin board device 21 stores the information received from the user devices 13-1 to 13-N and the size comparison devices 15A and 15B in the database 23, and makes the information accessible to any device. It is determined whether the information from the comparison devices 15A and 15B matches, and only the value of w given to the size comparison devices 15A and 15B is updated based on the determination result, and their configuration is not shown.
Encryption information E from all user devices 13-i, i = 1, ..., NA(si‖R1i), EB(ti‖R2i), Hash value H1i, H2i, h (Vvi‖Ri), h (ai), h (bi) Transmission is completed, for example, from the bulletin board device 21, two integer variables 1 to M are w.min, wmaxLet the initial values of be 1 and M, respectively (wmin+ wmax) / 2 = Initial value V, where w is the largest integer less than (1 + M) / 2wIs transmitted to the size comparison devices 15A and 15B and received by the receiving units 40A and 40B. As shown in FIG. 4, the size comparison device 15A receives a random number RA from the random number generator 42A.wAnd the sequence s received from each user device 13-i by the sequence generator 48AiElement s corresponding to wi, wOf the elements arranged in the order of user 11-1, user 11-2,..., User 11-N.s, w= S1, w‖S2, w‖… ‖SN, wCreate The hash function calculation unit 43A uses the hash function h ′ to connect the elements Seqs, wHash value for HSw= H '(Seqs, w) And the random number RA generated by the coupler 49AwAnd hash value HSwConcatenated RAw‖HSwHash value HA with hash function h forw= H (RAw‖HSw) And calculate its HSwAnd random number RAwIs input to the modular exponentiation unit 44A and the CAw= HSw RAw(mod P) and calculate them (HAw, CAw) Is transmitted from the transmitting unit 45A to the bulletin board apparatus 21 and disclosed. However, the hash function h ′ is a one-way function that copies an arbitrary value uniquely and randomly on the finite field Fp. The hash function h is a versatility function such as SHA-1.
[0020]
As shown in FIG. 5, the size comparison device 15B uses a random number generator 42B to generate a random number RB.wEach information sequence t received from all user devicesiElement t corresponding to wi, wAre stored in the storage unit 41B and are arranged in the order of user 11-1, user 11-2,..., User 11-N.t, w= T1, w‖T2, w‖… ‖TN, wCreate The hash function calculation unit 43B performs element concatenation Seq using the hash function h ′.t, wHash value HT forw= H '(Seqt, w) And the random number RB generated by the coupler 49BwAnd hash value HT by hash function hwConcatenated RBw‖HTwHash value for HBw= H (RBw‖HTw). These HTwAnd RBwIs input to the modular exponentiation unit 44B and CBw= HTw RBw(mod P) and calculate them (HBw, CBw) Is transmitted from the transmitting unit 45B to the bulletin board apparatus 21, and is released.
[0021]
Next, the large / small comparison device 15A has the CB released by the bulletin board device 21.wIs input to the power-residue calculating unit 44A and the previously generated random number RAwWith CBw RAwAnd the calculation result is transmitted to the bulletin board apparatus 21. Similarly, the large / small comparison device 15B is also disclosed by the CA published by the bulletin board device 21.w= HSw RAw(mod P) is read and input to the exponentiation remainder calculation unit 44Bw RBw= (HSw RAw)RBw(mod P) is calculated, and the result is transmitted to the bulletin board apparatus 21.
FIG. 6 shows the information sequence s generated by the information sequence generation unit 33 by each user device 13-i.i, ti, i = 1,..., N are shown schematically vertically. Each pair of seriesi= {Si, 1, si, 2,…, Si, m,…, Si, M}, Ti= {Ti, 1, ti, 2, ..., ti, m, ..., ti, M} Any pair of corresponding elements ini, m, ti, m), m = 1,2, ..., M, the straight line is si, m= ti, mThe zigzag part is si, m≠ ti, mRepresents a partial series. For example, as shown in the figure, the value of m = wi, tiFor a set of (s)1, w‖S2, w‖… ‖SN, w) = (t1, w‖T2, w‖… ‖TN, w), Ie Seqs, w= Seqt, wAnd hence h '(Seqs, w) = h '(Seqt, w), Ie HSw= HTwIt can be seen that it is. However, the height of w is at least one set of si, tiIf the height passes through the zigzag part of (s1, w‖S2, w‖… ‖SN, w) ≠ (t1, w‖T2, w‖… ‖TN, wSo, HSw= HTwThe possibility of becoming small is negligible. Therefore, HSw≠ HTwIt becomes.
[0022]
HSwAnd HTwIf they are equal, they are sent to the bulletin board device 21 (HTw RBw)RAw(mod P) and (HSw RAw)RBw(mod P) is equal. Also, since P is a large prime number and P-1 has a large prime factor as a divisor, HSwAnd HTwAre different, (HTw RBw)RAw(mod P) and (HSw RAw)RBwThe possibility that (mod P) is equal is negligibly small. Therefore, (HTw RBw)RAw(mod P) and (HSw RAw)RBws if (mod P) is equal1, w= T1, w, S2, w= T2, w, ..., sN, w= TN, wTherefore, for each i, si, m= ti, m, m = 1,…, w and V1To VM1st to wth values V of M values1~ VwMean value VviNot, therefore minimum mean value VMINThere is no. That is, there is a minimum intention value from the (w + 1) th to the Mth. (HTw RBw)RAw(mod P) and (HSw RAw)RBwIf (mod P) is different, it is understood with an overwhelming probability that there is a minimum intention value below the w-th.
[0023]
The bulletin board apparatus 21 performs this comparison judgment, and if (HTw RBw)RAw(mod P) and (HSw RAw)RBwThe variable w if (mod P) is equalminIs substituted for w + 1, and if it is different, the variable wmaxThe above operation is repeated by substituting w for. By repeating the above, w in approximately logM timesmax= Wmin(= MIN). At this time, V1~ VMMIN-th value V inMINIs the minimum intention value.
The above-described minimum value search procedure is shown in FIG.
Step S1: The bulletin board apparatus 21 starts with an integer variable w of 1 to M.minAnd wmaxLet the initial values of be 1 and M, respectively (wmin+ wmax) / 2 or less, and the maximum integer w is transmitted to the size comparison devices 15A and 15B.
Step S2A: Element connection Seq in the size comparison device 15As, wAnd random number RAwGenerates a hash value HSw= h '(Seqs, w), HAw= h (RAw‖HSw) And power residue CAw= HSw RAwCalculate (mod P)w, CAw) Is transmitted to the bulletin board apparatus 21.
Step S2B: Similarly in the size comparison device 15B, the element connection Seqt, wAnd random number RBwProduces HTw= h '(Seqt, w), HBw= h (RBw‖HTw), CBw= HTw RBwCalculate (mod P) and (HBw, CBw) Is transmitted to the bulletin board apparatus 21.
Step S3A: The size comparison device 15A receives the CB from the bulletin board device 21.wRead CBw RAwmod P = (HTw RBw)RAwmod P is calculated and transmitted to the bulletin board apparatus 21.
Step S3B: The size comparison device 15B receives the CA from the bulletin board device 21.wRead the CAw RBwmod P = (HSw RAw)RBwmod P is calculated and transmitted to the bulletin board apparatus 21.
Step S4: The bulletin board apparatus 21 is (HTw RBw)RAwmod P and (HSw RAw)RBwCheck whether mod P matches.
Step S5: If they match, w + 1 is wminAnd
Step S6: If they do not match, w is wmaxAnd
Step S7: wmax= WminIf not, the process returns to step S1, and the same processing by steps S2A, S2B, S3A, S3B, S4, S5, and S6 is repeated.
Step S8: w in step S7maxAnd wminIf they are equal, wmin= MIN and the value corresponding to the number MIN is the minimum intention value VMINWill be announced together. The size comparison devices 15A and 15B are element connected Seq corresponding to MIN.s, MIN, Seqt, MINIs transmitted to the bulletin board apparatus 21 to thereby correspond to the corresponding element s in the connection of these two elements.j, MINAnd tj, MINThis makes it possible to identify users 11-j whose mutually differ.
[0024]
In other words, each of the users 11-1 to 11-Nv1~ VvNThe lowest mean V of those committed asMINWould have been sought. This minimum mean value VMINAfter knowing, the size comparison device 15A, 15Bmin= wmax= Seq when MINs, MIN, RAMIN, Seqt, MIN, RBMINAre transmitted to the bulletin board apparatus 21, and all the users 11-1 to 11-N are connected to the two elements connected Seq.s, MIN, Seqt, MINThe corresponding element ofi, MINAnd ti, MIN, For each i = 1, ..., N and the corresponding part is sj, MIN≠ tj, MINThe user 11-j corresponding to the j-th part containing the information that isMINThe mean value VvjIt can be confirmed. Seqs, MIN, Seqt, MINIs known, the user j corresponding to the different j-th can be identified.
[0025]
In the first embodiment described above, the size comparison device 15A has the users 11-i, i = 1,.i= ai* biRandom number information aiThe size comparison device 15B receives random number information b from the user 11-i.iIs receiving. Also, the bulletin board device 21 receives the h (ai), h (bi), h (Vvi‖Ri). Therefore, minimum intention value VMINIf the size comparison device 15A determines that the random number r for all users isiIf you know about V for each i1To VMUp to each value VwFor h (Vw‖Ri) To calculate the published h (Vvi‖Ri) Matches Vw= VviTherefore, the bulletin board device 21 is VMINV before starting the searchMINIs not known from the viewpoint of security. However, in the first embodiment described above, ri= ai* biRandom number information aiAnd biAre separately supplied to the size comparison devices 15A and 15B, the size comparison devices 15A and 15B are each independently VMINCannot be explored.
[0026]
Minimum intention value VMINAfter searching for the minimum mean value V published to the bulletin board device 21MINCan be verified as follows.
User 11-j h (aj), h (bj), h (Vvj‖Rj) Has already been released. The large and small comparison devices 15A and 15B have random number information aj, bjIs sent to the bulletin board device 21 and published. Each user device 13-i is a Vvj= VMIN, rj= aj* bjUse h (VMIN‖Aj* bj) And calculate h (VMIN‖Aj* bj) = h (Vvj‖Rj) Is verified. If they do not match, it means that the user 11-j has cheated or the size comparison device 15A or 15B has cheated. So aj, bjTo h (aj), h (bj) And verify that they match what is published. If there is a mismatch, aj, bjIt can be determined that the size comparison device that transmitted the mismatched ones made fraud. If both match, the published h (Vvj‖Rj) Can be determined to have been fraudulent.
[0027]
Thus, each user has ri= ai* biBecome ai, biH (ai), h (bi), h (Vvi‖Ri) To the bulletin board device 21, the size comparison devices 15 </ b> A and 15 </ b> B send the bulletin board device 21 aj, bjThe verification information h (a) published by the bulletin board device 21 can be confirmed.i), h (bi) Is proved to belong to user 11-i, ai, biThe same effect as when the user 11-i attaches a signature to guarantee the correctness is obtained, and the calculation processing amount is smaller than when the signature is used, and the user does not need a signature means. . Random number riIt is desirable that the size is sufficiently large from the viewpoint of security.
[0028]
In the first embodiment described above, it is assumed that HTwWhat I knew was HSwIf it is correct, the value of the other user's intention can be known. However, since P is a large prime number and P-1 has a large prime factor as a divisor, HSw RAwmod P RAwBecause it is difficult to ask forwI can't know if is really correct. Therefore, other users cannot know the intended value.
Finally, RAMIN, RBMINBy publishing these and Seqs, MIN, Seqt, MINBy using, it is possible to confirm whether the size comparison processing has been performed correctly.
[0029]
In the large / small comparison devices 15A and 15B, reading and writing to the storage units 41A and 41B, processing of received information, sending each piece of transmission information to the corresponding device by the sending units 45A and 45B, and operating the other units, etc. This is performed by the control units 46A and 46B. The size comparison devices 15A and 15B can also function by executing a program with a computer.
The bulletin board device 21 is not particularly shown in its figure, but includes a transmission / reception unit for each user device and the size comparison device 15A, 15B, stores the received information in the database 23 (FIG. 1), and requests browsing If there is, the database 23 reads out the corresponding information and transmits it to the request source, and also performs the processing shown in FIG. 7 and the transmission / reception necessary for its execution. The bulletin board device 21 can also be made to function by executing a program by a computer.
[0030]
In the above, a series of values V1~ VMAre associated with numbers 1 to M in ascending order, and the implied value V of all usersviMedium minimum value VMINWas explained, but the maximum intention value VMAXTo determine the series of values V1~ VMOn the other hand, if numbers 1 to M are associated in descending order, the mean value VviIf the number corresponding to is vi, two information series si, tiIs generated when the number element w is 1 or more and less than vi for numbers 1 to M.i, w= ti, wAnd s for vi and above and below Mi, w≠ ti, wIf the information sequence is generated so thatviMaximum value of VMAXCan be determined. That is, the value V in FIG.1~ VMBy simply reversing the top and bottom ofMINTo determine the number MIN giving the maximum mean value VMANIt can be seen that this is the same as determining the number MAX giving. That is, in the first embodiment described above, V1~ VMIf the numbering of 1 to M is reversed to M to 1 and MIN is replaced with MAX, the process of FIG.MAXThe size comparison processing procedure for searching for is shown. The same applies to the following embodiments.
Second embodiment
By the way, in the above-described first embodiment, if a user 11-i collaborates with either one of the size comparison devices, the user 11-i has already reached the mean value V.viDespite being committed, the game can be abandoned (bid cancellation) without being known to other users and other size comparison devices. Here, the abandoned game is the committed intention value VviIndependently, i.e. the mean value V of all usersv1, Vv2, ..., VvNMedium, VviRegardless of whether or not the user 11-i is the smallest, the user 11-iMINIt means that it is not determined by (do not make a successful bid).
[0031]
For example, whenever the user 11-i collaborates with the size comparison device 15B and w is given from the bulletin board device 21 in the size comparison processing of FIG. 7, the sequence element t of the user 11-i is obtained in step S2B.i, wThe element concatenation Seqt, wInstead of embedding in, the sequence element s informed by user 11-ii, wBy embedding the value ofi, w≠ ti, wWhere s should bei, w= ti, wBy doing so, even if user 11-i's mean value VviIs the minimum value VMINEven if the user 11-i is the minimum value V in the minimum value search by the bulletin board device 21MINWill no longer be determined as one of the remaining users VMINIt will be decided. Such a decision is not justified. This minimum value VMINAs for the validity of the decision, the above-mentioned validity verification method uses the minimum value VMINDetermined and published intention value VvjAnd for user 11-j only h (Vvj‖Rj) And h (aj‖Bj) Cannot be detected because the user 11-i collides with the size comparison device 15B.
[0032]
In the following, a size comparison method of an embodiment improved so as to prevent fraud by collusion between such a user and a size comparison device will be described.
The feature of this second embodiment is that the information series s of each user 11-i pair in the first embodimenti, tiThe feature is the sequence s of M elements.i= {Si, 1,…, Si, M} And ti= {Ti, 1, ..., ti, M}, The generation of the m-th element is to generate it based on the information of all elements that go back to it. Therefore, the series si, 1, si, 2,…, Si, MThe mth element si, mTi, mOr any other value s'i, mReplace with the series si, 1, si, 2,…, S 'i, m,…, Si, MElement s' ini, mIs an element that goes backi, 1, si, 2,…, Si, m-1Not based on the information of, and subsequent elementsi, m + 1,…, Si, MAlso elementsi, mSince it is not based on previous elements, its unauthorized replacement can be detected. The second embodiment will be specifically described below.
[0033]
FIG. 8 shows the configuration of the user device 13-i for carrying out the size comparison method according to the second embodiment. In this configuration, the connecting unit 38 and the disassembling unit 39 are removed from the user apparatus of FIG. 2, and the information series generating unit 33 is configured as shown in FIG. The random number generation unit 31 uses the random number R1 as in the embodiment of FIG.i, R2iAnd s as the initial random numberi, M + 1, ti, M + 1, cai, cbiIs generated. The information sequence generator 33 sequentially si, M, si, M-1,…, Si, 1, And si, 0And ti, M, ti, M-1, ..., ti, 1Is generated.
FIG. 9 shows a configuration example of the information series generation unit 33. In FIG. 9, the information sequence generator 33 includes hash calculators 33-1A and 33-1B, couplers 33-2A and 33-2B, hash calculators 33-3A and 33-3B, and a coupler 33-4. It consists of. Hash calculators 33-1A and 33-1B have initial random numbers cai, cbiAre given, and their hash value h (cai), h (cbi), And the next time and after, the calculation results are repeatedly hashed. The coupler 33-2AiThe sequence information and the output of the hash calculators 33-1A and 33-1B at that time are connected. The coupler 33-2B is tiThe sequence information and the output of the hash calculators 33-1A and 33-1B at that time are connected. The hash calculators 33-3A and 33-3B calculate the hash value from the outputs of the couplers 33-2A and 33-2B, respectively, and the sequence elements s of that timei, m, ti, mOutput as. The outputs of the hash calculators 33-1A and 33-1B input to the couplers 33-2A and 33-2B for the m-th hash calculation by the hash calculators 33-3A and 33-3B are This is the hash operation output.
[0034]
si, m≠ ti, mSubseries ofi, m, ti, mIn the process of generatingiSeries information and tiS as the initial value of the series informationi, M + 1, ti, M + 1Is input to the connectors 33-2A and 33-2B, and the first hash output of the hash devices 33-1A and 33-1B is input to both connectors 33-2A and 33-2B, and the outputs of those connectors S after the second hash valueiSeries information and tiAs series information, it is given as an input to couplers 33-2A and 33-2B.
When generation of the partial series from m = M to m = v ends, the expected value VviThe output s of coupler 33-4 at m = vi-1 corresponding toi, vi‖Ti, viTo both couplers 33-2A and 33-2BiSeries information and tiThe hash value is calculated by the hash calculators 33-3A and 33-3B, which are input as series information and the concatenation results. In this process, the same series information s as the output of the same hash calculator 33-1A, 33-1Bi, vi‖Ti, viIs given to both couplers 33-2A and 33-2B, the output s of the hash calculators 33-3A and 33-3B at m = vi-1i, mAnd ti, mAre equal.
[0035]
After that, the output of the hash calculators 33-3A, 33-3B againi, m, ti, mAre input to the couplers 33-2A and 33-2B as series information, respectively, and s is obtained by repeating the sequential calculation for m = vi-2, vi-3,.i, m= ti, mAre generated.
FIG. 10 shows a processing procedure of the user device 13-i in the second embodiment.
Step S1: User 11-i receives initial random number R1i, R2i, cai, cbi, si, M + 1, ti, M + 1Is generated.
Step S2: The initial value of m is set to M, and the mean value ViSequentially for m = M, M-1, ..., vi
si, m= H (si, m + 1‖HM + 1-m(cai) ‖HM + 1-m(cbi))
ti, m= H (ti, m + 1‖HM + 1-m(cai) ‖HM + 1-m(cbi))
Calculate si, m≠ ti, mSave as a partial series.
Step S3: Series elements for m = vi-1
si, m= Ti, m= H (si, m + 1‖Ti, m + 1‖HM + 1-m(cai) ‖HM + 1-m(cbi))
Calculate and save.
Step S4: m = vi-2, vi-3,...
si, m= ti, m= H (si, m + 1‖HM + 1-m(cai) ‖HM + 1-m(cbi))
Calculate si, m= ti, mSave as a partial series.
Step S5: R1i, si= [si, 1, si, 2,…, Si, M] Encrypted and obtained EA(si‖R1i) To the size comparison device 15A, R2i, ti= [ti, 1, ti, 2, ..., ti, M] Encrypted and obtained EB(ti‖R2i) Is transmitted to the size comparison device 15B.
Step S6: H1i= h (si‖R1i), H2i= h (ti‖R2i), si, 0, hM + 1(cai), hM + 1(cbi) Is sent to the bulletin board device 21 and released.
[0036]
Size comparison processing by the bulletin board device 21 and the size comparison devices 15A and 15B, that is, the minimum mean value VMINThe search process is the same as in FIG.
Minimum intention value VMINAfter the identification, the bulletin board device 21 receives the h (ca received from each user device 13-i.i), h (cbi) By hashing M + 1-MIN timesM + 1-MIN(cai), hM + 1-MIN(cbi), i = 1,2, ..., N and release them. The validity of these values is that the value obtained by further hashing these values MIN times is the public information hM + 1(cai), hM + 1(cbi) To ensure that it matches. In addition, each user's si, MIN, ti, MIN, hM + 1-MIN(cai), hM + 1-MIN(cbi) Are publicly available, so that any user can si, 0Can be calculated.
[0037]
Here, if the user 11-i and the size comparison device 15A or 15B collide as described above,i, wAnd ti, wReplace thesei, MINAnd ti, MINIf you are going againsti, 0Different values are calculated. That is, this replacement is detected. However, this verification is inefficient on the order of the product MN of the number M of selectable values and the number N of users. However, since the original purpose is to derive the winner and its intention value, the “validity verification phase” of this loser is not essential, and in practice it is sufficient to do it after the end of the protocol.
Third embodiment
In the first and second embodiments described above, two size comparison devices are used, and each user device has two series of information s.i, tiIn the third embodiment, three size comparison devices are used in addition to the third size comparison device 15C indicated by a broken line in FIG. Each user has 3 lines of informationi, ti, uiS for m = 1, 2, ..., vi-1 as in the previous embodiment.i, m= ti, m= ui, mAnd s for m = vi, vi + 1, ..., Mi, m≠ ti, m≠ ui, mAre secretly sent to the three size comparison devices, and the size comparison processing is performed by the two size comparison devices and the bulletin board device as in the first embodiment. In this case, if one of the two fails, the process can be executed in place of the failure of the third size comparison device. Since the basic operation is the same as that of the first embodiment, it will be described below with reference to those drawings.
[0038]
User 11-i (i = 1,2, ..., N)1VMThe following integer value VviAnd the information sequence generator 33 in the user device 13-i in FIG.1VviAll the information corresponding to less than is equal, VviVMInformation corresponding to the following 3 types of information that are all differenti, Ti, UiCreate Further, the random number generator 31 performs random number R1.i, R2i, R3iAnd ri, and ri= ai* bi* ciRandom number information ai, bi, ciDecide. (si, R1i) And information aiTo the size comparison device 15A, (ti, R2i) And information biTo the large and small comparison device 15B, (ui, R3i) And information ciAre transmitted secretly (that is, encrypted) to the size comparison device 15C. In addition, each group connectioni‖R1i, Ti‖R2i, Ui‖R3iHash value H1 by hash function hi= H (si‖R1i), H2i= H (ti‖R2i), H3i= H (ui‖R3i) And the hash value h (ai), h (bi), h (ci) And implied value VviAnd random number riHash value h (Vvi‖Ri) And the hash value h (ai), h (bi), h (ci) And implied value VviAnd random number riHash value h (Vvi‖Ri) Are calculated, transmitted to the bulletin board apparatus 21, and released.
[0039]
Each user 11-i is H1i, H2i, H3iAnd h (Vvi‖Ri) Is sent to the bulletin board device 21 and the value is disclosed to VviIs committed. As a result, the intended value cannot be changed from now on.i, R1i), (Ti, R2i) 、 (Ui, R3iIt is possible to show that the desired value is the minimum value by publishing at least two sets of). However, if at least two pairs are prepared, riCan be calculated.
Since the subsequent size comparison processing can be performed if the bulletin board device 21 and the two size comparison devices are provided as shown in the first embodiment, the two size comparison devices, for example, 15A and 15B are used and the processing procedure of FIG. Execute.
[0040]
That is, the bulletin board apparatus 21 first (wmin+ wmax) / 2 = (1 + M) / 2 or less is sent to the magnitude comparison devices 15A and 15B as an initial value. The large / small comparison device 15A uses a random number RA.wGenerated and received from all user equipmentsiElements ofi, w, And the concatenation Seq of the elements arranged in the order of users 11-1, 11-2,…, 11-Ns, w= S1, w‖S2, w‖… ‖SN, wCreate Furthermore, the hash value HS by the hash function h ′w= H '(Seqs, w), Hash value HA by hash function hw= H (RAw‖HSw) And power residue CAw= HSw RAw(mod P) and calculate them (HAw, CAw) Is sent to the bulletin board apparatus. The size comparison device 15B uses a random number RBwGenerated and received from all user devices tiElement ti, wElement concatenated Seq in the order of users 11-1, 11-2, ..., 11-Nt, w= T1, w‖T2, w‖… ‖TN, wAnd hash value HT by hash function h 'w= H '(Seqt, w), Hash value HB by hash function hw= H (RBw‖HTw) And CBw= HTw RBw(mod P) and calculate them (HBw, CBw) Is sent to the bulletin board apparatus.
[0041]
Next, the large / small comparison device 15A has the CB released from the bulletin board device 21.w= HTw RBwLoad (mod P) and CBw RAwmod P = (HTw RBw)RAw(mod P) is calculated and transmitted to the bulletin board device 21, and the large / small comparison device 15 </ b> B makes the CA publicized by the bulletin board device 21.w= HSw RAwLoad (mod P) and CAw RBwmod P = (HSw RAw)RBw(mod P) is calculated and transmitted to the bulletin board apparatus 21.
HSwAnd HTwAre equal (HTw RBw)RAw(mod P) and (HSw RAw)RBwSince (mod P) is equal, P is a large prime number, and P-1 has a large prime factor in the divisor, HSwAnd HTwIs different (HTw RBw)RAw(mod P) and (HSw RAw)RBwThe possibility that (mod P) is equal is negligibly small. Therefore, (HTw RBw)RAw(mod P) and (HSw RAw)RBwMinimum mean value V if (mod P) is equalMINIs Vw + 1Above, if different, VwIt can be seen from the overwhelming probability that Variable w if equalminIs substituted for w + 1, and if it is different, the variable wmaxBy substituting w for and repeating the above operation, wmax= Wmin(= MIN). Value V at this timeMINIs the minimum intention value. Hereinafter, as shown in FIG.i, tiV insideMINThe element number corresponding to.
[0042]
Minimum intention value VMINAfter knowing, the size comparison device 15Aj, Seqs, MIN, RAMINThe size comparison device 15B is bj, Seqt, MIN, RBMINThe size comparison device 15C is cjAre transmitted to the bulletin board device 21 and released to the public, so that all users can obtain the minimum value V corresponding to the part containing different information for the two series.MINIt can be specified that the user 11-j has a value as intended.
In the above process, it is assumed that one size comparison device, for example, the system of 15B is down due to a trouble. However, since the information held by the size comparison device 15B and the information held by the size comparison device 15C are essentially the same, the size comparison device 15C can take over the operation of the size comparison device 15B as it is.
[0043]
Minimum intention value VMINAfter searching for the minimum mean value V published to the bulletin board device 21MINFor the legitimacy of H (Aj), H (Bj), H (Cj) For example as shown in Shamir, A, "How to Share a Secret," Comm. Assoc. Comput. March., Vol. 22, no. 11, pp. 612-613 (Nov. 1979) By applying the secret sharing technology, any at least two of the three large and small comparison devices cooperate, and the user's committed value Aj, Bj, CjCan be disclosed. That is, H (Vmin‖Aj* Bj* Cj) Can be verified.
[0044]
The size comparison devices 15A and 15B are connected elements Seq.s, MIN, Seqt, MINIs sent to the bulletin board device 21 and published.s, z, Seqt, z(z = 1, 2,..., MIN), which is used for the size comparison process is transmitted to the bulletin board apparatus 21, and VMINYou may clarify that is correct.
As described above, in the present invention, the key is the element s corresponding to the value w specified by the bulletin board device 21 in the size comparison devices 15A and 15B.i, w, ti, wEach seriesi, tiElement connected Seq extracted from (i = 1, ..., N) and arranged in a predetermined orders, wAnd Seqt, wAnd compare these without revealing, V orwOr less (V for maximum valuewIn the above, it is determined whether there is a user who has the desired value, and w may be changed based on the determination result. The size comparison devices 15A and 15B are power-residue operations CA.w= HSw RAw(mod P), CBw= HTw RBw(mod P) is not used, and in steps S2A and S2B of FIG.w= h (Seqs, w) And HTw= h (Seqt, w) May be generated and transmitted to the bulletin board apparatus 21, and these may be compared in step S4 to determine whether they match. However, in this case, the series si, tiFor example, if each element of has a simple configuration of 1 bit, element concatenation Seqs, wBecomes a simple one like (0‖1‖1‖0‖1‖0 し ま い 0).s, w, And calculate its hash value and make it publicw= h (Seqs, w) Is not preferable for safety because it becomes easy to find a bit string that matches) by trial and error. On the other hand, as in the embodiment of FIG.wAnd HTwRandom number RAw, RBwHS by concatenating with and hashingw, HTwIf you conceali, tiIt is safe to use 1 element as 1 bit. Seriesi, tiEncryption element E transmitted from the user device to the size comparison devices 15A and 15B.A(si‖R1i), EB(ti‖R2i) Data amount and communication capacity can be reduced.
[0045]
Hash value for verification H1i= h (si‖R1i), H2i= h (ti‖R2i) Is transmitted to the bulletin board apparatus 21 in the same manner as the random number R1.i, R2iHas improved safety and is not necessarily used. Therefore H1i= H (si), H2i= H (ti) May be transmitted to the bulletin board apparatus.
In the above description, the Seq created by the size comparison devices 15A and 15B is used.s, w, Seqt, wUsed a one-way function to compare without revealing its own value, but for example, with the same encryption key,s, w, Seqt, wThe result may be transmitted to the bulletin board device 21 for comparison.
[0046]
In the first and third embodiments described above, the two-sequence information s generated by the information sequence generator 33i, TiFor example, when obtaining the minimum value, a predetermined common one-way function F is used, and the mean value VviFd(s'i) ≠ Fd(t 'i), (D = 0, 1,…, M-vi) and Fe(s'i) = Fe(t 'i), (E = M-vi + 1,…, M-1)i, t 'iYou may decide. Where for example FThree(s'i) Is F (F (F (s'i))) Is a multiple function. Therefore, the information series si, tiEach
si= {Si, 1= FM-1(s'i), si, 2= FM-2(s'i),…, Si, vi-1= FM-vi + 1(s'i), si, vi= FM-vi(s'i),…, Si, M-1= F (s'i), si, M= S 'i}
ti= {Ti, 1= FM-1(t 'i), ti, 2= FM-2(t 'i),…, Ti, vi-1= FM-vi + 1(t 'i), ti, vi= FM-vi(t 'i),…, Ti, M-1= F (t 'i), ti, M= t 'i}
It becomes. In this series generation method, the seed value s'i, t 'i, All elements s using a common one-way function Fi, 1,…, Si, MAnd ti, 1, ..., ti, MCan be obtained by calculation. Therefore, the encrypted sequence information E sent from the user device to the size comparison devices 15A and 15B.A(si‖R1i) And EB(ti‖R2i) Seriesi, tiSheet value s' without incorporating the whole ofi, t 'iOnly, ie EA(s'i‖R1i), EB(t 'i‖R2i), The size comparison devices 15A and 15B use the common one-way function F to generate the seed value s ′.i, t 'iSeries fromi, tiCan be generated.
[0047]
Such seed value s'i, t 'iBased on information seriesi, tiA method for determining the multiple function F (x) for generating and the seed value will be described below.
The user apparatus 11-i selects prime numbers p and q having an appropriate size and calculates a composite number n = p * q. The composite number n is the one used in RSA cryptography and the like based on the prime factorization problem. From the viewpoint of security, it is preferable that p and q are about 512 bits or 1024 bits, and p-1 and q-1 each have a large prime factor.
Subsequently, for k = 0 to m, a random number a between 0 and n-1kProduces a polynomial
F (x) = am* xm+ Am-1* xm-1+… + A1* x + a0
Create Next, a random number s' between 0 and n-1i, t 'iAre used as seed values. Next, although the method is free, for example, find a collision for F (x) mod n by:
Step 1: F for u = 1,2, ..., cu(s'i) mod n is calculated and the result F (s'i), F2(s'i), ..., Fc(s'i) Is memorized. Here, c is a parameter determined by the user, and Fu(x) is a u-fold multiple function.
Step 2: Set flag = 0, v = 0, mx = c ′. Here, c ′ is a parameter determined by the user.
Step 3: Fv(t 'i) mod n is calculated, the result of the calculation is stored, and the value of F (s' stored in step 1 is stored.i), F2(s'i), ..., Fc(s'i) Is checked, and if there is a match, flag = 1 is set.
Step 4: If flag = 1 or v = c ′, the process is terminated; otherwise, v is incremented by 1 and the process returns to Step 3.
[0048]
In this case, finally flag = 1 is equivalent to the collision being found. However, in general, since F (x) mod n takes a wide range (about 1024 bits or 2048 bits), it is expected that a collision cannot be easily found. Therefore, by selecting a natural number n ′ smaller than n and replacing the original output F (x) mod n with (F (x) mod n) mod n ′, it is easy to find a collision by reducing it to a small range. it can. Here, for example, (35mod15) mod3 is 5mod3 = 2. In any case, the following explanation will be made assuming that a collision has been found.
[0049]
Fu'-1(s'i) ≠ Fv'-1(t 'i), Fu '(s'i) = Fv '(t 'i), Intended value VviIs the minimum value V1Assuming that it is the w-th counting from, if M−w + 1 ≦ u ′ and M−w + 1 ≦ v ′, then si, tiCan be configured. That is,
si= {Si, 1= Fu '+ w-2(s'i), ..., si, w= Fu'-1(s'i), ..., si, M= Fu '+ wM-1(s'i)}
ti= {Ti, 1= Fv '+ w-2(t 'i), ..., ti, w= Fv'-1(t 'i), ..., ti, M= Fv '+ wM-1(t 'i)}
And it is sufficient.
It should be noted that the composite number n based on the prime factorization problem is used as the modulus (mod) when there is a constant x ′ and the polynomial F ′ (F (x) −x ′ = 0 mod n This is because the factorization of x) = F (x) / (x−x ′) cannot be easily performed. For example, siS which is one of the elements ofi, kF (z) = si, kThere is only one z that satisfies mod n, ie si, k + 1Obviously, user 11-i is VkIt can be seen that is not taken as a mean value.
[0050]
In the collision search method described above, there is a risk that information on the mean value will be leaked, so it is necessary to pay attention to how n ′ is taken. Conversely, si, tiIf the above configuration condition is not satisfied, the collision search steps 1 to 4 may be performed again.
A hash function may be used as the function F (x). Even in that case, it is generally expected that the collision is not easily found, but the collision can be easily found by reducing the output to a small range by the same method as described above. However, depending on the size to be reduced, it may be necessary to pad the input.
[0051]
According to the method of sending only the seed value as described above, it is possible to reduce the communication capacity and communication time for transmitting the sequence information to the size comparison device. Also, mean value VviEven if the number M of selectable values increases, only the seed value is sent, and the communication capacity does not change. On the other hand, when generating a sequence using random numbers as in the first embodiment, if the number M of values that can be selected as the mean value increases, the number of elements in the sequence increases in proportion to that and the communication capacity increases. To do.
Similarly, when obtaining the maximum value, all elements of the sequence may be generated from the seed value using a one-way function.
[0052]
In the above embodiment, the intended value V of all usersviMedium minimum value VMINWas determined, but the maximum intention value VMAXThe determination can be made in the same manner. In this case, 2 series informationiAnd tiAs V1VviInformation corresponding toiAnd tiAnd Vvi + 1VMInformation corresponding toiAnd tiAnd be equal. Seq corresponding to each selected ws, wAnd Seqt, wComparison, HSw= H '(Seqs, w) And HTw= H '(Seqt, w) Comparison, (HTw RBw)RAwmod P and (HSw RAw)RBwV if different in mod P comparisonwIt is determined that there is a user who has the above values, and if they are equal, VwIt is determined that there is no user with the above values, and if they are equal, w-1 is set to wmaxIf they are different, w is wminThe same process may be repeated.
[0053]
If w is determined as described above, the minimum value or the maximum value can be efficiently obtained.1Or VMIt is also possible to make a size comparison by sequentially changing the order. Further, one size comparison device determines the first w, sends w to the other size comparison device via the bulletin board device 21, receives the necessary information from the bulletin board device 21, and performs the processing shown in FIG. Also good.
[0054]
【The invention's effect】
As described above, according to the present invention, the user can efficiently specify the maximum value or the minimum value by transmitting information about the intended value only once to each size comparison device and bulletin board device, and is necessary. Therefore, it is possible to realize a highly confidential size comparison that can be specified only by a user who sets the value to the desired value.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of the overall system configuration of a first embodiment.
FIG. 2 is a diagram illustrating an example of a main functional configuration of a user apparatus.
FIG. 3 is a flowchart showing a procedure for generating two-line information.
FIG. 4 is a diagram illustrating an example of a main functional configuration of a size comparison device 15A.
FIG. 5 is a diagram showing an example of a main functional configuration of a size comparison device 15B.
FIG. 6 is a diagram schematically showing two-series information of each set.
FIG. 7 is a flowchart for specifying a minimum value.
FIG. 8 is a block diagram showing a functional configuration of a user apparatus in the second embodiment.
9 is a block diagram showing a functional configuration of an information series generation unit 33 in FIG.
FIG. 10 is a flowchart showing a processing procedure of a user apparatus in the second embodiment.

Claims (30)

複数のユーザ装置i,i=1,…,Nと、Nは2以上の整数であり、第1及び第2大小比較装置と、上記ユーザ装置及び上記第1及び第2大小比較装置から受信した情報を公開する掲示板装置とにより、予め決めた下限値V1と上限値VMの範囲の単調増加するM個の値Vw、ただし、w=1,2,…,M、で、全ユーザがそれぞれ決めた意中の値Vviからそれらの最小値VMIN及びその最小値を意中値としたユーザjだけを特定する大小比較方法であり、
(a) 各上記ユーザ装置iで、ユーザにより入力された意中値Vviに対し、上記下限値V1以上、上記意中値Vvi未満で互いに対応した要素が等しく、上記意中値Vvi以上、上記上限値VM以下で互いに対応した要素が互いに異なるそれぞれM個の要素からなる2つの情報系列si及びtiを生成し、それらに対応する情報を秘密にそれぞれ上記第1及び第2大小比較装置に送信するステップと、Mは上記下限値V1以上で上記上限値VM以下の上記意中値として選択可能な値の数を表し、
(b) 上記第1大小比較装置で、上記下限値V1以上、上記上限値VM以下の与えられた値Vwについて、全ユーザ装置からの上記情報系列si中のそれぞれwに対応した要素si,w を取り出し、それらを決められた順序により並べた要素連結Seqs,w=s1,w‖s2,w‖…‖sN,wを作成するステップと、‖はデータの連結を表し、
(c) 上記第2大小比較装置で、上記与えられた値Vwについて、全ユーザ装置からの上記情報系列ti中のそれぞれwに対応した要素ti,wを取り出し、それらを決められた順序により並べた要素連結Seqt,w=t1,w‖t2,w‖…‖tN,wを作成するステップと、
(d) 上記掲示板装置で、上記要素連結Seqs,wとSeqt,w を、それら自身の値を明かすことなく比較し、それらが互いに異なっていればVw以下を意中の値としたユーザがいると判定し、等しければVw以下を意中の値としたユーザがいないと判定し、その判定に基づき、wの値を変更していくことで最小意中値VMINを決定し,要素番号MINを公表するステップと、
(e) 上記第1及び第2大小比較装置で,公表された上記要素番号MINに対し,対応する要素連結Seqs,MIN及びSeqt,MINを上記掲示板装置に送信して公開することにより,各上記ユーザ装置に対し,上記要素連結中の互いに対応する要素si,MIN及びti,MINについてsj,MIN≠tj,MINとなる番号jが、上記最小意中値をコミットしたユーザ番号jであることを検出可能にするステップ,
とを含むことを特徴とする大小比較方法。
A plurality of user devices i, i = 1,..., N, and N is an integer greater than or equal to 2, received from the first and second size comparison devices, the user device and the first and second size comparison devices by a signboard assembly publishing information, predetermined lower limit value V 1 and increases monotonically in the range between the upper limit value V M M number of values V w, however, w = 1, 2, ..., M in, all users Is a magnitude comparison method for specifying only the minimum value V MIN and the user j having the minimum value as the intention value from the intention value V vi determined by
(a) With respect to the intention value V vi input by the user in each of the user devices i, elements corresponding to each other at the lower limit value V 1 or more and less than the intention value V vi are equal, and the intention value V vi Two information sequences s i and t i each of which is composed of M elements that are different from each other in the range from vi to the upper limit value V M are generated, and the corresponding information is secretly stored in the first and the second transmitting to the second quantitative competition apparatus, M represents the number of selectable values as the intention value of the upper limit value V M or less in the above lower limit value V 1 or more,
(b) in the first quantitative competition apparatus, the lower limit V 1 or more, for the upper limit value V M or less of a given value V w, corresponding to respective w of said information in the sequence s i from all the user equipment Extracting elements s i, w and arranging them in a predetermined order Seq s, w = s 1, w ‖s 2, w ‖… ‖s N, w Represents concatenation,
(c) in the second quantitative competition apparatus, for the given value V w, elements t i corresponding to w each of the information in the sequence t i from all user devices, removed w, were determined them Creating element concatenation Seq t, w = t 1, w ‖t 2, w ‖ ... ‖t N, w arranged in order;
(d) In the above bulletin board apparatus, the above-mentioned element concatenation Seq s, w and Seq t, w are compared without revealing their own values, and if they are different from each other, V w or less is set as the intended value. It is determined that there is a user, and if equal, it is determined that there is no user who has an intended value of V w or less, and based on this determination, the minimum intention value V MIN is determined by changing the value of w. , Publishing element number MIN,
(e) By transmitting the corresponding element concatenation Seq s, MIN and Seq t, MIN to the bulletin board apparatus for the element number MIN announced by the first and second size comparison devices, and publishing them, For each of the above-mentioned user devices, a user who has committed the minimum mean value by a number j such that s j, MIN ≠ t j, MIN for the corresponding elements s i, MIN and t i, MIN in the element connection Making it possible to detect that the number is j,
A size comparison method characterized by including.
請求項1記載の大小比較方法において、
上記ステップ(a) は、各ユーザiのユーザ装置で、乱数R1i,R2iを生成し、(R1i, si)の組を上記第1大小比較装置に、(R2i, ti)の組を上記第2大小比較装置にそれぞれ秘密に送信するステップと、
また、各上記組の連結R1i‖si及びR2i‖ti についてハッシュ関数hによってハッシュ値H1i=h(R1i‖si)及びH2i=h(R2i‖ti)を計算し、それらを掲示板装置に送信するステップとを含み、
上記ステップ(d) は、上記掲示板装置で上記ハッシュ値H1i, H2i,i=1,2,…,N,を全ユーザのコミットとして公開するステップを含むことを特徴とする大小比較方法。
The size comparison method according to claim 1,
In the step (a), random numbers R1 i and R2 i are generated in the user device of each user i, and the set of (R1 i , s i ) is assigned to the first magnitude comparison device as (R2 i , t i ) Secretly transmitting each set to the second size comparison device,
In addition, hash values H1 i = h (R1 i ‖s i ) and H2 i = h (R2 i ‖t i ) are calculated by the hash function h for each of the above-mentioned concatenated R1 i ‖s i and R2 i ‖t i. And sending them to the bulletin board device,
The step (d) includes a step of publicizing the hash values H1 i , H2 i , i = 1, 2,..., N as commits of all users in the bulletin board apparatus.
請求項2記載の大小比較方法において、
上記ステップ(b) は、上記第1大小比較装置で上記要素連結Seqs,wについてハッシュ関数hによってハッシュ値HSw=h(Seqs,w)を計算し、それを上記掲示板装置に送信するステップを含み、
上記ステップ(c) は、上記第2大小比較装置で上記要素連結Seqt,wについてハッシュ関数hによってハッシュ値HTw=h(Seqt,w)を計算し、それを上記掲示板装置に送信するステップを含み、
上記ステップ(d) は、上記掲示板装置で上記第1及び第2大小比較装置より受信した上記ハッシュ値HSw, HTwを公開して比較し、それらが異なっていればVw以下を意中の値としたユーザがいると判断し、等しければVw以下を意中の値としたユーザがいないと判断し、wを変更していくことで最小意中値VMINを決定するステップを含むことを特徴とする大小比較方法。
In the size comparison method according to claim 2,
In the step (b), a hash value HS w = h (Seq s, w ) is calculated by the hash function h for the element concatenated Seq s, w in the first magnitude comparison device, and is transmitted to the bulletin board device. Including steps,
The step (c) calculates a hash value HT w = h (Seq t, w ) by the hash function h for the element concatenated Seq t, w in the second magnitude comparison device and transmits it to the bulletin board device. Including steps,
In the step (d), the hash values HS w and HT w received from the first and second size comparison devices are disclosed by the bulletin board device and compared, and if they are different, V w or less is intended. It is determined that there is a user with a value of け れ ば, and if equal, it is determined that there is no user with a value of V w or less as a mean value, and the step of determining the minimum mean value V MIN by changing w is included. A size comparison method characterized by that.
請求項2記載の大小比較方法において、
上記第1及び第2大小比較装置は、上記掲示板装置より予め公開された素数Pを記憶し、上記素数Pは、P-1が大きな素数を約数に持つ素数であり、上記第1及び第2大小比較装置は、共通の整数値wを選択し、
上記ステップ(b) は、上記第1大小比較装置で上記要素連結Seqs,wについて任意の整数を有限体Fp上に一意に、かつランダムに写すハッシュ関数h'によりハッシュ値HSw=h'(Seqs,w)を計算し、乱数RAwを生成し、連結RAw‖HSwについてハッシュ関数hによってハッシュ値HAw=h(RAw‖HSw)を計算し、HSw RAw(mod P)を計算し、それらの組(HAw, HSw RAw(mod P))を掲示板装置に送信するステップを含み、
上記ステップ(c) は、上記第2大小比較装置で上記要素連結Seqt,wについてハッシュ関数h'によりハッシュ値HTw=h'(Seqt,w)を計算し、乱数RBwを生成し、連結RBw‖HTwについてハッシュ関数hによってハッシュ値HBw=h(RBw‖HTw)を計算し、HTw RBw(mod P)を計算し、それらの組(HBw, HTw RBw(mod P))を掲示板装置に送信するステップを含み、
上記ステップ(d) は、上記第1大小比較装置が上記掲示板装置から上記HTw RBw(mod P)を読んで(HTw RBw)RAw(mod P)を計算し、上記掲示板装置に送信し、上記第2大小比較装置が上記掲示板装置から上記HSw RAw(mod P)を読んで(HSw RAw)RBw(mod P)を計算し、上記掲示板装置に送信するステップと、
上記掲示板装置は、上記第1及び第2大小比較装置より受信した(HTw RBw)RAw(mod P)及び(HSw RAw)RBw(mod P)を公開して比較し、それらが異なっていればVw以下を意中の値としたユーザがいると判定し、等しければVw以下を意中の値としたユーザがいないと判定し、上記第1及び第2大小比較装置がwを変更していくことで最小意中値VMINを決定するステップとを含むことを特徴とする大小比較方法。
In the size comparison method according to claim 2,
The first and second magnitude comparison devices store a prime number P disclosed in advance by the bulletin board device, and the prime number P is a prime number having a large prime number P-1 as a divisor. The two magnitude comparison device selects a common integer value w,
In the step (b), the hash value HS w = h ′ is calculated by using the hash function h ′ that uniquely and randomly maps an arbitrary integer for the element concatenation Seq s, w on the finite field Fp by the first magnitude comparison device. (Seq s, w ) is calculated, a random number RA w is generated, a hash value HA w = h (RA w wHS w ) is calculated for the concatenated RA w ‖HS w by the hash function h, and HS w RAw (mod P) and sending the set (HA w , HS w RAw (mod P)) to the bulletin board device,
The step (c) calculates a hash value HT w = h ′ (Seq t, w ) by the hash function h ′ for the element concatenated Seq t, w in the second magnitude comparison device, and generates a random number RB w , Calculate a hash value HB w = h (RB w ‖HT w ) with a hash function h for the concatenated RB w ‖HT w , calculate HT w RBw (mod P), and set the pair (HB w , HT w RBw sending (mod P)) to the bulletin board device,
Step (d) is the first quantitative competition apparatus calculates the HT w RBW from the bulletin board system to read (mod P) (HT w RBw ) RAw (mod P), and transmitted to the bulletin board system, a step of said second quantitative competition apparatus reads said HS w RAw (mod P) from said bulletin board apparatus (HS w RAw) RBw (mod P) is calculated and transmitted to the bulletin board system,
The bulletin board device publishes and compares (HT w RBw ) RAw (mod P) and (HS w RAw ) RBw (mod P) received from the first and second size comparison devices. the following V w is determined that the user is who the value of intention if, determines that the user is not that the following V w to the value of the intention equal, the first and second quantitative competition apparatus changes the w And a step of determining a minimum mean value V MIN by doing.
請求項3又は4記載の大小比較方法において、上記第1及び第2大小比較装置は初期値としてwmin=1, wmax=Mとおいてwを(wmin+wmax)/2=(1+M)/2以下の最大の整数として共有し、上記ステップ(d) は、Vw以下を意中の値としたユーザがいると判別されたときは変数wmaxにwを代入し、そうでないときは変数wminにw+1を代入して上記ステップ(b)と(c)を実行することを、wmax=wmi n=MINとなるまで繰り返してMINに対応する最小意中値VMINを求め、その過程を上記掲示板装置により逐次公開するステップを含むことを特徴とする大小比較方法。5. The size comparison method according to claim 3, wherein the first and second size comparison devices have w min = 1, w max = M as initial values, and w is (w min + w max ) / 2 = (1 + M) / 2 is shared as the largest integer less than or equal to 2 and the above step (d) assigns w to the variable w max when it is determined that there is a user who has a desired value less than or equal to V w not when the variable w min to w + 1 are substituted with the step (b) to the execution (c), w max = w mi n = minimum intention value corresponding to the mIN repeatedly until mIN A method for comparing magnitudes, comprising the step of obtaining V MIN and sequentially disclosing the process by the bulletin board apparatus. 請求項4記載の大小比較方法において、上記情報系列si, tiの各要素は1ビットである。5. The size comparison method according to claim 4, wherein each element of the information series s i and t i is 1 bit. 請求項4又は6記載の大小比較方法において、上記ステップ(e) は上記第1及び第2大小比較装置が乱数RAMIN及びRBMINをそれぞれ上記掲示板装置に送信して公開するステップを含むことを特徴とする大小比較方法。7. The size comparison method according to claim 4 or 6, wherein said step (e) includes a step in which said first and second size comparison devices transmit random numbers RA MIN and RB MIN to said bulletin board device and disclose them. A feature size comparison method. 請求項1〜4の何れかに記載の大小比較方法において、3以上のL個の大小比較装置が備えられ、
上記ステップ(a) において、各上記ユーザ装置はVviが入力されるとV1以上Vvi未満に対応した情報は全て等しく、Vvi以上VM以下に対応した情報は全て異なるようなL個の情報系列sik, k=1,2,…,Lを作成し、上記L個の情報系列sikのうち少なくとも2系列sia, sib,a≠b,がそろえばVviが分かるものとし、系列sikを第k大小比較装置にそれぞれ秘密に送信するステップを含み、
2個の大小比較装置で大小比較を行い、大小比較装置にトラブルが発生すると、他の正常な大小比較装置を用いてその比較動作を継続して行うことを特徴とする大小比較方法。
The size comparison method according to any one of claims 1 to 4, comprising three or more L size comparison devices,
In step (a), each of the user equipment is equal all information corresponding to less than V vi When inputted V 1 or V vi, all different kind of L number information corresponding to the following V vi than V M an information sequence s ik, k = 1,2, ... , to create the L, at least 2 sequences s ia among the L pieces of information sequence s ik, s ib, a ≠ b, those V vi can be seen if aligned And secretly transmitting the sequence s ik to the kth magnitude comparison device,
A size comparison method characterized in that a size comparison is performed by two size comparison devices, and when a trouble occurs in the size comparison device, the comparison operation is continuously performed using another normal size comparison device.
請求項1記載の大小比較方法において、
上記ステップ(a) は、各上記ユーザ装置で、上記情報系列si及びtiに対応する情報としてシード値s'i, t'iを秘密に上記第1及び第2大小比較装置にそれぞれ送信し、上記シード値s'i, t'iは、上記意中値Vviに対応する要素番号をviとすると、
一方向性関数Fに対してd=0,1,…,M-viでFd(s'i)=Fd(t'i)となり、かつe=M-vi+1,…,M-1でFe(s'i)≠Fe(t'i)となるよう決められ、上記2つの情報系列si, tiはそれぞれ次式
si={si,1=FM-1(s'i), si,2=FM-2(s'i), …, si,vi-1=FM-vi+1(s'i), si,vi=FM-vi(s'i), …, si,M-1=F(s'i), si,M=s'i
ti={ti,1=FM-1(t'i), ti,2=FM-2(t'i), …, ti,vi-1=FM-vi+1(t'i), ti,vi=FM -vi(t'i), …, ti,M-1=F(t'i), ti,M=t'i
で与えられることを特徴とする大小比較方法。
The size comparison method according to claim 1,
In the step (a), each of the user devices transmits the seed values s ′ i and t ′ i as information corresponding to the information series s i and t i in secret to the first and second magnitude comparison devices, respectively. The seed values s ′ i , t ′ i are defined as vi, where the element number corresponding to the mean value V vi is
For a one-way function F, d = 0, 1, ..., M-vi, F d (s ' i ) = F d (t' i ), and e = M-vi + 1, ..., M- 1 so that F e (s ′ i ) ≠ F e (t ′ i ), and the above two information sequences s i and t i are respectively
s i = {s i, 1 = F M-1 (s ' i ), s i, 2 = F M-2 (s' i ),…, s i, vi-1 = F M-vi + 1 ( s ' i ), s i, vi = F M-vi (s' i ),…, s i, M-1 = F (s ' i ), s i, M = s' i }
t i = {t i, 1 = F M-1 (t ' i ), t i, 2 = F M-2 (t' i ),…, t i, vi-1 = F M-vi + 1 ( t ' i ), t i, vi = F M -vi (t' i ),…, t i, M-1 = F (t ' i ), t i, M = t' i }
A size comparison method characterized by being given by
請求項1記載の大小比較方法において、
上記ステップ(a)は、各上記ユーザ装置で初期乱数R1i, R2i, cai, cbi, si,M+1, ti,M+1を生成するステップと、
mの初期値をMと設定し、上記意中値Vviに対応する要素番号viに対して、m=M,M-1,…,viについて逐次
si,m=h(si,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
ti,m=h(ti,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
を計算し、si,m≠ti,mである部分系列とし、
m=vi-1についての系列要素
si,m=ti,m=h(si,m-1‖ti,m-1‖hM+1-m(cai)‖hM+1-m(cbi))
と、
m=vi-2, vi-3, …, 0についての要素
si,m=ti,m=h(si,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
とを計算し、si,m=ti,mの部分系列とし、
これらm=M,M-1,…,1の要素si,m, ti,mの列を上記情報系列si, tiとして得るとともに、m=0の値si,0を得るステップ、とを含み、
上記ステップ(a) は更に、各上記ユーザ装置で、
R1i, si=[si,1,si,2,…,si,M]を暗号化関数EAで暗号化し、得られたEA(si‖R1i)を上記第1大小比較装置へ送信し、R2i, ti=[ti,1,ti,2,…,ti,M]を暗号化関数EBで暗号化し、得られたEB(ti‖R2i)を上記第2大小比較装置へ送信するステップと、
H1i=h(si‖R1i), H2i=h(ti‖R2i), si,0, hM+1(cai), hM+1(cbi)を掲示板装置21に送り、公開するステップ、とを含むことを特徴とする大小比較方法。
The size comparison method according to claim 1,
The step (a) includes generating initial random numbers R1 i , R2 i , ca i , cb i , s i, M + 1 , t i, M + 1 in each of the user devices;
m initial value of is set to M, with respect to element number vi corresponding to the intention value V vi, m = M, M -1, ..., sequentially for vi
s i, m = h (s i, m + 1 ‖h M + 1-m (ca i ) ‖h M + 1-m (cb i ))
t i, m = h (t i, m + 1 ‖h M + 1-m (ca i ) ‖h M + 1-m (cb i ))
And a subsequence with s i, m ≠ t i, m ,
Series elements for m = vi-1
s i, m = t i, m = h (s i, m-1 ‖t i, m-1 ‖h M + 1-m (ca i ) ‖h M + 1-m (cb i ))
When,
elements for m = vi-2, vi-3,…, 0
s i, m = t i, m = h (s i, m + 1 ‖h M + 1-m (ca i ) ‖h M + 1-m (cb i ))
And subsequence of s i, m = t i, m
A step of obtaining a sequence of elements s i, m , t i, m of m = M, M-1,..., 1 as the information series s i , t i and obtaining a value s i, 0 of m = 0 , And
The step (a) is further performed by each of the user devices.
R1 i , s i = [s i, 1 , s i, 2 ,..., S i, M ] is encrypted with the encryption function E A , and the obtained E A (s i ‖R1 i ) R2 i , t i = [t i, 1 , t i, 2 , ..., t i, M ] is encrypted with the encryption function E B and the obtained E B (t i ‖ Transmitting R2 i ) to the second magnitude comparison device;
H1 i = h (s i ‖R1 i ), H2 i = h (t i ‖R2 i ), s i, 0 , h M + 1 (ca i ), h M + 1 (cb i ) And a step of sending to the public.
複数のユーザ装置i,i=1,…,Nと、Nは2以上の整数であり、第1及び第2大小比較装置と、上記ユーザ装置及び上記第1及び第2大小比較装置から受信した情報を公開する掲示板装置とにより、予め決めた下限値V1と上限値VMの範囲の単調増加するM個の値Vw、ただし、w=1,2,…,M, 全ユーザがそれぞれ決めた意中の値Vviからそれらの最大値VMAX及びその最大値を意中値としたユーザjだけを特定する大小比較方法であり、
(a) 各上記ユーザ装置iで、ユーザにより入力された意中値Vviに対し、上記下限値Vmin以上、上記意中値Vvi以下で互いに対応した要素が異なり、上記意中値Vviを超え、上記上限値VM以下で互いに対応した要素が互いに等しいそれぞれM個の要素からなる2つの情報系列si及びtiを生成し、それらに対応する情報を秘密にそれぞれ上記第1及び第2大小比較装置に送信するステップと、Mは上記下限値V1以上で上記上限値以下の、上記意中値として選択可能な値の数を表し、
(b) 上記第1大小比較装置で、上記下限値V1以上、上記上限値VM以下の与えられた値Vwについて、全ユーザ装置からの上記情報系列si中の要素番号wの要素si,wを取り出し、それらを決められた順序により並べた要素連結Seqs,w=s1,w‖s2,w‖…‖sN,wを作成するステップと、‖はデータの連結を表し、
(c) 上記第2大小比較装置で、上記与えられた値wについて、全ユーザ装置からの上記情報系列ti中のそれぞれwに対応した要素ti,wを取り出し、それらを決められた順序により並べた要素連結Seqt,w=t1,w‖t2,w‖…‖tN,wを作成するステップと、
(d) 上記掲示板装置で、上記要素連結Seqs,wとSeqt,wを、それら自身の値を明かすことなく比較し、それらが互いに異なっていればVw以上を意中の値としたユーザがいると判定し、等しければVw以上を意中の値としたユーザがいないと判定し、その判定に基づき、wの値を変更していくことで最大値VMAXを決定し、要素番号MINを公開するステップと、
(e) 上記第1及び第2大小比較装置で、公表された上記要素番号MAXに対し、対応する要素連結Seqs,MAX及びSeqt,MAXを上記掲示板装置に送信して公開することにより,各上記ユーザ装置に対し,上記要素連結Seqs,MAX及びSeqt,MAX中の互いに対応する要素si,MAX及びti,MAXについてsj,MAX≠tj,MAXとなる番号jを上記最大意中値をコミットしたユーザの番号jであることを検出可能にするステップ,
とを含むことを特徴とする大小比較方法。
A plurality of user devices i, i = 1,..., N, and N is an integer greater than or equal to 2, received from the first and second size comparison devices, the user device and the first and second size comparison devices by a signboard assembly publishing information, predetermined lower limit value V 1 and the upper limit value V M monotonically increasing M values V w in the range of, but, w = 1, 2, ..., M, in all users It is a magnitude comparison method that specifies only the maximum value V MAX and the user j having the maximum value as the intention value from the determined intention value V vi ,
(a) With respect to the mean value V vi inputted by the user in each of the user devices i, elements corresponding to each other differ from the lower limit value V min to the mean value V vi , and the mean value V vi Two information sequences s i and t i each including M elements that exceed vi and are equal to or smaller than the upper limit value V M are generated, and information corresponding to them is secretly stored in the first And the step of transmitting to the second magnitude comparison device, M represents the number of values that can be selected as the mean value that is not less than the lower limit value V 1 and not more than the upper limit value,
(b) in the first quantitative competition apparatus, the lower limit V 1 or more, for the upper limit value V M or less of a given value V w, the element number w in the information sequence s i from all user equipment elements s i, w is extracted, and element concatenation Seq s, w = s 1, w ‖s 2, w ‖… ‖s N, w is created, and ‖ is data concatenation Represents
(c) in the second quantitative competition apparatus, for the given value w, the information sequence t i elements t i corresponding to w respectively in from all user devices, removed w, the order in which they were determined Creating element concatenation Seq t, w = t 1, w ‖t 2, w ‖ ... ‖t N, w arranged by
(d) In the above bulletin board device, the above-mentioned element connection Seq s, w and Seq t, w are compared without revealing their own values, and if they are different from each other, V w or more is set as the intended value. It is determined that there is a user, and if they are equal, it is determined that there is no user having an intended value of V w or higher. Based on this determination, the maximum value V MAX is determined by changing the value of w, Publishing the number MIN,
(e) By transmitting the corresponding element concatenation Seq s, MAX and Seq t, MAX to the bulletin board apparatus for the published element number MAX in the first and second size comparison apparatuses, and publishing them, For each of the user devices, a number j such that s j, MAX ≠ t j, MAX for the elements s i, MAX and t i, MAX corresponding to each other in the element concatenation Seq s, MAX and Seq t, MAX is described above. Making it possible to detect that the number j of the user who committed the maximum mean value is committed,
A size comparison method characterized by including.
請求項11記載の大小比較方法において、
上記ステップ(a) は、各ユーザiのユーザ装置で、乱数R1i,R2iを生成し、(R1i, si)の組を上記第1大小比較装置に、(R2i, ti)の組を上記第2大小比較装置にそれぞれ秘密に送信するステップと、
また、各上記組の連結R1i‖si及びR2i‖ti についてハッシュ関数hによってハッシュ値H1i=h(R1i‖si)及びH2i=h(R2i‖ti)を計算し、それらを掲示板装置に送信するステップとを含み、
上記ステップ(d) は、上記掲示板装置で上記ハッシュ値H1i, H2i,i=1,2,…,N,を全ユーザのコミットとして公開するステップを含むことを特徴とする大小比較方法。
The size comparison method according to claim 11,
In the step (a), random numbers R1 i and R2 i are generated in the user device of each user i, and the set of (R1 i , s i ) is assigned to the first magnitude comparison device as (R2 i , t i ) Secretly transmitting each set to the second size comparison device,
In addition, hash values H1 i = h (R1 i ‖s i ) and H2 i = h (R2 i ‖t i ) are calculated by the hash function h for each of the above-mentioned concatenated R1 i ‖s i and R2 i ‖t i. And sending them to the bulletin board device,
The step (d) includes a step of publicizing the hash values H1 i , H2 i , i = 1, 2,..., N as commits of all users in the bulletin board apparatus.
請求項12記載の大小比較方法において、
上記ステップ(b) は、上記第1大小比較装置で上記要素連結Seqs,wについてハッシュ関数hによってハッシュ値HSw=h(Seqs,w)を計算し、それを上記掲示板装置に送信するステップを含み、
上記ステップ(c) は、上記第2大小比較装置で上記要素連結Seqt,wについてハッシュ関数hによってハッシュ値HTw=h(Seqt,w)を計算し、それを上記掲示板装置に送信するステップを含み、
上記ステップ(d) は、上記掲示板装置で上記第1及び第2大小比較装置より受信した上記ハッシュ値HSw, HTwを公開して比較し、それらが異なっていればVw以上を意中の値としたユーザがいると判断し、等しければVw以上を意中の値としたユーザがいないと判断し、wを変更していくことで最大意中値VMAXを決定するステップを含むことを特徴とする大小比較方法。
The size comparison method according to claim 12,
In the step (b), a hash value HS w = h (Seq s, w ) is calculated by the hash function h for the element concatenated Seq s, w in the first magnitude comparison device, and is transmitted to the bulletin board device. Including steps,
The step (c) calculates a hash value HT w = h (Seq t, w ) by the hash function h for the element concatenated Seq t, w in the second magnitude comparison device and transmits it to the bulletin board device. Including steps,
In step (d), the hash values HS w and HT w received from the first and second size comparison devices are disclosed by the bulletin board device and compared, and if they are different, V w or more is intended. It is determined that there is a user with a value of W , and if equal, it is determined that there is no user with a predetermined value of V w or more, and the maximum intention value V MAX is determined by changing w. A size comparison method characterized by that.
請求項12記載の大小比較方法において、
上記第1及び第2大小比較装置は、上記掲示板装置より予め公開された素数Pを記憶し、上記素数Pは、P-1が大きな素数を約数に持つ素数であり、上記第1及び第2大小比較装置は、共通の整数値wを選択して共有し、
上記ステップ(b) は、上記第1大小比較装置で上記要素連結Seqs,wについて任意の整数を有限体Fp上に一意に、かつ、ランダムに写すハッシュ関数h'によりハッシュ値HSw=h'(Seqs,w)を計算し、乱数RAwを生成し、連結RAw‖HSwについてハッシュ関数hによってハッシュ値HAw=h(RAw‖HSw)を計算し、HSw RAw(mod P)を計算し、それらの組(HAw, HSw RAw(mod P))を掲示板装置に送信するステップを含み、
上記ステップ(c) は、上記第2大小比較装置で上記要素連結Seqt,wについてハッシュ関数h'によりハッシュ値HTw=h'(Seqt,w)を計算し、乱数RBwを生成し、連結RBw‖HTwについてハッシュ関数hによってハッシュ値HBw=h(RBw‖HTw)を計算し、HTw RBw(mod P)を計算し、それらの組(HBw, HTw RBw(mod P))を掲示板装置に送信するステップを含み、
上記ステップ(d) は、上記第1大小比較装置が上記掲示板装置から上記HTw RBw(mod P)を読んで(HTw RBw)RAw(mod P)を計算し、上記掲示板装置に送信し、上記第2大小比較装置が上記掲示板装置から上記HSw RAw(mod P)を読んで(HSw RAw)RBw(mod P)を計算し、上記掲示板装置に送信するステップと、
上記掲示板装置は、上記第1及び第2大小比較装置より受信した(HTw RBw)RAw(mod P)及び(HSw RAw)RBw(mod P)を公開して比較し、それらが異なっていればVw以上を意中の値としたユーザがいると判定し、等しければVw以上を意中の値としたユーザがいないと判定し、上記第1及び第2大小比較装置がwを変更していくことで最大値を決定するステップとを含むことを特徴とする大小比較方法。
The size comparison method according to claim 12,
The first and second magnitude comparison devices store a prime number P disclosed in advance by the bulletin board device, and the prime number P is a prime number having a large prime number P-1 as a divisor. The two size comparison devices select and share a common integer value w,
In the step (b), the hash value HS w = h is calculated by the hash function h ′ that uniquely and randomly copies an arbitrary integer with respect to the element concatenation Seq s, w on the finite field Fp by the first magnitude comparison device. '(Seq s, w ) is calculated, random number RA w is generated, hash value HA w = h (RA w ‖HS w ) is calculated by hash function h for concatenated RA w ‖HS w , and HS w RAw ( mod P) and sending the set (HA w , HS w RAw (mod P)) to the bulletin board device,
The step (c) calculates a hash value HT w = h ′ (Seq t, w ) by the hash function h ′ for the element concatenated Seq t, w in the second magnitude comparison device, and generates a random number RB w , Calculate a hash value HB w = h (RB w ‖HT w ) with a hash function h for the concatenated RB w ‖HT w , calculate HT w RBw (mod P), and set the pair (HB w , HT w RBw sending (mod P)) to the bulletin board device,
Step (d) is the first quantitative competition apparatus calculates the HT w RBW from the bulletin board system to read (mod P) (HT w RBw ) RAw (mod P), and transmitted to the bulletin board system, a step of said second quantitative competition apparatus reads said HS w RAw (mod P) from said bulletin board apparatus (HS w RAw) RBw (mod P) is calculated and transmitted to the bulletin board system,
The bulletin board device publishes and compares (HT w RBw ) RAw (mod P) and (HS w RAw ) RBw (mod P) received from the first and second size comparison devices. the above V w is determined that the user is who the value of intention if, determines that the user is not that the above V w and the value of the intention equal, the first and second quantitative competition apparatus changes the w And a step of determining a maximum value.
請求項13又は14記載の大小比較方法において、wmin, wmaxを1〜Mの整数の変数とすると、上記第1及び第2大小比較装置は初期値としてwmin=1, wmax=Mとおいてwを(wmin+wmax)/2=(1+M)/2以下の最大の整数として共有し、上記ステップ(d) は、Vw 以上を意中の値としたユーザがいると判別されたときは変数wmaxにwを代入し、そうでないときは変数wminにw+1を代入して上記ステップ(b)と(c)を実行することを、wmax=wminMAXとなるまで繰り返してMAXに対応する最大値VMAXを求め、その過程を上記掲示板装置により逐次公開するステップを含むことを特徴とする大小比較方法。15. The size comparison method according to claim 13 or 14, wherein w min and w max are integer variables of 1 to M, and the first and second size comparison devices have initial values of w min = 1, w max = M. In some cases, w is shared as the largest integer less than or equal to (w min + w max ) / 2 = (1 + M) / 2, and in step (d) above, there is a user whose intended value is greater than or equal to V w When it is determined that w max = w min , substituting w into the variable w max , otherwise substituting w + 1 into the variable w min and executing steps (b) and (c) above. = repeatedly obtains a maximum value V MAX corresponding to MAX in until MAX, compares how the process characterized in that it comprises a step of sequentially exposed by the bulletin board apparatus. 請求項14記載の大小比較方法において、上記情報系列si, tiの各要素は1ビットである。15. The size comparison method according to claim 14, wherein each element of the information series s i and t i is 1 bit. 請求項14又は16記載の大小比較方法において、上記ステップ(e) は、上記第1及び第2大小比較装置が、公表された上記要素番号MAXに対し、乱数RAMAX及びRBMAXをそれぞれ上記掲示板装置に送信して公開するステップを含むことを特徴とする大小比較方法。17. The size comparison method according to claim 14 or 16, wherein the step (e) is performed by the first and second size comparison devices, wherein the random number RA MAX and the RB MAX are respectively sent to the bulletin board for the published element number MAX. A size comparison method comprising a step of transmitting to a device and publishing. 請求項11〜14の何れかに記載の大小比較方法において、3以上のL個の大小比較装置が備えられ、
上記ステップ(a) において、各上記ユーザ装置はVviが入力されるとV1以上Vvi 以下に対応した情報は全て等しく、Vvi を越えVM以下に対応した情報は全て異なるようなL個の情報系列sik, k=1,2,…,Lを作成し、上記L個の情報系列sikのうち少なくとも2系列sia, sib,a≠b,がそろえばVviが分かるものとし、系列sikを第k大小比較装置にそれぞれ秘密に送信するステップを含み、
2個の大小比較装置で大小比較を行い、大小比較装置にトラブルが発生すると、他の正常な大小比較装置を用いてその比較動作を継続して行うことを特徴とする大小比較方法。
The size comparison method according to any one of claims 11 to 14, further comprising three or more L size comparison devices,
In step (a), each of the user equipment all the information corresponding to the following V vi When inputted V 1 or V vi equal, as all information corresponding to the following V M exceeds the V vi different L pieces of information sequence s ik, k = 1,2, ... , to create the L, at least 2 sequences s ia among the L pieces of information sequence s ik, s ib, a ≠ b, is the V vi would be nice seen And secretly transmitting the sequence s ik to the kth magnitude comparison device,
A size comparison method characterized in that a size comparison is performed by two size comparison devices, and when a trouble occurs in the size comparison device, the comparison operation is continuously performed using another normal size comparison device.
請求項11記載の大小比較方法において、
上記ステップ(a) は、各上記ユーザ装置で、上記情報系列si及びtiに対応する情報としてシード値s'i, t'iを秘密に上記第1及び第2大小比較装置にそれぞれ送信し、上記シード値s'i, t'iは、上記意中値Vviに対応する要素番号をviとすると、
一方向性関数Fに対してd=0,1,…,vi-1でFd(s'i)=Fd(t'i)となり、かつe=vi,…,M-1でFe(s'i)≠Fe(t'i)となるよう決められ、上記2つの情報系列si, tiはそれぞれ次式
si={si,1=FM-1(s'i), si,2=FM-2(s'i), …, si,vi-1=FM-vi+1(s'i), si,vi=FM-vi(s'i), …, si,M-1=F(s'i), si,M=s'i
ti={ti,1=FM-1(t'i), ti,2=FM-2(t'i), …, ti,vi-1=FM-vi+1(t'i), ti,vi=FM-vi(t'i), …, ti,M-1=F(t'i), ti,M=t'i
で与えられることを特徴とする大小比較方法。
The size comparison method according to claim 11,
In the step (a), each of the user devices transmits the seed values s ′ i and t ′ i as information corresponding to the information series s i and t i in secret to the first and second magnitude comparison devices, respectively. The seed values s ′ i , t ′ i are defined as vi, where the element number corresponding to the mean value V vi is
D = 0, 1 respect to one-way function F, ..., in vi-1 F d (s ' i) = F d (t' i) , and the and e = vi, ..., in M-1 F e (s ′ i ) ≠ F e (t ′ i ), and the above two information sequences s i and t i
s i = {s i, 1 = F M-1 (s ' i ), s i, 2 = F M-2 (s' i ),…, s i, vi-1 = F M-vi + 1 ( s ' i ), s i, vi = F M-vi (s' i ),…, s i, M-1 = F (s ' i ), s i, M = s' i }
t i = {t i, 1 = F M-1 (t ' i ), t i, 2 = F M-2 (t' i ),…, t i, vi-1 = F M-vi + 1 ( t ' i ), t i, vi = F M-vi (t' i ),…, t i, M-1 = F (t ' i ), t i, M = t' i }
A size comparison method characterized by being given by
請求項11記載の大小比較方法において、
上記ステップ(a)は、各上記ユーザ装置で初期乱数R1i, R2i, cai, cbi, si,M+1, ti,M+1を生成するステップと、
mの初期値をMと設定し、上記意中値Vviに対応する要素番号viに対し、m=M,M-1,…,vi+1について逐次
si,m=ti,m=h(si,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
を計算し、si,m=ti,mである部分系列とし、
m=viについての系列要素
si,m=ti,m=h(si,m-1‖ti,m-1‖hM+1-m(cai)‖hM+1-m(cbi))
と、
m=vi-1, vi-2, …, 0についての要素
si,m=ti,m=h(si,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
ti,m=h(ti,m+1‖hM+1-m(cai)‖hM+1-m(cbi))
とを計算し、si,m≠ti,mの部分系列とし、
これらm=M,M-1,…,1の要素si,m, ti,mの列を上記情報系列si, tiとして得るとともに、m=0の値si,0を得るステップ、とを含み、
上記ステップ(a) は更に、各上記ユーザ装置で、
R1i, si=[si,1,si,2,…,si,M]を暗号化関数EAで暗号化し、得られたEA(si‖R1i)を上記第1大小比較装置へ送信し、R2i, ti=[ti,1,ti,2,…,ti,M]を暗号化関数EBで暗号化し、得られたEB(ti‖R2i)を上記第2大小比較装置へ送信するステップと、
H1i=h(si‖R1i), H2i=h(ti‖R2i), si,0, hM+1(cai), hM+1(cbi)を掲示板装置21に送り、公開するステップ、とを含むことを特徴とする大小比較方法。
The size comparison method according to claim 11,
The step (a) includes generating initial random numbers R1 i , R2 i , ca i , cb i , s i, M + 1 , t i, M + 1 in each of the user devices;
m initial value of is set to M, with respect to element number vi corresponding to the intention value V vi, m = M, M -1, ..., sequentially for vi + 1
s i, m = t i, m = h (s i, m + 1 ‖h M + 1-m (ca i ) ‖h M + 1-m (cb i ))
And a subsequence with s i, m = t i, m ,
Series elements for m = vi
s i, m = t i, m = h (s i, m-1 ‖t i, m-1 ‖h M + 1-m (ca i ) ‖h M + 1-m (cb i ))
When,
elements for m = vi-1, vi-2,…, 0
s i, m = t i, m = h (s i, m + 1 ‖h M + 1-m (ca i ) ‖h M + 1-m (cb i ))
t i, m = h (t i, m + 1 ‖h M + 1-m (ca i ) ‖h M + 1-m (cb i ))
And subsequence of s i, m ≠ t i, m ,
A step of obtaining a sequence of elements s i, m , t i, m of m = M, M-1,..., 1 as the information series s i , t i and obtaining a value s i, 0 of m = 0 , And
The step (a) is further performed by each of the user devices.
R1 i , s i = [s i, 1 , s i, 2 ,..., S i, M ] is encrypted with the encryption function E A , and the obtained E A (s i ‖R1 i ) R2 i , t i = [t i, 1 , t i, 2 , ..., t i, M ] is encrypted with the encryption function E B and the obtained E B (t i ‖ Transmitting R2 i ) to the second magnitude comparison device;
H1 i = h (s i ‖R1 i ), H2 i = h (t i ‖R2 i ), s i, 0 , h M + 1 (ca i ), h M + 1 (cb i ) And a step of sending to the public.
請求項1又は11記載の大小比較方法において、上記ステップ(a) は、各上記ユーザ装置で乱数riを生成し、ri=ai*biなる乱数情報ai, biを決め、*は予め決めた共通の演算子であり、上記乱数情報ai, tiをそれぞれ上記第1及び第2大小比較装置に送ると共に、それぞれハッシュしてh(ai), h(bi), h(Viv‖ri)を上記掲示板装置に送り、上記ステップ(d) は、最小値VMIN又は最大値VMAX決定後、上記大小比較装置は上記aj, bjを上記掲示板装置に送り上記ユーザ装置はaj, bjにより公開h(aj), h(bj)を検証し、h(Vj‖rj)=h(Vj‖aj*bj)を検証するステップを含むことを特徴とする大小比較方法。12. The size comparison method according to claim 1 or 11, wherein the step (a) generates random numbers r i in each of the user devices, determines random information a i and b i such that r i = a i * b i , * Is a predetermined common operator, and the random number information a i and t i are sent to the first and second magnitude comparison devices, respectively, and hashed to h (a i ) and h (b i ), respectively. , h (V iv ‖r i ) to the bulletin board device, and after the step (d) determines the minimum value V MIN or the maximum value V MAX , the magnitude comparison device sends the above a j and b j to the bulletin board device. The above user equipment verifies the public h (a j ), h (b j ) by a j , b j and verifies h (V j ‖r j ) = h (V j ‖a j * b j ) A size comparison method comprising the step of: 請求項1記載の大小比較方法に用いられるユーザ装置が、比較の対象となる整数値についての上限VM及び下限V1のM個、Mは2以上の整数、の値から選択した意中値Vviを登録する方法であって、
(a) 入力された上記意中値Vviに対し、V1以上Vvi未満に対応した要素は互いに等しく、Vvi以上VM以下に対応した要素は互いに異なるそれぞれM個の要素からなる2つの情報系列si及びtiを生成するステップと、
(b) 上記情報系列si及びtiが入力され、これらに対する一方向性関数を演算して演算結果H1i,H2iを出力するステップと、
(c) 上記情報系列siを第1大小比較装置へ、上記情報系列tiを第2大小比較装置へ、H1i及びH2iを掲示板装置へそれぞれ送信するステップ、
とを含むことを特徴とする意中値登録方法。
The user apparatus used for the magnitude comparison method according to claim 1 is a mean value selected from the values of the upper limit V M and the lower limit V 1 for the integer value to be compared, and M is an integer of 2 or more. a method for registering a V vi,
to the intention value V vi, which is (a) input, elements corresponding to less than V 1 or V vi are equal to each other, elements corresponding to the following V vi or V M consists of M elements each different from each other 2 Generating two information sequences s i and t i ;
(b) inputting the above information series s i and t i , calculating a one-way function for these, and outputting calculation results H1 i and H2 i ;
(c) transmitting the information series s i to the first magnitude comparison device, the information series t i to the second magnitude comparison device, and H1 i and H2 i to the bulletin board device,
And a mean value registration method characterized by comprising:
請求項11記載の大小比較方法に用いられるユーザ装置が、比較対象となる整数値についての上限VM及び下限V1のM個、Mは2以上の整数、の値から選択した意中値Vviを登録する方法であって、
(a) 入力された意中値Vviに対し、V1以上Vvi以下に対応した要素は互いに異なり、VVi+1以上VM以下に対応した要素は互いに等しいそれぞれM個の要素からなる2つの情報系列si及びtiを生成して出力するステップと、
(b) 上記情報系列si及びtiが入力され、これらに対する一方向性関数を演算して演算結果H1i,H2iを出力するステップと、
(c) 上記情報系列siを第1大小比較装置へ、上記情報系列tiを第2大小比較装置へ、H1i及びH2iを掲示板装置へそれぞれ送信するステップ、
とを含むことを特徴とする意中値登録方法。
The user apparatus used in the quantitative competition method of claim 11, wherein the, M of LIMIT V M and lower V 1 of the on integer values to be compared, M is an integer of 2 or more, intention value V selected from the values of A method of registering vi ,
(a) on the input intention value V vi, different from each other are elements corresponding to the following V 1 or V vi, elements corresponding to the following V Vi + 1 or V M consists of M elements each equal Generating and outputting two information sequences s i and t i ;
(b) inputting the above information series s i and t i , calculating a one-way function for these, and outputting calculation results H1 i and H2 i ;
(c) transmitting the information series s i to the first magnitude comparison device, the information series t i to the second magnitude comparison device, and H1 i and H2 i to the bulletin board device,
And a mean value registration method characterized by comprising:
請求項1記載の大小比較方法に用いられるユーザ装置であって、
比較の対象となる整数値についての上限VM及び下限V1のM個の値が記憶された記憶部と、
V1以上、VM以下の意中の値Vviを入力する入力手段と、
VviとV1,VMが入力され、V1以上Vvi未満に対応した要素は互いに等しく、Vvi以上VM以下に対応した要素は互いに異なるそれぞれM個の要素からなる2つの情報系列si及びti、又はV1以上Vvi以下に対応した要素は互いに異なり、VVi+1以上VM以下に対応した要素は互いに等しいそれぞれM個の要素からなる2つの情報系列si及びtiの一方を生成して出力する情報系列生成部と、MはV1以上VM以下の意中値Vviとして選択可能な値の数であり、
上記情報系列si及びtiが入力され、これらに対する一方向性関数を演算して演算結果H1i, H2iを出力する一方向性関数演算部と、
上記情報系列siを第1大小比較装置へ、上記情報系列tiを第2大小比較装置へ、H1i及びH2iを掲示板装置へそれぞれ送信する送信部と
を含むことを特徴とするユーザ装置。
A user device used in the size comparison method according to claim 1,
A storage unit for M values of the upper limit V M and lower V 1 of the on integer values to be compared is stored,
An input means for inputting a desired value V vi between V 1 and V M , and
V vi and V 1, V M is input, elements corresponding to less than V 1 or V vi are equal to each other, elements corresponding to the following V vi or V M consists of M elements each different from one another two information sequences s i and t i , or elements corresponding to V 1 or more and V vi or less are different from each other, and elements corresponding to V Vi + 1 or more and V M or less are equal to each other, two information sequences s i and An information sequence generation unit that generates and outputs one of t i , and M is the number of values that can be selected as the mean value V vi between V 1 and V M ,
A one-way function calculation unit that receives the information series s i and t i , calculates a one-way function for them, and outputs calculation results H1 i and H2 i ;
A user apparatus comprising: a transmission unit that transmits the information series s i to the first magnitude comparison apparatus, the information series t i to the second magnitude comparison apparatus, and H1 i and H2 i to the bulletin board apparatus. .
請求項11記載の大小比較方法に用いられるユーザ装置であって、
比較の対象となる整数値についての上限VM及び下限V1のM個、Mは2以上の整数、の値が記憶された記憶部と、
V1以上、VM以下の意中の値Vviを入力する入力手段と、
VviとV1,VMが入力され、V1以上Vvi以下に対応した要素は互いに異なり、VVi+1以上VM以下に対応した要素は互いに等しいそれぞれM個の要素からなる2つの情報系列si及びtiを生成して出力する情報系列生成部と、
上記情報系列si及びtiが入力され、これらに対する一方向性関数を演算して演算結果H1i, H2iを出力する一方向性関数演算部と、
上記情報系列siを第1大小比較装置へ、上記情報系列tiを第2大小比較装置へ、H1i及びH2iを掲示板装置へそれぞれ送信する送信部と
を含むことを特徴とするユーザ装置。
A user device used in the size comparison method according to claim 11,
A storage unit in which M values of an upper limit V M and a lower limit V 1 for an integer value to be compared, M is an integer of 2 or more, are stored;
An input means for inputting a desired value V vi between V 1 and V M , and
V vi and V 1 , V M are input, and the elements corresponding to V 1 and V vi are different from each other, and the elements corresponding to V Vi + 1 and V M are equal to each other. An information sequence generator for generating and outputting information sequences s i and t i ;
A one-way function calculation unit that receives the information series s i and t i , calculates a one-way function for them, and outputs calculation results H1 i and H2 i ;
A user apparatus comprising: a transmission unit that transmits the information series s i to the first magnitude comparison apparatus, the information series t i to the second magnitude comparison apparatus, and H1 i and H2 i to the bulletin board apparatus. .
請求項1又は11記載の大小比較方法に用いられる大小比較装置であって、
各ユーザ装置から送られた、下限値V1以上、上限値VM以下の意中値Vviとして選択可能な値の数Mの要素よりなる情報系列を受信し、掲示板装置から送られた整数値wを受信する受信部と、
受信した上記情報系列を記憶する記憶部と、
各ユーザから受信した情報系列中のw番目の要素を入力して、これらの連結に対して一方向性関数を演算し、その演算結果を出力する一方向性関数演算部と、
上記一方向性関数演算結果を上記掲示板装置へ送信する送信部と
を含むことを特徴とする大小比較装置。
A size comparison apparatus used in the size comparison method according to claim 1 or 11,
Sent from each user apparatus, the lower limit value V 1 above, receives the information sequence consisting of elements of the number M of selectable values as the upper limit value V M following intention value V vi, sent from the bulletin board apparatus integer A receiving unit for receiving the numerical value w;
A storage unit for storing the received information series;
A w-th element in the information series received from each user is input, a one-way function is calculated for these connections, and a one-way function calculation unit that outputs the calculation result;
A size comparison apparatus, comprising: a transmission unit that transmits the one-way function calculation result to the bulletin board apparatus.
請求項1又は11記載の大小比較方法に用いられる大小比較装置による大小比較方法であって、
(a) 各ユーザ装置i, i=1,2,…,Nから、下限値V1以上、上限値VM以下のM個の値中の意中値Vviを表す情報としてM個の要素よりなる情報系列si=[si,1,si,2,…,si,M]をそれぞれ受信するステップと、
(b) 掲示板装置から送られた整数値wを受信するステップと、
(c) 各ユーザ装置から受信した情報系列si中のw番目の要素si,wを入力して、これらの連結に対して一方向性関数を演算するステップと、
(d) 上記一方向性関数演算結果を上記掲示板装置へ送信するステップ、
とを含むことを特徴とする大小比較方法。
A size comparison method using a size comparison device used in the size comparison method according to claim 1 or 11,
(a) From each user device i, i = 1, 2,..., N, M elements as information representing a mean value V vi among M values not less than the lower limit value V 1 and not more than the upper limit value V M Each receiving an information sequence s i = [s i, 1 , s i, 2 , ..., s i, M ] comprising:
(b) receiving an integer value w sent from the bulletin board device;
(c) inputting the w-th element s i, w in the information sequence s i received from each user device, and calculating a one-way function for these connections;
(d) transmitting the one-way function calculation result to the bulletin board device;
A size comparison method characterized by including.
請求項1又は11記載の大小比較方法に用いられる大小比較装置であって、
各ユーザ装置から送られた、下限値V1以上、上限値VM以下の意中値Vviとして選択可能な値の数Mの要素よりなる情報系列を受信し、掲示板装置から送られた整数値wを受信する受信部と、
受信した上記情報系列を記憶する記憶部と、
各ユーザから受信した情報系列中のw番目の要素を入力して、これらの連結に対して一方向性関数を演算し、その演算結果を出力する一方向性関数演算部と、
上記一方向性関数演算結果を上記掲示板装置へ送信する送信部と
を含むことを特徴とする大小比較装置。
A size comparison apparatus used in the size comparison method according to claim 1 or 11,
Sent from each user apparatus, the lower limit value V 1 above, receives the information sequence consisting of elements of the number M of selectable values as the upper limit value V M following intention value V vi, sent from the bulletin board apparatus integer A receiving unit for receiving the numerical value w;
A storage unit for storing the received information series;
A w-th element in the information series received from each user is input, a one-way function is calculated for these connections, and a one-way function calculation unit that outputs the calculation result;
A size comparison apparatus, comprising: a transmission unit that transmits the one-way function calculation result to the bulletin board apparatus.
請求項1又は11記載の大小比較方法に用いられるユーザ装置の処理をコンピュータで実行するためのプログラムであり、上記プログラムの処理は、
(a) 比較の対象となる整数値についての上限値VM以下、下限値V1以上の入力された意中の値Vviに対し、V1以上、Vvi未満に対応した要素は互いに等しく、Vvi以上、VM以下に対応した要素は互いに異なるそれぞれM個の要素からなる2つの情報系列si及びti、又はV1以上、Vvi以下に対応した要素は互いに異なり、Vvi+1以上、VM以下に対応した要素は互いに等しいそれぞれM個の要素からなる2つの情報系列si及びtiのいずれかを生成する処理と、Mは上記下限値V1以上、上記上限値VM以下の意中値Vviとして選択可能な値の数であり、
(b) 上記情報系列si及びtiに対しそれぞれ一方向性関数を演算して演算結果H1i,H2iを出力する処理と、
(c) 上記情報系列siを第1大小比較装置へ、上記情報系列tiを第2大小比較装置へ、H1i及びH2iを掲示板装置へそれぞれ送信する処理、
とを含む。
A program for executing the processing of the user device used in the size comparison method according to claim 1 or 11 on a computer,
(a) The elements corresponding to V 1 or more and less than V vi are equal to the input desired value V vi of the upper limit value V M or less and the lower limit value V 1 or more of the integer value to be compared. , V vi above, V M corresponding elements below consists of M elements each different from one another two information sequences s i and t i, or V 1 or more, elements corresponding to the following V vi are different from each other, V vi A process for generating one of two information sequences s i and t i each having M elements equal to or greater than +1 and equal to or less than V M ; and M is greater than or equal to the lower limit value V 1 and the upper limit The number of values that can be selected as the nominal value V vi below the value V M ,
(b) the information sequence s i and t i, respectively to calculate the one-way function to be calculation results H1 i, and outputting the H2 i,
(c) a process of transmitting the information series s i to the first magnitude comparison device, the information series t i to the second magnitude comparison device, and H1 i and H2 i to the bulletin board device;
Including.
請求項29記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。A computer-readable recording medium on which the program according to claim 29 is recorded.
JP2002008616A 2001-01-18 2002-01-17 Large / small comparison method, device thereof, mean value registration method, program thereof, and recording medium thereof Expired - Fee Related JP4024542B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002008616A JP4024542B2 (en) 2001-01-18 2002-01-17 Large / small comparison method, device thereof, mean value registration method, program thereof, and recording medium thereof

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-10327 2001-01-18
JP2001010327 2001-01-18
JP2002008616A JP4024542B2 (en) 2001-01-18 2002-01-17 Large / small comparison method, device thereof, mean value registration method, program thereof, and recording medium thereof

Publications (2)

Publication Number Publication Date
JP2002304287A JP2002304287A (en) 2002-10-18
JP4024542B2 true JP4024542B2 (en) 2007-12-19

Family

ID=26607896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002008616A Expired - Fee Related JP4024542B2 (en) 2001-01-18 2002-01-17 Large / small comparison method, device thereof, mean value registration method, program thereof, and recording medium thereof

Country Status (1)

Country Link
JP (1) JP4024542B2 (en)

Also Published As

Publication number Publication date
JP2002304287A (en) 2002-10-18

Similar Documents

Publication Publication Date Title
EP0786178B1 (en) Secret-key certificates
JP5497677B2 (en) Method and apparatus for generating verifiable public key
US6810122B1 (en) Secret sharing system and storage medium
US5146500A (en) Public key cryptographic system using elliptic curves over rings
US9882890B2 (en) Reissue of cryptographic credentials
JP3158118B2 (en) Authentication information verification system
US20060083370A1 (en) RSA with personalized secret
US20120294442A1 (en) Joint encryption of data
JP2007519044A (en) Zero knowledge proof encryption method and apparatus
CN110719172B (en) Signature method, signature system and related equipment in block chain system
WO2006126668A1 (en) Pseudo-random function calculating device and method, and number limited anonymous authentication system and method
CN115804061A (en) Generating a shared private key
EP0374225B1 (en) Method and device for authentication
US7676399B2 (en) Method, apparatus and program for quantitative competition and recording medium having recorded thereon the program
CN110266478B (en) Information processing method and electronic equipment
JP4772965B2 (en) Method for proving entity authenticity and / or message integrity
JP4024542B2 (en) Large / small comparison method, device thereof, mean value registration method, program thereof, and recording medium thereof
JP2004527139A (en) Methods, systems, and devices for proving the authenticity of an entity or the integrity of a message.
JP4598269B2 (en) Fast finite field operations on elliptic curves
JP4098510B2 (en) Anonymous communication method, apparatus processing method thereof, program thereof, and recording medium thereof
WO2023016728A1 (en) Generating digital signatures
JPH09298538A (en) Security authentication method and system therefor
JPH03103961A (en) Digital multisignature system using id information
JPH03103960A (en) Digital signature system using id information
AU7229896A (en) Cryptographic methods for demonstrating satisfiable formulas from propositional logic

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070717

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070828

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071003

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101012

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111012

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111012

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121012

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131012

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees