JP4306232B2 - 証明システムと評価システム - Google Patents

証明システムと評価システム Download PDF

Info

Publication number
JP4306232B2
JP4306232B2 JP2002341112A JP2002341112A JP4306232B2 JP 4306232 B2 JP4306232 B2 JP 4306232B2 JP 2002341112 A JP2002341112 A JP 2002341112A JP 2002341112 A JP2002341112 A JP 2002341112A JP 4306232 B2 JP4306232 B2 JP 4306232B2
Authority
JP
Japan
Prior art keywords
proof
verification
data
input
random
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
JP2002341112A
Other languages
English (en)
Other versions
JP2004179766A (ja
Inventor
潤 古川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2002341112A priority Critical patent/JP4306232B2/ja
Priority to US10/718,663 priority patent/US7536551B2/en
Publication of JP2004179766A publication Critical patent/JP2004179766A/ja
Application granted granted Critical
Publication of JP4306232B2 publication Critical patent/JP4306232B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
複数の装置が互いに通信することで証明及び検証を行うシステムで、そのシステムのある装置がもし規定にしたがって通信するならば、他のある装置に対して秘密の情報を漏らさないことが保証されている通信による証明と検証の方法に関し、特にこのプロトコルが零知識証明クラスに属さない場合の証明システムと評価システムに関する。
【0002】
【従来の技術】
従来の技術である零知識(ゼロ知識)証明クラスについて説明する。
【0003】
零知識証明を解説した文献としては、例えば特許文献1と、非特許文献1、非特許文献2がある。
【0004】
公開鍵暗号、電子署名、相手認証、メッセージ認証、秘匿計算、電子現金等の、暗号技術を用いるプロトコルは、暗号プロトコルと呼ばれる。これらの暗号プロトコルは、通信内容を他人に漏らさない(公開鍵暗号)、本人以外は署名することができない(電子署名)、他人が成り済ますことができない(相手認証)、等の性質を満たすことが必須である。
【0005】
これらの性質はいずれも、固有な情報を隠蔽する点において共通する特徴を持っている。例えば公開鍵暗号では暗号化のための秘密鍵が、電子署名では署名のための秘密鍵が、相手認証では本人を証明する秘密鍵が隠蔽される。
【0006】
これらの暗号プロトコルにおいてはプロトコルの実行時に上記様々な秘密鍵が相手に漏れるようなことがあってはならない。そしてこのような秘密鍵が隠蔽されるという性質を暗号プロトコルが持つことを証明する方法に、暗号プロトコルが零知識証明クラスに属することを示すことによる方法がある。
【0007】
およそ零知識証明クラスとは、秘密鍵等の秘密情報を有する証明者と証明者が秘密情報を有することを検証する検証者とからなる対話的な知識の証明プロトコル(証明者と検証者が互いに通信することで、証明者が検証者に何かを証明するプロトコル)全体の集合で、証明者が検証者に証明したいこと以外にいっさい情報を漏らさないプロトコルの集合である。
【0008】
これを相手認証の例を用いて説明する。
【0009】
電子的な通信を通じてV(検証者)がP(証明者)を秘密情報を有する本人であると認証するには、PがVに、Pしか持っていない秘密情報を持っていることを証明することでなし得る。しかし、もしここでPがその情報をVに渡すことによって情報の所持を証明したのならば、以降VはPに成り済ますことができる。ところが、もしこの証明する方法(プロトコル)が零知識証明クラスに属するならば、PからVには、Pが本人である証となる情報を持っているということ以外には伝わらないので、Pは安心してVに証明してもらうことができる。
【0010】
ある暗号プロトコルが零知識証明クラスに属することを証明するには、証明者と検証者の間で通信されるデータと「同様のデータ」を検証者自身が一人で生成できることを示せば良い(ここで言う「同様のデータ」の定義については後述)。
【0011】
もしこのことが可能ならば、証明者との対話通信において検証者が獲得したデータ列は、もともと検証者が一人で生成し得たものであったので、検証者が自身で知り得ることができない証明者の秘密情報を知ろうとした時に、獲得したデータ列は何の役にも立たないことが分かる。それゆえ零知識証明クラスに属する暗号プロトコルは、証明者が検証者に証明したいことが真実どうかという1ビットの情報以外にはいっさい情報を漏らさないことが保証される。
【0012】
任意の対話的に証明可能な事柄を、零知識証明クラスに属する対話的な知識の証明プロトコルにて証明することは可能であるが、効率的な知識の証明システムを設計できるとは限らない。実際、零知識証明に属する効率的な証明システムを作るのが至難な証明対象は非常に多いことが問題となっている。
【0013】
一方、零知識証明クラスに属する証明システムは余計な情報を漏らさないが、逆に、余計な情報を漏らさない証明システムは、零知識証明クラスに属するとは限らない。そこで、ある証明システムが、零知識証明クラスに属さなくとも、余計な情報を漏らさないクラスに属することを証明できるようになれば、暗号プロトコルの設計の自由度が増し、効率的な暗号プロトコルを作れる機会が増大すると思われる。
【0014】
まず、零知識証明クラスをより具体的に説明する。
【0015】
最初に対話的な知識の証明システムとは何かをより正確に説明する。
【0016】
対話的証明プロトコルには何らかの方法で互いに通信できる(対話できる)、証明者である証明装置Pと検証者である検証装置Vが登場する。
【0017】
あるデータXとW及び、関数R()があったとして、R(X、W)=1としたとき、XとWは関係Rを満たすと呼び、(X、W)∈Rと記述することにする。今XとW、R()が与えられれば、(X、W)∈Rであることは計算機を用いてすぐに調べることができるが、XとR()だけが与えられた場合、これら与えられたX、R()に対して、(X、W)∈RなるWが何かは十分な時間をかけても分からないとする。
【0018】
この時XとWとR()を知っている証明装置Pが、XとR()しか知らない検証装置Vに、与えられたX、R()に対して、(X、W)∈RなるWを証明装置Pが知っていることを互いに通信して納得させる方法を、対話的な知識の証明システムと呼ぶ。つまりPにWの知識(情報)があることを対話的に証明するプロトコルである。
【0019】
XからWを求めることが難しいものの具体的な例として、離散対数問題がある。pを大きな素数、gをpについての剰余類群(Z/pZ)の元、wをp−1についての剰余類群Z/(p−1)Zの元、h=g mod pとする。
【0020】
X={p、g、h}、W={w}とし、等式h=g (mod p)が成り立つならX、Wは関係Rを満たすとする。
【0021】
この場合XからWを求めることは、離散対数問題を解くことに当り、pが大きい場合(例えば1000ビット以上)一般には不可能とされている。実際単純に、wとして1から順番にh=g (mod p)となるかを試していくと、平均してp/2回のg mod pを計算する必要がある。これはおよそ、延べp/2回のmod p上の掛け算を実行せねばならない。pが十分に大きいと、これは大変な事である。
【0022】
一方、W(=w)が与えられた場合、等式h=g (mod p)を確認するのは簡単である。この計算は高々2logp回のmod p上の掛け算を実行すれば終了する。pが1024bitの時の例で言うと、XからWを求めるには、21023回の乗算が必要で、(X、W)∈Rを確認するには2048(=210)回の乗算で済むことになる。
【0023】
PがWを知っていることをVに納得させるもっとも簡単な方法は、WをVに渡すことである。上の例の場合PはVにwを渡す。
【0024】
検証装置Vは等式h=g (mod p)を確認できれば納得するはずである。
【0025】
しかし、本発明ではWが検証装置Vに知られないような知識の証明方法に注目している。これが零知識証明クラス属する知識の証明システム、すなわち零知識証明である。
【0026】
上に挙げた(X、W)∈Rの場合の零知識証明の例を挙げて、零知識証明を説明していく。
【0027】
まず、証明装置Pと検証装置Vには、それぞれランダムテープと呼ばれる乱数の列からなるデータが個別に入力されるとする。PとVとには共通の入力としてXも入力されている。共通の入力Xに対応して、Xの証拠Wが証明装置Pに入力されているとする。今の場合X={p、g、h}で、W={w}である。
(1)検証装置Vは、自身の持つランダムテープから乱数b、c、∈Z/(p−1)Zを生成して、A=g mod pを計算し、証明装置PにAを送る。
(2)証明装置Pは自身の持つランダムテープからs∈Z/(p−1)Zを生成して、B=g mod pを検証装置Vに送る。
(3)検証装置Vは、Aの生成に使用したb、cを証明装置Pに送る。
(4)証明装置Pは、等式A=g (mod p)が成り立つことを確認する。
【0028】
もし成り立たなければ、検証装置Vが不正を働いたと判断してここで終了する。成り立てばr=cw+s mod p−1により生成したrを検証装置Vに送る。
(5)検証装置Vは等式g=hB (mod p)が成り立つことを確認できれば、Pはwを知っていると判断し、受理を出力する。成り立たなければ、不受理を出力する。
【0029】
上記知識の証明システムは以下の性質を満たす。
(1)証明装置Pがwを知っていてPとVが上記手続きを正しく実行すれば、検証装置Vは受理を出力する。
(2)証明装置Pがwを知らなければ、PがVをして受理を出力させる事は不可能である。
(3)検証装置Vはプロトコルを通じてwに関する知識を得ることができない。
(1)の性質は、
=gcw+s (mod p)=gwc=hB (mod p)
より明らかである。
(2)の性質が成り立つことの厳密な証明は省略するが、証明装置Pがcを知ることになるのは、g、h、Bが決定してからである。この時、どんなcを受け取っても等式g=hB (mod p)が成り立つようなrを計算するにはwの知識が不可欠であることが簡単に分かる。上記(1)、(2)の性質を満たしていれば、この上記プロトコルは零知識の証明システムである。
【0030】
次に(3)の性質についてであるが、上記プロトコルを通じて検証装置Vが得たデータは、検証装置Vのランダムテープ、A、B、b、c、rだけである。p、g、hは最初から持っていた。もし、この検証装置Vの持つランダムテープと、A、B、b、c、rのデータを、証明装置Pと通信せずに同様のものを自分で産み出せるならば、検証装置Vは証明装置Pからプロトコルを通じて得た知識はないと言える。
【0031】
以下に、証明システムを証明装置Pを使用しない形で模擬する模擬装置Sが、検証装置Vを使ってこのようなデータを作る方法を示す。模擬装置Sにはランダムテープが入力されるとする。
(1)まず、模擬装置Sのランダムテープで、検証装置Vのランダムテープを一様無作為に決め、これを検証装置Vに入力する。
(2)すると、検証装置VはAを出力する。
(3)模擬装置SはランダムにBを選んで検証装置Vに入力する。
(4)すると、検証装置Vはb、cを出力する。
(5)模擬装置Sは、ここで一旦検証装置Vの電源を落す等によって、検証装置Vを初期状態にリセットする。
(6)模擬装置Sは、再度、検証装置Vを立ち上げ、先と同じ同じランダムテープからのデータを検証装置Vに入力する。
(7)すると、検証装置Vは前回と同じAを出力する。
(8)模擬装置Sはランダムにrを選び、
B=g−c mod pを計算し、Bを検証装置Vに入力する。
(9)検証装置Vは前回と同じb、cを出力する。
(10)そこで、模擬装置Sはrを検証装置Vに入力する。
(11)すると、検証装置Vは受理を出力する。
【0032】
このようにして模擬装置Sにより生成されたVのランダムテープとA、B、b、c、rからなる集合の最終的な分布は、検証装置Vが証明装置Pと通信して得られる集合の分布と全く同じになる。模擬装置Sは検証装置Vにデータを入力してその出力を得ているだけなので、検証装置Vの構造がどうなっているかも解析するさえ必要がない。
【0033】
模擬装置Sが検証装置Vを使って生成したデータの分布と証明装置Pと検証装置Vの通信によって得られるデータの分布が全く同じことを以下に示す。
【0034】
まず、ランダムテープは全くランダムな分布を持っているものとする。証明装置Pと検証装置Vの通信によって得られるBはその生成方法から全くランダムに分布する。(sをZ/(p−1)Zから生成して、B=g mod pとしているから。)
A、b、cは検証装置Vによって決定されるので、この分布は検証装置Vによる。これらの値が決定したら、自動的にrの値は決定される。
【0035】
模擬装置Sから得られるrはその生成方法から全くランダムに分布する。A、b、cは検証装置Vに生成させたので、証明装置Pが検証装置Vと通信して生成する場合と全く同じ分布で生成される。これらの値が決定したら、自動的にBの値は決定される。rをランダムに分布させrによってBを決定した時のr、Bの分布と、Bをランダムに分布させBによってrを決定した時のr,Bの分布は同じである。よって、両者の分布は同じである。
【0036】
すなわち、証明装置Pと検証装置Vによる真のプロトコルから得られるデータ列も、模擬装置Sが生成するデータ列も、同じ分布から一様無作為に抽出したデータ列といえる。
【0037】
これは検証装置Vがわざわざ証明装置Pと通信せずとも、勝手に自分で同じデータを作れる、すなわち、検証装置Vは、元々単独で計算可能な情報しか証明装置Pから抽出できないということである。このような議論から性質3が証明できたことになる。
【0038】
ここで零知識証明をより一般化して記述する。
【0039】
証明装置Pは検証装置Vに(X、W)∈RなるWの知識を持っていることを証明するとする。PとVとで互いに交換されるデータを通信される順番にm、m’、m、m’、・・・m、m’とする。
【0040】
、・・・、mは、検証装置Vから証明装置Pへ送られるデータとし、
m’、・・・、m’は、証明装置Pから検証装置Vへ送られるデータとする。また検証装置Vに入力されるランダムテープをランダムテープrV、証明装置Pに入力されるランダムテープをランダムテープrPとする。
【0041】
固定されたX、Wに対して、rP、rVを決めると、m、m’、m、m’、・・・、m、m’が得られる。ここで固定されたX、Wと一様無作為に選ばれるrP、rVに対するm、m’、m、m’、・・・、m、m’、rVの分布を考える。(ここでrVの分布はVが自由に決めて良い。)
この分布はWを知っているPの助けを借りて生成されるものであるが、この分布が、もしあるランダムテープsVの入力される模擬装置Sが存在して、検証装置Vが証明装置Pといっさい通信せずに、模擬装置Sの助けを借りて生成するn、n’、n、n’、・・・、n、n’、rVからなる固定されたX、Wと一様無作為に選ばれるsV、rVに対する分布との見分けがつかないのならば、証明装置Pと検証装置Vの相互通信によるWを知っていることの証明は零知識証明クラスに属しているという。
【0042】
ここで模擬装置SにはWは入力されていない。検証装置Vが証明装置Pと通信することにより得られるデータ列m、m’、m、m’、・・・、m、m’、rVは、検証装置Vにとって証明装置Pと通信せずに生成できるデータ列と同等のものであるから、検証装置Vは証明装置Pとの通信によって何ら有益な情報を得ることができないと言える。
【0043】
ここで言う二つの分布が見分けがつかないとはどういうことか説明する。
【0044】
二つの分布の識別を行う識別装置Dは、乱数列からなる識別装置DのもつランダムテープrDおよびm、m’、m、m’、・・・、m、m’、rVと、数列n、n’、n、n’、・・・、n、n’、rVが入力されてその識別した真/模擬の結果として1または0を出力するとする。
【0045】
定められたランダムテープrP、rV、rDの分布から一様無作為にrP、rV、rDを選んだときに、数列m、m’、m、m’、・・・、m、m’、rVが入力された識別装置Dが1を出力する確率を、
Pr_{rP、rV、rD}[D(m、・・・、m’、rV)=1]と記す。
【0046】
定められたランダムテープrS、rDの分布から一様無作為にrS、rDを選んだときに、数列n、n’、n、n’、・・・、n、n’、rVが入力された識別装置Dが1を出力する確率を、
Pr_{rS、rD}[D(n、・・・、n’、rV)=1]と記す。
【0047】
この時どのような識別装置Dを用いても、
Pr_{{rP、rV、rD}[D(m、・・・、m’、rV)=1]と、Pr_{{rS、rD}[D(n、・・・、n’、rV)=1]の差が無視できるほど小さければ、二つの分布は見分けがつかないという。
【0048】
ある証明システムが零知識証明クラスに属するためには、証明装置Pと検証装置Vに共通に与えられた共通入力X及びそれに関係Rで対応するWに対して、模擬装置Sが存在して、どのような識別装置Dにも、模擬装置Sが生成するデータ列と、真のデータ列を区別できない必要があった。
【0049】
固定されたXとWに対して、どのような識別装置Dとされているので、識別装置DはデータWを所持しているようなものや、証明装置Pすら知らないXとWに関わる情報を持つ装置も含むため、この零知識クラスに属するための制約条件は、大変きつい。
【0050】
実際、証明装置PがXとWの組を生成するとして、(X、W)∈Rとなるよう一様無作為にX、Wを生成しなければ、Wを検証装置Vに推測される可能性がある。もちろん一様無作為に選んでも、検証装置Vが、たまたま試してみたWが的中する可能性もある。よって、入力されたランダムテープからX、Wを生成する生成装置Gを考えたとき、大多数のランダムテープが選ばれた場合にのみ検証装置VはWを知ることができないのであって、無視できるほど低い確率においては、検証装置VはWを知ることができる。
【0051】
このように、生成装置Gに入力されるランダムテープの大多数の場合に関してWが漏れるかどうかを考えることが自然であると思われる。
[正直な検証者の零知識証明クラス]
今まで考えてきた零知識証明クラスは、どのような悪質な検証装置Vに対しても証明装置PからWに関する知識が漏ないことを前提にしたものであった。しかし、定められた通りに動作する信頼のできる検証装置Vを考えることが有用な場合がある。特に検証装置Vから証明装置Pへ送られるデータが乱数のみの場合は特に有効である。
【0052】
前述した例で検証装置VがA=g mod pを証明装置Pへ送った後に、証明装置PがBを送っているのはcをBに依存して検証装置Vによって恣意的に選ばれることを防ぐためである。
【0053】
もし検証装置Vが正直にcを一様無作為に選ぶならば、前述の例は以下のように単純化される。
(1)証明装置Pはランダムテープからs∈Z/(p−1)Zを生成して、
B=g mod pを生成して検証装置Vに送る。
(2)検証装置Vは一様無作為に選んだcをPに送る。
(3)証明装置Pは、r=cw+s mod p−1をVに送る。
(4)検証装置Vは、等式g=hB mod pが成り立つことが確認できれば、Pはwを知っていると判断し、受理を出力する。成り立たなければ、不受理を出力する。
【0054】
模擬装置SがB、c、rと同様のデータ列を作る方法は以下の通りである。
【0055】
模擬装置Sは、一様無作為にc、rを選んで、B=g−c mod pとする。
【0056】
上記の単純化はシステムの簡略化以上の効果がある。ここで、検証装置VがBを入力された``後に’’ランダムにcを選ぶことが本質なのである。
【0057】
証明装置Pが 検証装置Vの代わりに暗号学的なハッシュ関数Hash()を用いて、
c=Hash(B、p、g、h)と自らcを生成しても同様の安全性が得られると考えられる。
【0058】
証明装置Pはcを選ぶことはほとんど不可能なので、やはりwを知らないと検証を通過することが出来るrを生成することができないのである。このハッシュ関数を導入したプロトコルを書き下してみると、
(1)証明装置Pはランダムテープからs∈Z/(p−1)Zを生成して、
B=g mod p、c=Hash(p、g、h、B)、
r=cw+s mod p−1とする。
(3)証明装置PはB、rを検証装置Vに送る。
(4)検証装置Vはc’=Hash(p、g、h、B)とし、
等式g=hc’B(mod p)が成り立つことが確認できれば、Pはwを
知っていると判断し、受理を出力する。成り立たなければ、不受理を出力する。
【0059】
この改良システムでは、検証装置Vから証明装置Pにデータを送信する必要がなくなった。よって証明装置Pは、B、rを作成して検証装置に送付してしまえば誰にでも検証可能である。そのため、署名や暗号といったものにも応用することができる。
【0060】
ハッシュ関数を用いた零知識証明を用いると証明は次のようにして実現できる。
【0061】
文章Mからハッシュ関数を用いて(Z/pZ)の元gに落す。ここでg=Hash(M)であるが、このハッシュ関数の使用は、前述の零知識証明とは直接は関係ない。次にh=g mod pとし、wを知っていることの零知識証明をB、rを生成する。Mにh、B、rを証明として添付する。署名の検証者はMからgを、p、h、g、Bからcを再現し、等式g=hc’B (mod p)が成り立つことを確認すればよい。
【0062】
【特許文献1】
特開2001−251289(第12−29頁、図1)
【非特許文献1】
岡本龍明、山本博資著、産業図書出版「現代暗号」131-150頁
【非特許文献2】
オデッド・ゴルドライッヒ著、ケンブリッジ出版の「ファウンデーション・オブ・クリプトグラフィー」(OdedGoldreich、Cambridge、「FoundationofCryptography」)184-330頁
【0063】
【発明が解決しようとする課題】
余計な情報を漏らさないことが保証された証明システムを作成するには、従来は零知識証明クラスに属するよう証明システムを作成する必要があった。ところが、このようにして証明システムの作成を試みた場合、必ずしも効率の良い証明システムを作成できるとは限らなかった。
【0064】
本発明はこのような状況を鑑みてなされたものである。
【0065】
本発明では、零知識証明クラスよりも広いクラスに対しても余計な情報を漏らさないことを保証する方法を与える。これにより、余計な情報を漏らさない証明システムの設計の幅を大きくし、今までは作ることのできなかった効率が良くかつ余計な情報を漏らさないことが保証されたプロトコルを、新たに作成する方法を与えることが可能となる。
【0066】
証明システムが零知識証明クラスに属するためには、与えられた証明装置と検証装置の共通した入力に対して、ある模擬装置が存在していかなる識別装置も証明装置と検証装置との対話による真の証明から得られるデータと、模擬装置から得られるデータが区別できないという条件を満たさねばならなかった。
【0067】
本発明ではこれを、証明装置と検証装置に対する共通した入力と証明装置への証拠を生成する生成装置のランダムテープの大多数の事例においてのみ、ある模擬装置が存在して、証明装置にのみ入力される証拠を入力されたいかなる識別装置も、証明装置と検証装置との対話による真の証明から得られるデータと、模擬装置から得られるデータとの相違が、区別できなければ良いとして零知識証明クラスの条件を緩和する。
【0068】
この緩和された証明システムも余計な情報を漏らさないシステムであることが保証される。この緩和されたクラスのことを弱計算量的零知識証明クラスと呼ぶ。
【0069】
本発明は、この弱計算量的零知識証明クラスに属する証明システムを用いることによって、高速である等従来と異なる特徴を持つとともに、従来どうり余計な情報を漏らさないことを保証して、証明装置が検証装置に秘密の知識の所持を証明する事を可能とする証明システムと評価システムを提供するものである。
【0070】
【課題を解決するための手段】
本発明の第1の証明システムは、互いに通信が可能な生成装置と、証明装置と、検証装置と、からなり、証明装置は生成装置が生成した秘密事項である証拠を保有し、前記証拠を証明装置が保有することを検証装置が証明装置と対話することにより検証装置に証明する証明システムであって、
さらに、生成装置と、検証装置とそれぞれ通信可能な模擬装置と識別装置とを接続して前記証明システムを評価するとき、
前記各装置には、それぞれランダムなデータが記録されたランダムテープが入力され、
生成装置は、関係Rと共通入力からでは前記証拠を導出することが困難な数値上の前記関係Rを相互に有する前記共通入力と前記証拠とを前記関係Rをもとに前記ランダムテープから生成し、証明装置と識別装置には、生成された前記共通入力と前記証拠とを入力し、検証装置と模擬装置には、生成された前記共通入力を入力し、
検証装置は、前記共通入力と自身のランダムテープから入力したデータを使用して証明装置と対話することにより証明装置が前記証拠を有するか否かについての証明受理または証明拒絶を出力し、その結果、検証装置が入力したランダムテープのデータと証明装置との対話による対話データとを含む証明履歴を生成し、
模擬装置は、前記共通入力と自身に入力されるランダムテープを使用して検証装置にランダムテープを入力し検証装置と対話することで証明装置と検証装置による対話を証明装置を使用せずに模擬し、その結果、模擬装置が検証装置に入力したランダムテープのデータと模擬された対話データとを含む模擬証明履歴を生成し、
データの分布の相違を識別する識別装置は、生成装置から同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において、計算量理論的に識別不可能であり、かつ、確率的に無視できる少数の前記共通入力の場合においては、その相違を計算量理論的に識別可能である
と評価することを備える。
【0071】
本発明の第2の評価システムは、互いに通信が可能な生成装置と、証明装置と、検証装置と、模擬装置と、識別装置と、からなり、証明装置は、生成装置が生成した秘密事項である証拠を保有し、証明装置が前記証拠を保有することを検証装置が証明装置と対話することにより検証装置に証明する証明システムを模擬装置と識別装置を前記証明システムに接続して評価する評価システムであって、
前記各装置には、それぞれランダムなデータが記録されたランダムテープが入力され、
生成装置は、関係Rと共通入力からでは前記証拠を導出することが困難な数値上の前記関係Rを相互に有する前記共通入力と前記証拠とを前記関係Rをもとに前記ランダムテープから生成し、証明装置と識別装置には、生成された前記共通入力と前記証拠とを入力し、検証装置と模擬装置には、生成された前記共通入力を入力し、
検証装置は、前記共通入力と自身のランダムテープから入力したデータを使用して証明装置と対話することにより証明装置が前記証拠を有するか否かについての証明受理または証明拒絶を出力し、その結果、検証装置が入力したランダムテープのデータと証明装置との対話による対話データとを含む証明履歴を生成し、
模擬装置は、前記共通入力と自身に入力されるランダムテープを使用して検証装置にランダムテープを入力し検証装置と対話することで証明装置と検証装置による対話を証明装置を使用せずに模擬し、その結果、模擬装置が検証装置に入力したランダムテープのデータと模擬された対話データとを含む模擬証明履歴を生成し、
データの分布の相違を識別する識別装置は、同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において計算量理論的に識別不可能であるか否かの評価を行ない、評価と評価の根拠を評価結果として記憶装置に記憶するとともに、前記証明システムの前記評価結果を公開することを備える。
【0072】
本発明の第3の証明システムは、互いに通信が可能な生成装置と、証明装置と、検証装置と、からなり、前記生成装置が生成した秘密事項である証拠を前記証明装置は保有し、前記証拠を証明装置が保有することを検証装置が証明装置と対話することにより検証装置に証明する証明システムであって、
さらに、生成装置と、検証装置と通信可能な模擬装置と識別装置とを接続して前記証明システムを評価するとき、
前記各装置には、それぞれランダムなデータが記録されたランダムテープが入力され、
生成装置は、関係Rと共通入力からでは前記証拠を導出することが困難な数値上の前記関係Rを相互に有する前記共通入力と前記証拠とを前記関係Rをもとに前記ランダムテープから生成し、証明装置と識別装置には、生成された前記共通入力と前記証拠とを入力し、検証装置と模擬装置には、生成された前記共通入力を入力し、
証明装置は、証明部とハッシュ部からなり、証明部は、検証装置またはハッシュ部にデータを送信し、ハッシュ部は、証明部から送られるデータのハッシュ値を計算して結果を証明部に返し、証明部とハッシュ部のデータの送受信により証明部とハッシュ部との対話データが生成され、前記対話データのうちハッシュ部から証明部に送られるデータをランダムなデータに変更した場合、ランダムなデータに変更された対話データと証明装置から検証装置に送付されるデータとからなる証明履歴と、
模擬装置は、証明装置と検証装置による対話を、証明装置を使用せず前記共通入力と自身に入力されるランダムテープとから模擬し、その結果、模擬された対話データを含む模擬証明履歴を生成し、
データの分布の相違を識別する識別装置は、生成装置から同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において、計算量理論的に識別不可能であり、かつ、確率的に無視できる少数の前記共通入力の場合においては、その相違を計算量理論的に識別可能である
と評価することを備える。
【0073】
本発明の第4の評価システムは、互いに通信が可能な生成装置と、証明装置と、検証装置と、模擬装置と、識別装置と、からなり、証明装置は、生成装置が生成した秘密事項である証拠を保有し、証明装置が前記証拠を保有することを検証装置が証明装置と対話することにより検証装置に証明する証明システムを模擬装置と識別装置を前記証明システムに接続して評価する評価システムであって、
前記各装置には、それぞれランダムなデータが記録されたランダムテープが入力され、
生成装置は、関係Rと共通入力からでは前記証拠を導出することが困難な数値上の前記関係Rを相互に有する前記共通入力と前記証拠とを前記関係Rをもとに前記ランダムテープから生成し、証明装置と識別装置には、生成された前記共通入力と前記証拠とを入力し、検証装置と模擬装置には、生成された前記共通入力を入力し、
証明装置は、証明部とハッシュ部からなり、証明部は、検証装置またはハッシュ部にデータを送信し、ハッシュ部は、証明部から送られるデータのハッシュ値を計算して結果を証明部に返し、証明部とハッシュ部のデータの送受信により証明部とハッシュ部との対話データが生成され、前記対話データのうちハッシュ部から証明部に送られるデータをランダムなデータに変更した場合、ランダムなデータに変更された対話データと証明装置から検証装置に送付されるデータとからなる証明履歴と、
模擬装置は、証明装置と検証装置による対話を、証明装置を使用せず前記共通入力と自身に入力されるランダムテープとから模擬し、その結果、模擬された対話データを含む模擬証明履歴を生成し、
データの分布の相違を識別する識別装置は、同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において計算量理論的に識別不可能であるか否かの評価を行ない、評価と評価の根拠を評価結果として記憶装置に記憶するとともに、前記証明システムの前記評価結果を公開することを備える。
【0074】
本発明の第5の証明システムは、第1または第3の発明において、識別装置をどのような識別装置に置き換えても、置き換えられた識別装置は、生成装置から同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において、計算量理論的に識別不可能であり、かつ、確率的に無視できる少数の前記共通入力の場合においては、その相違を計算量理論的に識別可能である
と評価することを備える。
【0075】
本発明の第6の評価システムは、第2または第4の発明において、識別装置は、
インターネットまたは電話回線を含むネットワークを通じて、前記証明システムの評価結果を送信することを備える。
【0076】
本発明の第7の証明システムは、互いに通信が可能な生成装置と、証明装置と、検証装置と、からなり、証明装置は生成装置が生成した秘密事項である証拠を保有し、前記証拠を証明装置が保有することを検証装置が証明装置と対話することにより検証装置に証明するディフィーヘルマン事例でないことの証明システムであって、
生成装置と証明装置と検証装置にそれぞれランダムなデータを記録したランダムテープと群を特定する値が入力され、
生成装置は自身に入力されたランダムなデータから、前記群の要素g、h、z’と整数xを入力し、共通入力をg、h、y=g、z’、証拠をxとして生成し、生成装置から証明装置に、前記共通入力と前記証拠を入力し、
生成装置から前記検証装置に、前記共通入力を入力し、
検証装置は、前記共通入力と自身のランダムテープから入力したデータを使用して証明装置と対話することによりその結果として証明装置が前記証拠を有するか否かについての証明受理または証明拒絶を出力するものであって、
対話を開始した以降には、
(1)検証装置は、ランダムテープから前記群の位数より小さい数である整数bと、チャレンジcとを無作為に選び、チャレンジコミットメントa=gを生成し前記証明装置に送り、
(2)証明装置は、ランダムテープを利用して前記群の位数より小さいある整数d、e、fを一様無作為に選び、
h’=h
w’=z’
v =hxd
y’=g
v’=h’
h’’=h
w’’=z’を計算し、
検証装置にh’、w’、v、y’、v’、h’’、w’’を送信し、
(3)検証装置は前記整数b、cを証明装置に送り、
(4)証明装置は、受信した前記整数b、cからa=gを確認し、この式が成り立たなかった場合は、プロトコルを中止し、成り立てば対話を続行し、
(5)証明装置は、前記整数d、e、fと前記証拠を用いて、リスポンス
r =xc+e mod (群の位数)、
r’=dc+f mod (群の位数)を計算して検証装置に送り、
(6)検証装置は、証明装置から受け取った前記h’、w’、v、y’、v’、h’’、w’’と、前記r、r’と、前記チャレンジc、前記共通入力p、q、g、h、y、z’を用いて4個の等式と1個の不等式
=yy’、
h’=vv’、
r’=h’h’’、
z’r’=w’w’’、
v≠w’mod p
を確認し、全て成り立てば証明受理を、1つでも成り立たなければ証明拒絶を出力する
ことを備える。
【0077】
【発明の実施の形態】
最初に本発明の概要を簡単に説明する。
【0078】
あるデータXとW及び、関数R()があったとして、R(X,W)=1としたとき、XとWは関係Rを満たすと呼び、(X、W)∈Rと記述することにする。
【0079】
本発明は、(X、W)∈RなるWなる秘密事項を証明装置が知っていることを検証装置によって検証する証明システムに関するものであり、さらに、証明装置の持つWに関する情報を証明装置以外には何も漏らさないことを保証したまま証明する証明システムに関し、従来の零知識証明システムを発展させた内容を持つものである。これを弱計算量的零知識証明クラスに属する証明システムと呼ぶ。
【0080】
ある証明システムの属する証明クラスが、本発明の弱計算量的零知識証明クラスに属するものであるかを評価するため、証明装置と検証装置との間の証明プロトコルを模擬する模擬装置を評価の対象とする証明システムに接続して模擬装置による模擬された結果としての模擬データを生成する。
【0081】
さらに識別装置を接続して、この識別装置が、模擬データと、証明装置と検証装置の証明プロトコルによって生成される真のデータと、を比較することで証明システムが本発明における弱計算量的零知識証明クラスに属するかを判定する内容を持つものである。
【0082】
本発明の第1の実施の形態について図面を参照して説明する。
【0083】
本発明の第1の実施の形態の構成は、図1を参照すると、生成装置100と、Wという証拠(秘密事項)を所持する証明装置105と、証明装置105が証拠を保持することを検証する検証装置106と、からなる。
【0084】
生成装置100は、複数の乱数を記憶するランダムテープrG101と生成装置100以外の装置によって決定される固定データ102とが与えられたら、固定データ102をもとに、一様無作為に証拠103を選び、次に(X、W)∈Rとなるような共通入力104を一様無作為に生成する。固定データ102は、関係Rを生成するための前提となる条件を与える。
【0085】
尚、固定データの一例としては、大きな素数p、qがあり、qはp−1を割りきるような関係を持つものがある。
【0086】
さらに、X、W、R()の一例としては、従来の技術に記載したように、離散対数の関係がある。このとき、pを大きな素数、gをpについての既約剰余類(Z/pZ)の元、wをp−1についての剰余類Z/(p−1)Zの元、
h=g mod pとする。X={p、g、h}、W={w}とし、
等式h=g (mod p)が成り立つならX、Wは関係Rを満たすとするような例がある。
【0087】
生成装置100が固定データ102から生成した共通入力104は、証明装置105と検証装置106に入力され、証拠103は証明装置105にのみ入力される。共通入力104を証明装置105と検証装置106への共通の入力のため共通入力104と呼ぶことにする。
【0088】
生成装置100と、証明装置105と、検証装置106と、以降説明する模擬装置110と、識別装置112とは、それぞれ乱数を記録するランダムテープを含むデータに対する処理を行うCPUや主記憶メモリや、二次記憶装置である磁気ディスク装置、磁気テープ装置等を有するコンピュータであって、以下の実施の形態や実施例で説明される処理内容は、全て当該するコンピュータ上で動作するプログラムによって実行されている。
【0089】
また、生成装置100と、証明装置105と、検証装置106と、模擬装置110と、識別装置112は、それぞれイーサネット(登録商標)やインターネット等の通信手段によって接続され、相互にデータの送受信が可能であるとする。また、乱数を記憶したランダムテープは、二次記憶装置上のファイルとする。
【0090】
今、証明装置105と検証装置106とで互いに交換される対話データ107を通信される順番にm、m’、m、m’、・・・、m、m’とする。
【0091】
、・・・、mは検証装置106から証明装置105へ送られるデータとし、m’、・・・、m’は証明装置105から検証装置106へ送られるデータとする。
【0092】
また、検証装置106に入力される複数個の乱数を記録したランダムテープをランダムテープrV108、証明装置105に入力される複数個の乱数を記録するランダムテープをランダムテープrP109とする。
【0093】
ランダムテープrG101、rP109、rV108を決めると対話データ107が決まる。
【0094】
ここで一様無作為に乱数が選ばれる生成装置100のランダムテープrG101と、rP109と、rV108によって決定された対話データ107のm、m’、m、m’、・・・、m、m’、と、ランダムテープrV108とからなる分布を考える。(ここでランダムテープrVの分布は検証装置V106が自由に決めて良い。)
尚、ランダムテープrG101による共通入力104と対話データ107とランダムテープrV108とから生成されたデータを併せて証明履歴111と呼ぶ。
【0095】
この分布は、証拠103を知っている証明装置105の助けを借りて生成されるものである。この証明システムのプロトコルを模擬するある模擬装置110が存在するとする。
【0096】
この分布が、模擬装置110が証明装置105といっさい通信せずに検証装置106の助けを借りて生成する模擬された模擬証明履歴115である数値の列n、n’、n、n’、・・・、n、n’、rVの、生成装置100、模擬装置110のランダムテープrV,rSについての分布と、その分布の相違を識別するどのような識別装置112にも識別できないのならば、証明装置105と検証装置106の相互通信による共通入力104に対応する証拠103を知っていることの証明は、弱計算量的零知識証明クラスに属していると呼ぶ事にする。
【0097】
このような弱計算量的零知識証明クラスに属する証明システムを使って知識の証明をすることが、本実施の形態の内容である。
<検証者単独でのプロトコル再現装置の構成方法>
証明システムのプロトコルの模擬をする装置を模擬装置110とする。模擬装置110には乱数からなるランダムテープrS114が入力される。模擬装置110は、検証装置106をリセットして再立ち上げ可能な形で検証装置106と接続する。
【0098】
検証装置106に入力されるランダムテープrV113は、ランダムテープrS114から生成され、模擬装置110から検証装置106に入力される。
【0099】
検証装置106には証明装置105と検証装置106の共通入力104が入力される。模擬装置110はランダムテープrV113を検証装置106に入力し、それに対して検証装置106はnを出力する。
【0100】
次に、模擬装置110はランダムテープrS114を用いて、n’を生成し、検証装置106に入力する。このように模擬装置110と検証装置106とで検証装置106が停止するか不受理を出力するまで証明プロトコルを行うことにより、適当な対話数Lまでのn、n’、n、n’、・・・、nを得ることができる。
【0101】
検証装置106が停止するか不受理を出力するまでのこれらの値から模擬装置110は、検証装置106が何を出力するかを調べた後、検証装置106をリセットする等によって最初から模擬装置110と検証装置106の証明プロトコルを実行し直す。
【0102】
この時、模擬装置110は、検証装置106に前回と同じランダムテープrV113を入力する。模擬装置110は、検証装置106の今回の出力と前回の出力の相違を、模擬装置110から検証装置106へ入力する数値列n、n’、n、n’、・・・、n’L−1の相違に起因するものだけとする。
【0103】
また、前回の検証装置106の出力のデータを知ることが出来たため、模擬装置110は検証装置106へ入力するn、n’、n、n’、・・・、n’L−1の値を、検証装置106が証明プロトコルを受理する可能性が高いものを選ぶようにする。
【0104】
このような、証明プロトコルの中断と、同じランダムテープrV113による再実行を繰り返すことにより最終的に検証装置106が受理するような証明システムを模擬装置110と検証装置106とで再現することが可能となる。
【0105】
最終的に検証装置106が受理した数値列をn、n’、n、n’、・・・、n、n’としてこれを識別装置112への入力とする。
<二つの分布の識別不可能性>
ここで言う弱計算量的零知識証明における二つの分布が見分けがつかないとはどういうことか説明する。
【0106】
二つの分布の相違を識別する識別装置112は、証拠103と、共通入力104、識別装置112の持つランダムテープrD117とが入力され、二つの分布として対話データ107であるm、m’、m、m’、・・・、m、m’、ランダムテープrV108の入力と、または数列n、n’、n、n’、・・・、n、n’、ランダムテープrV113が入力されると、証明装置105と検証装置106による分布か模擬装置110による分布かを判定し、結果として証明装置105と検証装置106による真の分布と判断すると1、模擬装置110による分布と判断すると0を出力するとする。
【0107】
定められたランダムテープrG101、rP109、rV109、rD117の分布から一様無作為にそれぞれのランダムテープを選んだときに、対話データ107と、ランダムテープrV108、証拠103が入力された識別装置112が1を出力する確率を
Pr_{rG、rP、rV、rD}[D(m、・・・、m’、rV、W)=1]と記す。
【0108】
定められたランダムテープrG101、rS114、rD117の分布から一様無作為にそれぞれのランダムテープを選んだときに、数列n、n’、n、n’、・・、n、n’、ランダムテープrV113、証拠103が入力された識別装置112が1を出力する確率を
Pr_{rG、rS、rD}[D(n、・・・、n’、rV、W)=1]
と記す。
【0109】
この時、どのような識別装置112を用いても、
Pr_{rG、rP、rV、rD}[D(m、・・・、m’、rV、W)=1]とPr_{rG、rS、rD}[D(n、・・・、n’、rV、W)=1]の差が無視できるほど小さければ、二つの分布は見分けがつかないという。[零知識証明クラスと弱計算量的零知識クラスの差異]
零知識証明クラスと弱計算量的零知識証明クラスとの違いは、弱計算量的零知識証明クラスの場合には、識別装置112の決定する確率が、生成装置100のランダムテープrG101の共通入力104の分布に対してもとられていることと、識別装置112に証拠103が入力されることである。
【0110】
すなわち、零知識証明クラスに属することを証明する場合、「ある特定」の共通入力104に対する、模擬装置110で再現生成された模擬証明履歴115(数値の列)と証明装置105による真の証明履歴111である対話データ107とランダムテープrV108等との分布の相違を識別することが「どのような識別装置」も不可能なクラスであった。
【0111】
しかし、弱計算量的零知識証明クラスではあらゆる共通の入力(様々な生成装置G100のランダムテープrG101により生成された共通入力104)が与えられたときにも「証明者の知識証拠103」を使っても識別できる識別装置112がなければ良かった。
【0112】
記号を使って書くと、零知識証明クラスではどのような識別装置112に対しても、全ての生成装置100のランダムテープrG101に対して、
Pr_{rP、rV、rD}[D(m、・・・、m’、rV)=1]と
Pr_{rS、rD}[D(n、・・・、n’、rV)=1]
の差が無視できることが求められたが、
弱計算量的零知識証明クラスではどのような識別装置112に対しても、
Pr_{rG、rP、rV、rD}[D(m、・・・、m’、rV、W)=1]と
Pr_{rG、rS、rD}[D(n、・・・、n’、rV、W)=1]
の差が無視できることが求められる。
【0113】
ここで、確率の計算にrGとWを使用するか否かに関する違いに注意されたい。
【0114】
この確率の取り方の違いを図11と図12のフローチャートを参照しながら説明する。
【0115】
生成装置100のランダムテープrG101に対する、
Pr_{rP、rV、rD}[D(m、・・・、m’、rV)=1]とは以下の図11の(a)のフローチャートで計算される平均値である。
【0116】
生成装置100のランダムテープrG101を入力して(ステップ1101)、証明装置105のランダムテープrPを決定して(ステップ1102)、続いて検証装置106のランダムテープrVを決定して(ステップ1103)、次に識別装置112のランダムテープrDを決定して(ステップ1104)、上記決定値から証明履歴111を生成し(ステップ1105)、識別結果を1か0として出力する(ステップ1106)。
【0117】
(ステップ1113)にて全ての場合を尽くしたかをチェックし、尽くしていない場合は、(ステップ1102)まで戻り、組として異なる(rP、rV、rD)を決定して再度識別結果を1か0として出す。
【0118】
これを全ての(rP、rV、rD)の可能性について行い(ステップ1113)のチェックで全ての場合を尽くしたことが判定されると、識別結果の平均値を出して終了する(ステップ1112)。
【0119】
生成装置100のランダムテープrG101に対する、
Pr_{rS、rD}[D(n、・・・、n’、rV)=1]とは以下の図11の(b)のフローチャートで計算される平均値である。
【0120】
生成装置100のランダムテープrG101を入力して(ステップ1107)、模擬装置110のランダムテープrSを決定して(ステップ1108)、続いて識別装置112のランダムテープrDを決定して(ステップ1109)、上記決定値から模擬証明履歴115を生成し(ステップ1110)、識別結果として1か0を出力する(ステップ1111)。この時の識別装置112は(ステップ1105)のそれと同一である。
【0121】
(ステップ1114)で全ての場合を尽くしたかをチェックし、尽くしていない場合は(ステップ1108)まで戻り、組として異なる(rS、rD)を決定して再度識別結果を1か0として出す。これを全ての(rS、rD)の可能性について行い、識別結果の平均値を出す(ステップ1115)。
Pr_{rG、rP、rV、rD}[D(m、・・・、m’、rV、W)=1]とは以下の図12の(a)のフローチャートでで計算される平均値である。
【0122】
生成装置100のランダムテープrGを決定して(ステップ1201)、証明装置105のランダムテープrPを決定して(ステップ1202)、続いて検証装置106のランダムテープrVを決定して(ステップ1203)、次に識別装置112のランダムテープrDを決定して(ステップ1204)、上記決定値から証明履歴111と証拠103を生成し(ステップ1205)、(ステップ1205)で生成した値から識別結果を1か0として出力する(ステップ1206)。
【0123】
(ステップ1113)で全ての場合を尽くしたかをチェックし、尽くしていないと(ステップ1101)まで戻り、生成装置100のランダムテープrG1201の決定し、同様にして、組として異なる(rG、rP、rV、rD)を決定して再度識別結果として1または0を出力する。これを全ての(rG、rP、rV、rD)の可能性について行い、識別結果の平均値を出す(ステップ1213)。
Pr_{rG、rS、rD}[D(n、・・、n’、rV、W)=1]とは以下の図12の(b)のフローチャートで計算される平均値である。
【0124】
生成装置100のランダムテープrGを決定して(ステップ1207)、模擬装置110のランダムテープrSを決定して(ステップ1208)、次に識別装置112のランダムテープrDを決定して(ステップ1209)、上記値から模擬証明履歴115と証拠103を生成し(ステップ1210)、(ステップ1210)で生成した値から識別結果として1か0を出力する(ステップ1211)。
【0125】
この時の識別装置112は(ステップ1205)のそれと同一である。
【0126】
その後、(ステップ1207)の生成装置GのランダムテープrGの決定まで戻り、組として異なる(rG、rS、rD)を決定して再度識別結果を1または0として出す。これを全ての(rG、rS、rD)の可能性について行い、識別結果の平均値を出す(ステップ1215)。
【0127】
ある特定の共通入力104にのみ特化した、証明者さえも知らない事実を使って二つの分布の相違を識別する識別装置112があれば、その証明システムは零知識証明クラスに属することができない。しかし、このような識別装置112があらゆるそのほかの大部分の共通入力104には有効でなかった場合、この証明システムは弱計算量的零知識証明クラスでは有り得る。このように、弱計算量的零知識証明クラスは、零知識証明クラスよりも広いクラスである。
【0128】
識別装置112は、証明システムが弱計算量的零知識証明クラスに属するかの評価やその評価に使用した二つの分布情報等を含む評価結果を識別装置112の磁気ディスク装置等に記憶する。
[弱計算量的零知識クラスの有効性]
もしある証明システムが、弱計算量的零知識クラスに属するならば、このプロトコルが隠したい知識を漏らさないことを保証することは次のようにして証明される。
【0129】
もし、証明システムを通じて、証明装置105が知っている証拠103あるいは証拠103の一部を、検証装置106が知り得るとする。その時、模擬装置110が証明装置105の助けを借りずに検証装置106の助けにより再現した模擬証明履歴115、あるいは、真の証明履歴111が与えられた識別装置112は、その履歴が真であると仮定してこれから証明装置105の漏らしたであろう知識を計算する。
【0130】
識別装置112は元々証明装置105の証拠103を知っているので、これと計算した証拠103とを比較する。もし履歴が真のものであれば、識別装置112は証明装置105の知識の引き出しに成功するはずであるから、両者は高い確率で一致するが、履歴が証明装置105の助けなくして検証装置106の助けのみで作られたものならば両者はほとんど一致しない(もし二つの履歴が一致するならば、検証装置106がこの知識を知らなかったという仮定に反する)。
【0131】
よって、識別装置112は、二つの履歴が一致するかしないかによって、履歴の真偽を識別することができる。 よって、もし証明システムにおいて証明装置105が知識を漏らすならば、履歴の真偽を識別できる識別装置112が存在するといえる。逆に、いかなる識別装置112にも二つの履歴の相違を識別できないことが証明されれば、証明システムにおいて証明装置105は知識を漏らさないことが証明される。これは弱計算量的零知識クラスに属する証明システムであった。
【0132】
次に本発明の第2の実施の形態について説明する。
【0133】
従来の方法の零知識証明クラスに属する証明システムで、従来の技術で説明したように、特別な場合において、ハッシュ関数を使用することによって、検証装置から証明装置にデータを送信する必要がなくなった。このことを弱計算量的零知識証明クラスに属する証明システムでも適用する。
【0134】
生成装置500と証明装置505と検証装置506とからなる(X、W)∈RなるWを知っていることの証明システムで、Wに関する情報を何も漏らさないことを保証したまま、証明する方法を図5、図6を参照しながら説明する。
【0135】
これをハッシュ関数を用いた弱計算量的零知識証明クラスに属する方法と呼ぶ。
【0136】
生成装置500は、第1の実施の形態で説明したのと同様に、ランダムテープrG501と生成装置500以外によって決定される固定データ502が与えられたら、ランダムテープrG501を利用して、一様無作為に証拠503を選び、次に(X、W)∈Rとなるような関係を持った共通入力504を一様無作為に生成する。
【0137】
共通入力504は、証明装置505と検証装置506に入力され、証拠503は証明装置505にのみ入力される。共通入力504を証明装置505と検証装置506の共通の入力と呼ぶ。
【0138】
証明装置505は、証明部507と、証明部507から与えられたデータに対してハッシュを行うハッシュ部508とから構成される。
【0139】
証明部507とハッシュ部508とで互いに交換される交換データ509を、通信される順番にm、m’、m、m’、・・・、mk−1、m’k−1、mとする。
【0140】
、・・・、mは、ハッシュ部508から証明部507へ送られるデータで、証明部507から送られてきたデータのハッシュ値である。
【0141】
m’、・・・、m’k−1は、証明部507からハッシュ部508へ送られるデータとする。
【0142】
尚、証明部507とハッシュ部508の間で交換される交換データ509は、前述した証明装置105と検証装置106間で交換される対話データ107と同様な内容を有するものとする。
【0143】
交換データ509が生成されると、次に、m’、・・・m’k−1を含むm’を証明装置505から検証装置506へ送る。
【0144】
また、証明装置505に入力される乱数を記録したランダムテープをランダムテープrP515とする。ランダムテープrG501、rP515、を決めると交換データ509m、m’、m、m’、・・・、m、m’が得られる。
【0145】
検証装置506は、検証部511とハッシュ部512とからなる。
【0146】
検証部511は、証明装置505から受信したm’からm’、・・・、m’k−1を生成し、これをハッシュ部512に送る。ハッシュ部512はハッシュ値m、・・・、mを生成して検証部511に送る。
【0147】
検証部511は、この結果と共通入力504と、m’とが検証のための式を満たすかを確認することにより、OKまたはNGを出力する。
【0148】
ここでハッシュ部508から証明部507に送られるハッシュデータを全て乱数609に入れ替えた改変証明装置605を考える。
【0149】
この改変証明装置605の、一様無作為に選ばれるランダムテープrG501、rP511、乱数609に対する交換データ618m、m’、m、m’、・・・、m、m’とからなる改変証明履歴610の分布を考える。
【0150】
この分布は証拠503を知っている改変証明装置605により生成されるものであるが、この分布と、もしランダムテープrS114の入力されるある模擬装置612が存在して、模擬装置612が改変証明装置605といっさい通信せずに生成する数値の列(模擬改変証明履歴611)n、n’、n、n’、・・・、n、n’の、ランダムテープrG501、rS114に対する分布とを、証拠503とランダムテープrD617が入力されたいかなる識別装置613にも識別できないのならば、証明装置505の証拠503を知っていることの証明はハッシュ関数を用いた弱計算量的零知識証明クラスに属していると呼ぶ事にする。
【0151】
このようなハッシュ関数を用いた弱計算量的零知識証明クラスに属する証明システムを使って知識の証明をすることが、第2の実施の形態の内容である。
<検証者単独でのプロトコル再現装置の構成方法>
プロトコルの模擬を行う模擬装置612は、改変証明装置605のハッシュ部508の出力するデータ列を全て乱数609に置き換える。模擬装置612には証明装置505と検証装置V506の共通の入力である共通入力504が入力される。
【0152】
模擬装置612は、改変証明装置605から検証装置506へ送られるハッシュ値以外のデータ、検証部507からハッシュ部508へ送られるデータを検証装置506の検証に通過するよう生成する。但し検証装置506の検証が通過するデータとは、検証装置506がハッシュ部508から検証部507へ送られるデータをハッシュ関数を用いて再生成するのではなく模擬装置612から受け取った乱数609を用いた場合に検証を通過するデータのことである。
<二つの分布の識別不可能性>
ここで言う二つの分布が見分けがつかないとは、第1の実施の形態で述べた事と同じである。但し、確率は検証装置506のランダムテープrVに関して取るかわりに、乱数609に関して取る。
【0153】
記号を使って書くと、識別不可能とは、どのような識別装置613に対しても、
Pr_{rG、rP、乱数609、rD}[D(m、・・・、m’、W)=1]と
Pr_{rG、rS、rD}[D(n、・・・、n’、W)=1]
の差が無視できることである。
【0154】
零知識証明の場合では、全ての生成装置500のランダムテープrG501に対して、
Pr_{rP、乱数609、rD}[D(m、・・・、m’)=1]と
Pr_{rS、rD}[D(n、・・・、n’)=1]
の差が無視できることを要求する。
【0155】
この条件より本発明の課す条件の方が緩い。
【0156】
識別装置613は、評価した対象の証明システムが弱計算量的零知識証明クラスに属するかの評価やその評価に使用した二つの分布情報等を含む評価結果を磁気ディスク装置等に記憶する。
【0157】
次に本発明の第3の実施の形態について説明する。
【0158】
模擬装置と識別装置を使用する評価者により特定の証明システムが弱計算量的零知識証明クラスに属するとの評価またはその評価の根拠の情報を、提示者が被提示者に提供する方法について、図10を参照しながら説明する。
【0159】
評価者は、パソコン等のコンピュータからなる評価者端末1001によって、インターネット網や電話回線を含むネットワーク1004を介して接続された一つあるいは複数の証明システムが、弱計算量的零知識証明クラスまたはハッシュ関数を用いた弱計算量的零知識証明クラスに属する証明システムであるか否かの評価結果を識別装置112,613から取り出し、その内容を評価者端末1001の記憶装置1002に保存する。
【0160】
提示者はパソコン等の提示者端末1003からネットワーク1004を介して評価者端末1001から一つまたは複数の証明システムが、弱計算量的零知識証明クラスまたはハッシュ関数を用いた弱計算量的零知識証明クラスに属する証明システムであるかの評価結果または、その評価の根拠を評価者端末1001の記憶装置1002から取り寄せ、提示者端末1003の記憶装置1005に蓄える。
【0161】
提示者は、提示者端末1003によって、特定の証明システムが安全であるか否か等の評価結果または、その評価の根拠1009をプリンタ装置やディスプレイ等の表示装置に出力する。
【0162】
あるいは、提示者端末1003は特定の証明システムが、安全であることをその提示を要求する被提示者端末1007に示すため、提示者の必要に応じて被提示者端末1007に取り寄せた内容を送信して提示する。
【0163】
あるいは、提示者端末1003は被提示者端末1007に評価者を直接紹介して評価内容を伝える。
【0164】
あるいは、提示者は不特定多数の被提示者端末1007に対して前述の評価結果または、その評価の根拠をネットワーク1004を介して送信し提示する。
【0165】
次に本発明の第1の実施例について説明する。
[プロトコルの記述]
最初に、余計な知識を漏らさないことが保証された証明システムを、図2を参照しながら説明する。
【0166】
記号の前提として、p、qを大きな素数とし、qはp−1を割りきるとする。1からp−1までの整数を(Z/pZ)とする。
【0167】
(Z/pZ)の要素でq乗してmod pをとると1になるもの全体の集合をGとする。
【0168】
0からq−1までの要素をZ/qZとする。p、qを領域変数200と呼ぶ。
【0169】
領域変数200p、qは第1の実施の形態で言う固定データと同じである。
【0170】
ランダムテープrG201が入力された生成装置202は、ランダムテープrG201を利用してGの要素g、h、z’、Z/qZの要素xを一様無作為に生成し、y=g mod pとする。
【0171】
この時、Gの元z’は圧倒的な確率で不等式z’≠h (mod p)となる。
【0172】
対話証明装置203には共通入力204p、q、g、h、y、z’及び、証拠205及びランダムテープrP206が入力される。
【0173】
対話検証装置207には共通入力204p、q、g、h、y、z’及びランダムテープrV208が入力される。
【0174】
対話検証装置207は、対話検証装置207の持っている情報のみから不等式z’≠h (mod p)が成り立つことを知ることは現実的には不可能である。
【0175】
対話証明装置203は、対話検証装置207に、
不等式z’≠h (mod p)が成り立つことを以下の手順で証明する。これは(g、h、y、z’)が、ディフィーヘルマン事例でないことの証明である。
(1)対話検証装置207は、ランダムテープrV208を利用してZ/qZの要素である乱数212とチャレンジ211を一様無作為に選び、チャレンジコミットメント209のa=g mod pを生成し、対話証明装置203に生成したチャレンジコミットメント209を送る。
(2)対話証明装置203は、ランダムテープrP206を利用してZ/qZの要素d、e、fを一様無作為に選び、
h’=h mod p、
w’=z’ mod p、
v=hxd mod pを計算する。 さらに、
y’=g mod p、
v’=h’ mod p、
h’’=h mod p、
w’’=z’ mod pを計算し、
対話検証装置207に計算値214h’、w’、v、y’、v’、h’’、w’’を送る。
(3)対話検証装置207は、乱数212、チャレンジ211を対話証明装置203に送る。
(4)対話証明装置203は、
等式a=g (mod p)が成り立つことを確認する。
この式が成り立たなかった場合は、プロトコルを中止する。
(5)対話証明装置203は、(2)にて生成したd、e、f213及び証拠205を用いて、リスポンス218のr、r’を
r =xc+e mod q、
r’=dc+f mod q
として対話検証装置207に送る。
(6)対話検証装置207は対話証明装置203から受け取った計算値214h’、w’、v、y’、v’、h’’、w’’と、リスポンス218r、r’と、チャレンジ211と、共通入力204p、q、g、h、y、z’と、を用いて
=yy’(mod p)、
h’ =vv’(mod p)、
r’ =h’h’’(mod p)、
z’r’=w’w’’(mod p)、
v ≠w’(mod p)が成り立てば、
y=g mod pであるxに対して
不等式z’≠h (mod p)であることを受理しOKを出力する。
でなければNGを出力する。
【0176】
対話検証装置207の検証者がこのプロトコルから知り得たデータは、対話検証装置207の検証者が対話証明装置203の証明者と無関係に保持しているデータを含めて、対話検証装置207のランダムテープrV、p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’である。これは図1の証明履歴111に相当するものである。
[弱計算量的零知識の証明方法]
<模擬装置が証明装置を使わず検証装置だけ使ってプロトコルを再現する方法>
証明システムの模擬を行う模擬装置が、検証装置を用いて、証明装置と通信することなく模擬された証明履歴rV、p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’(図1の模擬証明履歴115)を生成する方法について図3を参照しながら説明する。
(1)模擬装置300には生成装置202の出力した領域変数p、q、とランダムテープrG201のデータg、h、y、z’204及び模擬装置300のランダムテープrS301が入力される。
(2)検証装置207にはp、q、g、h、y、z’が入力される。
(3)模擬装置300はランダムテープrS301を利用して検証装置207の入力となるランダムテープrV302を生成する。
(4)模擬装置300は、検証装置207に、ランダムテープrV302を入力すると、検証装置207は、乱数212とチャレンジ211を選択し、チャレンジコミットメント209a=g(mod p)を計算してaを出力する。
(5)模擬装置300は、ランダムテープrS301を利用して一様無作為に選んだGの要素h’、w’、v、y’、v’、h’’、w’’を検証装置207に入力する。
【0177】
すると検証装置207は、乱数212、チャレンジ211を出力する。模擬装置300は、チャレンジコミットメント209を用いて、
a=g(mod p)を確認する。成り立たなければシステムを中断する。
(6)模擬装置300は、検証装置207をリセットする。そして再度同じランダムテープrV302を入力する。すると、検証装置207は、同じチャレンジコミットメント209を再度出力する。
(7)模擬装置300はランダムテープrS301を利用して一様無作為にGの要素からw’を、Z/qZの要素からi及びr、r’308を選ぶ。また、(5)で獲得したチャレンジ211を用いて、コミットメント
h’ =g mod p
v =y mod p
y’ =g−c mod p、
v’ =h’−c mod p、
h’’=hr’h’−c mod p、
w’’=z’r’w’−c mod p、
を計算し、w’と共に検証装置207に入力する。
(8)検証装置207は最初に出力したものと同じ乱数212、チャレンジ211を出力する。
(9)模擬装置300は、r、r’を検証装置207に送る。
(10)検証装置207は、証明の受理21を出力する。
<検証者が単独で生成した値の列と、証明者と共同で生成した値の列の違い>
証明装置を使用する証明者が関わる真のプロトコルでは、w’はlogz’=logh’w’となるように選ばれる。証明装置の代わりに模擬装置を使用する検証者が単独で再現したプロトコルではw’は一様無作為に選ばれ、このような等式は成立しない。その他の値の差異は全てこの違いにより生ずる。
【0178】
あるアルゴリズムが存在して、これにi及び片方の値の列が入力されたときに、もし一様無作為に選ばれたxに対して、高い確率で両者の違いを判別することできるならば、このアルゴリズムを使ってディフィーヘルマン判別問題を解くことができる。ディフィーヘルマン判別問題とは4個の数値a、b、c、dが与えられたときにlogb=logdかを判別する問題である。この問題はa、b、c、dが十分に大きな時は解くことは不可能とされている。本例ではlogz’=logh’w’かを判別しなければならない。
<模擬された証明履歴と、真の証明履歴を識別できないことの証明>
模擬装置が証明装置を利用することなく、検証装置のみを利用して生成した証明履歴と、証明装置が検証装置と共同で生成した真の証明履歴を計算量的に識別できないことの証明を図4を参照しながら説明する。
【0179】
ディフィーヘルマン事例生成装置GDH400を次のように構成する。
【0180】
ディフィーヘルマン事例生成装置GDH400にはランダムテープrGDH401と領域変数200p、qが入力される。ディフィーヘルマン事例生成装置GDH400はランダムテープrGDH401を利用してGの元α、βと、Z/qZの元θを一様無作為に生成する。
【0181】
の元γ=αθ mod p、δ=βθ mod pを生成する。最後に、事例402α、β、γ、δを出力する。
【0182】
ランダム事例生成装置G403を次のように構成する。
【0183】
ランダム事例生成装置G403にはランダムテープrGRと領域変数200p、qが入力される。ランダム事例生成装置G403は、ランダムテープrGRを利用してGの元の事例402α、β、γ、δを一様無作為に生成し、これらを出力する。
【0184】
ディフィーヘルマン判別問題とは、ディフィーヘルマン事例生成装置GDH400の出力である事例402α、β、γ、δあるいは、ランダム事例生成装置G403の出力である事例α、β、γ、δのどちらかが一様無作為に選ばれて与えられたときに、事例402α、β、γ、δがどちらの生成装置の出力であるかを判別問題生成装置GPR406によって判定する問題である。これを1/2より有意に高い確率で判定することは計算量理論的に難しいとされている。
【0185】
今、Gの元の列である事例402α、β、γ、δ及びランダムテープrGPR405が入力されたとき、判別問題生成装置GPR406は、検証装置207を利用して以下のように証明履歴p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’407を生成する。
(1)判別問題生成装置GPR406は、ランダムテープrGPR405を利用してGの元g、Z/qZの元xを一様無作為に生成する。
(2)判別問題生成装置GPR406は、h=α、z’=β、y=g modpとして、共通入力p、q、g、y、h、z’409を検証装置207に入力する。
(3)判別問題生成装置GPR406は、rGPR405を利用して検証装置207のランダムテープrV410を生成する。
(4)判別問題生成装置GPR406がランダムテープrV410を検証装置207に入力すると、検証装置207はチャレンジコミットメント209を出力する。
(5)判別問題生成装置GPR406は、Gの元h’、w’、v、y’、v’、h’’、w’’411を一様無作為に選んで検証装置207に入力すると、検証装置207は乱数212、チャレンジ211を判別問題生成装置GPR406に出力する。
(6)判別問題生成装置GPR406は、検証装置207をリセットし、(2)と同じp、q、g、y、h、z’409及び(4)と同じランダムテープrV408を検証装置207に入力すると、検証装置207は同じチャレンジコミットメント209を出力する。
(7)判別問題生成装置GPR406は、一様無作為にZ/qZの要素から、リスポンス413を選ぶ。(5)で受け取ったcを利用して、
h’ =γ、
w’ =δ、
v =h’ mod p、
y’ =g−c mod p、
v’ =h’−c mod p、
h’’=hr’h’−c mod p、
w’’=z’r’w’−c mod p、
a=g mod p、を生成する。
【0186】
判別問題生成装置GPR406は、最後に証明履歴
p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’407及び証拠417を出力する。
【0187】
検証装置207の検証手段220は動かさなくて良い。
【0188】
もし、判別問題生成装置GPR406に入力された事例402α、β、γ、δが、ディフィーヘルマン事例生成装置GDH400より出力されたものならば、ランダムテープrGDH401、rGPR405をランダムに選んだときの、判別問題生成装置GPR406の出力する証明履歴及び証拠407、p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’、xの分布は、真の証明装置と検証装置が互いに通信することによって得られる、ランダムテープrG201、rP206、rV208をランダムに選んだときの、証明履歴p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’及びx205の分布と同一になる。
【0189】
もし、判別問題生成装置GPR406に入力された事例402α、β、γ、δが、ランダム事例生成装置G403より出力されたものならば、ランダムテープrGR404、rGPR405をランダムに選んだときの、判別問題生成装置GPR406の出力する証明履歴及び証拠407、p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’、xの分布は、模擬装置300と検証装置207が互いに通信することによって得られる、rG201、rS301をランダムに選んだときの、模擬された証明履歴p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’及び生成装置202の出力する証拠205の分布と同一になる。
【0190】
以上より、仮に真の証明装置P203と検証装置207が互いに通信することによって得られる、証明履歴p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’と、模擬装置300と検証装置207が互いに通信することによって得られる、模擬された証明履歴p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’を識別することができる、証拠205が入力された識別装置112が存在するとする。
【0191】
ならば、ディフィーヘルマン事例生成装置GDH400またはランダム事例生成装置G403のどちらの出力であるか分からない事例402α、β、γ、δの組が与えられたとき、これを判別問題生成装置GPR406に入力して、証明履歴及び証拠407p、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’、xを出力させ、これを識別装置112に入力し、この値の列が真の列か模擬の列かを判別させることにより、事例402α、β、γ、δの組がディフィーヘルマン事例生成装置GDH400またはランダム事例生成装置G403のどちらの出力かを判定することができる。これはディフィーヘルマン判別問題が難しいことと矛盾する。よって、上記のような識別装置112は存在しない。
【0192】
上記理由より、二つの数値の列を識別することは不可能なため、本実施例の証明プロトコルは弱計算量的零知識クラスに属することが証明される。
<零知識証明に属さないことの証明>
本実施例が零知識証明に属さないことを図13を参照しながら証明する。
【0193】
識別装置’1301として、特別な場合に有効な値1302としてあるZ/qZの数x’を準備し、模擬された証明履歴1304または真の証明履歴1305であるp、q、g、h、y、z’、a、b、c、h’、w’、v、y’、v’、h’’、w’’、r、r’、x1303が入力されたとき、
等式z’=hx’ (mod p)かつw’=h’x’ (mod p)であれば、
真の証明システムの出力した履歴であると判断し、
等式z’=hx’ (mod p)かつ不等式w’≠h’x’ (mod p)であれば、模擬された履歴であると判断するとする。この識別装置は生成装置202が、
等式x’=logz’’なるg、y、h、z’を生成した場合には、全てのランダムテープr1306、r1307、r1308、識別装置のランダムテープ1310の場合に対して正しく真/模擬の識別を行うことができる。
【0194】
ここで、生成装置のランダムテープが特別なものに関してのみ識別でき、その他の場合には識別ができないことに注意する。このように、生成装置のたった一つ出力に対しても正しく識別できる識別装置が存在するものは零知識証明ではない。ただし、大多数のlogz’の場合に関して正しく真/模擬を判別する識別装置は存在しないので、弱計算量的零知識証明である。
【0195】
次に第2の実施例について説明する。
[プロトコルの記述]
最初に、証明において検証装置から証明装置へのデータの送信が不要なプロトコルで、余計な知識を漏らさないことが保証された証明システムを、図7を参照しながら説明する。
【0196】
p、qをそれぞれ大きな素数でqはp−1を割りきるとする。1からp−1までの整数を(Z/pZ)とする。
【0197】
(Z/pZ)の要素でq乗してmodpをとると1になるもの全体の集合をGとする。0からq−1までの要素をZ/qZとする。p、qを領域変数700と呼ぶ。
【0198】
ランダムテープr701が入力された生成装置702は、ランダムテープr701利用してGの要素g、h、z’とZ/qZの要素xを一様無作為に生成し、y=g mod pとする。この時Gの元z’は圧倒的な確率で不等式z’≠h (mod p)が成り立つ。
【0199】
証明装置703には共通入力p、q、g、h、y、z’704及び証拠705及びランダムテープrP706が入力される。
【0200】
検証装置707には共通入力p、q、g、h、y、z’704が入力される。検証装置707は検証装置707の持っている情報から
不等式z’≠h (mod p)であることを知ることは現実的には不可能である。
【0201】
証明装置703は検証装置707に不等式z’≠h (mod p)であることを以下の手順で証明する。これは(g、h、y、z’)ディフィーヘルマン事例でないことの証明である。
(1)証明装置703はランダムテープr706を利用してZ/qZの要素d、e、fを一様無作為に選び、コミットメント
h’ =h mod p、
w’ =z’ mod p、
v =hxd mod p、
y’ =g mod p、
v’ =h’ mod p、
h’’=h mod p、
w’’=z’ mod pを計算する。
(2)証明装置703はハッシュ関数Hash()を用いてチャレンジ711c=Hash(p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’)を生成する。
(3)証明装置703は、リスポンス
r=xc+e mod q、
r’=dc+f mod q
を生成する。
(4)証明装置703は、h’、w’、v、y’、v’、h’’、w’’709、r、r’713を検証装置707に送信する。
(5)検証装置707は
c’=Hash(p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’)を生成する。これはチャレンジ711と同じ値になる。
検証装置707は4個の等式
=yc’y’(mod p)、
h’=vc’v’(mod p)、
r’=h’c’h’’(mod p)、
z’r’=w’c’w’’(mod p)と
1個の不等式v≠w’(mod p)が成り立てば、等式y=g mod pであるxに対して
不等式z’≠h (mod p)であることの受理としてOKを出力する。でなければNGを出力する。
【0202】
検証装置707がこのプロトコルから知り得たデータは、検証装置707が証明装置703と無関係に保持しているデータを含めて、p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’である。(但しcはその他の値から計算できる。)
[弱計算量的零知識の証明方法]
<模擬装置が証明装置を使わず検証装置だけ使ってプロトコルを再現する方法>
模擬装置800が証明装置と通信することなく、cをハッシュ値でなく乱数に置き換えたp、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’を生成する方法を、図8を参照しながら説明する。
(1)模擬装置800には領域変数700p、q及び生成装置702の生成したg、h、y、z’及びである共通入力p、q、g、h、y、z’704ランダムテープrS801が入力される。
(2)模擬装置800はランダムテープr801を利用して、一様無作為にGの要素からw’を、Z/qZの要素からi、チャレンジ802、リスポンス803を選ぶ。
さらに、コミットメント
h’=g mod p
v =y mod p
y’=g mod p、
v’=h’ mod p、
h’’=hr’h’ mod p、
w’’=zr’w’ mod p、
を計算する。
【0203】
共通入力p、q、g、h、y、z’は始めからあるので、これと合わせて模擬された証明履歴808p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’として出力する。
<検証者が単独で生成した値の列と、証明者と共同で生成した値の列の違い>
証明者が関わる真のプロトコルとでは、w’はlogz’=logh’w’となるように選ばれるが、検証者が単独で再現したプロトコルではw’は一様無作為に選ばれ、このような等式は成立しない。その他の値の差異は全てこの違いにより生ずる。
【0204】
あるアルゴリズムが存在して、これにi及び片方の値の列が入力されたときに、もし一様無作為に選ばれたxに対して、高い確率で両者の違いを判別することできるならば、このアルゴリズムを使ってディフィーヘルマン判別問題を解くことができる。
【0205】
ディフィーヘルマン判別問題とは4個の数値a、b、c、dが与えられたときにlogb=logdかを判別する問題である。この問題はa、b、c、dが十分に大きな時は解くことは不可能とされている。本例ではlogz’=logh’w’かを判別しなければならない。
<検証者が単独で生成した値の列と、証明者と共同で生成した値の列を判別できないことの証明>
模擬装置が証明装置を利用することなく生成した証明履歴と、証明者が生成した真の証明履歴を計算量的に識別できないことの証明を図9を参照しながら説明する。
【0206】
ディフィーヘルマン事例生成装置GDH900、ランダム事例生成装置G901、ランダムテープrGDR902、rG903、α、β、γ、δ904の定義は実施例1と同じである
の元の列α、β、γ、δ904及びランダムテープrGPR905が入力されたとき、判別問題生成装置GPR906は以下のように証明履歴907p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’と証拠908を生成する。
(1)判別問題生成装置GPR906は、ランダムテープrGPRを利用してGの元g、Z/qZの元である証拠908、チャレンジ910、リスポンス911を一様無作為に生成する。
(2)判別問題生成装置GPR906は、h=α、z’=β、y=g modp、と計算して、共通入力をp、q、g、h、y、z’、証拠をxとする。
(3)判別問題生成装置GPR906は、コミットメント
h’=γ、
w’=δ、
v =h’ mod p、
y’=g−c mod p、
v’=h’−c mod p、
h’’=hr’h’−c mod p、
w’’=z’r’w’−c mod p、
を生成する。
【0207】
最後に証明履歴907p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’及び証拠908を出力する。
【0208】
もしGPR906に入力されたα、β、γ、δ904が、ディフィーヘルマン事例生成装置GDH900より出力されたものならば、ランダムテープrGDH902、rGPR905、cを決定する乱数をランダムに選んだときの、判別問題生成装置GPR906の出力する証明履歴907p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’及びxの分布は、真の証明装置703の出力において、チャレンジ711を乱数に置き換えて得られる、ランダムテープrG、rP及びcを決定する乱数をランダムに選んだときの、証明履歴p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’704、709、711、713及び証拠705の分布と同一になる。
【0209】
もし判別問題生成装置GPR906に入力されたα、β、γ、δ904が、ランダム事例生成装置G901より出力されたものならば、rGR903、rGPR905、及びチャレンジ910を決定する乱数をランダムに選んだときの、判別問題生成装置GPR906の出力する証明履歴907p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’及び証拠908の分布は、模擬装置800によって得られる、rG701、rS801をランダムに選んだときの、証明履歴808p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’及び生成装置702の出力する証拠705の分布と同一になる。
【0210】
以上より、仮に真の証明装置703の出力においてチャレンジ711を乱数に置き換えて得られる証明履歴p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’と、模擬装置800によって得られる、証明履歴p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’を識別することができる、証拠705が入力された識別装置613が存在するとするならば、ディフィーヘルマン事例生成装置GDH900またはランダム事例生成装置G901のどちらの出力であるか分からないα、β、γ、δ904の組が与えられたとき、これを判別問題生成装置GPR906に入力して、証明履歴907p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’及び証拠908を出力させ、これを識別装置613に入力し、この値の列が真の列か模擬の列かを判別させることにより、α、β、γ、δ904の組がディフィーヘルマン事例生成装置GDH900またはランダム事例生成装置G901のどちらの出力かを判定することができる。これはディフィーヘルマン判別問題が難しいことと矛盾する。
【0211】
よって、上記のような識別装置613は存在しない。
【0212】
上記理由より、二つの数値の列を識別することは不可能なため、本実施例の証明プロトコルはハッシュ関数を用いた弱計算量的零知識クラスに属することが証明される。
【0213】
本実施例が零知識証明に属さないことを証明する。
【0214】
識別装置’として、あるZ/qZの数x’を準備し、証明履歴p、q、g、h、y、z’、h’、w’、v、y’、v’、h’’、w’’、c、r、r’、xが入力されたとき、
等式z’=hx’ (mod p)かつ等式w’=h’x’ (mod p)が成り立てば真の証明システムの出力した履歴であると判断し、
等式z’=hx’ (mod p)かつ不等式w’≠h’x’ (mod p)が成り立てば模擬された履歴であると判断するとする。
【0215】
この識別装置は、生成装置が
等式x’=logz’が成り立たないようなg、y、h、z’を生成した場合には、全てのランダムテープr、rの場合に対して正しく真/模擬の識別を行うことができる。このように、生成装置のたった一つ出力に対しても正しく識別できる識別装置が存在するものは零知識証明ではない。ただし、大多数のlogz’の場合に関して正しく真/模擬を識別装置は存在しないので、弱計算量的零知識証明である。
【0216】
【発明の効果】
従来の技術では、証明者が検証者に知識を漏らさないことを保証された安全な証明システムを使いたいならば、零知識証明クラスに属する証明システムを使う必要があった。しかし、本発明の弱計算量的零知識証明クラスに属する証明方法を使えば、零知識証明クラスに属さないプロトコルでも、証明者が検証者に知識を漏らさないことを保証して証明できる効果がある。
【0217】
特に実施例1及び2のプロトコルでは、ディフィーヘルマン事例でないことを証明する方法であり、かつディフィーヘルマン事例でないことの証拠が漏れないことが保証される方法であったが、従来の零知識証明に属する方法より効率的であるという特徴を備えている。
【図面の簡単な説明】
【図1】本発明実施の形態1の生成装置、証明装置、検証装置、模擬装置、模擬装置と通信する検証装置、識別装置の関係を示したブロック図である。
【図2】本発明実施例1の生成装置、証明装置、検証装置の関係を示したブロック図である。
【図3】本発明実施例1の生成装置、模擬装置、検証装置の関係を示したブロック図である。
【図4】本発明実施例1の二つの事例生成装置、判別問題生成装置、検証装置の関係を示したブロック図である。
【図5】本発明実施例2の生成装置、証明装置、検証装置の関係を示したブロック図である。
【図6】本発明実施例2の生成装置、改変した証明装置、模擬装置、識別装置の関係を示したブロック図である。
【図7】本発明実施例2の生成装置、証明装置、検証装置の関係を示したブロック図である。
【図8】本発明実施例2の生成装置、模擬装置の関係を示したブロック図である。
【図9】本発明実施例2の二つの事例生成装置、判別問題生成装置の関係を示したブロック図である。
【図10】本発明実施の形態3の評価者、提示者、被提示者の関係を示したブロック図である。
【図11】本発明実施の形態1の解説で、零知識証明における確率の評価方法を示したフローチャートである。
【図12】本発明実施の形態1の解説で、本発明である弱零知識証明における確率の評価方法を示したフローチャートである。
【図13】本発明実施例1のプロトコルが零知識証明でないことの証明を示したブロック
【符号の説明】
100 生成装置
101 ランダムテープrG
102 固定データ
103 証拠
104 共通入力
105 証明装置
106 検証装置
107 対話データ
108 ランダムテープrV
110 模擬装置
111 証明履歴
112 識別装置
113 ランダムテープrV
115 模擬証明履歴
117 ランダムテープrD
200 領域変数
202 生成装置
201 ランダムテープrG
202 生成装置
203 対話証明装置
204 共通入力
205 証拠
206 ランダムテープrP
207 対話検証装置
208 ランダムテープrV
209 チャレンジコミットメント
211 チャレンジ
212 乱数
214 計算値
218 リスポンス
300 模擬装置
301 ランダムテープrS
302 ランダムテープrV
400 ディフィーヘルマン事例生成装置GDH
401 ランダムテープrGDH
402 事例
403 ランダム事例生成装置G
404 ランダムテープrGR
405 ランダムテープrGPR
406 判別問題生成装置GPR
500 生成装置
501 ランダムテープrG
502 固定データ
503 証拠
504 共通入力
505 証明装置
506 検証装置
507 証明部
508 ハッシュ部
509 交換データ
511 検証部
512 ハッシュ部
515 ランダムテープrP
605 改変証明装置
609 乱数
610 改変証明履歴
611 模擬改変証明履歴
612 模擬装置
613 識別装置
618 交換データ
702 生成装置
705 証拠
800 模擬装置
801 ランダムテープrS
802 チャレンジ
803 リスポンス
808 証明履歴
900 ディフィーヘルマン事例生成装置GDH
901 ランダム事例生成装置G
902 ランダムテープrGDR
906 判別問題生成装置GPR
907 証明履歴
908 証拠
910 チャレンジ
911 リスポンス
1001 評価者端末
1002 記憶装置
1003 提示者端末
1004 ネットワーク
1005 記憶装置
1007 被提示者端末
1009 評価の根拠

Claims (7)

  1. 互いに通信が可能な生成装置と、証明装置と、検証装置と、からなり、証明装置は生成装置が生成した秘密事項である証拠を保有し、前記証拠を証明装置が保有することを検証装置が証明装置と対話することにより検証装置に証明する証明システムであって、
    さらに、生成装置と、検証装置とそれぞれ通信可能な模擬装置と識別装置とを接続して前記証明システムを評価するとき、
    前記各装置には、それぞれランダムなデータが記録されたランダムテープが入力され、
    生成装置は、関係Rと共通入力からでは前記証拠を導出することが困難な数値上の前記関係Rを相互に有する前記共通入力と前記証拠とを前記関係Rをもとに前記ランダムテープから生成し、証明装置と識別装置には、生成された前記共通入力と前記証拠とを入力し、検証装置と模擬装置には、生成された前記共通入力を入力し、
    検証装置は、前記共通入力と自身のランダムテープから入力したデータを使用して証明装置と対話することにより証明装置が前記証拠を有するか否かについての証明受理または証明拒絶を出力し、その結果、検証装置が入力したランダムテープのデータと証明装置との対話による対話データとを含む証明履歴を生成し、
    模擬装置は、前記共通入力と自身に入力されるランダムテープを使用して検証装置にランダムテープを入力し検証装置と対話することで証明装置と検証装置による対話を証明装置を使用せずに模擬し、その結果、模擬装置が検証装置に入力したランダムテープのデータと模擬された対話データとを含む模擬証明履歴を生成し、
    データの分布の相違を識別する識別装置は、生成装置から同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において、計算量理論的に識別不可能であり、かつ、確率的に無視できる少数の前記共通入力の場合においては、その相違を計算量理論的に識別可能である
    と評価することを特徴とする証明システム。
  2. 互いに通信が可能な生成装置と、証明装置と、検証装置と、模擬装置と、識別装置と、からなり、証明装置は、生成装置が生成した秘密事項である証拠を保有し、証明装置が前記証拠を保有することを検証装置が証明装置と対話することにより検証装置に証明する証明システムを模擬装置と識別装置を前記証明システムに接続して評価する評価システムであって、
    前記各装置には、それぞれランダムなデータが記録されたランダムテープが入力され、
    生成装置は、関係Rと共通入力からでは前記証拠を導出することが困難な数値上の前記関係Rを相互に有する前記共通入力と前記証拠とを前記関係Rをもとに前記ランダムテープから生成し、証明装置と識別装置には、生成された前記共通入力と前記証拠とを入力し、検証装置と模擬装置には、生成された前記共通入力を入力し、
    検証装置は、前記共通入力と自身のランダムテープから入力したデータを使用して証明装置と対話することにより証明装置が前記証拠を有するか否かについての証明受理または証明拒絶を出力し、その結果、検証装置が入力したランダムテープのデータと証明装置との対話による対話データとを含む証明履歴を生成し、
    模擬装置は、前記共通入力と自身に入力されるランダムテープを使用して検証装置にランダムテープを入力し検証装置と対話することで証明装置と検証装置による対話を証明装置を使用せずに模擬し、その結果、模擬装置が検証装置に入力したランダムテープのデータと模擬された対話データとを含む模擬証明履歴を生成し、
    データの分布の相違を識別する識別装置は、同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において計算量理論的に識別不可能であるか否かの評価を行ない、評価と評価の根拠を評価結果として記憶装置に記憶するとともに、前記証明システムの前記評価結果を公開することを特徴とする評価システム。
  3. 互いに通信が可能な生成装置と、証明装置と、検証装置と、からなり、前記生成装置が生成した秘密事項である証拠を前記証明装置は保有し、前記証拠を証明装置が保有することを検証装置が証明装置と対話することにより検証装置に証明する証明システムであって、
    さらに、生成装置と、検証装置と通信可能な模擬装置と識別装置とを接続して前記証明システムを評価するとき、
    前記各装置には、それぞれランダムなデータが記録されたランダムテープが入力され、
    生成装置は、関係Rと共通入力からでは前記証拠を導出することが困難な数値上の前記関係Rを相互に有する前記共通入力と前記証拠とを前記関係Rをもとに前記ランダムテープから生成し、証明装置と識別装置には、生成された前記共通入力と前記証拠とを入力し、検証装置と模擬装置には、生成された前記共通入力を入力し、
    証明装置は、証明部とハッシュ部からなり、証明部は、検証装置またはハッシュ部にデータを送信し、ハッシュ部は、証明部から送られるデータのハッシュ値を計算して結果を証明部に返し、証明部とハッシュ部のデータの送受信により証明部とハッシュ部との対話データが生成され、前記対話データのうちハッシュ部から証明部に送られるデータをランダムなデータに変更した場合、ランダムなデータに変更された対話データと証明装置から検証装置に送付されるデータとからなる証明履歴と、
    模擬装置は、証明装置と検証装置による対話を、証明装置を使用せず前記共通入力と自身に入力されるランダムテープとから模擬し、その結果、模擬された対話データを含む模擬証明履歴を生成し、
    データの分布の相違を識別する識別装置は、生成装置から同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において、計算量理論的に識別不可能であり、かつ、確率的に無視できる少数の前記共通入力の場合においては、その相違を計算量理論的に識別可能である
    と評価することを特徴とする証明システム。
  4. 互いに通信が可能な生成装置と、証明装置と、検証装置と、模擬装置と、識別装置と、からなり、証明装置は、生成装置が生成した秘密事項である証拠を保有し、証明装置が前記証拠を保有することを検証装置が証明装置と対話することにより検証装置に証明する証明システムを模擬装置と識別装置を前記証明システムに接続して評価する評価システムであって、
    前記各装置には、それぞれランダムなデータが記録されたランダムテープが入力され、
    生成装置は、関係Rと共通入力からでは前記証拠を導出することが困難な数値上の前記関係Rを相互に有する前記共通入力と前記証拠とを前記関係Rをもとに前記ランダムテープから生成し、証明装置と識別装置には、生成された前記共通入力と前記証拠とを入力し、検証装置と模擬装置には、生成された前記共通入力を入力し、
    証明装置は、証明部とハッシュ部からなり、証明部は、検証装置またはハッシュ部にデータを送信し、ハッシュ部は、証明部から送られるデータのハッシュ値を計算して結果を証明部に返し、証明部とハッシュ部のデータの送受信により証明部とハッシュ部との対話データが生成され、前記対話データのうちハッシュ部から証明部に送られるデータをランダムなデータに変更した場合、ランダムなデータに変更された対話データと証明装置から検証装置に送付されるデータとからなる証明履歴と、
    模擬装置は、証明装置と検証装置による対話を、証明装置を使用せず前記共通入力と自身に入力されるランダムテープとから模擬し、その結果、模擬された対話データを含む模擬証明履歴を生成し、
    データの分布の相違を識別する識別装置は、同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において計算量理論的に識別不可能であるか否かの評価を行ない、評価と評価の根拠を評価結果として記憶装置に記憶するとともに、前記証明システムの前記評価結果を公開することを特徴とする評価システム。
  5. 請求項1または請求項3において、識別装置をどのような識別装置に置き換えても、置き換えられた識別装置は、生成装置から同じ前記共通入力を入力して生成された前記証明履歴と前記模擬証明履歴のデータの分布上の相違について、確率的に1に近似される大多数の前記共通入力の場合において、計算量理論的に識別不可能であり、かつ、確率的に無視できる少数の前記共通入力の場合においては、その相違を計算量理論的に識別可能である
    と評価することを特徴とする証明システム。
  6. 請求項2または請求項4において、識別装置は、
    インターネットまたは電話回線を含むネットワークを通じて、前記証明システムの評価結果を送信することを特徴とする評価システム。
  7. 互いに通信が可能な生成装置と、証明装置と、検証装置と、からなり、証明装置は生成装置が生成した秘密事項である証拠を保有し、前記証拠を証明装置が保有することを検証装置が証明装置と対話することにより検証装置に証明するディフィーヘルマン事例でないことの証明システムであって、
    生成装置と証明装置と検証装置にそれぞれランダムなデータを記録したランダムテープと群を特定する値が入力され、
    生成装置は自身に入力されたランダムなデータから、前記群の要素g、h、z’と整数xを入力し、共通入力をg、h、y=g、z’、証拠をxとして生成し、生成装置から証明装置に、前記共通入力と前記証拠を入力し、
    生成装置から前記検証装置に、前記共通入力を入力し、
    検証装置は、前記共通入力と自身のランダムテープから入力したデータを使用して証明装置と対話することによりその結果として証明装置が前記証拠を有するか否かについての証明受理または証明拒絶を出力するものであって、
    対話を開始した以降には、
    (1)検証装置は、ランダムテープから前記群の位数より小さい数である整数bと、チャレンジcとを無作為に選び、チャレンジコミットメントa=gを生成し前記証明装置に送り、
    (2)証明装置は、ランダムテープを利用して前記群の位数より小さいある整数d、e、fを一様無作為に選び、
    h’=h
    w’=z’
    v =hxd
    y’=g
    v’=h’
    h’’=h
    w’’=z’を計算し、
    検証装置にh’、w’、v、y’、v’、h’’、w’’を送信し、
    (3)検証装置は前記整数b、cを証明装置に送り、
    (4)証明装置は、受信した前記整数b、cからa=gを確認し、この式が成り立たなかった場合は、プロトコルを中止し、成り立てば対話を続行し、
    (5)証明装置は、前記整数d、e、fと前記証拠を用いて、リスポンス
    r =xc+e mod (群の位数)、
    r’=dc+f mod (群の位数)を計算して検証装置に送り、
    (6)検証装置は、証明装置から受け取った前記h’、w’、v、y’、v’、h’’、w’’と、前記r、r’と、前記チャレンジc、前記共通入力p、q、g、h、y、z’を用いて4個の等式と1個の不等式
    =yy’、
    h’=vv’、
    r’=h’h’’、
    z’r’=w’w’’、
    v≠w’mod p
    を確認し、全て成り立てば証明受理を、1つでも成り立たなければ証明拒絶を出力する
    ことを特徴とする証明システム。
JP2002341112A 2002-11-25 2002-11-25 証明システムと評価システム Expired - Fee Related JP4306232B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002341112A JP4306232B2 (ja) 2002-11-25 2002-11-25 証明システムと評価システム
US10/718,663 US7536551B2 (en) 2002-11-25 2003-11-24 Weakly computational zero-knowledge proof and evaluation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002341112A JP4306232B2 (ja) 2002-11-25 2002-11-25 証明システムと評価システム

Publications (2)

Publication Number Publication Date
JP2004179766A JP2004179766A (ja) 2004-06-24
JP4306232B2 true JP4306232B2 (ja) 2009-07-29

Family

ID=32500718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002341112A Expired - Fee Related JP4306232B2 (ja) 2002-11-25 2002-11-25 証明システムと評価システム

Country Status (2)

Country Link
US (1) US7536551B2 (ja)
JP (1) JP4306232B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4771053B2 (ja) * 2005-05-27 2011-09-14 日本電気株式会社 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム
JP2007028447A (ja) * 2005-07-20 2007-02-01 Toshiba Corp 暗号プロトコル安全性検証装置、暗号プロトコル設計装置、暗号プロトコル安全性検証方法、暗号プロトコル設計方法、暗号プロトコル安全性検証プログラムおよび暗号プロトコル設計プログラム
JP4940592B2 (ja) * 2005-08-11 2012-05-30 日本電気株式会社 否認可能零知識対話証明に適用される証明装置及び検証装置
WO2010067820A1 (ja) * 2008-12-11 2010-06-17 日本電気株式会社 ゼロ知識証明システム、ゼロ知識証明装置、ゼロ知識検証装置、ゼロ知識証明方法およびそのプログラム
FR3018378A1 (fr) * 2014-03-12 2015-09-11 Enrico Maim Systeme et procede transactionnels a architecture repartie fondees sur des transactions de transferts d'unites de compte entre adresses
FR3059802B1 (fr) * 2016-12-07 2018-11-09 Safran Identity & Security Procede de generation d'une signature electronique d'un document associe a un condensat
CN112632636B (zh) * 2020-12-23 2024-06-04 深圳前海微众银行股份有限公司 一种密文数据比较结果的证明与验证方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6011848A (en) * 1994-03-07 2000-01-04 Nippon Telegraph And Telephone Corporation Method and system for message delivery utilizing zero knowledge interactive proof protocol
JP3562262B2 (ja) * 1997-10-17 2004-09-08 富士ゼロックス株式会社 認証方法および装置
JP4181724B2 (ja) 2000-03-03 2008-11-19 日本電気株式会社 証明付再暗号シャッフル方法と装置、再暗号シャッフル検証方法と装置、入力文列生成方法と装置及び記録媒体

Also Published As

Publication number Publication date
JP2004179766A (ja) 2004-06-24
US20040117630A1 (en) 2004-06-17
US7536551B2 (en) 2009-05-19

Similar Documents

Publication Publication Date Title
CN111886831A (zh) 用于实现零知识证明的计算机实现的系统及方法
JP5790319B2 (ja) 署名検証装置、署名検証方法、プログラム、及び記録媒体
US20070101138A1 (en) Cryptographic methods, host system, trusted platform module, computer arrangement, computer program product and computer program
Damgård et al. Unclonable group identification
JP6069852B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN113159762A (zh) 基于Paillier和博弈论的区块链交易方法
JP5790287B2 (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
Bouaziz-Ermann et al. Lattice-based (partially) blind signature without restart
Kim et al. Practical dynamic group signature with efficient concurrent joins and batch verifications
JP4306232B2 (ja) 証明システムと評価システム
JP5790291B2 (ja) 情報処理装置、署名提供方法、署名検証方法、プログラム、及び記録媒体
JP4772965B2 (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
JP5790286B2 (ja) 情報処理装置、署名生成装置、情報処理方法、署名生成方法、及びプログラム
TW201325180A (zh) 資訊處理裝置、署名生成裝置、署名驗證裝置、資訊處理方法、署名生成方法及署名驗證方法
CN114978622A (zh) 一种基于区块链和零知识证明的匿名凭证验证方法及系统
Guo et al. Foundations of security reduction
Bitansky et al. Weakly extractable one-way functions
Xu et al. Universally composable zero-knowledge sets
KR100676460B1 (ko) 2의 거듭제곱과 동등한 공개 지수를 이용한 엔티티 인증성및/또는 메시지의 무결성 검증방법
Jiang et al. Biometric-based two-factor authentication scheme under database leakage
Arnal i Clemente et al. How to avoid repetitions in lattice-based deniable zero-knowledge proofs
JPH04177563A (ja) 利用者認証方式
KR20210065809A (ko) 영지식-스나크 기반의 증명 서비스를 지원하기 위한 프로토콜 관리 서버 및 그 동작 방법
CN118157874A (zh) 一种签名方法和装置
JP2013047727A (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051017

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070115

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080610

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090427

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4306232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140515

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees