JP2003218854A - Method, apparatus, and program for carrying out dynamic programming - Google Patents

Method, apparatus, and program for carrying out dynamic programming

Info

Publication number
JP2003218854A
JP2003218854A JP2002014167A JP2002014167A JP2003218854A JP 2003218854 A JP2003218854 A JP 2003218854A JP 2002014167 A JP2002014167 A JP 2002014167A JP 2002014167 A JP2002014167 A JP 2002014167A JP 2003218854 A JP2003218854 A JP 2003218854A
Authority
JP
Japan
Prior art keywords
weight
node
vector
cipher
link
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.)
Pending
Application number
JP2002014167A
Other languages
Japanese (ja)
Inventor
Kotaro Suzuki
幸太郎 鈴木
Makoto Yokoo
真 横尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002014167A priority Critical patent/JP2003218854A/en
Publication of JP2003218854A publication Critical patent/JP2003218854A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To carry out a dynamic programming while concealing input. <P>SOLUTION: Weight w(j, k) of a link (j, k) is made public by giving a weight cipher e<SB>j</SB>,<SB>k</SB>in which w ciphers E(z) of z due to a quasi-isomorphic cipher E arrayed, then n-w (n is the maximum weight) of cipher E(1) of number 1 are arrayed. The product of additional weight ciphers e'<SB>j</SB>,<SB>k</SB>from entire nodes k on the final stage side connected to e<SB>j</SB>,<SB>k</SB>through node units N<SB>j</SB>is obtained, decoding them successively starting with the largest element number, an element number where the result becomes from 1 to z is set to be the maximum weight f(j) of a portion from a terminal node to j, the entire weight ciphers e<SB>i</SB>,<SB>j</SB>connected to the initial stage side of the node j is shifted to the right by f(j), the E(z) are added to the vacant left side, further, the cipher vector is randomized to make it as an additional ciphers e'<SB>i</SB>,<SB>j</SB>, which is carried out for each node, and the maximum weight f(0) at a node 0 is set to be the maximum value. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明は例えば複数財の入
札方法に適用できる、安全な動的計画法の実行方法、こ
れに用いるノード装置、及びそのプログラムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a safe dynamic programming execution method that can be applied to, for example, a bidding method for a plurality of goods, a node device used for the method, and a program therefor.

【0002】[0002]

【従来の技術】動的計画法(dynamic programming )と
は、部分最適解を逐次的に拡張することにより最適解を
求める、組合せ最適化技法である。最適解の一部分がま
た部分問題の最適解になっているという「最適性の原
理」を満たす問題に対して適用できる。グラフの最長
(最短)経路問題などが有名である。簡単に説明するた
め、主に図7Aにあるような一次元有効グラフの最長経
路問題を例に説明する。図7Aのグラフは、ノード0,
1,…,mといくつかのリンク(j,k)(ただしj<
k)をもち、各リンク(j,k)には重みw(j,k)
が与えられている。例えばリンク(0,1)には重みw
(0,1)=1が、リンク(0,2)には重みw(0,
2)=2が与えられている。
2. Description of the Related Art Dynamic programming is a combinatorial optimization technique in which an optimal solution is obtained by sequentially expanding a partial optimal solution. It can be applied to a problem that satisfies the "optimality principle" that a part of the optimum solution is also the optimum solution of the subproblem. The longest (shortest) path problem in the graph is famous. For the sake of simplicity, the longest path problem of the one-dimensional effective graph as shown in FIG. 7A will be mainly described as an example. The graph of FIG. 7A shows that node 0,
1, ..., m and some links (j, k) (where j <
k) and each link (j, k) has a weight w (j, k).
Is given. For example, for link (0, 1), weight w
(0,1) = 1, but the link w (0,2) has a weight w (0,
2) = 2 is given.

【0003】いま、ノードjからノードmまでの重みw
に関する最長経路を考えると、その最長経路上のすべて
のノードkについて、その最長経路におけるノードkか
らノードmまでの部分は、ノードkからノードmまでの
重みwに関する最長経路になっていて、最長経路問題は
「最適性の原理」を満たしている。そこで、次のように
動的計画法によりノード0からノードmまでの重みwに
関する最長経路を求めることができる。まず、ノードj
からノードmまでの最長経路上の各ノードkからノード
mまでの部分はまた最長経路でなければならないので、
ノードjからノードmまでの最長経路は、リンク(j,
k)とノードkからノードmまでの最長経路をつないだ
形をしている。また、ノードjからノードmまでの最長
経路は最長であるので、上記の形の経路のなかで最長の
ものである。よって、ノードjからノードmまでの重み
wに関する最長経路長をf(j)と書くと、f(j)は
次の動的計画法の漸化式 f(j)=max(j,k) {w(j,k)+f(k)} を満たしている。よって、f(m)=0として、j=m
から始めてj= m−1,m−2,…,1,0と順次与
えて上記漸化式を繰り返し適用し、最終的にj=0の時
のf(0)を求めれば、それがノード0からノードmま
での重みwに関する最長経路長となっている。また、f
(0)を実現する最長経路は、ノード0から前とは逆向
きにj=1,2,…,m−1の向きにmax(j,k) を実
現しているリンク(j,k)を順次見付けていくことに
より求めることができる。
Now, the weight w from node j to node m
Considering the longest path with respect to all the nodes k on the longest path, the part from the node k to the node m in the longest path is the longest path with respect to the weight w from the node k to the node m. The path problem satisfies the "principle of optimality". Therefore, the longest path regarding the weight w from the node 0 to the node m can be obtained by the dynamic programming as follows. First, node j
Since the part from each node k to node m on the longest path from to node m must also be the longest path,
The longest route from node j to node m is link (j,
k) and the longest route from the node k to the node m. Also, since the longest route from node j to node m is the longest, it is the longest route among the above routes. Therefore, if the longest path length related to the weight w from the node j to the node m is written as f (j), f (j) is the recurrence formula f (j) = max (j, k) of the following dynamic programming method. {W (j, k) + f (k)} is satisfied. Therefore, if f (m) = 0, then j = m
Starting from j = m−1, m−2, ..., 1, 0 are sequentially given and the above recurrence formula is repeatedly applied, and finally f (0) when j = 0 is obtained. Is the longest path length for the weight w up to. Also, f
The longest path that realizes (0) is the link (j, k) that realizes max (j, k) in the direction of j = 1, 2, ... Can be found by sequentially finding

【0004】例えば最長経路長を求める際にj=2では
ノード2と3間のリンク(2,3)と、ノード2とm−
1間のリンク(2,m−1)あるから、リンク(2,
3)の重みw(2,3)とノード3とm間の最長経路長
f(3)との和w(2,3)+f(3)と、リンク
(2,m−1)の重みw(2,m−1)とノードm−1
とm間の最長経路長f(m−1)との和w(2,m−
1)+f(m−1)とのうちの最大のものをf(2)と
する。最長経路を求める場合はj=2ではw(2,3)
+f(3)とw(2,m−1)+f(m−1)との最大
のものを与えるリンクでつながるノード3又はm−1に
逆のぼる。
For example, when the longest path length is obtained, when j = 2, the link (2, 3) between the nodes 2 and 3 and the node 2 and m-
Since there is a link (2, m-1) between 1, the link (2, m-1)
The sum w (2,3) + f (3) of the weight w (2,3) of 3) and the longest path length f (3) between the nodes 3 and m, and the weight w of the link (2, m−1). (2, m-1) and node m-1
And the longest path length f (m-1) between m and w (2, m-
The maximum of 1) + f (m-1) is defined as f (2). When finding the longest route, w (2,3) when j = 2
Reverse to node 3 or m-1 connected by the link giving the maximum of + f (3) and w (2, m-1) + f (m-1).

【0005】[0005]

【発明が解決しようとする課題】従来においては入力、
つまり各リンクの重みを秘密にしたまま、最適値、例え
ば最長又は最短経路値を求めること、また最適値をとる
経路のみを他の経路の重みを秘密にしたまま求めること
は提案されていなかった。重みを秘密にしたまま動的計
画法を実行できれば、例えば複数財の入札方法などに適
用でき頗る便利である。この発明の目的は重みを秘密に
したまま最適値を求めることができる動的計画法の実行
方法、それに用いるノード装置及びそのプログラムを提
供することにある。
[Problems to be Solved by the Invention]
In other words, it has not been proposed to find the optimum value, for example, the longest or shortest route value while keeping the weight of each link secret, and to find only the route having the optimum value while keeping the weights of other routes secret. . If dynamic programming can be executed with the weight kept secret, it can be applied to, for example, a bidding method for multiple goods, which is very convenient. An object of the present invention is to provide a method for executing a dynamic programming method that can obtain an optimum value while keeping weights secret, a node device used for the method, and a program therefor.

【0006】[0006]

【課題を解決するための手段】この発明によれば、重み
発行装置はリンク(j,k)(0j<km)(mは
最終ノード)の重みw(j,k)に応じた重み暗号ベク
トルej,k (w(j,k))を作って公開する。重み
番号ベクトルej,k (w(j,k))は準同型公開鍵
暗号Eの公開鍵PKj で公開されている数zを暗号化し
た暗号Ej (z)と数1を暗号化した暗号Ej (1)と
から成り、重みwが取り得る最大値nの数の要素から成
り、最大値を最適値とする場合はEj (z)をw(j,
k)個並べ、E(1)を(n−w(j,k))個並べ、
最小値を最適値とする場合はEj(z)を(n−w
(j,k))個並べ、Ej (1)をw(j,k)並べた
ものである。準同型暗号は(1)識別不能、つまり平文
0 ,m1 と暗号E(mb )を見て、E(mb )はm0
を暗号化したものかm1 を暗号化したものか当てること
ができない、(2)準同型的、つまりE(ab)=E
(a)E(b)であり、(3)再暗号化可能、即ちE
(m)から同じ平文の別の暗号文E′(m)を効率的に
計算できるものであり、例えばElGamal暗号やP
aillier暗号などである。またzは暗号文の平文
になり得る範囲の1以外の数が好ましい。
According to the present invention, the weight issuing device determines the weight w (j, k) of the link (j, k) (0 < j <k < m) (m is the final node). A weighted cipher vector e j, k (w (j, k)) is created and disclosed. The weight number vector e j, k (w (j, k)) is a cipher E j (z) that encrypts the number z disclosed with the public key PK j of the homomorphic public key cipher E, and a number 1 is encrypted. And the cipher E j (1) that has the maximum value n that the weight w can take. When the maximum value is an optimum value, E j (z) is set to w (j,
k) arranged, E (1) arranged (n−w (j, k)) arranged,
When the minimum value is set to the optimum value, E j (z) is set to (n−w)
(J, k)) and E j (1) are arranged by w (j, k). The homomorphic cipher is (1) indistinguishable, that is, E (m b ) is m 0 when looking at plaintext m 0 , m 1 and cipher E (m b ).
It cannot be applied whether it is an encrypted version of m or an encrypted version of m 1. (2) Homomorphic, that is, E (ab) = E
(A) E (b) and (3) re-encryptable, ie E
It is possible to efficiently calculate another ciphertext E ′ (m) of the same plaintext from (m), for example, ElGamal encryption or P
For example, the Aillier cipher. Further, z is preferably a number other than 1 in the range that can be the plaintext of ciphertext.

【0007】各ノード装置Nj はノードjにつながって
いる後段(終段)側の全てのリンクの加算重み暗号ベク
トルe′j,k の積を求め(j<km)、その積ベク
トルの各要素を順次復号して、復号結果が1からzにな
った時の要素番号の数を部分最適値f(j)とする。ま
たノード装置Nj はそのノードjにつながっている前段
(初段)側の全リンクの重み暗号ベクトルei,j
(0i<j)に対しf(j)だけシフトさせ、その空
いた要素位置にEi (z)又はEi(1)を付加し、そ
の付加されたベクトルをランダム化して加算重み暗号ベ
クトルe′i,jを作り、これを対応するノードiのノ
ード装置へ送る。前記シフトは最大値を求める場合は右
シフトしEi (z)を付加し、最小値を求める場合は左
シフトしてEi (1)を付加する。
Each node device N j obtains the product of the addition weight cryptographic vectors e ′ j, k of all the links on the downstream side (final stage) connected to the node j (j <k < m), and the product vector The elements are sequentially decoded, and the number of element numbers when the decoding result changes from 1 to z is set as the partial optimum value f (j). In addition, the node device N j has weight cipher vectors e i, j of all links on the preceding stage (first stage) side connected to the node j .
(0 < i <j) is shifted by f (j), E i (z) or E i (1) is added to the vacant element position, and the added vector is randomized to add weight encryption. Create a vector e'i , j and send it to the node device of the corresponding node i. The shift is performed by right-shifting and adding E i (z) to obtain the maximum value, and left-shifting and adding E i (1) when obtaining the minimum value.

【0008】このことをノード装置Nm-1 から初段ノー
ド装置N0 へ向って順次行い、初段ノード装置N0 で求
めた部分最適値を求める最終の最適値として公開する。
[0008] sequentially performed toward this fact from the node device N m-1 to the ingress node device N 0, to expose as the final optimum value for obtaining the suboptimal value obtained in the ingress node device N 0.

【0009】[0009]

【発明の実施の形態】動的計画法 図1に示すように複数の重み発行装置11−1,…,1
1−Lと複数のノード装置N0 ,…,Nm と通信網12
と、必要に応じて掲示板装置13と運用装置14によ
り、この発明方法が適用されるシステムが構成される。
以下の説明では簡単にするため1次元有効グラフの最長
経路問題を例とする。各ノード装置Nj (j=0,…,
m)はそれぞれ準同型公開鍵暗号の秘密鍵SK j と公開
鍵PKj を予め生成し公開鍵PKj を公開しておく。こ
の公開は掲示板装置13へそのノード装置Nj の識別情
報(ID)と共に登録し誰れでもがその公開鍵PKj
入手できるようにし、あるいは認証機関装置に登録して
もよい。
DETAILED DESCRIPTION OF THE INVENTIONDynamic programming As shown in FIG. 1, a plurality of weight issuing devices 11-1, ..., 1
1-L and a plurality of node devices N0, ..., NmAnd communication network 12
And the bulletin board device 13 and the operation device 14 as necessary.
A system to which the method of the present invention is applied is configured.
In the following explanation, for simplification, the longest one-dimensional effective graph
Take the route problem as an example. Each node device Nj(J = 0, ...,
m) is the private key SK of homomorphic public key encryption jAnd published
Key PKjPublic key PKjIs published. This
Is published to the bulletin board device 13jIdentification information
Anyone can register with the information (ID) and public key PKjTo
By making it available or registering with a certification authority device
Good.

【0010】重み発行装置11−1,…,11−Lは各
リンクと対応して設けられ、そのリンクに対する重みを
発行する。リンク(j,k),(0j<km)の重
みw(j,k)を発行する重み発行装置11−j,kは
例えば図2に示すように、ノード装置Nj の公開鍵PK
j と公開された数zが必要に応じて記憶部111に格納
されており、入力部112より重みw(j,k)を入力
すると重みw(j,k)は暗号部113に入力され、公
開鍵PKj でzと数1をそれぞれ準同型暗号化した暗号
j (z)と、Ej (1)とよりなる要素数が、取り得
る最大重みnの数と等しい重み暗号ベクトルe
j,k (w(j,k))が生成される。下記のように1番
目の要素からw(j,k)番目の要素までがE
j (z),(w(j,k)+1)番目の要素からn番目
の要素までがEj (1)である。
The weight issuing devices 11-1, ..., 11-L are provided corresponding to the respective links, and issue weights for the links. Link (j, k), (0 <j <k <m) as shown in the weight issuing device 11-j, k, for example 2 to issue weight w (j, k), the public node device N j Key PK
j and the published number z are stored in the storage unit 111 as necessary, and when the weight w (j, k) is input from the input unit 112, the weight w (j, k) is input to the encryption unit 113, Weight cipher vector e in which the number of elements consisting of cipher E j (z) obtained by homomorphic encryption of z and number 1 with public key PK j and E j (1) is equal to the number of possible maximum weight n
j, k (w (j, k)) is generated. As shown below, from the first element to the w (j, k) th element is E
E j (1) is from the j (z), (w (j, k) +1) th element to the nth element.

【0011】 1 2 … w(j,k)w(j,k)+1 n Ej (z),Ej (z),…,Ej (z) E
j (1),…,Ej (1)つまり図3に示すように重み
w=0の場合Ej (1)のみであり、w=1では1番目
の要素のみがEj (z)であり、w=2では1番目と2
番目の要素のみがEj (z)であり、w=n−1ではn
番目の要素のみがEj (1)であり、w=nでは全ての
要素がEj (z)である。暗号部113で生成された重
み暗号ベクトルej,k (w(j,k))(以下単に
j,k とも表わす)は通信部114により掲示板装置
13にそのリンク(j,k)のIDと共に登録公開され
る。従って図6に示した例においては図4に示すよう
に、ノードjとkで決る各リンクに対する掲示板装置1
3の重み格納部131に格納される。つまりj=0,k
=1の箇所にe0,1 が、j=0,k=2の箇所にe
0,2 がj=1,k=2の箇所にe1,2 がというように
格納される。
1 2 ... W (j, k) w (j, k) +1 n E j (z), E j (z), ..., E j (z) E
j (1), ..., E j (1) That is, as shown in FIG. 3, only E j (1) when the weight w = 0, and when w = 1, only the first element is E j (z). Yes, w = 2, 1st and 2
Only the th element is E j (z) and n for w = n−1.
Only the th element is E j (1), and for w = n all elements are E j (z). The weight cipher vector e j, k (w (j, k)) (hereinafter also simply referred to as e j, k ) generated by the cipher unit 113 is sent to the bulletin board device 13 by the communication unit 114 on the ID of the link (j, k). Registered and released with. Therefore, in the example shown in FIG. 6, as shown in FIG. 4, the bulletin board device 1 for each link determined by the nodes j and k
3 in the weight storage unit 131. That is, j = 0, k
= 0 for e 0,1 and j = 0, k = 2 for e
0,2 is stored in the place of j = 1, k = 2, e 1,2 and so on.

【0012】全てのリンクに対する重み暗号ベクトルが
公開されると、例えばシステムの運用装置14がこれを
監視してノード装置Nm-1 から順に、初段側のノード装
置N 0 まで動的計画法を実行させる。運用装置14は動
的計画法を実行する対象グラフGの情報、つまりグラフ
Gを構成する各ノード、ノード間をつなぐ各リンクに関
する情報を記憶してあるものとする。ノード装置Nj
機能構成例を図5に示し、その処理手順の例を図7Aに
示す。ステップS1でノードjにつながる終段(後段)
側の全てのリンクの加算重み暗号ベクトルe′j,k
揃ったか、つまり部分最適値(部分最大値)を求めるた
めの対象加算重み暗号ベクトルe′j, k が揃ったかを
調べる。これはノード装置Nj が掲示板装置13の加算
重み格納部132に対象加算重み暗号ベクトルe′
j,k が、重み格納部131と同様に格納されたかを監視
して知ることができる。あるいは運用装置14から実行
指示通知を受信し、又は1つ後段のノード装置Nj+1
らの処理終了(又は実行指示)通知を受信して、処理対
象加算重み暗号ベクトルが揃ったことを知る。例えば図
7A中のノード2のノード装置N2 の場合はノード2と
m−1のリンク(2,m−1)に与えられる加算重み暗
号ベクトルe′2,m-1 とノード2と3のリンク(2,
3)に与えられる加算重み暗号ベクトルe′2,3 が揃
ったことが確認される。この確認は通信部201を通じ
て行われる。
The weight cipher vectors for all links are
When it is released, for example, the operation device 14 of the system
Monitor and node device Nm-1In order from
Setting N 0Run dynamic programming until. The operation device 14 operates
Information of the target graph G that implements dynamic programming, that is, the graph
For each node that makes up G and for each link that connects the nodes
It is assumed that the information to be stored is stored. Node device Njof
An example of the functional configuration is shown in FIG. 5, and an example of the processing procedure is shown in FIG. 7A.
Show. Final stage (second stage) connected to node j in step S1
Addition weight cipher vector e ′ of all links on the sidej, kBut
If they are complete, that is, find the partial optimum value (partial maximum value)
Target addition weight encryption vector e ′j, kHave you got
Find out. This is the node device NjIs added to the bulletin board device 13
The target addition weight cipher vector e ′ is stored in the weight storage unit 132.
j, kIs stored in the same way as the weight storage unit 131.
And you can know. Or executed from the operation device 14
The instruction notification is received, or the node device N at the next stage is received.j + 1Or
Process completion (or execution instruction) notification from
Know that the elephant addition weight cipher vectors are complete. For example
Node device N of node 2 in 7A2And node 2
Addition weight darkness given to the link (2, m-1) of m-1
No. vector e '2, m-1And the link between nodes 2 and 3 (2,
3) Addition weight cipher vector e ′ given to2,3Assorted
It was confirmed that This confirmation is made through the communication unit 201.
Is done.

【0013】ステップS2では揃った加算重み暗号ベク
トルe′j,k の全てを掲示板装置13から取り込み、
ステップS3では取込んだ全ての加算重み暗号ベクトル
e′j,k の成分ごとの積Πk j,k を積演算部20
2で演算する。 Πk j,k =(Πk j,k,1,…,Πk j,k,n ) 暗号Eの準同型的性質E(a)・E(b)=E(ab)
によりこの積演算結果のベクトルの各要素cx (x=
1,…,n)は cx =Πk j,k,x =E(zs(x)) となる。ここでs(x)=#{k|xw(j,k)}
は重みがx以上の加算重み暗号ベクトルの数である。
In step S2, all the added weight cipher vectors e'j, k that have been collected are loaded from the bulletin board device 13,
In step S3 all but ipecac the weighting factor encryption vector e 'j, the product [pi k e j of each component of k, the product of the k arithmetic unit 20
Calculate with 2. Π k e j, k = (Π k e j, k, 1 , ..., Π k e j, k, n ) The homomorphic property E (a) · E (b) = E (ab) of the cipher E
Therefore, each element c x (x =
1, ..., n) is the c x = Π k e j, k, x = E (z s (x)). Where s (x) = # {k | x < w (j, k)}
Is the number of additive weight cryptographic vectors having a weight of x or more.

【0014】ステップS4では積ベクトルの各要素cx
をx=n,n−1,…,1の順に秘密鍵SKj により各
要素復号部203で復号し、ステップS5ではその復号
結果が最初にzになったかを最適値用判定部204で判
定し、最初にzが得られるまで要素cx を順次復号す
る。ステップS6ではその最初にzが得られた要素cx
の要素番号xを部分最大値f(j)として記憶部225
に記憶する。このようにして重みを秘匿したまま、重み
の最大値f(j)を求めることができる。しかも暗号E
の識別不能性から何れの加算重み暗号ベクトルe′
j,k の重みがf(j)であるかを知ることはできない。
ステップS3〜S6は部分最適値を検出する過程であ
り、積演算部202、各要素復号部203及び最適値用
判定部204は部分最適値検出部205を構成してい
る。
In step S4, each element c x of the product vector
, In the order of x = n, n−1, ..., 1 by each element decryption unit 203 with the secret key SK j , and in step S5, the optimal value determination unit 204 determines whether the decryption result is z first. Then, the elements c x are sequentially decoded until z is first obtained. In step S6, the element c x from which z is obtained first
The element number x of is stored as the partial maximum value f (j) in the storage unit 225.
Remember. In this way, the maximum weight value f (j) can be obtained while keeping the weight secret. Moreover, the code E
Which additional weight cipher vector e ′ is
It is not possible to know whether the weight of j, k is f (j).
Steps S3 to S6 are processes of detecting a partial optimum value, and the product calculation unit 202, each element decoding unit 203, and the optimum value determination unit 204 constitute a partial optimum value detection unit 205.

【0015】ステップS7ではノードjとつながる前段
(初段)側の全てのリンクの重み暗号ベクトルei,j
を掲示板装置13の重み格納部131から取り込む。図
7A中のノード2の場合はノード1と2のリンク(1,
2)の重み暗号ベクトルe 1,2 と、ノード0と2のリ
ンク(0,2)の重み暗号ベクトルe0,2 とを取り込
む。ステップS8ではその取り込んだ各重み暗号ベクト
ルei,j をシフト部206で検出した部分最大値f
(j)だけそれぞれ右シフトする。ステップS9では記
憶部225から公開数zを取り出し、暗号部207でノ
ード装置Ni の公開鍵PKi により暗号化し、ステップ
S10ではその暗号Ei (z)を、右シフトされた重み
暗号ベクトルei,j のそれぞれのシフトにより空いた
要素位置に付加部208で付加する。つまり各重み暗号
ベクトルei,j は右シフトによりその暗号Ej (1)
がf(j)個除去され、左側(要素番号の小さい側)に
f(j)個の暗号Ei (z)が付加されたことになる。
暗号Eの再暗号化可能の性質からEi(z),Ei(1)
からE′i (z),E′i (1)に効率的に計算でき
る。よって、前記シフトとEi (z)の付加は重みw
(i,j)を明かすことなく、重みw(i,j)に重み
f(j)を加算したことになる。
In step S7, the preceding stage connected to node j
Weight cipher vector e for all links on the (first stage) sidei, j
From the weight storage unit 131 of the bulletin board device 13. Figure
In the case of node 2 in 7A, the link between nodes 1 and 2 (1,
2) Weight cipher vector e 1,2And nodes 0 and 2
Weighted cipher vector e of link (0, 2)0,2Capture and
Mu. In step S8, the weighted cipher vectors acquired are
Ei, jMaximum value f detected by the shift unit 206
Only (j) shifts to the right. In step S9
The publicized number z is extracted from the storage unit 225, and the publicized number z is stored in the encryption unit 207.
Device NiPublic key PKiEncrypted by the step
In S10, the code Ei(Z) is a right-shifted weight
Cipher vector ei, jVacated by each shift of
The addition unit 208 adds the element position. That is, each weight cipher
Vector ei, jShifts to the right by the cipher Ej(1)
F (j) are removed, and to the left (the side with the smallest element number)
f (j) ciphers Ei(Z) is added.
Due to the re-encryptable nature of cipher E, Ei(Z), Ei(1)
To E ′i(Z), E 'iCan be calculated efficiently in (1)
It Therefore, the shift and EiThe addition of (z) is the weight w
Weighting the weight w (i, j) without revealing (i, j)
This means that f (j) is added.

【0016】ステップS11ではこの暗号E(z)が付
加された重み暗号ベクトルが公開鍵PKi によりランダ
ム化部209でランダム化され、付加された暗号E
(z)の数、つまり部分最大値f(j)が秘匿されて加
算重み暗号ベクトルe′i,j が得られる。シフト部2
06、暗号部207、付加部208及びランダム化部2
09は重み加算部211を構成している。ステップS1
2では生成された各加算重み暗号ベクトルe′i,j
対応ノードiのノード装置Ni へそれぞれ送る。この加
算重み暗号ベクトルe′i,j のノード装置Ni への送
信は直接行ってもよいし、掲示板装置13へ送って公開
し、これをノード装置Ni が取り込んでもよい。掲示板
装置13へ公開する場合はノード装置N0 は処理の終了
を運用装置14又は1つ前段のノード装置Nj-1 に通知
してもよい。
In step S11, the weight cipher vector to which the cipher E (z) is added is randomized by the randomizing unit 209 with the public key PK i , and the cipher E added is added.
The number of (z), that is, the partial maximum value f (j) is concealed to obtain the addition weight cipher vector e ′ i, j . Shift unit 2
06, encryption unit 207, addition unit 208, and randomization unit 2
Reference numeral 09 forms a weight addition unit 211. Step S1
In step 2, each generated addition weight cipher vector e ′ i, j is sent to the node device N i of the corresponding node i. This addition weight cipher vector e ′ i, j may be directly transmitted to the node device N i , or may be transmitted to the bulletin board device 13 and made public, and the node device N i may take in it. When publishing to the bulletin board device 13, the node device N 0 may notify the operation device 14 or the node device N j-1 of the immediately preceding stage that the processing has ended.

【0017】このようにノード装置Ni にはリンク
(i,j)の重みw(i,j)にノード装置Nj で検出
した部分最大値f(j)が加算された重みを暗号化した
加算重み暗号ベクトルが送られる。同様にしてノード装
置Ni にはノードiとつながる後段側の全ノードの装置
からそのノード内のリンクの重みにそのノードの検出部
分最大値を加算した重みを暗号化した加算重み暗号ベク
トルが送られることになる。このことがノード装置N
m-1 で先ず処理され、順次ノード装置Nm-2 ,Nm-3
…と初段側のノードの装置で行われる。
[0017] by encrypting the weights weights w (i, j) portion detected by the node device N j to a maximum value f (j) is added link (i, j) in this way the node device N i The additive weight cipher vector is sent. Similarly node device N i weighting factor encryption vector weights obtained by adding the detection portion maximum value of the node encrypted from device all nodes on the weight of the links within the node in the subsequent stage side feed to connect with node i to Will be done. This is the node device N
m-1 is processed first , and the node devices N m-2 , N m-3 ,
... and the device of the node on the first stage side.

【0018】従って前記ノード装置Nj での処理におい
て加算重み暗号ベクトル中から部分最大値f(j)を求
める処理はノードjとつながる後段側の全てのノードk
との間の重みw(j,k)と終段ノードmからそのノー
ドkまでの部分最大値f(k)との加算値 w(j,k)+f(k) の最大値、つまり f(j)=max(j,k) (w(j,k)+f(k)) を検出していることになる。この式は動的計画法の漸化
式を満たしていることになる。なおf(m)=0として
いる。
Therefore, in the process in the node device N j , the process of obtaining the partial maximum value f (j) from the addition weight cipher vector is performed by all the nodes k on the downstream side connected to the node j.
The maximum value of the sum w (j, k) + f (k) of the weight w (j, k) between and the partial maximum value f (k) from the final node m to the node k, that is, f (k j) = max (j, k) (w (j, k) + f (k)) is detected. This formula satisfies the recurrence formula of dynamic programming. Note that f (m) = 0.

【0019】よって初段ノード0のノード装置N0 で検
出された部分最大値f(0)はノード0とノードm間の
経路中重みの最大値となる。よってこのf(0)が重み
最大値(最適値)として公開される。以上のように各リ
ンクの重みを明かすことなく、動的計画法を実行して、
ノード0とm間の経路中の最大重みf(0)を求めるこ
とができる。次に求めた重み最大値f(0)を実現する
重み最大値経路を求める。この場合はノード装置N0
出発点として、終段ノード装置Nm に向って、順次、そ
のノードにつながる終段側リンクの重み最大のものを探
してそのリンクを辿ってゆけばよい。
Therefore, the partial maximum value f (0) detected by the node device N 0 of the first-stage node 0 becomes the maximum value of the weight in the route between the node 0 and the node m. Therefore, this f (0) is disclosed as the maximum weight value (optimum value). As above, without revealing the weight of each link, execute dynamic programming,
The maximum weight f (0) in the path between nodes 0 and m can be determined. Next, a weight maximum value route that realizes the calculated weight maximum value f (0) is obtained. In this case, the node device N 0 may be used as a starting point toward the final stage node device N m , and the link having the maximum weight of the final stage link connected to the node may be sequentially searched for.

【0020】つまり例えばノード装置Nj において、ス
テップS13では経路追跡通知を受信するのを待ち、こ
れが受信されると、ステップS14では記憶部225か
ら先に検出した部分最大値f(j)をf(j0 )として
取り出し、ステップS15ではノードjにつながる全後
段側リンクの加算重み暗号ベクトルe′j,k を取得す
る。この取得は掲示板装置13から取得し、又は先に部
分最大値f(j)の検出の際に取得し、記憶部225に
保存したものを取り出してもよい。ステップS14とS
15とは何れを先に行ってもよい。
In other words, for example, in the node device N j , in step S13, the reception of the route tracking notification is waited, and when this is received, the partial maximum value f (j) previously detected from the storage unit 225 is set to f in step S14. (J 0 ), and in step S15, the addition weight cryptographic vectors e ′ j, k of all the links on the rear side connected to the node j are acquired. This acquisition may be acquired from the bulletin board device 13, or may be acquired when the partial maximum value f (j) is detected first and stored in the storage unit 225. Steps S14 and S
Any of 15 may be performed first.

【0021】ステップS16では取得した各加算重み暗
号ベクトルe′j,k のf(j0 )番目の要素を秘密鍵
SKj により1要素復号部215で復号し、ステップS
17ではその復号結果がzの加算重み暗号ベクトル
e′j,k を経路用判定部216で求める。この加算重
み暗号ベクトルe′j,k のkをk0 と表わすと、
e′ j,k0は全加算重み暗号ベクトルe′j,k 中の重
みが最大のものであることは、重みwと対応した暗号ベ
クトルの要素構成とその配列手法から容易に理解されよ
う。
In step S16, the obtained addition weight darkness is obtained.
No. vector e 'j, kF (j0) Element is the private key
SKjThe one-element decoding unit 215 decodes the
In 17, the decryption result is the addition weight cipher vector of z.
e ′j, kIs determined by the route determination unit 216. This added weight
Only cipher vector e ′j, kK of k0When expressed as
e ′ j, k0Is the full addition weight cipher vector e ′j, kHeavy inside
The maximum value is the cipher vector corresponding to the weight w.
Easily understood from the structure of Kuttle elements and the arrangement method
U

【0022】このようにして得られた最大重みの加算重
み暗号ベクトルej,k0が与えられているリンク(j,
0 )又はそのリンクでノードjとつながっているノー
ドk 0 を公開し、必要に応じてf(j0 )も公開すると
共にノードk0 のノード装置Nk0に経路追跡通知を送
る。この処理を経路追跡通知を受信したノード装置が順
次行うことにより、ノードmを最大重みノードk0 とす
るものが公開されることにより、最大値f(0)を与え
る最大重み経路上の各ノード、つまり各リンクが公開さ
れる。なおノード装置N0 に対する経路追跡通知は運用
装置14から送信するか、ノード装置N0 がf(0)を
求めた後に、経路追跡通知を受信したとして自動的に行
ってもよい。この経路追跡においても最大重み経路以外
のノードやリンク、その重みは秘匿されたままである。
The addition weight of the maximum weights thus obtained
Only cipher vector ej, k0Is given a link (j,
k0) Or a node connected to node j by its link
Do k 0Is published, and f (j0) Is also published
Both nodes k0Node device Nk0Send route tracking notification to
It This process is performed in order by the node device that receives the route tracking notification.
By performing the following, the node m is changed to the maximum weight node k0Tosu
The maximum value f (0) is given by the disclosure of
Each node on the maximum weight path, that is, each link
Be done. The node device N0Route tracking notifications to
From the device 14 or the node device N0Is f (0)
After asking, the route tracking notification is automatically received.
You may. Even in this route tracking, other than the maximum weight route
Nodes, links, and their weights remain hidden.

【0023】なお、部分最大値f(j)を求める際に複
数の加算重み暗号ベクトルe′j, k が最大重みとなっ
た場合、つまり復号結果が1からzP (P2)に変化
した場合はその時の要素番号をf(j)とし、経路追跡
時には、最大重みの複数の経路について辿って行っても
よい。図5に示した装置構成において、制御部217は
各部を順次動作させるものである。最小重みを求め、ま
た最小重み経路を求めることもできる。この場合は重み
wに対し、重み暗号ベクトルeとして、暗号E(z)
を要素番目の小さい方からn−w個並べ、その次に暗号
E(1)をw個並べたものを用い、部分最適値検出部2
05同様の処理をすれば、重み暗号ベクトルの要素配列
の変更により、重みwが小さい程、要素番号の大きい処
にE(z)が位置するため、検出した要素番号は部分最
小値f(j)を表わすことになる。シフト部206では
重み暗号ベクトルei,j をf(j)だけ左シフトし、
その空いた右側の要素にE(1)を付加する。これによ
り得られた暗号ベクトルの重みはw(i,j)+f
(j)となり、つまりリンク(i,j)の重みw(i,
j)に部分最小値f(j)を加算した値となる。従って
部分最適値検出部205ではノードjにつながる終段側
の全てのリンク(j,k)のw(j,k)にノードmか
らそのノードkまでの部分最小重みf(k)を加算した
ものの中から重み最小値を求めていることになる。つま
り f(j)=min(j,k) (w(j,k)+f(k)) なる動的計画法の漸化式を実行していることになる。経
路追跡も先の場合と同様の処理を行えば、ノード装置N
j0でf(j0 )番目の要素の復号によりzが得られる
e′j,k を求めれば重み最小値の経路を辿ることにな
る。
When a plurality of addition weight cryptographic vectors e'j, k have the maximum weight when the partial maximum value f (j) is obtained, that is, the decryption result changes from 1 to z P (P > 2). In that case, the element number at that time may be set to f (j), and the route may be traced for a plurality of routes having the maximum weight. In the device configuration shown in FIG. 5, the control unit 217 sequentially operates each unit. It is also possible to obtain the minimum weight and the minimum weight path. In this case, for the weight w, the cipher E (z) is given as the weight cipher vector e.
Are arranged from the smallest element number nw, and then w pieces of encryption E (1) are arranged.
If the same processing as 05 is performed, E (z) is located at a higher element number as the weight w is smaller, due to the change of the element array of the weight cipher vector. Therefore, the detected element number has a partial minimum value f (j). ) Will be represented. The shift unit 206 shifts the weight cipher vector e i, j to the left by f (j),
E (1) is added to the empty element on the right side. The weight of the cipher vector thus obtained is w (i, j) + f
(J), that is, the weight w (i, j) of the link (i, j)
It is a value obtained by adding the partial minimum value f (j) to j). Therefore, the partial optimum value detection unit 205 adds the partial minimum weight f (k) from the node m to the node k to w (j, k) of all the links (j, k) on the final stage connected to the node j. It means that the minimum weight value is obtained from the things. That is, the recurrence formula of the dynamic programming method of f (j) = min (j, k) (w (j, k) + f (k)) is executed. If the same processing as the above is performed for the route tracking, the node device N
If the e ′ j, k for which z can be obtained by decoding the f (j 0 ) -th element in j0 is obtained, the path of the minimum weight value is followed .

【0024】次に具体例について述べる。図7Bに示す
1次元グラフを例とする。ノードが0,1,2,3であ
り、リンク(0,1),(1,2),(1,3),
(2,3)の各重みw(0,1)=3、w(1,2)=
2、w(1,3)=1、w(2,3)=0とする重み暗
号ベクトルは次のようになる。n=6とする。e1,2 ={E0 (z),E0 (z),E0 (z),E
0 (1),E0 (1),E0 (1)}e1,2 ={E1 (z),E1 (z),E1 (1),E
1 (1),E1 (1),E1 (1)}e1,3 ={E1 (z),E1 (1),E1 (1),E
1 (1),E1 (1),E1 (1)}e2,3 ={E2 (1),E2 (1),E2 (1),E
2 (1),E2 (1),E2 (1)} ノード装置N2 はe2,3 を復号して、f(2)=0を
求め、e1,2 をシフトすることなくランダム化してe ′1,2 (w(1,2)+f(2)) ={E1 (z),E1 (z),E1 (1),E
1 (1),E1 (1),E 1 (1)}を作る。max
{w(1,2)+f(2),w(1,3)}を知るた
め、ノード装置N1 はe′1,2 とe′1,3 の積を求
める。
Next, a specific example will be described. Shown in Figure 7B
Take a one-dimensional graph as an example. The nodes are 0, 1, 2, 3
Link (0,1), (1,2), (1,3),
Each weight of (2,3) w (0,1) = 3, w (1,2) =
2, weighted darkness with w (1,3) = 1 and w (2,3) = 0
The No. vector is as follows. Let n = 6. e1,2 = {E0(Z), E0(Z), E0(Z), E
0(1), E0(1), E0(1)} e1,2 = {E1(Z), E1(Z), E1(1), E
1(1), E1(1), E1(1)} e1,3 = {E1(Z), E1(1), E1(1), E
1(1), E1(1), E1(1)} e2,3 = {E2(1), E2(1), E2(1), E
2(1), E2(1), E2(1)} Node device N2Is e2,3To decode f (2) = 0
Ask, e1,2Randomize without shifting e ′1,2(W (1,2) + f (2)) = {E1(Z), E1(Z), E1(1), E
1(1), E1(1), E 1(1)} is made. max
Knowing {w (1,2) + f (2), w (1,3)}
Node device N1Is e '1,2And e ′1,3Find the product of
Meru.

【0025】e′1,2 ・e′1,3 ={E
1 (z2 ),E1 (z),E1 (1),E1(1),E
1 (1),E1 (1)} この積ベクトルの6番目、5番目、4番目、3番目、2
番目の各要素を順次復号して、復号結果zを初めて得
て、f(1)=max{w(1,2)+f(2),w
(1,3)}=2であることがわかる。次にノード装置
1 はe′0,1 をf(1)=2だけ右シフトし、E0
(z),E(z)を左に付け加えて、ランダム化してe ′0,1 (w(0,1)+f(1))={E
0 (z),E0 (z),E0 (z),E0 (z),E0
(z),E0(1)} を得る。このe′0,1 を6番目、5番目の各要素を順
次復号してf(0)=5を得る。
E ′ 1,2 · e ′ 1,3 = {E
1 (z 2 ), E 1 (z), E 1 (1), E 1 (1), E
1 (1), E 1 (1)} The sixth, fifth, fourth, third, and second of this product vector
Each of the th elements is sequentially decoded to obtain the decoding result z for the first time, and f (1) = max {w (1,2) + f (2), w
It can be seen that (1,3)} = 2. Next, the node equipment N 1 shifts e ′ 0,1 to the right by f (1) = 2, and E 0
(Z) and E (z) are added to the left, and randomized to e'0,1 (w (0,1) + f (1)) = {E
0 (z), E 0 (z), E 0 (z), E 0 (z), E 0
(Z), E 0 (1)} is obtained. This e ′ 0,1 is sequentially decoded into the sixth and fifth elements to obtain f (0) = 5.

【0026】最適経路はノード装置N1 がe′1,2
1,3 の各f(1)=2番目の要素を復号して、それ
ぞれzと1を得、リンク(1,2)がmax{w(1,
2)+f(2),w(1,3)}=2であることを求め
る。応用例 以下に入札値を秘匿したまま入札法を実行する動的計画
法について述べる。 (1)複数財入札 単一種類の財がm個あり、各入札者Bk (k=1,…,
K)がj=0,1,…,m個の財を買う入札価格をbk
(j)、つまり1個買う価格をbk (1)、3個買う価
格をbk (3)というようにする。入札者Bk に適当な
番号を付け、図8に示すようにk人の入札者に計s個の
財を売る状態をノード(k,s)とし、ノード間のリン
クを入札価格とする、つまりノードとしては図8では1
行目のノードはk=1人に財をs=0,1,…,m個づ
つ売る状態であり、2行目のノードはk=2人にそれぞ
れ財をs=0,1,…,m個づつ売る状態であり、最終
行(K行目)はk=K人に財をs=0,1,…,m個づ
つ売る状態である。
As for the optimum route, the node device N 1 decodes each f (1) = second element of e ′ 1,2 and e 1,3 to obtain z and 1, respectively, and the link (1, 2) Is max {w (1,
2) + f (2), w (1,3)} = 2. Application example The dynamic programming method that executes the bidding method while keeping the bid value confidential is described below. (1) Multi-item bidding There are m items of a single type, and each bidder B k (k = 1, ...,
K) is j = 0,1, ..., the bid price to buy m number of goods b k
(J), that is, the price to buy one is b k (1), and the price to buy three is b k (3). An appropriate number is given to the bidder B k , and a state in which a total of s items are sold to k bidders is a node (k, s) as shown in FIG. 8, and a link between the nodes is a bid price. In other words, the node is 1 in FIG.
The node on the row is in a state of selling s = 0,1, ..., m items to k = 1 people, and the node on the second line is s = 0,1, ..., k to k = 2 people, respectively. It is a state in which m pieces are sold, and the last row (K-th row) is a state in which goods are sold to k = K persons by s = 0, 1, ..., M pieces.

【0027】1番目の入札者B1 の装置はb1 (0),
…,b1 (m)を1行目のノードk=1,s=0,1,
…,mのノード装置N1,j の初期値f(1,0),f
(1,1),…,f(1,m)とし、2番目の入札者B
2 の入札価格b2(j)(j=0,…,m)を、2人の
入札者に計s個の財を売ったようになるように、1行目
のノード(1,s−j)と2行目のノード(2,s)と
をリンクでつなぎ、そのリンクに対応する入札価格b2
(j)をリンクの重みとして与える。例えば2番目の入
札者が財を1個買う入札価格b2 (1)はノード(k=
1,s=0)とノード(k=2,s=1)間のリンク、
ノード(k=1,s=1)とノード(k=2,s=2)
間のリンク、ノード(k=1,s=2)とノード(k=
2,s=3)の間のリンク…に重みとして与えられる。
The device of the first bidder B 1 is b 1 (0),
..., b 1 (m), the nodes k = 1, s = 0, 1, in the first row
The initial values f (1,0), f of the node device N 1, j of m
The second bidder B with (1,1), ..., f (1, m)
2 of the bid price b 2 (j) (j = 0, ..., m) , and to be as sold a total of s number of goods to the two bidders, the first row of the node (1, s- j) and the node (2, s) in the second row are linked by a link, and the bid price b 2 corresponding to the link
(J) is given as the link weight. For example, the bid price b 2 (1) where the second bidder buys one good is a node (k =
1, s = 0) and nodes (k = 2, s = 1),
Nodes (k = 1, s = 1) and nodes (k = 2, s = 2)
Link between nodes, node (k = 1, s = 2) and node (k =
, S = 3) are given as weights.

【0028】f((k,s))をk人に計s個の財を売
った時の最大価格、その初期値f((1,j))をb1
(j)とすると、1行目のm+1個のノード(k=1,
s=0),…,(k=1,s=m)から出発して、K行
目(最終行)のm+1個のノード(k=K,s=0),
…,(k=K,s=m)に至る経路で入札価格の合計
値、つまり重みの合計の最大値を求め、更にそのK行目
の各ノード装置で得られた最大値f((K,s))中の
最大値を次の漸化式を実行すれば求めることができる。
F ((k, s)) is the maximum price when a total of s goods are sold to k people, and its initial value f ((1, j)) is b 1
(J), m + 1 nodes (k = 1, 1) in the first row
Starting from (s = 0), ..., (k = 1, s = m), m + 1 nodes (k = K, s = 0) of the K-th row (final row),
, (K = K, s = m), the total value of the bid prices, that is, the maximum value of the total weight is calculated, and the maximum value f ((K , S)) can be determined by executing the following recurrence formula.

【0029】[0029]

【数1】 [Equation 1]

【0030】つまりこの動的計画法を解くことにより重
みの合計を最大化する値、つまり落札価格の合計を最大
化する経路を求め、その経路により財を分配することが
できる。従って前述したように、入札者装置(重み発行
装置)から入札価格bk (j)をリンクの重みとして重
み暗号ベクトルej,k を生成し、f((k−1,s−
j))を前述したように暗号化した加算重み暗号ベクト
ルe′j,k とし、部分最適値f(j)としてf
((k,s))を求めることにより入札価格、入札者を
秘匿した状態で最高落札価格f((K,s))を求め、
またその経路追跡により、各落札者と財の数とその落札
価格のみを公開することができる。 (2)線形財入札 線形財入札は図9に示すように財1,財2,…,財mと
線形に順序付けられたm個の財に対し、入札者Bk があ
る連続する区間[uk ,vk ]の財に対し入札価格bk
([uk ,vk ])を与える。例えば財1と財2に対す
る入札者B2 の入札価格はb2 ([0,2])とし、財
3〜財m−1に対する入札者B5 の入札価格はb
5 ([3,m−1])とする。この場合は財1,2,…
を最小区間リンクとして順次ノード1,2,…を介して
接続し、その接続の財1側の端をノード0とし、財m側
の端をノードmとし、区間[uk ,vk ]をノードuk
とvk のリンクとしてそのリンクの重みw(uk
k )として入札価格bk ([uk ,vk ])を与え、
入札していない区間があって、経路が切れてしまうのを
避けるためダミーリンク(j−1,j)とその重みW
(j−1,j)=0とすると、落札結果は図9に示すグ
ラフのノード0からノードmへの最長経路と対応するこ
とが知られている。つまり
That is, by solving this dynamic programming method, a value that maximizes the total weight, that is, a route that maximizes the winning bid price can be obtained, and goods can be distributed through the route. Therefore, as described above, the bid price b k (j) is used as the link weight from the bidder device (weight issuing device) to generate the weight cipher vector e j, k , and f ((k-1, s-
j)) is added weight cipher vector e ′ j, k encrypted as described above , and f is used as a partial optimum value f (j).
The bid price by obtaining ((k, s)), the highest bid price f ((K, s)) with the bidder kept secret,
Further, by tracing the route, only the number of each successful bidder, the goods, and the winning bid price can be disclosed. (2) Linear goods bid linear goods bid goods 1 as shown in FIG. 9, good 2, ..., with respect to the m goods ordered to goods m and linear, consecutive intervals have Bidder B k [u bid price b k for goods of k , v k ]
([U k , v k ]) is given. For example, the bid price of bidder B 2 for goods 1 and goods 2 is b 2 ([0, 2]), and the bid price of bidder B 5 for goods 3 to goods m-1 is b
5 ([3, m-1]). In this case, goods 1, 2, ...
Are sequentially connected via nodes 1, 2, ... As the minimum section link, the end of the connection on the item 1 side is node 0, the end on the item m side is node m, and the section [u k , v k ] is Node u k
And v k as the link weight w (u k ,
v k) as the bid price b k (given the [u k, v k]) ,
The dummy link (j-1, j) and its weight W are included in order to prevent the route from being cut off because there is an unbidded section.
It is known that if (j-1, j) = 0, the successful bid result corresponds to the longest route from node 0 to node m in the graph shown in FIG. That is

【0031】[0031]

【数2】 [Equation 2]

【0032】なる漸化式の解を求めればよいことにな
る。従って入札者装置(重み発行装置)は区間[uk
k ]の入札価格bk ([uk ,vk ])を、リンク
(uk ,v k )の重みw(uk ,vk )として重み暗号
ベクトルeuk,vk を発行し、ノード装置で前述と同様
に順次処理することにより入札価格及び入札者を秘匿し
た状態で落札価格をf(0)として求めることができ、
経路追跡により、各落札区間とその入札価格を、他の入
札価格とその区間を明すことなく求めることができる。 (3)経路入札 例えば図10に示す有効グラフGが与えられ、各入札者
k はこのグラフGの有効辺(リンク)d に対する入
札価格bk (d)を入札する。ノード0,1,…,4が
それぞれ都市を表わし、ノード0からノード1へ荷物を
運送料金の入札価格をそのリンク(0,1)の重みw
(0,1)として与え、各リンクごとの運送料金の入札
価格を求め、ノード0からノード4まで運送料金を最小
とする経路を、動的計画法により f(j)=min(j,k)(w(j,k)+f(k)) の漸化式を解くことにより求めることができる。従って
この場合も入札者は重み発行装置より経路に対する入札
価格をリンクの重みとして入力して重み暗号ベクトル
j,k を与え、ノード装置に前述したと同様の処理を
行わせることにより最適値f(0)から最小落札価格
を、入札価格とリンクを秘匿したまま求めることがで
き、同様に最短経路を経路追跡により、他の入札価格、
リンクを秘匿したまま求めることができる。 (4)組合せ入札 異なるm個の財M={1,2,…,m}の全ての部分集
合Sに対し各入札者B k は入札価格bk (S)を与え
る。例えば財の集合Mが3個の財1,2,3の場合の部
分集合S⊂Mは図11に示すように23 個あり、これら
8個の部分集合Sをノードとする。すべてのkについ
て、空集合(財なし){ }に全ての部分集合Sをつな
ぐリンク(S,{ })k、次に要素数|C|が要素数
|S|の半分以上の部分集合C⊃Sをつなぐリンク
(S,C)kを作り、w((S,{ })k)=b
k(S)、w((S,C)k)=bk(S,C)でリンク
の重みを定める。
It suffices to find the solution of the recurrence formula
It Therefore, the bidder device (weight issuing device) isk
vk] Bid price bk([Uk, Vk]), Link
(Uk, V k) Weight w (uk, Vk) As weight cipher
Vector euk, vkIs issued and the same as above in the node device
The bid price and bidders are hidden by
You can obtain the winning bid as f (0)
By tracking the route, each successful bid section and its bid price can be
It is possible to obtain the bill price without revealing the section. (3) Route bidding For example, given the effective graph G shown in FIG.
BkIs the effective side (link) d of this graph G Entering
Bill price bkBid (d). Nodes 0, 1, ..., 4
Each represents a city, and luggage from node 0 to node 1
The bid price of the shipping fee is the weight w of the link (0, 1)
Give as (0,1) and bid on the shipping fee for each link
Calculate the price and minimize the shipping fee from node 0 to node 4
The route to f (j) = min(j, k)(W (j, k) + f (k)) It can be obtained by solving the recurrence formula of. Therefore
Also in this case, the bidder bids for the route from the weight issuing device.
Enter the price as the link weight and enter the weight cipher vector
ej, kAnd perform the same processing as described above on the node device.
From the optimum value f (0) to the minimum winning bid
Can be requested with the bid price and link kept secret.
Similarly, the shortest route can be traced to other bid prices,
You can request while keeping the link confidential. (4) Combined bidding All the different m pieces of goods M = {1,2, ..., m}
For each S, each bidder B kIs the bid price bkGive (S)
It For example, if the set M of goods is three goods 1, 2, 3
The minute set S⊂M is 2 as shown in FIG.3There are these
Let the eight subsets S be nodes. For every k
And connect all subsets S to the empty set (without goods) {}
Gulink (S, {})k, Then the number of elements | C | is the number of elements
A link connecting a subset C⊃S of more than half of | S |
(S, C)kAnd create w ((S, {})k) = B
k(S), w ((S, C)k) = BkLink with (S, C)
Determine the weight of.

【0033】このようにして空集合{ }から全体の集
合{1,2,3}への経路で重みの合計が最大となるも
のを動的計画法を用いて求め、落札価格を求めることが
できる。ノード装置により前述した処理を行うことによ
り入札価格を秘匿したまま落札価格f(0)を求めるこ
とができる。同様にその経路追跡を経路上以外の重み、
リンクを秘匿したまま公開することができる。ノード装
置Nj はコンピュータによりプログラムを実行させて機
能させることもできる。この場合は、例えば図6に示し
た方法をコンピュータにより実行できるようにされた処
理プログラムをノード装置Nj のコンピュータにCD・
ROM、可撓性磁気ディスクなどからインストールし、
又は通信回線を介してダウンロードして使用することに
なる。
In this way, the route from the empty set {} to the entire set {1, 2, 3} having the maximum total weight can be obtained by using the dynamic programming method, and the winning bid price can be obtained. it can. By performing the above-mentioned processing by the node device, the winning bid price f (0) can be obtained while keeping the bid price secret. In the same way, the route tracking is weighted on other than the route,
You can publish the link while keeping it secret. The node device N j can also be caused to function by executing a program by a computer. In this case, for example, the computer of the node device N j may execute a processing program that enables the computer to execute the method shown in FIG.
Install from ROM, flexible magnetic disk, etc.
Alternatively, it will be downloaded and used via a communication line.

【0034】[0034]

【発明の効果】以上述べたようにこの発明によれば、入
力情報を漏らさずに動的計画法を実行して、最適解を求
めることができる。この理由は入力を準同型暗号の暗号
文のベクトルで表現し、要素ごとの積をとることにより
最大値又は最小値を求め、要素を右又は左シフトするこ
とにより定数を足すことができるためである。入力とし
て入札価格を用いれば、入札価格を秘匿したまま、落札
価格を決定できることになる。
As described above, according to the present invention, the optimum solution can be obtained by executing the dynamic programming without leaking the input information. The reason is that the input is represented by a vector of the homomorphic ciphertext, the maximum value or the minimum value is obtained by taking the product of each element, and the constant can be added by shifting the element right or left. is there. If the bid price is used as the input, the winning bid can be determined while keeping the bid price confidential.

【図面の簡単な説明】[Brief description of drawings]

【図1】この発明方法が適用されるシステムの構成例を
示す図。
FIG. 1 is a diagram showing a configuration example of a system to which the method of the present invention is applied.

【図2】図1中の重み発行装置の機能構成例を示す図。FIG. 2 is a diagram showing a functional configuration example of a weight issuing device in FIG.

【図3】重みとその暗号ベクトルの関係例を示す図。FIG. 3 is a diagram showing an example of the relationship between weights and their cipher vectors.

【図4】掲示板装置に公開された重み暗号ベクトルの格
納例を示す図。
FIG. 4 is a diagram showing a storage example of weighted cryptographic vectors disclosed on a bulletin board device.

【図5】図1中のノード装置の機能構成例を示す図。5 is a diagram showing an example of a functional configuration of a node device in FIG.

【図6】ノード装置の処理手順の例を示す流れ図。FIG. 6 is a flowchart showing an example of a processing procedure of a node device.

【図7】グラフの例を示す図。FIG. 7 is a diagram showing an example of a graph.

【図8】複数財入札におけるノードとリンクとの関係例
を示す図。
FIG. 8 is a diagram showing an example of the relationship between nodes and links in bidding for multiple goods.

【図9】線形財入札におけるノードとリンクとの関係例
を示す図。
FIG. 9 is a diagram showing an example of a relationship between a node and a link in a linear goods bid.

【図10】経路入札におけるグラフGの例を示す図。FIG. 10 is a diagram showing an example of a graph G in route bidding.

【図11】組合せ入札におけるノードとリンクの関係例
を示す図。
FIG. 11 is a diagram showing an example of the relationship between nodes and links in combined bidding.

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 複数の重み発行装置と、ノードごとのノ
ード装置と、これらを接続する通信網とを備え、 各ノード装置Nj (j=0,1,…,m)は準同型公開
鍵暗号Eの公開鍵PK j を公開し、 各重み発行装置は1対のノード間のリンク(j,k)
(0j<km)の重みw(j,k)に応じて、公開
されている暗号文の平文になり得る範囲の1以外の数z
の公開鍵PKj を用いた暗号Eによる暗号Ej (z)
と、数1の暗号Ej(1)との一方をw(j,k)個並
べ、他方を重みが取り得る最高値nからw(j,k)を
引いた値の数だけ並べた暗号ベクトルej,k (w
(j,k))を公開し、 各ノード装置Nj はノードjにつながっている後段側の
全てのリンクの加算重み暗号ベクトルe′j,k の積を
求めて、その積ベクトルの各要素を順次復号し、復号値
が1とzの一方から他方に変化した時の要素番号から部
分最適値f(j)を求めそのノードjにつながっている
前段側の全てのリンクの重み暗号ベクトルei,j (w
(i,j))(0i<j)をそれぞれ部分最適値f
(j)の数だけシフトし、空いた要素位置に暗号E
i (z)とEi (1)との一方を付加し、更にこれをP
i でランダム化してリンク(i,j)の加算重み暗号
ベクトルe′i,j (w(i,j)+f(j))を求め
て対応するノード装置Ni へ送り、 このことをノード装置Nm-1 から順次行い、初段のノー
ド装置N0 で求めた部分最適値f(0)を最終の最適値
として公開することを特徴とする動的計画法の実行方
法。
1. A plurality of weight issuing devices and nodes for each node
Equipped with a communication device that connects them. Each node device Nj(J = 0,1, ..., m) is homomorphic
Public key PK of key cipher E jPublished Each weight issuing device has a link (j, k) between a pair of nodes.
(0<j <k<Disclosure according to the weight w (j, k) of m)
The number z other than 1 in the range that can be the plaintext of the ciphertext being used
Public key PKjEncryption E using encryption Ej(Z)
And the cipher E of number 1jOne of (1) and w (j, k) pieces
The maximum value n from which the weight can take the other is w (j, k)
Cipher vector e arranged by the number of subtracted valuesj, k(W
(J, k)), Each node device NjIs connected to node j
Addition weight cipher vector e ′ of all linksj, kProduct of
Obtained, sequentially decode each element of the product vector, the decoded value
From the element number when changes from one of 1 and z to the other
Find the optimum value f (j) for the minute and connect to the node j
Weight cipher vector e of all links on the preceding stage sidei, j(W
(I, j)) (0<i <j) is a partial optimum value f
Shifted by the number of (j), and encrypted E at the empty element position.
i(Z) and EiAdd one of (1) and P
KiRandomize with link and add (i, j) weight cryptography
Vector e ′i, jFind (w (i, j) + f (j))
Corresponding node device NiSend to This is the node device Nm-1From the first step,
Device N0The partial optimum value f (0) obtained in
Method of dynamic programming characterized by being published as
Law.
【請求項2】 経路追跡が通知されたノード装置Nj0
ノードj0 とつながっている全ての後段のリンクの加算
重み暗号ベクトルe′j0,kの、ノード装置Nj0の部分
最適値f(j0 )番目の要素を復号し、復号結果がzで
ある加算重み暗号ベクトルをもつリンクでつながるノー
ドk0 のノード装置Nk0に経路追跡を通知し、ノードk
0 が部分最適値f(j0 )を実現していることを公開
し、 このことをノード装置N0 から順次行い、ノード装置N
m-1 まで行って最適経路を求めることを特徴とする請求
項1記載の動的計画法の実行方法。
2. The node apparatus N j0 notified of the route tracking is a partial optimum value f (of the node apparatus N j0 of the addition weight cryptographic vectors e ′ j0, k of all links at the subsequent stages connected to the node j 0. j 0) th element decodes the decoding result notified path tracking the node device N k0 node k 0 connected by links with additive weights encryption vector is z, node k
0 to publish that to achieve sub-optimal value f (j 0), sequentially performs this from the node device N 0, the node device N
2. The method for executing dynamic programming according to claim 1, wherein the optimum route is obtained by going up to m-1 .
【請求項3】 準同型公開鍵暗号Eの自装置Nj の秘密
鍵SKj が格納された記憶部と、 自装置Nj のノードjとつながる全ての後段側リンクの
加算重み暗号ベクトルが入力され、これらの積を求める
積演算部と、重みベクトルは、重みwに対し、公開され
ている平文になり得る範囲の1以外の数zの公開鍵を用
いた暗号E(z)と数1の暗号E(1)との一方をw個
並べ、他方を重みが取り得る最高値nからwを引いた値
の数だけ並べたものであり、 上記積演算部の演算結果のベクトルの各要素が入力さ
れ、秘密鍵SKj で復号する各要素復号部と、 上記各要素復号部の復号結果が入力され、それが1から
zになった要素番号の値を部分最適値f(j)とする最
適値用判定部と、 部分最適値f(j)とノードjにつながる全ての前段側
リンクの重み暗号ベクトルが入力され、これら重み暗号
ベクトルをf(j)だけシフトするシフト部と、 上記z又は1が入力され、これを前記各前段側リンクと
つながる各ノードiのノード装置Ni の公開鍵PKi
より暗号化して暗号Ei (z)又はEi (1)を求める
暗号部と、 上記シフトされた各重み暗号ベクトルのシフトにより空
いた要素番号位置に上記暗号Ei (z)又はEi(1)
を付加する付加部と、 上記各暗号が付加された重み暗号ベクトルを対応する公
開鍵PKi でランダム化して上記前段側リンクの加算重
み暗号ベクトルを作るランダム化部と、 上記後段側リンクの加算重み暗号ベクトルの取得、上記
前段側リンクの加算重み暗号ベクトルの対応ノード装置
i への送信を行う通信部と、 上記各部を順次動作させる制御部とを具備する動的計画
法実行用ノード装置。
3. A storage unit for the secret key SK j of the apparatus N j homomorphic public key encryption E is stored, weighting factor encryption vectors of all the second-stage link for the node j of the self-device N j input Then, the product arithmetic unit for obtaining these products and the weight vector are the encryption E (z) and the equation 1 using the public key of the number z other than 1 in the range that can be a plaintext for the weight w. Of the encryption E (1) of (1) are arranged, and the other is arranged by the number of values obtained by subtracting w from the maximum value n that can be taken by the weight. Is input, and each element decryption unit that decrypts with the secret key SK j and the decryption result of each of the above element decryption units are input, and the value of the element number from 1 to z is set as the partial optimum value f (j). Optimum value determination unit to perform, and partial optimum value f (j) and all preceding links connected to node j Of the weight cipher vector input, a shift unit for shifting these weights encryption vector by f (j), the z or 1 is input, which the node device N i of each node i to connect with each of the former side link An encryption unit that obtains the encryption E i (z) or E i (1) by encryption with the public key PK i, and the above-mentioned encryption E i (z) at the element number position vacated by the shift of each of the shifted weighted encryption vectors. Or E i (1)
, A randomizing unit that randomizes the weight cipher vectors to which the respective ciphers are added with a corresponding public key PK i to create an addition weight cipher vector of the preceding link, and an addition of the latter link. get the weight cipher vector, a communication unit for transmitting to the corresponding node device N i of weighting factor encryption vector of the front side link, sequential operation is to control unit and including a dynamic programming execution node device the respective units .
【請求項4】 上記全後段側リンクの加算重み暗号ベク
トルと上記部分最適値f(j)が入力され、その各加算
重み暗号ベクトルの部分最適値f(j)番目の要素をそ
れぞれ秘密鍵SKj で復号する1要素復号部と、 上記1要素復号部の復号結果がzである加算重み暗号ベ
クトルのリンクと接続されたノードk0 を判定する経路
用判定部とを備え、 上記通信部は上記ノードk0 のノード装置の経路追跡通
知を行うものであることを特徴とする請求項3記載の動
的計画法実行用ノード装置。
4. The addition weight cipher vectors of all the links on the latter stage side and the partial optimum value f (j) are input, and the partial optimum value f (j) th element of each of the addition weight cipher vectors is secret key SK, respectively. The one-element decryption unit that decrypts at j , and the route determination unit that determines the node k 0 connected to the link of the addition weight cryptographic vector whose decryption result by the one-element decryption unit is z 4. The dynamic programming method execution node device according to claim 3, wherein the node device of the node k 0 performs a route tracking notification.
【請求項5】 自装置Nj のノードjに接続された全後
段のリンクの加算重み暗号ベクトルが揃うと、これら加
算重み暗号ベクトルの積ベクトルを求め、ここで重み暗
号ベクトルは、公開されている暗号文の平文になり得る
範囲の1以外の数zの準同型公開鍵暗号Eの公開鍵を用
いた暗号E(z)と数1の暗号E(1)との一方を重み
wの値の数並べ、他方を重みの取り得る最大値nからw
を引いた値の数並べたものであり、 上記積ベクトルの各要素を自装置の秘密鍵SKj により
順次復号し、 その復号結果が1からzになったか否かを判定し、 zになった時の要素番号を部分最適値f(j)とし、 ノードjとつながる全ての前段側リンクの重み暗号ベク
トルei,j を取得し、 これら重み暗号ベクトルei,j をそれぞれf(j)だ
けシフトし、 各ノード装置Ni の公開鍵PKi でz又は1を暗号化し
たEi (z)又はEi(1)を、各シフトした重み暗号
ベクトルei,j のシフトにより空いた要素に付加し、 これら各暗号を付加した重み暗号ベクトルei,j を公
開鍵PKi でランダム化して加算重み暗号ベクトル
e′i,j を生成し、 これら加算重み暗号ベクトルe′i,j をそれぞれノー
ドiのノード装置Niへ送ることを特徴とする動的計画
法実行用ノード装置の処理方法。
5. When the addition weight cryptographic vectors of all the links at the subsequent stages connected to the node j of the own device N j are prepared, a product vector of these addition weight cryptographic vectors is obtained, and the weight cryptographic vectors are disclosed here. The value of the weight w is one of the cipher E (z) using the public key of the homomorphic public key cipher E of a number z other than 1 in the range that can be the plaintext of the ciphertext , And the other is the maximum value n from the maximum weight
The number of values obtained by subtracting is obtained. Each element of the product vector is sequentially decrypted by the secret key SK j of the own device, and it is determined whether the decryption result has changed from 1 to z. When the element number is set to a partial optimum value f (j), the weight cipher vectors e i, j of all the links on the upstream side connected to the node j are acquired, and these weight cipher vectors e i, j are respectively set to f (j). Ei (z) or E i (1) obtained by encrypting z or 1 with the public key PK i of each node device N i is vacated by shifting each weighted cipher vector e i, j added to the element, these weights encryption vectors e i added with each of the encryption, to randomize the j with the public key PK i 'generates a i, j, these weighting factor encryption vector e' weighting factor encryption vector e i, j dynamic, characterized in that sending a to the node device N i of node i, respectively Method of processing image process execution node device.
【請求項6】 上記部分最適値f(j)を求めた際にこ
のf(j)を記憶部に保持し、 経路追跡通知を受信すると、自装置Nj のノードjとつ
ながる全後段側リンクの加算重み暗号ベクトルe′
j,k を取得し、 上記部分最適値f(j)を取出し、上記各加算重み暗号
ベクトルe′j,k のf(j)番目の要素を秘密鍵SK
j により復号し、 その復号結果がzであるe′j,k が与えられたリンク
(j,k)とつながるノードkをk0 としてノードk0
が最適経路上にあることを公開し、 ノードk0 のノード装置Nk0に経路追跡通知を送ること
を特徴とする請求項5記載の動的計画法実行用ノード装
置の処理方法。
6. When the partial optimum value f (j) is obtained, this f (j) is held in a storage unit, and when a route tracking notification is received, all the links on the downstream side connected to the node j of the own device N j. Addition weight cipher vector e ′ of
j, k is obtained, the partial optimum value f (j) is extracted, and the f (j) th element of each addition weight cipher vector e ′ j, k is set as the secret key SK.
decoded by j, the node k 0 the decoded result is z e 'j, link k is given (j, k) to lead the node k as k 0
The method for processing a node device for dynamic programming method execution according to claim 5, characterized in that the route tracking notification is sent to the node device N k0 of the node k 0 by publishing that is on the optimum route.
【請求項7】 請求項5又は6記載の処理方法をコンピ
ュータに実行させる動的計画法実行用ノード装置の処理
プログラム。
7. A processing program for a dynamic programming method execution node device for causing a computer to execute the processing method according to claim 5 or 6.
【請求項8】 単一種類のm個の財に対し、k人に計s
個の財を売る状態をノード[k,s]とし、1番目の入
札者の重み発行装置よりノード[1,s]の各ノード装
置に入札価格を重みとする重み暗号ベクトルを初期値と
して入力し、2番目の入札者の重み発行装置より入札価
格b2(j)を、ノード[1,s−j]とノード[2,
s]間をつなぐリンクの対応するものの重みとする重み
暗号ベクトルを発行し、以下順次各入札者の重み発行装
置より入札価格bk(j)をノード[k,s−j]と
[k+1,s]間をつなぐリンクの対応するものの重み
とする重み暗号ベクトルを発行し、ノード[K,s]の
ノード装置に至る各最大値f[K,s]を求め、これら
m個の中の最大値を落札価格とすることを特徴とする請
求項1又は2記載の動的計画法の実行方法。
8. A total of s for k people for a single type of m goods.
The state of selling individual goods is set as a node [k, s], and a weight cryptographic vector having a bid price as a weight is input to each node device of the node [1, s] from the weight issuing device of the first bidder as an initial value. Then, the bid price b 2 (j) from the weight issuing device of the second bidder is set to node [1, s-j] and node [2,
s], a weight cipher vector that is the weight of the corresponding ones of the links connecting between [s] is issued, and the bid price b k (j) is sequentially output from the weight issuing device of each bidder to the nodes [k, s−j] and [k + 1, [s]], a weight cipher vector that is the weight of the corresponding one of the links connecting [s] is issued, and each maximum value f [K, s] that reaches the node device of node [K, s] is obtained. 3. The dynamic programming method according to claim 1, wherein the value is a winning bid.
【請求項9】 線形に順序付けられたm個の財{1,
2,…,m}について入札者の重み発行装置より区間
[j,k]の財に対する入札価格をリンク(j,k)の
重みw(j,k)とする重み暗号ベクトルを発行し、各
財1,2,…,mをノードと対応付け、ノード0からノ
ードmまでの重み最大値f(0)を求め、これを落札価
格とすることを特徴とする請求項1又は2記載の動的計
画法の実行方法。
9. m linearly ordered goods {1,
2, ..., M}, the bidder's weight issuing device issues a weight cryptographic vector having the bid price for the goods in the section [j, k] as the weight w (j, k) of the link (j, k). 3. The item 1, 2, ..., M is associated with a node, the maximum weight value f (0) from the node 0 to the node m is obtained, and this is set as the winning bid price. To implement dynamic programming.
【請求項10】 グラフGのリンクに対する入札価格を
重みとする重み暗号ベクトルを入札者の重み発行装置よ
り発行し、グラフG中のあるノードからあるノードに至
る最適値を落札価格とすることを特徴とする請求項1又
は2記載の動的計画法の実行方法。
10. A bid cipher vector having a bid price as a weight for a link of graph G is issued from a bidder's weight issuing device, and an optimum value from a certain node in graph G to a certain node is set as a winning bid price. The method for executing dynamic programming according to claim 1 or 2, which is characterized in that.
【請求項11】 異なるm個の財の全ての部分集合をノ
ードとし、各部分集合と空集合をつなぐリンク(S,
0)とし、CがSの部分集合でCの要素数がSの要素数
の2分の1以上である集合CとSをつなぐリンク(S,
C)とし、入札者の重み発行装置より、集合Sに対する
入札価格をリンク(S,0)の重みとする重み暗号ベク
トル、集合Sから集合Cを除いた財に対する入札価格を
リンク(S,C)の重みとする重み暗号ベクトルを発行
し、空集合ノードから全財集合ノードへの最大重みf
(0)を落札価格とすることを特徴とする請求項1又は
2記載の動的計画法の実行方法。
11. A link (S, S, which connects each subset and an empty set, with all subsets of m different goods as nodes.
0), and C is a subset of S and the number of elements of C is one-half or more of the number of elements of S.
C), the bidder's weight issuing device links the bid price for the goods obtained by removing the set C from the set S by the weight cryptographic vector having the bid price for the set S as the weight of the link (S, 0) (S, C). ) Is issued, and the maximum weight f from the empty set node to all goods set nodes is issued.
The method of executing dynamic programming according to claim 1 or 2, wherein (0) is a winning bid.
JP2002014167A 2002-01-23 2002-01-23 Method, apparatus, and program for carrying out dynamic programming Pending JP2003218854A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002014167A JP2003218854A (en) 2002-01-23 2002-01-23 Method, apparatus, and program for carrying out dynamic programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002014167A JP2003218854A (en) 2002-01-23 2002-01-23 Method, apparatus, and program for carrying out dynamic programming

Publications (1)

Publication Number Publication Date
JP2003218854A true JP2003218854A (en) 2003-07-31

Family

ID=27650929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002014167A Pending JP2003218854A (en) 2002-01-23 2002-01-23 Method, apparatus, and program for carrying out dynamic programming

Country Status (1)

Country Link
JP (1) JP2003218854A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008520158A (en) * 2004-11-12 2008-06-12 サムスン エレクトロニクス カンパニー リミテッド User key management method for broadcast encryption
JP2011164607A (en) * 2010-02-09 2011-08-25 Mitsubishi Electric Research Laboratories Inc Method and system for privacy-preserving computation of edit distance of symbol sequence

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008520158A (en) * 2004-11-12 2008-06-12 サムスン エレクトロニクス カンパニー リミテッド User key management method for broadcast encryption
JP2011151848A (en) * 2004-11-12 2011-08-04 Samsung Electronics Co Ltd Method for managing user key for broadcast encryption
JP4755194B2 (en) * 2004-11-12 2011-08-24 サムスン エレクトロニクス カンパニー リミテッド User key management method for broadcast encryption
JP2013150364A (en) * 2004-11-12 2013-08-01 Samsung Electronics Co Ltd Method of managing user key for broadcast encryption
JP2011164607A (en) * 2010-02-09 2011-08-25 Mitsubishi Electric Research Laboratories Inc Method and system for privacy-preserving computation of edit distance of symbol sequence

Similar Documents

Publication Publication Date Title
Zhao et al. Machine learning based privacy-preserving fair data trading in big data market
US11068982B2 (en) Systems and methods to securely match orders by distributing data and processing across multiple segregated computation nodes
Kolesnikov et al. Improved garbled circuit building blocks and applications to auctions and computing minima
JP2022095891A (en) Implementation of logic gate function using block chain
CN111008863B (en) Lottery drawing method and system based on block chain
CN111523891A (en) Block chain based information encryption method, device, equipment and storage medium
CN110113326B (en) Block chain-based competition ranking method and device
JP2019061233A (en) System and method for safe two-party evaluation for usefulness of sharing data
JP5574402B2 (en) Distributed concealed data integration apparatus, distributed concealed data integration method, and distributed concealed data integration program
Sun et al. Privacy-preserving verifiable incentive mechanism for online crowdsourcing markets
CN110400164A (en) Data determination method and device, storage medium and electronic device
CN106714183B (en) Heterogeneous spectrum allocation method for protecting privacy
CN115001715B (en) Intelligent encryption contract detection method based on block chain and terminal
CN115001672A (en) Secure multi-party computing method, device, system, equipment and storage medium
JP3204317B2 (en) Electronic bidding system
JP2003218854A (en) Method, apparatus, and program for carrying out dynamic programming
CN113901500A (en) Graph topology embedding method, device, system, equipment and medium
CN110011797B (en) Quantum secret sharing method based on d-level single particles
JP4611769B2 (en) Electronic procurement bidding method, electronic procurement bidding system, and electronic procurement bidding program
Chenli et al. Fair 2 Trade: Digital Trading Platform Ensuring Exchange and Distribution Fairness
JP4041746B2 (en) Multiple goods bidding method, apparatus thereof, and program thereof
CN113268750A (en) Data processing method, bidding node device and computer readable medium
JP2003216598A (en) Method, device and program for executing dynamic programming method using secret dispersion
JP2002352037A (en) Ranking method, lot drawing server, terminal, and program
JP4336105B2 (en) Method and system for processing customer requests