JP3638501B2 - Anonymous communication path - Google Patents

Anonymous communication path Download PDF

Info

Publication number
JP3638501B2
JP3638501B2 JP2000148483A JP2000148483A JP3638501B2 JP 3638501 B2 JP3638501 B2 JP 3638501B2 JP 2000148483 A JP2000148483 A JP 2000148483A JP 2000148483 A JP2000148483 A JP 2000148483A JP 3638501 B2 JP3638501 B2 JP 3638501B2
Authority
JP
Japan
Prior art keywords
decryption
server
block
list
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000148483A
Other languages
Japanese (ja)
Other versions
JP2001333057A (en
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 JP2000148483A priority Critical patent/JP3638501B2/en
Publication of JP2001333057A publication Critical patent/JP2001333057A/en
Application granted granted Critical
Publication of JP3638501B2 publication Critical patent/JP3638501B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、電気通信装置を介して、例えば電子的にアンケート調査や電子的投票を実施する場合に、そのアンケート回答者や投票者の匿名性を保持した状態で回答内容や投票内容を正しく得ることができる通信に適用される匿名通信路に関する。
【0002】
【従来の技術】
電気通信システムによって匿名通信路を実現する手段として、MIX−NETが提唱されている。MIX−NETはm個の復号サーバM1 ,…,Mm が記名通信路で接続されたシステムである。MIX−NETについて、特願平11−333727号に示されている技術を説明する。
公開パラメータg,p,qが全ての復号サーバの記憶装置に保持されているものとする。但し、p,qは大きな素数で、qはp−1を割り切る。gはZp *(Zp *は1,2,…,p−1の集合)における位数qの元とする各復号サーバMi (i=1,2,…,m)はそれぞれ秘密鍵ai およびxi を記憶装置に保持する。対応する公開鍵yi は、hi =hi-1 ai mod pに対してyi =hi xi mod pを満たすものとする(但し、h0 =g)。Mix−netへの入力は、n個のエントリーからなるリストL0 である。L0 の中の各エントリーは、鍵情報Gと暗号文Cの対(G,C)である。各(G,C)は、平文msgに対して、G:=gr mod p,C:=ε(ε(…(ε(msg,Km ),Km-1 ),…),K1 )のように計算して得られた値である。ここで、rは{0,…,q−1}から暗号文語毎に独立して選んだ乱数であり、Ki はハッシュ関数Hを用いてKi :=H(yi r mod p )とした値であり、ε(α,β)はβを暗号鍵としてメッセージαを暗号化する暗号化関数である。即ち、Cは平文msgを鍵Km ,…,K1 で多重に暗号化して得られる暗号文である。
【0003】
復号サーバM1 は入力L0 に対して以下のように動作する。L0 中の各鍵情報−暗号文対(G,C)に対して、(G′,C′)を計算する。ここで、G′=Ga1 modp,C′=DK1(C)である。但し、DK1は鍵K1=H((G′)x1 modp)による復号関数である。このとき、(G′)x1=Ga1x1=gra1x1 =y1 r modpが成り立つので、C′=DK1(C)=ε(ε(…(ε(msg,Km ),Km-1 ),…),K2 )となり、結局、C′は多重に暗号化された暗号文を一回分だけ復号した結果となる。復号サーバM1 は、この一回分の復号を実行して得られる各(G′,C′)をシャッフル(ランダムに順序を入れ換えること)し、得られたランダム順序の暗号文のリストをL1 として出力し、次の復号サーバM2 へ送付する。以下、復号サーバM2 ,…,Mm は同様の手順を繰り返す。最終的に、復号サーバMm からの出力Lm は、多重に掛けられた全ての暗号化を復号して得られる平文msgのリストとなる。
【0004】
各復号サーバが、復号鍵や、シャッフルに用いたランダム置換を明かさない限り、どの平文がどの暗号文に対応するかを判定することは、暗号化関数の性質上、困難になる。従って、各入力暗号文の作成者は、どの平文を入力したのかを知られることがなく、ここに匿名性を保つことができる。
【0005】
【発明が解決しようとする課題】
しかし、特願平11−333727号に示す匿名通信路においては、復号サーバにサーバの故障、および不正入力データの書き換えなどの不正処理が発生すると、出力平文が、正しく入力暗号文を復号したものと一致しない事があり得る。この発明は、上記問題点を解決し復号サーバに不正処理が起きた場合にも最終的に正常な出力を得ることのできる匿名通信路を提供することを目的とする。
【0006】
【課題を解決するための手段】
この発明によれば各復号サーバごとにそれが正常に機能していることを確認する少くとも1つの検証サーバを設ける。その一つの復号サーバと、検証サーバからなるサーバのグループを復号ブロックと呼び、一つの復号ブロック内で、復号サーバの出力(部分的復号結果)をそのグループに属する全ての検証サーバで検証し、それら全ての検証サーバが復号サーバの出力を正常であると認めた場合にのみ、その復号ブロックの出力を正しいものとし、一つの復号ブロックに属する各検証サーバは、その復号サーバの部分復号鍵を保持させ、所属するブロックの検証サーバが出力の正当性を認めない場合には、その検証サーバが保持している部分復号鍵を出力(公開)する。ある復号ブロックの部分的復号結果が正しくないとされた場合、その復号ブロック以外の復号ブロックが出力(公開)された部分復号鍵を用いて、復号および検証動作を代理で実行する。
【0007】
この構成により、少なくとも一つの復号ブロックで復号サーバを含む全てのサーバが正常に動作し、かつ、全ての復号ブロックにおいて少なくとも1台のサーバが正常に動作するならば、正しい平文のリストが出力されることが保証される。
【0008】
【発明の実施の形態】
以下にこの発明の実施例を述べる。この実施例では、全体で、どのm−1台のサーバが故障した場合であっても、正常に機能する匿名通信路を示す。以下、pはZp (Zp は0,1,2,…,p−1の集合)において離散対数問題が手におえなくなる素数とする。g∈Zp *はZp *の生成元とする。また、以下の説明中で行う算術演算は別途記述のない限り、mod pで行う。
【0009】
i は復号ブロックSi の公開情報であり、秘密情報ai ,xi に対して、h0 =gとし、i(1m)に対して以下のように定義する。
i =hi-1 ai (1)
i =hi xi (2)
匿名通信路への入力は、n個の暗号文からなるリストL0 である。L0 の中の各入力暗号文を、(G,C)と表すことにする。各入力暗号文(G,C)は、各平文msgに対して、G:=gr mod p,C: =ε(ε(…(ε(msg,Km ),Km-1 ),…),K1 )のように計算して得られた値である。ここで、rは{0,…,q−1}から暗号文語毎に独立して選んだ乱数であり、Ki はハッシュ関数Hを用いてKi :=H(yi r mod p)とした値であり、ε(α,β)はβを暗号鍵としてメッセージαを暗号化する暗号化関数である。例えば、εとして、DESの暗号化演算を用いてもよい。結局、Cは平文msgを鍵K1,…,Kmで多重に暗号化して得られる暗号文である。
・装置概要
図1に匿名通信路を示す。m個の復号ブロックB1 ,…,Bm が設けられ、各復号ブロックには1台の復号サーバMi とm−1台の検証サーバVi …Vi,mとのm台のサーバが属され、各復号ブロック内の復号サーバMiと検証サーバVi,1−Vi,mとは秘密通信路11で接続される。更に、電子的な掲示板12が設けられ、全ての復号サーバMi 、全ての検証サーバVi,1…Vi,mが掲示板と接続されて複数の復号サーバM1 …Mm が掲示板12で接続された情報通信網が構成されている。掲示板12にn個の(G, C)からなるリストL0 が入力公開され、また公開情報y1 ,…,ym 、h1,…,hm 、パラメータp,gも掲示板12に公開されている。各復号ブロックをm個のサーバで構成しているが各サーバは独立に動作するものである。なお掲示板12の代わりに、発信者認証付きの放送型通信路を用いてもよい。つまりどのサーバが出力したかがわかり、なりすましを防止した放送型通信路でもよい。
・復号サーバMi
図2に復号サーバの機能構成を示す。復号サーバMi は、入力部110、出力部120、鍵選択部130、復号部140、鍵情報と暗号文の対のリストを攪拌するシャッフル部150、所属する復号ブロックBi の部分復号鍵(秘密情報)ai およびai i を格納したメモリ160、これらと接続された全体の制御を行う制御部170とを具備する。
・検証サーバVi,j
図3に検証サーバの機能構成を示す。検証サーバVi,jは、入力部210、出力部220、鍵選択部230、復号部240、復号サーバから送られた置換関数に基づいて置換を行う置換部250、リストの比較を行うリスト比較部260、所属する復号ブロックBi の復号鍵ai およびai i を格納したメモリ270、これらと接続され、全体の制御を行う制御部280とを具備する。
・復号部
図4に復号サーバの復号部140、検証サーバの復号部240の機能構成を示す。復号ブロックBi に属するこれら復号部はその復号ブロックに取込まれた(G,C)と秘密情報ai ,ai i が入力され、Gaiを演算して変換鍵情報G′を出力するべき乗演算器41、Gaixiを演算するべき乗演算器42、そのGaixiにハッシュ関数を適用して復号鍵Ki =H(Gaixi)を生成するハッシュ器43と、生成した復号鍵Ki を用いて多重に暗号化された暗号文Cを一回分復号化して部分的復号結果C′を出力する復号演算器44とを具備する。
・鍵選択部
図5に復号サーバの鍵選択部130、検証サーバの鍵選択部230の機能構成を示す。復号ブロックBi に属するこれら鍵選択部は、掲示板12に表示された、復号ブロックBi-1 に属する検証サーバが掲示板12へ出力した各ai およびai iの組と対応する公開情報hi-1 ,hi ,yi を入力とし、hi-1 aiを計算するべき乗演算器31とhi-1 aixiを計算するべき乗演算器32と、これら計算結果と復号ブロックBi-1 の公開鍵hi ,yi とをそれぞれ比較し、それらが一致するai およびai i を正しい秘密情報として出力する比較器33とを備える。
・シャッフル部
図6に復号サーバのシャッフル部150の機能構成を示す。復号ブロックBi に属するシャッフル部150は、入力リストに対する全てのリストに対応する復号部140より得られた暗号文と鍵情報のリストLi′を入力とし、乱数生成器によりなる置換生成器51より出力されたn個の乱数よりなる置換関数πi に基づきリストの置換(並べ替え)を置換器52で行い、置換されたリストLi と置換関数πi を出力する。
・置換部
図7に検証サーバの置換部250の機能構成を示す。復号ブロックBi に属する置換部は、入力リストに対する全てのリストに対応する、その検証サーバの復号部より得られた暗号文と鍵情報のリストを入力とし、復号サーバMi から送られてきた置換関数πi を基に置換器でリストの置換(並べ替え)を行い、置換されたリストLi を出力する。
【0010】
入力を受けた匿名通信路は、1番目の復号ブロックB1 からB1 ,B2 ,…,Bm の順に以下を実行する。
・復号ブロックBi の復号サーバMi は以下のように動作する。その処理手順を図8に示す。
入力部110は掲示板12に直前の復号ブロックB1 の復号サーバMi-1 からリストLi-1 が公開(出力)されたかを常時監視しており(S1)、掲示板12にLi-1 が公開されると、復号ブロックBi-1 の検証サーバから秘密情報ai-1 ,ai-1i-1 が掲示板12に公開されたかを調べ(S2)、公開されていなければ、リストLi-1 を掲示板12から取り込み、制御部170内の動作用メモリに一旦記憶する(S3)。
【0011】
メモリ160に格納してある秘密情報ai ,ai i を取出し復号部140に入力し(S4)、リストLi-1 中の暗号文(G,C)を1つ取り出して復号部140へ入力する(S5)。復号部140では図4に示すようにまず、G,ai を鍵情報用べき乗演算器41に入力し、鍵情報G′=Gaiを生成する(S6)。次に、G,ai i を復号鍵用べき乗演算器42に入力してGaixiを演算し(S7)、その結果Gaixiをハッシュ器43へ入力して、その結果H(Gaixi)を復号鍵Ki とする(S8)。得られた復号鍵Ki と入力されたCとを復号演算器44へ入力して一回分の復号処理を行い、その結果をC′=ε(ε(…(ε(msg,Km ),Km-1 ),…),Ki-1 )とする(S9)。
【0012】
リストLi-1 中にまた処理していない(G,C)があるかを調べ(S10)、まだあればステップS5に戻り同様のことを繰り返す。
復号部140が出力した暗号文と鍵情報の対を(G′,C′)とする。リストLi-1 中の全ての暗号文に対して同様の復号処理をして、得られた(G′,C′)のリストL′i とする。L′i が得られると、L′i をシャッフル部150へ入力する。シャッフル部150は、ランダム置換生成器51(図6)を駆動して、ランダム置換関数πi を生成(S11)、置換器52へランダム置換関数πi 及びリストL′i を入力し、置換関数πi に応じて置換(並べ替え)されたリストLi を得る(S12)。
【0013】
出力部120を駆動してLi を掲示板12に公開し、置換関数πi を秘密通信路11を用いて同一復号ブロックBi 内の各検証サーバVi,1…Vi,mへ送信する(S13)。
・復号ブロックBi の各検証サーバVi,1…Vi,mは以下のように動作する。その処理手順を図9に示す。
入力部210は復号サーバLi からの受信を待ち(S1)、受信があると、代行処理か否かを調べ(S2)、代行処理でなければ受信した置換関数πi を一時記憶し、また掲示板12から復号サーバLi ,Mi-1 の出力リストLi-1 を取り込み、動作用メモリに記憶する(S3)。
【0014】
このLi-1 に対し前記した復号サーバMi の復号処理と同様の処理を実行する。つまり図8中のステップS4乃至S10を実行して、リストL′i を得る(S4)。このL′i に対し、置換部250で復号サーバMi から受信したπi を用いて置換(並べ替え)を行い、リストL″i として出力する(S5)。
掲示板12から復号サーバMiの出力リストLiを取込み(S6)、このLi とL″i をリスト比較部260へ入力し、L″i とLi の両者が一致しているか否かを判定し(S7)、一致している場合は“1”を掲示板12へ出力し(S8)、そうでない場合は“0”とその検証サーバが保持しているメモリ270内の秘密情報ai 及びai i を掲示板12に出力する(S9)。ステップS6のLi の取込みは、ステップS3で同時に行っておいてもよい。あるいは復号サーバMi からπi と共にLi も検証サーバへ送ってもよい。なお掲示板12へ出力(公開)する場合は、何れの復号ブロックから出力したかを示す情報を付加しておく。
【0015】
図8中のステップS2において、ai-1 ,ai-1 i-1 の組が一つでも掲示板12に公開されている場合は、復号ブロックBi-1 の復号サーバMi-1 により作られ、出力されたリストLi-1 に対する検証サーバによる検証において不一致を出力するものがあり、正しいものとして検証されなかった場合である。そこでこの実施例では、復号ブロックBi で復号ブロックBi-1 の処理を代行させるようにした場合である。
【0016】
つまり、復号サーバMi は、復号ブロックBi-1 で処理すべきリストLi-2 を掲示板12から取込み、また正しい秘密情報の選択のために、公開情報hi-2 ,hi-1 ,yi-1 を掲示板12から取込み、更に掲示板12に公開されている全ての秘密情報ai-1 ,ai-1 i-1 を取込み、これらを一時記憶する(S14)。鍵選択部130で、これらを取込んだ秘密情報ai-1 ,ai-1 i-1 と、公開情報hi-2 ,hi-1 ,yi-1 を入力して、図5に示した処理を、各ai-1 ,ai-1 i-1 の組に対して行い、比較器33で一致が得られたai-1 ,ai-1 i-1 を正しい秘密情報として選択する(S15)。
【0017】
次にこの正しい秘密情報ai-1 ,ai-1 i-1 を用いて、Li-2 に対し、ステップS5〜S12と同様にして復号処理を行い、更に置換処理をしたリストLi-1 を取得する(S16)。このリストLi-1 を掲示板12に公開し、リストの置換に用いた置換関数πi-1 を検証サーバVi,1…Vi,mへ、代行処理であることを示す情報を付加して送信する(S17)。
なお復号ブロックBi-1 の復号サーバMi-1 が故障などによる不正処理がなされても検証サーバVi-1,1 ,…,Vi-1,m が全て正しい場合で、かつ復号サーバMi が正しい処理をすれば、これに用いた秘密情報ai-1 ,ai-1 i-1 は公開情報により正しいことが保証されたものであるから、この代行処理により得られたLi-1 は正しいものとなる。この場合も復号サーバMi が正しい処理を行ったかを検証するため、復号ブロックBi の各検証サーバVi,1,…,Vi,mでは、図9中のステップS2において代行処理であると判定されると、受信したπi-1 を記憶し、また掲示板12からLi-2 ,hi-2 ,hi-1 ,yi-1 、全てのai-1 ,ai-1 i-1 を取込み記憶する(S10)。
【0018】
取込んだai-1 ,ai-1 i-1 について鍵選択部230で、図5に示した鍵選択処理を行い、正しいai-1 ,ai-1 i-1 を選択する(S11)。その正しいai-1 ,ai-1 i-1 を用いてLi-2 に対し復号処理を行い、復号結果に対し、受信したπi-1 によって置換処理を行ってリストL″i-2 を求め、このL″i-2 と復号サーバMi の代行処理により得たLi-2 とを比較して、その比較結果に対し、ステップS8,S9と同様な処理を行う(S13)。
【0019】
この結果、各検証サーバVi,1…Vi,mで全て一致が得られ、ai-1 ,ai-1 i-1 が出力されていないため、図8中のステップS1で復号サーバMi により公開されたLi-1 を検出し、かつステップS2で復号ブロックBi の検証サーバからai-1 ,ai-1 i-1 が公開されていないため、そのLi-1 についてステップS3以下の処理を実行することができる。
以上のような処理を復号ブロックBi についてi=1からi=mまで順次行うことにより、不正処理がなければ、あるいは不正処理があっても代行処理により正しい処理がなされると、最後の復号サーバMm から入力リストL0 が並べかえられ、正しく復号された平文リストLm が得られる。つまり最終的には、例えば予め決めた最終復号ブロックBm の何れかのサーバ又は特に設けたサーバが、上記復号ブロックBm の処理が終了した後に、各復号ブロックBi ごとに検証サーバが“0”を出力している場合は、その出力している秘密情報ai ,ai i を公開情報hi-1 ,hi ,yi により検証して正しい秘密情報を用いて局部的復号処理を行い、復号ブロックBi で検証サーバが全て“1”を出力していれば、その復号ブロック(復号サーバMi )の出力Li を用いることにより、最終的な正しい復号結果Lm を求める。
【0020】
なお、各復号ブロックB1 …Bm において、復号サーバ、検証サーバの少くとも1つは必ず正しく、かつ復号ブロックB1 …Bm の少くとも1つが必ず正しければ、この匿名通信路は正常に動作する。つまり、正しく動作する復号ブロック以外において、不正が行われても、復号サーバに不正があった場合には、必ず正常な少くとも1つの検証サーバからその正しい秘密情報ai ,ai i が出力されるため、公開情報hi-1 ,hi ,yi とから正しい鍵Ki を作ることができ、復号処理を行うことができる。1つの復号ブロックは必ず正常であるため、入力リストに対しランダムな並べ替えがなされた出力リストが得られ、また復号サーバと各検証サーバとは秘密通信路11で接続されているため置換関数πi が盗まれるおそれがないから匿名通信路として作用をする。一方、1つの復号ブロックの全ての検証サーバから秘密情報ai ,ai i が公開され、これらの秘密情報について鍵選択処理をして、正しいものを選択することができなかった場合は、その復号ブロックの復号サーバが正しいことになり、その出力リストLi を利用すればよい。
【0021】
図1に示したように各復号ブロックBi を1個の復号サーバMi にm−1個の検証サーバVi,1…Vi,m-1 を設け、復号ブロックの数をmとする場合は全体で(m−1)個のサーバに不正があっても、正しく動作する。上述したように復号ブロックの少くとも1つには不正がなく、かつ各復号ブロック中の復号サーバ、検証サーバ中の少くとも1つに不正がなければこの発明の匿名通信路は正常に動作し、各復号ブロックに所属させる検証サーバは少くとも1以上であればよい。
【0022】
上述では復号ブロックBi-1 の代行処理を次の復号ブロックBi で行ったが、代行処理は先に述べたように、掲示板12に公開されている情報を用いて行うのであるから、復号ブロックBi-1 以外の復号ブロックBi〜Bm の何れに行わせてもよい。この場合は、代行処理を行う復号ブロックを予め決めておき、掲示板12に同一復号ブロックからリストLi の他に秘密情報ai ,ai i が公開されるか否かを監視し、Li+1 が公開された状態でLi についての代行処理を行うようにすればよい。
【0023】
公開情報hi-1 ,hi ,yi を掲示板12に公開したが、各サーバのメモリに該当するものを記憶しておいてもよい。発信者認証付きの放送型通信路を用いる場合は、各復号サーバMi では、1つ前の復号サーバMi-1 からのリストLi-1 が受信されるのを待って処理し、また復号ブロックBi-1 の検証サーバからの秘密情報ai-1 ,ai-1 i-1 、復号サーバMi-2 からのリストLi-2 も受信しておくようにすればよい。
【0024】
【発明の効果】
以上述べたように、この発明によれば、各復号サーバごとにその復号サーバが正常に機能していることを確認できる検証サーバを設け、その検証サーバが復号サーバの出力が正常と認めた場合のみ、その復号サーバの出力が正しいとし、正常に機能したと確認がとれなかった場合は、検証サーバの秘密情報を出力することにより、少くとも一つの復号ブロックが正常に動作し、かつ全復号ブロックで少くとも1回のサーバが正常に動作すれば、故障やデータ書き換えなどの不正処理があっても、匿名性が保持された正しい平文リストを出力として得られる。
【図面の簡単な説明】
【図1】この発明の実施例を示すブロック図。
【図2】図1中の復号サーバMi の機能構成例を示す図。
【図3】図1中の検証サーバVi,jの機能構成例を示す図。
【図4】図2及び図3中の復号部の具体例を示す図。
【図5】図2及び図3中の鍵選択部の具体例を示す図。
【図6】図2中のシャッフル部の具体例を示す図。
【図7】図3中の置換部の例を示す図。
【図8】復号サーバMi の処理手順の例を示す流れ図。
【図9】検証サーバVi,jの処理手順の例を示す流れ図。
[0001]
BACKGROUND OF THE INVENTION
In the present invention, when conducting a questionnaire survey or electronic voting, for example, electronically via a telecommunication device, the contents of the answer and the contents of the vote are correctly obtained while maintaining the anonymity of the questionnaire respondent and the voter. It is related with the anonymous communication path applied to the communication which can be performed.
[0002]
[Prior art]
MIX-NET has been proposed as a means for realizing an anonymous communication path by a telecommunications system. MIX-NET is a system in which m decryption servers M 1 ,..., M m are connected via a registered communication path. Regarding MIX-NET, the technique disclosed in Japanese Patent Application No. 11-333727 will be described.
It is assumed that the public parameters g, p, q are held in the storage devices of all decryption servers. However, p and q are large prime numbers, and q divides p−1. g is a secret key for each decryption server M i (i = 1, 2,..., m) having an order q in Z p * (Z p * is a set of 1, 2,..., p−1). Hold a i and x i in storage. The corresponding public key y i satisfies y i = h i xi mod p for h i = h i−1 ai mod p (where h 0 = g). The input to Mix-net is a list L 0 consisting of n entries. Each entry in L 0 is a pair (G, C) of key information G and ciphertext C. Each (G, C) is G: = g r mod p, C: = ε (ε (... (Ε (msg, K m ), K m−1 ),...), K 1 for plaintext msg. ) Is a value obtained by calculation like Here, r is a random number selected independently for each ciphertext from {0,..., Q−1}, and K i is K i : = H (y i r mod p) using the hash function H. Ε (α, β) is an encryption function that encrypts message α using β as an encryption key. That is, C is a ciphertext obtained by multiplying plaintext msg with keys K m ,..., K 1 .
[0003]
The decryption server M 1 operates as follows with respect to the input L 0 . (G ′, C ′) is calculated for each key information-ciphertext pair (G, C) in L 0 . Here, G ′ = G a1 modp, C ′ = D K1 (C). However, D K1 is a decryption function based on the key K1 = H ((G ′) × 1 modp). At this time, since (G ′) x1 = G a1x1 = g ra1x1 = y 1 r modp holds, C ′ = D K1 (C) = ε (ε (... (Ε (msg, K m ), K m−1 ),...), K 2 ), and finally C ′ is the result of decrypting the ciphertext encrypted multiple times only once. The decryption server M 1 shuffles each (G ′, C ′) obtained by executing this one-time decryption (the order is changed randomly), and the obtained list of ciphertexts in the random order is represented by L 1. and output as, be sent to the next of the decoding server M 2. Thereafter, the decryption servers M 2 ,..., M m repeat the same procedure. Finally, the output L m from the decoding server M m is a list of plain msg obtained by decoding all encrypted hung on multiple.
[0004]
Unless each decryption server reveals the decryption key or the random replacement used for shuffling, it is difficult to determine which plaintext corresponds to which ciphertext because of the nature of the encryption function. Therefore, the creator of each input ciphertext does not know which plaintext is input, and can maintain anonymity here.
[0005]
[Problems to be solved by the invention]
However, in the anonymous communication path shown in Japanese Patent Application No. 11-333727, when an illegal process such as a server failure or rewriting of illegal input data occurs in the decryption server, the output plaintext correctly decrypts the input ciphertext. May not match. An object of the present invention is to provide an anonymous communication path that solves the above-described problems and can finally obtain a normal output even when an illegal process occurs in a decryption server.
[0006]
[Means for Solving the Problems]
According to the present invention, at least one verification server for confirming that each decoding server is functioning normally is provided. A group of servers composed of the one decryption server and the verification server is called a decryption block, and within one decryption block, the output of the decryption server (partial decryption result) is verified by all the verification servers belonging to the group, Only when all the verification servers recognize that the output of the decryption server is normal, the output of the decryption block is correct, and each verification server belonging to one decryption block receives the partial decryption key of the decryption server. If the verification server of the block to which it belongs does not recognize the validity of the output, the partial decryption key held by the verification server is output (disclosed). When it is determined that the partial decryption result of a certain decryption block is not correct, decryption and verification operations are performed on behalf of the decryption block other than the decryption block using the partial decryption key output (publicized).
[0007]
With this configuration, if all servers including the decryption server operate normally in at least one decryption block, and if at least one server operates normally in all decryption blocks, a correct plaintext list is output. Is guaranteed.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
Examples of the present invention will be described below. This embodiment shows an anonymous communication path that functions normally regardless of which m-1 servers have failed. In the following, p is a prime number in which the discrete logarithm problem cannot be obtained in Z p (Z p is a set of 0, 1, 2,..., P−1). gεZ p * is a generator of Z p * . In addition, arithmetic operations performed in the following description are performed with mod p unless otherwise stated.
[0009]
y i is the public information of the decryption block S i , h 0 = g for the secret information a i , x i and defined as follows for i (1 < i < m).
h i = h i-1 ai (1)
y i = h i xi (2)
The input to the anonymous communication path is a list L 0 composed of n ciphertexts. Each input ciphertext in L 0 is represented as (G, C). Each input ciphertext (G, C) is G: = g r mod p, C: = Ε (ε (... (Ε (msg, K m ), K m−1 ),...), K 1 ). Here, r is a random number selected independently for each ciphertext from {0,..., Q−1}, and K i is K i : = H (y i r mod p) using the hash function H. Ε (α, β) is an encryption function that encrypts message α using β as an encryption key. For example, a DES encryption operation may be used as ε. After all, C is a ciphertext obtained by multiply encrypting plaintext msg with keys K1,..., Km.
-Outline of device Fig. 1 shows an anonymous communication path. m-number of decoded block B 1, ..., B m is provided, the verification server V i ... V i of decoding one server M i and m-1 units in each decoding block, the number m servers with m The decryption server M i and the verification server V i, 1 −V i, m in each decryption block are connected by the secret communication path 11. Furthermore, electronic bulletin board 12 is provided, all the decoding server M i, all of the validation server V i, 1 ... V i, m is connected to the bulletin board plurality of decoded server M 1 ... M m Forums 12 A connected information communication network is configured. There are n (G, A list L 0 composed of C) is input and released, and public information y 1 ,..., Y m , h 1 ,..., H m and parameters p and g are also disclosed on the bulletin board 12. Each decoding block is composed of m servers, but each server operates independently. Instead of the bulletin board 12, a broadcast communication channel with caller authentication may be used. In other words, it may be a broadcast communication channel that knows which server has output and prevents spoofing.
・ Decryption server M i
FIG. 2 shows a functional configuration of the decryption server. Decoding server M i is the input unit 110, output unit 120, key selection unit 130, decoding unit 140, shuffle unit 150 for stirring the list of pairs of key information and ciphertext, belongs decoded block B i part decryption key ( Secret information) A memory 160 storing a i and a i x i , and a control unit 170 that performs overall control connected thereto.
・ Verification server V i, j
FIG. 3 shows a functional configuration of the verification server. The verification server V i, j includes an input unit 210, an output unit 220, a key selection unit 230, a decryption unit 240, a replacement unit 250 that performs replacement based on a replacement function sent from the decryption server, and a list comparison that performs list comparison 260, a memory 270 storing the decryption keys a i and a i x i of the decryption block B i to which it belongs, and a control unit 280 connected to these and controlling the whole.
Decoding Unit FIG. 4 shows functional configurations of the decoding unit 140 of the decoding server and the decoding unit 240 of the verification server. These decryption units belonging to the decryption block B i receive (G, C) and secret information a i , a i x i taken in the decryption block, calculate G ai , and output transformed key information G ′ power calculator 42 for calculating a power calculator 41, G Aixi that, the hash unit 43 which generates the G Aixi in by applying a hash function decryption key K i = H (G aixi) , decryption key K i that generated And a decryption operation unit 44 that decrypts the ciphertext C that has been encrypted multiple times using the above and outputs a partial decryption result C ′.
Key Selection Unit FIG. 5 shows functional configurations of the key selection unit 130 of the decryption server and the key selection unit 230 of the verification server. These key selection units belonging to the decryption block B i are displayed on the bulletin board 12 and the public information corresponding to each set of a i and a i x i output to the bulletin board 12 by the verification server belonging to the decryption block B i-1. h i-1 , h i , y i as inputs, a power calculator 31 for calculating h i-1 ai , a power calculator 32 for calculating h i-1 aixi , these calculation results and the decoding block B i− A comparator 33 that compares 1 public keys h i and y i respectively and outputs ai and a i x i that match each other as correct secret information.
Shuffle unit FIG. 6 shows a functional configuration of the shuffle unit 150 of the decryption server. The shuffle unit 150 belonging to the decryption block B i receives the ciphertext and key information list L i ′ obtained from the decryption unit 140 corresponding to all the lists for the input list, and uses a random number generator as a replacement generator 51. The replacement (rearrangement) of the list is performed by the replacer 52 based on the replacement function π i composed of n random numbers output from the above, and the replaced list Li and the replacement function π i are output.
Replacement unit FIG. 7 shows a functional configuration of the replacement unit 250 of the verification server. The replacement unit belonging to the decryption block B i receives a list of ciphertext and key information obtained from the decryption unit of the verification server corresponding to all lists for the input list, and is sent from the decryption server M i . Based on the replacement function π i , list replacement (rearrangement) is performed by the replacer, and the replaced list L i is output.
[0010]
Anonymous channel which receives the input, B 1 from the first decoded block B 1, B 2, ..., perform the following in the order of B m.
The decryption server M i of the decryption block B i operates as follows. The processing procedure is shown in FIG.
Input unit 110 always monitors whether decoding server M i-1 lists from L i-1 of the immediately preceding decoded block B 1 is published (output) to the bulletin board 12 (S1), L i- 1 to the message board 12 Is released, it is checked whether the secret information a i-1 , a i-1 x i-1 has been released to the bulletin board 12 from the verification server of the decryption block B i-1 (S2). The list L i-1 is fetched from the bulletin board 12 and temporarily stored in the operation memory in the control unit 170 (S3).
[0011]
The secret information a i and a i x i stored in the memory 160 is extracted and input to the decryption unit 140 (S4), and one ciphertext (G, C) in the list L i-1 is extracted and the decryption unit 140 is extracted. (S5). As shown in FIG. 4, the decryption unit 140 first inputs G and a i to the power calculator 41 for key information, and generates key information G ′ = G ai (S6). Next, G and a i x i are input to the power calculator 42 for the decryption key to calculate G aixi (S7), and the result G aixi is input to the hash unit 43, and the result H (G aixi ) It is referred to as decryption key K i (S8). The obtained decryption key K i and the inputted C are inputted to the decryption computing unit 44 to perform one-time decryption processing, and the result is expressed as C ′ = ε (ε (... (Ε (msg, K m ), K m-1 ),..., K i-1 ) (S9).
[0012]
It is checked whether or not there is an unprocessed (G, C) in the list Li-1 (S10).
A pair of ciphertext and key information output from the decryption unit 140 is (G ′, C ′). The same decryption process is performed on all ciphertexts in the list L i−1 to obtain a list L ′ i of (G ′, C ′) obtained. When L ′ i is obtained, L ′ i is input to the shuffle unit 150. The shuffle unit 150 drives the random permutation generator 51 (FIG. 6) to generate a random permutation function π i (S11), inputs the random permutation function π i and the list L ′ i to the permuter 52, and replaces the permutation function. A list L i replaced (reordered) according to π i is obtained (S12).
[0013]
The output unit 120 is driven to publish L i on the bulletin board 12, and the replacement function π i is transmitted to each verification server V i, 1 ... V i, m in the same decryption block B i using the secret communication path 11. (S13).
Each verification server V i, 1 ... V i, m of the decoding block B i operates as follows. The processing procedure is shown in FIG.
The input unit 210 waits for reception from the decoding server L i (S1), when there is a reception, checks whether alternate process (S2), and temporarily stores the permutation function [pi i received if not alternate process, also The output list L i-1 of the decryption servers L i and M i-1 is fetched from the bulletin board 12 and stored in the operation memory (S3).
[0014]
The same process as the decryption process of the decryption server M i is performed on this L i−1 . That is, steps S4 to S10 in FIG. 8 are executed to obtain a list L ′ i (S4). This L ′ i is replaced (reordered) by using the π i received from the decryption server M i by the replacement unit 250, and is output as a list L ″ i (S5).
The output list L i of the decryption server M i is fetched from the bulletin board 12 (S6), and this L i and L ″ i are input to the list comparison unit 260, and whether or not both L ″ i and L i match. If it matches, “1” is output to the bulletin board 12 (S8), otherwise “0” and the secret information a i in the memory 270 held by the verification server and a i x i is output to the bulletin board 12 (S9). Uptake of L i in step S6 may be previously carried out simultaneously in the step S3. Or from the decoding server M i along with the π i L i may also be sent to the verification server. In addition, when outputting (disclosing) to the bulletin board 12, information indicating which decoding block is output is added.
[0015]
In step S2 in FIG. 8, a i-1, a i-1 x if i-1 set is published on the bulletin board 12 even one, decryption server M i-1 of the decoded block B i-1 This is a case in which there is an output that does not match in the verification by the verification server for the list L i-1 created and output, and it is not verified as correct. Therefore, in this embodiment, a case in which so as to intercept the processing of the decoded block B i-1 by the decoding block B i.
[0016]
That is, the decryption server M i takes in the list L i-2 to be processed in the decryption block B i-1 from the bulletin board 12 and selects public information h i-2 , h i-1 for selection of correct secret information. , Y i-1 are fetched from the bulletin board 12 and all secret information a i-1 , a i-1 x i-1 published on the bulletin board 12 are fetched and temporarily stored (S14). The secret information a i-1 , a i-1 x i-1 and the public information h i-2 , h i-1 , y i-1 are input by the key selection unit 130 and the process shown in 5, each a i-1, a i-1 x conducted on i-1 set, a i-1 match is obtained in the comparator 33, a i-1 x i-1 Is selected as correct secret information (S15).
[0017]
Next, using this correct secret information a i-1 , a i-1 x i-1 , a decryption process is performed on L i-2 in the same manner as in steps S5 to S12, and a replacement list L i-1 is acquired (S16). Publish this list L i-1 to the bulletin board 12, verifies the permutation function [pi i-1 which was used to replace the list server V i, 1 ... V i, to m, and adds information indicating that the alternate process (S17).
Note decoded block B i-1 of the decoding server M i-1 is verified be made illegal process due failed server V i-1, 1, ..., if V i-1, m are all correct, and decoding the server If M i performs the correct process, the secret information a i-1 and a i-1 x i-1 used for this is guaranteed to be correct by the public information. L i-1 is correct. Also in this case, in order to verify whether or not the decryption server M i has performed the correct process, each verification server V i, 1 ,..., V i, m of the decryption block B i is a substitute process in step S2 in FIG. Is received, the received π i-1 is stored, and L i-2 , h i-2 , h i-1 , y i-1 , all a i-1 , a i- 1 x i-1 is taken in and stored (S10).
[0018]
About the taken a i-1, a i- 1 x i-1 by the key selecting unit 230 performs a key selection processing shown in FIG. 5, select the correct a i-1, a i- 1 x i-1 (S11). Using the correct a i-1 , a i-1 x i-1 , the decoding process is performed on L i-2 , and the decoding result is replaced with the received π i-1 to obtain a list L ″ i. -2 is obtained, L ″ i−2 is compared with L i−2 obtained by the proxy server M i , and the comparison result is processed in the same manner as in steps S8 and S9 (S13). ).
[0019]
As a result, all the verification servers V i, 1 ... V i, m have a match, and a i−1 , a i−1 x i−1 are not output, so decoding is performed in step S1 in FIG. since the server M i by detecting the L i-1, published, and a i-1 from the verification server decoded block B i in step S2, a i-1 x i -1 is not exposed, the L i The process from step S3 onward can be executed for -1 .
By performing the above-described processing sequentially for decoding block B i from i = 1 to i = m, if there is no illegal processing or if correct processing is performed by proxy processing even if there is illegal processing, the last decoding is performed. The input list L 0 is rearranged from the server M m to obtain a correctly decrypted plaintext list L m . That Ultimately, e.g. either server or particularly provided a server of a predetermined final decoded block B m is, after the processing of the decoded block B m has been completed, the verification server for each decoded block B i " If 0 ″ is output, the output secret information a i , a i x i is verified with the public information h i−1 , h i , y i , and the local decryption is performed using the correct secret information. If the verification server outputs all “1” in the decoding block B i , the final correct decoding result L m is obtained by using the output L i of the decoding block (decoding server M i ). Ask.
[0020]
In each decoding block B 1 ... B m, decryption server, at least the validation server one always correct and if correct decoded block B 1 ... At least one but need of B m, the anonymous channel is normally Operate. That is, even if a fraud is performed in a block other than the decryption block that operates correctly, if the decryption server is fraudulent, the correct secret information a i , a i x i must be obtained from at least one normal verification server. Since it is output, the correct key K i can be created from the public information h i−1 , h i , y i, and decryption processing can be performed. Since one decryption block is always normal, an output list in which the input list is randomly rearranged is obtained, and since the decryption server and each verification server are connected by the secret communication path 11, the replacement function π It acts as an anonymous communication path because there is no risk of i being stolen. On the other hand, when the secret information a i and a i x i is released from all the verification servers of one decryption block, and the key selection processing is not performed for these secret information, the correct one cannot be selected. will be decoded server for the decoded block are correct may be utilizing the output list L i.
[0021]
As shown in FIG. 1, each decoding block B i is provided with m−1 verification servers V i, 1 ... V i, m−1 in one decoding server M i , and the number of decoding blocks is m. In this case, even if there are frauds in (m-1) servers in total, the server operates correctly. As described above, the anonymous communication path of the present invention operates normally if there is no fraud in at least one of the decryption blocks and there is no fraud in at least one of the decryption servers and verification servers in each decryption block. The number of verification servers belonging to each decoding block may be at least one.
[0022]
In the above description, the substitution process for the decoding block B i-1 is performed in the next decoding block B i . However, as described above, the substitution process is performed using the information published on the bulletin board 12. Any of the decoding blocks B i to B m other than the block B i-1 may be performed. In this case, determined in advance decoding block for performing proxy processing monitors whether the secret information a i, is a i x i is published from the same decoded block on the bulletin board 12 in addition to the list L i, L The proxy process for L i may be performed in a state where i + 1 is disclosed.
[0023]
Although the public information h i-1 , h i , y i has been disclosed on the bulletin board 12, information corresponding to the memory of each server may be stored. When a broadcast communication channel with caller authentication is used, each decoding server M i performs processing after receiving the list L i-1 from the previous decoding server M i-1. The secret information a i-1 , a i-1 x i-1 from the verification server of the decryption block B i-1 and the list L i-2 from the decryption server M i-2 may also be received. .
[0024]
【The invention's effect】
As described above, according to the present invention, for each decryption server, a verification server that can confirm that the decryption server is functioning normally is provided, and the verification server recognizes that the output of the decryption server is normal. However, if the output of the decryption server is correct and it cannot be confirmed that it has functioned normally, the secret information of the verification server is output, so that at least one decryption block operates normally and all decryption If the server operates normally at least once in a block, a correct plaintext list that retains anonymity can be obtained as an output even if there is an unauthorized process such as failure or data rewriting.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of the present invention.
FIG. 2 shows a functional configuration example of a decoding server M i in FIG.
FIG. 3 is a diagram showing a functional configuration example of a verification server V i, j in FIG. 1;
4 is a diagram showing a specific example of a decoding unit in FIGS. 2 and 3. FIG.
5 is a diagram showing a specific example of a key selection unit in FIGS. 2 and 3. FIG.
6 is a diagram showing a specific example of a shuffle portion in FIG. 2. FIG.
7 is a diagram showing an example of a replacement unit in FIG. 3;
Figure 8 is a flow diagram illustrating an example of a processing procedure of decoding server M i.
FIG. 9 is a flowchart showing an example of a processing procedure of the verification server V i, j .

Claims (1)

情報通信網で接続された複数の復号サーバを備え、
各復号サーバはそれぞれ異なる部分復号鍵を保持し、
多重に暗号化されたn個(nは2以上の整数)の暗号文からなるリストL0 を入力とし、
リスト中の各入力暗号文を、各復号サーバが保持する部分復号鍵で順次復号して、ランダムに置換された平文のリストを出力して、
その出力と入力との対応関係を隠蔽する匿名通信路であって、
上記各復号サーバごとに少くとも1台の検証サーバが設けられた復号ブロックが構成され、
各復号ブロック内の検証サーバには同じブロック内の復号サーバと同じ部分復号鍵が保持され、
各復号ブロック内の復号サーバと検証サーバは秘密通信路で接続され、
復号ブロックの数をm(mは2以上の整数)として、i=1からmに対し、
i番目の復号ブロック i に属する復号サーバは、i−1番目の復号ブロックが公開したリストLi-1 の各暗号文をその部分復号鍵で部分的に復号する手段と、そのn個の部分的復号結果をランダムな置換関数πi に従って並べ替えてリストLi として公開する手段と、上記置換関数πiを秘密通信路でそのブロック内の各検証サーバへ送信する手段とを備え、
i番目の復号ブロックに属する検証サーバは、上記リストLi-1 の各暗号文をその部分復号鍵で部分的に復号する手段と、そのn個の部分的復号結果を上記置換関数πi に従って並べ替えてリストL″i を作る手段と、上記リストL″i が上記リストLi と一致するか否かを検証し、一致しない場合はその部分復号鍵を公開して動作を停止する手段とを備え
記i番目の復号ブロック i から部分復号鍵が公開されると、i番目以外の復号ブロックの復号サーバが、復号ブロックB i で処理すべきL i-1 ,と復号ブロックB i の公開部分復号鍵と対応する公開情報と全ての公開部分復号鍵とを取込み、上記取込んだ公開情報を用いてこれら公開部分復号鍵中の正しい部分復号鍵を選択し、その選択した部分復号鍵を用いてリストL i-1 に対する復号処理、置換処理を行い、そのリストL i ′を公開し、置換関数π i ′をその復号ブロック内の検証サーバへ送信する復号代行手段を備え、上記i番目以外の復号ブロック内の検証サーバは上記復号代行手段が動作すると、上記リストL i ′と上記復号ブロックB i の公開部分復号鍵と対応する公開情報と全ての公開部分復号鍵とを取込み、これら取込んだ公開情報を用いてこれら公開部分復号鍵中の正しい部分復号鍵を選択し、その選択した部分復号鍵及び上記置換関数π i を用いて上記リストL i ′に対する検証処理をする検証代行手段を備えていることを特徴とする匿名通信路。
A plurality of decryption servers connected by an information communication network;
Each decryption server holds a different partial decryption key,
As an input, a list L 0 composed of n encrypted ciphertexts (n is an integer of 2 or more) encrypted in duplicate,
Each input ciphertext in the list is sequentially decrypted with the partial decryption key held by each decryption server, and a randomly replaced plaintext list is output,
An anonymous communication path that hides the correspondence between the output and the input,
Each decoding server is configured with a decoding block provided with at least one verification server,
The verification server in each decryption block holds the same partial decryption key as the decryption server in the same block,
The decryption server and the verification server in each decryption block are connected by a secret channel,
Assuming that the number of decoding blocks is m (m is an integer of 2 or more) , for i = 1 to m,
The decryption server belonging to the i-th decryption block B i includes means for partially decrypting each ciphertext of the list L i-1 published by the i-1th decryption block with its partial decryption key, and the n Means for rearranging partial decryption results according to a random permutation function π i and publishing them as a list L i ; and means for transmitting the permutation function π i to each verification server in the block via a secret channel,
The verification server belonging to the i-th decryption block includes means for partially decrypting each ciphertext of the list L i-1 with its partial decryption key, and the n partial decryption results according to the replacement function π i. Means for rearranging the list L ″ i and means for verifying whether or not the list L ″ i matches the list L i and, if not, releasing the partial decryption key and stopping the operation; equipped with a,
When partial decryption key is published from the top Symbol i th decoded block B i, the decoding server of the i-th non-decoded block, L i-1 to be processed by the decoding block B i, and publishing decoded block B i The public information corresponding to the partial decryption key and all the public partial decryption keys are taken in, the correct partial decryption key in these public partial decryption keys is selected using the fetched public information, and the selected partial decryption key is A decoding proxy means for performing decoding processing and replacement processing on the list L i-1 , disclosing the list L i ′, and transmitting the replacement function π i ′ to the verification server in the decoding block, and the i th When the decryption proxy means operates, the verification server in the other decryption block takes in the list L i ′, the public partial decryption key corresponding to the public partial decryption key of the decryption block B i , and all the public partial decryption keys. Public There is provided verification proxy means for selecting a correct partial decryption key in these public partial decryption keys using open information and performing verification processing on the list L i using the selected partial decryption key and the replacement function π i. anonymous channel, characterized in that is.
JP2000148483A 2000-05-19 2000-05-19 Anonymous communication path Expired - Fee Related JP3638501B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000148483A JP3638501B2 (en) 2000-05-19 2000-05-19 Anonymous communication path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000148483A JP3638501B2 (en) 2000-05-19 2000-05-19 Anonymous communication path

Publications (2)

Publication Number Publication Date
JP2001333057A JP2001333057A (en) 2001-11-30
JP3638501B2 true JP3638501B2 (en) 2005-04-13

Family

ID=18654501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000148483A Expired - Fee Related JP3638501B2 (en) 2000-05-19 2000-05-19 Anonymous communication path

Country Status (1)

Country Link
JP (1) JP3638501B2 (en)

Also Published As

Publication number Publication date
JP2001333057A (en) 2001-11-30

Similar Documents

Publication Publication Date Title
US10211981B2 (en) System and method for generating a server-assisted strong password from a weak secret
EP1969762B1 (en) Certify and split system and method for replacing cryptographic keys
CN100432889C (en) System and method providing disconnected authentication
US11212094B2 (en) Joint blind key escrow
KR0148300B1 (en) Method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatus and a communication system that employs such a method
US20010055388A1 (en) Server-assisted regeneration of a strong secret from a weak secret
WO2005041474A1 (en) Authentication system, and remotely distributed storage system
JP4130653B2 (en) Pseudo public key encryption method and system
US7200752B2 (en) Threshold cryptography scheme for message authentication systems
WO2005071881A1 (en) Mixnet system
CN110971411A (en) SM2 homomorphic signature method for encrypting private key by multiplying based on SOTP technology
CN115208586B (en) Secret sharing-based digital signature method and system
Abe et al. Flaws in some robust optimistic mix-nets
Gao et al. Quantum election protocol based on quantum public key cryptosystem
Rodríguez-Henríquez et al. Yet another improvement over the Mu–Varadharajan e-voting protocol
JP4758110B2 (en) Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method
CN115632797A (en) Safety identity verification method based on zero-knowledge proof
US6598163B1 (en) Flash mixing apparatus and method
JP3638501B2 (en) Anonymous communication path
JP5004086B2 (en) Authentication system using short sequences
Kelsey et al. TMPS: ticket-mediated password strengthening
JP3610106B2 (en) Authentication method in a communication system having a plurality of devices
JP3689292B2 (en) Anonymous electronic voting apparatus and anonymous electronic voting processing method
JP4000900B2 (en) Cryptographic method with authentication, decryption method with authentication, verification method and device, program, and computer-readable recording medium
JP2000216774A (en) Cipher text verifying method, recording medium and device thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040916

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050111

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

Free format text: PAYMENT UNTIL: 20080121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees