JP2001217824A - 検証可能匿名通信路、それを実施する方法及びその方法を記録した記録媒体 - Google Patents

検証可能匿名通信路、それを実施する方法及びその方法を記録した記録媒体

Info

Publication number
JP2001217824A
JP2001217824A JP2000145992A JP2000145992A JP2001217824A JP 2001217824 A JP2001217824 A JP 2001217824A JP 2000145992 A JP2000145992 A JP 2000145992A JP 2000145992 A JP2000145992 A JP 2000145992A JP 2001217824 A JP2001217824 A JP 2001217824A
Authority
JP
Japan
Prior art keywords
replacement
server
output
input
anonymous communication
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
JP2000145992A
Other languages
English (en)
Other versions
JP3540718B2 (ja
Inventor
Masayuki Abe
正幸 阿部
Fumisato Hoshino
文学 星野
Miyako Okubo
美也子 大久保
Atsushi Fujioka
淳 藤岡
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 JP2000145992A priority Critical patent/JP3540718B2/ja
Publication of JP2001217824A publication Critical patent/JP2001217824A/ja
Application granted granted Critical
Publication of JP3540718B2 publication Critical patent/JP3540718B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 少ない計算量、通信量で効果的に証明、検証
可能な匿名通信路を構成する。 【解決手段】 置換網10を形成する各2入力2出力の
単位置換装置である切換装置SWに入力される2つのEl
Gamal 暗号文を乱数により撹乱すると共に、ランダム
置換し、その乱数及びランダム置換を明らかにすること
なく、検証者に切換装置SWの入出力が対応することを
零知識証明で証明するProof を出力し、復号装置20は
秘密鍵を使って最終段の単位置換装置SWからの暗号文
を復号し、秘密鍵を明らかにすることなく復号の正当性
を零知識証明により証明する。検証端末200は、各単
位置換装置の証明、及び復号装置20の証明を検証す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、電気通信システ
ムで無記名投票を実現する場合等に利用される検証可能
な匿名通信路、特に効率的に実現可能な匿名通信路、そ
れを実施する方法及びその方法を記録した記録媒体に関
する。
【0002】
【従来の技術】まず、匿名通信路について説明する。一
般に各サーバはそのサーバに接続した利用者を識別する
ことができるのでどの利用者がどの情報を送信している
かを知ることができ、利用者とサーバ間の通信路には匿
名性はない。匿名通信路を物理的な構成に因らず、電気
通信システムにより実現する手段として、MIX-NET が提
唱されている。MIX-NET ではL個のサーバU1,…,UL
直列的に記名通信路で接続されたシステムである。
【0003】RSA関数を用いてこれを実装する場合
は、i番目のサーバは、大きな素数pi,qiに対し、ni
pi・qi及びei・di=1(mod LCM(pi-1, qi-1))を満たす(d
i,ni),(ei,ni) をそれぞれ復号鍵、暗号化鍵とする。
RSAによるメッセージmの暗号化は、まず、乱数rを
選び、mとrを結合してm‖rとする。次に、M:=(m‖
r)dimod niとして暗号化メッセージMを得る。以下で
は、サーバUiの暗号化鍵(e i,ni) を使ったこの暗号化手
順をEi(m,r)と書く。
【0004】j番目の利用者は、送信すべきメッセージ
mjを M1:=E1(E2(…(EL(mj, rjL), …), rj2), rj1) のように、全サーバの暗号化鍵(ei,ni),i=1,2,…,LとL
個の乱数rj1,rj2,…,rjLを用いて多重に暗号化し、サー
バU1へ送付する。サーバU1は、複数の利用者から暗号化
されたメッセージM1,M2,... が集まった後、これらを鍵
(d1,n1) で復号し、各メッセージmjに対応するE2(…(EL
(mj,rjL),…),rj2) 及びrj1を得る。サーバU1はそれぞ
れの暗号化メッセージから得られたE2(…(EL(mj,rjL),
…),rj2), j=1,2,...の順序をランダムに置換し、サー
バU2へ送付する。この際、サーバU1は各メッセージmj
付けられた乱数rj1を秘密とすることで、サーバU2へ送
付された各E2(…(EL(mj, rjL),…),rj2)がサーバU1へ入
力された暗号化メッセージM1,M2,... のどれに関する復
号結果であるかを判別できないようにすることができ
る。
【0005】以下、サーバU2,…,ULも同様の処理を繰り
返す。最後にサーバULは、各メッセージmjを公開する。
少なくとも一つのサーバUiが乱数rji 及び置換の順序を
秘密に保つことにより、各利用者からサーバU1に入力さ
れた暗号文と、サーバULが出力したメッセージとの関連
は隠蔽され、匿名通信路として機能する。上記従来法に
よれば、各サーバが与えられた動作を行わず、不正に計
算された、あるいは本来のものと置き換えた結果を出力
してもその出力が不正であることを誰も検証することが
できない。
【0006】検証を可能とする第一の方法として、例え
ばMasayuki Abeによる"UniversallyVerifiable Mix-net
with Verification Work Independent of the Number
ofMix-servers", EUROCRYPT98, 5月31日、で提案され
ている方法がある。即ち、サーバ群はまず置換処理を実
行し、各サーバの出力が正しいことを互いに証明、検証
する。その後に、復号処理を実行し、各サーバの復号処
理の出力が正しいことを互いに証明、検証する。この方
法の問題点は、各サーバが行う証明、検証に多くの計算
コストがかかる点にある。例えば、置換処理において、
入力I1,…,INをランダム化し、更にランダムに置換した
結果をO1,…,ONとすると、この出力が正しい手順で処
理されたものであることを、処理中のランダムな要素を
見せることなく証明するには、以下のようにする。I1,
…,INを同様の手順で撹乱し、ランダムに置換し、その
結果をO'1,…,O'Nとする。このとき、同型性が成り立
つようなランダム化手順を用いると、O'1,…,O'Nは、
1,…,ONに対するランダム化の結果であると見なすこ
ともできる。ここで、検証者はランダムに0/1 のチャレ
ンジを選択して証明者に渡す。証明者はチャレンジが0
のとき、{I1,…,IN}→{O'1,…,O'N}の置換・ラン
ダム化処理に用いたランダム要素を全て公開する。ま
た、チャレンジが1の時には、{O1,…,ON}→
{O'1,…,O'N}のランダム化処理に相当するランダム
要素を公開する。ランダム要素を入手すれば、全ての処
理手順は確定的に再現することができるので、検証者は
その入出力関係が正しいことを検証することができる。
上記手順で証明者による不正を検出できない確率は、証
明者がチャレンジを推測して当てる確率と等しく、1/2
であるので、証明者と検証者は上記手順を任意のk回数
繰り返して、(1/2)kの誤り確率で処理の正しさを証明、
検証する。従って、N入力での全体の効率はNkに比例
する。高度の信頼性を確保するには、k=80程度とす
るのが一般的である。
【0007】検証を可能にする第2の方法として、例え
ば、匿名通信路に応用することは述べられてないが、R.
Cramer,I.Damgard ,B.Schoenmakersによる文献,“Pr
oofsof Partial Knowledge and Simplified Design of
Witness Hiding Proofs”,Proc. of Crypto '94 ,LNC
S 839,pp.174-187,Springer−Verlagに示される方式
によれば、N入力の置換に対する証明は、N2 の計算コ
ストで行うことができる。以下にその概略を示す。ま
ず、I1をランダム化した結果がO1 であるとすると、零
知識対話証明を用いてI1とO1 の関係をそのランダム化
に用いたランダム要素を明かすことなく証明することが
可能である。このような零知識対話証明では、 1.証明者は検証者にコミットメントと呼ばれるランダ
ムなメッセージTを送付する、 2.検証者は、証明者にチャレンジと呼ばれるランダム
な値Cを送る、 3.証明者はコミットメントTとチャレンジCに基づい
て、ある検証式を満たす値Zを検証者に送る、という手
順を実行し、検証者は、(T, C, Z, I1, O1)が所定の検
証式を満たすか否かを検査することによって、I1とO1
の関係の正当性を検証する。このような証明系におい
て、証明者がTを作る前にCの値を知らなければ、検証
式を満たすようなZの値を返すことは、I1とO1 の関係
が正当なものである場合にしかできない。しかし一方
で、証明者が事前にCの値を知っていれば、I1とO1
関係が正当なものでなくても、検証式を満たすような
T,Zの値を求めることができる。この事実を利用する
と、I1がO1,…,ONのいずれか1つ以上に対して正当な
関係であることを示すことができる。まず、証明者は、
C2,…,CN及び対応するZ2,…,ZNをランダムに選択する。
次に、i=2,…,Nに対して、(Ti,Ci,Zi,I1,Oi) が所定の
検証式を満たすようにTiの値を決める。さらに、T1をラ
ンダムに選ぶ。この準備の後、 1.証明者は検証者にT1,…,TNを送る、 2.検証者は、証明者にランダムに選んだCを送る、 3.証明者はC1=C(+)C2(+)…(+)CNのようにC1 を計算
し、(T1,C1,Z1,I1,O1) が検証式を満たすような値Z1
計算し、Z1,…,ZN及び、C1,…,CNを検証者に送る、とい
う手順を実行する。ここで、(+) はビット毎の排他的論
理和を意味する。検証者は全てのi=1,…,Nについて(Ti,
Ci,Zi,I1,Oi) が所定の検証式を満たすことを検証し、
更に、C=C1(+)…(+)CN が成り立つことを検査すればよ
い。証明者は、事前にCの値を知らないので、少なくと
も一つのCiについては、証明者が操作できない値となら
ざるを得ないため、I1は少なくとも一つのOi と正当な
関係であることが確認できる。
【0008】
【発明が解決しようとする課題】この方法に因れば、I1
→O1or…orONを示すために、I1→O1 の関係を示す為
の証明のN倍の計算、通信コストが掛かることになり、
結局、{O1,…,ON}→{O'1,…,O'N}を示す効率
は、N2に比例する。従って、入力数Nが増大するとデー
タ処理量が膨大になる問題がある。このように、上記従
来法によれば、各サーバが行う証明、検証にはNkある
いはN2 に比例する計算量及び通信量が掛かるため、効
率が悪い。
【0009】この発明の目的は、各サーバの出力が入力
に対して適正な処理を行った後にその順序を置換したも
のであることをより少ない計算量、通信量で効率的に証
明、検証する方法及び装置を提供することである。
【0010】
【課題を解決するための手段】この発明による検証可能
匿名通信路は、Nより小さいn個、nは2以上の整数、
の入力をランダム置換し、秘密情報を用いて撹乱するこ
とによりn個の出力を出力し、任意の検証者に対して上
記n個の入力と上記n個の出力を対応付ける上記秘密情
報及び上記ランダム置換が確かに存在することを、使用
した上記秘密情報及び上記ランダム置換を明かすことな
く零知識証明により証明する処理を行なう単位置換処理
手段と、N個の入力に対しn個ずつ上記単位置換処理手
段による処理を実行してN個の出力を得る第1繰り返し
手段と、初期入力として上記N個のメッセージに対し上
記第1繰り返し手段による処理を実行して上記N個の出
力を得、上記N個の出力を上記N個の入力として上記第
1繰り返し手段を予め決めた回数繰り返し実行すること
により上記N個のメッセージに一対一に対応する置換撹
乱されたN個の出力メッセージを得る第2繰り返し手
段、とを含む。
【0011】この発明による検証可能匿名通信方法及び
その方法を実施する記録媒体に記録されたプログラム
は、以下のステップを含む: (a) Nより小さいn個、nは2以上の整数、の入力を
ランダム置換し、秘密情報を用いて撹乱することにより
n個の出力を出力し、任意の検証者に対して上記n個の
入力と上記n個の出力を対応付ける上記秘密情報及び上
記ランダム置換が確かに存在することを、使用した上記
秘密情報及び上記ランダム置換を明かすことなく零知識
証明により証明する処理を行ない、(b) N個の入力に
対しn個ずつ上記ステップ(a) による処理を実行してN
個の出力を得て、(c) 初期入力として上記N個のメッ
セージに対し上記ステップ(b) による処理を実行して上
記N個の出力を得、上記N個の出力を上記N個の入力と
して上記第1繰り返し手段を予め決めた回数繰り返し実
行することにより上記N個のメッセージに一対一に対応
する置換撹乱されたN個の出力メッセージを得る。
【0012】
【発明の実施の形態】この発明によれば、入力全体に対
するランダム化及びランダム置換処理に対する証明、検
証を行う代わりに、入力を少数に分割し、分割された各
部分に対してその入出力関係の正当性を証明、検証する
ようにする。例えば、複数の2入力2出力の切換スイッ
チ(入力の順序を入れ換えて出力するか、又はそのまま
の順序で出力するかを切り替えることができるスイッ
チ)を格子状に配置し、それぞれの段の出力と次段の入
力を規則に従って接続することにより、2L個の入力に対
する全ての置換を網羅することができるような置換網を
構成する事ができることが知られている(A.Waksman,"A
Permutation Network",Journal of the ACM,Vol.15,N
o.1,January 1968,pp.159−163.を参照)。4入力に対
する置換網10の構成を図1に示す。図1において、切
換スイッチSW1は、(O11,O12)=(I11,I12)のようにそ
のまま入力を出力とするか、あるいは(O11,O12)=(I
12,I11)のように順序を入れ換えて出力する。他のスイ
ッチSW2〜SW5でも同様の処理を行う。図1に示すように
5つの切り換えスイッチを組み合わせて使うことによ
り、4入力に対し、42=16通りの全ての置換を実現する
ことが可能である。このような置換網を完全置換網と呼
ぶことにする。一般的に、N個の入力に対してNlog2N-N
+1個の切換スイッチを用いることによって完全置換網を
構成できることが知られている。
【0013】そこで、この発明では、この各置換スイッ
チSW1 〜SW5 に対し、入力のランダム化とランダム置換
の証明を行う機能を付加して単位の切り換え装置を構成
し、それぞれの切り換え装置においてランダム置換の正
当性の証明を行うことで、全体の置換に対する正当性を
証明する。各切り換え装置が行う証明には前述の第二の
方法を用いる。よって、例えば各切り換え装置への入力
が2つの場合には、22=4 の計算コストで証明、検証が
実行でき、全体の効率を4(Nlog2N-N+1) 程度に抑制する
ことが可能である。第1実施例 この発明による検証可能な匿名通信路は、図2に示すよ
うにn個の暗号文E1,…,EN が入力され、それらの復号
結果を入力との対応関係がわからないようにランダム置
換して出力する匿名通信路100 と、そのランダム置換の
正当性と復号の正当性を検証する検証端末200 とから構
成されている。この実施例では、匿名通信路100 は入力
暗号文E1,…,ENを受付け、置換及び復号化して平文のリ
ストTpを得、その置換及び復号化に対する検証に必要な
情報Proofを生成し、平文リストTpと共に検証端末200
へ送付する。
【0014】匿名通信路100 は完全置換網を形成するよ
う切換装置SW1〜SW5が接続されており、この発明
によれば、各切換装置SWがランダム置換を行ない、そ
の置換の正当性を零知識証明で証明する証明Proof1〜Pr
oof5を出力する。この実施例では、切換装置は復号を行
なわず、入力暗号を変形し、置換網10による処理後
に、復号装置20により復号を行なう場合を示している
が、後述の第4実施例のように、各切換装置SWにおい
て復号処理を行なってもよい。しかしながら、後者の場
合、各切換装置SWは秘密鍵を使用した復号についての
零知識証明を行なう必要があるのに対し、前者の場合
(第1実施例の場合)では、復号装置20における復号
に対して一括して零知識証明をするので、全体として処
理量は少なくてすむ利点がある。
【0015】2つの予め決めた大きな素数をp,qと
し、qはpを割り切るものとする。Zp中の位数qの部分
群をGqとし、gをGqのある要素とする。以下の説明中で
は、特に断りのない限り、全ての算術演算はmodpで行
うものとする。El Gamal暗号の復号鍵をx∈Zqとし、暗
号化鍵をy:=gxとする。暗号化鍵yは予め定められた
p,q,gと共に、後述する図3における置換網10を
構成している全ての切換装置SWと、復号装置20内の
メモリ23(図7)及び検証端末200 ないのメモリ220
に共通パラメータとして格納されているものとする。復
号鍵xは復号装置20にのみ格納されているものとす
る。
【0016】メッセージm∈Gq* のEl Gamal暗号による
暗号文をEとすると、Eはある乱数t∈Zpに対し、 E:=(M, G)=(myt, gt) となる。システムへの入力数Nを4とした場合のEl Gam
al暗号で暗号化された4つの暗号文をE1,E2,E3,E4
する。図3に、4入力における匿名通信路100 及び、検
証端末200 のブロック図を示す。また、各切換装置SW1
〜SW5の構成を図4に示す。各切換装置SW内の切換部1
2、置換証明部14の構成をそれぞれ図5及び6に示
す。匿名通信路100 は置換網10と復号装置20から成
り置換網10では暗号文E1, E2が切換装置SW1 に入力さ
れ、暗号文E3, E4が切換装置SW2 に入力され、切換装置
SW1 の2つの出力はそれぞれ切換装置SW3, SW4に入力さ
れ、同様に切換装置SW2 の2つの出力はそれぞれ切換装
置SW3, SW4に入力され、切換装置SW3, SW4の各2つの出
力の一方は切換装置SW5 に入力され、他方の出力R1, R2
は復号装置20に入力され、切換装置SW5 の2つの出力
R3, R4は復号装置20に入力される。
【0017】入力暗号文E1〜E4、切換装置SW1〜SW5の各
2つの出力はそれぞれ分岐されて検証端末200 の置換検
証部30に入力され、この置換検証部30には各切換装
置SW1〜SW5の置換証明出力Proof1〜Proof5も入力されて
いる。復号装置20の4つの入力R1〜R4も分岐されて復
号検証部40に入力され、復号装置20の復号証明出力
ProofD及び平文Tpを構成する復号メッセージm1,…,m4
復号検証部40に入力されている。検証端末200 は制御
部210 、メモリ220 を備えている。
【0018】切換装置SWは、図4に示すようにp,q,g,
yを保持しているメモリ11と、2入力2出力の単に置
換を行なう切換部12と、乱数生成部13と、置換が正
当であることを証明するための置換証明部14と、これ
ら各部11〜14の動作を制御する制御部15とから構
成されている。切換部12は図5に示すようにべき乗演
算器12Aと、剰余乗算器12Bと、順序入換器12C
とから構成されている。又、置換証明部14は、図6に
示すようにべき乗乗算器14Aと、ハッシュ演算器14
Bと、剰余減算器14Cと、剰余乗減算器14Dとから
構成されている。
【0019】以下は、切換装置SW1 における動作のステ
ップである(図4参照)。 Step1:p,g,yをメモリ11から切換部12へ入力
する。 Step2:乱数生成器13を駆動して乱数b∈{1, 2}及
びt1, t2∈Zq を生成し、切換部12へ入力する。 Step3:切換部12は以下のように動作する(図5参
照)。 Step3-1: べき乗演算器12Aを駆動し、
【0020】
【数1】 を計算する。 Step3-2: べき乗演算器12Aの出力T1,T2及び、入力
I1=(M1, G1),I2=(M2, G2)を剰余乗算器12Bへ入力
し、
【0021】
【数2】 を計算する。このべき乗演算と剰余乗算とにより秘密情
報t1,t2で入力メッセージI1=(M1,G1),I2=(M2,G2)
がランダム化される。 Step3-3: 剰余乗算器12Bの出力R1,R2及び乱数bを
順序入換器12Cへ入力する。順序入換器12Cは、b=
1 のとき、O1:=R1及びO2:=R2を、b=2のとき、出
力O1:=R2及びO2:=R1を出力する。この出力を、O
1=(N1,H1),O2=(N2,H2)とおく。このようにランダ
ム化された入力メッセージはその順序がbによりランダ
ム化され、即ち、ランダム置換される。
【0022】Step4:図4中の乱数生成器13を駆動
し、乱数w1, w2, eb', z1b', z2b'∈Zqを生成し、b,
t1,t2とともに置換証明部14へ入力する。ここで、b'
はb=1 のときb'=2とし、b=2 のときb'=1のように値を取
るものとする。また、p, q, g, yをメモリ11から置換
証明部14へ入力する。 Step5:置換証明部14は以下のように動作する(図6
参照)。置換証明部14には切換部12の2つの入力
I1, I2と2つの出力O1, O2とがそれぞれ分岐入力され
ている。 Step5-1:べき乗乗算器14Aを駆動し、
【0023】
【数3】 を計算する。
【0024】Step5-2:ハッシュ演算器14BへI1
I2,O1,O2,S11,S12,S21,S22を入力し、その出
力をcとする。 Step5-3:c及びq,eb' を剰余減算器14Cへ入力
し、出力 eb:=c−eb'modq を得る。Step5-4:eb及びw1,w2,q,b,t1,t2を剰
余乗減算器14Dへ入力し、 z1b:=w1−eb・t1modq z2b:=w2−eb・t2modq を計算する。
【0025】Step5-5:置換が正当であることをゼロ知
識証明を使って証明するため Proof1:=(e1,e2,z11,z12,z21,z22) を出力する。置換網10の終端で得られる出力をR1
R2,R3,R4とする。このとき、各RiをRi=(M'i,G'i)と
おくと、以下の関係が成り立つ。 M'i=mF(i)yt' G'i=gt' ここで、F(*)は{1,2,3,4}→{1,2,3,4}なる置
換関数の一つである。即ち、RiはメッセージmF(i)に対
する通常のEl Gamal暗号文であり、復号は通常のEl Gam
al復号手順で行うことができる。
【0026】復号装置20は図7に示すように復号部2
1と、復号証明部22と、メモリ23と、これらの動作
を制御する制御部24とから構成されている。復号部2
1は図8に示すようにべき乗演算器21Aと、剰余除算
器21Bとから構成されている。又、復号証明部22は
図9に示すように、乱数生成部22Aと、べき乗演算器
22Bと、ハッシュ演算器22Cと、剰余乗減算器22
Dとから構成されている。
【0027】復号装置20は、R1〜R4を順次以下のよう
に処理する。 Step1:制御部24は入力Riを順次受信し、復号部21
へ入力する。また、メモリ23からx,pを復号部21
へ入力する。 Step2:復号部21では、図8に示すようにべき乗演算
器21AへG'i 及びx,pを入力し、 Ki:=G'i xmodp を計算する。
【0028】Step3:M'i,p及び、べき乗演算器21
Aの出力を剰余除算器21Bへ入力し、 mi:=M'i/Kimodp を計算し、復号結果として出力する。続いて、復号装置
20は正しく復号が行われたことを証明するProofDを、
復号証明部22により以下のように作成する。
【0029】Step1:復号証明部22は図9に示すよう
に乱数生成器22Aにより乱数w∈Zqを生成し、べき乗
演算器22Bへ入力する。 Step2:べき乗演算器22Bは、まずT0:=gwmodpを計
算し、次に、各G'i に対してTi:=G'i wmodpを計算し、
T0,…,TNをハッシュ演算器22Cへ入力する。この例で
はN=4 である。 Step3:ハッシュ演算器22Cは、c:=Hash(y,T0,K1,
T1,…,KN,TN)を計算し、cを剰余乗減算器22Dへ入力
する。
【0030】Step4:剰余乗減算器22Dはz:=w-cx(m
odq)を計算し、c, z, K1,…, KNと共に出力する。 このとき、ProofD:=(c,z,K1,…,KN)とする。 検証端末200 は、まず、置換が正しく実行されたことを
確認するため、置換検証部30を駆動する。置換検証部
30は図10に示すようにべき乗乗算器31と、ハッシ
ュ演算器32と、比較器33と、加算器34とから構成
されている。置換検証部30は、i番目の切換装置SWi
によるProofiを以下のように検証する。 Step1:べき乗乗算器31を駆動し、
【0031】
【数4】 を計算する。
【0032】Step2:S11,S12,S21,S22及びI1,I2
1,O2をハッシュ演算器32へ入力し、その出力cを
比較器33へ入力する。 Step3:e1,e2を加算器34へ入力し、e1+e2を計算す
る。その結果を、比較器33へ入力する。 Step4:比較器33へqを入力し、e1+e2=c(modq)が
成り立つか否かを検査する。成り立つ場合はOKを、成
り立たない場合はNGを出力する。このようにして置換
が正しく行われたことは、その置換を生じさせた乱数b
を示すことなく零知識証明により検証される。
【0033】上記の検証を全ての切換装置の入出力に対
して行い、NGとなるような証明を出力した切換装置が
存在した場合はその切換装置は故障しているものと見な
す。上記検証が全てOKの場合、次に、復号が正しく行
われたこと検証するため、復号検証部40へR1, …,
R4, m1, …, m4及びProofDを入力する。図11に復号検
証部40のブロック図を示す。復号検証部220 は、剰余
除算器41と、比較器42と、べき乗乗算器43と、ハ
ッシュ演算器44と、比較器45とから構成され、以下
のように復号化の検証を行う。
【0034】Step1:剰余除算器41へM'i とKiを入力
してM'i/Kiを計算し、その結果をmiと共に比較器42へ
入力して比較する。両者が等しくない場合には、比較器
42はNGを出力し、検証結果をNGとする。全てのi=
1, …, Nに対して比較結果がOKならば、次のステップ
へ進む。 Step2:べき乗乗算器43を駆動し、gzyc及び、G'1 zK1
c,…,G'N zKN cを計算し、ハッシュ演算器44へ入力す
る。
【0035】Step3:ハッシュ演算器44を駆動し、 e:=Hash(y,gzyc,K1,G'1 zK1 c, …,KN, G'1 zK1 c) を計算する。 Step4:c及び、ハッシュ演算器44が出力したeを比
較器45へ入力し、両者が等しければOKを、等しくな
ければNGを出力する。復号が正しく行われた場合に
は、 gzyc=gw-cxyc=gw=T0 及び、 G'i zKi c=G'i w-cxKi c=G'i w=Ti が成り立つので、ハッシュ演算器44の出力はcと等し
くなる。
【0036】この実施例では、各切換装置で用いたラン
ダムな要素、即ち、b, t1, t2, w1,w2が全て秘密に保た
れる場合には、Ei→mjの対応はどのようなi, jについて
も秘匿される。この様に、この第1実施例においては、
それぞれの切り換え装置におけるランダム置換の正当性
をそれぞれの切り換え装置で証明するよう構成している
ため、特に匿名通信路の全入力の数Nが増大すると前述
したR.Cramer等の方法でランダム置換の正当性を証明す
る場合に比べ、必要なデータ処理量が著しく少なくてす
む。第2実施例 この実施例ではいくつかの切換装置におけるランダム要
素が漏洩した場合についても全体として各入出力の対応
が秘匿されるような構成について説明する。
【0037】この実施例では、図12に示すようにいく
つかの切換装置の仕事を順次実行する「置換サーバ」を
用い、V個の置換サーバPS1,...,PS4によって置換網1
0を構成する。また、復号を実行する復号サーバ20S
を用いる。以下では、V=4 個の置換サーバを用い、入力
が4メッセージである場合について説明する。各置換サ
ーバPS1〜PS4及び検証端末200 は掲示板400 に接続され
ているものとする。掲示板400 は、認証された利用者か
らの書き込みE1, E2, ...,ENを受け付け、一旦書き込ん
だ情報は消すことができないという機能を有する。ま
た、書き込まれた情報は誰もが読み出すことができるも
のとする。この実施例も、第1実施例と同様に置換網1
0内の各置換サーバPSが有する各切換装置SW(図1
3)は復号を行なわず、入力暗号のランダム化(暗号の
変換)とランダム置換を行ない、最後に復号サーバが復
号を行なう。
【0038】図13に各置換サーバPSのブロック図を
示す。置換サーバPS中の切換装置SWの構成は制御部
15とメモリ11が切換装置の外側にあることを除いて
図4の切換装置SWと同様である。図14に復号サーバ
20Sのブロック図を示す。復号サーバ20Sは置換検
証部30S、復号部21S、復号証明部22Sを有して
おり、これらはそれぞれ図10、8、9に示した置換検
証部30、復号部21、復号証明部22と同様である。
復号サーバは更にメモリ23Sと制御部24Sを有して
いる。
【0039】このシステムは、4つの置換サーバP
S1,...,PS4によって、4入力の完全置換網を2つ構成し
た場合である。この場合のデータの流れを図15に示
す。図中には示してないが、置換サーバ間のデータの転
送は全て図12に示したように掲示板400 を介して行わ
れる。即ち、各置換サーバPSj は、置換出力を掲示板40
0 に書き込み、次段の置換サーバPSj+1 はそのデータを
掲示板400 から読み込んで置換処理を行う。置換サーバ
PS1は、第1実施例における切換装置SW1 とSW2 の仕事
を実行し、掲示板400 を介して処理結果を置換サーバPS
2へ送出する。以下同様に、置換サーバPS2は切換装置SW
3,SW4,SW5、置換サーバPS3は切換装置SW6,SW7、置換
サーバPS4は切換装置SW8,SW9,SW10の仕事を実行す
る。図13に示すように、実際に各置換サーバPS内に
設置される切換装置SWの数は1つであり、適切な入力
を制御部15が与えることによって図15のデータの流
れを実現する。あるいは、実際に複数の切換装置SWを
1つの置換サーバに設置しても良い。
【0040】図12、15に示すように、縦続接続され
た置換サーバPS1〜PS4は少なくとも2つの縦続接続され
た完全置換網を形成している。各置換サーバPSの出力
は、掲示板400 に接続された置換検証部30Sを持つ復
号サーバ20Sによって第1実施例の場合と同様に置換
Proof が検証され、不正な入出力関係が検出された場合
はその置換サーバを故障しているものと見なす。その場
合、故障とみなした置換サーバを排除して別の置換サー
バで処理を代行するか、あるいは、故障した置換サーバ
が1つだけならば、その置換サーバによる処理を省略し
てしまっても良い。
【0041】復号サーバ20Sは、全ての置換が正しい
ことを検証した後、復号部21Sで置換網10の出力
(最終段置換サーバPSV の出力)を復号すると共に、復
号証明部22Sで、復号証明ProofDを生成し、掲示板40
0 に書き込む。検証端末200 は各置換サーバにより掲示
板400 に書き込まれている各置換Proof1〜Prool4からを
検証し、更に復号サーバにより書き込まれた復号結果
(メッセージm1,...,mN)と復号証明ProofDを第1実施
例と同様の手順で検証する。
【0042】上記の構成によれば、ある置換サーバが攻
撃されるなどして、ランダム要素が漏洩してしまい、そ
の置換サーバにおける置換が第三者に明らかになってし
まった場合に於いても、残りの置換サーバにおけるラン
ダム要素の秘匿性が保たれる限りは、全体の置換関係は
秘密に保たれる。例えば、置換サーバPS1の実行した置
換関係が明らかになっても、置換サーバPS3、置換サー
バPS4で完全な置換網を構成しているので、入出力のど
のような置換関係も実現し得る。同様に、どの1つの置
換サーバの置換関係が漏洩しても、必ず他の2つの置換
サーバによって完全な置換網が構成されており、それに
よって、秘匿性を保つことが可能である。 第3実施例 図16に示す第3実施例では、第2実施例における復号
サーバ20S を複数の復号サーバ20S1,…,20SLに分割し
て、複数の復号サーバ全体で単一の復号サーバを用いた
場合と同一の機能を実現する。この実施例によれば、あ
るt<Lなるtに対して、少なくともt+1 個の復号サーバ
20S が正常に動作すれば正しい結果を得ることができる
ため、耐故障性が向上する。又、図12の復号サーバ20S
が1つの場合には、復号サーバ20S が復号を開始すれ
ばいつでも復号結果を得ることができるので、例えば投
票の集計を予め決めた時間に公表する前にその投票結果
の内容を不正に洩らしてしまうことが起こりえる。これ
に対し、図16の実施例では、前復号サーバ20S1〜20SL
が処理を終了しないと復号結果が得られないので、これ
らのサーバのうち少なくともt+1 個の復号サーバが協力
して不正を行なわない限りどの復号サーバからも復号結
果が公表前に洩れてしまうことはない。
【0043】復号サーバを除くシステム構成は第2実施
例と同様である。各復号サーバDiには復号鍵xをt次の
多項式で秘密分散した値xiが格納されているものとす
る。即ち、F(0)=x(modq)を満たす、t<Lなるあるt次
のランダム多項式F(X)∈Zq[X]があり、各xiはxi=F(i)m
odq を満たす値である。各復号サーバ20Sjの構成は、
図14に示した復号サーバ20Sにおいてxの代わりに
xiをメモリ23Sに格納すること及び、復号部21Sの
内部構成を除き、図14と同様である。この実施例の復
号サーバにおける復号部21Sは図17に示すように、
べき乗乗算器21SAと有し、これは図8に示したべき乗乗
算器21Aと同様の処理を行なう。
【0044】置換サーバPS1,...,PSVの構成、動作は図
12に示した第2実施例と同様である。各復号サーバ20
Stは、全ての置換サーバPS1,...,PSVの入出力関係を第
2実施例と同様に検証する。最終段の置換サーバPSV
ら正しい置換出力R1〜RNが得られ、置換検証が完了した
後、各復号サーバは復号を実行する。j番目の復号サー
バ20SjはR1〜RNを順次以下のように処理する。Step1:
制御部は入力Riを順次受信し、復号部21S(図14参
照)へ入力する。また、メモリ23Sからxi,pを復号
部21Sへ入力する。
【0045】Step2:復号部21S(図17参照)で
は、べき乗演算器21SAへG'i 及びxj,pを入力し、Kj,i:
=G'i xjを計算する。続いて、復号証明部22S(図1
4参照)は正しく復号が行われたことを証明するProofD
j を、復号証明部を駆動して作成する。実際の動作は、
第1実施例の復号証明動作においてxをxjに、yをyj
入れ換えた場合と同様である。この証明部の出力を ProofDj:=(cj, zj, Kj,1,…,Kj,n) とする。
【0046】検証端末200 の構成は図2と同様である。
但し、復号検証部40は図18に示す構成となる。この
復号検証部の動作は、第1実施例における復号検証部の
動作のStep2〜4と同様である。t+1 以上の復号サーバ
に対する検証がOKとなるならば、検証端末はOKを出
力する。この実施例では、復号サーバ20Sjの出力はKi,j
であり、実際に各復号結果miを得るには以下の手順を実
行する。まず、A⊆{1,…,L}を、|A|t+1となるよう
に定める。ただし、j∈Aなるjに対して、復号サーバ
20Sjの出力は、復号検証に合格していなければならな
い。今、λj ,Aを次式
【0047】
【数5】 で定義される補間係数とする。すると、メッセージmi
次式
【0048】
【数6】 で得ることができる。これは、x=Σλj,AAxjmodq(Σ
はj∈Aについて)が成り立つため、
【0049】
【数7】 となり、第1実施例における復号動作と等価になる為で
ある。上記計算手順を各復号サーバが実行することも可
能である。その場合には、第1実施例と同様の検証手順
で復号検証を行えばよい。第4実施例 前述の第2及び第3実施例においては各置換サーバPS
は入力された複数の暗号文を撹乱し、かつその入力の順
番をランダムに入れ換えて次の置換サーバへ送ることを
順次行ない、最終段の置換サーバが出力した暗号文を復
号サーバが復号して平文を得る。得られた平文は誰れに
より投票されたものであるかは不明であるが、正しく投
票されたものであることを検証できる。
【0050】この第2及び第3実施例では、不正な処理
を行なった置換サーバが検出された場合、例えばV個の
置換サーバのうちt個の出力が信頼できなかった場合、
不正処理を回復する為には、t回の不正回復処理を行う
ことが考えられる。匿名通信路の信頼度が下がれば下が
る程(即ち、tが大きくなる程)、不正回復処理に要す
る時間が大となり、匿名通信路としての処理能力が下が
る事になる。以下に説明する第4実施例は、匿名通信路
の信頼度が、ある程度低くなっても、検証可能匿名通信
路としての機能を保ちつつ、効率的に不正回復を行い、
必要とされる帯域(通信速度)を確保する。
【0051】第1、第2及び第3実施例では、各切換装
置SW,あるいは置換サーバにおいては復号化処理を行
なわず、復号化装置又は復号サーバにおいて一括して復
号を行なう場合を示したが、この第4実施例では、各置
換サーバにおいて部分復号化を行なう場合を示す。ただ
し、各置換サーバでは、それぞれの置換段で入力暗号文
Iを変換し、部分復号化は置換の最終段においてまとめ
て行なうことにより、各置換段において部分復号化を行
なうよりは処理速度を高めている。
【0052】この実施例では以下、各置換サーバで行わ
れる部分復号処理をfとし、任意の秘密鍵Xを持った置
換サーバの任意の入力文Iに対応する出力文をfX(I) と
する。各置換サーバで行われる部分復号処理fを次のよ
うな処理に限定する。 ・交換可能 任意の秘密鍵A,Bに対してfA(fB(I))=fB(fA(I)) な
る関係が成り立つ。 ・一括復号化可能 任意で既知の秘密鍵A,Bに対してfA(fB(I))=fg(A,B)
(I)なる関数g(A, B)が存在し、fA (fB(I))の計算に対し
てfg(A,B)(I)の計算が高速に実行可能である。
【0053】このような前提においてこの実施例では、
ある置換サーバの出力が信頼できない場合、その置換サ
ーバより上流で最も近くにある、不正処理がないと判定
された置換サーバの信頼できる情報のみを用いてランダ
ム置換・撹乱・部分復号処理を行ない、不正処理に対す
る補償動作を行わずに次の処理を進める。各置換サーバ
の秘密鍵は、予め他の全ての置換サーバに検証可能に秘
密分散されており、信頼できない置換サーバが検出され
た場合、残りの各置換サーバはそれより上流の信頼でき
る置換サーバの情報を使ってランダム置換・撹乱・部分
復号処理を行ない、全ての信頼できる置換サーバによる
処理が完了した段階で、信頼できない置換サーバの分散
秘密鍵の全てを信頼できる置換サーバが集めて共同で復
元する。信頼できない置換サーバが部分復号処理するこ
とになっていた情報部分についての部分復号処理(補償
動作)を、信頼できない置換サーバの復元秘密鍵の全て
を用いて、一括して行う。この一括処理によって、複数
の置換サーバの出力が信頼できない場合でもたった1回
の補償動作を行うだけで不正回復を行う事が可能であ
る。
【0054】この第4実施例においては、置換サーバが
用いる交換可能でかつ一括化可能な部分復号処理の一例
として以下の説明ではEl Gamal分散復号系を挙げる。一
般化されたEl Gamal暗号系においても、上記性質が満た
されれば適用可能である(例えば楕円El Gamal暗号)。
この第4実施例ではいくつかの置換サーバにおけるラン
ダム要素が漏洩した場合についても全体として各入出力
の対応が秘匿されるような構成について説明する。
【0055】この実施例では、いくつかの証明付きラン
ダム置換・撹乱・部分復号の仕事を順次実行する置換ー
バを用い、V個の置換サーバによって匿名通信路を構成
する。図19はこの第4実施例のシステム構成例であ
り、図12及び16の実施例と同様に置換サーバPS1〜P
SVは掲示板400 に接続されている。この実施例では各置
換サーバに他の置換サーバの処理に対する検証機能と入
力暗号文に対する部分復号機能を持たせているため、図
12及び16の実施例のような検証サーバ及び復号サー
バは設けられてない。各置換サーバは、第2及び第3実
施例における各置換サーバ内の複数の切換装置SWによ
り構成された置換部に対応する置換部P50に加えて、他
の置換サーバの処理に不正がないかを判定する判定部P6
0 と、ランダム置換・部分復号の証明を行なう検証部P7
0 を有している。置換サーバPS1〜PS5の置換部P501〜P5
05は掲示板400 を介して図19に示すように縦続接続さ
れる。各置換部P501〜P505は置換・撹乱部分復号を行う
複数の切換装置SWを有している。検証端末200 は独立
して設けるのではなく、それぞれの置換サーバに設けら
れている。
【0056】図20は図1のシステムにおける置換サー
バ間の掲示板400 を介したデータの流れを、掲示板を省
略して示すため、図19における置換サーバPS1〜PS5
の置換部P501〜P505のみを示している。これら5つの置
換部P501〜P505はこの例では縦続接続された2つの置換
部P501とP502で1つの8入力完全置換網を形成し、縦続
接続された2つの置換部P503とP504で同様に1つの8入
力完全置換網を形成し、置換部P505は単独で8入力完全
置換網を形成している。従って、全体で縦続接続された
これら3つの8入力完全置換網を形成している。
【0057】各8入力完全置換網を形成するには4×5
格子上に配列された全ての2入力2出力の単位切換装置
SWが切換可能である必要はなく、破線ブロックで示す
切換装置SWでは入出力位置関係を固定しても、残りの
切換装置の切換の組み合わせて全ての組の置換が実現で
きる。そこで、置換サーバでの処理量を削減するため、
このような入出力関係を固定してもよい切換装置では入
力データに対する置換処理は行なわない。これらの固定
接続切換装置をSWFで示してある。しかしながら、こ
の発明の目的とする匿名通信路を構成する置換網を通し
て暗号文を復号する場合、入力データに対し選択された
経路によって復号処理を受ける回数が異なると復号処理
が複雑になり不都合である。
【0058】この発明ではこのような固定接続切換装置
SWFにおいても、入力データに対し置換処理以外の処
理(撹乱、部分復号、証明生成など)は実施する。以下
の説明では置換・撹乱・部分復号・証明生成などの全て
の処理を実施する切換装置SWを証明付PR部分復号器
と呼び、置換を行なわない切換装置SWFを証明付固定
部分復号器と呼ぶ。また置換撹乱(permutation/randomi
zation)を単にPRで表す。
【0059】図19の実施例では、入力が8メッセージ
であり、5つの置換サーバPS1〜PS5を用い、5つのうち
2つの置換サーバの処理に不正である場合でも正しい置
換・撹乱・部分復号を実行出来るものである。各置換サ
ーバPS1〜PS5の構成要素の証明付きPR部分復号器SW
は図21または図28に示すように構成され、証明付き
固定部分復号器SWFは図27に示すように構成され
る。これらについては後で詳述する。各置換サーバPS1
〜PS5はそれぞれ検証器P70 を備える。各検証器P70 は
PR証明検証器P70Aと、部分復号証明検証器P70Bと、及
びPR部分復号証明検証器P70Cをもって構成される。
【0060】掲示板400 は、認証された利用者からの暗
号文の書き込みを受け付け、一旦書き込んだ情報は消す
ことができないという機能を有する。書き込まれた情報
は誰もが読み出すことができるものとする。このシステ
ムは、5つの置換サーバPS1〜PS5によって、それぞれ8
入力の縦続接続された3つの完全置換網10A〜10C
からなる匿名通信路100 を構成している。3つの完全置
換網10A〜10Cのうち2つの完全置換網のランダム
要素が漏洩しても残った完全置換網によって入出力の対
応関係を完全に秘匿することが出来る。
【0061】置換サーバPS1〜PS5は予め決めた順番でデ
ータの処理を行ない、各置換サーバは自段より前段の置
換サーバの入出力データと証明情報を掲示板400 から読
み込む。その入力の際に自身が持つ検証器P70 によって
その前段の置換サーバの信頼性をその入出力データと証
明情報に基づいて検証し、不正な入出力関係が検出され
た場合、つまり出力の信頼性がない場合はその置換サー
バは故障しているものと見なす。その場合、不正のない
置換サーバが見つかるまで順番を遡り、不正でないと判
断された最も近い置換サーバの出力を使って処理を行
う。
【0062】各置換サーバは他のどの置換サーバに対し
ても検証可能であり、不正な入出力関係が検出されない
置換サーバ同士が協力して、不正な置換サーバが担当す
る復号処理に対する補償動作を行う。そのために、予め
全ての置換サーバのもつ秘密鍵を全ての置換サーバが秘
密分散によって共有しておく。先にも述べたように、各
置換サーバは複数の証明付きPR部分復号器の仕事を順
次実行するものであり、置換サーバ内の各証明付PR部
分復号器SWは、例えば図21に示すように、証明付き
置換撹乱器120 と証明付き部分復号器140 とよりなり、
証明付き置換撹乱器120 は例えば置換撹乱器121 と置換
撹乱証明生成器122 とよりなり、証明付き部分復号器14
0 は例えば2つの証明付部分復号器141、142 よりな
る。
【0063】図21は、2入力のEl Gamal暗号文を置換
撹乱処理し、秘密鍵の部分情報を用いて部分復号し、置
換撹乱復号結果及びその正当性の証明を出力する証明付
きPR部分復号器SWの構成の一例を表している。この
証明付きPR部分復号器SWは図20中の一括不正回復
付き検証可能匿名通信路等に用いられる。この証明付き
PR部分復号器SWでは、以下のように演算が実行され
るが、同時実行可能なステップは、並列に実行しても良
い。また実行順序が交換可能なステップは実行順序を交
換して良い。また同じ機能を持つ複数の装置による複数
の演算は、装置を一元化して、順次演算を実行しても良
い。
【0064】Step1:証明付き置換撹乱器120 は乱数情
報内の各種情報を用いて入力の(M0,G0),(M1, G1)を置
換撹乱処理した結果の(M0 +, G0 +),(M1 +, G1 +)及びその
正当性の証明である証明情報0を出力する。 Step2:証明付き置換撹乱部分復号器SWは(M0 +,
G0 +),(M1 +, G1 +)を証明情報の一部として出力する。 Step3:証明付き固定部分復号器140 は乱数情報内の各
種情報を用いて入力の(M0 +, G0 +),(M1 +, G1 +)を部分復
号した(M'0, G'0 ),(M'1, G'1)及びその正当性の証明
である証明情報1を出力する。
【0065】なお、この証明付き置換撹乱部分復号器S
Wにおける置換と、撹乱と、部分復号との処理順は任意
に選らべる。ただしその処理順に応じて証明情報の内容
が異なるものとなる。置換撹乱器121 は例えば図22に
示すように置換器121Aと撹乱器121B,121Cとよりなる。
撹乱器121B、121Cは同じ構造であり、図23に示すよう
に2つの乗算器121B1と121B2を有している。以下これら
の各部の機能構成を順次説明する。撹乱器121B(121C)図
23は図22に示す撹乱置換器121 において入出力の対
応を隠蔽する為に、入力のEl Gamal暗号文を撹乱する撹
乱器121B(121C)の構成の一例を表している。入力のEl G
amal暗号文を(M, G)とすると、平文m及び公開鍵(Y, g)
及び秘密鍵X及び乱数wに関して次式 Y= gX ,G= gw ,M=mYw が成り立っている。入力暗号文(M, G) を撹乱すると
は、撹乱処理を行う者以外には秘密の乱数rによりM及
びGの入力前に計算された秘密のパラメータg-r及びY
-rを用いて乗算器12B1, 121B2で M' ← M×Y-r, G' ← G×g-r をそれぞれ計算し(M', G') を出力することである。出
力の(M', G') は M' = mYw-r ,G' = gw-r を満たすので、平文m及び公開鍵(Y, g) 及び秘密鍵X
及び乱数w-r に関するElGamal暗号文である。
【0066】この撹乱器121Bでは、以上の演算が実行さ
れるが、同時実行可能な場合は、並列に実行しても良
い。また実行順序が交換可能な場合は実行順序を交換し
て良い。また同じ機能を持つ複数の装置による複数の演
算は、装置を一元化して、順次演算を実行しても良い。 置換撹乱器121 図22は2入力のEl Gamal暗号文(M0 , G0 )及び(M1 ,G
1 )を撹乱置換する置換撹乱器121 の構成の一例を表し
ている。El Gamal暗号文(M, G) を乱数rで撹乱して出
来たEl Gamal暗号文をD(M, G, r)と記述する事にする。
置換撹乱処理を行う者以外には秘密の置換パラメータB
∈{0, 1}に従って、B=0 のとき (M'0 , G'0 ) ← D(M0 , G0 , r0 ) (M'1 , G'1 ) ← D(M1 , G1 , r1 ) B=1 のとき (M'0 , G'0 ) ← D(M1 , G1 , r0 ) (M'1 , G'1 ) ← D(M0 , G0 , r1 ) なる出力メッセージ(M'0 , G'0 )及び(M'1 , G'1 )を出
力する。
【0067】置換撹乱器121 は置換器121Aと、撹乱器12
1B, 121Cとからなる。撹乱器121B及び撹乱器121Cは図2
3に示したように2つの乗算器121B, 121B2から構成さ
れる。この置換撹乱器121 では、以下のように演算が実
行されるが、同時実行可能なステップは、並列に実行し
ても良い。また実行順序が交換可能なステップは実行順
序を交換して良い。また同じ機能を持つ複数の装置によ
る複数の演算は、装置を一元化して、順次演算を実行し
ても良い。
【0068】Step1:置換器121Aはもし置換パラメータ
BがB=0 ならば、 (L0 , L1 ) ← (M0 , G0 ) (L2 , L3 ) ← (M1 , G1 ) とし、B=1 ならば、 (L0 , L1 ) ← (M1 , G1 ) (L2 , L3 ) ← (M0 , G0 ) とする。
【0069】Step2:撹乱器121Bは撹乱パラメータ(Y
-r0 , g-r0)を用いて、入力の(L0 , L 1 )を撹乱して(M'
0 , G'0 )を出力する。 Step3:撹乱器121Cは撹乱パラメータ(Y-r1 , g-r1 )を
用いて、入力の(L2 ,L3 )を撹乱して(M'1 , G'1 )を出
力する。つまり、Gi とG'j の対応B=i(+)j, ただしi,
j∈{0, 1}、を隠蔽するために出力を撹乱処理してい
る。従ってr0 ,r1 の値だけでなくg-r0,Y-r0
g-r1,Y-r1 の値も秘密にする必要がある。なお図22
では置換した後に撹乱を行ったが撹乱した後に置換を行
ってもよい。 置換撹乱証明生成器122 図21における置換撹乱証明生成器122 は置換撹乱器12
1 が正しく動作している事を秘密情報(B∈{0, 1}及
び撹乱用パラメータの値)を明かさずに証明する。この
証明をするためにはb=i(+)jであるとして、b=0
なる全てのi, j∈{0, 1}に関して logY (Mi /M'j)= logg(Gi /G'j ) またはb=1なる全てのi, j∈{0, 1}に関して logY (Mi /M'j )= logg (Gi /G'j ) ・・・(命題1) を示さなくてはならない。そのためにこの置換撹乱証明
生成器3Aから以下に述べる証明情報Tij,Wij,zij,e
b を演算して出力する。
【0070】入力のBは置換撹乱器121 中の置換器121A
に入力された置換パラメータである。入力のrj , (j∈
{0, 1})は置換撹乱器121 中の撹乱器121B,121Cに入
力された撹乱用の乱数である。入力のe, Rij(i, j∈
{0, 1})は証明用の乱数である。入力のYRij,g
Rij (i, j∈{0, 1})は入力のMi ,Gi ,M'j ,G'
j (i, j∈{0,1})が入力されるより前に計算された証
明用のパラメータである。これら情報{B, rj, e, Rij,
YRij, gRij}を乱数情報RDMと呼ぶことにする。
【0071】出力のeb ,Tij,Wij,zij,((b, i, j∈
{0, 1})はb=i(+)jとして(Mi,Gi )と(M'j
G'j )の対応を証明するか、または対応を装って証明す
る為の情報である。この置換撹乱証明器122 では、図の
ように演算が実行される。つまりi, j∈{0,1}に関し
て i(+)j=Bならば Tij ← YRij , Wij ← gRij i(+)j=B'(B'はBの反転を表す)ならば Tij ← (Mi /M'j )eYRij ,Wij ← (Gi /G'j )egRij B=0ならば e0 ← −e+h(T00,T01,T10,T11,W00,W01,W10,W
11) e1 ← e B=1ならば e1 ← −e+h(T00,T01,T10,T11,W00,W01,W10,W
11) e0 ← e 任意のi, j∈{0, 1}に関して、 i(+)j=Bならば zij ← Rij−eBrj i(+)j=B'ならば zij ← Rij この演算により証明者(置換撹乱証明生成器121 )は証
明情報VRF={eb , T ij,Wij,zij}を出力する。
【0072】なおこの演算において、同時実行可能なス
テップは、並列に実行しても良い。また実行順序が交換
可能なステップは実行順序を交換して良い。また同じ機
能を持つ複数の装置による複数の演算は、装置を一元化
して、順次演算を実行しても良い。PR証明検証器P70A
図19の各置換サーバに設けられた検証器P70 内のPR
証明検証器P70A は図21に示した置換撹乱器121 が正
しく動作している事を検証するため、PR証明生成器12
2 の出力、つまり証明情報VRF={eb ,Tij,Wij,zij
を検 証する。
【0073】入力のeb ,Tij,Wij,Zij,(b, i, j∈
{0, 1})は置換撹乱証明生成 器122 の出力であり、b
=i(+)jとして(Mi,Gi )と(M'j,G'j )の対応 を証明
するか、または対応を装って証明する為の情報である。
この検証器P70AにはTij,Wij,zij,eb の他にM0
G0 ,M1 ,G1 ,M'0,G'0 ,M'1 ,G'1 が入力され
て、次式 e0+e1 = h(T00,T01,T10,T11,W00,W01,W10
W11) が成立するかを確かめ、これが成立しなければ偽を出力
して終了する。関数hは一方向性関数を表わす。
【0074】その後、全てのi, j∈{0, 1}に関してb=
i(+)jであるとして、 Tij= (Mi /M'j )ebYzij かつ Wij= (Gi /G'j )ebgzij が成立するかを確かめ、これが成立しなければ偽を出力
して終了する。前記両確認が共に成立すれば真を出力す
る。不正な証明者が何らかの手段で事前に用意した
eb ,zijを使って、 Tij ← (Mi /M'j )ebYzij , Wij ← (Gi /G'j )ebgzij を計算し出力しようとしてもh(x0, x1, …)の非予測性
により、e0, e 1 のどちらか一方は事前に計算するこ
とが困難なので命題1の証明となる。
【0075】出力は置換撹乱器が正しく動作したかどう
かの推定であり、真理値である。この置換撹乱証明検証
器P70Aでは、上述のように演算が実行されるが、同時実
行可能なステップは、並列に実行しても良い。また実行
順序が交換可能なステップは実行順序を交換して良い。
また同じ機能を持つ複数の装置による複数の演算は、装
置を一元化して、順次演算を実行しても良い。
【0076】証明付き置換撹乱器120 証明付置換撹乱器120 は2入力のEl Gamal暗号文(M0, G
0),(M1, G1 )を置換撹乱処理した(M'0, G'0),(M'1,
G'1)及び、正しい処理が行 われた事の証明を秘密情報
を明かさずに出力する(零知識証明)。この証明付 き
置換撹乱器120 は置換撹乱器121 と置換撹乱証明生成器
122 とから構成され る。この証明付き置換撹乱器120
では、以下のように演算が実行されるが、同時実行可能
なステップは、並列に実行しても良い。また実行順序が
交換可能なステップは実行順序を交換して良い。また同
じ機能を持つ複数の装置による複数の演算は、装置を一
元化して、順次演算を実行しても良い。
【0077】Step1:置換撹乱器121 は入力の(M0,
G0 ),(M1, G1)を入力のBと 撹乱パラメータg-r0, Y
-r0, g-r1, Y-r1で置換撹乱処理し、(M'0, G'0),(M'
1, G' 1)を出力する。 Step2:PR証明生成器122 は入力(M0, G0), (M1, G1)
及び出力(M '0, G' 0), (M'1, G'1)及び乱数情報RDM=
{B, rj, e, Rij, YRij, g Rij}を使って証明情報VRF
={eb, Tij, Wij, zij}を出力する。
【0078】証明付部分復号器141図24,25,26
を参照して図21の証明付部分復号器141, 142を説明す
る。証明付部分復号器141 は図24に示すように部分復
号器141Aと部分復号証明生成器141Bとから構成されてい
る。部分復号器141Aと部分復号証明生成器141Bは図25
及び26に更に詳細に示されている。証明付部分復号器
142 も141と同様の構成とされているので、証明付部分
復号器142 の説明は省略する。
【0079】図25はEl Gamal暗号文を秘密鍵の部分情
報を用いて部分復号する部分復号器141Aの構成の一例を
表している。入力のEl Gamal暗号文を(M,G)とすると、
平文m及び公開鍵(Y,g)及び乱数に関して M=mYw ,G=gw が成り立っている。いまY=y×y'及びy=gx なる秘密鍵の
部分情報xの値を部分復号者が知っているとする。部分
復号者は入力の(M,G)に対してM' ← M×G-xを計算して
(M ',G)を出力する。出力は M'= my'w ,G=gw を満たすので、平文m及び公開鍵(y', g)及び乱数wに
関するEl Gamal暗号文となる。
【0080】部分復号器141Aは冪乗器141A1 と乗算器14
1A2 からなる。この装置では、以下のように演算が実行
されるが、同時実行可能なステップは、並列に実行して
も良い。また実行順序が交換可能なステップは実行順序
を交換して良い。また同じ機能を持つ複数の装置による
複数の演算は、装置を一元化して、順次演算を実行して
も良い。 Step1:冪乗器141A1 は入力の-x及びGを用いてL0
G-x を計算してL 0を出力する。
【0081】Step2:乗算器141A2 は入力のM及びL0
用いてM' ← M×L0を計算し てM'を出力する。 Step3:部分復号器141Aは入力のGをそのまま出力す
る。 部分復号証明生成器141B 図26は図25に示した部分復号器141Aが正しく動作し
ている事を秘密情報を明かさずに証明する部分復号証明
生成器141Bの構成の一例を表している。この証明をする
ためにはy=gx なる秘密鍵xの値を明かさずに、xの値
を知っており、かつM/M'=Gx が成立する(命題2)を
零知識証明で示す。証明は二つの離散対数 logg y及び
logG (M/M')が等しい事を、Chaum-Pedersenのプロトコ
ルで示す。
【0082】入力のRは証明者以外には秘密の乱数であ
り、gRはGが入力される前に計算されているものとす
る。この部分復号証明生成器141Bは冪乗器141B1 と、ハ
ッシュ器141B2 と、レジスタ141B3 と、乗算器141B4
と、減算器141B5 とからなる。ハッシュ演算器141B2 は
一方向性ハッシュ関数hを計算する為の装置で、ハッシ
ュ関数の仕様は公開されているものとする。この装置で
は、以下のように演算が実行されるが、同時実行可能な
ステップは、並列に実行しても良い。また実行順序が交
換可能なステップは実行順序を交換して良い。また同じ
機能を持つ複数の装置による複数の演算は、装置を一元
化して、順次演算を実行しても良い。
【0083】Step1:冪乗器141B1 は入力のR及びGを
用いてT←GR を計算してTを出力する。 Step2:ハッシュ器141B2 は入力のT及びレジスタ141B
3 に保持されているV=gRを用いてe←h(T, V)を計算して
eを出力する。 Step3:乗算器141B4 は入力のe及びxを用いてL0
e×xを計算してL 0を出力する。
【0084】Step4:減算器141B5 は入力のR及びL0
用いてs←R−L0 を計算して sを出力する。 Step5:T,V,e,sを証明情報VRF として図19の部分
復号証明検証器 P70Bへ出力する。 部分復号証明検証器P70B 図21中に示した部分復号証明生成器141B(142B)の出力
を検証する部分復号証明検証器P70Bは部分復号器141A(1
42A)が正しく動作していることを検証するものであっ
て、「部分復号器141Aがxの値を知っており、かつM/M'
=Gx が成立する(命題2)」に対して、その真偽を判
定して出力する。
【0085】図26に示した部分復号証明生成器141Bの
出力をChaum-Pedersenのプロトコルに従って検証する。
hは仕様の公開された一方向性ハッシュ関数であるとす
る。g,yは先に述べたように公開されている。この装
置では、以下のように演算が実行されるが、同時実行可
能なステップは、並列に実行しても良い。また実行順序
が交換可能なステップは実行順序を交換して良い。また
同じ機能を持つ複数の装置による複数の演算は、装置を
一元化して、順次演算を実行しても良い。
【0086】Step1:部分復号証明検証器P70B(図1
9)は入力のe, T, V に対して e= h(T, V) でなければ偽を出力して終了する。 Step2:部分復号証明検証器P70Bは入力のm, M'. G, e,
s に対して T=(M/M')eGs でなければ偽を出力して終了する。このことはM'=M
G-x,s=R−exの関係を代入してみれば、正しければ等
号が成立つことから理解される。
【0087】Step3:部分復号証明検証器P70Bは入力の
V, e, s に対してV=yegs でなければ偽を出力して終了
する。このことはV=gR ,y=gx ,s=R−exなる関係か
ら理解される。 Step4:部分復号証明検証器P70Bは全ての検証が成立す
れば真を出力して終了する。 以上は図20で説明した各完全置換網における切換装置
としての各証明付PR部分復号器SWの機能構成とそれ
に関連した検証器P70Bの説明であった。次に、図20に
示した完全置換網における証明付固定部分復号器SWF
について説明する。 証明付き固定部分復号器SWF 図27は2入力のEl Gamal暗号文を秘密鍵の部分情報を
用いて部分復号し、復号結果及び各々の復号結果の正当
性の証明を出力する証明付き固定部分復号器SWFの構
成の一例を表している。
【0088】この証明付き固定部分復号器SWFは前述
のように図20の置換網において固定した置換と証明付
部分復号を行なうために用いられる。この証明付き固定
部分復号器SWFは図27に示すように証明付き部分復
号器141Fと証明付き部分復号器142Fとからなる。証明付
き部分復号器141F, 142Fはそれぞれ図24に示した証明
付き部分復号器と同様に構成される。この証明付き固定
部分復号器SWFでは、以下のように演算が実行される
が、同時実行可能なステップは、並列に実行しても良
い。また実行順序が交換可能なステップは実行順序を交
換して良い。また同じ機能を持つ複数の装置による複数
の演算は、装置を一元化して、順次演算を実行しても良
い。
【0089】Step1:証明付き部分復号器141Fは入力の
-x及び(M0, G0)及び乱数情報0を用いて(M0, G0)を部分
復号した結果の(M'0, G0)及びその正当性の証明である
証明情報0を出力する。 Step2:証明付き部分復号器142Fは入力の-x及び(M1, G
1)及び乱数情報1を用いて(M1, G1)を部分復号した結果
の(M'1, G1)及びその正当性の証明である証明情報1を
出力する。 証明付きPR部分復号器SW 図20における証明付きPR部分復号器SWとして、前
述の図21に示したものとは異なる構成例を図28に示
す。
【0090】図28は2入力のEl Gamal暗号文(M0,
G0),(M1, G1)を置換撹乱部分復号処理した(M'0,
G'0),(M'1, G'1)及び、正しい処理が行われた事の証明
を秘密情報を明かさずに出力する証明付きPR部分復号
器SWの構成の図21とは異なる例を示す。図211の例
では、置換かく乱に対する証明と部分複合に対する証明
を別々に行ったが、図28では置換撹乱部分復号した結
果に対し証明を行っている点が異なる。
【0091】この署名付PR部分復号器SWはPR部分
復号器124 とPR部分復号証明生成器125 からなる。P
R部分復号器124 は置換撹乱器124Aと2つの部分復号器
124B, 124Cとから構成されている。このPR部分復号器
SWでは、以下のように演算が実行されるが、同時実行
可能なステップは、並列に実行しても良い。また実行順
序が交換可能なステップは実行順序を交換して良い。ま
た同じ機能を持つ複数の装置による複数の演算は、装置
を一元化して、順次演算を実行しても良い。
【0092】Step1:PR部分復号器124 は入力の(M0,
G0),(M1, G1)を入力のB及び撹乱パラメータ、秘密鍵
の部分情報で置換撹乱部分復号処理した(M'0, G'0),
(M'1,G'1)を出力する。 Step2:PR部分復号証明生成器125 は入力の(M0,
G0),(M1, G1)及び(M'0,G'0)、(M'1, G'1)及び乱数情報
を使って証明情報を出力する。 この証明付きPR部分復号器SWにおいても置換と、撹
乱と、部分復号との順は任意に変更してもよい。
【0093】図28における置換撹乱器124Aは図22に
示した置換撹乱器121 と同様に構成され、部分復号器12
4B及び124Cはそれぞれ図25に示した部分復号器141A(1
41B)と同様に構成される。この置換撹乱部分復号器124
では、以下のように演算が実行されるが、同時実行可能
なステップは、並列に実行しても良い。また実行順序が
交換可能なステップは実行順序を交換して良い。また同
じ機能を持つ複数の装置による複数の演算は、装置を一
元化して、順次演算を実行しても良い。
【0094】Step1:置換撹乱器124Aは置換撹乱用のパ
ラメータB, g-r0 , Y-r0, g-r1, Y- r1 を用いて入力の
(M0, G0),(M1, G1)を置換撹乱処理した結果を示す2対
の情報を出力する。 Step2:部分復号器124Bは置換撹乱処理した結果の一方
の対情報を秘密鍵の部分情報-xを用いて部分復号し
(M'0, G'0)として出力する。 Step3:部分復号器124Cは置換撹乱処理した結果の他方
の対情報を秘密鍵の部分情報-xを用いて部分復号し
(M'1, G'1)として出力する。 PR部分復号証明生成器125 図28におけるPR部分復号証明生成器125 はPR部分
復号器124Aが正しく動作している事を秘密情報を明かさ
ずに証明する構成の一例を示している。
【0095】入力のBは置換撹乱器124A中の置換器(図
22参照)に入力された置換パラメータであり、入力の
rj (j∈{0, 1})は置換撹乱器124A中の撹乱器(図
22参照)に入力された撹乱用の乱数であり、入力のx
は復号鍵の部分情報であり、入力のe, K0, K1, Rij(i,
j∈{0, 1})は証明情報生成用の乱数であり、入力の
gK0, gK1+ex y'Rij,gRij (i, j∈{0, 1})は入力の
Mi, G i, M'j, G'j (i, j∈{0, 1})が入力されるよ
り前に計算された証明情報生成用のパラメータである。
【0096】出力のVb, eb, sb, Tij, Wij, zij, (b,
i, j∈{0, 1})はb=i(+)jとして(Mi, Gi)と(M'j,
G'j)の対応を証明するか、または装う為の情報である。
置換撹乱部分復号器124 が正しく動作していることを直
接証明するためには、置換用の乱数B∈{0, 1}及び撹
乱や復号用の秘密のパラメータの値を明かさずに、b=i
(+)jであるとして、 b=0なる全ての i, j∈{0, 1}に関してM/M'j =yrjGi x かつGi /G'j =gr j b=1なる全ての i, j∈{0, 1}に関してM/M'j =yrjGi x かつGi /G'j =gr j ・・・(命題3) を示さなくてはならない。このために以下に示すように
して証明情報Vb ,eb ,sb (b∈{0, 1}),Tij,W
ij,zij(i, j∈{0, 1})を生成する。
【0097】全ての i, j∈{0, 1}に関して、 i(+)j=Bならば Tij ← y'Rij Gi K0,Wij ← gRij i(+)j=B'ならば(B'はBの反転) Tij ← (Mi /M'j)e y'Rij Gj K1 ,Wij ← (Gi /G'j)e g
Rij を演算する。
【0098】更に VB ← gK0,VB'← gK1+ex としB=0ならば e0 ← -e+h(T00,T01,T10,T11,W00,W01,W10
W11) を演算し、またe1 ←eとし、B=1ならば e1 ← -e+h(T00,T01,T10,T11,W00,W01,W10
W11) を演算し、かつe0 ←eとし更にi(+)j=Bなら zij ← Rij− eb rj を演算し、i(+)j=B'ならzij ← RijとしB=0なら
ば s0 ← K0 −e0 x を演算し、s1 ← K1 とし、B=1ならば s1 ← K0 −e1x を演算し、s0 ← K1 とする。
【0099】この置換撹乱部分復号証明生成器125 は上
述のように演算が実行されるが、同時実行可能なステッ
プは、並列に実行しても良い。また実行順序が交換可能
なステップは実行順序を交換して良い。また、同じ機能
を持つ複数の装置による複数の演算は、装置を一元化し
て、順次演算を実行しても良い。 PR部分復号証明検証器P70C 図19におけるPR部分復号証明検証器P70Cは図28に
示したPR部分復号器124 が正しく動作している事を検
証する。この検証器P70Cは図28中のPR部分復号証明
生成器125 の出力を検証する。
【0100】PR部分復号証明検証器P70Cの入力はeb,
Tij,Wij,Zij,(b, i, j∈{0, 1})であり、これは
図28のPR部分復号証明生成器125 の出力であり、b=
i(+)jとして(Mi, Gi)と(M'j, G'j)の対応を証明する
か、または装う為の情報である。この検証器P70Cは先ず e0+e1 =h(T00,T01,T10,T11,W00,W01,W10,W11) が成立するかを演算して確め成立しなければ偽を出力し
て終了し、成立すれば、全てのb∈{0, 1}に関してVb
=gsbyeb が成立するかを演算して確め、成立しなけれ
ば偽を出力して終了し、成立すれば、全てのi, j∈{0,
1}に関してb=i(+)jであるとして、 Tij=(Mi /M'j)eby'zij Gi sb ,Wij=(Gi /G'j)ebgzij が成立するかを演算して確め、成立しなければ偽を出し
て終了し、成立すれば真を出力する。このようにして命
題3の真偽が判定される。
【0101】この検証器P70Cでは、上述のように演算が
実行されるが、同時実行可能なステップは、並列に実行
しても良い。また実行順序が交換可能なステップは実行
順序を交換して良い。また同じ機能を持つ複数の装置に
よる複数の演算は、装置を一元化して、順次演算を実行
しても良い。 完全置換網10 図29A及び図29Bはそれぞれ4入力及び8入力の完
全置換網10A及び10Bの構成の一例を表している。
【0102】完全置換網とは証明付きPR部分復号器S
W及び証明付き固定部分復号器SWFの複数個が行列に
配され、縦続的に接続され、各証明付きPR部分復号器
SWの秘密の置換パラメータBi の値の組合せによって
入力に対するあらゆる置換を実現できる網のことであ
る。入力はN個のEl Gamal暗号文であり出力はN個のEl
Gamal暗号文またはN個の平文である。また置換の正当
性を証明する情報として各証明付きPR部分復号器及び
各証明付き固定部分復号器の証明情報及び秘密鍵や置換
撹乱パラメータや乱数情報以外の入出力情報が出力公開
される。
【0103】図29Aでは2個のEl Gamal暗号文が入力
され、2個のEl Gamal暗号文を出力する処理器として前
記証明付きPR部分復号器SWと証明付き固定部分復号
器SWFが2行3列に配され、各行の部分復号器の出力
が同一行の次の列の部分復号器へ供給されるものと、行
が入れ替えられて次の列の部分復号器へ入力されるもの
とがあり、部分復号器中の実線ブロックで示しているも
のは証明付きPR部分復号器SWであって、2つのEl G
amal暗号文を置換撹乱処理し、秘密鍵の部分情報を用い
て部分復号し、その置換撹乱結果と、その正当性を証明
するための証明情報を出力し、部分復号器中の破線ブロ
ックで示されているものは証明付き固定部分復号器SW
Fであって、このEl Gamal暗号文を秘密鍵の部分情報を
用いて部分復号し、その復号結果と、その正当性を証明
するための証明情報を出力する。この場合4入力の配列
に対し置換可能な配列は4!=4×3×2=24通りで
あるが、Bi の数は5あれば25 =32通りの配列が可
能となり、入力配列に対し、置換可能な全ての配列の何
れにも設定可能である。つまり4入力の配列の場合は、
証明付きPR部分復号器、換言すれば置換パラメータB
i を設定できる処理器は5個あれば完全置換網を構成で
きる。一方証明付きPR部分復号器と比較して証明付き
固定部分復号器は構成が可成り簡単であり、つまり計算
量が少なくて済むので、1行3列目の処理器は証明付き
固定部分復号器としている。これをも証明付きPR部分
復号器としてもよい。
【0104】図29Bは証明付きPR部分復号器SW又
は証明付き固定部分復号器SWFが4行5列に配され、
内側の3列間で同一行で出力が入力されるものと行が入
れ替えられて出力が入力されるものとがある。この構成
は図中に破線で示すように図29Aの4入力4出力の完
全置換網を二つ組合せたものである。秘密の置換パラメ
ータの第i列のBi の値が分からなければどのような置
換が行われたのか推定する事は出来ない。つまりM'0
…,M'3 はBi の値の組み合わせを知らなければ誰が入
力した文かは判らない。図29A、図29Bの何れにお
いても正しく復号するために、同じ列(第i列)の各部
分復号器は同じ復号鍵xi を持つ。 完全置換網10C 図30は2N入力の完全置換網10Cの構成の一例を表
している。原理は A.Waksman. A permutation network.
Journal of the ACM,15(1):159-163, 1968.による。
【0105】置換網10CはN入力の完全置換網10C1, 1
0C2及び2入力の完全置換網(証明付きPR部分復号
器)SWのみから構成されているので2入力の完全置換
網を用いて4入力、8入力、…、2n 入力の完全置換網
を構成する事が出来る。図ではN入力完全置換網を2つ
設け、その入力段にN個の2入力2出力の証明付き置換
撹乱部分復号器を設け、出力段に(N-1) 個の2入力2出
力の証明付きPR部分復号器SWと、1個の証明付き固
定部分復号器SWFを設けている。図29Bの構成は図
30の構成でN入力完全置換網として4入力完全置換網
が用いられた場合となる。
【0106】従って、証明付き置換撹乱部分復号器及び
証明付き固定部分復号器のみを用いて部分復号処理を行
う機能をもった2n 入力の完全置換網を構成する事が出
来る。N(=2n )入力の完全置換網に必要な部品は、
証明付き置換撹乱部分復号器Nlog2 N-N+1個及び証明付
き固定部分復号器 (N-1)個であり、全体の段数(列の
数)は2N log2 N-1段である。 一括不正回復付き検証可能匿名通信路100 前述の図20は8入力2秘密漏洩耐性2故障耐性一括不
正回復付き検証可能匿名通信路の構成の一例を表してい
る。一括不正回復付き検証可能匿名通信路100は置換サ
ーバPS1〜PS5と、置換サーバ18Cと、置換サーバ18
Dと、置換サーバ18Eと、置換サーバ18Fとが縦続
的に接続されて構成されている。t秘密漏洩耐性とは全
部でV(>2t)個の置換サーバのうち最大t個の装置
の置換秘密情報Bi が攻撃などにより漏洩しても入出力
の対応が完全に隠蔽されることを意味する。
【0107】一括不正回復付き検証可能匿名通信路100
は3つの完全置換網10A,10B,10Cを含んでお
り、完全置換網を跨る置換サーバを持っていないので、
どの2つの置換サーバの置換秘密情報Bi が漏洩しても
その2つの置換サーバを含まない完全置換網が必ず一つ
は存在し、その完全置換網の秘密情報が全て隠蔽されて
いるのでこの完全置換網により入出力の対応が隠蔽さ
れ、この匿名通信路100の入出力の対応も隠蔽される。
従って図20に示した匿名通信路では5つの置換サーバ
PS1〜PS5よりなるから一括不正回復付き検証可能匿名通
信路100 は2秘密漏洩耐性を持っている。
【0108】一般に一括不正回復付き検証可能匿名通信
路100 が完全置換網をt+1 個直列に接続した形状の網を
持ち、この網をV個に分割し、分割された各々の部分を
置換サーバとする場合、どの置換サーバも2つの完全置
換網に跨ることが無いように網の分割が行われていれ
ば、その一括不正回復付き検証可能匿名通信路はt秘密
漏洩耐性を持つ。t故障耐性とは全部でV(>2t)個
の置換サーバのうち最大t個の動作が正しくない時でも
不正回復により最終的には正しく出力ができる一括不正
回復付き検証可能匿名通信路であることを意味する。
【0109】各置換サーバは自分の秘密鍵を他の置換サ
ーバに検証可能な秘密分散法で、t+1個以上の置換サー
バが集まれば秘密鍵を復元出来るように秘密分散する。
例えば、0次の係数を隠蔽すべき秘密鍵xi とし秘密の
乱数により他の係数が決定されるzに関するt次多項式
fi(z)のz=jの値xij=fi(j)をj番目の置換サーバに対し
て分配するとすれば、一つのiに対してt+1 個以上のx
ij及び対応するjが集まれば、その中の任意のt+1 個の
互いに異なるjの集合Jに関するLagrange補間公式
【0110】
【数8】 を用いて、xi=fi(0)として秘密鍵を復元できる。この
ような鍵秘密分散復元の手法は例えば共立出版株式会社
1995年12月20日発行、岡本龍明、太田和夫編
「暗号・ゼロ知識証明・数論」62〜63頁に示されて
いる。
【0111】図19に示したように、各置換サーバPS
は他の装置の入出力の正当性を検証するための検証器2
1を具備している。各置換サーバPSで暗号文の出力が
行われる度にその正当性を検査し結果を掲示板に公開す
る。各置換サーバは検査の結果、正しいと認められる最
後の出力を自分の入力とし、その入力に対して未だ部分
復号処理に用いられていない全ての公開鍵の積を求め、
これを撹乱処理に必要なパラメータとして置換撹乱部分
復号処理を行う。
【0112】最終出力が終った後、全ての置換サーバが
正しく動作した、つまり全装置が正しかったと全員が納
得し、全ての置換サーバが出力した場合は、最終出力が
求める平文の列(リスト)になる。上記以外の場合、最
終出力が終った後、最終的に互いに信頼できる入出力を
行った置換サーバが3個(t+1個)以上集まった時は、
正しく動作していないと判断された全ての置換サーバの
秘密鍵を、鍵秘密分散復元の手法により復元し、その総
和をx'として公開する。
【0113】最終的に互いに信頼できる置換サーバが各
々最終的に信頼できる出力を、秘密鍵x^を用いて復号し
平文の列を求め公開する。この秘密鍵x'により復号可能
なことは前記「一括化可能」条件にもとずく、最終的に
互いに信頼できる入出力を行った置換サーバが3個(t+
1個)以上集まらない時には不正回復は失敗する。置換
サーバが信頼できるものであるかはその入力と出力と証
明情報を用いて、前述した証明付きPR部分復号器、証
明付き置換撹乱器、証明付き固定部分復号器に対する検
証により、その置換サーバが構成する処理器の全てにつ
いて、検証すればよい。また置換サーバに対する処理
は、その縦続接続された順に行うが、その入力としては
直前の信頼できる置換サーバの出力を用いる。以下にど
の置換サーバの出力を入力とすればよいかの検索手法の
例を示す。なおこの検索は各置換サーバ中の判定部P60
で行う。
【0114】また匿名通信路100 への入力リストをL0
し、i番目の置換サーバPSi の出力リストをLiとする
時、j番目の置換サーバPSj の入力リストLjを求めるに
は例えば図31に示すように行えばよい。j番目の置換
サーバPSj の、正しい処理を行なった直前の置換サーバ
の位置をtで表すと、まずt=0、i=1と初期化し
(S1)、i<jかを調べ(S2)、iがjより小さけ
ればi番目の置換サーバPS i の証明情報VRFiは入力リス
トLtと出力リストLiの1対1の対応を証明しているかを
調べ(S3)、証明している場合はt=iとし(S
4)、更にiを+1してステップS2に戻り(S5)、
ステップS3で1対1の対応を証明していない場合はス
テップS5に移り、iがjと等しいかそれより大きくな
れば処理を終了し、その時のtの値から置換サーバPSt
の出力リストLtが求める入力リストになる。
【0115】図31に示した入力リストの探索は次のよ
うにして処理を削減することができる。図31におい
て、各置換サーバが決定した入力リストがどの置換サー
バからのものであるかその番号tを掲示板に登録し、ス
テップS2とS3との間において図32に示すように置
換サーバPSi は信頼できる置換サーバの出力リストLt
入力としているかを調べる(S6)。もし検証対象の置
換サーバPSi が信頼できる置換サーバの出力リストLt
入力としていなかった場合は、ステップS3の検証を行
なわないでも、その置換サーバPSi が不正な処理を行な
ったと判断できる。そこで、図32に示すように、置換
サーバPSi がリストLtを入力としていない場合は、その
置換サーバPSi の入力リストLtと出力リストLiの対応を
検証することなく、ステップS5に移り、リストLtを入
力としている場合は、その置換サーバPSi についてステ
ップS3を実行する。これにより、図31に示した場合
より処理量を減少することができる。置換サーバPS1〜P
Sj-1についての検証が終了すれば(i≧jとなれば)、
ステップS6でtの値を掲示板に登録し、処理を終了す
る。
【0116】更に他の例を示す。この例では、各置換サ
ーバPSi , i=1, …,Vはそれより上手の前置換サーバに
ついて、それぞれ信頼できるか否かの判定結果を掲示板
に例えば図33Aに示すように登録するものとする。
又、各置換サーバPSj は、自分より上手の各置換サーバ
PSk (1<k<j)に対する信頼性の判定結果を信頼度情報Rk=
真又は偽、として記録するレジスタを有しているものと
する。図33Bは置換サーバPSj のレジスタに記録され
た信頼度情報の例を示している。図33Aでは、すでに
j-1番目の置換サーバまでそれぞれそれらより上手の全
ての置換サーバに対する判定結果を○印は信頼性あり、
×印は信頼性なしで示している。
【0117】各置換サーバは自分より上手の最も近い信
頼できる置換サーバの出力を入力とすることが要求され
ているので、j番目の置換サーバPSj は1番目の置換サ
ーバPS1 から順に検査し、例えば2番目の置換サーバは
信頼性がないと判定したにもかかわらず、図33Aに示
すように掲示板を参照するとi番目の置換サーバは2番
目の置換サーバを信頼性ありと判定している。従って、
j番目の置換サーバはi番目の置換サーバを信頼性がな
いと判定することができる。このような場合、j番目の
置換サーバはi番目の置換サーバについての入出力の対
応関係の検証を省略することができる。同様に、j番目
の置換サーバが例えば3番目の置換サーバを信頼性あり
と判定したにもかかわらず、もしi番目の置換サーバが
3番目の置換サーバを信頼性なしと判定していたら(図
33Aでは信頼性ありとなっている)、その場合も、j
番目の置換サーバはi番目の置換サーバを信頼性がない
と判定でき、この場合も、j番目の置換サーバはi番目
の置換サーバに対する入出力の対応の検証を省略するこ
とができる。この方法を使ったj番目の置換サーバによ
る入力リストの探索処理を図34を参照して説明する。
【0118】図34に示す置換サーバPSj の入力リスト
の検索処理において、まずt=0, i=0とし、置換サーバPS
j のレジスタの k= 1, …, j-1 に対する値Rk を全て
真とする初期化を行い(S1)、iがjより小さければ
(S2)、図33Bに示したレジスタを参照し、k=i 番
目の置換サーバの信頼度情報Ri が真であるかを調べ
(S3)、Ri が真であれば(Riの初期値は真に設定さ
れている)、置換サーバPSi の証明情報VRFiがリストLt
とリストLiの1対1対応を証明しているかを調べ(S
4)、正しく証明するものであればtをiに更新する
(S5)。この場合、k= i+1, …, j-1 の置換サーバPS
k はそれぞれ置換サーバPSi の出力リストLiを正しい、
即ち置換サーバPSi は信頼性がある、と判断すべきであ
るから、図33Aの掲示板を参照し、もしこの置換サー
バPSi を信頼性がないと判断した置換サーバPSk があれ
ば、図33Bに示すように、その置換サーバに対する信
頼度情報Rk を偽に変更する(S7)、その後、iを+
1してステップS2に戻る(S7)。
【0119】ステップS4でリストLtとリストLiが1対
1で対応することを証明できない場合は、ステップS8
に移り、掲示板を参照し、もしk=1, , j-1の置換サーバ
PSkでサーバPSi を信頼できると判定している置換サー
バがあれば、その置換サーバについての信頼度情報Rk
偽に変更し、ステップS7でiを歩進してステップS2
に戻る。従って、以降のループ処理で、ステップS2で
iが、先にステップS4又はS8でレジスタの信頼度情
報Rkが偽とされた置換サーバの番号i=k となった時に
は、ステップS3でレジスタにあるそのサーバの信頼度
情報Rkが偽となっているので、ステップS4の検証を行
なわず、ステップS8に移る。
【0120】ステップS2でiがjを超えると、その時
のリストLtを求める入力とし、また全ての置換サーバPS
k についての信頼度情報Rk を公開(掲示板に登録)し
て終了する。このように各検査結果である信頼度情報R
k を利用することにより、入力すべき出力リストの検索
にかかる処理量が少なくて済む。図20では各置換サー
バPS1〜PS5の処理器として証明付き置換撹乱部分復号器
のみ又はこれと証明付き固定部分復号器とを用いた。し
かし、各置換サーバPS1〜PS5を証明付き置換撹乱器と証
明付き固定部分復号器とを用いて構成することもでき
る。例えば図35に示すように、図20中の証明付き置
換撹乱部分復号器を証明付き置換撹乱器に置きかえ、図
20中の証明付き固定部分復号器の部分はその入力をそ
のまま出力させ、各置換サーバの最後の段(列)の後段
に各行ごとに証明付き固定部分復号器をそれぞれ設けて
もよい。
【0121】また図20中の例えば置換サーバPS1 の初
段(第1列)の各行の処理器を全て証明付き置換撹乱器
に変更してもよい。要は置換サーバは、全体として証明
付き置換撹乱処理と、少なくとも1段(1列)の処理器
による証明付き部分復号処理とを行うものであればよ
い。なおt故障耐性が問題とならず、t秘密漏洩耐性の
みを必要とする場合は置換サーバを重複することなく構
成された完全置換網がt+1個あればよく、V>2tな
る条件は必要としない。
【0122】前述したこの発明の各実施例において、こ
の発明による匿名通信路を形成している置換網は2入力
2出力の単位切換装置SW(SWF)を規則に従って接
続して構成してもよいが、例えばN=2k入力の場合、単位
切換装置SW(SWF)が入力側から2k-1個ずつ(2k-1)
段に配列された置換網において、各段で1つのデータ処
理装置が前段からの処理結果を取り込み、単位切換装置
SWの2k-1個分の処理を実行し、処理結果を順次出力す
るようにしてもよいし、更に、これら(2k-1)段の(2k-1)
個のデータ処理装置が行なうべき処理を1つの処理装置
が順次実行してもよい。
【0123】例えば、(2k-1)段のそれぞれにデータ処理
装置が1つずつ設けられている場合、J段目の処理装置
には前段から2k個の処理結果であるEl Gamal 暗号(M,
G)を順次取り込み、前述したような置換、撹乱及び部分
復号を行なって得た暗号(M',G')を予め決めた規則に従
って順に出力する。この処理手順を図36から39を参
照して説明する。図36はJ段目の処理装置が1〜k-1段
のグループ、k〜2k-2段のグループ、及び最後の2k-1段
のどの段に属するかを判定し、処理1、処理2及び処理
3のどれを実行すべきかを決定する。各段の処理装置
は、N=2k個の出力端子位置に対応してN個の処理結果を
保持するN個の出力レジスタを有するものとする。 ステップS1:J=2k-1か否か、即ち最終段であるか否
か判定し、最終段であれば処理3(図39)の実行に移
る。そうでなければステップS2に移る。 ステップS2:J-k≧0 か否か、即ちJはk〜2k-2 の値
か判定し、そうであれば処理2(図38)の実行に移
る。そうでなければステップS3に移る。 ステップS3:Jは1〜k-1の値であり、処理1(図3
7)の実行に移る。
【0124】図37,38,39はそれぞれ処理1、処
理2、処理3を実行するフローを表す。ここで、(L
J-1[2i], LJ-1[2i+1])はJ-1段目のランダム置換の対象
となる2つの出力位置[2i], [2i+1]の暗号文(M2i,
G2i), (M2i+1, G2i+1)を表す。lrot(u, v)は2進表現の
データu中のLSB 側からvビットのデータに対し1ビッ
ト左回転を与えることによりデータuを変換することを
意味する。例えば、2進表現でu=10110であり、v=3 と
すると、lrot(u, v)は、10110の右側3ビット110を、左
へ1ビット回転させて101とすることにより、uを10101
に変換する。同様に、rot(u, v)は2進表現されたデー
タuのLSB 側からvビットのデータを右へ1ビット回転
させることによりデータuを変換する。
【0125】bit[x, y]は、2進表現されたxの下位y
ビットの値を表す。例えばx=10001でy=4の場合、bit[x,
y]=1となる。図37に示す処理1はJ=1, …, k-1
の置換段における処理であり、これらの段では以下のよ
うに全ての対の入力暗号(LJ-1[2i], LJ-1[2i+1])に対し
ランダム置換、撹乱、部分復号を行う。 ステップS11:i=0 に初期設定する。 ステップS12:J-1 段目からの2i番目と(2i+1)番目の
ランダム置換対象となる2つの暗号(LJ-1[2i], LJ-1[2i
+1])に対し証明付置換撹乱部分復号処理を行い、処理結
果をそれぞれ[rot(2i, k-J+1)]番目と、[rot(2i+1, k-J
+1)]番目の出力レジスタに格納する。 ステップS13:iを1増加する。 ステップS14:i≦2k-1 であるか判定し、そうであ
ればまだ未処理データがあるのでステップS11に戻
る。そうでなければJ段でのデータ処理を終了する。
【0126】図38に示す処理2はJ=1, …, 2k-1 の
置換段における処理であり、対の入力暗号(LJ-1[2i], L
J-1[2i+1])に対し以下のように処理を行なう。 ステップS21:i=0 に初期設定する。 ステップS22:bit[i, J-k]=0 であるか判定し、YES
であれば固定置換装置SWFでの処理であり、ステップS
23に移り、NOであれば置換装置SWでの処理でありス
テップS24に移る。 ステップS23:前段(J-1 段目)からの2i番目と(2i+
1)番目の対の暗号(LJ-1[2i], LJ-1[2i+1])をそのままそ
れぞれ[lrot(2i, J-k+2)]番目と、[lrot(2i+1, J-k+2)]
番目の出力レジスタに格納する。 ステップS24:J-1 段目からの2i番目と(2i+1)番目の
対の暗号(LJ-1[2i], LJ- 1[2i+1])に対し証明付置換撹乱
部分復号処理を行い、処理結果をそれぞれ[lrot(2i, J-
k+2)]番目と、[lrot(2i+1, J-k+2)]番目の出力レジスタ
に格納する。 ステップS25:iを1増加する。 ステップS26:i≦2k-1 であるか判定し、そうであ
ればまだ未処理データがあるのでステップS22に戻
る。そうでなければJ段でのデータ処理を終了する。
【0127】図39に示す処理3は最終段J=2k-1 にお
ける処理であり、前段からの対の入力暗号(LJ-1[2i], L
J-1[2i+1])に対し以下のように処理を実行する。 ステップS31:i=0 に初期設定する。 ステップS32:bit[i, J-k]=0 であるか判定し、YES
であれば固定置換装置SWFでの処理であり、ステップ
S33に移り、NOであれば置換装置SWでの処理であり
ステップS34に移る。 ステップS33:J-1 段目からの2i番目と(2i+1)番目の
対の暗号(LJ-1[2i], LJ- 1[2i+1])をそのままそれぞれ2i
番目と、(2i+1)番目の出力レジスタに格納する。 ステップS34:J-1 段目からの2i番目と(2i+1)番目の
対の暗号(LJ-1[2i], LJ- 1[2i+1])に対し証明付置換撹乱
部分復号処理を行い、処理結果をそれぞれ2i番目と、(2
i+1)番目の出力レジスタに格納する。 ステップS35:iを1増加する。 ステップS36:i≦2k-1 であるか判定し、そうであ
ればまだ未処理データがあるのでステップS32に戻
る。そうでなければJ段でのデータ処理を終了する。
【0128】全(2k-1)段の処理を1つの処理装置で実行
する場合は、図36〜39の処理手順を、J=1, 2,
..., 2k-1について順次繰り返せばよい。以上説明した
この発明による置換撹乱復号処理は、コンピュータプロ
グラムとして記録媒体に記録しておき、そのプログラム
を読み出して実行することにより実施してもよい。上述
した符号化装置、復号化装置は共に、その各機能をコン
ピュータによりプログラムを解読実行させることにより
行わせることもできる。
【0129】図40はこの発明による匿名通信路を構成
する置換網における証明付置換撹乱部分復号方法をコン
ピュータで実施する場合の構成を示す。コンピュータ8
0は、バス88を介して互いに接続されたCPU81、
RAM82,ROM83,入出力インタフェース84、
ハードディスク85を含んでいる。ROM83にはコン
ピュータ80を動作させる基本プログラムが書き込まれ
てあり、ハードディスク85には前述した例えば1つの
置換サーバがこの発明による証明付置換撹乱部分復号処
理方法を実行するプログラムが予め格納されている。例
えば符号化時にはCPU81はハードディスク85から
符号化プログラムをRAM82にロードし、掲示板400
からインタフェース84を介して取り込んだ暗号化投票
文をプログラムに従って処理することにより匿名通信路
を通して暗号投票を復号化し、インタフェース84から
掲示板400 に出力する。
【0130】この発明による証明付置換撹乱部分復号化
方法を実行するプログラムは内部バス88に駆動装置8
6を介して接続された外部ディスク装置87に記録され
たものを使用してもよい。この発明による方法を実行す
るプログラムが記録された記録媒体としては、磁気記録
媒体や、ICメモリや、コンパクトディスクなどどのよ
うな形態の記録媒体であってもよい。
【0131】
【発明の効果】この発明によれば、少数の入力に対する
置換が比較的容易なことを利用して、少数の入力の置換
を繰り返して全体の置換を構成することにより、全体の
入力をN個としたとき、全体の置換に対する証明の為の
計算量、通信量をNlog 2Nに比例する量にまで低減する
ことが可能となり、効率的な検証可能匿名通信路を構築
することができる。
【0132】従来においては1つの置換サーバで不正
(故障)が検出されるごとに、その補償処理を行ってい
た、従ってt個の装置で不正があればt回の補償処理を
必要としたが、この発明によればV個の置換サーバのう
ちt個の出力が信頼できなくなった場合でも、その信頼
できなくなった(不正、故障)装置を迂回して処理し最
後に、鍵秘密分散回復法により回復した鍵を用いて平文
を得ることができ、たった1回の不正回復処理を行えば
不正回復が完了する。
【0133】またこの発明により従来t回の不正回復を
行っていたのに比べてt倍高速に不正を回復可能になり
検証可能匿名通信路における帯域保証を効率的にするこ
とが可能となった。更に置換サーバを重複使用すること
なく、完全置換網をt+1個直列に構成することによ
り、t秘密漏洩耐性が得られる。
【図面の簡単な説明】
【図1】従来の4入力の置換網を示すブロック図。
【図2】この発明が適用される装置の全体を示すブロッ
ク図。
【図3】4入力に対する匿名通信路の構成と検証端末の
構成を示すブロック図。
【図4】図3中の切換装置SWの構成を示すブロック
図。
【図5】図4中の切換部12の構成を示すブロック図。
【図6】図4中の置換証明部14の構成を示すブロック
図。
【図7】図3中の復号装置20の構成を示すブロック
図。
【図8】図7中の復号部21の構成を示すブロック図。
【図9】図7中の復号証明部22の構成を示すブロック
図。
【図10】図3中の置換検証部30の構成を示すブロッ
ク図。
【図11】図3中の復号検証部40の構成を示すブロッ
ク図。
【図12】第2実施例のシステム構成を示すブロック
図。
【図13】図12中の置換サーバPSの構成を示すブロ
ック図。
【図14】図12中の復号サーバ20Sの構成を示すブ
ロック図。
【図15】第2実施例における各サーバ内のデータの流
れを示す図。
【図16】第3実施例のシステム構成を示すブロック
図。
【図17】第3実施例中の復号サーバ20Sにおける復
号部の構成を示すブロック図。
【図18】第3実施例における復号検証部の構成を示す
ブロック図。
【図19】この発明の匿名通信路を用いたシステム構成
例を示すブロック図。
【図20】図19の実施例において掲示板を介して縦続
接続された置換サーバにより構成された複数の完全置換
網を示すブロック図。
【図21】証明付き置換撹乱部分復号器の機能構成例を
示すブロック図。
【図22】置換撹乱器の機能構成例を示すブロック図。
【図23】撹乱器の機能構成例を示すブロック図。
【図24】証明付き部分復号器の機能構成例を示すブロ
ック図。
【図25】部分復号器の機能構成例を示すブロック図。
【図26】部分復号証明生成器の機能構成例を示すブロ
ック図。
【図27】証明付き固定部分復号器の機能構成例を示す
ブロック図。
【図28】証明付き置換撹乱部分復号器の機能構成例を
示すブロック図。
【図29】完全置換網の構成例を示すブロック図。
【図30】完全置換網を拡大させる手法の例を示すブロ
ック図。
【図31】置換サーバの入力リストを検索する処理例を
示す流れ図。
【図32】置換サーバの入力リストを検索する他の処理
例を示す流れ図。
【図33】Aは更に他の検索処理方法において掲示板に
公開される置換サーバの信頼性の判定結果を示す表、B
はその検索方法において各置換サーバがレジスタに保持
する信頼度情報の例を示す図。
【図34】置換サーバの入力リストを検索する更に他の
処理例を示す流れ図。
【図35】この発明による匿名通信路の他の実施例を示
すブロック図。
【図36】置換網のJ段目における置換処理手順のJの
値による処理の選択手順を示すフロー。
【図37】図36における処理1の手順を示すフロー。
【図38】図36における処理2の手順を示すフロー。
【図39】図36における処理3の手順を示すフロー。
【図40】記録媒体からこの発明による証明付置換撹乱
部分復号方法のプログラムを読み出して証明付置換撹乱
部分復号を実行するコンピュータシステムの概念図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大久保 美也子 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 (72)発明者 藤岡 淳 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 Fターム(参考) 5B049 AA05 BB36 CC00 EE00 GG00 GG10 5J104 AA00 JA23 JA29 KA05 KA08 NA02 NA12 NA18 NA24 PA17

Claims (44)

    【特許請求の範囲】
  1. 【請求項1】 N個,Nは2より大の整数、の暗号化さ
    れた入力メッセージを置換撹乱してN個の出力メッセー
    ジを出力し、上記出力メッセージと上記入力メッセージ
    が一対一に対応することを、任意の検証者に証明する検
    証可能匿名通信路であって、 Nより小さいn個、nは2以上の整数、の入力をランダ
    ム置換し、秘密情報を用いて撹乱することによりn個の
    出力を出力し、任意の検証者に対して上記n個の入力と
    上記n個の出力を対応付ける上記秘密情報及び上記ラン
    ダム置換が確かに存在することを、使用した上記秘密情
    報及び上記ランダム置換を明かすことなく零知識証明に
    より証明する処理を行なう単位置換処理手段と、 N個の入力に対しn個ずつ上記単位置換処理手段による
    処理を実行してN個の出力を得る第1繰り返し手段と、 初期入力として上記N個のメッセージに対し上記第1繰
    り返し手段による処理を実行して上記N個の出力を得、
    上記N個の出力を上記N個の入力として上記第1繰り返
    し手段を予め決めた回数繰り返し実行することにより上
    記N個のメッセージに一対一に対応する置換撹乱された
    N個の出力メッセージを得る第2繰り返し手段、とを含
    む。
  2. 【請求項2】 請求項1の検証可能匿名通信路におい
    て、上記第1繰り返し手段は上記n個の入力をn個ずつ
    処理する複数の上記単位置換処理手段から成る。
  3. 【請求項3】 請求項1又は2の検証可能匿名通信路に
    おいて、上記第2繰り返し手段は、縦続接続された複数
    の上記第1繰り返し手段から成る。
  4. 【請求項4】 請求項3の検証可能匿名通信路におい
    て、上記単位置換処理手段は少なくとも1つの完全置換
    網を含む置換網を形成している。
  5. 【請求項5】 請求項3の検証可能匿名通信路におい
    て、n=2であり、上記各単位置換処理手段は2つの値
    のいずれか一方の値をランダムにとる切換乱数を発生す
    る切換乱数発生手段と、上記切換乱数に従って2つの出
    力をそれらの位置を入れ換えて出力するかそのままの位
    置で出力するかを制御する切換制御手段を含む。
  6. 【請求項6】 請求項1の検証可能匿名通信路におい
    て、上記単位置換処理手段は、部分復号鍵を使って上記
    n個の置換撹乱結果を部分復号して上記N個の出力とす
    る部分復号手段と、上記部分復号に上記部分復号鍵を使
    用したことを、上記部分復号鍵を明らかにすることなく
    零知識証明で証明する部分復号証明生成手段とを含む。
  7. 【請求項7】 請求項1の検証可能匿名通信路におい
    て、上記第2繰り返し手段はそれぞれが1つ又は縦続接
    続された複数の上記第1繰り返し手段から成るV個の置
    換サーバの縦続接続から成り、Vは2以上の整数であ
    る。
  8. 【請求項8】 請求項7の検証可能匿名通信路におい
    て、上記単位置換処理手段は、部分復号鍵を使って上記
    n個の置換撹乱結果を部分復号して上記N個の出力とす
    る部分復号手段と、上記部分復号に上記部分復号鍵を使
    用したことを、上記部分復号鍵を明らかにすることなく
    零知識証明で証明する部分復号証明生成手段とを含む。
  9. 【請求項9】 請求項8の検証可能匿名通信路におい
    て、上記部分復号鍵は予め他の置換サーバの全てに検証
    可能に秘密分散されてあり、上記検証可能匿名通信路は
    更に、t個、t<V/2、の置換サーバの出力が信頼できな
    くなった状態で、出力が信頼できる置換サーバの分散鍵
    で各部分復号鍵を回復する手段と、その回復した全ての
    部分復号鍵を用いて出力が信頼できる置換サーバの出力
    を一括復号して平文を得る手段とを含む。
  10. 【請求項10】 請求項8の検証可能匿名通信路におい
    て、最大t個の上記置換サーバの置換の漏洩を許容する
    とき、上記N個の入力メッセージに対するあらゆる置換
    を出力できる完全置換網が、縦続接続された上記V個の
    置換サーバ中の連続す t+1個により構成されている。
  11. 【請求項11】 請求項9又は10の検証可能匿名通信
    路において、各上記置換サーバは、他の置換サーバの出
    力の信頼性を、その置換サーバの入力、出力及び証明情
    報を用いて検証する検証器と、信頼性がない置換サーバ
    を排除して置換サーバの処理を実行させる判定手段とを
    それぞれ含む。
  12. 【請求項12】 請求項11の検証可能匿名通信路にお
    いて、各上記置換サーバの上記検証手段は、その置換サ
    ーバより上流の上記置換サーバについて順次その出力を
    検証し、上記判定手段はその検証結果に基づいて信頼性
    があるかないかを判定し、最も近い信頼できると判定さ
    れた置換サーバの出力を上記置換サーバの入力とする。
  13. 【請求項13】 請求項12の検証可能匿名通信路にお
    いて、上記各判定手段による上記置換サーバについての
    信頼性の判定結果を公開する掲示板手段が設けられてお
    り、上記判定手段はその置換サーバの入力判定に、上記
    掲示板に公開された判定結果を参照する手段である。
  14. 【請求項14】 請求項13の検証可能匿名通信路にお
    いて、上記公開する判定結果は各置換サーバが信頼でき
    ると判定した入力データを出力した置換サーバを表す情
    報であり、各置換サーバの上記判定手段は、検証すべき
    置換サーバが上記掲示板に公開した信頼できるサーバが
    信頼できないものであった場合、上記検証すべき置換サ
    ーバの入出力の検証をスキップする。
  15. 【請求項15】 請求項13の検証可能匿名通信路にお
    いて、各置換サーバが公開する判定結果は各置換サーバ
    が上記それぞれの置換サーバに対する信頼性の判定結果
    であり、上記各置換サーバはそれより上流の置換サーバ
    に対する信頼度情報を記録するレジスタを有し、他の置
    換サーバが上記上流の各置換サーバに対し公開している
    信頼性の判定結果が自置換サーバにより判定した信頼性
    判定結果と異なる場合、その異なる判定結果を公開した
    置換サーバは信頼性がないと判定して上記レジスタに記
    録し、その置換サーバについての入出力の検証をスキッ
    プする。
  16. 【請求項16】 請求項7の検証可能匿名通信路におい
    て、上記n個の入力が書き込まれ、各上記置換サーバと
    接続された書き換え不可の掲示板手段が設けられ、上記
    置換サーバは入力データを上記掲示板手段から読み込
    み、処理結果を上記掲示板手段に書き込む。
  17. 【請求項17】 請求項16の検証可能匿名通信路にお
    いて、各上記置換サーバの置換結果を検証し、置換網の
    最終段から出力されたデータを復号すると共に、復号証
    明を生成して上記掲示板手段に書き込む復号サーバ手段
    と、上記置換サーバの置換証明及び上記復号サーバの復
    号証明を検証する検証サーバが上記掲示板手段に接続さ
    れている。
  18. 【請求項18】 請求項17の検証可能匿名通信路にお
    いて、上記復号サーバ手段はそれぞれ掲示板手段に接続
    され、部分復号を行う複数の復号サーバを含む。
  19. 【請求項19】 請求項1〜18のいずれかの検証可能
    匿名通信路において、上記暗号化されたメッセージはEl
    Gamal 暗号によるものである。
  20. 【請求項20】 N個,Nは2より大の整数、の暗号化
    された入力メッセージを置換撹乱してN個の出力メッセ
    ージを出力し、上記出力メッセージと上記入力メッセー
    ジが一対一に対応することを、任意の検証者に証明する
    検証可能匿名通信方法であって、以下のステップを含
    む: (a) Nより小さいn個、nは2以上の整数、の入力を
    ランダム置換し、秘密情報を用いて撹乱することにより
    n個の出力を出力し、任意の検証者に対して上記n個の
    入力と上記n個の出力を対応付ける上記秘密情報及び上
    記ランダム置換が確かに存在することを、使用した上記
    秘密情報及び上記ランダム置換を明かすことなく零知識
    証明により証明する処理を行ない、(b) N個の入力に
    対しn個ずつ上記ステップ(a) による処理を実行してN
    個の出力を得て、(c) 初期入力として上記N個のメッ
    セージに対し上記ステップ(b) による処理を実行して上
    記N個の出力を得、上記N個の出力を上記N個の入力と
    して上記第1繰り返し手段を予め決めた回数繰り返し実
    行することにより上記N個のメッセージに一対一に対応
    する置換撹乱されたN個の出力メッセージを得る。
  21. 【請求項21】 請求項20の検証可能匿名通信方法に
    おいて、上記ステップ(b) は上記ステップ(a) により上
    記n個の入力をn個ずつ複数回実行するステップを含
    む。
  22. 【請求項22】 請求項20又は21の検証可能匿名通
    信方法において、上記ステップ(c)は、上記ステップ(b)
    を複数回繰り返し実行するステップを含む。
  23. 【請求項23】 請求項21の検証可能匿名通信方法に
    おいて、n=2であり、上記ステップ(a) は2つの値の
    いずれか一方の値をランダムにとる切換乱数を発生する
    切換乱数発生ステップと、上記切換乱数に従って2つの
    出力をそれらの位置を入れ換えて出力するかそのままの
    位置で出力するかを制御する切換制御ステップを含む。
  24. 【請求項24】 請求項20の検証可能匿名通信方法に
    おいて、上記ステップ(a) は、部分復号鍵を使って上記
    n個の置換撹乱結果を部分復号して上記N個の出力とす
    るステップと、上記部分復号に上記部分復号鍵を使用し
    たことを、上記部分復号鍵を明らかにすることなく零知
    識証明で証明する部分復号証明を生成するステップを含
    む。
  25. 【請求項25】 請求項20の検証可能匿名通信方法に
    おいて、上記ステップ(c) は縦続接続接続されたV個の
    置換サーバによりそれぞれ1回又は複数回上記ステップ
    (b) を実行するステップから成り、Vは2以上の整数で
    ある。
  26. 【請求項26】 請求項25の検証可能匿名通信方法に
    おいて、上記ステップ(a) は、部分復号鍵を使って上記
    n個の置換撹乱結果を部分復号して上記N個の出力とす
    るステップと、上記部分復号に上記部分復号鍵を使用し
    たことを、上記部分復号鍵を明らかにすることなく零知
    識証明で証明する部分復号証明を生成するステップを含
    む。
  27. 【請求項27】 請求項26の検証可能匿名通信方法に
    おいて、予め上記部分復号鍵はそれぞれ他の置換サーバ
    の全てに検証可能に秘密分散されてあり、上記方法は更
    に以下のステップを含む: (d) t個、t<V/2、の置換サーバの出力が信頼できなく
    なった状態で、信頼できる置換サーバの分散鍵で各部分
    復号鍵を回復し、(e) その回復した全ての部分復号鍵を
    用いて信頼できる置換サーバの出力を一括復号して平文
    を得る。
  28. 【請求項28】 請求項26の検証可能匿名通信方法に
    おいて、最大t個の上記置換サーバの置換の漏洩を許容
    するとき、上記N個の入力メッセージに対するあらゆる
    置換を出力できる完全置換網が、縦続接続された上記V
    個の置換サーバ中の連続する t+1個により構成されてい
    る。
  29. 【請求項29】 請求項27又は28の検証可能匿名通
    信方法において、各上記置換サーバは、他の置換サーバ
    の出力の信頼性を、その置換サーバの入力、出力及び証
    明情報を用いて検証し、信頼性がない置換サーバを排除
    して置換サーバの処理を実行させる。
  30. 【請求項30】 請求項29の検証可能匿名通信方法に
    おいて、各上記置換サーバは、その置換サーバより上流
    の上記置換サーバについて順次その出力が正しいか否か
    を検証し、最も近い信頼できると判定された置換サーバ
    の出力を上記置換サーバの入力とする。
  31. 【請求項31】 請求項30の検証可能匿名通信方法に
    おいて、上記各検証器は各上記置換サーバについての信
    頼性の判定結果を掲示板に公開し、各置換サーバは他の
    置換サーバの入力の判定に、上記掲示板に公開された判
    定結果を参照する。
  32. 【請求項32】 請求項31の検証可能匿名通信方法に
    おいて、上記公開する判定結果は各置換サーバが信頼で
    きると判定した入力データを出力した置換サーバを表す
    情報であり、各置換サーバは、検証すべき置換サーバが
    上記掲示板に公開した信頼できるサーバが信頼できない
    ものであった場合、上記検証すべき置換サーバの入出力
    の検証をスキップする。
  33. 【請求項33】 請求項31の検証可能匿名通信方法に
    おいて、各置換サーバが公開する判定結果は各置換サー
    バが上記それぞれの置換サーバに対する信頼性の判定結
    果であり、上記各置換サーバはそれより上流の置換サー
    バに対する信頼度情報を記録するレジスタを有し、他の
    置換サーバが上記上流の各置換サーバに対し公開してい
    る信頼性の判定結果が自置換サーバにより判定した信頼
    性判定結果と異なる場合、その異なる判定結果を公開し
    た置換サーバは信頼性がないと判定して上記レジスタに
    記録し、その置換サーバについての入出力の検証をスキ
    ップする。
  34. 【請求項34】 請求項25の検証可能匿名通信方法に
    おいて、上記n個の入力が書き込まれ、各上記置換サー
    バと接続された書き換え不可の掲示板手段が設けられ、
    上記置換サーバは入力データを上記掲示板手段から読み
    込み、処理結果を上記掲示板手段に書き込む。
  35. 【請求項35】 請求項34の検証可能匿名通信方法に
    おいて、上記掲示板に接続された復号サーバ手段と検証
    サーバが設けられ、上記復号サーバ手段は各上記置換サ
    ーバの置換結果を検証し、置換網の最終段から出力され
    たデータを復号すると共に、復号証明を生成して上記掲
    示板手段に書き込み、上記検証サーバは上記置換サーバ
    の置換証明及び上記復号サーバの復号証明を検証する。
  36. 【請求項36】 請求項35の検証可能匿名通信方法に
    おいて、上記復号サーバ手段はそれぞれ掲示板手段に接
    続された複数の復号サーバを含み、それぞれの復号サー
    バは部分復号を行う。
  37. 【請求項37】 請求項20〜36のいずれかの検証可
    能匿名通信方法において、上記暗号化されたメッセージ
    はEl Gamal 暗号によるものである。
  38. 【請求項38】 N個,Nは2より大きい整数、の暗号
    化された入力メッセージを置換撹乱してN個の出力メッ
    セージを出力し、上記出力メッセージと上記入力メッセ
    ージが一対一に対応することを、任意の検証者に証明す
    る検証可能匿名通信方法を実施するプログラムが記録さ
    れた記録媒体であり、上記プログラムは以下のステップ
    を含む: (a) Nより小さいn個、nは2以上の整数、の入力を
    ランダム置換し、秘密情報を用いて撹乱することにより
    n個の出力を出力し、任意の検証者に対して上記n個の
    入力と上記n個の出力を対応付ける上記秘密情報及び上
    記ランダム置換が確かに存在することを、使用した上記
    秘密情報及び上記ランダム置換を明かすことなく零知識
    証明により証明する処理を行ない、(b) N個の入力に
    対しn個ずつ上記ステップ(a) による処理を実行してN
    個の出力を得て、(c) 初期入力として上記N個のメッ
    セージに対し上記ステップ(b) による処理を実行して上
    記N個の出力を得、上記N個の出力を上記N個の入力と
    して上記第1繰り返し手段を予め決めた回数繰り返し実
    行することにより上記N個のメッセージに一対一に対応
    する置換撹乱されたN個の出力メッセージを得る。
  39. 【請求項39】 請求項38の記録媒体において、上記
    ステップ(b) は上記ステップ(a) により上記n個の入力
    をn個ずつ複数回実行するステップを含む。
  40. 【請求項40】 請求項38又は39の記録媒体におい
    て、上記ステップ(c)は、上記ステップ(b) を複数回繰
    り返し実行するステップを含む。
  41. 【請求項41】 請求項39の記録媒体において、n=
    2であり、上記ステップ(a) は2つの値のいずれか一方
    の値をランダムにとる切換乱数を発生する切換乱数発生
    ステップと、上記切換乱数に従って2つの出力をそれら
    の位置を入れ換えて出力するかそのままの位置で出力す
    るかを制御する切換制御ステップを含む。
  42. 【請求項42】 請求項38の記録媒体において、上記
    ステップ(c) は縦続接続接続されたV個の置換サーバに
    よりそれぞれ1回又は複数回上記ステップ(b) を実行す
    るステップから成り、Vは2以上の整数である。
  43. 【請求項43】 請求項38の記録媒体において、上記
    ステップ(a) は、部分復号鍵を使って上記n個の置換撹
    乱結果を部分復号して上記N個の出力とするステップ
    と、上記部分復号に上記部分復号鍵を使用したことを、
    上記部分復号鍵を明らかにすることなく零知識証明で証
    明する部分復号証明を生成するステップを含む。
  44. 【請求項44】 請求項38〜43のいずれかの記録媒
    体において、上記暗号化されたメッセージはEl Gamal
    暗号によるものである。
JP2000145992A 1999-05-19 2000-05-18 検証可能匿名通信路システム、それを実施する方法及びその方法を記録した記録媒体 Expired - Lifetime JP3540718B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000145992A JP3540718B2 (ja) 1999-05-19 2000-05-18 検証可能匿名通信路システム、それを実施する方法及びその方法を記録した記録媒体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP13910299 1999-05-19
JP11-139102 1999-11-22
JP33138799 1999-11-22
JP11-331387 1999-11-22
JP2000145992A JP3540718B2 (ja) 1999-05-19 2000-05-18 検証可能匿名通信路システム、それを実施する方法及びその方法を記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2001217824A true JP2001217824A (ja) 2001-08-10
JP3540718B2 JP3540718B2 (ja) 2004-07-07

Family

ID=27317801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000145992A Expired - Lifetime JP3540718B2 (ja) 1999-05-19 2000-05-18 検証可能匿名通信路システム、それを実施する方法及びその方法を記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3540718B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005086411A1 (ja) * 2004-02-19 2005-09-15 Kai Nishida ピアツーピア型匿名プロキシにおける安全性の高い匿名通信路の検証及び構築する方法
US7240195B2 (en) 2001-05-18 2007-07-03 Nec Corporation Certified shuffle-decrypting system, certified shuffle-decrypting method and certified shuffle-decryption verifying method
US7360094B2 (en) 2001-03-24 2008-04-15 Demoxi, Inc. Verifiable secret shuffles and their application to electronic voting

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360094B2 (en) 2001-03-24 2008-04-15 Demoxi, Inc. Verifiable secret shuffles and their application to electronic voting
US7240195B2 (en) 2001-05-18 2007-07-03 Nec Corporation Certified shuffle-decrypting system, certified shuffle-decrypting method and certified shuffle-decryption verifying method
WO2005086411A1 (ja) * 2004-02-19 2005-09-15 Kai Nishida ピアツーピア型匿名プロキシにおける安全性の高い匿名通信路の検証及び構築する方法

Also Published As

Publication number Publication date
JP3540718B2 (ja) 2004-07-07

Similar Documents

Publication Publication Date Title
Joux Algorithmic cryptanalysis
Canetti et al. Adaptively secure multi-party computation
Gennaro et al. Robust threshold DSS signatures
US9077540B2 (en) Method for verification of decryption processes
JPWO2005071881A1 (ja) ミックスネットシステム
US6937728B1 (en) Verifiable anonymous channel
Haenni et al. CHVote System Specification.
TW201320701A (zh) 資訊處理裝置、資訊處理方法及程式
JP4835831B2 (ja) 多数の入力から関数を計算する方法および装置
JP2023535336A (ja) 共有秘密鍵の生成
CN118160275A (zh) 阈值签名方案
Gao et al. Quantum election protocol based on quantum public key cryptosystem
JP2021072593A (ja) 暗号処理システム及び暗号処理方法
Kiltz et al. Secure linear algebra using linearly recurrent sequences
EP3462668A1 (en) Plaintext equivalence proof techniques in communication systems
Dumas et al. Private multi-party matrix multiplication and trust computations
JP3901471B2 (ja) 証明付シャッフル復号システムと証明付シャッフル復号方法、シャッフル復号検証方法
JP3540718B2 (ja) 検証可能匿名通信路システム、それを実施する方法及びその方法を記録した記録媒体
Damgård et al. Efficient protocols based on probabilistic encryption using composite degree residue classes
KR20240045231A (ko) 디지털 서명 셰어의 생성
JP3298826B2 (ja) 匿名通信方法及び装置及びプログラム記録媒体
JP3302335B2 (ja) 暗号文検証方法、そのプログラム記録媒体、及びその装置
Hwu The interpolating random spline cryptosystem and the chaotic-map public-key cryptosystem
Dachman-Soled et al. Locally decodable and updatable non-malleable codes in the bounded retrieval model
Costa et al. Proof of a shuffle for lattice-based cryptography (full version)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040113

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040325

R151 Written notification of patent or utility model registration

Ref document number: 3540718

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 10

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