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 PDFInfo
- 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
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
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
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,
[0013]
As shown in FIG. 2, each user device 13-i includes an
Each user 11-i (i = 1, 2,..., N)1VMThe following integer value VviAnd is input to the user device 13-i by the
[0014]
Here, user 11-i sets the mean value to
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,…,
[0015]
Random number R1 in the
[0016]
Concatenation of each series and random number by
[0017]
Each user device 13-i has a hash value h (Vvi‖Ri), H1iAnd H2iIs sent to the
[0018]
As shown in FIG. 4 (and FIG. 5), the configuration of the
Encrypted sequence information E from each user device 13-i received by the receiving
[0019]
The
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
[0020]
As shown in FIG. 5, the
[0021]
Next, the large /
FIG. 6 shows the information sequence s generated by the information
[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
The above-described minimum value search procedure is shown in FIG.
Step S1: The
Step S2A: Element connection Seq in the
Step S2B: Similarly in the
Step S3A: The
Step S3B: The
Step S4: The
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
[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
[0025]
In the first embodiment described above, the
[0026]
Minimum intention value VMINAfter searching for the minimum mean value V published to the
User 11-j h (aj), h (bj), h (Vvj‖Rj) Has already been released. The large and
[0027]
Thus, each user has ri= ai* biBecome ai, biH (ai), h (bi), h (Vvi‖Ri) To the
[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 /
The
[0030]
In the above, a series of values V1~ VMAre associated with
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
[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
FIG. 9 shows a configuration example of the information
[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
Step S6: H1i= h (si‖R1i), H2i= h (ti‖R2i), si, 0, hM + 1(cai), hM + 1(cbi) Is sent to the
[0036]
Size comparison processing by the
Minimum intention value VMINAfter the identification, the
[0037]
Here, if the user 11-i and the
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
[0038]
User 11-i (i = 1,2, ..., N)1VMThe following integer value VviAnd the
[0039]
Each user 11-i is H1i, H2i, H3iAnd h (Vvi‖Ri) Is sent to the
Since the subsequent size comparison processing can be performed if the
[0040]
That is, the
[0041]
Next, the large /
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
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
[0043]
Minimum intention value VMINAfter searching for the minimum mean value V published to the
[0044]
The
As described above, in the present invention, the key is the element s corresponding to the value w specified by the
[0045]
Hash value for verification H1i= h (si‖R1i), H2i= h (ti‖R2i) Is transmitted to the
In the above description, the Seq created by the
[0046]
In the first and third embodiments described above, the two-sequence information s generated by the
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
[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 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−
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
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
[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
FIG. 5 is a diagram showing an example of a main functional configuration of a
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
FIG. 10 is a flowchart showing a processing procedure of a user apparatus in the second embodiment.
Claims (30)
(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.
上記ステップ(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.
上記ステップ(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.
上記第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.
上記ステップ(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.
上記ステップ(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
上記ステップ(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.
(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.
上記ステップ(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.
上記ステップ(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.
上記第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.
上記ステップ(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.
上記ステップ(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
上記ステップ(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.
(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:
(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:
比較の対象となる整数値についての上限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. .
比較の対象となる整数値についての上限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. .
各ユーザ装置から送られた、下限値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.
(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.
各ユーザ装置から送られた、下限値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.
(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.
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) |
-
2002
- 2002-01-17 JP JP2002008616A patent/JP4024542B2/en not_active Expired - Fee Related
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 |