JP3298826B2 - 匿名通信方法及び装置及びプログラム記録媒体 - Google Patents

匿名通信方法及び装置及びプログラム記録媒体

Info

Publication number
JP3298826B2
JP3298826B2 JP14984198A JP14984198A JP3298826B2 JP 3298826 B2 JP3298826 B2 JP 3298826B2 JP 14984198 A JP14984198 A JP 14984198A JP 14984198 A JP14984198 A JP 14984198A JP 3298826 B2 JP3298826 B2 JP 3298826B2
Authority
JP
Japan
Prior art keywords
random
node device
data
node
replacement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP14984198A
Other languages
English (en)
Other versions
JPH11338346A (ja
Inventor
正幸 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP14984198A priority Critical patent/JP3298826B2/ja
Publication of JPH11338346A publication Critical patent/JPH11338346A/ja
Application granted granted Critical
Publication of JP3298826B2 publication Critical patent/JP3298826B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電気通信装置を
介して例えばアンケート調査その他の投票を実施する場
合に、匿名性を保ちつつ、結果の検証が可能な通信に適
用される匿名通信方法、その装置およびプログラム記録
媒体に関する。
【0002】
【従来の技術】現在行われている物理的媒体、即ち投票
用紙を用いた投票では、投票用紙を不透過な投票箱に入
れる事によって匿名性を保ち、集計時まで投票箱を開け
られないように鍵を掛ける事によって紛失を防ぎ、集計
時には複数人の監視の元に集計を行うことによって結果
の正当性を保っている。
【0003】電気通信装置を介するシステムにおいて、
上記匿名性を保ちつつ結果の正当性を検証可能とする方
式として、例えば、論文“Receipt-free mix-type voti
ng scheme-a practical solution to the implementati
on of a voting booth- ”,Eurocrypt'95,vol.950 of
LNCS ,page 393-403,Springer-Verlag に示される方
法がある。
【0004】この方法によれば、暗号化されたメッセー
ジのセットは各ノードによって部分的に復号化され、ラ
ンダムに置換された後、次のノードへ送付され、最後の
ノードまで逐次同様の処理を行うことにより、最終的に
ランダムに置換された復号結果を得る。この方法では各
ノードが個々の動作の正当性を証明する証明書を作成す
ることにより、全体としての匿名性および結果の正当性
を証明する。即ち、各ノードは、そのノードの出力がそ
のノードの入力の部分的復号結果をランダムに置換した
ものである事を実際の置換順序を明かさずに零知識証明
によって証明する。各ノードが用いたランダム置換が秘
匿されている限り匿名性は保たれる。
【0005】
【発明が解決しようとする課題】上記従来法によれば、
検証者は各ノードによる零知識証明を逐次検証する必要
があり、検証に必要な計算量はノード数に比例して増大
する。電子通信装置を介する選挙においては、強力な電
子計算機を持たない多くの一般投票者が検証者となるこ
とが想定されるため、検証に必要な計算量は少ないこと
が望まれる。
【0006】この発明は、検証に必要な計算量をノード
数と無関係に一定に押さえ、強力でない計算機環境を持
つ検証者に短時間で検証を実行することを可能とする。
【0007】
【課題を解決するための手段】匿名通信網をランダム置
換ノード装置P1 〜Pm と復号ノード装置D1 〜Dk
ら構成する。各復号ノード装置Di は公開鍵KPi およ
び秘密鍵KSi を保持する。予め定めた暗号鍵合成関数
FP()および復号鍵合成関数FS()に関して、KP
=FP(KP1 ,…,KPk )、KS=FS(KS1
…,KSk )となるKP,KSをそれぞれ公開暗号化
鍵、復号鍵とする。メッセージ送信者装置Sj はメッセ
ージmj をKPで暗号化し、掲示板装置へ送付する。掲
示板装置は、予め定めた期限等の条件によってメッセー
ジの受付を締切る。掲示板装置は暗号化されたメッセー
ジE01,…,E0n を署名付きでランダム置換ノード装
置P 1 へ送付する。ランダム置換ノード装置P1 は予め
定めたランダム化関数R()にEi および乱数ri を順
次入力して、出力E’11,…,E’1nを得る。更にラン
ダム置換関数Ri によってE1j=E’1Ri(j)として順序
を入れ換え、その出力E11,…,E1nを署名と共に次の
ノード装置P2 へ送付する。各ランダム置換ノード装置
は上記処理を行い、最後のランダム置換ノード装置Pm
は出力Em1,…,Emnを掲示板装置へ送付する。
【0008】次に、各ノード装置Pi はEmj=R(E
0Ri'(j) ,rj ’)なる乱数rj ’と置換Ri ’が存在
することの証明Ppを協力して作成する。証明Ppが不
正の場合、各ノード装置Pi は計算に用いた全ての乱数
j およびRi と、一つ前のノード装置Pi-1 から受信
した全ての値を公開する。公開を拒否するノード装置あ
るいは公開した値が正常な計算と合格しないノード装置
が発見された場合は、そのノード装置を除外し、メッセ
ージ受付締切後の処理をもう一度繰り返す。証明Ppが
正しい場合は、掲示板装置へ証明Ppを公開する。
【0009】復号ノード装置は公開された証明Ppを検
証し、証明Ppが不正である場合は上記と同様の手段で
不正なノード装置を発見し、ランダム置換ノード装置に
計算を再実行させる。証明Ppが正しい場合、各復号ノ
ード装置Di は各ノード装置の復号鍵KSi により、E
m1,…,Emnを復号し、Di1,…,Dinを得る。各復号
ノード装置は全復号ノード装置の出力を関数C()によ
り合成し、一つの復号結果D1 ,…,Dn を得る。掲示
板装置にD1 ,…,Dn を公開した後、各復号ノード装
置は合成された復号結果が復号鍵KSによる復号結果と
等価であることを協力して証明する。この証明Pdは各
ノード装置Di によって検証された後、掲示板装置に公
開される。
【0010】外部の検証者は、E01,…,E0n、Em1
…,Emn、D1 ,…,Dn を掲示板装置から入手し、P
p,Pdが正しいことを検証する。
【0011】
【発明の実施の形態】暗号化関数としてElGamal
暗号を用い、この発明の実施例を説明する。この実施例
のシステム構成を図1に示す。共通パラメータとして、
大きな素数qに対してp=2q+1なる大きな素数p
と、qが作る部分群Gq の生成元gが公開されているも
のとする。以下の説明における演算は特に表記がない限
り、全てmod pを取るものとする。各復号ノード装置D
i (i=1,2,…,m)は秘密鍵Xi および公開鍵Y
i =g^Xi を生成する。A^BはAB を表わす。全復
号ノード装置Di の公開鍵Yi から、Y=Y1 ・Y2
m として暗号鍵Yを作成して公開する。このとき、暗
号鍵Yに対応する復号鍵XはX=X1 +X2 +…+Xm
mod qとなり、全復号ノード装置Di が秘密鍵Xi を明
かさない限り、どの復号ノード装置Di も復号鍵Xの値
を知り得ない。
【0012】各メッセージ送信者装置Sj (j=1,
2,…,n)は、そのメッセージmj<pをGq の要素
となるように選択し、乱数r0jを用いてE0j=(M0j
0j)=(mj ・Y^r0j,g^r0j)を計算し、つま
りメッセージmj を暗号化して掲示板装置11へ送付す
る。掲示板装置11は送信者装置Sj の認証を行い、予
め決められた送信者装置S j からのみ書き込み要求を受
け付ける。書き込まれた全てのデータE0jは逐次公開さ
れる。掲示板装置11への読出しアクセスは誰でも実行
することが可能であり、データE0jは掲示板装置11の
署名付きで読み出しアクセスを実行したエンティティー
(読出し要求者)に送付される。
【0013】予め定めた規定に従ってメッセージの受信
が締切られた時点で、n個のメッセージが掲示されてい
たものとする。ランダム置換ノード装置Pi (i=1
2,…,m)は以下のランダム置換手順を実行する。図
2と図3に示すようにランダム置換ノード装置P1 は読
込み部201により掲示板装置11からE01,…,E0n
を読み出し(S1)、i=1に初期化する。装置P1
乱数生成部202から乱数r1jを生成し、ランダム化部
203で E’1j=(M0j・Y^r1j、G0j・g^r1j) ・・・(1) を計算してデータ(M0j,G0j)をランダム化する。更
にランダム置換部204によってランダム置換関数R1
で暗号化データE’1jを E1j=E’1Ri(j) ・・・(2) として順序を入れ換え、その出力E11,…,E1nをこれ
に対する装置P1 の署名を署名部205付けて次のノ
ード装置2 へ送信部206から送付する。以下、各ラ
ンダム置換ノード装置i は乱数rijを生成し(S
3)、 E’ij=(Mi-1,j ・Y^rij、Gi-1,j ・g^rij) ・・・(3) を計算する(S4)。更にランダム置換関数Ri によっ
て Eij=E’iRi(j) ・・・(4) として順序を入れ換え(S5)、i=mでなければ(S
6)、その出力Ei1,…,Einを署名と共に次のノード
装置i+1 へ送付し(S7)、iを+1してステップS
3に戻る(S8)。
【0014】各ランダム置換ノード装置Pi は上記処理
を行い、最後のランダム置換ノード装置Pm は出力
m1,…,Emnを掲示板装置11へ送付する(S9)。
次に、各ランダム置換ノード装置Pi は協調して証明P
pを発行する以下の証明手順を実行する。つまり各装置
i はそれぞれ不正をすることなく正しい処理(図3に
示したランダム置換処理)をしたことの証明Ppを協調
して発行する。
【0015】装置P1 は乱数t1jを生成し、 T’1j=(M0j・Y^t1j、G0j・g^t1j) ・・・(5) を計算する。更にランダム置換関数w1 によって T1j=(U1j,V1j)=T’1,w1(j) ・・・(6) として順序を入れ換え、その出力T11,…,T1nを装置
2 へ送付する。同様に装置Pi は T’ij=(Ui-1,j ・Y^tij、Vi-1,j ・g^tij) ・・・(7) を計算し、ランダム置換関数wi によって順序を入れ換
えた出力を次の装置Pi+ 1 へ送付する。最後のノード装
置Pm はTm1,…,Tmnを掲示板装置11へ送付する。
つまり乱数rijの代りにtijを生成し、置換関数Ri
代りに置換関数w i を用いて、図3に示したと同様なラ
ンダム置換処理を行う。
【0016】ここで、置換の合成w’i(j) はwi・w
i+1 …wm(j) を表すものとし、特に、w’i(j)
はw1 ・w2 …wm(j) を表すものとすると、全ての
mjが正しく作成されている場合、 tj =t1,w1...wm(j)+t2,w2...wm(j)+…+tm,wm(j) ・・・(8) として、 Umj=M0,w'(j) ・Y^tj ・・・(9) およびVmj=G0,w'(j) ・g^tj ・・・(10) が成り立つ。
【0017】(9)の成立は以下の様に説明できる。ま
ず、ランダム置換ノード装置P1 の出力は、 U1,j=MO,w1(j) ・Y^t1,w1(j) であり、続くノード装置P2 の出力は、 U2,j =U1,w2(j) ・Y^t2,w2(j) =M0,w1w2(j) ・Y^(t1,w1w2(j)+t2,w2(j) となる。従って、ノード装置Pm の出力は、 Um,j =M0,w1w2...wm(j)・Y^(t1,w1...wm(j)+t2,w2...wm(j)+…+tm, wm(j) ) =M0,w'(j) ・Y^tj となり、式(9)が成立する。式(10)も全く同様に
説明される。
【0018】さらに、Ri -1をRi の逆置換関数とし
て、Ri -1・Ri-1 -1…R1 ・w1 …wi-1 ・wi
z’i (j) で表すと、全てのEmjが正しく作成されてい
る場合、 sj =t1,w1...wm(j)−r1,w1...wm(j)+… +ti,wi...wm(j)−ri,z'i-1 i...m j)+… +tm,wm(j) −rm,z'm-1 wm(j) (mod q) ・・・(11) として、Umj=Mm,z'm(j)・Y^sj ・・・(12) およびVmj m,z'm(j) ・g^sj ・・・(13) が成り立つ。式(12)の成立は以下の様に説明でき
る。まず、Um,j の場合と同様に、Mm,j は、 Mm,jj =M0,R1...Rm(j) ・Y^(r1,R1...Rm(j) ...+rm,Rm(j) ) と書ける。従って、Mm,z ´m(j) =M0,R1...Rmz ´m(j)・Y^(r1,R1...Rmz ´m(j)...+rm,Rmz ´m(j ) ) =M0,R1...RmRm -1 ... R1 -1W1...Wm(j) ・Y^(r1,R1...RmRm -1 ... R1 -1W1...Wm(j) ...+rm,RmRm -1 ... R1 -1W1...Wm(j) ... =M0,W1...Wm(j) ・Y^(r1,W1...Wm(j)...+rm,zm-1wm(j) ) となる。よって、 Um,j /Mm,z ´(j) =M0,W1...Wm(j) ・Y^(t1,W1...Wm(j) ...+tm,wm(j) ) /M0,W1...Wm(j) ・Y^(r1,W1...Wm(j) ...+rm,zm-1wm(j) ) =Y^(t1,w1...Wm(j) −r1,W1...Wm(j) ...+tm,wm(j) −rm,zm-1w m(j) ) =Y^sj となり、式(12)が成立する。式(13)も全く同様
に説明できる。
【0019】図4に示すように乱数rijを用いたランダ
ム置換処理(S1)の後、乱数tijを用いたランダム置
換処理を行い(S2)、その後各装置Pi は掲示板装置
11からTm1,…,Tmnを読み込み(S3)、予め定め
た一方向性関数を用いて c=h(Tm1,…,Tmn) ・・・(14) を計算する(S4)。cは等確率で0または1の値を取
り、その値に従って、装置Pi は以下の処理を行う。c
=0の場合(S5)装置Pi は ei =h(ti1,…,tin、wi ) ・・・(15) を計算してei を公開する。つまり掲示板装置11へ送
る(S6)。全ての装置Pi がei を公開した後、各装
置Pi はti1,…,tin,wi を公開し(S7)、他の
全てのノード装置Pi から公開されたei が ei =h(ti1,…,tin、wi ) ・・・(16) を満たすか否かを検証する(S8)。上式を満たさない
データを公開したノード装置がある場合には、そのノー
ド装置を除外し(S9)、ステップS1に戻り、メッセ
ージ受信締め切り後の処理を再度実行する。全てのei
が正しい場合(S8)、 tj =t1,w'1(j)+t2,w'2(j)+…+tm,w'm(j)mod q ・・・(17) を計算し(S10)、 Umj=M0,w'm(j)・Y^tj ・・・(18) およびVmj=G0,w'm(j)・g^tj ・・・(19) となるか否かを検証する(S11)。即ち、この検証で
は最初のノード装置P1の入力と、最後のノード装置P
m からの出力を結ぶ乱数tj およびランダム置換w’1
が存在することを実際にtj ,w’i を計算することに
より確認する。この確認ができない、つまり上式が満た
されない場合、各ノード装置の入出力について、 Uij/Ui-1,w'i(j)=Y^ti,w'i(j) ・・・(20) かつ Vij/Vi-1,w'i(j)=g^ti,w'i(j) ・・・(21) となるか否かを検証する(S12)。この検証を満たさ
ないデータを公開したノード装置がある場合、そのノー
ド装置を除外し(S9)、ステップS1に戻りメッセー
ジ受信締め切り後の処理を再度実行する。
【0020】全ての検証に合格した場合、Tm1,…,T
mn、t1 ,…,tn を証明書とする(S13)。以上の
ように、乱数rijを表に出すことなく、いわゆるコミッ
トメント生成処理によりTijを生成し、これに対し、チ
ャレンジcを生成し、その応答(アンサ)としてt1
…,tn を得ることができる。c=1の場合(S5)、
装置P1 は z1 ´=R1 -1 w1 ・・・(22) s1j=t1,w1(j) −r1,w1(j) mod q ・・・(23) を装置P2 へ送付する。同様に、各装置Pi は zi ´=Ri -1 i-1 ´wi ・・・(24) sij =si-1,wi(j) +ti,wi(j) −ri,zi-1´・wi(j) mod q ・・・(25) を次の装置Pi+1 へ送付する(S14)。最後のノード
装置Pm はsmjおよびz’m を公開する(S15)。こ
こで、全ての装置が正しければ、Pm が公開したs
mjは、式(25)におけるsj と等しくなる。これは、
式(11)および式(25)より明らかに成立する。
【0021】各ノード装置は装置Pm が公開した値が、 Umj=Mm,z'm(j)・Y^smj ・・・(26) およびVmj=Gm,z'm(j)・g^smj ・・・(27) を満たすか否かを検証する(S16)。上式が満たされ
ない場合、各ノード装置の値が、 Uij i,z'i(j) ・Y^sij ・・・(28) およびVij=Gi,z'i(j)・g^sij ・・・(29) を満たすか否かを検証する(S17)。上式を満たさな
いデータを公開したノード装置がある場合、そのノード
装置を除外し(S18)、ステップS1に戻りメッセー
ジ受信締め切り後の処理を再度実行する。
【0022】全ての検証に合格した場合、Tm1,…,T
mn、s1 ,…,sn を証明書とする(S19)。cの値
が予め予測できれば、上記処理における検証式を満足す
るような不正データを作成する事は容易である。予測し
の値が実際に起こる確率は、1/2なので、上記手
順を例えば40回繰り返した場合に全ての予測が当たる
確率は2-40 となり、ほぼおこり得ないと考えてよい。
従って上記証明手順を予め定められた回数(40〜80
回)繰り返す。あるいは、繰り返し回数分の処理を並列
に実行した後、発行された全証明書を一つの証明書Pp
として掲示板に公開する。
【0023】なお上述の処理で検証が成立しないノード
装置は除外して処理するため、例えばロセッサが故障
したものは除かれて正しい処理が行われることになる。
証明書Ppが公開された後、全復号ノード装置はPpを
検証する。つまりUmj=M0,w'm(j)・Y^tj ,Vmj
0,w'm(j) ・g^tj を満すか、Umj m,z'm(j)
Y^ j ,Vmj m,z'm(j) ・g^ j を満すかを調べ
る。Ppが不正の場合には、ランダム置換ノード装置に
処理を再実行させるか、または停止する。
【0024】図5に示すようにPpが検証に合格した場
合(S1)、復号ノード装置は以下の復号手順を実行す
る。i=1、H0 =1と初期化し(S2)、ノード装置
1は Hi =Gmi^X1 ・・・(30) を計算し、次の装置D2 へ送付する。同様に装置Di は Hij=Hi-1,j ・Gmj^Xj ・・・(31) を計算し、つまり復号処理の一部を実行し(S3)、i
=kでなければ(S4)、次の装置Di+1 へHijを送付
する(S5)。その後iを+1してステップS3に戻る
(S6)。ステップS4でi=kであれば最後の復号ノ
ード装置Dk は、Hkiを掲示板装置11へ送付する(S
7)。
【0025】次に、全復号ノード装置は各ノード装置が
正しく処理を行った、つまり各Hkiが正しいものである
ことの証明書Pdを発行する為に図6に示すように以下
の協調証明手順を実行する。まずi=1、F0 =1、R
0j=1と初期化し(S1)、復号ノード装置D1 は乱数
1 を生成し(S2)、 F1 =g^a1 およびR1j=Gmj^a1 ・・・(32) を演算して次の装置D2 へ送付する。以下同様に装置D
i は Fi =Fi-1 ・g^ai およびRij=Ri-1,j ・Gmj^ai ・・・(33) を計算し(S3)、i=kでなければ(S4)、次の装
置Di+1 へFj ,Rijを送付する(S5)。iを+1し
てステップS2に戻る(S6)。i=kであれば最後の
復号ノード装置Dk はFk ,Rkjを掲示板装置11へ送
付する(S7)。
【0026】各復号ノード装置は掲示板装置11からF
k ,Rkj,Hkjを読み込み(S8)、これらと公開鍵Y
を一方向性関数演算 c=h(Y,Fk ,Hk1,Rk1,…,Hkn,Rkn) ・・・(34) を行う(S9)。i=1,b0 =0、c(S10)、装
置D1 は b1 =a1 −c・X1 mod q ・・・(35) を計算し、装置D2 へ送付する。以下同様に装置Di は bi =ai −c・Xi +bi-1 mod q ・・・(36) を計算し(S11)、i=kでなければ(S12)、b
i を装置Di+1 へ送付し(S13)、iを+1してステ
ップS11へ戻る(S14)。i=kであれば最後の復
号ノード装置Dk はbk を掲示板装置11へ送付する
(S15)。
【0027】各復号ノード装置Di が正しく動作した場
合、 Fk =g^bk ・Y^c ・・・(37) および Rkj=Gmj^bk ・Hkj^c ・・・(38) が満たされる。更に、各復号ノード装置Di の入出力に
関して、 Fi =g^(bi −bi-1 )Yi ^c ・・・(39) および Rij=Gmj^(bi −bi-1 )・(Hij/Hi-1,j )^c ・・・(40) が成り立つ。
【0028】各復号ノード装置Di は、まずFk =g^
k ・Y^cおよびRkj=Gmj^b k ・Hkj^cを検証
し(S16)、成り立つ場合は、Y,Fk ,Hk1
k1,…,Hkn,Rknおよびbk を証明書Pdとして公
開する(S17)。上記検証式が成り立たない場合、証
明書Pdの発行に用いた復号鍵Xi 以外の全ての情報を
公開して、各ノード装置Di の入出力について上記検
証、Fi =g^(bi −bi- 1 )・Yi ^c,Rij=G
mj^(bi −bi-1 )・(Hij/Hi-1,j )が成り立つ
かを調べ、不正な動作を行った復号ノード装置を検出す
る(S18)。
【0029】検証に合格した後、復号ノード装置 r
(r=1,…,m)は m’j =Mkj/Hkj ・・・(41) を計算し、復号結果としてm’j を公開する(S1
9)。外部検証者装置VはPp,Pdおよびm’j =M
kj/Hkjが成り立つことを検証する。
【0030】ランダム置換ノード装置の機能構成は図2
に示すように、先に述べたように、乱数生成部202よ
りの乱数rijを用い、公開鍵Y、公開情報gなどを用い
て、掲示板装置11のメッセージE0jを出発としたメッ
セージEi-1,j をランダム化部203でランダム化し、
更にランダム置換部204で順序を置換えてEijとして
送信部206より次のノード装置Pi+1 へ送る。
【0031】置換協調証明手段220が設けられ、この
手段220ではランダム置換処理部210と同様のラン
ダム置換処理部221により、乱数rijの代りに乱数t
ijで処理される。終段のノード装置Pm のランダム置換
処理部221が公開したデータTmjを変数とする一方向
性関数演算部222による演算がなされ、その演算結果
cが0か1かの判定が制御部250で行われる。c=0
の場合での処理として乱数ti1,…,tin、置換関数w
i が一方向性関数演算部223に入力され、演算され、
i が出力公開される。また乱数tij,wi も公開さ
れ、その後に、他のランダム置換ノード装置におけるe
i とtij,wi の関係がei 検証部224で式(16)
により検証され、更にtj 計算部225で式(17)が
計算され、Umj,Vmj検証部226で式(18)、式
(19)が共に成立するかの検証が行われる。この検証
に合格した場合は、ノード入出力検証部227で式(2
0)および式(21)が共に成立するかの検証が行われ
る。各種の検証結果に基づき次にどの処理を行かの判断
は制御部250で行う。全ての検証に合格して証明書P
pを発行するのはPp証明発行部228で行う。
【0032】c=1の場合はsij,z’演算部231で
式(24)、式(25)の演算が行われ、Umj,Vmj
証部232で式(26)と式(27)が成立するかの検
証が行われる。その検証が不合格の場合、Uij,Vij
証部233で式(28)と式(25)を満すかが検証さ
れる。全ての検証に合格するとPp証明発行部228か
ら証明書Ppが発行される。
【0033】記憶部240には各種公開情報を記憶する
と共に読込んだデータを一時、格納したり、発生した乱
数を保持したり、などがなされる。制御部250は前述
したように各種検証結果の判断、これにもとづく次の処
理、記憶部240に対する読み書き、各種データの次ノ
ード装置Pi+1 又は掲示板装置11への送信部206を
通じる送信、その他各部の順次制御などを行う。なおU
mj,Vmj検証部226,232、ノード入出力検証部2
27、Uij,Vij検証部233は置換検証手段235を
構成している。
【0034】図7に復号ノード装置Di の機能構成例を
示す。記憶部310には各種公開情報、読込み部311
から読込んだデータ、発生乱数の保持、生成データの保
持などに用いられる。Pp検証部312では式(18)
と式(19)又は式(26)と式(27)を満すかの検
証を行い、部分復号部313で式(31)の演算により
復号処理の一部がなされ、その結果Hijは送信部314
により次ノード装置D i+1 へ送られる。
【0035】乱数生成部315より乱数ai が生成さ
れ、この乱数ai を用いて、Fi 演算部316、Rij
算部317で式(33)が演算され、Fi ,Rijが送信
部314より次ノード装置Di+1 へ送られる。掲示板装
置11から読込まれたFk ,R kjと公開鍵Yを用い一方
向性関数演算部318で式(34)が演算され、その演
算結果cを用いて、bi 演算部319で式(36)が演
算され、その結果bi が次ノード装置bi へ送付され
る。Fk ,Rkj検証部320で式(37)、式(38)
が成立するかの検証が行われ、これに合格するとPd証
明発行部321より証明Pdが発行送出される。部31
6に部321は復号協調証明手段330を構成してい
る。
【0036】復号演算部331では式(41)の演算に
よりmj が復号され、不正ノード検出部332では式
(39)、式(40)が演算され、不正ノード装置の検
出が行われる。部320〜332は復号検証手段340
を構成している。制御部350では各種検証部での検証
結果を判断し、その判断に基づく処理を各部に行われ、
記憶部310に対する読み書き、読込み部311による
読込み、次ノード装置Di+1 、掲示板装置11へその各
データの送付、各部の順次処理などを行う。
【0037】ランダム置換ノード装置、復号ノード装置
はそれぞれコンピュータにより、プログラムを読出し、
解読実行することにより、それぞれ機能させるように構
成することもできる。復号ノード装置D1 〜Dk はラン
ダム置換ノード装置P1 〜P m の部分集合として構成す
ることもできる。つまり、1つの復号ノード装置と1つ
のランダム置換ノード装置を共通のプロセッサで構成
し、それぞれ独立した復号ノード装置と、ランダム置換
ノード装置として機能させるように構成してもよい。
【0038】またランダム置換ノード装置は複数個より
なるノードの組を、複数用意しておき、その1つの組に
より上述したように協調して、ランダム置換、証明書生
成などを行い、そのノードの組がプロセッサが損傷した
りして、復号ノード装置での証明書の検証が不成功とな
った場合は、別のノードの組を用いて、改めてランダム
置換、証明書作成などを再実行させるように構成するこ
ともできる。
【0039】
【発明の効果】上記実施例で示された協調証明書発行手
順によれば、発行された証明書PpはTm1,…,Tmn
1 ,…,sn 又はt1 ,…,tn とよりなるデータか
ら成り、メッセージmj の数nに依存し、ランダム置換
ノード装置Pi の数に依存しない。同様に、証明書Pd
はY,Fk ,Hk1,Rk1,…,Hkn,Rknおよびbk
ら成り、メッセージmj の数に依存し、復号ノード装置
i の数に依存しない。従って、外部検証者装置はノー
ドの数に依存しない計算量でPp,Pdを検証する事が
可能である。
【図面の簡単な説明】
【図1】この発明の実施例におけるシステム構成を示す
ブロック図。
【図2】この発明のランダム置換ノード装置Pi の実施
例の機能構成を示すブロック図。
【図3】この発明方法中のランダム置換処理の手順を示
す流れ図。
【図4】ランダム置換ノード装置Pi における処理手順
の例を示す流れ図。
【図5】この発明の方法における復号手順の部分を示す
流れ図。
【図6】復号ノードの証明Pdの発行処理手順の例を示
す流れ図。
【図7】この発明の復号ノード装置の実施例の機能構成
を示すブロック図。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04L 9/00 G06F 17/60 148 G09C 1/00 660 JICSTファイル(JOIS)

Claims (13)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のメッセージ送信者装置が一つの掲
    示板装置に匿名のメッセージを通信掲載する匿名通信方
    法であり、 複数のランダム置換ノード装置P1 〜Pm と復号ノード
    装置D1 〜Dk を設け、各送 信者装置 j により暗号化したメッセージEj を掲
    示板装置に送付する第一のステップと、 ランダム置換ノード装置P1 が掲示板装置に受信した全
    メッセージを受信し、各メッセージEj をランダム化し
    た後、メッセージの順序をランダムに置換してメッセー
    ジE 1j としてランダム置換ノード装置P 2 へ送付し、ラ
    ンダム置換ノード装置P i (i=2, ・・・ ,m−1)は受
    信したメッセージE i-1j をランダム化した後、メッセー
    ジの順序をランダムに置換してメッセージE ij としてラ
    ンダム置換ノード装置P i+1 へ送付し、ランダム置換ノ
    ード装置P m は受信したメッセージE m-1j をランダム化
    した後、メッセージの順序をランダムに置換し、メッセ
    ージE mj として掲示板装置へ出力する第二のステップ
    と、 ランダム置換ノード装置P1 〜Pm 、前段のランダム
    置換ノード装置から受け取った計算結果に基づく計算を
    行い、後段のランダム置換ノード装置に自己の計算結果
    を送付することで、最後のランダム置換ノード装置Pm
    の出力が全送信者装置からの入力メッセージに対する
    ランダム化と置換の結果であることを証明する証明書を
    作成する第三のステップと、 第三のステップで出力された証明書を各復号ノード装置
    が検証する第四のステップと、 各復号ノード装置Di がランダム化された暗号メッセー
    ジを部分復号する第五のステップと、 その部分復号の結果から全体復号の結果を計算する第六
    のステップと、復号ノード装置D 1 〜D k が、前段の復号ノード装置から
    受け取った計算結果に基づく計算を行い、後段の復号ノ
    ード装置に自己の計算結果を送付することで最後の復号
    ノード装置D k の出力が、正しく復号された結果である
    ことを 証明する証明書を作成する第七のステップと、 第七のステップで作成された証明を各復号ノード装置
    が検証する第八のステップとを備えることを特徴とする
    匿名通信方法。
  2. 【請求項2】 請求項1記載の匿名通信方法において、 第四のステップにおける検証が不成功となった場合に、
    各ランダム置換ノード装置P1 〜Pm は第二のステップ
    で用いた情報により、ランダム置換ノード装置P1 〜P
    m のそれぞれの入出力データを検証することにより、不
    正な結果を出力した置換ノード装置を特定し、その不正
    なノード装置を用いずに第二〜四のステップを再実行す
    ることを特徴とする匿名通信方法。
  3. 【請求項3】 請求項1又は2記載の匿名通信方法にお
    いて、 第八のステップにおける検証が不成功となった場合に、
    各復号ノード装置D1〜Dk は第七のステップで用いた
    復号鍵を除く全ての情報を公開し、第七のステップにお
    ける各復号ノード装置Di の証明が第五のステップにお
    ける復号ノード装置Di の入出力関係に対する証明とな
    っているか否かを検証することにより、不正な結果を出
    力した復号ノード装置を特定し、不正なノード装置を用
    いずに第五〜八のステップを再実行することを特徴とす
    る匿名通信方法。
  4. 【請求項4】 請求項1乃至3の何れかに記載の匿名通
    信方法において、 復号ノード装置D1 〜Dk はランダム置換ノード装置P
    1 〜Pm と共通のプロセッサにより構成されることを特
    徴とする匿名通信方法。
  5. 【請求項5】 請求項1乃至4の何れかに記載の匿名通
    信方法において、 ランダム置換ノード装置として複数のノードセットを備
    え、一つのノードセットを用いて第二〜四のステップを
    実行し、第四のステップにおける検証が不成功となった
    場合には別のノードのセットを用いて第二〜四のステッ
    プを再実行することを特徴とする匿名通信方法。
  6. 【請求項6】 公開情報などを記憶する記憶部と、 乱数生成手段と、 掲示板装置からの暗号化メッセージを乱数によりランダ
    ム化するランダム化手段およびそのランダム化されたメ
    ッセージの順序をランダムに置換するランダム置換手段
    とよりなる第1ランダム置換処理手段と、 上記暗号化メッセージを他の乱数でランダム化およびラ
    ンダム置換を行う第2ランダム置換処理手段と、最後のランダム置換ノード装置が出力した証明書が、複
    数のランダム置換ノード装置において、前段のランダム
    置換ノード装置から受け取った計算結果に基づく計算を
    行い、後段のランダム置換ノード装置に自己の計算結果
    を送付することで、最後のランダム置換ノード装置から
    出力された正しいものである ことを上記第2ランダム置
    換処理手段の処理にもとづくデータを用いて、検証する
    証明検証手段と、 掲示板装置から所要データを読込む読込み手段と、 第1、第2ランダム置換処理手段の各処理データを次の
    ランダム置換ノード装置へ送信し、その他のデータをラ
    ンダム置換ノード装置又は掲示板装置へ送信する送信手
    段と、 各種検証結果にもとづき処理すべき手段を決定して処理
    を行わせたり、記憶部に対する読み書きを行う制御手段
    とを具備するランダム置換ノード装置。
  7. 【請求項7】 請求項6記載のランダム置換ノード装置
    において、上記証明検証手段は、 最後のランダム置換ノード装置の
    第2ランダム置換処理手段の処理結果に対し、予め決め
    られた関数演算を行う第1関数演算手段と、 上記第1関数演算手段の演算結果に応じて第1処理手段
    又は第2処理手段を実行させる手段とを備え、 上記第1処理手段は上記第2ランダム置換処理手段に用
    いた乱数と置換関数に対し予め決められた関数演算を行
    う第2関数演算手段と、 他のランダム置換ノード装置について上記第2関数演算
    手段の演算を検証する演算検証手段と、 その演算検証手段がすべてのランダム置換ノード装置に
    ついて合格すると、最初のランダム置換ノード装置の入
    力と、最後のランダム置換ノード装置の出力とを関係付
    ける乱数と置換関数との存在を検証する手段とを備え、 記第2処理手段は前段のランダム置換ノード装置より
    受信した、第1、第2ランダム置換処理手段にそれぞれ
    用いた乱数を互いに関連させたデータに、自己の第1、
    第2ランダム置換処理手段にそれぞれ用いた乱数を関連
    させるデータを作る乱数関連付け手段と、 最後のランダム置換ノード装置の上記乱数関連付け手段
    で作ったデータを用いて、最後のランダム置換ノード装
    置の上記第1、第2ランダム置換処理手段の両出力デー
    タを関連付ける検証式が成立するかを検証する手段と
    備えることを特徴とするランダム置換ノード装置。
  8. 【請求項8】 請求項7記載のランダム置換ノード装置
    において 上記第1処理手段 は、各ランダム置換ノード装置の第2
    ランダム置換処理手段の入力データと出力データと
    定の関係にあるかを検証する第1ノード検証手段を含
    み、 上記第2処理手段は、各ランダム置換ノード装置の第
    1、第2ランダム置換処理手段の両出力データが所定の
    関係にあるかを検証する第2ノード検証手段を含むこと
    を特徴とするランダム置換ノード装置。
  9. 【請求項9】 復号鍵、公開情報などを記憶する記憶手
    段と、 ランダム置換ノード装置が作成した証明Ppを検証する
    証明検証手段と、 暗号化メッセージの一部を含む情報を復号鍵で部分復号
    処理を行う部分復号手段と、 上記部分復号手段の処理結果を用いて暗号化メッセージ
    を復号する復号演算手段と、乱数生成手段と、 前段復号ノード装置から受け取った公開情報ランダム化
    データを上記乱数によりランダム化して、自装置の公開
    情報ランダム化データを生成する公開情報ランダム化手
    段と、 最後の復号化ノード装置の公開情報ランダム化データ、
    上記部分復号処理結果に対し予め決めた関数演算を行う
    関数演算手段と、 前段復号ノード装置から受け取った復号ノード装置間関
    連付けパラメータと、上記乱数、上記復号鍵、上記関数
    演算結果とに対し予め決めた関数演算を行って 、自装置
    の復号ノード装置間関連付けパラメータを生成するパラ
    メータ生成手段と、 最後の復号ノード装置の上記公開情報ランダム化データ
    が、上記パラメータと上記関数演算結果と公開情報など
    からなる式の演算結果と一致するかの検証を行う検証手
    段と、 その検証に合格すると、最後の復号ノード装置の各段処
    理結果を正しく復号が行われた証明データとする手段
    と、 次の復号ノード装置や掲示板装置へデータを送信する送
    信手段と、 掲示板装置からデータを読込む読込み手段と、 検証結果にもとずき処理すべき手段を決定して処理を行
    わせたり、処理結果データを上記送信手段により、次の
    復号ノード装置や掲示板装置へ送信させたり、上記記憶
    手段に対する読み書きを行う制御手段とを具備する復号
    ノード装置。
  10. 【請求項10】 公開情報などを記憶する記憶部と、 乱数生成手段と、 掲示板装置からの暗号化メッセージを乱数によりランダ
    ム化するランダム化手段およびそのランダム化されたメ
    ッセージの順序をランダムに置換するランダム置換手段
    よりなる第1ランダム置換処理手段と、 上記暗号化メッセージを他の乱数でランダム化およびラ
    ンダム置換を行う第2ランダム置換処理手段と、 最後のランダム置換ノード装置が出力した証明書が、複
    数のランダム置換ノード装置において、前段のランダム
    置換ノード装置から受け取った計算結果に基づく計算を
    行い、後段のランダム置換ノード装置に自己の計算結果
    を送付することで、最後のランダム置換ノード装置から
    出力された正しいものであることを上記第2ランダム置
    換処理手段の処理にもとづくデータを用いて、検証する
    証明検証手段と、 掲示板装置から所要データを読込む読込み手段と、 第1、第2ランダム置換処理手段の各処理データを次の
    ランダム置換ノード装 置へ送信し、その他のデータをラ
    ンダム置換ノード装置又は掲示板装置へ送信する送信手
    段と、 各種検証結果にもとづき処理すべき手段を決定して処理
    を行わせたり、記憶部に対する読み書きを行う制御手段
    を具備するランダム置換ノード装置として、コンピュ
    ータを機能 させるためのプログラムを記録したコンピュ
    ータ読み取り可能な記録媒体。
  11. 【請求項11】 請求項10記載の記録媒体において、上記証明検証手段は、 最後のランダム置換ノード装置の
    第2ランダム置換処理手段の処理結果に対し、予め決め
    られた関数演算を行う第1関数演算手段と、 上記第1関数演算手段の演算結果に応じて第1処理手段
    又は第2処理手段を実行させる手段とを備え、 上記第1処理手段は上記第2ランダム置換処理手段に用
    いた乱数と置換関数に対し予め決められた関数演算を行
    う第2関数演算手段と、 他のランダム置換ノード装置について上記第2関数演算
    手段の演算を検証する演算検証手段と、 その演算検証手段がすべてのランダム置換ノード装置に
    ついて合格すると、最初のランダム置換ノード装置の入
    力と、最後のランダム置換ノード装置の出力とを関係付
    ける乱数と置換関数との存在を検証する手段とを備え、 上記第2処理手段前段のランダム置換ノード装置より
    受信した、第1、第2ランダム置換処理手段にそれぞれ
    用いた乱数を互いに関連させたデータに、自己の第1、
    第2ランダム置換処理手段にそれぞれ用いた乱数を関連
    させるデータを作る乱数関連付け手段と、 最後のランダム置換ノード装置の上記乱数関連付け手段
    で作ったデータを用いて、最後のランダム置換ノード装
    置の上記第1、第2ランダム置換処理手段の両出力デー
    タを関連付ける検証式が成立するかを検証する手段とを
    備えることを特徴とする記録媒体。
  12. 【請求項12】 請求項11記載の記録媒体において、 上記第1処理手段は、各ランダム置換ノード装置の第2
    ランダム置換処理手段の入力データと出力データと
    定の関係にあるかを検証する第1ノード検証手 を含
    み、 上記第2処理手段は、各ランダム置換ノード装置の第
    1、第2ランダム置換処理手段の両出力データが所定の
    関係にあるかを検証する第2ノード検証手段を含むこと
    を特徴とする記録媒体。
  13. 【請求項13】 復号鍵、公開情報などを記憶する記憶
    手段と、 ランダム置換ノード装置が作成した証明Ppを検証する
    証明検証手段と、 暗号化メッセージの一部を含む情報を復号鍵で部分復号
    処理を行う部分復号手段と、 上記部分復号手段の処理結果を用いて暗号化メッセージ
    を復号する復号演算手段と、 乱数生成手段と、 前段復号ノード装置から受け取った公開情報ランダム化
    データを上記乱数によりランダム化して、自装置の公開
    情報ランダム化データを生成する公開情報ランダム化手
    段と、 最後の復号化ノード装置の公開情報ランダム化データ、
    上記部分復号処理結果に対し予め決めた関数演算を行う
    関数演算手段と、 前段復号ノード装置から受け取った復号ノード装置間関
    連付けパラメータと、上記乱数、上記復号鍵、上記関数
    演算結果とに対し予め決めた関数演算を行って、自装置
    の復号ノード装置間関連付けパラメータを生成するパラ
    メータ生成手段と、 最後の復号ノード装置の上記公開情報ランダム化データ
    が、上記パラメータと上記関数演算結果と公開情報など
    からなる式の演算結果と一致するかの検証を行う検証手
    段と、 その検証に合格すると、最後の復号ノード装置の各段処
    理結果を正しく復号が行われた証明データとする手段
    と、 次の復号ノード装置や掲示板装置へデータを送信する送
    信手段と、 掲示板装置からデータを読込む読込み手段と、 検証結果にもとずき処理すべき手段を決定して処理を行
    わせたり、処理結果データを上記送信手段により、次の
    復号ノード装置や掲示板装置へ送信させたり、 上記記憶
    手段に対する読み書きを行う制御手段と を具備する復号
    ノード装置として、コンピュータを機能させるためのプ
    ログラムを記録したコンピュータ読み取り可能な記録媒
    体。
JP14984198A 1998-05-29 1998-05-29 匿名通信方法及び装置及びプログラム記録媒体 Expired - Lifetime JP3298826B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14984198A JP3298826B2 (ja) 1998-05-29 1998-05-29 匿名通信方法及び装置及びプログラム記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14984198A JP3298826B2 (ja) 1998-05-29 1998-05-29 匿名通信方法及び装置及びプログラム記録媒体

Publications (2)

Publication Number Publication Date
JPH11338346A JPH11338346A (ja) 1999-12-10
JP3298826B2 true JP3298826B2 (ja) 2002-07-08

Family

ID=15483834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14984198A Expired - Lifetime JP3298826B2 (ja) 1998-05-29 1998-05-29 匿名通信方法及び装置及びプログラム記録媒体

Country Status (1)

Country Link
JP (1) JP3298826B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4235453B2 (ja) 2001-03-24 2009-03-11 ヴォートヒア インコーポレイテッド 検証可能な秘密のシャッフルおよびそれらの電子投票への応用
JP3901471B2 (ja) 2001-05-18 2007-04-04 日本電気株式会社 証明付シャッフル復号システムと証明付シャッフル復号方法、シャッフル復号検証方法
JP4771053B2 (ja) 2005-05-27 2011-09-14 日本電気株式会社 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム
JP4630144B2 (ja) * 2005-07-07 2011-02-09 日本電信電話株式会社 電子投票装置、開票装置、電子投開票システム、電子投開票方法並びにプログラム

Also Published As

Publication number Publication date
JPH11338346A (ja) 1999-12-10

Similar Documents

Publication Publication Date Title
EP1302020B1 (en) Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections
Ateniese et al. Efficient group signatures without trapdoors
US5606617A (en) Secret-key certificates
JP3003771B2 (ja) 匿名メッセージ伝送方式および投票方式
Chow et al. Robust Receipt-Free Election System with Ballot Secrecy and Verifiability.
Grontas et al. Towards everlasting privacy and efficient coercion resistance in remote electronic voting
Chen Efficient fair exchange with verifiable confirmation of signatures
Rjašková Electronic voting schemes
Wikström Five practical attacks for “optimistic mixing for exit-polls”
KR20060127194A (ko) 공정한 블라인드 서명을 이용한 전자 투표 방법 및 시스템
Locher et al. Receipt-free remote electronic elections with everlasting privacy
Ryabko et al. Basics of contemporary cryptography for IT practitioners
WO2001020562A2 (en) Multiway election method and apparatus
EP1361693B1 (en) Handle deciphering system and handle deciphering method, and program
Zwierko et al. A light-weight e-voting system with distributed trust
JP3298826B2 (ja) 匿名通信方法及び装置及びプログラム記録媒体
EP1633077A2 (en) Verifiable, secret shuffles of encrypted data, such as elgamal encrypted data for secure multi-authority elections
Hevia et al. Electronic jury voting protocols
Cetinkaya et al. A practical verifiable e-voting protocol for large scale elections over a network
JP3910529B2 (ja) 電子投票システム
Grontas et al. Blockchain, consensus, and cryptography in electronic voting
Haghighat et al. An efficient and provably-secure coercion-resistant e-voting protocol
JP3689292B2 (ja) 匿名電子投票装置および匿名電子投票処理方法
Wikström Four Practical Attacks for``Optimistic Mixing for Exit-Polls''
Yang et al. RVBT: a remote voting scheme based on three-ballot

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090419

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100419

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100419

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110419

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120419

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130419

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20140419

Year of fee payment: 12

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

EXPY Cancellation because of completion of term