JP2009171495A - Reply routing information producing apparatus, communication apparatus, anonymous communication method, program, and record medium - Google Patents

Reply routing information producing apparatus, communication apparatus, anonymous communication method, program, and record medium Download PDF

Info

Publication number
JP2009171495A
JP2009171495A JP2008010178A JP2008010178A JP2009171495A JP 2009171495 A JP2009171495 A JP 2009171495A JP 2008010178 A JP2008010178 A JP 2008010178A JP 2008010178 A JP2008010178 A JP 2008010178A JP 2009171495 A JP2009171495 A JP 2009171495A
Authority
JP
Japan
Prior art keywords
information
reply
communication device
communication
block
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.)
Granted
Application number
JP2008010178A
Other languages
Japanese (ja)
Other versions
JP4790736B2 (en
Inventor
Yoshibumi Manabe
義文 真鍋
Tatsuaki Okamoto
龍明 岡本
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 JP2008010178A priority Critical patent/JP4790736B2/en
Publication of JP2009171495A publication Critical patent/JP2009171495A/en
Application granted granted Critical
Publication of JP4790736B2 publication Critical patent/JP4790736B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To perform bidirectional anonymous communication by small reply routing information. <P>SOLUTION: The reply routing information including calculation results is generated and transmitted to a communication apparatus v[1] after performing following calculations on a cyclic group G, y[0]<SP>E[0]×r[0,0,0]</SP>×y[1]<SP>r[0,0,0]</SP>, g<SP>r[0,0,0]</SP>, y[1]<SP>r[1,0,0]</SP>, g<SP>r[1,0,0]</SP>, y[1]<SP>(e[0,1]+1)×r[0,1,0]</SP>×y[2]<SP>r[0,1,0]</SP>, g<SP>r[0,1,0]</SP>, (y[1]×y[2])<SP>r[1,1,0]</SP>, g<SP>r[1,1,0]</SP>, (y[1]×, ..., ×y[m-1])<SP>r[0,m,0]</SP>×y[m]<SP>(e[m-1,m]+1)×r[0,m,0]</SP>×y[m+1]<SP>r[0,m,0]</SP>, g<SP>r[0,m,0]</SP>, (y[1]×, ..., ×y[m-1]×y[m]×y[m+1])<SP>r[1,m,0]</SP>, g<SP>r[1,m,0]</SP>(m=2, ..., n-1). <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、複数の独立した通信装置が協調して情報の転送を行う通信技術において、情報の中継を行う各通信装置に対して通信経路情報を隠蔽する匿名通信技術に関し、特に、返信が可能な匿名通信技術に関する。   The present invention relates to an anonymous communication technology for concealing communication path information to each communication device that relays information in a communication technology in which a plurality of independent communication devices transfer information in cooperation, and in particular, a reply is possible. Related to anonymity communication technology.

複数の独立した通信装置が協調して情報の転送を行う形態の通信サービスを行う場合において、情報の中継を行う通信装置に対して通信経路情報を隠蔽する暗号通信技術がある。例えば電子メールの送信サービスのように、送信元の通信装置から送信された情報が複数の独立な通信装置で繰り返し中継されて送信先の通信装置に届けられる通信サービスにおいて、情報の中継に必要のない通信経路情報(送信元や送信先の通信装置など)を情報の中継を行う各通信装置に隠蔽する暗号通信技術である。このような暗号通信技術は、一般に匿名通信と呼ばれ、その実現方法としてオニオンルーティングやその改良方式等さまざまな方式が提案されている。   There is an encryption communication technique for concealing communication path information from a communication device that relays information when a communication service in which a plurality of independent communication devices cooperate to transfer information is performed. For example, in a communication service in which information transmitted from a source communication device is repeatedly relayed by a plurality of independent communication devices and delivered to a destination communication device, such as an e-mail transmission service, necessary for relaying information This is a cryptographic communication technique for concealing non-communication path information (such as a communication device of a transmission source and a transmission destination) in each communication device that relays information. Such an encryption communication technique is generally called anonymous communication, and various methods such as onion routing and an improved method have been proposed as an implementation method thereof.

また、そのような匿名通信において、情報を中継する任意の通信装置又は送信先の通信装置から返信を行うことができれば、情報を中継する任意の通信装置から送信元の通信装置への通信エラー情報の返信や、送信先の通信装置から送信元の通信装置への応答等が可能となる。この際、中継に必要のない通信経路情報(送信元や送信先の通信装置、どの通信に対する返信であるかなど)を隠蔽したまま返信を行うことができれば、双方向の匿名通信が実現できる。   Also, in such anonymous communication, if a reply can be made from any communication device that relays information or a destination communication device, communication error information from any communication device that relays information to the source communication device Or a response from the transmission destination communication device to the transmission source communication device. At this time, bi-directional anonymous communication can be realized if a reply can be performed while concealing communication path information not necessary for relay (such as a communication device of a transmission source and a transmission destination and a communication for which communication).

以下では、通信装置v[0]から送信された情報がv[1],...,v[n-1](n≧2)の順序で通信装置v[1],...,v[n-1]で中継されて通信装置v[n]に受信されるケースについて説明する。また、通信装置v[h-1](h=1,...,n)と通信装置v[h]との間の通信路を特定するための通信路情報をe[h-1, h]と示す。すなわち、送信元の通信装置v[0]から送信先の通信装置v[n]への通信経路を
v[0], e[0,1], v[1],...,v[n-1], e[n-1,n], v[n] …(1)
とする。
In the following, the information transmitted from the communication device v [0] is the communication device v [1], ..., v in the order of v [1], ..., v [n-1] (n ≧ 2). A case will be described in which the communication device v [n] is relayed by [n-1]. Further, the communication path information for specifying the communication path between the communication device v [h-1] (h = 1,..., N) and the communication device v [h] is represented by e [h-1, h ]. That is, the communication path from the transmission source communication device v [0] to the transmission destination communication device v [n]
v [0], e [0,1], v [1], ..., v [n-1], e [n-1, n], v [n]… (1)
And

ここで各通信装置v[f](f=0,...,n)には、それぞれe[f-1,f], e[f,f+1]以外にもいくつかの通信路が接続されており、v[f-1], v[f+1]以外の通信装置との通信も可能となっている。そのため、通信装置v[0]から送信され、1以上の通信装置v[h]で中継された送信情報に対して返信された情報が、通信装置v[0]に到達するためには、返信経路に位置する各通信装置v[h]がそれぞれ通信路情報e[h-1,h]を知る必要がある。すなわち、各通信装置v[h]がそれぞれ返信情報を中継するために必要とする情報は通信路情報e[h-1,h]である。そして、双方向の匿名通信を実現するためには、各通信装置v[h]はそれぞれ通信路情報e[h-1,h]及びe[h,h+1]を知ることができるが、上記(1)の通信経路を構成するその他の通信路情報を知ることができないという状態にしなければならない。   Here, each communication device v [f] (f = 0, ..., n) has several communication paths in addition to e [f-1, f] and e [f, f + 1]. They are connected and can communicate with communication devices other than v [f-1] and v [f + 1]. Therefore, in order for the information transmitted from the communication device v [0] and returned to the transmission information relayed by the one or more communication devices v [h] to reach the communication device v [0] Each communication device v [h] located on the path needs to know the communication path information e [h-1, h]. That is, the information required for each communication device v [h] to relay the return information is the communication path information e [h-1, h]. And in order to realize bidirectional anonymous communication, each communication device v [h] can know the communication path information e [h-1, h] and e [h, h + 1], respectively. It must be in a state where it cannot know the other communication path information constituting the communication path of (1) above.

このような双方向の匿名通信を実現する方式の一つに非特許文献1の方式がある。   One of the methods for realizing such bidirectional anonymous communication is the method disclosed in Non-Patent Document 1.

非特許文献1の方式では、送信元の通信装置v[0]から送信先の通信装置v[n]へ情報を送信する際に、以下のような多重暗号文を返信経路情報として付加して送信する。なお、Kf(・)は通信装置v[f]で復号化可能な暗号文であり、E[0]は通信装置v[0]に固有の固有情報である。 In the method of Non-Patent Document 1, when transmitting information from the communication device v [0] of the transmission source to the communication device v [n] of the transmission destination, the following multiple ciphertexts are added as return path information. Send. K f (·) is a ciphertext that can be decrypted by the communication device v [f], and E [0] is unique information unique to the communication device v [0].

Kn(e[n-1,n],Kn-1(e[n-2,n-1],...,K1(e[0,1],K0(E[0]))...) …(2)
この多重暗号文をv[n],...,v[0]の順序で各通信装置v[f]が復号していくと、各通信装置v[f]がKf(・)の復号を行うたびに通信路情報e[f-1,f]を得ることができる。一方、各通信装置v[f]はその他の暗号文Ki(・)(i≠k)を復号できないため、(2)の返信経路情報から他の通信路情報e[i-1,i]を得ることはできない。これにより、双方向の匿名通信が実現できる。
K n (e [n-1, n], K n-1 (e [n-2, n-1], ..., K 1 (e [0,1], K 0 (E [0]) ) ...)… (2)
When each communication device v [f] decrypts this multiple ciphertext in the order of v [n], ..., v [0], each communication device v [f] decrypts K f (·). Communication channel information e [f-1, f] can be obtained each time. On the other hand, since each communication device v [f] cannot decrypt the other ciphertext K i (•) (i ≠ k), the other communication path information e [i−1, i] is determined from the return path information of (2). Can't get. Thereby, bidirectional | two-way anonymous communication is realizable.

しかし、非特許文献1の方式では、送信情報が送信先の通信装置v[n]に到着する前に、何れかの通信装置v[m](m=2,...,n-1)で返信を行うことができない。なぜなら、まず通信装置v[n]が復号を行わないと、他の何れの通信装置v[m]も式(2)の多重暗号文を復号できず、通信路情報e[m-1,m]を得ることができないためである。そのため、非特許文献1の方式では、例えば、通信装置v[0]と通信装置v[n]との間の通信装置v[m]の次の通信装置v[m+1]が故障している場合に、通信装置v[m]がエラー情報を通信装置v[0]に返信することができない。   However, in the method of Non-Patent Document 1, any transmission device v [m] (m = 2,..., N−1) is transmitted before the transmission information arrives at the destination communication device v [n]. I can't reply. This is because, unless the communication device v [n] first decrypts, any other communication device v [m] cannot decrypt the multiple ciphertext of the equation (2), and the communication path information e [m−1, m This is because you cannot get. Therefore, in the method of Non-Patent Document 1, for example, the communication device v [m + 1] next to the communication device v [m] between the communication device v [0] and the communication device v [n] fails. The communication device v [m] cannot return error information to the communication device v [0].

この問題を解決するための単純な方法は、各通信装置v[h](h=1,...,n)に対して、それぞれの通信装置v[h]を起点とする返信経路情報
Kn(e[n-1,n],Kn-1(e[n-2,n-1],...,K1(e[0,1],K0(E[0]))...)
Kn-1(e[n-2,n],Kn-2(e[n-3,n-2],...,K1(e[0,1],K0(E[0]))...) …(3)
Kn-2(e[n-3,n],Kn-1(e[n-4,n-2],...,K1(e[0,1],K0(E[0]))...)
. . .
K1(e[0,1],K0(E[0])
を構成して、それらすべてを送信情報に付加して送信することである。しかし、こうすると返信経路情報のサイズがO(n2)と大きくなってしまう。
このような問題を解決できる方式として非特許文献2の方式がある。
A simple method for solving this problem is for each communication device v [h] (h = 1,..., N), return path information starting from each communication device v [h].
K n (e [n-1, n], K n-1 (e [n-2, n-1], ..., K 1 (e [0,1], K 0 (E [0]) ) ...)
K n-1 (e [n-2, n], K n-2 (e [n-3, n-2], ..., K 1 (e [0,1], K 0 (E [0 ])) ...)… (3)
K n-2 (e [n-3, n], K n-1 (e [n-4, n-2], ..., K 1 (e [0,1], K 0 (E [0 ])) ...)
..
K 1 (e [0,1], K 0 (E [0])
And transmitting all of them added to the transmission information. However, this will increase the size of the reply path information to O (n 2 ).
There is a method of Non-Patent Document 2 as a method that can solve such a problem.

非特許文献2の方式では、通信装置v[0]から送信された送信情報γがv[1],...,v[n-1]の順序で各通信装置v[m]で中継されて通信装置v[n]に到達するまでにおいて、各通信装置v[h] (h=1,...,n)が、それぞれ自分だけが復号できるように通信路情報e[h-1,h]を暗号化した返信経路情報を生成し、それを送信情報に添付していく。そして、返信の際には、各通信装置v[h]が自ら生成した返信経路情報を復号し、通信路情報e[h-1,h]を得ることによって匿名通信による返信が可能となる。この場合、返信経路情報の合計サイズはO(n)となる。
D. L. Chaum, “Untraceable Electronic Mail, Return Addresses,and Digital Pseudonyms,” Communications of the ACM, Vol. 24, NO.2,pp.84-88 (1981). H. Toriyama, N. Kunihiro, and K. Ohta: “Return Message-Receivable Anonymous Routing Scheme without Reveal of Sender ID,”SCIS2007, 3B4-6 (Jan. 2007).
In the method of Non-Patent Document 2, transmission information γ transmitted from the communication device v [0] is relayed by each communication device v [m] in the order of v [1], ..., v [n-1]. Until the communication device v [n] is reached, each communication device v [h] (h = 1,..., N) can be decoded only by itself. The reply path information that encrypts h] is generated and attached to the transmission information. When replying, each communication device v [h] decodes the reply path information generated by itself and obtains the communication path information e [h-1, h], thereby enabling reply by anonymous communication. In this case, the total size of the reply route information is O (n).
DL Chaum, “Untraceable Electronic Mail, Return Addresses, and Digital Pseudonyms,” Communications of the ACM, Vol. 24, NO.2, pp.84-88 (1981). H. Toriyama, N. Kunihiro, and K. Ohta: “Return Message-Receivable Anonymous Routing Scheme without Reveal of Sender ID,” SCIS2007, 3B4-6 (Jan. 2007).

しかし、非特許文献2の方式では、完全な匿名返信を達成することができないという問題点がある。つまり、非特許文献2の方式において不正を行おうとする通信装置v[m]は、通信路情報e[m-1,m]を暗号化する際(送信情報γ送信時)に何らかの目印となる情報δを暗号化し、それを返信経路情報に含めることができる。このように生成された返信経路情報を使って送られた返信情報が当該通信装置v[m]に届いたとき、当該通信装置v[m]は情報δを復号することができる。これにより、当該通信装置v[m]は、当該返信情報が送信情報γに対する返信であるとの情報を得ることができる。   However, the method of Non-Patent Document 2 has a problem that a complete anonymous reply cannot be achieved. That is, the communication device v [m] trying to perform fraud in the method of Non-Patent Document 2 becomes some mark when encrypting the communication path information e [m−1, m] (when transmitting transmission information γ). Information δ can be encrypted and included in the reply path information. When the reply information sent using the reply path information generated in this way reaches the communication device v [m], the communication device v [m] can decode the information δ. Thereby, the communication device v [m] can obtain information that the reply information is a reply to the transmission information γ.

本発明はこのような点に鑑みてなされたものであり、経路を構成する通信装置数nと同じオーダーの大きさの返信経路情報を用い、各通信装置に対し、情報の中継に必要な情報以外の情報を隠蔽しつつ、双方向の匿名通信を行うことが可能な技術を提供することを目的とする。   The present invention has been made in view of these points, and uses return path information having the same order size as the number n of communication apparatuses constituting the path, and information necessary for relaying information to each communication apparatus. It aims at providing the technique which can perform two-way anonymous communication, concealing other information.

本発明は、通信装置v[0]から送信された情報がv[1],...,v[n-1](n≧2)の順序で通信装置v[1],...,v[n-1]で中継されて通信装置v[n]に受信される匿名通信に適用される。また、本発明では、通信装置v[h-1](h=1,...,n)と通信装置v[h]との間の通信路を特定するための通信路情報をe[h-1, h]とし、各通信装置v[f](f=0,...,n)に固有な固有情報をE[f]とし、Gを巡回群とし、gを巡回群Gの生成元とし、x[f](f=0,...,n)を整数である各通信装置v[f]の秘密鍵x[f]とし、y[f]を各秘密鍵x[f]にそれぞれ対応する公開鍵y[f]=gx[j]∈Gとする。なお、通信装置v[h-1]と通信装置v[h]との間の通信路とは、少なくとも、通信装置v[h]から通信装置v[h-1]へ情報送信を行うための通信路を意味する。 The present invention relates to communication devices v [1],..., Information transmitted from the communication device v [0] in the order of v [1],. This is applied to anonymous communication relayed by v [n-1] and received by the communication device v [n]. In the present invention, the communication path information for specifying the communication path between the communication device v [h-1] (h = 1,..., N) and the communication device v [h] is represented by e [h -1, h], unique information unique to each communication device v [f] (f = 0, ..., n) is E [f], G is a cyclic group, and g is a cyclic group G X [f] (f = 0, ..., n) is a secret key x [f] of each communication device v [f], and y [f] is each secret key x [f] The public key y [f] = g x [j] ∈ G respectively corresponding to. The communication path between the communication device v [h-1] and the communication device v [h] is at least for transmitting information from the communication device v [h] to the communication device v [h-1]. It means a communication channel.

〔返信経路情報RI[0]の生成処理〕
まず、少なくとも、n個の通信装置v[j](j=0,...,n-1)にそれぞれ対応する任意の整数r[0,j,0],r[1,j,0]を設定し、演算α[0,0,0]=y[0]E[0]・r[0,0,0]・y[1]r[0,0,0]∈G、β[0,0,0]=gr[0,0,0]∈G、α[1,0,0]=y[1]r[1,0,0]∈G、β[1,0,0]=gr[1,0,0]∈G、α[0,1,0]=y[1](e[0,1]+1)・r[0,1,0]・y[2]r[0,1,0]∈G、β[0,1,0]=gr[0,1,0]∈G、α[1,1,0]=(y[1]・y[2])r[1,1,0]∈G、β[1,1,0]=gr[1,1,0]∈Gを行う。さらに、m=2,...,n-1のそれぞれについて、演算α[0,m,0]=(y[1]・...・y[m-1])r[0,m,0]・y[m](e[m-1,m]+1)・r[0,m,0]・y[m+1]r[0,m,0]∈G、β[0,m,0]=gr[0,m,0]∈G、α[1,m,0]=(y[1]・...・y[m-1]・y[m]・y[m+1])r[1,m,0]∈G、β[1,m,0]=gr[1,m,0]∈Gを行う。そして、4つの演算結果α[0,j,0], β[0,j,0], α[1,j,0], β[1,j,0](j=0,...,n-1)を含む情報をそれぞれブロック情報RB[j,0]とした場合における、n個のブロック情報RB[0,0],...,RB[n-1,0]を含む返信経路情報RI[0]を生成する。ここで、返信経路情報RI[0]のサイズはO(n)である。
そして、各通信装置v[f](f=0,...,n)が以下の処理を実行する。
[Reply Route Information RI [0] Generation Processing]
First, an arbitrary integer r [0, j, 0], r [1, j, 0] respectively corresponding to at least n communication devices v [j] (j = 0, ..., n-1) And the operation α [0,0,0] = y [0] E [0] ・ r [0,0,0]・ y [1] r [0,0,0] ∈G 、 β [0 , 0,0] = g r [0,0,0] ∈ G, α [1,0,0] = y [1] r [ 1,0,0 ] ∈ G, β [1,0,0] = g r [ 1,0,0 ] ∈ G, α [0,1,0] = y [1] (e [0,1] +1) ・ r [0,1,0]・ y [2] r [0,1,0] ∈ G, β [0,1,0] = g r [0,1,0] ∈ G, α [1,1,0] = (y [1] ・ y [2 ]) r [1,1,0] ∈ G, β [1,1,0] = g r [1,1,0] ∈ G Furthermore, for each of m = 2, ..., n-1, the operation α [0, m, 0] = (y [1] ···· y [m-1]) r [0, m, 0]・ y [m] (e [m-1, m] +1) ・ r [0, m, 0]・ y [m + 1] r [0, m, 0] ∈G 、 β [0, m, 0] = g r [0, m, 0] ∈ G, α [1, m, 0] = (y [1] ・ ・ ・ ・ ・ y [m-1] ・ y [m] ・ y [ m + 1]) r [1, m, 0] ∈G, β [1, m, 0] = g r [1, m, 0] ∈G. And four operation results α [0, j, 0], β [0, j, 0], α [1, j, 0], β [1, j, 0] (j = 0, ..., Return path including n pieces of block information RB [0,0], ..., RB [n-1,0], where information including n-1) is block information RB [j, 0], respectively. Information RI [0] is generated. Here, the size of the reply route information RI [0] is O (n).
Each communication device v [f] (f = 0,..., N) executes the following processing.

〔通信装置v[0]の送信処理〕
まず、通信装置v[0]が、返信経路情報RI[0]を通信装置v[1]に送信する。
[Communication device v [0] transmission processing]
First, the communication device v [0] transmits the reply route information RI [0] to the communication device v [1].

〔各通信装置v[u](u=1,...,n)の送信受信処理・返信開始処理〕
通信装置v[u]は、通信装置v[u-1]から送信された返信経路情報RI[u-1]を受信し、それが具備するブロック情報から、α[1,j,u-1]=β[1,j,u-1]x[u]∈Gを満たすブロック情報を選択し、それをブロック情報RB[+,u-1]とする。そして、通信装置v[u]は、ブロック情報RB[+,u-1]のα[0,j,u-1]に対して演算α[0,j,u-1]/β[0,j,u-1]2・x[u]∈Gを行い、その演算結果をブロック情報RB[+,u-1]の新たなα[0,j,u-1]としてブロック情報RB[+,u-1]を更新する。
[Transmission / reception processing / reply start processing of each communication device v [u] (u = 1, ..., n)]
The communication device v [u] receives the reply path information RI [u-1] transmitted from the communication device v [u-1], and α [1, j, u-1 ] = β [1, j, u-1] Select block information satisfying x [u] ∈ G, and set it as block information RB [+, u-1]. The communication device v [u] then calculates α [0, j, u-1] / β [0, [α] for α [0, j, u-1] of the block information RB [+, u-1]. j, u-1] 2 · x [u] ∈ G, and the operation result is set as a new α [0, j, u-1] of the block information RB [+, u-1] and the block information RB [+ , u-1].

ここで、通信装置v[u]が返信を行わない場合、通信装置v[u]は、ブロック情報RB[+,u-1]を除く返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[0,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[0,j,u-1]/β[0,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、ブロック情報RB[+,u-1]を除く返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[1,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[1,j,u-1]/β[1,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[1,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、少なくともこれらによって更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u+1]に送信する。 Here, when the communication device v [u] does not reply, the communication device v [u] has block information included in the reply path information RI [u-1] except for the block information RB [+, u-1]. For each α [0, j, u-1], β [0, j, u-1] of RB [0, u-1], ..., RB [n-1, u-1] An operation α [0, j, u-1] / β [0, j, u-1] x [u] ∈G is performed, and each of these operation results is added to each new α [0, j, u-1 ], The block information RB [0, u-1], ..., RB [n-1, u-1] is updated, and the reply path information RI [u] excluding the block information RB [+, u-1] -1] has block information RB [0, u-1],..., RB [n-1, u-1], α [1, j, u-1], β [0, j, The operation α [1, j, u-1] / β [1, j, u-1] x [u] ∈G is performed on u−1], and each of these operation results is added to each new α The block information RB [0, u-1], ..., RB [n-1, u-1] is updated as [1, j, u-1], and the reply path information RI updated by at least these is updated. [u-1] is transmitted to the communication device v [u + 1] as the reply route information RI [u].

一方、通信装置v[u]が返信を行う場合、通信装置v[u]は、返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[0,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[0,j,u-1]・β[0,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、少なくとも、これによって更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u-1]に返信する。この返信は、通信装置v[u-1]から返信経路情報RI[u-1]が送信された通信装置v[u]が、その通信装置v[u-1]に対して行うものである。よって、任意の通信装置v[u]はこの返信が可能である。 On the other hand, when the communication device v [u] makes a reply, the communication device v [u] sends the block information RB [0, u-1],..., RB included in the reply path information RI [u-1]. For each α [0, j, u-1] and β [0, j, u-1] of [n-1, u-1], the operations α [0, j, u-1] · β [ 0, j, u-1] x [u] ∈ G, and each of these calculation results is regarded as each new α [0, j, u-1] and the block information RB [0, u-1], ..., RB [n-1, u-1] is updated, and at least the reply path information RI [u-1] updated thereby is set as the reply path information RI [u] to the communication device v [u- Reply to [1]. This reply is made to the communication device v [u-1] by the communication device v [u] to which the reply route information RI [u-1] is transmitted from the communication device v [u-1]. . Thus, any communication device v [u] can make this reply.

〔各通信装置v[u](u=1,...,n)の返信受信処理〕
また、通信装置v[u]に通信装置v[u+1]から返信経路情報RI[u+1]が返信された場合、通信装置v[u]は、その返信経路情報RI[u+1]が含む何れかのブロック情報RB[0,u+1],...,RB[n-1,u+1]と、何れかの通信路情報e[y,u]との組合せに対してα[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たすか否かを判定し、α[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たした通信路情報e[y,u]を通信路情報e[u-1,u]とする。そして、その通信装置v[u]は、α[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たしたブロック情報を除く返信経路情報RI[u+1]が含むブロック情報RB[0,u+1],...,RB[n-1,u+1]の各α[0,j,u+1],β[0,j,u+1]に対してそれぞれ演算α[0,j,u+1]・β[0,j,u+1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u+1]として当該ブロック情報RB[0,u+1],...,RB[n-1,u+1]を更新し、少なくともこれによってで更新された返信経路情報RI[u+1]を返信経路情報RI[u]として、通信路情報e[u-1,u]によって特定される通信路に対して送信する。ここで、返信経路情報は各通信装置で更新される情報である。そして、通信装置v[u]においてα[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たすのは、e[y,u]=e[u-1,u]の場合のみである。言い換えると、各通信装置v[u]は、通信装置v[u+1]から送信された返信経路情報RI[u+1]から通信路情報e[u-1,u]を得ることはできるが、この返信経路情報RI[u+1]からその他の通信路情報を得ることはできない。これにより、匿名通信による返信が可能となる。
[Reply receiving process for each communication device v [u] (u = 1, ..., n)]
Further, when the reply path information RI [u + 1] is returned from the communication apparatus v [u + 1] to the communication apparatus v [u], the communication apparatus v [u] returns the reply path information RI [u + 1]. ] For any combination of block information RB [0, u + 1], ..., RB [n-1, u + 1] and any channel information e [y, u] Α [0, j, u + 1] = β [0, j, u + 1] e [y, u] Whether or not ∈G is satisfied and α [0, j, u + 1] = The channel information e [y, u] satisfying β [0, j, u + 1] e [y, u] ∈G is defined as channel information e [u-1, u]. Then, the communication device v [ u] returns return path information excluding block information satisfying α [0, j, u + 1] = β [0, j, u + 1] e [y, u] ∈G Each of block information RB [0, u + 1], ..., RB [n-1, u + 1] included in RI [u + 1] α [0, j, u + 1], β [0, j, u + 1] are calculated α [0, j, u + 1] · β [0, j, u + 1] x [u] ∈G, and the result of each of these operations Update the block information RB [0, u + 1], ..., RB [n-1, u + 1] as each α [0, j, u + 1], and at least the reply updated by this The route information RI [u + 1] is transmitted as the reply route information RI [u] to the communication path specified by the communication path information e [u-1, u]. Here, the reply path information is information updated by each communication device. And it is e [y, u] = that satisfies α [0, j, u + 1] = β [0, j, u + 1] e [y, u] ∈G in the communication device v [u]. Only for e [u-1, u]. In other words, each communication device v [u] can obtain the communication path information e [u-1, u] from the return path information RI [u + 1] transmitted from the communication apparatus v [u + 1]. However, other communication path information cannot be obtained from this reply path information RI [u + 1]. Thereby, the reply by anonymous communication is attained.

本発明では、経路を構成する通信装置数nと同じオーダーの大きさの返信経路情報を用い、各通信装置に対し、情報の中継に必要な情報以外の情報を隠蔽しつつ、双方向の匿名通信を行うことが可能となる。   In the present invention, the return route information having the same order size as the number of communication devices n constituting the route is used, and the two-way anonymous is concealed for each communication device while concealing information other than information necessary for relaying information. Communication can be performed.

以下、本発明を実施するための最良の形態を図面を参照して説明する。   The best mode for carrying out the present invention will be described below with reference to the drawings.

〔全体構成〕
まず、本形態の全体構成について説明する。
図1(a)は、本形体の匿名通信システム1の全体構成を示した図である。
図1(a)に示すように、本形態の匿名通信システム1は、ネットワークを通じた通信が可能なn個(n≧2)の通信装置v[f](f=0,...,n)である通信装置10及び通信装置20‐1〜nによって構成される。
〔overall structure〕
First, the overall configuration of this embodiment will be described.
FIG. 1A is a diagram showing the overall configuration of the anonymous communication system 1 of this form.
As shown in FIG. 1 (a), the anonymous communication system 1 of the present embodiment includes n (n ≧ 2) communication devices v [f] (f = 0,..., N) capable of communication through a network. ) Communication device 10 and communication devices 20-1 to 20-n.

通信装置(v[0])10は、この匿名通信の送信先である通信装置(v[n])20‐nとそこまでの通信経路を設定する通信装置(「返信経路情報生成装置」に相当)であり、通信装置(v[1]〜v[n])20‐1〜nは、通信装置(v[0])10によって選択された装置である。すなわち、図1(a)では省略しているが、実際のネットワーク上には、通信装置(v[0])10及び通信装置(v[1]〜v[n])20‐1〜n以外にも複数の複数の通信装置が存在する。また、本形態の各通信装置は相互に独立であり、どの通信装置が匿名通信システム1を構成する通信装置であるかを知るのは、その匿名通信の送信先である通信装置(v[n])20‐nとそこまでの通信経路を設定した通信装置10のみである。   The communication device (v [0]) 10 is the communication device (v [n]) 20-n that is the destination of this anonymous communication and the communication device that sets the communication route up to that (the “reply route information generation device”). Communication devices (v [1] to v [n]) 20-1 to n are devices selected by the communication device (v [0]) 10. That is, although omitted in FIG. 1A, on the actual network, other than the communication device (v [0]) 10 and the communication devices (v [1] to v [n]) 20-1 to n. There are also a plurality of communication devices. Moreover, each communication apparatus of this form is mutually independent, and knowing which communication apparatus is a communication apparatus which comprises the anonymous communication system 1 is the communication apparatus (v [n ]) Only the communication device 10 that sets 20-n and the communication path up to that point.

また、e[h-1, h](h=1,...,n)は、通信装置v[h-1](h=1,...,n)と通信装置v[h]との間の通信路を特定するための通信路情報である。ここで、通信装置v[h-1]と通信装置v[h]との間の通信路とは、少なくとも通信装置v[h]から通信装置v[h-1]へ情報送信を行うための通信路を意味する。また、通信装置v[h-1]と通信装置v[h]との間の通信路を特定するための通信路情報e[h-1, h]としては、例えば、通信装置v[h-1]のアドレス(IPアドレス等)を特定するための情報を例示できる。また、通信装置v[h-1]のアドレスと通信装置v[h]のアドレスとの組を特定するための情報等を通信路情報e[h-1, h]としてもよい。なお、実際には図1(a)に示していない通信装置も存在し、それらの通信装置と各通信装置v[f]との間の通信路や、各通信路情報e[h-1, h]が特定する通信路以外の通信装置v[f]間の通信路も存在する。   Also, e [h-1, h] (h = 1, ..., n) is a communication device v [h-1] (h = 1, ..., n) and a communication device v [h] It is communication path information for specifying the communication path between. Here, the communication path between the communication device v [h-1] and the communication device v [h] is at least for transmitting information from the communication device v [h] to the communication device v [h-1]. It means a communication channel. Further, as the communication path information e [h-1, h] for specifying the communication path between the communication apparatus v [h-1] and the communication apparatus v [h], for example, the communication apparatus v [h- Information for specifying the address 1) (IP address, etc.) can be exemplified. Further, information for specifying a set of the address of the communication device v [h-1] and the address of the communication device v [h] may be used as the communication path information e [h-1, h]. Note that there are actually communication apparatuses not shown in FIG. 1A, and communication paths between these communication apparatuses and each communication apparatus v [f] and each communication path information e [h-1, There is a communication path between communication devices v [f] other than the communication path specified by h].

また、本形態では、通信装置(v[0])10が、匿名通信の送信先である通信装置とそこまでの通信経路を設定して匿名通信システム1が構成される場合を例示するが、ネットワーク上のその他の通信装置も、匿名通信の送信先である通信装置とそこまでの通信経路を設定でき、ネットワーク上に複数の独立した匿名通信システムが構成され得るものとする。そして、各通信装置は、複数の独立した匿名通信の送信情報や返信情報を中継することもある。   Further, in this embodiment, the communication device (v [0]) 10 exemplifies a case where the anonymous communication system 1 is configured by setting a communication device that is a transmission destination of anonymous communication and a communication path to the communication device. Other communication devices on the network can also set a communication device that is a destination of anonymous communication and a communication path to the communication device, and a plurality of independent anonymous communication systems can be configured on the network. Each communication device may relay a plurality of independent anonymous communication transmission information and reply information.

〔ハードウェア構成〕
図1(b)は、本形態の通信装置(v[0])10のハードウェア構成を例示したブロック図である。
図1(b)に例示するように、本形態の通信装置10は、CPU(Central Processing Unit)10a、入力部10b、通信部10c、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e、補助記憶装置10f及びバス10gを有している。
[Hardware configuration]
FIG. 1B is a block diagram illustrating a hardware configuration of the communication device (v [0]) 10 according to the present embodiment.
As illustrated in FIG. 1B, the communication device 10 of this embodiment includes a CPU (Central Processing Unit) 10a, an input unit 10b, a communication unit 10c, a RAM (Random Access Memory) 10d, and a ROM (Read Only Memory) 10e. And an auxiliary storage device 10f and a bus 10g.

この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部10bは、例えば、キーボード、マウス等の入力デバイスや入力端子等である。   The CPU 10a in this example includes a control unit 10aa, a calculation unit 10ab, and a register 10ac, and executes various calculation processes according to various programs read into the register 10ac. The input unit 10b is, for example, an input device such as a keyboard or a mouse, an input terminal, or the like.

また、通信部10cは、LANカードやモデム等である。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域10da及び各種データが格納されるデータ領域10dbを有している。また、補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域10fa及び各種データが格納されるデータ領域10fbを有している。また、バス10gは、CPU10a、入力部10b、通信部10c、RAM10d、ROM10e及び補助記憶装置10fを、情報のやり取りが可能なように接続する。   The communication unit 10c is a LAN card, a modem, or the like. The RAM 10d is an SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory) or the like, and has a program area 10da for storing a predetermined program and a data area 10db for storing various data. The auxiliary storage device 10f is, for example, a hard disk, an MO (Magneto-Optical disc), a semiconductor memory, or the like, and has a program area 10fa for storing a predetermined program and a data area 10fb for storing various data. Yes. The bus 10g connects the CPU 10a, the input unit 10b, the communication unit 10c, the RAM 10d, the ROM 10e, and the auxiliary storage device 10f so that information can be exchanged.

なお、その他の通信装置(v[1]〜v[n])20‐1〜nのハードウェア構成は、通信装置(v[0])10のハードウェア構成と同様であるため説明を省略する。   Note that the hardware configuration of the other communication devices (v [1] to v [n]) 20-1 to 20-n is the same as the hardware configuration of the communication device (v [0]) 10, and thus the description thereof is omitted. .

〔ハードウェアとソフトウェアとの協働〕
本形態の通信装置(v[0])10及び各通信装置(v[1]〜v[n])20‐1〜nは、上述したハードウェアに所定のプログラムが読み込まれることによって構成される。以下、このように構成される通信装置(v[0])10及び各通信装置(v[1]〜v[n])20‐1〜nの機能構成を説明する。
[Cooperation between hardware and software]
The communication apparatus (v [0]) 10 and the communication apparatuses (v [1] to v [n]) 20-1 to 20-n of the present embodiment are configured by reading a predetermined program into the hardware described above. . Hereinafter, functional configurations of the communication device (v [0]) 10 and the communication devices (v [1] to v [n]) 20-1 to 20-n configured as described above will be described.

<通信装置(v[0])10>
図2は、本形態の通信装置10の機能構成を示したブロック図である。
図2に示すように、本形態の通信装置10は、メモリ11と、入力部12と、送信部13aと、受信部13bと、制御部14と、任意値設定部15aと、第1演算部15bと、第2演算部15cと、第3演算部15dと、第4演算部15eと、第5演算部15fと、第6演算部15gと、第7演算部15hと、第8演算部15iと、第9演算部15jと、第10演算部15kと、第11演算部15mと、第12演算部15nと、第13演算部15pと、第14演算部15qと、ダミーブロック情報生成部15rと、返信経路情報生成部15sと、判定部15tと、返信メッセージ復号部15uと、を有する。
<Communication device (v [0]) 10>
FIG. 2 is a block diagram illustrating a functional configuration of the communication apparatus 10 according to the present embodiment.
As shown in FIG. 2, the communication device 10 of the present embodiment includes a memory 11, an input unit 12, a transmission unit 13a, a reception unit 13b, a control unit 14, an arbitrary value setting unit 15a, and a first calculation unit. 15b, second computing unit 15c, third computing unit 15d, fourth computing unit 15e, fifth computing unit 15f, sixth computing unit 15g, seventh computing unit 15h, and eighth computing unit 15i. A ninth arithmetic unit 15j, a tenth arithmetic unit 15k, an eleventh arithmetic unit 15m, a twelfth arithmetic unit 15n, a thirteenth arithmetic unit 15p, a fourteenth arithmetic unit 15q, and a dummy block information generation unit 15r. A reply path information generation unit 15s, a determination unit 15t, and a reply message decoding unit 15u.

ここで、メモリ11は、例えば、補助記憶装置10f、RAM10d、レジスタ10ac、キャッシュメモリ、その他ビット情報を物理的に保持することが可能なデバイス、又は、これらの少なくとも一部を組み合わせることによって構成される記憶領域である。また、入力部12は、例えば、所定のプログラムが読み込まれたCPU10aの制御のもと駆動する入力部10bである。また、送信部13aと受信部13bは、所定のプログラムが読み込まれたCPU10aの制御のもと駆動する通信部10cである。また、制御部14と、任意値設定部15aと、第1演算部15bと、第2演算部15cと、第3演算部15dと、第4演算部15eと、第5演算部15fと、第6演算部15gと、第7演算部15hと、第8演算部15iと、第9演算部15jと、第10演算部15kと、第11演算部15mと、第12演算部15nと、第13演算部15pと、第14演算部15qと、ダミーブロック情報生成部15rと、返信経路情報生成部15sと、判定部15tと、返信メッセージ復号部15uとは、例えば、所定のプログラムが読み込まれたCPU10aである。なお、通信装置(v[0])10は、制御部14の制御のもと各処理を実行する。また、各処理部は処理に必要なデータをメモリ11から読み込み、その処理結果をメモリ11に格納する。   Here, the memory 11 is configured by, for example, an auxiliary storage device 10f, a RAM 10d, a register 10ac, a cache memory, other devices that can physically hold bit information, or a combination of at least some of these devices. Storage area. The input unit 12 is, for example, an input unit 10b that is driven under the control of the CPU 10a in which a predetermined program is read. The transmission unit 13a and the reception unit 13b are communication units 10c that are driven under the control of the CPU 10a in which a predetermined program is read. Further, the control unit 14, the arbitrary value setting unit 15a, the first calculation unit 15b, the second calculation unit 15c, the third calculation unit 15d, the fourth calculation unit 15e, the fifth calculation unit 15f, 6 computing unit 15g, 7th computing unit 15h, 8th computing unit 15i, 9th computing unit 15j, 10th computing unit 15k, 11th computing unit 15m, 12th computing unit 15n, 13th computing unit The calculation unit 15p, the fourteenth calculation unit 15q, the dummy block information generation unit 15r, the reply path information generation unit 15s, the determination unit 15t, and the reply message decryption unit 15u, for example, have read a predetermined program CPU 10a. The communication device (v [0]) 10 executes each process under the control of the control unit 14. Each processing unit reads data necessary for processing from the memory 11 and stores the processing result in the memory 11.

<返信経路情報RI[u-1]の受信処理を行う通信装置(v[u])20‐u>
図3は、通信装置v[u-1](u=1,...,n)から送信された返信経路情報RI[u-1]の受信処理を行う本形態の通信装置(v[u])20‐uの機能構成を示したブロック図である。
図3に示すように、当該通信装置(v[u])20‐uは、メモリ21‐uと、入力部22‐uと、送信部23a‐u(「第1送信手段」及び「第2送信手段」に相当)と、受信部23b‐u(「第1受信手段」及び「第2受信手段」に相当)と、制御部24‐uと、ブロック情報選択部25a‐uと、第1ブロック情報更新部25b‐uと、第2ブロック情報更新部25c‐uと、第3ブロック情報更新部25d‐uと、任意値設定部25e‐uと、ランダム化部25f‐u,25h‐uと、第6ブロック情報更新部25g‐uと、順序入れ替え部25i‐uと、を有する。
<Communication Device (v [u]) 20-u that Performs Reception Processing of Reply Path Information RI [u-1]>
FIG. 3 shows a communication device (v [u-1]) that performs reception processing of the return path information RI [u-1] transmitted from the communication device v [u-1] (u = 1,..., N). ]) It is a block diagram showing a functional configuration of 20-u.
As shown in FIG. 3, the communication device (v [u]) 20-u includes a memory 21-u, an input unit 22-u, and transmission units 23a-u (“first transmission means” and “second” Transmission unit ”), reception unit 23b-u (corresponding to“ first reception unit ”and“ second reception unit ”), control unit 24-u, block information selection unit 25a-u, Block information update unit 25b-u, second block information update unit 25c-u, third block information update unit 25d-u, arbitrary value setting unit 25e-u, randomization units 25f-u, 25h-u And a sixth block information updating unit 25g-u and an order changing unit 25i-u.

ここで、メモリ21‐uは、例えば、補助記憶装置、RAM、レジスタ、キャッシュメモリ、その他ビット情報を物理的に保持することが可能なデバイス、又は、これらの少なくとも一部を組み合わせることによって構成される記憶領域である。また、入力部22‐uは、例えば、所定のプログラムが読み込まれたCPUの制御のもと駆動するキーボード等の入力部である。また、送信部23a‐u及び受信部23b‐uは、所定のプログラムが読み込まれたCPUの制御のもと駆動するLANカード等の通信部である。また、制御部24‐uと、ブロック情報選択部25a‐uと、第1ブロック情報更新部25b‐uと、第2ブロック情報更新部25c‐uと、第3ブロック情報更新部25d‐uと、任意値設定部25e‐uと、ランダム化部25f‐u,25h‐uと、第6ブロック情報更新部25g‐uと、順序入れ替え部25i‐uとは、例えば、所定のプログラムが読み込まれたCPUである。なお、(v[u])20‐uは、それぞれ制御部24‐uの制御のもと各処理を実行する。また、各処理部は処理に必要なデータをメモリ21‐uから読み込み、その処理結果をメモリ21‐uに格納する。   Here, the memory 21-u is configured by, for example, an auxiliary storage device, a RAM, a register, a cache memory, other devices that can physically hold bit information, or a combination of at least some of these devices. Storage area. The input unit 22-u is an input unit such as a keyboard that is driven under the control of the CPU in which a predetermined program is read. The transmission unit 23a-u and the reception unit 23b-u are communication units such as a LAN card that is driven under the control of the CPU loaded with a predetermined program. Further, the control unit 24-u, the block information selection unit 25a-u, the first block information update unit 25b-u, the second block information update unit 25c-u, and the third block information update unit 25d-u The arbitrary value setting unit 25e-u, the randomizing units 25f-u, 25h-u, the sixth block information updating unit 25g-u, and the order changing unit 25i-u, for example, read a predetermined program CPU. Note that (v [u]) 20-u executes each process under the control of the control unit 24-u. Each processing unit reads data necessary for processing from the memory 21-u and stores the processing result in the memory 21-u.

<返信開始処理を行う通信装置(v[u])20‐u>
図4は、通信装置v[u-1](u=1,...,n)から送信された返信経路情報RI[u-1]を用いて返信開始処理を行う本形態の通信装置(v[u])20‐uの機能構成を示したブロック図である。
図4に示すように、当該通信装置20‐uは、メモリ21‐uと、入力部22‐uと、送信部23a‐uと、受信部23b‐uと、制御部24‐uと、ブロック情報選択部25a‐uと、第1ブロック情報更新部25b‐uと、第4ブロック情報更新部26a‐uと、削除部26b‐uと、任意値設定部26c‐uと、ランダム化部26d−uと、順序入れ替え部26e‐uと、第1任意値設定部26f‐uと、第7ブロック情報更新部26g‐uと、第8ブロック情報更新部26h‐uと、第10ブロック情報更新部26i‐uと、第11ブロック情報更新部26j‐uと、を有している。
<Communication device (v [u]) 20-u performing reply start processing>
FIG. 4 shows a communication apparatus of this embodiment that performs a reply start process using reply path information RI [u-1] transmitted from the communication apparatus v [u-1] (u = 1,..., N). v [u]) is a block diagram showing a functional configuration of 20-u.
As shown in FIG. 4, the communication device 20-u includes a memory 21-u, an input unit 22-u, a transmission unit 23a-u, a reception unit 23b-u, a control unit 24-u, a block Information selection unit 25a-u, first block information update unit 25b-u, fourth block information update unit 26a-u, deletion unit 26b-u, arbitrary value setting unit 26c-u, and randomization unit 26d -U, order changing unit 26e-u, first arbitrary value setting unit 26f-u, seventh block information updating unit 26g-u, eighth block information updating unit 26h-u, and tenth block information updating Unit 26i-u and an eleventh block information update unit 26j-u.

ここで、第4ブロック情報更新部26a‐uと、削除部26b‐uと、任意値設定部26c‐uと、ランダム化部26d−uと、順序入れ替え部26e‐uと、第1任意値設定部26f‐uと、第7ブロック情報更新部26g‐uと、第8ブロック情報更新部26h‐uと、第10ブロック情報更新部26i‐uと、第11ブロック情報更新部26j‐uとは、例えば、所定のプログラムが読み込まれたCPUである。   Here, the fourth block information update unit 26a-u, the deletion unit 26b-u, the arbitrary value setting unit 26c-u, the randomizing unit 26d-u, the order changing unit 26eu, and the first arbitrary value A setting unit 26f-u, a seventh block information update unit 26g-u, an eighth block information update unit 26h-u, a tenth block information update unit 26i-u, an eleventh block information update unit 26j-u, Is, for example, a CPU loaded with a predetermined program.

<返信受信処理を行う通信装置(v[u])20‐u>
図5は、通信装置v[u+1](0≦u≦n-1)から返信された返信経路情報RI[u-1]の受信処理を行う本形態の通信装置(v[u])20‐u(0≦u≦n-1)の機能構成を示したブロック図である。
図5に示すように、当該通信装置20‐uは、入力部22‐uと、送信部23a−u(「第3送信手段」に相当)と、受信部23b‐uと、制御部24‐uと、判定部27a‐uと、第5ブロック情報更新部27b‐uと、第9ブロック情報更新部27c‐uと、第12ブロック情報更新部27d‐uと、第2任意値設定部27e‐uと、第13ブロック情報更新部27f‐uと、第14ブロック情報更新手段27g‐uと、第15ブロック情報更新手段27h‐uと、第16ブロック情報更新手段27i‐uと、任意値設定部27j‐uと、ランダム化部27k‐uと、を有する。
<Communication device (v [u]) 20-u that performs reply reception processing>
FIG. 5 shows a communication apparatus (v [u]) according to the present embodiment that performs a reception process of reply path information RI [u-1] returned from the communication apparatus v [u + 1] (0 ≦ u ≦ n−1). It is the block diagram which showed the function structure of 20-u (0 <= u <= n-1).
As shown in FIG. 5, the communication device 20-u includes an input unit 22-u, a transmission unit 23a-u (corresponding to “third transmission means”), a reception unit 23b-u, and a control unit 24- u, a determination unit 27a-u, a fifth block information update unit 27b-u, a ninth block information update unit 27c-u, a twelfth block information update unit 27d-u, and a second arbitrary value setting unit 27e. -U, 13th block information update unit 27f-u, 14th block information update means 27g-u, 15th block information update means 27h-u, 16th block information update means 27i-u, arbitrary value A setting unit 27j-u and a randomizing unit 27k-u are included.

ここで、判定部27a‐uと、第5ブロック情報更新部27b‐uと、第9ブロック情報更新部27c‐uと、第12ブロック情報更新部27d‐uと、第2任意値設定部27e‐uと、第13ブロック情報更新部27f‐uと、第14ブロック情報更新手段27g‐uと、第15ブロック情報更新手段27h‐uと、第16ブロック情報更新手段27i‐uと、任意値設定部27j‐uと、ランダム化部27k‐uとは、例えば、所定のプログラムが読み込まれたCPUである。   Here, the determination unit 27a-u, the fifth block information update unit 27b-u, the ninth block information update unit 27c-u, the twelfth block information update unit 27d-u, and the second arbitrary value setting unit 27e -U, 13th block information update unit 27f-u, 14th block information update means 27g-u, 15th block information update means 27h-u, 16th block information update means 27i-u, arbitrary value The setting unit 27j-u and the randomizing unit 27k-u are, for example, CPUs into which a predetermined program has been read.

なお、図3〜図5では、通信装置20‐uの機能構成を通信装置20‐uの機能ごとに説明したが、実際は各通信装置20‐uが図3〜図5のすべての機能構成を具備する。また、本形態の例では、通信装置10は図3〜図5のすべての機能構成を具備し、各通信装置20‐uも通信装置10の機能構成を具備する。すなわち、本形態の例では、通信装置10及び各通信装置20‐uは同一の機能構成を具備し、必要に応じて各機能を使い分ける。   3 to 5, the functional configuration of the communication device 20-u has been described for each function of the communication device 20-u, but each communication device 20-u actually has all the functional configurations of FIGS. 3 to 5. It has. In the example of the present embodiment, the communication device 10 has all the functional configurations of FIGS. 3 to 5, and each communication device 20-u also has the functional configuration of the communication device 10. That is, in the example of this embodiment, the communication device 10 and each communication device 20-u have the same functional configuration, and use each function properly as necessary.

<処理>
通信装置(v[0])10から送信された送信情報は、v[1],...,v[n-1](n≧2)の順序で通信装置(v[1],...,v[n-1])20-1〜nで中継されて通信装置(v[n])20-nに届けられる。この情報送信は、オニオンルーティング等の公知の匿名通信方式を利用して行われるが、それによって送信される送信情報に本形態独自の返信経路情報が付加される点が従来との相違点である。ここで、通信装置(v[0])10が匿名通信を開始する処理を「送信開始処理」と呼び、この送信情報を通信装置(v[1],...,v[n-1])20-1〜nで受信した際に行われる処理を「送信受信処理」と呼ぶ。また、本形態では、通信装置v[h-1](h=1,...,n)から通信装置v[h]へ情報を送る処理を「送信」と呼び、通信装置v[h]から通信装置v[h-1]へ情報を送る処理を「返信」と呼ぶ。
<Processing>
The transmission information transmitted from the communication device (v [0]) 10 includes communication devices (v [1],... In the order of v [1],..., V [n−1] (n ≧ 2). ., v [n-1]) 20-1 to 20-n and relayed to the communication device (v [n]) 20-n. This information transmission is performed using a known anonymous communication method such as onion routing, but the point that reply path information unique to this embodiment is added to the transmission information transmitted thereby is a difference from the conventional one. . Here, the process in which the communication device (v [0]) 10 starts anonymous communication is referred to as “transmission start processing”, and this transmission information is referred to as the communication device (v [1],..., V [n-1] ) Processing performed when receiving at 20-1 to 20-n is referred to as "transmission reception processing". In this embodiment, the process of sending information from the communication device v [h-1] (h = 1,..., N) to the communication device v [h] is called “transmission”, and the communication device v [h] The process of sending information from the communication device to the communication device v [h-1] is called “reply”.

また、本形態の匿名通信システム1では、何れかの通信装置(v[c+1])20-(c+1)(cはu+1≦c≦n-1の整数)が、送られた送信情報に対する返信を行う。この返信情報は、v[c],...,v[1]の順序で通信装置(v[c],...,v[1])20-c〜1に中継され、通信装置(v[0])10に届けられる。ここで、通信装置(v[c+1])20-(c+1)が返信を開始する処理を「返信開始処理」と呼び、返信情報を通信装置(v[c],...,v[1])20-c〜1及び通信装置(v[0])10が受信した際に行われる処理を「返信受信処理」と呼ぶ。   In the anonymous communication system 1 of this embodiment, any communication device (v [c + 1]) 20- (c + 1) (c is an integer of u + 1 ≦ c ≦ n−1) is sent. Reply to information. The reply information is relayed to the communication devices (v [c],..., V [1]) 20-c to 1 in the order of v [c],. v [0]) is delivered to 10. Here, a process in which the communication device (v [c + 1]) 20- (c + 1) starts a reply is called a “reply start process”, and the reply information is transmitted to the communication devices (v [c],..., V [ 1]) The processing performed when 20-c to 1 and the communication device (v [0]) 10 receive is referred to as “reply reception processing”.

以下では、各処理の「前提」を説明した後、通信装置毎の「送信開始処理」「送信受信処理」「返信開始処理」「返信受信処理」を説明する。   In the following, after describing the “premise” of each process, “transmission start process”, “transmission reception process”, “reply start process”, and “reply reception process” for each communication device will be described.

[前提]
「送信開始処理」「送信受信処理」「返信開始処理」「返信受信処理」の前提について説明する。
[Assumption]
The premise of “transmission start processing”, “transmission reception processing”, “reply start processing”, and “reply reception processing” will be described.

まず、Gを位数がq(qは大きな素数)の巡回群とし、gを巡回群Gの生成元とする。本形態では、各通信装置を構成するためのプログラムに巡回群Gとその生成元gと位数qの情報とが記述されているものとする。なお、安全性の観点から、当該巡回群Gは、そこで構成された離散対数問題を多項式時間で解くことが困難なものであることが望ましい。また、そのような巡回群Gの実現例としては、例えば、楕円曲線暗号に用いられる楕円曲線上の有理点のなす群や、エルガマル暗号等に用いられる有限体の乗法群などを用いることができる(例えば、『岡本龍明,山本博資著、「現代暗号」、産業図書出版、ISBN4-7828-5353-X(参考文献1)』等参照)。なお、巡回群Gとして楕円曲線上の有理点のなす群を用いる場合、その元は楕円曲線上の点であり、有限体の乗法群を用いる場合、その元は整数である。また、楕円曲線上の有理点のなす群をコンピュータ上で実現するための具体的方法には様々なものが存在し、実際、楕円曲線上の有理点のなす群で構成され、コンピュータ上で実装可能な様々な楕円曲線暗号方式が存在する(例えば、参考文献1や『イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、鈴木治郎=訳、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0(参考文献2)』等参照)。また、巡回群G上の演算とは、巡回群Gで定義された演算を意味する。ここで、γ・δ∈Gは、巡回群Gの元γ,δを被演算子として当該巡回群Gで定義された演算を行うことを意味する。また、γ/δ∈Gは、巡回群Gの元γと巡回群Gの元δの逆元1/δとを被演算子として当該巡回群Gで定義された演算を行うことを意味する。さらに、γσ∈Gは、巡回群Gの元であるγに対して当該巡回群Gで定義された演算をσ回行うことを意味し、例えばγ5∈Gは、γ・γ・γ・γ・γ∈Gを意味する。巡回群Gが楕円曲線上の有理点のなす群である場合、例えば、楕円曲線上の楕円加算が「巡回群G上の演算」に相当する。この場合、γ・δ∈Gは、楕円曲線上の点γと点δとの楕円加算となり、γ/δ∈Gは、楕円曲線上の点γと楕円曲線上の点δの逆元点−δとの楕円加算となり、γσ∈Gは、楕円曲線上の点γを楕円スカラー倍(σ倍)演算となる。また、楕円曲線上の点εと楕円曲線上の点ηの逆元点−ηとの楕円加算を「巡回群G上の演算」としてもよい。この場合、γ・δ∈Gは、楕円曲線上の点γと楕円曲線上の点δの逆元点−δとの楕円加算となり、γ/δ∈Gは、楕円曲線上の点γと点δとの楕円加算となり、γσ∈Gは、楕円曲線上の点γの逆元点−γの楕円スカラー倍(σ倍)演算となる。また、巡回群Gが有限体の乗法群である場合、例えば、p(p=2q+1)を法とした積演算が「巡回群G上の演算」に相当する。この場合、γ・δ∈Gは、γ,δを整数集合の元とみた場合におけるγ・δ mod pとなり、γ/δ∈Gは、γ,δを整数集合の元とみた場合におけるγ/δ mod pとなり、γσ∈Gは、γ,δを整数集合の元とみた場合におけるγσ mod pとなる。また、例えば、ε mod pと1/η mod pとの乗算を「巡回群G上の演算」としてもよい。この場合、γ・δ∈Gは、γ,δを整数集合の元とみた場合におけるγ/δ mod pとなり、γ/δ∈Gは、γ,δを整数集合の元とみた場合におけるγ・δ mod pとなり、γσ∈Gは、γ,δを整数集合の元とみた場合における(1/γ)σ mod pとなる。 First, G is a cyclic group of order q (q is a large prime number), and g is a generator of the cyclic group G. In this embodiment, it is assumed that the cyclic group G, the generation source g thereof, and information on the order q are described in the program for configuring each communication device. From the viewpoint of safety, it is desirable that the cyclic group G is difficult to solve the discrete logarithm problem constructed there in polynomial time. In addition, as an implementation example of such a cyclic group G, for example, a group formed by rational points on an elliptic curve used for elliptic curve cryptography, a finite field multiplicative group used for Elgamal cryptography, or the like can be used. (See, for example, “Tatsuaki Okamoto, Hiroshi Yamamoto,“ Contemporary Cryptography ”, Publishing of Industrial Books, ISBN 4-7828-5353-X (reference 1)”). When a group of rational points on the elliptic curve is used as the cyclic group G, the element is a point on the elliptic curve, and when a multiplicative group of a finite field is used, the element is an integer. In addition, there are various specific methods for realizing a group of rational points on an elliptic curve on a computer. In fact, it consists of a group of rational points on an elliptic curve and is implemented on a computer. There are various possible elliptic curve cryptosystems (for example, Reference 1 and “Ian F. Braque, Gadiel Sellosi, Nigel P. Smart = Author, Jiro Suzuki = translation,“ Elliptic Curve Crypto ”, publication = Pearson Education, ISBN4-89471-431-0 (Reference 2) ”). The operation on the cyclic group G means an operation defined by the cyclic group G. Here, γ · δ∈G means that an operation defined in the cyclic group G is performed using the elements γ and δ of the cyclic group G as operands. Also, γ / δεG means that an operation defined by the cyclic group G is performed using the element γ of the cyclic group G and the inverse element 1 / δ of the element δ of the cyclic group G as operands. Furthermore, γ σ ∈ G means that the operation defined in the cyclic group G is performed σ times on γ that is an element of the cyclic group G. For example, γ 5 ∈ G is γ · γ · γ · It means γ · γ∈G. When the cyclic group G is a group formed by rational points on the elliptic curve, for example, elliptic addition on the elliptic curve corresponds to “operation on the cyclic group G”. In this case, γ · δ∈G is the elliptic addition of the point γ and the point δ on the elliptic curve, and γ / δ∈G is the inverse point of the point γ on the elliptic curve and the point δ on the elliptic curve − Ellipse addition with δ, and γ σ ∈ G is an elliptic scalar multiplication (σ times) operation for the point γ on the elliptic curve. Further, the addition of an ellipse between the point ε on the elliptic curve and the inverse original point −η of the point η on the elliptic curve may be “calculation on the cyclic group G”. In this case, γ · δ∈G is an elliptic addition of the point γ on the elliptic curve and the inverse element −δ of the point δ on the elliptic curve, and γ / δ∈G is the point γ and the point on the elliptic curve. Ellipse addition with δ, and γ σ ∈ G is the inverse scalar point of the point γ on the elliptic curve minus the elliptic scalar multiplication (σ times) of γ. Further, when the cyclic group G is a finite field multiplicative group, for example, a product operation modulo p (p = 2q + 1) corresponds to an “operation on the cyclic group G”. In this case, γ · δ∈G is γ · δ mod p when γ and δ are considered as elements of an integer set, and γ / δ∈G is γ / δ when γ and δ are considered as elements of an integer set. [delta] mod p becomes, gamma sigma ∈G is, gamma, a gamma sigma mod p when viewed with the original a [delta] integer set. Further, for example, multiplication of ε mod p and 1 / η mod p may be “an operation on the cyclic group G”. In this case, γ · δ∈G is γ / δ mod p when γ and δ are regarded as elements of an integer set, and γ / δ∈G is γ · δ when γ and δ are regarded as elements of an integer set. δ mod p, and γ σ ∈ G is (1 / γ) σ mod p when γ and δ are regarded as elements of an integer set.

また、各通信装置v[f](f=0,...,n)に固有な固有情報をE[f]とする。固有情報E[f]としては、例えば、各通信装置のMACアドレス、IPアドレス、ユーザ名、ユーザの電話番号等を例示できる。そして、固有情報E[0]は、通信装置(v[f])10のメモリ11に格納され、各固有情報E[h] (h=1,...,n)は、それぞれに対応する通信装置(v[h])20‐hのメモリ21‐hに格納されているものとする。   Also, the unique information unique to each communication device v [f] (f = 0,..., N) is E [f]. As the unique information E [f], for example, the MAC address, IP address, user name, user telephone number, etc. of each communication device can be exemplified. The unique information E [0] is stored in the memory 11 of the communication device (v [f]) 10, and each unique information E [h] (h = 1,..., N) corresponds to each. It is assumed that it is stored in the memory 21-h of the communication device (v [h]) 20-h.

また、各通信装置v[f]の秘密鍵をx[f]∈Zqとし、各秘密鍵x[f]にそれぞれ対応する公開鍵をy[f]=gx[j]∈Gとする。ただし、Zq=(0,1...,q-1)である。なお、演算効率の面からはx[f]∈Zqとなる秘密鍵x[f]を設定することが望ましいが、その他の整数をx[f]として設定する構成であってもかまわない。秘密鍵x[0]は、通信装置(v[0])10の入力部12から入力されてメモリ11に安全に格納され、各秘密鍵x[h](h=1,...,n)は、それぞれに対応する通信装置(v[h])20‐hの入力部22‐hから入力されてメモリ21‐hに安全に格納されているものとする。 Further, the secret key of each communication device v [f] is x [f] εZ q, and the public key corresponding to each secret key x [f] is y [f] = g x [j] εG. . However, Z q = (0,1 ..., q-1). Although it is desirable to set the secret key x [f] satisfying x [f] εZ q from the viewpoint of calculation efficiency, a configuration in which another integer is set as x [f] may be used. The secret key x [0] is input from the input unit 12 of the communication device (v [0]) 10 and is securely stored in the memory 11, and each secret key x [h] (h = 1,..., N) ) Are input from the input unit 22-h of the corresponding communication device (v [h]) 20-h and stored safely in the memory 21-h.

また、通信装置(v[0])10の入力部12には、匿名通信システム1を構成する各通信装置(v[f])20‐f(f=0,...,n)の公開鍵y[f]が入力され、メモリ11に格納されているものとする。また、通信装置(v[0])10の入力部12には、匿名通信システム1を構成する各通信装置(v[h])20‐h(h=1,...,n)にそれぞれ対応する各通信路情報e[h-1, h]が入力され、メモリ11に格納されているものとする。   Further, the input unit 12 of the communication device (v [0]) 10 discloses each communication device (v [f]) 20-f (f = 0,..., N) constituting the anonymous communication system 1. It is assumed that the key y [f] is input and stored in the memory 11. Further, the input unit 12 of the communication device (v [0]) 10 is connected to each communication device (v [h]) 20-h (h = 1,..., N) constituting the anonymous communication system 1, respectively. It is assumed that the corresponding communication path information e [h−1, h] is input and stored in the memory 11.

さらに、通信装置v[y](yはu以外の整数)と通信装置v[u]との間の各通信路をそれぞれ特定するための通信路情報をe[y,f]と表現する。通信装置(v[0])10の入力部12には、通信装置(v[0])10と通信可能な各通信装置v[y]に対応する通信路情報e[y,0]のリストが入力され、これらがメモリ11に格納される。同様に、各通信装置(v[h])20‐hの入力部22‐uには、それぞれ通信装置(v[h])20‐hと通信可能な各通信装置v[y]に対応する通信路情報e[y,h]のリストが入力され、これらがメモリ21-hに格納されているものとする。なお、当該通信装置v[y]には、匿名通信システム1を構成しない通信装置も含まれる。   Furthermore, communication path information for specifying each communication path between the communication device v [y] (y is an integer other than u) and the communication device v [u] is expressed as e [y, f]. The input unit 12 of the communication device (v [0]) 10 includes a list of communication path information e [y, 0] corresponding to each communication device v [y] that can communicate with the communication device (v [0]) 10. Are input and stored in the memory 11. Similarly, the input unit 22-u of each communication device (v [h]) 20-h corresponds to each communication device v [y] that can communicate with the communication device (v [h]) 20-h. It is assumed that a list of communication path information e [y, h] is input and stored in the memory 21-h. Note that the communication device v [y] includes a communication device that does not constitute the anonymous communication system 1.

[送信開始処理]
次に、通信装置(v[0])10が行う送信開始処理について説明する。
図6及び図7は、本形態の送信開始処理を説明するためのフローチャートである。以下、この図に従って、本形態の送信開始処理を説明する。
[Transmission start processing]
Next, transmission start processing performed by the communication device (v [0]) 10 will be described.
6 and 7 are flowcharts for explaining the transmission start process of the present embodiment. The transmission start process according to this embodiment will be described below with reference to this figure.

まず、通信装置(v[0])10(図2)の任意値設定部15aが、n個の通信装置v[j](j=1,...,n-1)にそれぞれ対応するr[0,j,0],r[1,j,0],r[0,*,0]∈Zqをランダムに選択し、それらをメモリ11に格納する(ステップS12)。なお、演算効率の面では、Zqからr[0,j,0],r[1,j,0],r[0,*,0]を選択することが望ましいが、これらを広く整数から選択する構成であってもかまわない。また、これらの値をランダムに選択する方法としては、例えば、疑似乱数を生成し、それをZq又は整数に写像する方法等を例示できる。これらの事項は、Zqからランダムに値を選択するその他の処理に共通する事項であるため、以下同様の説明は省略する。 First, the arbitrary value setting unit 15a of the communication device (v [0]) 10 (FIG. 2) corresponds to each of the n communication devices v [j] (j = 1,..., N−1). [0, j, 0], r [1, j, 0], r [0, *, 0] εZ q are selected at random and stored in the memory 11 (step S12). In terms of computational efficiency, it is desirable to select r [0, j, 0], r [1, j, 0], r [0, *, 0] from Z q. The configuration may be selected. Further, as a method for randomly selecting these values, for example, a method of generating a pseudo random number and mapping it to Z q or an integer can be exemplified. Since these items are common to other processes that randomly select a value from Z q , the same description is omitted below.

次に、第1演算部15bが、メモリ11からE[0]とy[0]とy[1]とr[0,0,0]を読み込み、演算α[0,0,0]=y[0]E[0]・r[0,0,0]・y[1]r[0,0,0]∈Gを行い、その演算結果α[0,0,0]をメモリ11に格納する(ステップS13)。また、第2演算部15cが、メモリ11からr[0,0,0]を読み込み、演算β[0,0,0]=gr[0,0,0]∈Gを行い、その演算結果β[0,0,0]をメモリ11に格納する(ステップS14)。また、第3演算部15dが、メモリ11からy[1]とr[1,0,0]を読み込み、演算α[1,0,0]=y[1]r[1,0,0]∈Gを行い、その演算結果α[1,0,0]をメモリ11に格納する(ステップS15)。さらに、第4演算部15eが、メモリ11からr[1,0,0]を読み込み、演算β[1,0,0]=gr[1,0,0]∈Gを行い、その演算結果β[1,0,0]をメモリ11に格納する(ステップS16)。ここで、ステップS13〜S16で生成されたα[0,0,0],β[0,0,0],α[1,0,0],β[1,0,0]の4つ組みをブロック情報RB[0,0]=(α[0,0,0],β[0,0,0],α[1,0,0],β[1,0,0])と表現する。 Next, the first calculation unit 15b reads E [0], y [0], y [1], and r [0,0,0] from the memory 11, and calculates α [0,0,0] = y. [0] E [0] · r [0,0,0] · y [1] r [0,0,0] ∈G and store the result α [0,0,0] in the memory 11 (Step S13). Further, the second calculation unit 15c reads r [0,0,0] from the memory 11, performs the calculation β [0,0,0] = g r [0,0,0] ∈G, and the calculation result β [0,0,0] is stored in the memory 11 (step S14). Further, the third calculation unit 15d reads y [1] and r [1,0,0] from the memory 11, and calculates α [1,0,0] = y [1] r [1,0,0]. ΕG is performed, and the calculation result α [1,0,0] is stored in the memory 11 (step S15). Further, the fourth calculation unit 15e reads r [1,0,0] from the memory 11, performs the calculation β [1,0,0] = g r [ 1,0,0 ] ∈G, and the calculation result β [1,0,0] is stored in the memory 11 (step S16). Here, four sets of α [0,0,0], β [0,0,0], α [1,0,0], β [1,0,0] generated in steps S13 to S16 Is expressed as block information RB [0,0] = (α [0,0,0], β [0,0,0], α [1,0,0], β [1,0,0]) .

また、第5演算部15fが、メモリ11からy[1]とy[2]とe[0,1]とr[0,1,0]とを読み込み、演算α[0,1,0]=y[1](e[0,1]+1)・r[0,1,0]・y[2]r[0,1,0]∈Gを行い、その演算結果α[0,1,0]をメモリ11に格納する(ステップS17)。また、第6演算部15gが、メモリ11からr[0,1,0]を読み込み、演算β[0,1,0]=gr[0,1,0]∈Gを行い、その演算結果β[0,1,0]をメモリ11に格納する(ステップS18)。また、第7演算部15hが、メモリ11からy[1]とy[2]とr[1,1,0]とを読み込み、演算α[1,1,0]=(y[1]・y[2])r[1,1,0]∈Gを行い、その演算結果α[1,1,0]をメモリ11に格納する(ステップS19)。さらに、第8演算部15iが、メモリ11からr[1,1,0]を読み込み、演算β[1,1,0]=gr[1,1,0]∈Gを行い、その演算結果β[1,1,0]をメモリ11に格納する(ステップS20)。ここで、ステップS17〜S20で生成されたα[0,1,0],β[0,1,0],α[1,1,0],β[1,1,0]の4つ組をブロック情報RB[1,0]=(α[0,1,0],β[0,1,0],α[1,1,0],β[1,1,0])と表現する。 Further, the fifth calculation unit 15f reads y [1], y [2], e [0,1], and r [0,1,0] from the memory 11, and calculates α [0,1,0]. = y [1] (e [0,1] +1) · r [0,1,0] · y [2] r [0,1,0] ∈ G and the result α [0,1 , 0] is stored in the memory 11 (step S17). In addition, the sixth operation unit 15g reads r [0,1,0] from the memory 11, performs the operation β [0,1,0] = g r [0,1,0] ∈G, and the operation result β [0,1,0] is stored in the memory 11 (step S18). Further, the seventh calculation unit 15h reads y [1], y [2], and r [1,1,0] from the memory 11, and calculates α [1,1,0] = (y [1] · y [2]) r [1,1,0] εG is performed, and the calculation result α [1,1,0] is stored in the memory 11 (step S19). Further, the eighth operation unit 15i reads r [1,1,0] from the memory 11, performs the operation β [1,1,0] = g r [1,1,0] ∈G, and the operation result β [1,1,0] is stored in the memory 11 (step S20). Here, four sets of α [0,1,0], β [0,1,0], α [1,1,0], β [1,1,0] generated in steps S17 to S20. Is expressed as block information RB [1,0] = (α [0,1,0], β [0,1,0], α [1,1,0], β [1,1,0]) .

また、第9演算部15jが、m=2,...,n-1のそれぞれについて、メモリ11からy[1],...,y[m-1]とy[m]とy[m+1]とr[0,m,0]とe[m-1,m]とを読み込み、演算α[0,m,0]=(y[1]・...・y[m-1])r[0,m,0]・y[m](e[m-1,m]+1)・r[0,m,0]・y[m+1]r[0,m,0]∈Gを行い、それらの演算結果α[0,m,0]をメモリ11に格納する(ステップS21)。また、第10演算部15kが、メモリ11からr[0,m,0]を読み込み、m=2,...,n-1のそれぞれについて、演算β[0,m,0]=gr[0,m,0]∈Gを行い、それらの演算結果β[0,m,0]をメモリ11に格納する(ステップS22)。また、第11演算部15mが、m=2,...,n-1のそれぞれについて、メモリ11からy[1],...,y[m-1],y[m],y[m+1]とr[1,m,0]とを読み込み、演算α[1,m,0]=(y[1]・...・y[m-1]・y[m]・y[m+1])r[1,m,0]∈Gを行い、その演算結果α[1,m,0]をメモリ11に格納する(ステップS23)。さらに、第12演算部15nが、m=2,...,n-1のそれぞれについて、メモリ11からr[1,m,0]を読み込み、演算β[1,m,0]=gr[1,m,0]∈Gを行い、それらの演算結果β[1,m,0]をメモリ11に格納する(ステップS24)。ここで、ステップS21〜S24で生成された各mについてのα[0,m,0],β[0,m,0],α[1,m,0],β[1,m,0]の4つ組をブロック情報RB[m,0]=(α[0,m,0],β[0,m,0],α[1,m,0],β[1,m,0]) (m=2,...,n-1)と表現する。なお、ブロック情報RB[j,0](j=0,...,n-1)は、匿名通信において返信経路を特定するための情報となる。 In addition, the ninth arithmetic unit 15j reads y [1], ..., y [m-1], y [m], and y [from memory 11 for each of m = 2, ..., n-1. Read m + 1], r [0, m, 0] and e [m-1, m], and calculate α [0, m, 0] = (y [1] ...... y [m- 1]) r [0, m, 0]・ y [m] (e [m-1, m] +1) ・ r [0, m, 0]・ y [m + 1] r [0, m, 0] εG is performed, and the calculation result α [0, m, 0] is stored in the memory 11 (step S21). In addition, the tenth calculation unit 15k reads r [0, m, 0] from the memory 11, and calculates β [0, m, 0] = g r for each of m = 2 ,. [0, m, 0] ∈ G is performed, and the calculation result β [0, m, 0] is stored in the memory 11 (step S22). In addition, the eleventh arithmetic unit 15m reads out y [1],..., Y [m-1], y [m], y [from the memory 11 for each of m = 2,. m + 1] and r [1, m, 0] are read and the operation α [1, m, 0] = (y [1] ・ ... ・ y [m-1] ・ y [m] ・ y [m + 1]) r [1, m, 0] ∈ G is performed, and the calculation result α [1, m, 0] is stored in the memory 11 (step S23). Further, the twelfth calculation unit 15n reads r [1, m, 0] from the memory 11 for each of m = 2,..., N−1, and calculates β [1, m, 0] = g r. [1, m, 0] ∈ G is performed, and the calculation result β [1, m, 0] is stored in the memory 11 (step S24). Here, α [0, m, 0], β [0, m, 0], α [1, m, 0], β [1, m, 0] for each m generated in steps S21 to S24. The block information RB [m, 0] = (α [0, m, 0], β [0, m, 0], α [1, m, 0], β [1, m, 0] ) (m = 2, ..., n-1) Note that the block information RB [j, 0] (j = 0,..., N−1) is information for specifying a return path in anonymous communication.

また、第13演算部15pが、メモリ11からr[0,*,0]を読み込み、演算α[0,*,0]=y[0]r[0,*,0]∈Gを行い、その演算結果α[0,*,0]をメモリ11に格納する(ステップS25)。さらに、第14演算部15qが、メモリ11からr[0,*,0]を読み込み、演算β[0,*,0]=gr[0,*,0]∈Gを行い、その演算結果β[0,*,0]をメモリ11に格納する(ステップS26)。ここで、ステップS25,S26で生成されたα[0,*,0],β[0,*,0]の組を返信内容格納用情報RB[*,0]=(α[0,*,0],β[0,*,0])と表現する。なお、返信内容格納用情報RB[*,0]は、返信内容を暗号化するための情報となる。 Further, the thirteenth operation unit 15p reads r [0, *, 0] from the memory 11, performs the operation α [0, *, 0] = y [0] r [0, *, 0] ∈G, The calculation result α [0, *, 0] is stored in the memory 11 (step S25). Further, the fourteenth operation unit 15q reads r [0, *, 0] from the memory 11, performs the operation β [0, *, 0] = g r [0, *, 0] εG, and the operation result β [0, *, 0] is stored in the memory 11 (step S26). Here, a set of α [0, *, 0] and β [0, *, 0] generated in steps S25 and S26 is used as reply content storage information RB [*, 0] = (α [0, *, 0], β [0, *, 0]). Note that the reply content storage information RB [*, 0] is information for encrypting the reply content.

また、ダミーブロック情報生成部15rが、巡回群Gの4個の元の組G[1,d,0],G[2,d,0],G[3,d,0],G[4,d,0]∈Gをランダムに選択し、それらをメモリ11に格納する処理をD回(D≧1)行う(ステップS27)。これによって生成された各dについてのG[1,d,0],G[2,d,0],G[3,d,0],G[4,d,0]の4つ組を、それぞれダミーのブロック情報DB[d,0]=(G[1,d,0],G[2,d,0],G[3,d,0],G[4,d,0])(d=1,...,D)と表現する。なお、ダミーのブロック情報DB[d,0]は、返信経路情報の長さから返信通信経路が推測されることを防止する役割を果たす。   In addition, the dummy block information generation unit 15r generates four original sets G [1, d, 0], G [2, d, 0], G [3, d, 0], G [4 , d, 0] εG are randomly selected and stored in the memory 11 D times (D ≧ 1) (step S27). The four sets of G [1, d, 0], G [2, d, 0], G [3, d, 0], G [4, d, 0] for each d generated by Dummy block information DB [d, 0] = (G [1, d, 0], G [2, d, 0], G [3, d, 0], G [4, d, 0]) ( d = 1, ..., D). The dummy block information DB [d, 0] plays a role of preventing the return communication path from being estimated from the length of the return path information.

次に、返信経路情報生成部15sが、ステップS13〜S24で生成されたn個のブロック情報RB[0,0],...,RB[n-1,0]と、ステップS27で生成されたD個のダミーのブロック情報DB[1,0],..., DB[D,0]とをメモリ11から読み込む。そして、返信経路情報生成部15sは、各ブロック情報RB[0,0],...,RB[n-1,0], DB[1,0],..., DB[D,0]それぞれの4つ組の配列順序を維持しつつ、ブロック情報間の配列順序をランダムに並び替えたブロック情報列を生成し、それにステップS25,S26で生成された返信内容格納用情報RB[*,0]=(α[0,*,0],β[0,*,0])を特定の位置(例えば、先頭位置)に付加した返信経路情報RI[0]=(RB[j,0],DB[d,0],RB[*,0]) (j=0,...,n-1)を生成し、メモリ11に格納する(ステップS28)。   Next, the reply path information generation unit 15s generates the n pieces of block information RB [0,0],..., RB [n−1,0] generated in steps S13 to S24 and in step S27. D dummy block information DB [1,0],..., DB [D, 0] are read from the memory 11. Then, the reply path information generation unit 15s performs block information RB [0,0], ..., RB [n-1,0], DB [1,0], ..., DB [D, 0] While maintaining the arrangement order of each of the four sets, a block information sequence in which the arrangement order between the block information is randomly rearranged is generated, and the reply content storage information RB [*, Reply route information RI [0] = (RB [j, 0] with 0] = (α [0, *, 0], β [0, *, 0]) added to a specific position (for example, head position) , DB [d, 0], RB [*, 0]) (j = 0,..., N−1) are generated and stored in the memory 11 (step S28).

ここで、このように生成された返信経路情報RI[0]は、どの位置の情報がどのブロックRB[j,0]であり、どの位置の情報がブロックDB[d,0]であるかを示す情報を含まない。また、他の通信装置はそれらの情報を保持していない。これにより、返信経路情報RI[0]から通信経路が推測される危険性を低減できる。一方、返信内容格納用情報RB[*,0]は返信経路情報RI[0]の特定の位置に付加されるため、他の通信装置は返信経路情報RI[0]から返信内容格納用情報RB[*,0]を抽出することはできる。また、返信経路情報RI[0]は、各ブロック情報RB[0,0],...,RB[n-1,0], DB[1,0],..., DB[D,0]ぞれぞれの4つ組の配列順序を維持しているため、他の通信装置は、ブロック情報間の区切りと、ブロック情報を構成する4つの要素間の区切り及びそれらの配列順序とを知ることはできる。   Here, the reply route information RI [0] generated in this way indicates which block information is which block RB [j, 0] and which position information is block DB [d, 0]. Does not include information to indicate. Other communication devices do not hold such information. Thereby, it is possible to reduce the risk that the communication path is estimated from the reply path information RI [0]. On the other hand, since the reply content storage information RB [*, 0] is added to a specific position of the reply route information RI [0], the other communication devices can return the reply content storage information RB from the reply route information RI [0]. [*, 0] can be extracted. Also, the reply route information RI [0] includes block information RB [0,0], ..., RB [n-1,0], DB [1,0], ..., DB [D, 0 ] Since the arrangement order of each quadruple is maintained, the other communication devices determine the division between the block information, the division between the four elements constituting the block information, and the arrangement order thereof. I can know.

次に、送信部13aが、メモリ11から返信経路情報RI[0]を読み込み、返信経路情報RI[0]を通信装置(v[1])20‐1に送信する(ステップS29)。なお、返信経路情報RI[0]は、メッセージ等に付加され、オニオンルーティング等の周知の匿名通信方式を利用して送信される。以下では、返信経路情報RI[0]の送信に利用される周知の匿名通信方式の説明を省略し、返信経路情報に関する本形態独自の処理のみを説明する。また、「情報を通信装置に送信する」とは、中継装置を介さずに情報を当該通信装置に送信する処理の他、何らかの中継装置を経由して情報を当該通信装置に送信する処理をも含む概念である。   Next, the transmission unit 13a reads the reply path information RI [0] from the memory 11, and transmits the reply path information RI [0] to the communication device (v [1]) 20-1 (step S29). The reply route information RI [0] is added to a message or the like and transmitted using a known anonymous communication method such as onion routing. In the following, description of a known anonymous communication method used for transmission of the reply route information RI [0] will be omitted, and only the processing unique to this embodiment relating to the reply route information will be explained. “Sending information to a communication device” includes processing to send information to the communication device via some relay device in addition to processing to send information to the communication device without going through the relay device. It is a concept that includes.

[送信受信処理]
次に、通信装置v[u-1](u=1,...,n)から送信された返信経路情報RI[u-1]を受信した通信装置(v[u])20‐uが行う送信受信処理を説明する。
[Transmission and reception processing]
Next, the communication device (v [u]) 20-u that has received the reply path information RI [u-1] transmitted from the communication device v [u-1] (u = 1,..., N) A transmission / reception process to be performed will be described.

図8及び図9は、本形態の送信開始処理を説明するためのフローチャートである。以下、この図に従って、本形態の送信開始処理を説明する。   8 and 9 are flowcharts for explaining the transmission start processing of this embodiment. The transmission start process according to this embodiment will be described below with reference to this figure.

まず、通信装置v[u-1](u=1,...,n)から送信された返信経路情報RI[u-1]=(RB[j,u-1],DB[d,u-1],RB[*,u-1]) (j=0,...,n-1)が、通信装置(v[u])20‐u(図3)の受信部23b‐uで受信され、メモリ21‐uに格納される(ステップS31)。なお、RI[u-1]=(RB[j,u-1],DB[d,u-1],RB[*,u-1])は、通信装置v[u-1](u=1,...,n)で更新(u=1のときには生成)された返信経路情報を意味する。また、RB[j,u-1]=(α[0,j,u-1],β[0,j,u-1],α[1,j,u-1],β[1,j,u-1]) (j=0,...,n-1)と表現し、DB[d,u-1]=(G[1,d,u-1],G[2,d,u-1],G[3,d,u-1],G[4,d, u-1])(d=1,...,D)と表現し、RB[*,u-1]=(α[0,*,u-1],β[0,*,u-1])と表現する。また、ステップS31で受信される返信経路情報RI[u-1]は、u=1の場合には通信装置(v[0])10から送信された返信経路情報RI[0]であり、u≧2場合には、返信経路情報RI[0]が、v[1],...,v[u-1]の順序で、通信装置(v[1],...,v[u-1])20‐1〜(u−1)で更新され、通信装置(v[u-1])20‐(u−1)から送信された返信経路情報RI[u-1]である。   First, the reply path information RI [u-1] = (RB [j, u-1], DB [d, u] transmitted from the communication device v [u-1] (u = 1, ..., n) -1], RB [*, u-1]) (j = 0, ..., n-1) is received by the receiving unit 23b-u of the communication device (v [u]) 20-u (FIG. 3). Received and stored in the memory 21-u (step S31). Note that RI [u-1] = (RB [j, u-1], DB [d, u-1], RB [*, u-1]) is the communication device v [u-1] (u = 1, ..., n) means the reply route information updated (generated when u = 1). Also, RB [j, u-1] = (α [0, j, u-1], β [0, j, u-1], α [1, j, u-1], β [1, j , u-1]) (j = 0, ..., n-1) and DB [d, u-1] = (G [1, d, u-1], G [2, d, u-1], G [3, d, u-1], G [4, d, u-1]) (d = 1, ..., D) and RB [*, u-1] = (α [0, *, u-1], β [0, *, u-1]). The reply path information RI [u-1] received in step S31 is the reply path information RI [0] transmitted from the communication device (v [0]) 10 when u = 1, and u When ≧ 2, the reply route information RI [0] is in the order of v [1], ..., v [u-1] and the communication devices (v [1], ..., v [u- 1]) Reply route information RI [u-1] updated from 20-1 to (u-1) and transmitted from the communication device (v [u-1]) 20- (u-1).

次に、ブロック情報選択部25a‐uが、メモリ21‐uに格納された秘密鍵x[u]を用い、メモリ21‐uに格納された返信経路情報RI[u-1]が具備するブロック情報から、α[1,j,u-1]=β[1,j,u-1]x[u]∈Gを満たすブロック情報を選択し、それをブロック情報RB[+,u-1]とする(ステップS32)。このブロック情報RB[+,u-1]を特定する情報Inf(RB[+,u-1])はメモリ21‐uに格納される。なお、通信装置(v[u])20‐uは、ブロック情報RB[0,u-1],...,RB[n-1,u-1]とダミーのDB[1,u-1],...,DB[D,u-1]とを区別できない。そのため、ブロック情報選択部25a‐uは、返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]以外の各ブロック情報について、その3番目の要素をα[1,j,u-1]とし、4番目の要素をβ[1,j,u-1]としてα[1,j,u-1]=β[1,j,u-1]x[u]∈Gを満たすか否かを検証し、これを満たすブロック情報RB[+,u-1]を検索する。 Next, the block included in the reply path information RI [u-1] stored in the memory 21-u by the block information selection unit 25a-u using the secret key x [u] stored in the memory 21-u. From the information, block information satisfying α [1, j, u-1] = β [1, j, u-1] x [u] ∈G is selected, and the block information RB [+, u-1] is selected. (Step S32). Information Inf (RB [+, u-1]) specifying the block information RB [+, u-1] is stored in the memory 21-u. The communication device (v [u]) 20-u includes block information RB [0, u-1], ..., RB [n-1, u-1] and a dummy DB [1, u-1 ], ..., DB [D, u-1] cannot be distinguished. Therefore, the block information selection unit 25a-u sets the third element of each block information other than the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] as α [1, j, u-1], the fourth element is β [1, j, u-1] and α [1, j, u-1] = β [1, j, u-1] x [ It is verified whether or not u] ∈ G is satisfied, and block information RB [+, u−1] that satisfies this is searched.

次に、第1ブロック情報更新部25b‐uが、メモリ21‐uから情報Inf(RB[+,u-1])を読み込み、メモリ21‐uに格納された返信経路情報RI[u-1]からブロック情報RB[+,u-1]を特定し、特定したブロック情報RB[+,u-1]のα[0,j,u-1]に対して演算α[0,j,u-1]/β[0,j,u-1]2・x[u]∈Gを行い、その演算結果をブロック情報RB[+,u-1]の新たなα[0,j,u-1]としてブロック情報RB[+,u-1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u-1]を更新する(ステップS33)。 Next, the first block information update unit 25b-u reads the information Inf (RB [+, u-1]) from the memory 21-u, and returns the reply path information RI [u-1] stored in the memory 21-u. ] Identifies block information RB [+, u-1], and calculates α [0, j, u for α [0, j, u-1] of the identified block information RB [+, u-1] -1] / β [0, j, u-1] 2 · x [u] ∈ G, and the operation result is converted into a new α [0, j, u- The block information RB [+, u-1] is updated as 1], thereby updating the reply path information RI [u-1] stored in the memory 21-u (step S33).

次に、制御部24‐uが、当該通信装置(v[u])20‐uが返信を行うか否かを判断する(ステップS34)。なお、通信装置(v[u])20‐uが返信を行う場合としては、例えば、u=nである場合や、通信装置(v[u+1])20‐(u+1)が故障しており、通信エラー情報を通信装置(v[0])10に返信する必要がある場合等を例示できる。   Next, the control unit 24-u determines whether or not the communication device (v [u]) 20-u sends a reply (step S34). Note that the case where the communication device (v [u]) 20-u sends a reply is, for example, when u = n or when the communication device (v [u + 1]) 20- (u + 1) breaks down. For example, the communication error information needs to be returned to the communication device (v [0]) 10.

ここで、通信装置(v[u])20‐uが返信を行うと判断された場合には、後述の通信装置v[u]の返信開始処理が実行される。   Here, when it is determined that the communication device (v [u]) 20-u sends a reply, a reply start process of the communication device v [u] described later is executed.

一方、通信装置(v[u])20‐uが返信を行わないと判断された場合には、まず、第2ブロック情報更新部25c‐uが、メモリ21‐uから情報Inf(RB[+,u-1])を読み込み、メモリ21‐uに格納された返信経路情報RI[u-1]からブロック情報RB[+,u-1]を特定する。そして、第2ブロック情報更新部25c‐uは、ブロック情報RB[+,u-1]を除く返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[0,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[0,j,u-1]/β[0,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新する。なお、第2ブロック情報更新部25c‐uは、ブロック情報RB[0,u-1],...,RB[n-1,u-1]とブロック情報DB[1,u-1],...,DB[D,u-1]とを区別できないため、返信経路情報RI[u-1]が具備するすべてのブロック情報DB[1,u-1],...,DB[D,u-1]の各G[1,d,u-1],G[2,d,u-1]に対してもそれぞれ演算G[1,d,u-1]=G[1,d,u-1]/G[2,d,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各G[1,d,u-1]として当該ブロック情報DB[1,u-1],...,DB[D,u-1]を更新する。これらにより、メモリ21‐uに格納された返信経路情報RI[u-1]が更新される(ステップS35)。 On the other hand, if it is determined that the communication device (v [u]) 20-u does not send a reply, first, the second block information update unit 25c-u reads information Inf (RB [+] from the memory 21-u. , u-1]), and the block information RB [+, u-1] is specified from the reply path information RI [u-1] stored in the memory 21-u. Then, the second block information updating unit 25c-u receives the block information RB [0, u-1],... Included in the reply path information RI [u-1] excluding the block information RB [+, u-1]. ., RB [n-1, u-1] α [0, j, u-1], β [0, j, u-1] / β [0, j, u-1] x [u] ∈ G, and each of these calculation results is regarded as each new α [0, j, u-1] and the block information RB [0, u− 1], ..., RB [n-1, u-1] are updated. The second block information updating unit 25c-u is configured to block information RB [0, u-1], ..., RB [n-1, u-1] and block information DB [1, u-1], ..., DB [D, u-1] cannot be distinguished from each other, and all block information DB [1, u-1], ..., DB [D included in the reply path information RI [u-1] , u-1] for G [1, d, u-1] and G [2, d, u-1], respectively, G [1, d, u-1] = G [1, d , u-1] / G [2, d, u-1] x [u] ∈ G, and each of these operation results is regarded as a new G [1, d, u-1] Update [1, u-1], ..., DB [D, u-1]. As a result, the reply path information RI [u-1] stored in the memory 21-u is updated (step S35).

さらに、第3ブロック情報更新部25d‐uが、メモリ21‐uから情報Inf(RB[+,u-1])を読み込み、メモリ21‐uに格納された返信経路情報RI[u-1]からブロック情報RB[+,u-1]を特定する。そして、第3ブロック情報更新部25d‐uは、ブロック情報RB[+,u-1]を除く返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[1,j,u-1],β[1,j,u-1]に対してそれぞれ演算α[1,j,u-1]/β[1,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[1,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新する。なお、第3ブロック情報更新部25d‐uは、ブロック情報RB[0,u-1],...,RB[n-1,u-1]とブロック情報DB[1,u-1],...,DB[D,u-1]とを区別できないため、返信経路情報RI[u-1]が具備するすべてのブロック情報DB[1,u-1],...,DB[D,u-1]の各G[3,d,u-1],G[4,d,u-1]に対してもそれぞれ演算G[3,d,u-1]=G[3,d,u-1]/G[4,d,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各G[3,d,u-1]として当該ブロック情報DB[1,u-1],...,DB[D,u-1]を更新する。これらにより、メモリ21‐uに格納された返信経路情報RI[u-1]が更新される(ステップS36)。 Further, the third block information updating unit 25d-u reads the information Inf (RB [+, u-1]) from the memory 21-u and returns the reply path information RI [u-1] stored in the memory 21-u. Block information RB [+, u-1] is specified. Then, the third block information update unit 25d-u includes the block information RB [0, u-1],... Included in the reply path information RI [u-1] excluding the block information RB [+, u-1]. ., RB [n-1, u-1] α [1, j, u-1], β [1, j, u-1] / β [1, j, u-1] x [u] ∈ G, and each of these operation results is regarded as each new α [1, j, u-1] and the block information RB [0, u− 1], ..., RB [n-1, u-1] are updated. The third block information update unit 25d-u is configured to block information RB [0, u-1], ..., RB [n-1, u-1] and block information DB [1, u-1], ..., DB [D, u-1] cannot be distinguished from each other, and all block information DB [1, u-1], ..., DB [D included in the reply path information RI [u-1] , u-1] for G [3, d, u-1] and G [4, d, u-1], respectively, G [3, d, u-1] = G [3, d , u-1] / G [4, d, u-1] x [u] ∈ G, and each of these operation results is regarded as a new G [3, d, u-1] Update [1, u-1], ..., DB [D, u-1]. As a result, the reply route information RI [u-1] stored in the memory 21-u is updated (step S36).

その後、任意値設定部25e‐uが、n個の通信装置v[j](j=1,...,n-1)にそれぞれ対応するr1[0,j,u],r1[1,j,u],r1[0,*,u]∈Zqをランダムに選択し、それらをメモリ21‐uに格納する(ステップS37)。 After that, the arbitrary value setting unit 25e-u receives r1 [0, j, u], r1 [1, corresponding to n communication devices v [j] (j = 1,..., N−1), respectively. j, u], r1 [0, *, u] εZ q are selected at random and stored in the memory 21-u (step S37).

次に、ランダム化部25f‐uが、メモリ21‐uに格納された返信経路情報RI[u-1]の各要素を
α[0,j,u-1]=α[0,j,u-1]r1[0,j,u]∈G, G[1,d,u-1]=G[1,d,u-1]r1[0,j,u]∈G
β[0,j,u-1]=β[0,j,u-1]r1[0,j,u]∈G, G[2,d,u-1]=G[2,d,u-1]r1[0,j,u]∈G
α[1,j,u-1]=α[1,j,u-1]r1[1,j,u]∈G, G[3,d,u-1]=G[3,d,u-1]r1[1,j,u]∈G
β[1,j,u-1]=β[1,j,u-1]r1[1,j,u]∈G, G[4,d,u-1]=G[4,d,u-1]r1[1,j,u]∈G
によって更新する(ステップS38)。
Next, the randomizing unit 25f-u converts each element of the reply path information RI [u-1] stored in the memory 21-u to α [0, j, u-1] = α [0, j, u -1] r1 [0, j, u] ∈G, G [1, d, u-1] = G [1, d, u-1] r1 [0, j, u] ∈G
β [0, j, u-1] = β [0, j, u-1] r1 [0, j, u] ∈G, G [2, d, u-1] = G [2, d, u -1] r1 [0, j, u] ∈G
α [1, j, u-1] = α [1, j, u-1] r1 [1, j, u] ∈G, G [3, d, u-1] = G [3, d, u -1] r1 [1, j, u] ∈G
β [1, j, u-1] = β [1, j, u-1] r1 [1, j, u] ∈G, G [4, d, u-1] = G [4, d, u -1] r1 [1, j, u] ∈G
(Step S38).

さらに、第6ブロック情報更新部25g‐uが、メモリ21‐uに格納された秘密鍵x[u]を用い、メモリ21‐uに格納された返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のα[0,*,u-1], β[0,*,u-1]に対して演算α[0,*,u-1]・β[0,*,u-1]x[u]∈Gを行い、その演算結果を新たなα[0,*,u-1]として当該返信内容格納用情報RB[*,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する(ステップS39)。 Furthermore, the sixth block information update unit 25g-u uses the secret key x [u] stored in the memory 21-u, and includes reply path information RI [u-1] stored in the memory 21-u. Operation α [0, *, u-1] for α [0, *, u-1], β [0, *, u-1] of reply content storage information RB [*, u-1] β [0, *, u-1] x [u] ∈ G is performed, and the result of the operation is set as a new α [0, *, u-1], and the response content storage information RB [*, u-1] Is updated accordingly, and the reply route information RI [u-1] is updated (step S39).

次に、ランダム化部25h‐uが、メモリ21‐uに格納された各情報を用いて、
α[0,*,u-1]=α[0,*,u-1]r1[0,*,u]∈G
β[0,*,u-1]=β[0,*,u-1]r1[0,*,u]∈G
の演算を行い、これらの演算結果によってメモリ21‐uに格納された返信経路情報RI[u-1]を更新する(ステップS40)。
Next, the randomizing unit 25h-u uses each information stored in the memory 21-u,
α [0, *, u-1] = α [0, *, u-1] r1 [0, *, u] ∈G
β [0, *, u-1] = β [0, *, u-1] r1 [0, *, u] ∈G
The return route information RI [u-1] stored in the memory 21-u is updated by these calculation results (step S40).

次に、順序入れ替え部25i‐uが、メモリ21‐uに格納された返信経路情報RI[u-1]を構成するRB[j,u-1],DB[d,u-1]の順序をランダムに並び替え、返信経路情報RI[u-1]を更新する(ステップS41)。   Next, the order changing unit 25i-u performs the order of RB [j, u-1] and DB [d, u-1] constituting the reply path information RI [u-1] stored in the memory 21-u. Are rearranged at random, and the reply route information RI [u-1] is updated (step S41).

そして、以上の更新がなされた返信経路情報RI[u-1]は、返信経路情報RI[u]としてメモリ21‐uに格納される。その後、返信経路情報RI[u]は送信部23a‐uに送られ、送信部23a‐uは、返信経路情報RI[u]を通信装置(v[u+1])20‐(u+1)に送信する(ステップS42)。   Then, the reply path information RI [u-1] that has been updated as described above is stored in the memory 21-u as reply path information RI [u]. After that, the reply route information RI [u] is sent to the transmitter 23a-u, and the sender 23a-u sends the reply route information RI [u] to the communication device (v [u + 1]) 20- (u + 1). ) (Step S42).

〔返信開始処理〕
次に、通信装置v[u-1](u=1,...,n)から送信された返信経路情報RI[u-1]に対して、通信装置(v[u])20‐uが返信開始処理を行う場合の処理を説明する。
[Reply start processing]
Next, the communication device (v [u]) 20-u is applied to the reply route information RI [u-1] transmitted from the communication device v [u-1] (u = 1,..., N). A process when the reply start process is performed will be described.

図10は、本形態の返信開始処理を説明するためのフローチャートである。以下、この図を用いて本形態の返信開始処理を説明する。   FIG. 10 is a flowchart for explaining the reply start process of this embodiment. Hereinafter, the reply start processing of this embodiment will be described with reference to this figure.

まず、通信装置(v[0])10(図4)の第4ブロック情報更新部26a‐uが、メモリ21‐uに格納された秘密鍵x[u]を用い、メモリ21‐uに格納された返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[0,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[0,j,u-1]・β[0,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新する。なお、第4ブロック情報更新部26a‐uは、ブロック情報RB[0,u-1],...,RB[n-1,u-1]とブロック情報DB[1,u-1],...,DB[D,u-1]とを区別できないため、返信経路情報RI[u-1]が具備するすべてのブロック情報DB[1,u-1],...,DB[D,u-1]の各G[1,d,u-1],G[2,d,u-1]に対してもそれぞれ演算G[1,d,u-1]=G[1,d,u-1]・G[2,d,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各G[1,d,u-1]として当該ブロック情報DB[1,u-1],...,DB[D,u-1]を更新する。これらにより、メモリ21‐uに格納された返信経路情報RI[u-1]が更新される(ステップS51)。 First, the fourth block information update unit 26a-u of the communication device (v [0]) 10 (FIG. 4) stores in the memory 21-u using the secret key x [u] stored in the memory 21-u. .., RB [n-1, u-1] block information RB [0, u-1],... RB [n-1, u-1] ], β [0, j, u-1] are calculated α [0, j, u-1] and β [0, j, u-1] x [u] ∈ G, respectively. The block information RB [0, u-1],..., RB [n-1, u-1] is updated with the calculation result as each new α [0, j, u-1]. The fourth block information updating unit 26a-u is configured to block information RB [0, u-1], ..., RB [n-1, u-1] and block information DB [1, u-1], ..., DB [D, u-1] cannot be distinguished from each other, and all block information DB [1, u-1], ..., DB [D included in the reply path information RI [u-1] , u-1] for G [1, d, u-1] and G [2, d, u-1], respectively, G [1, d, u-1] = G [1, d , u-1] · G [2, d, u-1] x [u] ∈G, and each of these calculation results is set as the new G [1, d, u-1] Update [1, u-1], ..., DB [D, u-1]. As a result, the reply path information RI [u-1] stored in the memory 21-u is updated (step S51).

次に、削除部26b‐uが、メモリ21‐uに格納された返信経路情報RI[u-1]が具備するブロック情報RB[j,u-1] (j=0,...,n-1)からα[1,j,u-1],β[1,j,u-1]を削除してRB[j,u-1]=(α[0,j,u-1],β[0,j,u-1])とし、ブロック情報DB[d,u-1] (d=0,...,D)からG[3,d,u-1],G[4,d,u-1]を削除してDB[d,u-1]=(G[1,d,u-1],G[2,d,u-1])とし、メモリ21‐uに格納された返信経路情報RI[u-1]を更新する(ステップS52)。なお、この更新は、返信内容格納用情報RI[u-1]から以降で使用しない情報を削除する処理である。   Next, the deletion unit 26b-u uses the block information RB [j, u-1] (j = 0,..., N) included in the reply path information RI [u-1] stored in the memory 21-u. -1) by deleting α [1, j, u-1], β [1, j, u-1] and RB [j, u-1] = (α [0, j, u-1], β [0, j, u-1]) and block information DB [d, u-1] (d = 0, ..., D) from G [3, d, u-1], G [4, d, u-1] is deleted and DB [d, u-1] = (G [1, d, u-1], G [2, d, u-1]) is stored in the memory 21-u. The returned reply route information RI [u-1] is updated (step S52). This update is a process of deleting information not used thereafter from the reply content storage information RI [u-1].

次に、任意値設定部26c‐uが、n個の通信装置v[j](j=1,...,n-1)にそれぞれ対応するr3[0,j,u]∈Zqをランダムに選択し、それをメモリ21‐uに格納する(ステップS53)。 Next, the arbitrary value setting unit 26c-u sets r3 [0, j, u] ∈Z q corresponding to each of the n communication devices v [j] (j = 1,..., N−1). A random selection is made and stored in the memory 21-u (step S53).

そして、ランダム化部26d‐uが、メモリ21‐uに格納された各要素を用い、
α[0,j,u-1]=α[0,j,u-1]r3[0,j,u]∈G, G[1,d,u-1]=G[1,d,u-1]r3[0,j,u]∈G
β[0,j,u-1]=β[0,j,u-1]r3[0,j,u]∈G, G[2,d,u-1]=G[2,d,u-1]r3[0,j,u]∈G
によってメモリ21‐uに格納された返信経路情報RI[u-1]を更新する(ステップS54)。
Then, the randomizing unit 26d-u uses each element stored in the memory 21-u,
α [0, j, u-1] = α [0, j, u-1] r3 [0, j, u] ∈G, G [1, d, u-1] = G [1, d, u -1] r3 [0, j, u] ∈G
β [0, j, u-1] = β [0, j, u-1] r3 [0, j, u] ∈G, G [2, d, u-1] = G [2, d, u -1] r3 [0, j, u] ∈G
To update the reply route information RI [u-1] stored in the memory 21-u (step S54).

次に、順序並び替え部26e‐uが、メモリ21‐uに格納された返信経路情報RI[u-1]を構成するRB[j,u-1],DB[d,u-1]の順序をランダムに並び替え、当該信経路情報RI[u-1]を更新する(ステップS55)。   Next, the order rearrangement unit 26e-u stores the RB [j, u-1], DB [d, u-1] constituting the reply route information RI [u-1] stored in the memory 21-u. The order is rearranged at random, and the communication path information RI [u-1] is updated (step S55).

次に、第1任意値設定部26f‐uが、r[0,*,u],r[1,*,u]∈Zqをランダムに設定し、設定したr[0,*,u],r[1,*,u]∈Zqをメモリ21‐uに格納する(ステップS56)。 Next, the first arbitrary value setting unit 26f-u randomly sets r [0, *, u], r [1, *, u] ∈Z q and sets r [0, *, u] , r [1, *, u] εZ q are stored in the memory 21-u (step S56).

そして、第7ブロック情報更新部26g‐uが、メモリ21‐uに格納された返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のα[0,*,u-1]に対し、メモリ21‐uに格納されたr[0,*,u]を用い、返信メッセージをM∈Gとした場合における演算M・α[0,*,u-1]r[0,*,u]∈Gを行い、その演算結果を新たなα[0,*,u-1]として当該返信内容格納用情報RB[*,u-1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u-1]を更新する(ステップS57)。なお、返信メッセージMは、入力部22‐uから入力された情報から生成されたものであってもよいし、予め定められたもの(例えば通信エラー情報等)であってもよい。 Then, the seventh block information update unit 26g-u performs α [0] of the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] stored in the memory 21-u. , *, u−1] using r [0, *, u] stored in the memory 21-u, and the operation M · α [0, *, u− 1] Perform r [0, *, u] ∈ G, update the reply content storage information RB [*, u-1] as the new α [0, *, u-1], and Thereby, the reply route information RI [u-1] stored in the memory 21-u is updated (step S57). The reply message M may be generated from information input from the input unit 22-u, or may be predetermined (for example, communication error information).

また、第8ブロック情報更新部26h‐uが、メモリ21‐uに格納された返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のβ[0,*,u-1]に対し、メモリ21‐uに格納されたr[0,*,u]を用い、演算β[0,*,u-1]r[0,*,u]∈Gを行い、その演算結果を新たなβ[0,*,u-1]として当該返信内容格納用情報RB[*,u-1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u-1]を更新する(ステップS58)。 Also, the eighth block information update unit 26h-u performs β [0] of the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] stored in the memory 21-u. , *, u-1], using r [0, *, u] stored in the memory 21-u, the operation β [0, *, u-1] r [0, *, u] ∈G And the reply content storage information RB [*, u-1] is updated with the calculation result as a new β [0, *, u-1], and the reply path stored in the memory 21-u is thereby updated. Information RI [u-1] is updated (step S58).

次に、第10ブロック情報更新部26i‐uが、メモリ21‐uに格納された返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のα[0,*,u-1]に対し、メモリ21‐uに格納されたr[1,*,u]を用い、演算α[1,*,u-1]=α[0,*,u-1]r[1,*,u]∈Gを行い、その演算結果α[1,*,u-1]を当該返信内容格納用情報RB[*,u-1]の要素として追加し、それによってメモリ21‐uに格納された返信経路情報RI[u-1]を更新する(ステップS59)。 Next, the tenth block information update unit 26i-u performs α [[of the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] stored in the memory 21-u. For 0, *, u−1], r [1, *, u] stored in the memory 21-u is used, and the operation α [1, *, u-1] = α [0, *, u− 1] Perform r [1, *, u] ∈ G, add the operation result α [1, *, u-1] as an element of the reply content storage information RB [*, u-1], and To update the reply route information RI [u-1] stored in the memory 21-u (step S59).

また、第11ブロック情報更新部26j‐uが、メモリ21‐uに格納された返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のβ[0,*,u-1]に対し、メモリ21‐uに格納されたr[1,*,u]を用い、演算β[1,*,u-1]=β[0,*,u-1]r[1,*,u]∈Gを行い、その演算結果β[1,*,u-1]を当該返信内容格納用情報RB[*,u-1]の要素として追加し、それによってメモリ21‐uに格納された返信経路情報RI[u-1]を更新する(ステップS60)。 Further, the eleventh block information update unit 26j-u performs β [0] of the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] stored in the memory 21-u. , *, u-1], using r [1, *, u] stored in the memory 21-u, the operation β [1, *, u-1] = β [0, *, u-1 ] Perform r [1, *, u] ∈ G and add the calculation result β [1, *, u-1] as an element of the reply content storage information RB [*, u-1]. The reply route information RI [u-1] stored in the memory 21-u is updated (step S60).

そして、以上の更新がなされた返信経路情報RI[u-1]は、返信経路情報RI[u]としてメモリ21‐uに格納される。その後、返信経路情報RI[u]は送信部23a‐uに送られ、送信部23a‐uは、返信経路情報RI[u]を通信装置(v[u-1])20‐(u‐1)に送信する(ステップS61)。   Then, the reply path information RI [u-1] that has been updated as described above is stored in the memory 21-u as reply path information RI [u]. Thereafter, the reply path information RI [u] is sent to the transmitter 23a-u, and the sender 23a-u sends the reply path information RI [u] to the communication device (v [u-1]) 20- (u-1). ) (Step S61).

〔通信装置v[u+1](1≦u≦n-1)の返信受信処理〕
次に、通信装置v[u+1](1≦u≦n-1)から返信された返信経路情報RI[u+1] に対して、通信装置(v[u])20‐u(1≦u≦n-1)が返信受信処理を行う場合の処理を説明する。
[Reply receiving process of communication device v [u + 1] (1≤u≤n-1)]
Next, the communication device (v [u]) 20-u (1) is returned to the reply path information RI [u + 1] returned from the communication device v [u + 1] (1 ≦ u ≦ n−1). ≦ u ≦ n−1) will be described when the reply reception process is performed.

まず、通信装置(v[u])20‐u(図5)の受信部22‐uが、通信装置(v[u+1])20‐(u+1)から返信された返信経路情報RI[u+1]を受信し、メモリ21‐uに格納する(ステップS71)。   First, the receiving unit 22-u of the communication device (v [u]) 20-u (FIG. 5) returns the reply path information RI [u] returned from the communication device (v [u + 1]) 20- (u + 1). +1] is received and stored in the memory 21-u (step S71).

なお、1≦u≦n-2の場合、ステップS71で受信される返信経路情報RI[u+1]は、通信装置(v[0])10から送信された返信経路情報RI[0]が、v[1],...,v[c](cはu+1≦c≦n-1の整数)の順序で、通信装置(v[1],...,v[c])20‐1〜cで更新され、返信を行う通信装置(v[c+1])20‐(c+1)に送信され、通信装置(v[c+1])20‐(c+1)で更新され、通信装置v[c]に返信され、v[c],...,v[u+1]の順序で、通信装置(v[c],...,v[u+1])20‐c〜(u+1)で更新され、通信装置(v[u+1])20‐(u+1)から返信された返信経路情報RI[u+1]である。   When 1 ≦ u ≦ n−2, the reply path information RI [u + 1] received in step S71 is the reply path information RI [0] transmitted from the communication device (v [0]) 10. , V [1], ..., v [c] (c is an integer of u + 1≤c≤n-1) in the order of communication devices (v [1], ..., v [c]) Updated at 20-1 to c, transmitted to the communication device (v [c + 1]) 20-(c + 1) performing the reply, updated at the communication device (v [c + 1]) 20-(c + 1), It is returned to the communication device v [c], and in the order of v [c], ..., v [u + 1], the communication device (v [c], ..., v [u + 1]) 20- The reply route information RI [u + 1] updated from c to (u + 1) and returned from the communication device (v [u + 1]) 20- (u + 1).

また、u=n-1の場合、ステップS71で受信される返信経路情報RI[u+1]は、通信装置(v[0])10から送信された返信経路情報RI[0]が、v[1],...,v[n-1]の順序で、通信装置(v[1],...,v[n-1])20‐1〜(n−1)で更新され、返信を行う通信装置(v[n])20‐nに送信され、通信装置(v[n])20‐nで更新され、通信装置(v[n-1])20‐(n−1)に返信された返信経路情報RI[n]である。   When u = n−1, the reply path information RI [u + 1] received in step S71 is the reply path information RI [0] transmitted from the communication device (v [0]) 10 Updated in the order of [1], ..., v [n-1] in the communication devices (v [1], ..., v [n-1]) 20-1 to (n-1), It is transmitted to the communication device (v [n]) 20-n that makes a reply, updated by the communication device (v [n]) 20-n, and the communication device (v [n-1]) 20- (n-1) Is the reply route information RI [n] replied to.

次に、判定部27a‐uが、メモリ21‐uに格納されたx[u],E(u),e[y,u]を用い、(1)メモリ21‐uに格納された返信経路情報RI[u+1]が含む何れかのブロック情報RB[j,u+1]と、何れかの通信路情報e[y,u]との組合せに対してα[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たすか、(2) メモリ21‐uに格納された返信経路情報RI[u+1]が含む何れかのブロック情報RB[j,u+1]がα[0,j,u+1]=β[0,j,u+1]x[u]・E(u)∈Gを満たすかを判定する(ステップS72)。 Next, the determination unit 27a-u uses x [u], E (u), e [y, u] stored in the memory 21-u, and (1) a reply path stored in the memory 21-u. Α [0, j, u +] for any combination of block information RB [j, u + 1] included in information RI [u + 1] and any channel information e [y, u] 1] = β [0, j, u + 1] e [y, u] εG is satisfied, or (2) the reply path information RI [u + 1] stored in the memory 21-u includes It is determined whether the block information RB [j, u + 1] satisfies α [0, j, u + 1] = β [0, j, u + 1] x [u] · E (u) ∈G ( Step S72).

ここで、u≠0の場合には(2)の条件は充足されず、(1)の条件を充足するブロック情報RB[j,u+1]と通信路情報e[y,u]との組が存在する。判定部27a‐uは、1)の条件を充足するブロック情報RB[j,u+1]と通信路情報e[y,u]とを、それぞれ
e[u-1,u]={e[y,u] |α[0,j,u+1]=β[0,j,u+1]x[u]・e[y,u]∈G}
RB[++,u+1]={RB[j,u+1] |α[0,j,u+1]=β[0,j,u+1] [u]・e[y,u]∈G}
とし、RB[++,u+1]を特定するための情報inf(RB[++,u+1])と通信路情報e[u-1,u]とをメモリ21‐uに格納する(ステップS73)。
Here, when u ≠ 0, the condition (2) is not satisfied, and the block information RB [j, u + 1] and the channel information e [y, u] satisfying the condition (1) There are pairs. The determination unit 27a-u obtains block information RB [j, u + 1] and communication path information e [y, u] that satisfy the condition 1), respectively.
e [u-1, u] = {e [y, u] | α [0, j, u + 1] = β [0, j, u + 1] x [u] · e [y, u] ∈ G}
RB [++, u + 1] = {RB [j, u + 1] | α [0, j, u + 1] = β [0, j, u + 1] [u] ・ e [y, u ] ∈G}
And information inf (RB [++, u + 1]) for specifying RB [++, u + 1] and channel information e [u-1, u] are stored in the memory 21-u. (Step S73).

次に、第5ブロック情報更新部27b‐uが、メモリ21‐uに格納された情報inf(RB[++,u+1])を用いてブロック情報RB[++,u+1]を特定し、メモリ21‐uに格納された秘密鍵x[u]を用い、ブロック情報RB[++,u+1]を除く返信経路情報RI[u+1]が含むブロック情報RB[0,u+1],...,RB[n-1,u+1]の各α[0,j,u+1]に対してそれぞれ演算α[0,j,u+1]・β[0,j,u+1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u+1],β[0,j,u+1]として当該ブロック情報RB[0,u+1],...,RB[n-1,u+1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u+1]を更新する(ステップS74)。 Next, the fifth block information update unit 27b-u uses the information inf (RB [++, u + 1]) stored in the memory 21-u to generate block information RB [++, u + 1]. Using the secret key x [u] specified and stored in the memory 21-u, the block information RB [0,0 included in the reply path information RI [u + 1] excluding the block information RB [++, u + 1] [alpha] [0, j, u + 1] · β [0 for each α [0, j, u + 1] of u + 1], ..., RB [n-1, u + 1] , j, u + 1] x [u] ∈ G, and each of these calculation results is regarded as each new α [0, j, u + 1], β [0, j, u + 1] The information RB [0, u + 1], ..., RB [n-1, u + 1] is updated, and thereby the reply route information RI [u + 1] stored in the memory 21-u is updated. (Step S74).

次に、第9ブロック情報更新部27c‐uが、メモリ21‐uに格納された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のα[0,*,u+1],β[0,*,u+1]に対し、メモリ21‐uに格納された秘密鍵x[u]を用い、演算α[0,*,u+1]/β[0,*,u+1]x[u]∈Gを行い、その演算結果を新たなα[0,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u+1]を更新する(ステップS75)。 Next, the ninth block information update unit 27c-u performs α [[of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] stored in the memory 21-u. [0, *, u + 1], β [0, *, u + 1], using the secret key x [u] stored in the memory 21-u, and the operation α [0, *, u + 1] / β [0, *, u + 1] x [u] ∈ G, the calculation result is set as a new α [0, *, u + 1], and the reply content storage information RB [*, u + 1 ], Thereby updating the reply route information RI [u + 1] stored in the memory 21-u (step S75).

また、第12ブロック情報更新部27dが、メモリ21‐uに格納された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のα[1,*,u+1],β[1,*,u+1]に対し、メモリ21‐uに格納された秘密鍵x[u]を用い、演算α[1,*,u+1]/β[1,*,u+1]x[u]∈Gを行い、その演算結果を新たなα[1,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u+1]を更新する(ステップS76)。 In addition, the twelfth block information update unit 27d receives α [1, *] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] stored in the memory 21-u. , u + 1], β [1, *, u + 1], using the secret key x [u] stored in the memory 21-u, the operation α [1, *, u + 1] / β [ 1, *, u + 1] x [u] ∈ G, and update the response content storage information RB [*, u + 1] with the result as the new α [1, *, u + 1] As a result, the reply route information RI [u + 1] stored in the memory 21-u is updated (step S76).

また、第2任意値設定部27e‐uが、r2[0,*,u],r2[1,*,u]∈Zqをランダムに選択し、選択したr2[0,*,u],r2[1,*,u]∈Zqをメモリ21‐uに格納する(ステップS77)。 Also, the second arbitrary value setting unit 27e-u randomly selects r2 [0, *, u], r2 [1, *, u] ∈Z q , and selects the selected r2 [0, *, u], r2 [1, *, u] εZ q is stored in the memory 21-u (step S77).

そして、以上のように更新されメモリ21‐uに格納された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のα[0,*,u+1],α[1,*,u+1]に対し、メモリ21‐uに格納されたr2[0,*,u]を用いて演算α[0,*,u+1]・α[1,*,u+1]r2[0,*,u]∈Gを行い、その演算結果を新たなα[0,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u+1]を更新する(ステップS78)。 Then, α [0, *, u +] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] updated as described above and stored in the memory 21-u. [1], α [1, *, u + 1] for the operation α [0, *, u + 1] · α [1 using r2 [0, *, u] stored in the memory 21-u , *, u + 1] r2 [0, *, u] ∈ G, the calculation result is set as a new α [0, *, u + 1], and the reply content storage information RB [*, u + 1 ], Thereby updating the reply route information RI [u + 1] stored in the memory 21-u (step S78).

次に、第14ブロック情報更新部27g‐uが、メモリ21‐uに格納された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のβ[0,*,u+1],β[1,*,u+1]に対し、メモリ21‐uに格納されたr2[0,*,u]を用いて演算β[0,*,u+1]・β[1,*,u+1]r2[0,*,u]∈Gを行い、その演算結果を新たなβ[0,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u+1]を更新する(ステップS79)。 Next, the fourteenth block information update unit 27g-u performs the reply content storage information RB [*, u + 1] β [[[u + 1]] included in the reply path information RI [u + 1] stored in the memory 21-u. [0, *, u + 1], β [1, *, u + 1] is calculated using r2 [0, *, u] stored in the memory 21-u, β [0, *, u + 1] · β [1, *, u + 1] r2 [0, *, u] ∈ G, and the operation result is set as a new β [0, *, u + 1], and the response content storage information RB [*, u + 1] is updated, and thereby the reply path information RI [u + 1] stored in the memory 21-u is updated (step S79).

また、第15ブロック情報更新部27h‐uが、メモリ21‐uに格納された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のα[1,*,u+1]に対し、メモリ21‐uに格納されたr2[1,*,u]を用いて演算α[1,*,u+1]r2[1,*,u]∈Gを行い、その演算結果を新たなα[1,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u+1]を更新する(ステップS80)。 In addition, the fifteenth block information updating unit 27h-u performs α [1] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] stored in the memory 21-u. , *, u + 1 ] with respect to the operation α [1, *, u + 1] r2 [1, *, u] ∈G using r2 [1, *, u] stored in the memory 21-u And the reply content storage information RB [*, u + 1] is updated with the calculation result as a new α [1, *, u + 1], and the reply path stored in the memory 21-u is thereby updated. Information RI [u + 1] is updated (step S80).

また、第16ブロック情報更新部27i‐uが、メモリ21‐uに格納された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のβ[1,*,u+1]に対し、メモリ21‐uに格納されたr2[1,*,u]を用いて演算β[1,*,u+1]r2[1,*,u]∈Gを行い、その演算結果を新たなβ[1,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによってメモリ21‐uに格納された返信経路情報RI[u+1]を更新する(ステップS81)。 Also, the sixteenth block information updating unit 27i-u performs β [1] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] stored in the memory 21-u. , *, u + 1] for the operation β [1, *, u + 1] r2 [1, *, u] ∈G using r2 [1, *, u] stored in the memory 21-u And the reply content storage information RB [*, u + 1] is updated with the calculation result as a new β [1, *, u + 1], and the reply path stored in the memory 21-u is thereby updated. Information RI [u + 1] is updated (step S81).

次に、任意値設定部27j‐uが、n個の通信装置v[j](j=1,...,n-1)にそれぞれ対応するr4[0,j,u]∈Zqをランダムに選択し、それをメモリ21‐uに格納する(ステップS82)。 Next, the arbitrary value setting unit 27j-u sets r4 [0, j, u] ∈Z q corresponding to each of the n communication devices v [j] (j = 1,..., N−1). A random selection is made and stored in the memory 21-u (step S82).

そして、ランダム化部27k‐uが、メモリ21‐uに格納された各要素を用い、
α[0,j,u+1]=α[0,j,u+1]r4[0,j,u]∈G,
G[1,d,u+1]=G[1,d,u+1]r4[0,j,u]∈G,
β[0,j,u+1]=β[0,j,u+1]r4[0,j,u]∈G,
G[2,d,u+1]=G[2,d,u+1]r4[0,j,u]∈G
によってメモリ21‐uに格納された返信経路情報RI[u+1]を更新する(ステップS83)。
Then, the randomizing unit 27k-u uses each element stored in the memory 21-u,
α [0, j, u + 1] = α [0, j, u + 1] r4 [0, j, u] ∈G,
G [1, d, u + 1] = G [1, d, u + 1] r4 [0, j, u] ∈G,
β [0, j, u + 1] = β [0, j, u + 1] r4 [0, j, u] ∈G,
G [2, d, u + 1] = G [2, d, u + 1] r4 [0, j, u] ∈G
To update the reply route information RI [u + 1] stored in the memory 21-u (step S83).

次に、順序並び替え部26e‐uが、メモリ21‐uに格納された返信経路情報RI[u+1]を構成するRB[j,u+1],DB[d,u+1]の順序をランダムに並び替え、当該信経路情報RI[u+1]を更新する(ステップS84)。   Next, the order rearranging unit 26e-u stores the RB [j, u + 1], DB [d, u + 1] constituting the reply path information RI [u + 1] stored in the memory 21-u. The order is rearranged at random, and the communication path information RI [u + 1] is updated (step S84).

そして、以上の更新がなされた返信経路情報RI[u+1]は、返信経路情報RI[u]としてメモリ21+uに格納される。その後、返信経路情報RI[u]は送信部23a‐uに送られ、送信部23a‐uは、返信経路情報RI[u]を通信装置(v[u-1])20‐(u‐1)に送信する(ステップS85)。   Then, the reply path information RI [u + 1] updated as described above is stored in the memory 21 + u as reply path information RI [u]. Thereafter, the reply path information RI [u] is sent to the transmitter 23a-u, and the sender 23a-u sends the reply path information RI [u] to the communication device (v [u-1]) 20- (u-1). ) (Step S85).

〔通信装置v[1]の返信受信処理〕
図11及び図12は、信装置v[1]から返信された返信経路情報RI[1] に対して、通信装置(v[0])10が返信受信処理を行う場合の処理を説明するためのフローチャートである。以下、これらの図を用い、通信装置v[1]から返信された返信経路情報RI[1] に対して、通信装置(v[0])10が返信受信処理を行う場合の処理を説明する。
[Reply receiving process of communication device v [1]]
FIG. 11 and FIG. 12 illustrate processing when the communication device (v [0]) 10 performs reply reception processing on the reply route information RI [1] returned from the communication device v [1]. It is a flowchart of. Hereinafter, a process when the communication device (v [0]) 10 performs a reply reception process on the reply route information RI [1] returned from the communication device v [1] will be described using these drawings. .

まず、通信装置(v[0])10(図2)の受信部13bが、通信装置(v[1])20‐1から返信された返信経路情報RI[1]を受信し、メモリ11に格納する(ステップS71)。   First, the receiving unit 13b of the communication device (v [0]) 10 (FIG. 2) receives the reply path information RI [1] returned from the communication device (v [1]) 20-1, and stores it in the memory 11. Store (step S71).

なお、ステップS71で受信される返信経路情報RI[1]は、通信装置(v[0])10から送信された返信経路情報RI[0]が、v[1],...,v[c](cはu+1≦c≦n-1の整数)の順序で、通信装置(v[1],...,v[c])20‐1〜cで更新され、返信を行う通信装置(v[c+1])20‐(c+1)に送信され、通信装置(v[c+1])20‐(c+1)で更新され、通信装置v[c]に返信され、v[c],...,v[1]の順序で、通信装置(v[c],...,v[1])20‐c〜1で更新され、通信装置(v[1])20‐1から返信された返信経路情報RI[1]である。   Note that the reply path information RI [1] received in step S71 includes the reply path information RI [0] transmitted from the communication device (v [0]) 10 as v [1],. c] (c is an integer of u + 1 ≦ c ≦ n−1), updated by the communication devices (v [1],..., v [c]) 20-1 to c, and replies Sent to the communication device (v [c + 1]) 20- (c + 1), updated by the communication device (v [c + 1]) 20- (c + 1), returned to the communication device v [c], and v [ c],..., v [1] in the order of the communication devices (v [c],..., v [1]) 20-c to 1 and the communication device (v [1]) 20 is updated. -Reply route information RI [1] returned from -1.

次に、判定部15tが、メモリ11に格納されたx[0],E(0),e[y,0]を用い、(1)メモリ11に格納された返信経路情報RI[1]が含む何れかのブロック情報RB[j,1]と、何れかの通信路情報e[y,0]との組合せに対してα[0,j, 1]=β[0,j,1]e[y,0]∈Gを満たすか、(2) メモリ11に格納された返信経路情報RI[1]が含む何れかのブロック情報RB[j,1]がα[0,j,1]=β[0,j,1]x[0]・E(u)∈Gを満たすかを判定する(ステップS72)。 Next, the determination unit 15t uses x [0], E (0), e [y, 0] stored in the memory 11, and (1) the reply path information RI [1] stored in the memory 11 is Α [0, j, 1] = β [0, j, 1] e for a combination of any block information RB [j, 1] included and any channel information e [y, 0] [y, 0] εG is satisfied, or (2) any block information RB [j, 1] included in the reply path information RI [1] stored in the memory 11 is α [0, j, 1] = It is determined whether or not β [0, j, 1] x [0] · E (u) εG is satisfied (step S72).

ここで、通信装置v[1]の場合には(1)の条件は充足されず、(2)の条件が充足される。この場合、返信メッセージ復号部15uが、メモリ11に格納された返信経路情報RI[1]が具備する返信内容格納用情報RB[*,1]のα[0,*,1],β[0,*,1]に対し、演算α[0,*,1]/β[0,*,1]x[0]∈Gを行い、その演算結果を返信メッセージM∈Gとしてメモリ11に格納する(ステップS86)。 Here, in the case of the communication device v [1], the condition (1) is not satisfied, and the condition (2) is satisfied. In this case, the reply message decrypting unit 15u performs the α [0, *, 1], β [0] of the reply content storage information RB [*, 1] included in the reply route information RI [1] stored in the memory 11. , *, 1] is calculated α [0, *, 1] / β [0, *, 1] x [0] ∈ G, and the calculation result is stored in the memory 11 as a reply message M∈G. (Step S86).

〔本形態の特徴〕
以上説明した通り、本形態の返信経路情報RI[0]の情報サイズはO(n)である。
[Features of this embodiment]
As described above, the information size of the reply route information RI [0] of the present embodiment is O (n).

また、本形態では、通信装置v[0]から送信された返信経路情報RI[0]がv[1],...,v[c]と更新され、返信開始処理を行う任意の通信装置v[c+1]に届けられる。まず、通信装置v[c+1]は、その直前の通信装置v[c]への通信路を知っているため通信装置v[c]への返信が可能である。また、以上の処理を追っていけば分かるように、通信装置v[c],...,v[1]は、それぞれステップS72の処理を行うことにより、それぞれ、次の返信先である通信装置への通信路情報を得ることができるが、当該匿名通信経路上の他の通信装置への通信路情報を得ることはできない。これは、返信経路情報を構成する各ブロック情報RBに匿名通信経路上の各通信路情報を暗号化して格納し、送信時のステップS33で次の送信先への通信路情報が暗号化されたブロック情報RB[+,u-1]に対して特殊な更新処理を行い、ステップS35,S36においてRB[+,u-1]以外の各ブロック情報RBに対して更新演算を行い、返信時のステップS74で更新復元処理を実行したことによる。つまり、上述の処理を逐一追っていけば明らかなように、このような処理を行った結果、各通信装置がステップS72でα[0,j,u+1]=β[0,j,u+1]x[u]・e[y,u]∈Gを満たすブロック情報であると検出するのは、それぞれ次の返信先の通信装置への通信路を特定する通信路情報を暗号化したブロック情報のみとなる。そして、巡回群Gでの離散対数問題が困難であり、各通信装置が他の通信装置の秘密鍵を知らないとすると、各通信装置は、自らの返信先以外の通信装置への通信路を特定する通信路情報を得ることはできない。 Further, in this embodiment, the reply route information RI [0] transmitted from the communication device v [0] is updated to v [1], ..., v [c], and any communication device that performs a reply start process Delivered to v [c + 1]. First, since the communication device v [c + 1] knows the communication path to the immediately preceding communication device v [c], it can reply to the communication device v [c]. Further, as can be understood by following the above processing, each of the communication devices v [c],..., V [1] performs the processing of step S72, thereby each communication device being the next reply destination. However, it is not possible to obtain communication path information to other communication devices on the anonymous communication path. This means that each communication path information on the anonymous communication path is encrypted and stored in each block information RB constituting the reply path information, and the communication path information to the next transmission destination is encrypted in step S33 at the time of transmission. A special update process is performed on the block information RB [+, u-1], and an update operation is performed on each block information RB other than RB [+, u-1] in steps S35 and S36. This is because the update / restoration process is executed in step S74. That is, as will be apparent if the above processing is followed step by step, as a result of performing such processing, each communication device becomes α [0, j, u + 1] = β [0, j, u + in step S72. 1] The block information that detects the block information satisfying x [u] · e [y, u] ∈ G is a block obtained by encrypting the communication path information for specifying the communication path to the next communication device of the return destination. Information only. If the discrete logarithm problem in the cyclic group G is difficult and each communication device does not know the secret key of the other communication device, each communication device establishes a communication path to a communication device other than its own reply destination. The specified communication path information cannot be obtained.

以上より、本形態では、少ない情報サイズの返信経路情報を用い、送信経路上の任意の通信装置において匿名通信による返信を行うことができる。   As described above, in this embodiment, reply path information with a small information size can be used, and a reply by anonymous communication can be performed in any communication device on the transmission path.

〔変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、本形態では、各通信装置が相互に独立である場合を例示したが、少なくとも一部の通信装置が同一の管理者に管理される構成であってもよい。
[Modifications, etc.]
The present invention is not limited to the embodiment described above. For example, in the present embodiment, the case where the respective communication devices are independent from each other is illustrated, but a configuration in which at least some of the communication devices are managed by the same administrator may be employed.

また、本形態では、各通信装置20‐uが図3〜図5に示したすべての機能構成を具備することとした。しかし、少なくとも一部の通信装置20‐uが図3〜図5に示した機能構成の一部のみを具備する構成であってもよい。例えば、送信先の通信装置v[n]が通信装置20‐nに固定されるのであれば、その通信装置20‐nは、図3及び図5に示した機能構成を具備しなくてもよい。   In this embodiment, each communication device 20-u has all the functional configurations shown in FIGS. However, at least some of the communication devices 20-u may be configured to include only a part of the functional configuration illustrated in FIGS. For example, if the destination communication device v [n] is fixed to the communication device 20-n, the communication device 20-n may not have the functional configuration shown in FIG. 3 and FIG. .

また、本形態では、通信装置10も図3〜図5のすべての機能構成を具備し、各通信装置20‐uも通信装置10の機能構成を具備することとした。しかし、通信装置10が図3〜図5の機能構成を具備しないか、それらの一部の機能構成を具備する構成であってもよい。また、各通信装置20‐uが通信装置10の機能構成を具備しないか、それらの一部の機能構成を具備してもよい。さらには、一部の通信装置20‐uのみが、通信装置10の少なくとも一部の機能構成をさらに具備する構成であってもよい。   In this embodiment, the communication device 10 also has all the functional configurations of FIGS. 3 to 5, and each communication device 20-u also has the functional configuration of the communication device 10. However, the communication apparatus 10 may not have the functional configuration of FIGS. 3 to 5 or may have a partial functional configuration. Also, each communication device 20-u may not have the functional configuration of the communication device 10, or may have a partial functional configuration. Furthermore, the configuration may be such that only some of the communication devices 20-u further include at least a part of the functional configuration of the communication device 10.

また、返信メッセージMを暗号化する必要がない場合、ステップS12でr[0,*,0]∈Zqをランダムに選択する処理、ステップS25,S26の処理、ステップ28において返信経路情報RI[0]にRB[*,0]を付加する処理、ステップS39の処理、ステップS56〜S60の処理、ステップS75〜S81の処理等の返信内容格納用情報に関する処理や、それらの処理部を省略してもよい。 If there is no need to encrypt the reply message M, the process of randomly selecting r [0, *, 0] εZ q in step S12, the process of steps S25 and S26, and the reply route information RI [ [0] is omitted, RB [*, 0] is added, processing in step S39, processing in steps S56 to S60, processing in steps S75 to S81, etc. May be.

また、安全性は低下するが、ステップS27、ステップS54、ステップS83等が具備するダミーのブロック情報に関する処理や、それらの処理部を省略してもよい。また、ステップS28、ステップS41、ステップS55、ステップS84等のブロック情報の並び替え処理や、それらの処理部を省略してもよく、ステップS37、ステップS38、ステップS40、ステップS53、ステップS54、ステップS82、ステップS83等のランダム化処理や、それらの処理部を省略してもよい。   Further, although the safety is lowered, the processes related to the dummy block information included in step S27, step S54, step S83, and the like, and their processing units may be omitted. In addition, the block information rearrangement process such as step S28, step S41, step S55, and step S84 and the processing units thereof may be omitted. Step S37, step S38, step S40, step S53, step S54, step Randomization processing such as S82 and step S83, and their processing units may be omitted.

さらに、ステップS52の処理は、返信内容格納用情報からそれ以降使用しない情報を削除する処理であるが、ステップS52の処理やその処理部を省略してもよい。   Furthermore, although the process of step S52 is a process of deleting information that will not be used thereafter from the reply content storage information, the process of step S52 and its processing unit may be omitted.

また、本形態では、匿名通信システムを構成する通信装置v[0]が返信経路情報生成装置である場合を例示したが、匿名通信システムを構成しないその他の装置(例えば、信頼できる第三者装置)が返信経路情報生成装置であってもよい。この場合、返信経路情報生成装置が返信経路情報を通信装置v[0]に送り、通信装置v[0]が当該返信経路情報を通信装置v[1]に送信する。この際、通信装置v[0]が返信経路情報をランダム化してから通信装置v[1]に送信してもよい。   Further, in this embodiment, the case where the communication device v [0] configuring the anonymous communication system is a reply path information generation device, but other devices that do not configure the anonymous communication system (for example, a reliable third party device) ) May be a reply path information generation device. In this case, the reply path information generation device sends reply path information to the communication device v [0], and the communication device v [0] sends the reply route information to the communication device v [1]. At this time, the communication device v [0] may randomize the reply path information and then transmit it to the communication device v [1].

また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   In addition, the various processes described above are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Needless to say, other modifications are possible without departing from the spirit of the present invention.

また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。   Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。   The program describing the processing contents can be recorded on a computer-readable recording medium. The computer-readable recording medium may be any medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, or a semiconductor memory. Specifically, for example, the magnetic recording device may be a hard disk device or a flexible Discs, magnetic tapes, etc. as optical discs, DVD (Digital Versatile Disc), DVD-RAM (Random Access Memory), CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), etc. As the magneto-optical recording medium, MO (Magneto-Optical disc) or the like can be used, and as the semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory) or the like can be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

本発明は、例えば、通信経路の匿名性が要求される電子投票、電子入札等の分野に利用できる。   The present invention can be used, for example, in fields such as electronic voting and electronic bidding that require anonymity of communication paths.

図1(a)は、本形体の匿名通信システムの全体構成を示した図である。図1(b)は、本形態の通信装置(v[0])のハードウェア構成を例示したブロック図である。Fig.1 (a) is the figure which showed the whole structure of the anonymous communication system of this form. FIG. 1B is a block diagram illustrating a hardware configuration of the communication apparatus (v [0]) of this embodiment. 図2は、本形態の通信装置の機能構成を示したブロック図である。FIG. 2 is a block diagram illustrating a functional configuration of the communication apparatus according to the present embodiment. 図3は、通信装置v[u-1](u=1,...,n)から送信された返信経路情報RI[u-1]の受信処理を行う本形態の通信装置(v[u])の機能構成を示したブロック図である。FIG. 3 shows a communication device (v [u-1]) that performs reception processing of the return path information RI [u-1] transmitted from the communication device v [u-1] (u = 1,..., N). ]) Is a block diagram showing a functional configuration. 図4は、通信装置v[u-1](u=1,...,n)から送信された返信経路情報RI[u-1]を用いて返信開始処理を行う本形態の通信装置(v[u])の機能構成を示したブロック図である。FIG. 4 shows a communication apparatus of this embodiment that performs a reply start process using reply path information RI [u-1] transmitted from the communication apparatus v [u-1] (u = 1,..., N). It is the block diagram which showed the function structure of v [u]). 図5は、通信装置v[u+1](0≦u≦n-1)から返信された返信経路情報RI[u-1]の受信処理を行う本形態の通信装置(v[u])(0≦u≦n-1)の機能構成を示したブロック図である。FIG. 5 shows a communication apparatus (v [u]) according to the present embodiment that performs a reception process of reply path information RI [u-1] returned from the communication apparatus v [u + 1] (0 ≦ u ≦ n−1). It is the block diagram which showed the function structure of (0 <= u <= n-1). 図6は、本形態の送信開始処理を説明するためのフローチャートである。FIG. 6 is a flowchart for explaining the transmission start processing of this embodiment. 図7は、本形態の送信開始処理を説明するためのフローチャートである。FIG. 7 is a flowchart for explaining the transmission start processing of this embodiment. 図8は、本形態の送信開始処理を説明するためのフローチャートである。FIG. 8 is a flowchart for explaining the transmission start processing of this embodiment. 図9は、本形態の送信開始処理を説明するためのフローチャートである。FIG. 9 is a flowchart for explaining the transmission start processing of this embodiment. 図10は、本形態の返信開始処理を説明するためのフローチャートである。FIG. 10 is a flowchart for explaining the reply start process of this embodiment. 図11は、送信装置v[1]から返信された返信経路情報RI[1] に対して、通信装置(v[0])が返信受信処理を行う場合の処理を説明するためのフローチャートである。FIG. 11 is a flowchart for explaining processing when the communication device (v [0]) performs reply reception processing on the reply route information RI [1] returned from the transmission device v [1]. . 図12は、送信装置v[1]から返信された返信経路情報RI[1] に対して、通信装置(v[0])が返信受信処理を行う場合の処理を説明するためのフローチャートである。FIG. 12 is a flowchart for explaining processing when the communication device (v [0]) performs return reception processing on the return route information RI [1] returned from the transmission device v [1]. .

符号の説明Explanation of symbols

1 通信システム 1 Communication system

Claims (11)

通信装置v[0]から送信された情報がv[1],...,v[n-1](n≧2)の順序で通信装置v[1],...,v[n-1]で中継されて通信装置v[n]に受信される匿名通信の返信経路情報を生成する返信経路情報生成装置であって、
通信装置v[h-1](h=1,...,n)と通信装置v[h]との間の通信路を特定するための通信路情報をe[h-1, h]とし、各通信装置v[f](f=0,...,n)に固有な固有情報をE[f]とし、Gを巡回群とし、gを巡回群Gの生成元とし、x[f]を整数である各通信装置v[f]の秘密鍵x[f]とし、y[f]を各秘密鍵x[f]にそれぞれ対応する公開鍵y[f]=gx[f]∈Gとした場合における、通信路情報e[h-1, h]と固有情報E[0]と公開鍵y[f]∈Gとが少なくとも格納されたメモリと、
少なくとも、n個の通信装置v[j](j=0,...,n-1)にそれぞれ対応する任意の整数r[0,j,0],r[1,j,0]を設定し、設定した任意の整数r[0,j,0],r[1,j,0]を出力する任意値設定手段と、
演算α[0,0,0]=y[0]E[0]・r[0,0,0]・y[1]r[0,0,0]∈Gを行い、その演算結果α[0,0,0]を出力する第1演算手段と、
演算β[0,0,0]=gr[0,0,0]∈Gを行い、その演算結果β[0,0,0]を出力する第2演算手段と、
演算α[1,0,0]=y[1]r[1,0,0]∈Gを行い、その演算結果α[1,0,0]を出力する第3演算手段と、
演算β[1,0,0]=gr[1,0,0]∈Gを行い、その演算結果β[1,0,0]を出力する第4演算手段と、
演算α[0,1,0]=y[1](e[0,1]+1)・r[0,1,0]・y[2]r[0,1,0]∈Gを行い、その演算結果α[0,1,0]を出力する第5演算手段と、
演算β[0,1,0]=gr[0,1,0]∈Gを行い、その演算結果β[0,1,0]を出力する第6演算手段と、
演算α[1,1,0]=(y[1]・y[2])r[1,1,0]∈Gを行い、その演算結果α[1,1,0]を出力する第7演算手段と、
演算β[1,1,0]=gr[1,1,0]∈Gを行い、その演算結果β[1,1,0]を出力する第8演算手段と、
m=2,...,n-1のそれぞれについて、演算α[0,m,0]=(y[1]・...・y[m-1])r[0,m,0]・y[m](e[m-1,m]+1)・r[0,m,0]・y[m+1]r[0,m,0]∈Gを行い、それらの演算結果α[0,m,0]を出力する第9演算手段と、
m=2,...,n-1のそれぞれについて、演算β[0,m,0]=gr[0,m,0]∈Gを行い、それらの演算結果β[0,m,0]を出力する第10演算手段と、
m=2,...,n-1のそれぞれについて、演算α[1,m,0]=(y[1]・...・y[m-1]・y[m]・y[m+1])r[1,m,0]∈Gを行い、その演算結果α[1,m,0]を出力する第11演算手段と、
m=2,...,n-1のそれぞれについて、演算β[1,m,0]=gr[1,m,0]∈Gを行い、それらの演算結果β[1,m,0]を出力する第12演算手段と、
4つの演算結果α[0,j,0], β[0,j,0], α[1,j,0], β[1,j,0](j=0,...,n-1)を含む情報をそれぞれブロック情報RB[j,0]とした場合における、n個のブロック情報RB[0,0],...,RB[n-1,0]を含む返信経路情報RI[0]を生成し、当該返信経路情報RI[0]を出力する返信経路情報生成手段と、
を有することを特徴とする返信経路情報生成装置。
The information transmitted from the communication device v [0] is in the order of v [1], ..., v [n-1] (n ≧ 2), and the communication devices v [1], ..., v [n- 1] is a reply path information generating device that generates reply path information for anonymous communication that is relayed in 1 and received by the communication device v [n],
The communication path information for specifying the communication path between the communication device v [h-1] (h = 1, ..., n) and the communication device v [h] is e [h-1, h]. The unique information unique to each communication device v [f] (f = 0, ..., n) is E [f], G is a cyclic group, g is a generator of the cyclic group G, and x [f ] Is a secret key x [f] of each communication device v [f] that is an integer, and y [f] is a public key y [f] = g x [f] ∈ corresponding to each secret key x [f] A memory in which at least channel information e [h-1, h], unique information E [0], and public key y [f] ∈G are stored,
Set any integer r [0, j, 0], r [1, j, 0] corresponding to at least n communication devices v [j] (j = 0, ..., n-1) And arbitrary value setting means for outputting the set arbitrary integer r [0, j, 0], r [1, j, 0],
The operation α [0,0,0] = y [0] E [0] · r [0,0,0] · y [1] r [0,0,0] ∈ G is performed and the operation result α [ First computing means for outputting 0,0,0];
Second operation means for performing an operation β [0,0,0] = g r [0,0,0] ∈G and outputting the operation result β [0,0,0];
Third operation means for performing an operation α [1,0,0] = y [1] r [ 1,0,0 ] ∈ G and outputting the operation result α [1,0,0];
Fourth operation means for performing an operation β [1,0,0] = g r [ 1,0,0 ] ∈G and outputting the operation result β [1,0,0];
Perform the operation α [0,1,0] = y [1] (e [0,1] +1) · r [0,1,0] · y [2] r [0,1,0] ∈G , Fifth calculation means for outputting the calculation result α [0,1,0],
Sixth operation means for performing an operation β [0,1,0] = g r [0,1,0] ∈ G and outputting the operation result β [0,1,0];
The operation α [1,1,0] = (y [1] · y [2]) r [1,1,0] ∈ G is performed and the operation result α [1,1,0] is output. Computing means;
An eighth operation means for performing an operation β [1,1,0] = g r [1,1,0] ∈G and outputting the operation result β [1,1,0];
For each of m = 2, ..., n-1, the operation α [0, m, 0] = (y [1] ・ ... ・ y [m-1]) r [0, m, 0]・ Y [m] (e [m-1, m] +1) ・ r [0, m, 0]・ y [m + 1] r [0, m, 0] ∈G ninth operation means for outputting α [0, m, 0];
For each of m = 2, ..., n−1, the operation β [0, m, 0] = g r [0, m, 0] ∈ G is performed and the result β [0, m, 0 10th computing means for outputting
For each of m = 2, ..., n-1, the operation α [1, m, 0] = (y [1] ・ ... ・ y [m-1] ・ y [m] ・ y [m +1]) r [1, m, 0] ∈ G, eleventh calculation means for outputting the calculation result α [1, m, 0];
For each of m = 2, ..., n−1, the operation β [1, m, 0] = g r [1, m, 0] ∈G is performed, and the result β [1, m, 0 Twelfth computing means for outputting
Four operation results α [0, j, 0], β [0, j, 0], α [1, j, 0], β [1, j, 0] (j = 0, ..., n- Return path information RI including n pieces of block information RB [0,0], ..., RB [n-1,0], where information including 1) is block information RB [j, 0], respectively. Return route information generating means for generating [0] and outputting the return route information RI [0],
A reply path information generating device characterized by comprising:
請求項1に記載の返信経路情報生成装置であって、
上記返信経路情報RI[0]を通信装置v[1]に送信する送信手段をさらに有し、
上記通信装置v[0]として機能する、
ことを特徴とする返信経路情報生成装置。
The reply path information generating device according to claim 1,
Further comprising a transmission means for transmitting the reply path information RI [0] to the communication device v [1],
Function as the communication device v [0],
A reply path information generation device characterized by the above.
請求項1又は2に記載の返信経路情報生成装置であって、
上記任意値設定手段は、さらに、任意の整数r[0,*,0]を設定し、設定した任意の整数r[0,*,0]を出力する手段であり、
演算α[0,*,0]=y[0]r[0,*,0]∈Gを行い、その演算結果α[0,*,0]を出力する第13演算手段と、
演算β[0,*,0]=gr[0,*,0]∈Gを行い、その演算結果β[0,*,0]を出力する第14演算手段と、さらに備え、
上記返信経路情報生成手段は、2つの演算結果α[0,*,0], β[0,*,0]を含む返信内容格納用情報RB[*,0]をさらに含む返信経路情報RI[0]を生成する手段である、
ことを特徴とする返信経路情報生成装置。
The reply path information generating device according to claim 1 or 2,
The arbitrary value setting means is means for further setting an arbitrary integer r [0, *, 0] and outputting the set arbitrary integer r [0, *, 0].
A thirteenth arithmetic means for performing an operation α [0, *, 0] = y [0] r [0, *, 0] ∈ G and outputting the operation result α [0, *, 0];
14th operation means for performing an operation β [0, *, 0] = g r [0, *, 0] ∈ G and outputting the operation result β [0, *, 0], and further comprising:
The reply route information generation means includes reply route information RI [[0, *, 0], reply content storage information RB [*, 0] that includes β [0, *, 0]. 0] is a means for generating
A reply path information generation device characterized by the above.
通信装置v[0]から送信された情報がv[1],...,v[n-1](n≧2)の順序で通信装置v[1],...,v[n-1]で中継されて通信装置v[n]に受信される匿名通信の何れかの通信装置v[u](u=1,...,n)として機能する通信装置であって、
少なくとも、通信装置v[y](yはu以外の整数)と通信装置v[u]との間の各通信路をそれぞれ特定するための通信路情報e[y,u]と、整数である当該通信装置v[u]の秘密鍵x[u]とを格納するメモリと、
Gを巡回群とし、巡回群Gの4つの元α[0,j,u-1], β[0,j,u-1], α[1,j,u-1], β[1,j,u-1]を含む情報をそれぞれブロック情報RB[j,u-1](j=0,...,n-1)とし、n個のブロック情報RB[0,u-1],...,RB[n-1,u-1]を含む情報を返信経路情報RI[u-1]とした場合における、通信装置v[u-1]から送信された返信経路情報RI[u-1]を受信する第1受信手段と、
上記第1受信手段で受信された上記返信経路情報RI[u-1]が具備するブロック情報から、α[1,j,u-1]=β[1,j,u-1]x[u]∈Gを満たすブロック情報を選択し、それをブロック情報RB[+,u-1]とするブロック情報選択手段と、
上記ブロック情報RB[+,u-1]のα[0,j,u-1]に対して演算α[0,j,u-1]/β[0,j,u-1]2・x[u]∈Gを行い、その演算結果を上記ブロック情報RB[+,u-1]の新たなα[0,j,u-1]としてブロック情報RB[+,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第1ブロック情報更新手段と、
通信装置v[u]が返信を行わない場合に、上記ブロック情報RB[+,u-1]を除く上記返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[0,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[0,j,u-1]/β[0,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第2ブロック情報更新手段と、
通信装置v[u]が返信を行わない場合に、上記ブロック情報RB[+,u-1]を除く上記返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[1,j,u-1],β[1,j,u-1]に対してそれぞれ演算α[1,j,u-1]/β[1,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[1,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第3ブロック情報更新手段と、
通信装置v[u]が返信を行わない場合に、少なくとも第1〜3ブロック情報更新手段で更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u+1]に送信する第1送信手段と、
通信装置v[u]が返信を行う場合に、上記返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[0,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[0,j,u-1]・β[0,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第4ブロック情報更新手段と、
通信装置v[u]が返信を行う場合に、少なくとも第4ブロック情報更新手段で更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u-1]に返信する第2送信手段と、
1≦u≦n-1である場合に、通信装置v[u+1]から返信された返信経路情報RI[u+1]を受信する第2受信手段と、
上記返信経路情報RI[u+1]が含む何れかのブロック情報RB[0,u+1],...,RB[n-1,u+1]と、何れかの通信路情報e[y,u]との組合せに対してα[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たすか否かを判定し、α[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たした通信路情報e[y,u]を通信路情報e[u-1,u]として出力する判定手段と、
上記α[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たしたブロック情報を除く上記返信経路情報RI[u+1]が含むブロック情報RB[0,u+1],...,RB[n-1,u+1]の各α[0,j,u+1],β[0,j,u+1]に対してそれぞれ演算α[0,j,u+1]・β[0,j,u+1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u+1]として当該ブロック情報RB[0,u+1],...,RB[n-1,u+1]を更新し、それによって返信経路情報RI[u+1]を更新する第5ブロック情報更新手段と、
少なくとも第5ブロック情報更新手段で更新された返信経路情報RI[u+1]を返信経路情報RI[u]として、通信路情報e[u-1,u]によって特定される通信路に対して送信する第3送信手段と、を有し、
u=1の場合、上記第1受信手段で受信される上記返信経路情報RI[u-1]は、請求項1から3の何れかに記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]であり、
u≧2場合、上記第1受信手段で受信される上記返信経路情報RI[u-1]は、請求項1から3の何れかに記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[u-1]の順序で、通信装置v[1],...,v[u-1]の少なくとも各第1〜3ブロック情報更新手段で更新され、通信装置v[u-1]から送信された返信経路情報RI[u-1]であり、
1≦u≦n-2の場合、上記第2受信手段で受信される上記返信経路情報RI[u+1]は、請求項1から3の何れかに記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[c](cはu+1≦c≦n-1の整数)の順序で、通信装置v[1],...,v[c]の少なくとも各第1〜3ブロック情報更新手段で更新され、返信を行う通信装置v[c+1]に送信され、通信装置v[c+1]の少なくとも第1,4ブロック情報更新手段で更新され、通信装置v[c]に返信され、v[c],...,v[u+1]の順序で、通信装置v[c],...,v[u+1]の少なくとも各第5ブロック情報更新手段で更新され、通信装置v[u+1]から返信された返信経路情報RI[u+1]であり、
u=n-1の場合、上記第2受信手段で受信される上記返信経路情報RI[u+1]は、請求項1から3の何れかに記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[n-1]の順序で、通信装置v[1],...,v[n-1]の少なくとも各第1〜3ブロック情報更新手段で更新され、返信を行う通信装置v[n]に送信され、通信装置v[n]の少なくとも第1,4ブロック情報更新手段で更新され、通信装置v[n-1]に返信された返信経路情報RI[n]である、
ことを特徴とする通信装置。
The information transmitted from the communication device v [0] is in the order of v [1], ..., v [n-1] (n ≧ 2), and the communication devices v [1], ..., v [n- 1] is a communication device functioning as any one of the anonymous communication devices v [u] (u = 1,..., N) relayed by the communication device v [n].
At least communication path information e [y, u] for specifying each communication path between the communication device v [y] (y is an integer other than u) and the communication device v [u], and an integer A memory for storing the secret key x [u] of the communication device v [u];
Let G be a cyclic group, and the four elements α [0, j, u-1], β [0, j, u-1], α [1, j, u-1], β [1, j, u-1] is block information RB [j, u-1] (j = 0, ..., n-1), and n pieces of block information RB [0, u-1], .., Reply route information RI [u sent from the communication device v [u-1] when the information including RB [n-1, u-1] is taken as the reply route information RI [u-1] -1], first receiving means;
From the block information included in the reply path information RI [u-1] received by the first receiving means, α [1, j, u-1] = β [1, j, u-1] x [u ] Block information selection means for selecting block information satisfying ∈G and setting it as block information RB [+, u-1];
[Alpha] [0, j, u-1] / β [0, j, u-1] 2 · x for α [0, j, u-1] of the block information RB [+, u-1] [u] ∈ G, and update the block information RB [+, u-1] as the new α [0, j, u-1] of the block information RB [+, u-1] First block information updating means for updating the reply route information RI [u-1] thereby,
Block information RB [0, u-1] included in the reply path information RI [u-1] excluding the block information RB [+, u-1] when the communication device v [u] does not reply , ..., RB [n-1, u-1] α [0, j, u-1], β [0, j, u-1] -1] / β [0, j, u-1] x [u] ∈ G, and each of these calculation results is regarded as each new α [0, j, u-1] and the block information RB [0 , u-1], ..., RB [n-1, u-1], thereby updating the return path information RI [u-1], second block information updating means;
Block information RB [0, u-1] included in the reply path information RI [u-1] excluding the block information RB [+, u-1] when the communication device v [u] does not reply , ..., RB [n-1, u-1] α [1, j, u-1], β [1, j, u-1] -1] / β [1, j, u-1] x [u] ∈ G, and each of these calculation results is regarded as each new α [1, j, u-1], and the block information RB [0 , u-1], ..., RB [n-1, u-1], thereby updating the return path information RI [u-1], third block information updating means;
When the communication device v [u] does not reply, at least the reply route information RI [u-1] updated by the first to third block information update means is used as the reply route information RI [u]. first transmission means for transmitting to u + 1],
When the communication device v [u] makes a reply, the block information RB [0, u-1], ..., RB [n-1, u-1 included in the reply path information RI [u-1] ] For each α [0, j, u-1], β [0, j, u-1] respectively α [0, j, u-1] · β [0, j, u-1] x [u] ∈ G is performed, and each of these operation results is set as each new α [0, j, u-1], and the block information RB [0, u-1], ..., RB [n− 1, u-1], thereby updating the reply route information RI [u-1], fourth block information updating means;
When the communication device v [u] makes a reply, at least the reply route information RI [u-1] updated by the fourth block information update unit is used as the reply route information RI [u]. A second sending means for replying to
A second receiving means for receiving reply path information RI [u + 1] sent back from the communication device v [u + 1] when 1 ≦ u ≦ n−1;
Any block information RB [0, u + 1],..., RB [n−1, u + 1] included in the reply path information RI [u + 1] and any channel information e [ It is determined whether α [0, j, u + 1] = β [0, j, u + 1] e [y, u] ∈G is satisfied for the combination with y, u] , and α [ 0, j, u + 1] = β [0, j, u + 1] e [y, u] The channel information e [y, u] that satisfies ∈G is used as the channel information e [u-1, u Determination means for outputting as
Blocks included in the reply route information RI [u + 1] excluding block information satisfying α [0, j, u + 1] = β [0, j, u + 1] e [y, u] ∈G For each α [0, j, u + 1], β [0, j, u + 1] of information RB [0, u + 1], ..., RB [n-1, u + 1] Each operation α [0, j, u + 1] · β [0, j, u + 1] x [u] ∈G is performed, and each of these operation results is added to each new α [0, j, u + The fifth block for updating the block information RB [0, u + 1], ..., RB [n-1, u + 1] as 1] and thereby updating the reply path information RI [u + 1] Information updating means;
The reply path information RI [u + 1] updated by at least the fifth block information updating unit is set as the reply path information RI [u], and the communication path specified by the communication path information e [u-1, u] A third transmission means for transmitting,
When u = 1, the return route information RI [u-1] received by the first receiving unit is generated by the return route information generating device according to any one of claims 1 to 3, and the communication device v Reply route information RI [0] sent from [0]
When u ≧ 2, the reply path information RI [u-1] received by the first receiving unit is generated by the reply path information generating apparatus according to any one of claims 1 to 3, and the communication apparatus v [ 0] is sent in the order of v [1], ..., v [u-1], and the communication device v [1], ..., v [u-1 ] At least each of the first to third block information updating means, and the reply route information RI [u-1] transmitted from the communication device v [u-1],
In the case of 1 ≦ u ≦ n−2, the return route information RI [u + 1] received by the second receiving means is generated by the return route information generating device according to any one of claims 1 to 3. The reply route information RI [0] transmitted from the communication device v [0] is in the order of v [1], ..., v [c] (c is an integer of u + 1 ≦ c ≦ n−1). Then, at least each of the first to third block information update means of the communication devices v [1],..., V [c] is updated and transmitted to the communication device v [c + 1] that makes a reply. [c + 1] is updated by at least the first and fourth block information updating means, returned to the communication device v [c], and in the order of v [c], ..., v [u + 1], the communication device v [c],..., v [u + 1] is updated by at least each fifth block information updating means, and the reply route information RI [u + 1] returned from the communication device v [u + 1] is used. Yes,
When u = n−1, the reply path information RI [u + 1] received by the second receiving unit is generated by the reply path information generating device according to any one of claims 1 to 3 and communicated The reply route information RI [0] transmitted from the device v [0] is in the order of v [1], ..., v [n-1], and the communication devices v [1], ..., v [ n-1] is updated by at least each of the first to third block information updating means, transmitted to the communication device v [n] that makes a reply, and updated by at least the first and fourth block information updating means of the communication device v [n]. Reply route information RI [n] sent back to the communication device v [n-1],
A communication device.
請求項4に記載の通信装置であって、
上記第1受信手段は、巡回群Gの2つの元α[0,*,u-1], β[0,*,u-1]を含む返信内容格納用情報RB[*,u-1]をさらに含む返信経路情報RI[u-1]を受信する手段であり、
通信装置v[u]が返信を行わない場合に、上記第1受信手段で受信された上記返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のα[0,*,u-1], β[0,*,u-1]に対して演算α[0,*,u-1]・β[0,*,u-1]x[u]∈Gを行い、その演算結果を新たなα[0,*,u-1]として当該返信内容格納用情報RB[*,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第6ブロック情報更新手段をさらに備え、
上記第1送信手段は、少なくとも第1〜3,6ブロック情報更新手段で更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u+1]に送信する手段であり、
通信装置v[u]が返信を行う場合に、任意の整数r[0,*,u]を設定し、設定した任意の整数r[0,*,u]を出力する第1任意値設定手段と、
通信装置v[u]が返信を行う場合に、上記第1受信手段で受信された上記返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のα[0,*,u-1]に対し、返信メッセージをM∈Gとした場合における演算M・α[0,*,u-1]r[0,*,u]∈Gを行い、その演算結果を新たなα[0,*,u-1]として当該返信内容格納用情報RB[*,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第7ブロック情報更新手段と、
通信装置v[u]が返信を行う場合に、上記第1受信手段で受信された上記返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のβ[0,*,u-1]に対し、演算β[0,*,u-1]r[0,*,u]∈Gを行い、その演算結果を新たなβ[0,*,u-1]として当該返信内容格納用情報RB[*,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第8ブロック情報更新手段と、をさらに備え、
上記第2送信手段は、通信装置v[u]が返信を行う場合に、少なくとも第1,4,7,8ブロック情報更新手段で更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u-1]に返信する手段であり、
上記第2受信手段は、1≦u≦n-1である場合に、巡回群Gの2つの元α[0,*,u+1],β[0,*,u+1]を含む返信内容格納用情報RB[*,u+1]をさらに含む返信経路情報RI[u+1]を受信する手段であり、
上記第2受信手段で受信された上記返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のα[0,*,u+1],β[0,*,u+1]に対し、演算α[0,*,u+1]/β[0,*,u+1]x[u]∈Gを行い、その演算結果を新たなα[0,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによって返信経路情報RI[u+1]を更新する第9ブロック情報更新手段をさらに備え、
上記第3送信手段は、少なくとも第5,9ブロック情報更新手段で更新された返信経路情報RI[u+1]を返信経路情報RI[u]として、通信路情報e[u-1,u]によって特定される通信路に対して送信する手段であり、
u=1の場合、上記第1受信手段で受信される上記返信経路情報RI[u-1]は、請求項3に記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]であり、
u≧2場合、上記第1受信手段で受信される上記返信経路情報RI[u-1]は、請求項3に記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[u-1]の順序で、通信装置v[1],...,v[u-1]の少なくとも各第1〜3,6ブロック情報更新手段で更新され、通信装置v[u-1]から送信された返信経路情報RI[u-1]であり、
1≦u≦n-2の場合、上記第2受信手段で受信される上記返信経路情報RI[u+1]は、請求項3に記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[c](cはu+1≦c≦n-1の整数)の順序で、通信装置v[1],...,v[c]の少なくとも各第1〜3,6ブロック情報更新手段で更新され、返信を行う通信装置v[c+1]に送信され、通信装置v[c+1]の少なくとも第1,4,7,8ブロック情報更新手段で更新され、通信装置v[c]に返信され、v[c],...,v[u+1]の順序で、通信装置v[c],...,v[u+1]の少なくとも各第5,9ブロック情報更新手段で更新され、通信装置v[u+1]から返信された返信経路情報RI[u+1]であり、
u=n-1の場合、上記第2受信手段で受信される上記返信経路情報RI[u+1]は、請求項3に記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[n-1]の順序で、通信装置v[1],...,v[n-1]の少なくとも各第1〜3,6ブロック情報更新手段で更新され、返信を行う通信装置v[n]に送信され、通信装置v[n]の少なくとも第1,4,7,8ブロック情報更新手段で更新され、通信装置v[n-1]に返信された返信経路情報RI[n]である、
ことを特徴とする通信装置。
The communication device according to claim 4,
The first receiving means includes reply content storage information RB [*, u-1] including two elements α [0, *, u-1], β [0, *, u-1] of the cyclic group G Is a means for receiving reply route information RI [u-1] further including
When the communication device v [u] does not reply, the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] received by the first receiving means α [0, *, u-1], β [0, *, u-1], β [0, *, u-1] x [u] ∈ G, and update the reply content storage information RB [*, u-1] with the result of the operation as a new α [0, *, u-1], thereby reply path information RI [u-1 6th block information update means for updating
The first transmission means sends the reply route information RI [u-1] updated by at least the first to third and sixth block information update means to the communication device v [u + 1] as reply route information RI [u]. Means to transmit,
First arbitrary value setting means for setting an arbitrary integer r [0, *, u] and outputting the set arbitrary integer r [0, *, u] when the communication device v [u] makes a reply When,
When the communication device v [u] makes a reply, α of the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] received by the first receiving unit For [0, *, u-1], perform the operation M · α [0, *, u-1] r [0, *, u] ∈G when the return message is M∈G The seventh block for updating the reply content storage information RB [*, u-1] with the result as new α [0, *, u-1] and thereby updating the reply route information RI [u-1] Information updating means;
When the communication device v [u] makes a reply, β of the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] received by the first receiving unit For [0, *, u-1], the operation β [0, *, u-1] r [0, *, u] ∈G is performed, and the result of the operation is calculated as a new β [0, *, u- 1], further comprising an eighth block information updating means for updating the reply content storage information RB [*, u-1] and thereby updating the reply route information RI [u-1],
When the communication device v [u] makes a reply, the second transmission means sends the reply path information RI [u-1] updated by at least the first, fourth, seventh, and eighth block information update means to the reply path. It is a means for returning to the communication device v [u-1] as information RI [u],
The second receiving means returns a reply including two elements α [0, *, u + 1] and β [0, *, u + 1] of the cyclic group G when 1 ≦ u ≦ n−1. Means for receiving reply route information RI [u + 1] further including content storage information RB [*, u + 1],
Α [0, *, u + 1], β [0] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] received by the second receiving means , *, u + 1], the operation α [0, *, u + 1] / β [0, *, u + 1] x [u] ∈G is performed, and the result is calculated as a new α [0 , *, u + 1] is further provided with ninth block information updating means for updating the reply content storage information RB [*, u + 1], thereby updating the reply route information RI [u + 1],
The third transmission means uses the return path information RI [u + 1] updated by at least the fifth and ninth block information update means as the return path information RI [u], and uses the communication path information e [u-1, u]. Means for transmitting to the communication path specified by
When u = 1, the return route information RI [u-1] received by the first receiving unit is generated by the return route information generating device according to claim 3 and transmitted from the communication device v [0]. Reply route information RI [0],
When u ≧ 2, the return route information RI [u−1] received by the first receiving means is generated by the return route information generating device according to claim 3 and transmitted from the communication device v [0]. Return route information RI [0] is in the order of v [1], ..., v [u-1], and at least each of the communication devices v [1], ..., v [u-1]. 1 to 3 and 6 block information updating means, and the reply route information RI [u-1] transmitted from the communication device v [u-1].
In the case of 1 ≦ u ≦ n−2, the return route information RI [u + 1] received by the second receiving unit is generated by the return route information generating device according to claim 3, and the communication device v [ 0], the reply path information RI [0] is transmitted in the order of v [1], ..., v [c] (c is an integer of u + 1 ≦ c ≦ n−1). [1],..., V [c] are updated by at least each of the first to third and sixth block information updating means, transmitted to the communication device v [c + 1] that performs the reply, and the communication device v [c + 1] is updated by at least the first, fourth, seventh and eighth block information update means, is returned to the communication device v [c], and is communicated in the order of v [c], ..., v [u + 1]. Reply route information RI [u +] updated by at least the fifth and ninth block information updating means of the devices v [c],..., V [u + 1] and returned from the communication device v [u + 1]. 1]
When u = n−1, the return route information RI [u + 1] received by the second receiving unit is generated by the return route information generating device according to claim 3 and is transmitted to the communication device v [0]. Return route information RI [0] transmitted from the communication device v [1], ..., v [n-1] in the order of v [1], ..., v [n-1] At least updated by each of the first to third and sixth block information updating means and transmitted to the communication device v [n] that sends a reply. The reply route information RI [n] updated and returned to the communication device v [n-1].
A communication device.
請求項5に記載の通信装置であって、
上記第1任意値設定手段は、通信装置v[u]が返信を行う場合に、さらに任意の整数r[1,*,u]を設定し、設定した任意の整数r[1,*,u]を出力する手段であり、
通信装置v[u]が返信を行う場合に、上記第1受信手段で受信された上記返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のα[0,*,u-1]に対し、演算α[1,*,u-1]=α[0,*,u-1]r[1,*,u]∈Gを行い、その演算結果α[1,*,u-1]を当該返信内容格納用情報RB[*,u-1]の要素として追加し、追加後の返信内容格納用情報RB[*,u-1]を含む返信経路情報RI[u-1]を出力する第10ブロック情報更新手段と、
通信装置v[u]が返信を行う場合に、上記第1受信手段で受信された上記返信経路情報RI[u-1]が具備する返信内容格納用情報RB[*,u-1]のβ[0,*,u-1]に対し、演算β[1,*,u-1]=β[0,*,u-1]r[1,*,u]∈Gを行い、その演算結果β[1,*,u-1]を当該返信内容格納用情報RB[*,u-1]の要素として追加し、追加後の返信内容格納用情報RB[*,u-1]を含む返信経路情報RI[u-1]を出力する第11ブロック情報更新手段と、をさらに備え、
上記第2送信手段は、通信装置v[u]が返信を行う場合に、少なくとも第1,4,7,8,10,11ブロック情報更新手段で更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u-1]に返信する手段であり、
上記第2受信手段は、1≦u≦n-1である場合に、巡回群Gの4つの元α[0,*,u+1],β[0,*,u+1],α[1,*,u+1],β[1,*,u+1]を含む返信内容格納用情報RB[*,u+1]を含む返信経路情報RI[u+1]を受信する手段であり、
上記第2受信手段で受信された上記返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のα[1,*,u+1],β[1,*,u+1]に対し、演算α[1,*,u+1]/β[1,*,u+1]x[u]∈Gを行い、その演算結果を新たなα[1,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによって返信経路情報RI[u+1]を更新する第12ブロック情報更新手段と、
任意の整数r2[0,*,u],r2[1,*,u]を設定し、設定した任意の整数r2[0,*,u],r2[1,*,u]を出力する第2任意値設定手段と、
上記第5,9,12ブロック情報更新手段で更新された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のα[0,*,u+1],α[1,*,u+1]に対し、演算α[0,*,u+1]・α[1,*,u+1]r2[0,*,u]∈Gを行い、その演算結果を新たなα[0,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによって返信経路情報RI[u+1]を更新する第13ブロック情報更新手段と、
上記第5,9,12ブロック情報更新手段で更新された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のβ[0,*,u+1],β[1,*,u+1]に対し、演算β[0,*,u+1]・β[1,*,u+1]r2[0,*,u]∈Gを行い、その演算結果を新たなβ[0,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによって返信経路情報RI[u+1]を更新する第14ブロック情報更新手段と、
上記第5,9,12ブロック情報更新手段で更新された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のα[1,*,u+1]に対し、演算α[1,*,u+1]r2[1,*,u]∈Gを行い、その演算結果を新たなα[1,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによって返信経路情報RI[u+1]を更新する第15ブロック情報更新手段と、
上記第5,9,12ブロック情報更新手段で更新された返信経路情報RI[u+1]が具備する返信内容格納用情報RB[*,u+1]のβ[1,*,u+1]に対し、演算β[1,*,u+1]r2[1,*,u]∈Gを行い、その演算結果を新たなβ[1,*,u+1]として当該返信内容格納用情報RB[*,u+1]を更新し、それによって返信経路情報RI[u+1]を更新する第16ブロック情報更新手段と、をさらに備え、
上記第3送信手段は、少なくとも第5,9,12〜16ブロック情報更新手段で更新された返信経路情報RI[u+1]を返信経路情報RI[u]として、通信路情報e[u-1,u]によって特定される通信路に対して送信する手段であり、
1≦u≦n-2の場合、上記第2受信手段で受信される上記返信経路情報RI[u+1]は、請求項3に記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[c](cはu+1≦c≦n-1の整数)の順序で、通信装置v[1],...,v[c]の少なくとも各第1〜3,6ブロック情報更新手段で更新され、返信を行う通信装置v[c+1]に送信され、通信装置v[c+1]の少なくとも第1,4,7,8,10,11ブロック情報更新手段で更新され、通信装置v[c]に返信され、v[c],...,v[u+1]の順序で、通信装置v[c],...,v[u+1]の少なくとも各第5,9,12〜16ブロック情報更新手段で更新され、通信装置v[u+1]から返信された返信経路情報RI[u+1]であり、
u=n-1の場合、上記第2受信手段で受信される上記返信経路情報RI[u+1]は、請求項3に記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[n-1]の順序で、通信装置v[1],...,v[n-1]の少なくとも各第1〜第3,第6ブロック情報更新手段で更新され、返信を行う通信装置v[n]に送信され、通信装置v[n]の少なくとも第1,4,7,8,10,11ブロック情報更新手段で更新され、通信装置v[n-1]に返信された返信経路情報RI[n]である、
ことを特徴とする通信装置。
The communication device according to claim 5,
The first arbitrary value setting means further sets an arbitrary integer r [1, *, u] when the communication device v [u] sends a reply, and sets the arbitrary integer r [1, *, u ] To output
When the communication device v [u] makes a reply, α of the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] received by the first receiving unit Perform the operation α [1, *, u-1] = α [0, *, u-1] r [1, *, u] ∈G on [0, *, u-1], and the result α [1, *, u-1] is added as an element of the reply content storage information RB [*, u-1], and the reply content storage information RB [*, u-1] after addition is added A tenth block information updating means for outputting route information RI [u-1];
When the communication device v [u] makes a reply, β of the reply content storage information RB [*, u-1] included in the reply route information RI [u-1] received by the first receiving unit Perform the operation β [1, *, u-1] = β [0, *, u-1] r [1, *, u] ∈G on [0, *, u-1], and the result β [1, *, u-1] is added as an element of the reply content storage information RB [*, u-1], and the reply content storage information RB [*, u-1] after addition is added Eleventh block information updating means for outputting route information RI [u-1],
When the communication device v [u] makes a reply, the second transmission means returns the reply path information RI [u-1] updated by at least the first, fourth, seventh, eighth, tenth, and eleventh block information updating means. Is a means for returning the response route information RI [u] to the communication device v [u-1],
The second receiving means has four elements α [0, *, u + 1], β [0, *, u + 1], α [of the cyclic group G when 1 ≦ u ≦ n−1. Means for receiving reply path information RI [u + 1] including reply content storage information RB [*, u + 1] including 1, *, u + 1], β [1, *, u + 1] Yes,
Α [1, *, u + 1], β [1] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] received by the second receiving means , *, u + 1], the operation α [1, *, u + 1] / β [1, *, u + 1] x [u] ∈G is performed, and the result is calculated as a new α [1 , *, u + 1], the twelfth block information updating means for updating the reply content storage information RB [*, u + 1], thereby updating the reply route information RI [u + 1],
Set an arbitrary integer r2 [0, *, u], r2 [1, *, u] and output the set arbitrary integer r2 [0, *, u], r2 [1, *, u] 2 arbitrary value setting means;
Α [0, *, u + 1] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] updated by the fifth, ninth and twelfth block information updating means. ], α [1, *, u + 1], the operation α [0, *, u + 1] · α [1, *, u + 1] r2 [0, *, u] ∈G, The operation result is updated as new α [0, *, u + 1], and the reply content storage information RB [*, u + 1] is updated, thereby updating the reply route information RI [u + 1]. 13 block information update means;
Β [0, *, u + 1] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] updated by the fifth, ninth, and twelfth block information updating means. ], β [1, *, u + 1], perform the operation β [0, *, u + 1] · β [1, *, u + 1] r2 [0, *, u] ∈G, The operation result is updated as new β [0, *, u + 1], and the reply content storage information RB [*, u + 1] is updated, whereby the reply route information RI [u + 1] is updated. 14 block information updating means;
Α [1, *, u + 1] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] updated by the fifth, ninth and twelfth block information updating means. ] Is calculated α [1, *, u + 1] r2 [1, *, u] ∈ G, and the result is stored as the new α [1, *, u + 1] Fifteenth block information updating means for updating the information RB [*, u + 1], thereby updating the reply route information RI [u + 1];
Β [1, *, u + 1] of the reply content storage information RB [*, u + 1] included in the reply route information RI [u + 1] updated by the fifth, ninth and twelfth block information updating means. ] Is calculated β [1, *, u + 1] r2 [1, *, u] ∈ G, and the result is stored as the new β [1, *, u + 1] A 16th block information updating means for updating the information RB [*, u + 1] and thereby updating the reply route information RI [u + 1],
The third transmission means uses the return path information RI [u + 1] updated by at least the fifth, ninth, 12th to 16th block information update means as the return path information RI [u], and sets the communication path information e [u− 1, u] is a means for transmitting to the communication path specified by
In the case of 1 ≦ u ≦ n−2, the return route information RI [u + 1] received by the second receiving unit is generated by the return route information generating device according to claim 3, and the communication device v [ 0], the reply path information RI [0] is transmitted in the order of v [1], ..., v [c] (c is an integer of u + 1 ≦ c ≦ n−1). [1],..., V [c] are updated by at least each of the first to third and sixth block information updating means, transmitted to the communication device v [c + 1] that performs the reply, and the communication device v [c + 1] is updated by at least the first, fourth, seventh, eighth, tenth and eleventh block information updating means, and is sent back to the communication device v [c], and v [c], ..., v [u + 1] In order, at least each of the fifth, ninth, 12th to 16th block information update means of the communication devices v [c],..., V [u + 1] is updated and returned from the communication device v [u + 1]. Reply route information RI [u + 1]
When u = n−1, the return route information RI [u + 1] received by the second receiving unit is generated by the return route information generating device according to claim 3 and is transmitted to the communication device v [0]. Return route information RI [0] transmitted from the communication device v [1], ..., v [n-1] in the order of v [1], ..., v [n-1] At least updated by each of the first to third and sixth block information updating means, transmitted to the communication device v [n] that sends back, and at least the first, fourth, seventh, eighth, tenth of the communication device v [n] 11 is the reply path information RI [n] updated by the block information updating means and returned to the communication device v [n-1].
A communication device.
通信装置v[0]から送信された情報がv[1],...,v[n-1](n≧2)の順序で通信装置v[1],...,v[n-1]で中継されて通信装置v[n]に受信される匿名通信の通信装置v[0]として機能する通信装置であって、
少なくとも、通信装置v[0]の秘密鍵x[0]と固有情報E[0]とが格納されたメモリと、
請求項5又は6に記載の通信装置v[1]として機能する通信装置から返信された返信経路情報RI[1]を受信する受信手段と、
上記受信手段で受信された上記返信経路情報RI[1]が具備する、巡回群Gの元α[0,j,1], β[0,j,1]を含むブロック情報RB[j,1](j=0,...,n-1)に、α[0,j,1]=β[0,j,1]x[0]・E(0)∈Gを満たすブロック情報RB[j,1]が存在するか否かを判定する判定手段と、
上記判定手段でα[0,j,1]=β[0,j,1]x[0]・E(0)∈Gを満たすブロック情報RB[j,1]が存在すると判定された場合、上記受信手段で受信された上記返信経路情報RI[1]が具備する返信内容格納用情報RB[*,1]のα[0,*,1],β[0,*,1]に対し、演算α[0,*,1]/β[0,*,1]x[0]∈Gを行い、その演算結果を返信メッセージM∈Gとして出力する返信メッセージ復号手段と、
を有することを特徴とする通信装置。
The information transmitted from the communication device v [0] is in the order of v [1], ..., v [n-1] (n ≧ 2), and the communication devices v [1], ..., v [n- 1] is a communication device functioning as a communication device v [0] for anonymous communication that is relayed in 1 and received by the communication device v [n],
At least a memory in which the secret key x [0] and unique information E [0] of the communication device v [0] are stored,
Receiving means for receiving return route information RI [1] returned from the communication device functioning as the communication device v [1] according to claim 5;
Block information RB [j, 1] including elements α [0, j, 1], β [0, j, 1] of the cyclic group G included in the reply route information RI [1] received by the receiving means ] (J = 0, ..., n-1) to block information RB [α [0, j, 1] = β [0, j, 1] x [0] · E (0) ∈ G determination means for determining whether or not j, 1] exists;
When it is determined by the determining means that there is block information RB [j, 1] satisfying α [0, j, 1] = β [0, j, 1] x [0] · E (0) ∈G, For α [0, *, 1], β [0, *, 1] of the reply content storage information RB [*, 1] included in the reply route information RI [1] received by the receiving means, A reply message decoding means for performing an operation α [0, *, 1] / β [0, *, 1] x [0] ∈G and outputting the result of the calculation as a reply message M∈G;
A communication apparatus comprising:
通信装置v[0]から送信された情報がv[1],...,v[n-1](n≧2)の順序で通信装置v[1],...,v[n-1]で中継されて通信装置v[n]に受信される匿名通信を行う通信装置v[0]の匿名通信方法であって、
通信装置v[h-1](h=1,...,n)と通信装置v[h]との間の通信路を特定するための通信路情報をe[h-1, h]とし、各通信装置v[f](f=0,...,n)に固有な固有情報をE[f]とし、Gを巡回群とし、gを巡回群Gの生成元とし、x[f](f=0,...,n)を整数である各通信装置v[f]の秘密鍵x[f]とし、y[f]を各秘密鍵x[f]にそれぞれ対応する公開鍵y[f]=gx[j]∈Gとした場合における、少なくとも、通信路情報e[h-1, h]と固有情報E[0]と公開鍵y[f]∈Gとがメモリに格納されており、
少なくとも、n個の通信装置v[j](j=0,...,n-1)にそれぞれ対応する任意の整数r[0,j,0],r[1,j,0]を設定し、設定した任意の整数r[0,j,0],r[1,j,0]を出力する任意値設定過程と、
第1演算手段が、演算α[0,0,0]=y[0]E[0]・r[0,0,0]・y[1]r[0,0,0]∈Gを行い、その演算結果α[0,0,0]を出力する第1演算過程と、
第2演算手段が、演算β[0,0,0]=gr[0,0,0]∈Gを行い、その演算結果β[0,0,0]を出力する第2演算過程と、
第3演算手段が、演算α[1,0,0]=y[1]r[1,0,0]∈Gを行い、その演算結果α[1,0,0]を出力する第3演算過程と、
第4演算手段が、演算β[1,0,0]=gr[1,0,0]∈Gを行い、その演算結果β[1,0,0]を出力する第4演算過程と、
第5演算手段が、演算α[0,1,0]=y[1](e[0,1]+1)・r[0,1,0]・y[2]r[0,1,0]∈Gを行い、その演算結果α[0,1,0]を出力する第5演算過程と、
第6演算手段が、演算β[0,1,0]=gr[0,1,0]∈Gを行い、その演算結果β[0,1,0]を出力する第6演算過程と、
第7演算手段が、演算α[1,1,0]=(y[1]・y[2])r[1,1,0]∈Gを行い、その演算結果α[1,1,0]を出力する第7演算過程と、
第8演算手段が、演算β[1,1,0]=gr[1,1,0]∈Gを行い、その演算結果β[1,1,0]を出力する第8演算過程と、
第9演算手段が、m=2,...,n-1のそれぞれについて、演算α[0,m,0]=(y[1]・...・y[m-1])r[0,m,0]・y[m](e[m-1,m]+1)・r[0,m,0]・y[m+1]r[0,m,0]∈Gを行い、それらの演算結果α[0,m,0]を出力する第9演算過程と、
第10演算手段が、m=2,...,n-1のそれぞれについて、演算β[0,m,0]=gr[0,m,0]∈Gを行い、それらの演算結果β[0,m,0]を出力する第10演算過程と、
第11演算手段が、m=2,...,n-1のそれぞれについて、演算α[1,m,0]=(y[1]・...・y[m-1]・y[m]・y[m+1])r[1,m,0]∈Gを行い、その演算結果α[1,m,0]を出力する第11演算過程と、
第12演算手段が、m=2,...,n-1のそれぞれについて、演算β[1,m,0]=gr[1,m,0]∈Gを行い、それらの演算結果β[1,m,0]を出力する第12演算過程と、
返信経路情報生成手段が、4つの演算結果α[0,j,0], β[0,j,0], α[1,j,0], β[1,j,0](j=0,...,n-1)を含む情報をそれぞれブロック情報RB[j,0]とした場合における、n個のブロック情報RB[0,0],...,RB[n-1,0]を含む返信経路情報RI[0]を生成し、当該返信経路情報RI[0]を出力する返信経路情報生成過程と、
送信手段が、上記返信経路情報RI[0]を通信装置v[1]に送信する送信過程と、
を実行することを特徴とする匿名通信方法。
The information transmitted from the communication device v [0] is in the order of v [1], ..., v [n-1] (n ≧ 2), and the communication devices v [1], ..., v [n- 1] is an anonymous communication method of a communication device v [0] that performs anonymous communication that is relayed in 1 and received by the communication device v [n],
The communication path information for specifying the communication path between the communication device v [h-1] (h = 1, ..., n) and the communication device v [h] is e [h-1, h]. The unique information unique to each communication device v [f] (f = 0, ..., n) is E [f], G is a cyclic group, g is a generator of the cyclic group G, and x [f ] (F = 0, ..., n) is an integer secret key x [f] of each communication device v [f], and y [f] is a public key corresponding to each secret key x [f] When y [f] = g x [j] ∈ G, at least the channel information e [h-1, h], the unique information E [0], and the public key y [f] ∈G are stored in the memory. Stored,
Set any integer r [0, j, 0], r [1, j, 0] corresponding to at least n communication devices v [j] (j = 0, ..., n-1) And an arbitrary value setting process for outputting the set arbitrary integer r [0, j, 0], r [1, j, 0],
The first computing means performs the operation α [0,0,0] = y [0] E [0] · r [0,0,0] · y [1] r [0,0,0] ∈G A first calculation process for outputting the calculation result α [0,0,0];
A second calculation process in which the second calculation means performs the calculation β [0,0,0] = g r [0,0,0] ∈G and outputs the calculation result β [0,0,0];
The third calculation means performs the calculation α [1,0,0] = y [1] r [ 1,0,0 ] ∈ G and outputs the calculation result α [1,0,0]. Process,
A fourth calculation process in which a fourth calculation means performs a calculation β [1,0,0] = g r [ 1,0,0 ] ∈G and outputs the calculation result β [1,0,0];
The fifth calculating means calculates α [0,1,0] = y [1] (e [0,1] +1) · r [0,1,0] · y [2] r [0,1, 0] performed ∈G, a fifth operation process for outputting the operation result alpha [0,1,0],
A sixth operation process in which the sixth operation means performs the operation β [0,1,0] = g r [0,1,0] ∈G and outputs the operation result β [0,1,0];
The seventh calculation means performs the calculation α [1,1,0] = (y [1] · y [2]) r [1,1,0] ∈ G, and the calculation result α [1,1,0 A seventh calculation process for outputting
An eighth operation step in which the eighth operation means performs the operation β [1,1,0] = g r [1,1,0] ∈G and outputs the operation result β [1,1,0];
The ninth calculating means calculates α [0, m, 0] = (y [1]... Y [m-1]) r [ for each of m = 2 ,. 0, m, 0]・ y [m] (e [m-1, m] +1) ・ r [0, m, 0]・ y [m + 1] r [0, m, 0] ∈G And a ninth calculation process for outputting the calculation result α [0, m, 0],
The tenth operation means performs the operation β [0, m, 0] = g r [0, m, 0] ∈G for each of m = 2,..., N−1, and the operation result β A tenth computation process for outputting [0, m, 0];
The eleventh computing means computes α [1, m, 0] = (y [1],... Y [m-1], y [ m] · y [m + 1]) r [1, m, 0] ∈ G, and outputs the operation result α [1, m, 0];
The twelfth calculation means performs the calculation β [1, m, 0] = g r [1, m, 0] ∈G for each of m = 2,..., N−1, and the calculation result β A twelfth operation process for outputting [1, m, 0];
The reply path information generating means has four calculation results α [0, j, 0], β [0, j, 0], α [1, j, 0], β [1, j, 0] (j = 0 , ..., n-1), where n pieces of block information RB [0,0], ..., RB [n-1,0 A reply route information generation process for generating reply route information RI [0] including the response route information RI [0],
A transmission process in which the transmission means transmits the return route information RI [0] to the communication device v [1];
The anonymous communication method characterized by performing.
通信装置v[0]から送信された情報がv[1],...,v[n-1](n≧2)の順序で通信装置v[1],...,v[n-1]で中継されて通信装置v[n]に受信される匿名通信を行う何れかの通信装置v[u](u=1,...,n)の匿名通信方法であって、
少なくとも、通信装置v[y](yはu以外の整数)と通信装置v[u]との間の各通信路をそれぞれ特定するための通信路情報e[y,u]と、整数である当該通信装置v[u]の秘密鍵x[u]とをメモリに格納しておき、
第1受信手段が、Gを巡回群とし、巡回群Gの4つの元α[0,j,u-1], β[0,j,u-1], α[1,j,u-1], β[1,j,u-1]を含む情報をそれぞれブロック情報RB[j,u-1](j=0,...,n-1)とし、n個のブロック情報RB[0,u-1],...,RB[n-1,u-1]を含む情報を返信経路情報RI[u-1]とした場合における、通信装置v[u-1]から送信された返信経路情報RI[u-1]を受信する第1受信過程と、
ブロック情報選択手段が、上記第1受信手段で受信された上記返信経路情報RI[u-1]が具備するブロック情報から、α[1,j,u-1]=β[1,j,u-1]x[u]∈Gを満たすブロック情報を選択し、それをブロック情報RB[+,u-1]とするブロック情報選択過程と、
第1ブロック情報更新手段が、上記ブロック情報RB[+,u-1]のα[0,j,u-1]に対して演算α[0,j,u-1]/β[0,j,u-1]2・x[u]∈Gを行い、その演算結果を上記ブロック情報RB[+,u-1]の新たなα[0,j,u-1]としてブロック情報RB[+,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第1ブロック情報更新過程と、
通信装置v[u]が返信を行わない場合に、第2ブロック情報更新手段が、上記ブロック情報RB[+,u-1]を除く上記返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[0,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[0,j,u-1]/β[0,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第2ブロック情報更新過程と、
通信装置v[u]が返信を行わない場合に、第3ブロック情報更新手段が、上記ブロック情報RB[+,u-1]を除く上記返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[1,j,u-1],β[0,j,u-1]に対してそれぞれ演算α[1,j,u-1]/β[1,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[1,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第3ブロック情報更新過程と、
通信装置v[u]が返信を行わない場合に、第1送信手段が、少なくとも第1〜3ブロック情報更新手段で更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u+1]に送信する第1送信過程と、
通信装置v[u]が返信を行う場合に、第4ブロック情報更新手段が、上記返信経路情報RI[u-1]が具備するブロック情報RB[0,u-1],...,RB[n-1,u-1]の各α[0,j,u-1]に対してそれぞれ演算α[0,j,u-1]・β[0,j,u-1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u-1],β[0,j,u-1]として当該ブロック情報RB[0,u-1],...,RB[n-1,u-1]を更新し、それによって返信経路情報RI[u-1]を更新する第4ブロック情報更新過程と、
通信装置v[u]が返信を行う場合に、第2送信手段が、少なくとも第4ブロック情報更新手段で更新された返信経路情報RI[u-1]を、返信経路情報RI[u]として通信装置v[u-1]に返信する第2送信過程と、
1≦u≦n-1である場合に、第2受信手段が、通信装置v[u+1]から返信された返信経路情報RI[u+1]を受信する第2受信過程と、
判定手段が、上記返信経路情報RI[u+1]が含む何れかのブロック情報RB[0,u+1],...,RB[n-1,u+1]と、何れかの通信路情報e[y,u]との組合せに対してα[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たすか否かを判定し、α[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たした通信路情報e[y,u]を通信路情報e[u-1,u]として出力する通信路情報復号過程と、
第5ブロック情報更新手段が、上記α[0,j,u+1]=β[0,j,u+1]e[y,u]∈Gを満たしたブロック情報を除く上記返信経路情報RI[u+1]が含むブロック情報RB[0,u+1],...,RB[n-1,u+1]の各α[0,j,u+1],β[0,j,u+1]に対してそれぞれ演算α[0,j,u+1]・β[0,j,u+1]x[u]∈Gを行い、これらの各演算結果を新たな当該各α[0,j,u+1]として当該ブロック情報RB[0,u+1],...,RB[n-1,u+1]を更新し、それによって返信経路情報RI[u+1]を更新する第5ブロック情報更新過程と、
第3送信手段が、少なくとも第5ブロック情報更新手段で更新された返信経路情報RI[u+1]を返信経路情報RI[u]として、通信路情報e[u-1,u]によって特定される通信路に対して送信する第3送信過程と、を有し、
u=1の場合、上記第1受信過程で受信される上記返信経路情報RI[u-1]は、請求項1から3の何れかに記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]であり、
u≧2場合、上記第1受信過程で受信される上記返信経路情報RI[u-1]は、請求項1から3の何れかに記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[u-1]の順序で、通信装置v[1],...,v[u-1]の少なくとも各第1〜3ブロック情報更新過程で更新され、通信装置v[u-1]から送信された返信経路情報RI[u-1]であり、
1≦u≦n-2の場合、上記第2受信過程で受信される上記返信経路情報RI[u+1]は、請求項1から3の何れかに記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[c](cはu+1≦c≦n-1の整数)の順序で、通信装置v[1],...,v[c]の少なくとも各第1〜3ブロック情報更新過程で更新され、返信を行う通信装置v[c+1]に送信され、通信装置v[c+1]の少なくとも第1,4ブロック情報更新過程で更新され、通信装置v[c]に返信され、v[c],...,v[u+1]の順序で、通信装置v[c],...,v[u+1]の少なくとも各第5ブロック情報更新過程で更新され、通信装置v[u+1]から返信された返信経路情報RI[u+1]であり、
u=n-1の場合、上記第2受信過程で受信される上記返信経路情報RI[u+1]は、請求項1から3の何れかに記載の返信経路情報生成装置で生成され、通信装置v[0]から送信された返信経路情報RI[0]が、v[1],...,v[n-1]の順序で、通信装置v[1],...,v[n-1]の少なくとも各第1〜3ブロック情報更新過程で更新され、返信を行う通信装置v[n]に送信され、通信装置v[n]の少なくとも第1,4ブロック情報更新過程で更新され、通信装置v[n-1]に返信された返信経路情報RI[n]である、
ことを特徴とする匿名通信方法。
The information transmitted from the communication device v [0] is in the order of v [1], ..., v [n-1] (n ≧ 2), and the communication devices v [1], ..., v [n- 1] An anonymous communication method of any communication device v [u] (u = 1, ..., n) that performs anonymized communication that is relayed in 1 and received by the communication device v [n],
At least communication path information e [y, u] for specifying each communication path between the communication device v [y] (y is an integer other than u) and the communication device v [u], and an integer The secret key x [u] of the communication device v [u] is stored in the memory,
The first receiving means uses G as a cyclic group, and the four elements α [0, j, u-1], β [0, j, u-1], α [1, j, u-1 of the cyclic group G ], β [1, j, u-1] are block information RB [j, u-1] (j = 0, ..., n-1) respectively, and n pieces of block information RB [0 , u-1], ..., sent from the communication device v [u-1] when the information including RB [n-1, u-1] is the return route information RI [u-1] A first reception process of receiving reply path information RI [u-1];
From the block information included in the reply path information RI [u-1] received by the first receiving unit, the block information selecting unit obtains α [1, j, u-1] = β [1, j, u -1] selects block information satisfying x [u] ∈ G, and sets the block information RB [+, u-1] as block information selection process,
The first block information updating means calculates α [0, j, u-1] / β [0, j on α [0, j, u-1] of the block information RB [+, u-1]. , u-1] 2 · x [u] ∈ G, and the calculation result is set as new α [0, j, u-1] of the block information RB [+, u-1], and the block information RB [+ , u-1], thereby updating the reply route information RI [u-1],
When the communication device v [u] does not send a reply, the second block information update means includes block information included in the reply path information RI [u-1] except the block information RB [+, u-1]. For each α [0, j, u-1], β [0, j, u-1] of RB [0, u-1], ..., RB [n-1, u-1] An operation α [0, j, u-1] / β [0, j, u-1] x [u] ∈G is performed, and each of these operation results is added to each new α [0, j, u-1 ], The block information RB [0, u-1],..., RB [n-1, u-1] is updated, and thereby the second block information for updating the reply route information RI [u-1]. Update process,
When the communication device v [u] does not send a reply, the third block information update means includes block information included in the reply path information RI [u-1] excluding the block information RB [+, u-1]. For each α [1, j, u-1], β [0, j, u-1] of RB [0, u-1], ..., RB [n-1, u-1] An operation α [1, j, u-1] / β [1, j, u-1] x [u] ∈G is performed, and each of these operation results is added to each new α [1, j, u-1 ], The block information RB [0, u-1],..., RB [n-1, u-1] is updated, and thereby the third block information for updating the reply route information RI [u-1]. Update process,
When the communication device v [u] does not send a reply, the first sending means uses the reply path information RI [u-1] updated by at least the first to third block information updating means as the reply path information RI [u ] To the communication device v [u + 1] as a first transmission process;
When the communication device v [u] makes a reply, the fourth block information update means performs block information RB [0, u-1],..., RB included in the reply path information RI [u-1]. For each α [0, j, u-1] of [n-1, u-1], the operations α [0, j, u-1] · β [0, j, u-1] x [u ] ∈ G, and each of these calculation results is regarded as each new α [0, j, u-1], β [0, j, u-1], and the block information RB [0, u-1], ..., RB [n-1, u-1] is updated, and thereby the fourth block information update process of updating the reply route information RI [u-1],
When the communication device v [u] makes a reply, the second transmission means communicates at least the reply route information RI [u-1] updated by the fourth block information update means as the reply route information RI [u]. A second transmission process returning to the device v [u-1];
A second receiving process in which the second receiving means receives the reply path information RI [u + 1] sent back from the communication device v [u + 1] when 1 ≦ u ≦ n−1;
The determination means includes any block information RB [0, u + 1],..., RB [n−1, u + 1] included in the reply route information RI [u + 1] and any communication. Determine whether α [0, j, u + 1] = β [0, j, u + 1] e [y, u] ∈G is satisfied for the combination with the road information e [y, u] Then, the channel information e [y, u] satisfying α [0, j, u + 1] = β [0, j, u + 1] e [y, u] ∈G -1, u] to output channel information decoding process;
The fifth block information update means removes the reply path information RI excluding the block information satisfying the above α [0, j, u + 1] = β [0, j, u + 1] e [y, u] ∈G [u + 1] contains block information RB [0, u + 1], ..., RB [n-1, u + 1] α [0, j, u + 1], β [0, j , u + 1] are performed on each of the operations α [0, j, u + 1] · β [0, j, u + 1] x [u] ∈G, The block information RB [0, u + 1], ..., RB [n-1, u + 1] is updated as α [0, j, u + 1], and thereby the reply path information RI [u + 5], a fifth block information update process for updating 1],
The third transmission means is identified by the communication path information e [u-1, u] with the reply path information RI [u + 1] updated by at least the fifth block information updating means as the reply path information RI [u]. A third transmission process for transmitting to the communication path,
When u = 1, the reply path information RI [u-1] received in the first reception process is generated by the reply path information generating apparatus according to any one of claims 1 to 3, and the communication apparatus v Reply route information RI [0] sent from [0]
When u ≧ 2, the return route information RI [u−1] received in the first reception process is generated by the return route information generation device according to any one of claims 1 to 3 and is transmitted to the communication device v [ 0] is sent in the order of v [1], ..., v [u-1], and the communication device v [1], ..., v [u-1 ] At least each of the first to third block information update processes, and the reply route information RI [u-1] transmitted from the communication device v [u-1],
In the case of 1 ≦ u ≦ n−2, the return route information RI [u + 1] received in the second reception process is generated by the return route information generating device according to any one of claims 1 to 3. The reply route information RI [0] transmitted from the communication device v [0] is in the order of v [1], ..., v [c] (c is an integer of u + 1 ≦ c ≦ n−1). The communication device v [1],..., V [c] is updated in at least each of the first to third block information update processes, and transmitted to the communication device v [c + 1] that performs the reply. [c + 1] is updated in at least the first and fourth block information update process, is returned to the communication device v [c], and the communication devices are in the order of v [c], ..., v [u + 1]. v [c],..., v [u + 1] is updated at least in each fifth block information update process, and the reply route information RI [u + 1] returned from the communication device v [u + 1] is used. Yes,
When u = n−1, the reply path information RI [u + 1] received in the second reception process is generated by the reply path information generating device according to any one of claims 1 to 3 and communicated The reply route information RI [0] transmitted from the device v [0] is in the order of v [1], ..., v [n-1], and the communication devices v [1], ..., v [ n-1] is updated in at least each of the first to third block information updating processes, transmitted to the communication device v [n] that makes a reply, and updated in at least the first and fourth block information updating processes of the communication device v [n]. Reply route information RI [n] sent back to the communication device v [n-1],
An anonymous communication method characterized by that.
請求項1から3の何れかに記載の返信経路情報生成装置、又は、請求項4から7の何れかに記載の通信装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the reply path information generation device according to any one of claims 1 to 3 or the communication device according to any one of claims 4 to 7. 請求項10に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium storing the program according to claim 10.
JP2008010178A 2008-01-21 2008-01-21 Reply path information generation device, communication device, anonymous communication method, program, and recording medium Expired - Fee Related JP4790736B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008010178A JP4790736B2 (en) 2008-01-21 2008-01-21 Reply path information generation device, communication device, anonymous communication method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008010178A JP4790736B2 (en) 2008-01-21 2008-01-21 Reply path information generation device, communication device, anonymous communication method, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2009171495A true JP2009171495A (en) 2009-07-30
JP4790736B2 JP4790736B2 (en) 2011-10-12

Family

ID=40972128

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008010178A Expired - Fee Related JP4790736B2 (en) 2008-01-21 2008-01-21 Reply path information generation device, communication device, anonymous communication method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP4790736B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159912A (en) * 2003-11-27 2005-06-16 Fujitsu Prime Software Technologies Ltd Method, apparatus, program for transmitting and relaying anonymous data
JP2007005898A (en) * 2005-06-21 2007-01-11 Toshiba Corp Node unit, anonymous communication method and program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159912A (en) * 2003-11-27 2005-06-16 Fujitsu Prime Software Technologies Ltd Method, apparatus, program for transmitting and relaying anonymous data
JP2007005898A (en) * 2005-06-21 2007-01-11 Toshiba Corp Node unit, anonymous communication method and program

Also Published As

Publication number Publication date
JP4790736B2 (en) 2011-10-12

Similar Documents

Publication Publication Date Title
JP6363032B2 (en) Key change direction control system and key change direction control method
JP4786531B2 (en) Encryption system, encryption device, decryption device, program, and integrated circuit
JP4071870B2 (en) Secret key generation method
JPWO2012011575A1 (en) Encryption system, encryption communication method, encryption device, key generation device, decryption device, content server device, program, storage medium
CN108183791B (en) Intelligent terminal data security processing method and system applied to cloud environment
JP5432736B2 (en) Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium
JP6556955B2 (en) Communication terminal, server device, program
CN102187617A (en) Cryptographic system
WO2007011071A1 (en) Time apparatus, encrypting apparatus, decrypting apparatus, and encrypting/decrypting system
Holz et al. Linear-complexity private function evaluation is practical
JP6840685B2 (en) Data sharing method, data sharing system, communication terminal, data sharing server, program
JP4790736B2 (en) Reply path information generation device, communication device, anonymous communication method, program, and recording medium
JP7125857B2 (en) Encryption system, encryption device, decryption device, encryption method, decryption method, and program
JP4685621B2 (en) Key generation apparatus, encryption apparatus, decryption apparatus, multiplicative knapsack cryptosystem, multiplicative knapsack cipher decryption method and program
JP4758814B2 (en) Anonymous ciphertext communication system, key generation device, communication device, method thereof, program, and recording medium
JP5038866B2 (en) Encryption communication method, encryption device, decryption device, and program thereof
KR102424856B1 (en) Compression and indeterminate expansion of RLWE ciphertexts
JP2005176144A (en) Terminal device, communication system and communication method
US11082406B2 (en) System and method for providing end-to-end security of data and metadata
CN114679257B (en) Multipath key relay method, transmitting device, receiving device and related equipment
CN114900442B (en) Method for predicting business data and related product thereof
JP7254296B2 (en) Key exchange system, information processing device, key exchange method and program
JP6000207B2 (en) ENCRYPTION SYSTEM, SYSTEM PARAMETER GENERATION DEVICE, ENCRYPTION DEVICE, DECRYPTION DEVICE, METHOD THEREOF, AND PROGRAM
JP2000019959A (en) Cipher communication system, cipher communication method and storage medium recording cipher communication program
JP5752751B2 (en) Decryption system, terminal device, signature system, method thereof, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110720

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

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees