JP4457651B2 - 証明装置及び証明方法並びにプログラム - Google Patents

証明装置及び証明方法並びにプログラム Download PDF

Info

Publication number
JP4457651B2
JP4457651B2 JP2003397159A JP2003397159A JP4457651B2 JP 4457651 B2 JP4457651 B2 JP 4457651B2 JP 2003397159 A JP2003397159 A JP 2003397159A JP 2003397159 A JP2003397159 A JP 2003397159A JP 4457651 B2 JP4457651 B2 JP 4457651B2
Authority
JP
Japan
Prior art keywords
product
raised
power
commitment
challenge
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
JP2003397159A
Other languages
English (en)
Other versions
JP2005159826A (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 JP2003397159A priority Critical patent/JP4457651B2/ja
Priority to US10/995,478 priority patent/US7567672B2/en
Publication of JP2005159826A publication Critical patent/JP2005159826A/ja
Application granted granted Critical
Publication of JP4457651B2 publication Critical patent/JP4457651B2/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • 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/3247Cryptographic 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 involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)

Description

本発明は、自分が生成していない電子署名に対しては否認できるが、自分が生成した電子署名ならば否認することができないと言う性質を持つ、否認不可署名等で使われる、離散対数の不一致を零知識証明する技術に関する。
Chaumが提案した否認不可署名方式がある。この方式では、mod p上の位数qの群G(p,qは素数であり、q|(p-1)という関係)の演算体系を利用している。署名者は群Gの元y=gxと群Gの生成元gを公開鍵とし、xを秘密鍵とする。メッセージmに対する署名は、秘密鍵xを用いてSIG=mxにより計算する。(m,SIG)に対して、SIG=mx'の底mに対する離散対数x'が公開鍵のy=gxのgに対する離散対数xに等しいことを示すことにより、この署名の正当性を示すことができる。また(m,SIG')に対してSIG'≠mxであれば、この署名が偽造されたものであることが示せる。
このようにして、このような署名システムにおいて指定された演算体系において入力された数α(上記例ではy)およびβ(上記例ではSIG)が、あらかじめ指定された2つの異なる底g,mを用いて、αの第一の底gにおける離散対数と、βの第二の底mにおける離散対数が等しい、あるいは異なることを示す証明機構と、それを確認する検証機構が必要となる。
[従来の技術(1)]
従来のSIG'=mxあるいはSIG'≠mxであることを検証者に証明するプロトコルとして、チャウム(Chaum)による方式がある(例えば、非特許文献1参照)。しかし、この不一致を示す証明方式は、検証者が存在して初めて成り立つ証明方式であるので、証明者だけが単独で証明を生成することはできない。また証明者と検証者が行うべき計算の量が多いという問題を持つ。
この従来技術の概要を図5を参照しながら説明する。p,qをq|(p-1)なる関係を満たす十分に大きな二つの素数、xをZ/qZの元、g,m,zを位数qの(Z/pZ)*の部分群Gqの元とする。但しz≠mx mod pとし、kを適当な大きさの定数とする。
証明者500には、公開情報格納手段502に格納されたp,q,g,gx,m,zと秘密情報格納手段501に格納されたxとが与えられ、検証者550には公開情報格納手段551に格納されたp,q,g,gx,m,z≠mxが与えられたとする。証明者500は、検証者550にz≠mxであることをxを示さずに証明する。
検証者550は、乱数発生手段552を使用して、一様無作為にk以下の自然数sと、Z/qZの要素aを選び、
c[1]=msga mod p,c[2]=zs(gx)a mod p
を計算し(処理553)、c[1]とc[2]を証明者500に送付する(処理554)。
証明者500は、c[1]x/c[2]=(mx/z)s' mod pとなるようなs'を1からkまでの値から探し出す(処理504)。証明者500は、検証者550が正直に振る舞っており且つz≠mxである限り、一意的なs'を見つけ出す。z=mx mod pである場合は、如何なるs'でも上記式を満たすため、検証者550が選んだsと一致する確率は1/kにしかならない。証明者500は、乱数発生手段503を使用して乱数rを生成し、これを用いてs'のコミットメントcommit(r,s')を計算し(処理506)、これを検証者に送る(処理505)。
検証者550は、cimmit(r,s')を受け取ったら、aを証明者500に送り返す(処理554,555) 。
証明者500は、
c[1]=ms'ga mod p, c[2]=zs'(gx)a mod p
が成り立つことを確認したら、rを検証者に送る(処理507,508)。
検証者550は、s'とsが一致するか否かを判定する(処理556)。一致すれば、証明者500の証明を正当と見なして受理を、もし異なれば証明者500の証明を不当と見なして不受理を出力する(処理557)。
上記証明を十分な数繰り返す。この繰り返しにより、証明者500が検証者550を欺ける確率を十分に小さくすることができる。
[従来の技術(2)]
また、ミッシェルス(Michels)と(スタッドラー)Stadlerは、二つの離散対数の不一致の場合も証明できる証明方式を提案している(例えば、非特許文献2参照)。
「ゼロノウレッジ アンディナイアブル シグネチャーズ, アドバンス イン クリプトロジー、プロシーディング オブ ユーロクリプト 1990、エルエヌシーエス 473、シュプリンガー フェアラーグ、458ページから464ページまで、1991年(Zero-knowledge undeniable signatures, Advance in Cryptology, Proceeding of Eurocrypt' 1990, LNCS473, Springer -Verlag, pp. 458-464, 1991)」 「エフィシエント コンバーティブル アンディナイアブル シグネチャー スキームズ, プロシーディング オブ フォース アニュアル ワークショップ オン セレクティド エーリアズ イン クリプトグラフィー, エスエイーシー97, 1997年8月( Efficient convertible undeniable signature schemes Proceeding of 4th Annual Workshop on Selected Areas in Cryptography, SAC'97, August, 1997)」
上述した非特許文献1に記載されている従来の技術は、c[1]x/c[2]=(mx/z)s' mod pとなるようなs'を、1からkまでの値から探し出す処理を行うことが必要になるため、効率が悪い。即ち、上記条件を満たすs'を探し出すためには、s'の値を変化させ、変化後の値が上記条件を満たしているか否かを判定するという処理を、上記条件を満たすs'を探し出すまで繰り返し行わなければならないため、効率が悪い。また、この従来の技術は、検証者が乱数sを生成する必要があるため、検証者から証明者への通信を行わずに証明することは不可能である。
一方、非特許文献2に記載されている従来の技術によれば、証明者が単独で証明することもできる。しかしながら、この従来の技術は、重要な情報を漏らしているという不備がある。具体的には、mxという情報が検証者の知るところとなり、「mに対して署名していない」ということを示した結果、mに対する署名をみすみす渡してしまうという矛盾した状況が生じる。
〔発明の目的〕
そこで、本発明の目的は、効率的に離散対数の不一致を証明できるようにすることにある。
本発明にかかる第1の証明装置は、効率的に離散対数の不一致を証明できるようにするため、
有限群が指定されており、この群の4個の要素a,b,c,d及びbのaを底にする離散対数xが入力され、bのaを底にする離散対数とdのcを底にする離散対数とが異なることを示す証明機構と、それを確認する検証機構とから成り立つ証明装置であって、
前記証明機構が、
前記群の要素a,b,c及びdを格納する証明側公開情報格納手段と、
bのaを底とする離散対数を格納する秘密情報格納手段と、
乱数β,γ,δを発生する乱数発生手段と、
前記β,γ,δを用いて、α=γ+x(δ-β)と、前記aをα乗したものと前記bをβ乗したものとの積であるeと、前記cをα乗したものと前記dをβ乗したものとの積であるgと、前記cをγ乗したものと前記dをδ乗したものとの積であるhとを生成し、前記e,g,hを前記検証機構に対して出力する変数変換手段と、
前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を出力できることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を出力することができることとを、前記検証機構に対して、α''、β''、γ''、δ''を直接示すことなく証明する知識の証明手段とを備え、
前記検証機構が、
前記群の要素a,b,c及びdを格納する検証側公開情報格納手段と、
前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を前記証明機構が出力することができることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を前記証明機構が出力することができることとを検証する知識の検証手段と、
前記gとhとが異なることを確認する不一致の検証手段と備えたことを特徴とする。
本発明にかかる第2の証明装置は、効率的に離散対数の不一致を証明できるようにするため、第1の証明装置において、
前記知識の証明手段が、
前記乱数発生手段で発生させた乱数を用いてコミットメントを生成し、このコミットメントを前記検証機構に送付するコミットメント生成手段と、
前記コミットメントの送付後に前記検証機構より送付されたチャレンジと、前記コミットメント生成時に用いた乱数とよりリスポンスを生成し、このリスポンスを前記検証機構に送付するリスポンス生成手段とを備え、
前記知識の検証手段が、
乱数を発生させる検証側乱数発生手段と、
証明機構よりコミットメントを送付された後、前記検証側乱数発生手段で発生させた乱数を用いてチャレンジを生成し、このチャレンジを前記証明機構に送付するチャレンジ生成手段と、
前記チャレンジの送付後に前記証明機構より送付されたリスポンスと、前記コミットメントと、前記チャレンジとを用いて証明を受理するか拒否するかを判定する判定手段とを備えたことを特徴とする。
本発明にかかる第3の証明装置は、効率的に離散対数の不一致を証明できるようにするため、第2の証明装置において、
前記コミットメント生成手段が、
前記乱数発生手段で発生させた乱数X1'、Y1'を使用して、第1のコミットメントE1'=aX1'Y1'及び第2のコミットメントF1'=cX1'Y1'を生成し、該生成した第1のコミットメントE1'及び第2のコミットメントF1'を前記検証機構に送付する構成を有すると共に、前記乱数発生手段で発生させた乱数X2'、Y2'を使用して、第3のコミットメントE2'=aX2'Y2'及び第4のコミットメントF2'=cX2'2''を生成し、該生成した第3のコミットメントE2'及び第4のコミットメントF2'を前記検証機構に送付する構成を有し、
前記チャレンジ生成手段が、
前記検証側乱数発生手段で発生させた乱数S1を、前記第1及び第2のコミットメントE2',F2'に対するチャレンジとして前記証明機構に送信する構成を有すると共に、前記検証側乱数発生手段で発生させた乱数S2を、前記第3及び第4のコミットメントE2',F2'に対するチャレンジとして前記証明機構に送信する構成を有し、
前記リスポンス生成手段が、
第1のリスポンスR〔1〕=S1α+X1'及び第2のリスポンスR〔2〕=S1β+Y1'を生成し、該生成した第1及び第2のリスポンスR〔1〕,R〔2〕を前記検証機構へ送信する構成を有すると共に、第3のリスポンスR〔3〕=S2γ+X2'及び第4のリスポンスR〔4〕=S2δ+Y2'を生成し、該生成した第3及び第4のリスポンスR〔3〕,R〔4〕を前記検証機構へ送信する構成を有し、
前記判定手段が、
S1E1'=aR〔1〕R〔2〕,fS1F1'=cR〔1〕R〔2〕,eS2E2'=aR〔3〕R〔4〕及びfS2F2'=cR〔3〕R〔4〕が全て満たされているか否かに基づいて受理するか否かを判定する構成を有することを特徴とする。
本発明にかかる第4の証明装置は、効率的に離散対数の不一致を証明できるようにするため、第1の証明装置において、
前記知識の証明手段が、
前記検証機構よりチャレンジコミットメントを受け取った後に、前記乱数発生手段で発生させた乱数を用いてコミットメントを生成し、このコミットメントを前記検証機構に送付するコミット生成手段と、
前記検証機構からのチャレンジコミットメントとチャレンジ証拠とよりチャレンジが正当であるか否かを検証し、前記コミットメントの送付後に、正当であることを検証することができたチャレンジと、前記コミットメント生成時に用いた乱数とよりリスポンスを生成し、このリスポンスを前記検証機構に送付するリスポンス生成手段とを備え、
前記知識の検証手段が、
乱数を発生させる検証側乱数発生手段と、
該検証側乱数発生手段で発生させた乱数を用いてチャレンジ、チャレンジ証拠及びチャレンジコミットメントを生成し、前記チャレンジコミットメントを証明機構に送付するチャレンジコミット生成手段と、
前記証明機構よりコミットメントを送付された後、前記チャレンジ及び前記チャレンジ証拠を前記証明機構に送付するチャレンジ開放手段と、
前記チャレンジの送付後に前記証明機構より送付されたリスポンスと、前記コミットメントと、前記チャレンジとを用いて検証を受理するか拒否するかを判定する判定手段とを備えたことを特徴とする。
本発明にかかる第5の証明装置は、効率的に離散対数の不一致を証明できるようにするため、第4の証明装置において、
前記チャレンジコミットメント生成手段が、
前記検証側乱数発生手段を用いて第1のチャレンジS1及び第1のチャレンジ証拠S1'を生成し、更に、前記第1のチャレンジS1及び第1のチャレンジ証拠S1'と、前記証明機構から送られてきている第1及び第2の乱数G1,H1とに基づいて第1のチャレンジコミットメントS1''=G1S1H1S1'を生成し、該第1のチャレンジコミットメントS1''を前記証明機構に送付する構成を有すると共に、前記検証側乱数発生手段を用いて第2のチャレンジS2及び第2のチャレンジ証拠S2'を生成し、更に、前記第2のチャレンジS2及び第2のチャレンジ証拠S2'と、前記証明機構から送られてきている第3及び第4の乱数G2,H2とに基づいて第2のチャレンジコミットメントS2''=G2S2H2S2'を生成し、該第2のチャレンジコミットメントS2''を前記証明機構に送付する構成を有し、
前記コミットメント生成手段が、
前記乱数発生手段で生成した乱数X1',Y1'を使用して第1のコミットメントE1'=aX1'Y1'及び第2のコミットメントF1'=cX1'Y1'を作成して前記検証機構に送付する構成を有すると共に、前記乱数発生手段で生成した乱数X2',Y2'を使用して第3のコミットメントE2'=aX2'Y2'及び第4のコミットメントF2'=cX2'Y2'を作成して前記検証機構に送付する構成を有し、
前記チャレンジ開放手段が、
前記第1のコミットメントE1'及び第2のコミットメントF1'を受信後、前記第1のチャレンジS1及び第1のチャレンジ証拠S1'を前記証明機構に送信する構成を有すると共に、前記第3のコミットメントE2'及び第4のコミットメントF2'を受信後、前記第2のチャレンジS2及び第2のチャレンジ証拠S2'を前記証明機構に送信する構成を有し、
前記リスポンス生成手段が、
S1''=G1S1H1S1'が成り立つことを確認したら、第1のリスポンスR〔1〕=S1α+X1'及び第2のリスポンスR〔2〕=S1β+Y1'を生成して前記検証機構に送信する構成を有すると共に、S2''=G2S2H2S2'が成り立つことを確認したら、第3のリスポンスR〔3〕=S2γ+X2'及び第4のリスポンスR〔4〕=S2δ+Y2'を生成して前記検証機構に送信する構成を有し、
前記判定手段が、eS1E1'=aR〔1〕R〔2〕、gS1F1'=cR〔1〕R〔2〕、eS2E2'=aR〔3〕R〔4〕及びhS2F2'=cR〔3〕R〔4〕が全て満たされているか否かに基づいて受理するか否かを判定する構成を有することを特徴とする。
本発明にかかる第6の証明装置は、検証機構から証明機構への通信を行うことなく、効率的に離散対数の不一致を証明できるようにするため、第1の証明装置において、
前記知識の証明手段が、
前記乱数発生手段で発生させた乱数を用いてコミットメントを生成するコミットメント生成手段と、
該コミットメント生成手段で生成したコミットメントを含むデータのハッシュ値を計算することにより自動チャレンジを生成する自動チャレンジ生成手段と、
前記自動チャレンジと、前記コミットメント生成時に用いた乱数とよりリスポンスを生成し、該リスポンスと前記コミットメントとを前記検証機構に送るリスポンス生成手段とを備え、
前記知識の検証手段が、
前記証明機構よりコミットメントを送付された後、ハッシュ関数を用いて自動チャレンジを生成する自動チャレンジ復元手段と、
前記送付されたリスポンスと、前記送付されたコミットメントと、前記自動チャレンジ復元手段で生成された前記自動チャレンジとを用いて証明を受理するか拒否するかを判定する判定手段とを備えたことを特徴とする。
本発明にかかる第7の証明装置は、検証機構から証明機構へ通信を行うことなく、効率的に離散対数の不一致を証明できるようにするため、第6のの証明装置において、
前記コミットメント生成手段が、
前記乱数発生手段で生成した乱数X1',Y1'を用いて、第1のコミットメントE1'=aX1'Y1'及び第2のコミットメントF1'=cX1'Y1'を生成する構成を有すると共に、前記乱数発生手段で生成した乱数X2',Y2'を用いて、第3のコミットメントE2'=aX2'Y2'及び第4のコミットメントF2'=cX2'Y2'を生成する構成を有し、
前記自動チャレンジ生成手段が、
ハッシュ関数H(・)を使用して第1の自動チャレンジS1=H(a,b,c,d,e,g,E1',F1')及び第2の自動チャレンジS2=H(a,b,c,d,e,h,E2',F2')を生成する構成を有し、
前記リスポンス生成手段が、
第1のリスポンスR〔1〕=S1α+X1'及び第2のリスポンスR〔2〕=S1β+Y1'を生成し、該第1及び第2のリスポンスR〔1〕,R〔2〕と前記第1及び第2のコミットメントE1',F1'とを前記検証機構に送信する構成を有すると共に、第3のリスポンスR〔3〕=S2γ+X2'及び第4のリスポンスR〔4〕=S2δ+Y2'を生成し、該第3及び第4のリスポンスR〔3〕,R〔4〕と前記第3及び第4のコミットメントE2',F2'とを前記検証機構に送信する構成を有し、
前記自動チャレンジ復元手段が、
第3の自動チャレンジS1'=H(a,b,c,d,e,g,E1',F1')及び第4の自動チャレンジS2'=H(a,b,c,d,e,h,E2',F2')を生成する構成を有し、
前記判定手段が、
S1'E1'=aR〔1〕R〔2〕、fS1'F1'=cR〔1〕R〔2〕、eS2'E2'=aR〔3〕R〔4〕及びfS2'F2'=cR〔3〕R〔4〕が全て満たされているか否かに基づいて受理するか否かを判定する構成を有することを特徴とする。
本発明にかかる第1の証明方法は、効率的に離散対数の不一致を証明できるようにするため、
有限群が指定されており、この群の4個の要素a,b,c,d及びbのaを底にする離散対数xが入力され、bのaを底にする離散対数とdのcを底にする離散対数とが異なることを証明する機構と、それを確認する検証機構とを備えた証明装置における証明方法であって、
前記証明機構が、
乱数β,γ,δを発生する乱数発生ステップと、
前記β,γ,δを用いて、α=γ+x(δ-β)と、前記aをα乗したものと前記bをβ乗したものとの積であるeと、前記cをα乗したものと前記dをβ乗したものとの積であるgと、前記cをγ乗したものと前記dをδ乗したものとの積であるhとを生成し、前記e,g,hを前記検証機構に対して出力する変数変換ステップと、
前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を出力できることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を出力することができることとを、前記検証機構に対して、α'',β'',γ'',δ''を直接示すことなく証明する知識の証明ステップとを実行し、
前記検証機構が、
前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を前記証明機構が出力することができることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を前記証明機構が出力することができることとを検証する知識の検証ステップと、
前記gとhとが異なることを確認する不一致の検証ステップとを実行することを特徴とする。
本発明にかかる第1のプログラムは、効率的に離散対数の不一致を証明できるようにするため、
有限群が指定されており、この群の4個の要素a,b,c,d及びbのaを底にする離散対数xが入力され、bのaを底にする離散対数とdのcを底にする離散対数とが異なることを示す証明機構と、
前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を前記証明機構が出力することができることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を前記証明機構が出力することができることとを検証する知識の検証手段、および前記gとhとが異なることを確認する不一致の検証手段とを備えた検証機構とから構成される証明装置の構成要素である証明機構をコンピュータによって実現するためのプログラムであって、
前記コンピュータを、
乱数β,γ,δを発生する乱数発生手段、
前記β,γ,δを用いて、α=γ+x(δ-β)と、前記aをα乗したものと前記bをβ乗したものとの積であるeと、前記cをα乗したものと前記dをβ乗したものとの積であるgと、前記cをγ乗したものと前記dをδ乗したものとの積であるhとを生成し、前記e,g,hを前記検証機構に対して出力する変数変換手段、
前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を出力できることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を出力することができることとを、前記検証機構に対して、α'',β'',γ'',δ''を直接示すことなく証明する知識の証明手段として機能させる。
本発明にかかる第2のプログラムは、効率的に離散対数の不一致を証明できるようにするため、
有限群が指定されており、この群の4個の要素a,b,c,d及びbのaを底にする離散対数xが入力され、bのaを底にする離散対数とdのcを底にする離散対数とが異なることを示す証明機構であって、前記群の要素a,b,c及びdを格納する証明側公開情報格納手段と、bのaを底とする離散対数を格納する秘密情報格納手段と、乱数β,γ,δを発生する乱数発生手段と、前記β,γ,δを用いて、α=γ+x(δ-β)と、前記aをα乗したものと前記bをβ乗したものとの積であるeと、前記cをα乗したものと前記dをβ乗したものとの積であるgと、前記cをγ乗したものと前記dをδ乗したものとの積であるhとを生成し、前記e,g,hを前記検証機構に対して出力する変数変換手段と、前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を出力できることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を出力することができることとを、前記検証機構に対して、α'',β'',γ'',δ''を直接示すことなく証明する知識の証明手段とを備えた証明機構と、検証機構とから構成される証明装置の構成要素である前記検証機構をコンピュータによって実現するためのプログラムであって、
前記コンピュータを、
前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を前記証明機構が出力することができることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を前記証明機構が出力することができることとを検証する知識の検証手段、
前記gとhとが異なることを確認する不一致の検証手段として機能させる。
本発明にかかる第1〜第5の証明装置、第1の証明方法および第1、第2のプログラムは、効率的に離散対数の不一致を証明できるという効果を有する。その理由は、乱数を利用して離散対数の不一致を証明するようにしており、非特許文献1に記載されている従来の技術のように、所定の条件を満たす値を逐一探し出すといった処理が不要になるからである。
本発明にかかる第6、第7の証明装置は、検証機構から証明機構へ通信を行うことなく(証明機構が単独で)、効率的に離散対数の不一致を証明できるという効果を有する。その理由は、自動チャレンジ生成手段、自動チャレンジ復元手段を備えているからである。
次に本発明の実施の形態について図面を参照して詳細に説明する。なお、以下の説明では、p,qは素数であり、q|(p-1)という関係がある。また、a,b,c,dはmod p上の位数qの群の元であり、b=ax mod p, d ≠ cx mod pという関係を満たす。
〔実施の形態1〕
本発明にかかる証明装置の実施の形態1について、図1を参照しながら説明する。
図1を参照すると、本実施の形態の証明装置は、証明機構100と検証機構150とから構成される。
証明機構100と検証機構150は、それぞれの公開情報格納手段102,151にp,q,a,b,c,dを格納している。証明機構100は、秘密情報格納手段103に、b=ax mod pとなるような秘密情報xを格納している。
公開情報格納手段102,151に格納されているp,q,a,b,c,dは、変数変換手段104,知識の証明手段105,知識の検証手段152,不一致の検証手段153により参照される。また、秘密情報格納手段103に格納されているxは、変数変換手段104により参照される。
なお、証明機構100および検証機構150は、例えばコンピュータによって実現可能なものである。コンピュータによって、証明機構100を実現する場合には、証明機構用のプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意しておく。コンピュータは、上記証明機構用のプログラムを読み込み、それに従って自身の動作を制御することにより、自コンピュータ上に、乱数発生手段101、公開情報格納手段102、秘密情報格納手段103、変数変換手段104および知識の証明手段105を実現する。また、コンピュータによって検証機構150を実現する場合には、検証機構用のプログラムを記録したディスク、半導体メモリ、その他の記録媒体を用意しておく。コンピュータは、上記検証機構用のプログラムを読み込み、それに従って自身の動作を制御することにより、自コンピュータ上に、公開情報格納手段151、知識の検証手段152および不一致の検証手段153を実現する。
次に、本実施の形態の動作について説明する。先ず、証明機構100は、乱数発生手段101により乱数β,γ,δ∈Z/qZを一様無作為に生成する。
次に、証明機構100は、p,q,a,b,c,d,x,β,γ,δを変数変換手段104に入力する。これにより、変数変換手段104は、
α=γ+x(δーβ) mod q
を計算し、更に、
e=aαbβ mod p
g=cαdβ mod p
h=cγdδ mod p
を計算する(処理106)。証明機構100は、変数変換手段104により生成された
e,g,h
を検証機構150に送る(処理107)。
その後、証明機構100は、p,q,a,b,c,d,e,g,α,βを知識の証明手段105に入力する(処理108)。一方、検証機構150は、p,q,a,b,c,d,e,gを知識の検証手段152に入力する(処理154)。知識の証明手段105と知識の検証手段152は、互いに通信することにより、
aα'' bβ'' = e mod p
cα'' dβ'' = g mod p
なるα'',β''を証明機構100が出力することができることを、知識の証明手段105が知識の検証手段152に対して、α'',β''を直接示すことなく証明する(処理110)。
知識の検証手段152は、証明を検証して受理または不受理を出力する(処理156)。
証明機構100は、処理110が終了すると、p,q,a,b,c,d,e,h,γ,δを知識の証明手段105に入力する(処理109)。一方、検証機構150は、p,q,a,b,c,d,e,hを知識の検証手段152に入力する(処理155)。更に、検証機構150は、p,g,hを不一致の検証手段153に入力する(処理157)。知識の証明手段105と知識の検証手段152は、互いに通信することにより、
aγ'' bδ'' = e mod p
cγ'' dδ'' = h mod p
なるγ'',δ''を証明機構100が出力することができることを、知識の証明手段105が知識の検証手段152に対して、γ'',δ''を直接示すことなく証明する(処理111)。
知識の検証手段152は、証明を検証して受理または不受理を出力する(処理158)。
不一致の検証手段153は、
g ≠h mod p
を確認できれば受理を、できなければ不受理を出力する(処理159)。
知識の検証手段152が処理156,158において出力した検証結果および不一致の検証手段153が処理159において出力した検証結果が全て受理なら、検証機構150は、受理を出力し、そうでなければ不受理を出力する(処理160)。
〔実施例1〕
次に、知識の証明手段および知識の検証手段の第1の実施例について、図2を参照して詳細に説明する。
知識の証明手段200は、コミットメント生成手段201とリスポンス生成手段202とを備え、知識の検証手段250は、チャレンジ生成手段251と判定手段252と乱数発生手段253とを備えている。
知識の証明手段200は、p,q,A,B,C,D,E,F,X,Yが入力されると(処理203)、証明機構100の乱数発生手段101を呼び出して、一様無作為に選ばれた X',Y'∈ Z/qZを生成する(処理204)。なお、上記p,q,A,B,C,D,E,F,X,Yは、第1の実施の形態で説明した処理108で入力されるp,q,a,b,c,d,e,g,α,β或いは処理109で入力されるp,q,a,b,c,d,e,h,γ,δに対応する。また、生成する乱数X',Y'は、p,q,A,B,C,D,E,F,X,Yとしてp,q,a,b,c,d,e,g,α,βが入力された場合と、p,q,a,b,c,d,e,h,γ,δが入力された場合とでは異なる値となる。
知識の証明手段200は、 コミットメント生成手段201において、
E'=AX'BY' mod p
F'=CX'DY' mod p
を計算し(処理206)、E'とF'をコミットメントとして知識の検証手段250に送付する(処理205)。
知識の検証手段250は、p,q,A,B,C,D,E,Fが入力されると(処理254)、乱数発生手段253を呼び出して、一様無作為に選ばれたS∈Z/qZを生成する(処理255)。なお、上記p,q,A,B,C,D,E,Fは、第1の実施の形態で説明した処理154で入力されるp,q,a,b,c,d,e,g或いは処理155で入力されるp,q,a,b,c,d,e,hに対応する。また、生成する乱数Sは、p,q,A,B,C,D,E,Fとしてp,q,a,b,c,d,e,gが入力された場合と、p,q,a,b,c,d,e,hが入力された場合とでは異なる値となる。
知識の検証手段250は、チャレンジ生成手段251において、乱数Sを知識の証明手段200に送付する(処理256)。
知識の証明手段200は、リスポンス生成手段202において、
R[1] = S X+ X' mod q
R[2] = S Y+ Y' mod q
を生成し、リスポンスとして知識の検証手段250に送付する(処理207)。
知識の検証手段250は、判定手段252において、
ESE' = AR[1]BR[2] mod p
FSF' = CR[1]DR[2] mod p
が両方とも成り立てば受理を、そうでなければ不受理を出力する(処理257)。
〔実施例2〕
次に、図3を参照して知識の証明手段および知識の検証手段の第2の実施例について説明する。
知識の証明手段300は、チャレンジコミットメント参照値生成手段301とコミットメント生成手段302とリスポンス生成手段303とを備え、知識の検証手段350は、乱数発生手段351とチャレンジコミットメント生成手段352とチャレンジ開放手段353と判定手段354とを備えている。
知識の証明手段300は、p,q,A,B,C,D,E,F,X,Yが入力されると(処理304)、チャレンジコミットメント参照値生成手段301において、証明機構100の乱数発生手段101を呼び出して、一様無作為に選ばれた G,H∈(Z/pZ)*を生成し、知識の検証手段350に送付する(処理305)。なお、上記p,q,A,B,C,D,E,F,X,Yは、第1の実施の形態で説明した処理108で入力されるp,q,a,b,c,d,e,g,α,β或いは処理109で入力されるp,q,a,b,c,d,e,h,γ,δに対応する。また、生成する乱数G,Hは、p,q,A,B,C,D,E,F,X,Yとしてp,q,a,b,c,d,e,g,α,βが入力された場合と、p,q,a,b,c,d,e,h,γ,δが入力された場合とでは異なる値となる。
知識の検証手段350は、p,q,A,B,C,D,E,Fが入力されると(処理355)、 チャレンジコミットメント生成手段352において、乱数発生手段351を呼び出し、一様無作為に選ばれたS,S'∈Z/qZを生成し、更に、
S''=GSHS' mod p
を計算し、知識の証明手段300に送付する(処理356)。なお、上記p,q,A,B,C,D,E,Fは、第1の実施の形態で説明した処理154で入力されるp,q,a,b,c,d,e,g或いは処理155で入力されるp,q,a,b,c,d,e,hに対応する。また、生成する乱数S(チャレンジ),S'(チャレンジ証拠)は、p,q,A,B,C,D,E,Fとしてp,q,a,b,c,d,e,gが入力された場合と、p,q,a,b,c,d,e,hが入力された場合とでは異なる値となる。
知識の証明手300は、コミットメント生成手段302において、証明機構100の乱数発生手段101を呼び出して、一様無作為に選ばれたX',Y'∈Z/qZを生成し、
E'=AX'BY' mod p
F'=CX'DY' mod p
を計算し、 E'とF'をコミットメントとして知識の検証手段350に送付する(処理306)。なお、生成する乱数X',Y'は、p,q,A,B,C,D,E,F,X,Yとしてp,q,a,b,c,d,e,g,α,βが入力された場合と、p,q,a,b,c,d,e,h,γ,δが入力された場合とでは異なる値となる。
知識の検証手段350は、チャレンジ開放手段353において、チャレンジS,チャレンジ証拠S'を知識の証明手段300に送付する(処理357)。
知識の証明手段300は、リスポンス生成手段303において、
S''=GSHS' mod p
が成り立つことを確認する。成り立たなければ証明を中止し、成り立つならば、
R[1] = S X+ X' mod q
R[2] = S Y+ Y' mod q
を生成し、リスポンスとして知識の検証手段350に送付する(処理307)。
知識の検証手段350は、判定手段354において、
ESE' = AR[1]BR[2] mod p
FSF' = CR[1]DR[2] mod p
が両方とも成り立てば受理を、そうでなければ不受理を出力する(処理358)。
〔実施例3〕
次に、知識の証明手段および知識の検証手段の第3の実施例について、図4を参照して詳細に説明する。なお、以下の説明において、H(・) は暗号学的なハッシュ関数である。
知識の証明手段400は、コミットメント生成手段401と自動チャレンジ生成手段402とリスポンス生成手段403とを備え、知識の検証手段450は、自動チャレンジ復元手段451と判定手段452とを備えている。
知識の証明手段400は、p,q,A,B,C,D,E,F,X,Yが入力されると(処理404)、証明機構100の乱数発生手段101を呼び出して、一様無作為に選ばれたX',Y' ∈Z/qZを生成する(処理405)。上記p,q,A,B,C,D,E,F,X,Yは、第1の実施の形態で説明した処理108で入力されるp,q,a,b,c,d,e,g,α,β或いは処理109で入力されるp,q,a,b,c,d,e,h,γ,δに対応する。また、生成する乱数X',Y'は、p,q,A,B,C,D,E,F,X,Yとしてp,q,a,b,c,d,e,g,α,βが入力された場合と、p,q,a,b,c,d,e,h,γ,δが入力された場合とでは異なる値となる。
その後、知識の証明手段400は、 コミットメント生成手段401において、
E'=AX'BY' mod p
F'=CX'DY' mod p
なるコミットメントE',F'を計算する(処理406)。
その後、知識の証明手段400は、自動チャレンジ生成手段402において、
S = H(p,q,A,B,C,D,E,F,E',F')
なる自動チャレンジSを生成する(処理407)。
更に、知識の証明手段400は、リスポンス生成手段403において、
R[1] = S X+ X' mod q
R[2] = S Y+ Y' mod q
なるリスポンスR[1],R[2]を生成し、
E',F',R[1],R[2]
を知識の検証手段450に送付する(処理408)。
知識の検証手段450は、p,q,A,B,C,D,E,Fが入力され(処理453)、E',F',R[1],R[2] を知識の証明手段400より受け取ると、自動チャレンジ復元手段451において、
S' = H(p,q,A,B,C,D,E,F,E',F')
なる自動チャレンジS'を生成する。
知識の検証手段450は、判定手段452において、
ES'E' = AR[1]BR[2] mod p
FS'F' = CR[1]DR[2] mod p
が両方とも成り立てば受理を、そうでなければ不受理を出力する(処理454)。
〔実施の形態2〕
次に、図6を参照して本発明にかかる証明装置の実施の形態2について詳細に説明する。本実施の形態ではPは位数qの楕円曲線であり、また、A,B,C,D はP上の位数qの元であり、B=[x]A, D ≠[x]C という関係を満たす。ここで、[x]A は、P上の点Aのx倍点を表す。
証明機構600と検証機構650は、それぞれの公開情報格納手段602,651にPを表す変数、q,A,B,C,D を格納している。
証明機構600は、秘密情報格納手段603に、B=[x]Aとなるような秘密情報 xを格納している。なお、公開情報格納手段602,651に格納されているPを表す変数、q,A,B,C,D は、変数変換手段604,知識の証明手段605,知識の検証手段652,不一致の検証手段653により参照される。また、秘密情報格納手段603に格納されているxは、変数変換手段604により参照される。
証明機構600は、乱数発生手段601により乱数β,γ,δ∈Z/qZを一様無作為に生成する。
次に、証明機構600は、Pを表す変数、q,A,B,C,D,x,β,γ,δを変数変換手段604に入力し、
α=γ+x(δーβ) mod q
を計算する。次に、
E=[α]A+[β]B
G=[α]C+[β]D
H=[γ]C+[δ]D
を計算する(処理606)。
更に、証明機構600は、変数変換手段604により生成された
E,G,H
を検証機構に送る(処理607)。
その後、証明機構600は、 Pを表す変数、q,A,B,C,D,E,G,α,βを知識の証明手段605 に入力する(処理608)。
検証機構650は、P を表す変数、q,A,B,C,D,E,G を知識の検証手段652に入力する(処理654)。
知識の証明手段605と知識の検証手段652は互いに通信610することにより、
[α'']A + [β'']B = E
[α'']C + [β'']D = G
なる[α''],[β''] を証明機構600が出力することができることを、知識の証明手段605が知識の検証手段652に証明する。
知識の検証手段652は、証明を検証して受理または不受理を出力する(処理656)。
証明機構600は、Pを表す変数、q,A,B,C,D,E,H,γ,δを知識の証明手段605に入力する(処理609)。
検証機構650は、Pを表す変数、q,A,B,C,D,E,Hを知識の検証手段652に入力する(処理655)。
検証機構650は、Pを表す変数、G,Hを不一致の検証手段653に入力する(処理657)。
知識の証明手段605と知識の検証手段652は互いに通信することにより、
[γ'']A+ [δ'']B = E
[γ'']C+ [δ'']D = H
なる[γ''],[δ''] を証明機構600が出力することができることを、
知識の証明手段605が知識の検証手段652に証明する(処理611)。
知識の検証手段652は、証明を検証して受理または不受理を出力する(処理658)。
不一致の検証手段653は、
G ≠H mod p
を確認できれば受理を、できなければ不受理を出力する(処理659)。
知識の検証手段652が処理656,658において出力した検証結果および不一致の検証手段653が処理659において出力した検証結果が全て受理なら、検証機構650は、受理を出力し、そうでなければ不受理を出力する(処理660)。
〔発明が有効である理由〕
もし、a,b,c,d の間に、b=ax mod p, d=cx mod pという関係を満たすxが存在するならば、
e=aαbβ mod p=aα+βx mod p
g=cαdβ mod p=cα+βx mod p
e=aγbδ mod p=aγ+δx mod p
h=cγdδ mod p=cγ+δx mod p
という関係が満たされるため、α+βx =γ+δx が成立し、さらに、
g= h mod p
が必ず成立してしまう。このことから、本発明が離散対数の不一致を証明する方法として正しく動作する。また、本発明は、離散対数の不一致を証明するため、g≠ h mod p のような元の不一致と, e=aαbβ mod p
g=cαdβ mod p
なるα,βの存在の証明と、同種の証明である、
e=aγbδ mod p
h=cγdδ mod p
なるγ,δの存在の証明とに帰着させている。
前者は自明な方法で、後者は非特許文献1に記載されている従来の技術のように、所定の条件を満たす値を逐次探す処理が不要であるため、上記従来の技術に比較して、高速処理が可能になる。さらに、この後者の高速な方法には, 検証装置から証明装置への通信が発生しない変形例がある。このことを利用することで、非特許文献2に開示されている従来の技術と異なり、本発明は、検証装置から証明装置への通信が発生しない形で運用することもできる。
どのような e,g,h に対しても、e=aαbβ =aα+βx mod p
g=cαdβ =cα+βx mod p
e=aγbδ =aγ+δx mod p
h=cγdδ =cγ+δx mod p
を満たすようなα,β,γ,δが存在する。このことにより、本発明は、非特許文献2に記載された従来の技術と異なり、情報を検証者に漏らすことが無い。
本発明にかかる証明装置の第1の実施の形態の構成例を示すブロック図である。 知識の証明手段および知識の検証手段の実施例1の構成を示すブロック図である。 知識の証明手段および知識の検証手段の実施例2の構成を示すブロック図である。 知識の証明手段および知識の検証手段の実施例3の構成を示すブロック図である。 従来の技術を説明するためのブロック図である。 本発明にかかる証明装置の第2の実施の形態の構成例を示すブロック図である。
符号の説明
100…証明機構
101…乱数発生手段
102…公開情報格納手段
103…秘密情報格納手段
104…変数変換手段
105…知識の証明手段
150…検証機構
151…公開情報格納手段
152…知識の検証手段
153…不一致の検証手段
200…知識の証明手段
201…コミットメント生成手段
202…リスポンス生成手段
250…知識の検証手段
251…チャレンジ生成手段
252…判定手段
253…乱数発生手段
300…知識の証明手段
301…チャレンジコミットメント参照値生成手段
302…コミットメント生成手段
303…リスポンス生成手段
350…知識の検証手段
351…乱数発生手段
352…チャレンジコミットメント生成手段
353…チャレンジ開放手段
354…判定手段
400…知識の証明手段
401…コミットメント生成手段
402…自動チャレンジ生成手段
403…リスポンス生成手段
450…知識の検証手段
451…自動チャレンジ復元手段
452…判定手段
500…証明者
501…秘密情報格納手段
502…公開情報格納手段
503…乱数発生手段
550…検証者
551…公開情報格納手段
552…乱数発生手段
600…証明機構
601…乱数発生手段
602…公開情報格納手段
603…秘密情報格納手段
604…変数変換手段
605…知識の証明手段
650…検証機構
651…公開情報格納手段
652…知識の検証手段
653…不一致の検証手段

Claims (10)

  1. 有限群が指定されており、この群の4個の要素a,b,c,d及びbのaを底にする離散対数xが入力され、bのaを底にする離散対数とdのcを底にする離散対数とが異なることを示す証明機構と、それを確認する検証機構とから成り立つ証明装置であって、
    前記証明機構が、
    前記群の要素a,b,c及びdを格納する証明側公開情報格納手段と、
    bのaを底とする離散対数を格納する秘密情報格納手段と、
    乱数β,γ,δを発生する乱数発生手段と、
    前記β,γ,δを用いて、α=γ+x(δ-β)と、前記aをα乗したものと前記bをβ乗したものとの積であるeと、前記cをα乗したものと前記dをβ乗したものとの積であるgと、前記cをγ乗したものと前記dをδ乗したものとの積であるhとを生成し、前記e,g,hを前記検証機構に対して出力する変数変換手段と、
    前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を出力できることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を出力することができることとを、前記検証機構に対して、α''、β''、γ''、δ''を直接示すことなく証明する知識の証明手段とを備え、
    前記検証機構が、
    前記群の要素a,b,c及びdを格納する検証側公開情報格納手段と、
    前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を前記証明機構が出力することができることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を前記証明機構が出力することができることとを検証する知識の検証手段と、
    前記gとhとが異なることを確認する不一致の検証手段と備えたことを特徴とする証明装置。
  2. 請求項1に記載の証明装置において、
    前記知識の証明手段が、
    前記乱数発生手段で発生させた乱数を用いてコミットメントを生成し、このコミットメントを前記検証機構に送付するコミットメント生成手段と、
    前記コミットメントの送付後に前記検証機構より送付されたチャレンジと、前記コミットメント生成時に用いた乱数とよりリスポンスを生成し、このリスポンスを前記検証機構に送付するリスポンス生成手段とを備え、
    前記知識の検証手段が、
    乱数を発生させる検証側乱数発生手段と、
    証明機構よりコミットメントを送付された後、前記検証側乱数発生手段で発生させた乱数を用いてチャレンジを生成し、このチャレンジを前記証明機構に送付するチャレンジ生成手段と、
    前記チャレンジの送付後に前記証明機構より送付されたリスポンスと、前記コミットメントと、前記チャレンジとを用いて証明を受理するか拒否するかを判定する判定手段とを備えたことを特徴とする証明装置。
  3. 請求項2に記載の証明装置において、
    前記コミットメント生成手段が、
    前記乱数発生手段で発生させた乱数X1'、Y1'を使用して、第1のコミットメントE1'=aX1'Y1'及び第2のコミットメントF1'=cX1'Y1'を生成し、該生成した第1のコミットメントE1'及び第2のコミットメントF1'を前記検証機構に送付する構成を有すると共に、前記乱数発生手段で発生させた乱数X2'、Y2'を使用して、第3のコミットメントE2'=aX2'Y2'及び第4のコミットメントF2'=cX2'2''を生成し、該生成した第3のコミットメントE2'及び第4のコミットメントF2'を前記検証機構に送付する構成を有し、
    前記チャレンジ生成手段が、
    前記検証側乱数発生手段で発生させた乱数S1を、前記第1及び第2のコミットメントE2',F2'に対するチャレンジとして前記証明機構に送信する構成を有すると共に、前記検証側乱数発生手段で発生させた乱数S2を、前記第3及び第4のコミットメントE2',F2'に対するチャレンジとして前記証明機構に送信する構成を有し、
    前記リスポンス生成手段が、
    第1のリスポンスR〔1〕=S1α+X1'及び第2のリスポンスR〔2〕=S1β+Y1'を生成し、該生成した第1及び第2のリスポンスR〔1〕,R〔2〕を前記検証機構へ送信する構成を有すると共に、第3のリスポンスR〔3〕=S2γ+X2'及び第4のリスポンスR〔4〕=S2δ+Y2'を生成し、該生成した第3及び第4のリスポンスR〔3〕,R〔4〕を前記検証機構へ送信する構成を有し、
    前記判定手段が、
    S1E1'=aR〔1〕R〔2〕,fS1F1'=cR〔1〕R〔2〕,eS2E2'=aR〔3〕R〔4〕及びfS2F2'=cR〔3〕R〔4〕が全て満たされているか否かに基づいて受理するか否かを判定する構成を有することを特徴とする証明装置。
  4. 請求項1に記載の証明装置において、
    前記知識の証明手段が、
    前記検証機構よりチャレンジコミットメントを受け取った後に、前記乱数発生手段で発生させた乱数を用いてコミットメントを生成し、このコミットメントを前記検証機構に送付するコミット生成手段と、
    前記検証機構からのチャレンジコミットメントとチャレンジ証拠とよりチャレンジが正当であるか否かを検証し、前記コミットメントの送付後に、正当であることを検証することができたチャレンジと、前記コミットメント生成時に用いた乱数とよりリスポンスを生成し、このリスポンスを前記検証機構に送付するリスポンス生成手段とを備え、
    前記知識の検証手段が、
    乱数を発生させる検証側乱数発生手段と、
    該検証側乱数発生手段で発生させた乱数を用いてチャレンジ、チャレンジ証拠及びチャレンジコミットメントを生成し、前記チャレンジコミットメントを証明機構に送付するチャレンジコミット生成手段と、
    前記証明機構よりコミットメントを送付された後、前記チャレンジ及び前記チャレンジ証拠を前記証明機構に送付するチャレンジ開放手段と、
    前記チャレンジの送付後に前記証明機構より送付されたリスポンスと、前記コミットメントと、前記チャレンジとを用いて検証を受理するか拒否するかを判定する判定手段とを備えたことを特徴とする証明装置。
  5. 請求項4に記載の証明装置において、
    前記チャレンジコミットメント生成手段が、
    前記検証側乱数発生手段を用いて第1のチャレンジS1及び第1のチャレンジ証拠S1'を生成し、更に、前記第1のチャレンジS1及び第1のチャレンジ証拠S1'と、前記証明機構から送られてきている第1及び第2の乱数G1,H1とに基づいて第1のチャレンジコミットメントS1''=G1S1H1S1'を生成し、該第1のチャレンジコミットメントS1''を前記証明機構に送付する構成を有すると共に、前記検証側乱数発生手段を用いて第2のチャレンジS2及び第2のチャレンジ証拠S2'を生成し、更に、前記第2のチャレンジS2及び第2のチャレンジ証拠S2'と、前記証明機構から送られてきている第3及び第4の乱数G2,H2とに基づいて第2のチャレンジコミットメントS2''=G2S2H2S2'を生成し、該第2のチャレンジコミットメントS2''を前記証明機構に送付する構成を有し、
    前記コミットメント生成手段が、
    前記乱数発生手段で生成した乱数X1',Y1'を使用して第1のコミットメントE1'=aX1'Y1'及び第2のコミットメントF1'=cX1'Y1'を作成して前記検証機構に送付する構成を有すると共に、前記乱数発生手段で生成した乱数X2',Y2'を使用して第3のコミットメントE2'=aX2'Y2'及び第4のコミットメントF2'=cX2'Y2'を作成して前記検証機構に送付する構成を有し、
    前記チャレンジ開放手段が、
    前記第1のコミットメントE1'及び第2のコミットメントF1'を受信後、前記第1のチャレンジS1及び第1のチャレンジ証拠S1'を前記証明機構に送信する構成を有すると共に、前記第3のコミットメントE2'及び第4のコミットメントF2'を受信後、前記第2のチャレンジS2及び第2のチャレンジ証拠S2'を前記証明機構に送信する構成を有し、
    前記リスポンス生成手段が、
    S1''=G1S1H1S1'が成り立つことを確認したら、第1のリスポンスR〔1〕=S1α+X1'及び第2のリスポンスR〔2〕=S1β+Y1'を生成して前記検証機構に送信する構成を有すると共に、S2''=G2S2H2S2'が成り立つことを確認したら、第3のリスポンスR〔3〕=S2γ+X2'及び第4のリスポンスR〔4〕=S2δ+Y2'を生成して前記検証機構に送信する構成を有し、
    前記判定手段が、eS1E1'=aR〔1〕R〔2〕、gS1F1'=cR〔1〕R〔2〕、eS2E2'=aR〔3〕R〔4〕及びhS2F2'=cR〔3〕R〔4〕が全て満たされているか否かに基づいて受理するか否かを判定する構成を有することを特徴とする証明装置。
  6. 請求項1に記載の証明装置において、
    前記知識の証明手段が、
    前記乱数発生手段で発生させた乱数を用いてコミットメントを生成するコミットメント生成手段と、
    該コミットメント生成手段で生成したコミットメントを含むデータのハッシュ値を計算することにより自動チャレンジを生成する自動チャレンジ生成手段と、
    前記自動チャレンジと、前記コミットメント生成時に用いた乱数とよりリスポンスを生成し、該リスポンスと前記コミットメントとを前記検証機構に送るリスポンス生成手段とを備え、
    前記知識の検証手段が、
    前記証明機構よりコミットメントを送付された後、ハッシュ関数を用いて自動チャレンジを生成する自動チャレンジ復元手段と、
    前記送付されたリスポンスと、前記送付されたコミットメントと、前記自動チャレンジ復元手段で生成された前記自動チャレンジとを用いて証明を受理するか拒否するかを判定する判定手段とを備えたことを特徴とする証明装置。
  7. 請求項6に記載の証明装置において、
    前記コミットメント生成手段が、
    前記乱数発生手段で生成した乱数X1',Y1'を用いて、第1のコミットメントE1'=aX1'Y1'及び第2のコミットメントF1'=cX1'Y1'を生成する構成を有すると共に、前記乱数発生手段で生成した乱数X2',Y2'を用いて、第3のコミットメントE2'=aX2'Y2'及び第4のコミットメントF2'=cX2'Y2'を生成する構成を有し、
    前記自動チャレンジ生成手段が、
    ハッシュ関数H(・)を使用して第1の自動チャレンジS1=H(a,b,c,d,e,g,E1',F1')及び第2の自動チャレンジS2=H(a,b,c,d,e,h,E2',F2')を生成する構成を有し、
    前記リスポンス生成手段が、
    第1のリスポンスR〔1〕=S1α+X1'及び第2のリスポンスR〔2〕=S1β+Y1'を生成し、該第1及び第2のリスポンスR〔1〕,R〔2〕と前記第1及び第2のコミットメントE1',F1'とを前記検証機構に送信する構成を有すると共に、第3のリスポンスR〔3〕=S2γ+X2'及び第4のリスポンスR〔4〕=S2δ+Y2'を生成し、該第3及び第4のリスポンスR〔3〕,R〔4〕と前記第3及び第4のコミットメントE2',F2'とを前記検証機構に送信する構成を有し、
    前記自動チャレンジ復元手段が、
    第3の自動チャレンジS1'=H(a,b,c,d,e,g,E1',F1')及び第4の自動チャレンジS2'=H(a,b,c,d,e,h,E2',F2')を生成する構成を有し、
    前記判定手段が、
    S1'E1'=aR〔1〕R〔2〕、fS1'F1'=cR〔1〕R〔2〕、eS2'E2'=aR〔3〕R〔4〕及びfS2'F2'=cR〔3〕R〔4〕が全て満たされているか否かに基づいて受理するか否かを判定する構成を有することを特徴とする証明装置。
  8. 有限群が指定されており、この群の4個の要素a,b,c,d及びbのaを底にする離散対数xが入力され、bのaを底にする離散対数とdのcを底にする離散対数とが異なることを証明する機構と、それを確認する検証機構とを備えた証明装置における証明方法であって、
    前記証明機構が、
    乱数β,γ,δを発生する乱数発生ステップと、
    前記β,γ,δを用いて、α=γ+x(δ-β)と、前記aをα乗したものと前記bをβ乗したものとの積であるeと、前記cをα乗したものと前記dをβ乗したものとの積であるgと、前記cをγ乗したものと前記dをδ乗したものとの積であるhとを生成し、前記e,g,hを前記検証機構に対して出力する変数変換ステップと、
    前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を出力できることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を出力することができることとを、前記検証機構に対して、α'',β'',γ'',δ''を直接示すことなく証明する知識の証明ステップとを実行し、
    前記検証機構が、
    前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を前記証明機構が出力することができることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなδ'',γ''を前記証明機構が出力することができることとを検証する知識の検証ステップと、
    前記gとhとが異なることを確認する不一致の検証ステップとを実行することを特徴とする証明方法。
  9. 有限群が指定されており、この群の4個の要素a,b,c,d及びbのaを底にする離散対数xが入力され、bのaを底にする離散対数とdのcを底にする離散対数とが異なることを示す証明機構と、
    前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を前記証明機構が出力することができることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を前記証明機構が出力することができることとを検証する知識の検証手段、および前記gとhとが異なることを確認する不一致の検証手段とを備えた検証機構とから構成される証明装置の構成要素である証明機構をコンピュータによって実現するためのプログラムであって、
    前記コンピュータを、
    乱数β,γ,δを発生する乱数発生手段、
    前記β,γ,δを用いて、α=γ+x(δ-β)と、前記aをα乗したものと前記bをβ乗したものとの積であるeと、前記cをα乗したものと前記dをβ乗したものとの積であるgと、前記cをγ乗したものと前記dをδ乗したものとの積であるhとを生成し、前記e,g,hを前記検証機構に対して出力する変数変換手段、
    前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を出力できることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を出力することができることとを、前記検証機構に対して、α'',β'',γ'',δ''を直接示すことなく証明する知識の証明手段として機能させるためのプログラム。
  10. 有限群が指定されており、この群の4個の要素a,b,c,d及びbのaを底にする離散対数xが入力され、bのaを底にする離散対数とdのcを底にする離散対数とが異なることを示す証明機構であって、前記群の要素a,b,c及びdを格納する証明側公開情報格納手段と、bのaを底とする離散対数を格納する秘密情報格納手段と、乱数β,γ,δを発生する乱数発生手段と、前記β,γ,δを用いて、α=γ+x(δ-β)と、前記aをα乗したものと前記bをβ乗したものとの積であるeと、前記cをα乗したものと前記dをβ乗したものとの積であるgと、前記cをγ乗したものと前記dをδ乗したものとの積であるhとを生成し、前記e,g,hを前記検証機構に対して出力する変数変換手段と、前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を出力できることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を出力することができることとを、前記検証機構に対して、α'',β'',γ'',δ''を直接示すことなく証明する知識の証明手段とを備えた証明機構と、検証機構とから構成される証明装置の構成要素である前記検証機構をコンピュータによって実現するためのプログラムであって、
    前記コンピュータを、
    前記aをα''乗したものと前記bをβ''乗したものとの積がeとなり、かつ前記cをα''乗したものと前記dをβ''乗したものとの積がgとなるようなα'',β''を前記証明機構が出力することができることと、前記aをγ''乗したものと前記bをδ''乗したものとの積がeとなり、かつ前記cをγ''乗したものと前記dをδ''乗したものとの積がhとなるようなγ'',δ''を前記証明機構が出力することができることとを検証する知識の検証手段、
    前記gとhとが異なることを確認する不一致の検証手段として機能させるためのプログラム。
JP2003397159A 2003-11-27 2003-11-27 証明装置及び証明方法並びにプログラム Expired - Fee Related JP4457651B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003397159A JP4457651B2 (ja) 2003-11-27 2003-11-27 証明装置及び証明方法並びにプログラム
US10/995,478 US7567672B2 (en) 2003-11-27 2004-11-24 Cryptographic communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003397159A JP4457651B2 (ja) 2003-11-27 2003-11-27 証明装置及び証明方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2005159826A JP2005159826A (ja) 2005-06-16
JP4457651B2 true JP4457651B2 (ja) 2010-04-28

Family

ID=34616519

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003397159A Expired - Fee Related JP4457651B2 (ja) 2003-11-27 2003-11-27 証明装置及び証明方法並びにプログラム

Country Status (2)

Country Link
US (1) US7567672B2 (ja)
JP (1) JP4457651B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2841411B1 (fr) * 2002-06-19 2004-10-29 Gemplus Card Int Procede de generation de cles electroniques pour procede de crytographie a cle publique et objet portatif securise mettant en oeuvre le procede
US7469338B2 (en) * 2002-07-29 2008-12-23 Broadcom Corporation System and method for cryptographic control of system configurations
CN101080897B (zh) * 2005-07-13 2012-09-19 日本电信电话株式会社 鉴别系统、鉴别方法、证明器件、验证器件及其程序和记录介质
US7783041B2 (en) * 2005-10-03 2010-08-24 Nokia Corporation System, method and computer program product for authenticating a data agreement between network entities
US8356182B2 (en) * 2006-09-01 2013-01-15 Nec Corporation Electronic signature system and electronic signature verifying method
JP5594034B2 (ja) * 2010-07-30 2014-09-24 ソニー株式会社 認証装置、認証方法、及びプログラム
US11012435B2 (en) 2017-12-19 2021-05-18 International Business Machines Corporation Multi factor authentication
US11122033B2 (en) * 2017-12-19 2021-09-14 International Business Machines Corporation Multi factor authentication
CN108933670B (zh) * 2018-10-18 2021-02-26 北京云测信息技术有限公司 一种数字签名方法、装置、移动设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411715B1 (en) * 1997-11-10 2002-06-25 Rsa Security, Inc. Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key
JP4774650B2 (ja) * 2001-08-07 2011-09-14 日本電気株式会社 離散対数の一致または不一致を示すゼロ知識証明システム及び方法

Also Published As

Publication number Publication date
US20050117751A1 (en) 2005-06-02
US7567672B2 (en) 2009-07-28
JP2005159826A (ja) 2005-06-16

Similar Documents

Publication Publication Date Title
US8127140B2 (en) Group signature scheme
Susilo et al. Perfect concurrent signature schemes
US20160344557A1 (en) Method for generating a message signature from a signature token encrypted by means of a homomorphic encryption function
JP4692284B2 (ja) グループ署名システム、方法、装置、およびプログラム
US20030120929A1 (en) Digital signature and authentication method and apparatus
Abe et al. Adaptively secure Feldman VSS and applications to universally-composable threshold cryptography
Brickell et al. Enhanced privacy ID from bilinear pairing
US8041944B2 (en) Group signature system and information processing method
JP4774650B2 (ja) 離散対数の一致または不一致を示すゼロ知識証明システム及び方法
JP4615708B2 (ja) 鍵認証方式
EP2427996A1 (en) Self-signed implicit certificates
Au et al. Compact e-cash from bounded accumulator
JP4457651B2 (ja) 証明装置及び証明方法並びにプログラム
TWI511517B (zh) Information processing apparatus, information processing method, program and recording medium
TW202318833A (zh) 臨界簽章方案
Popescu An efficient ID-based group signature scheme
CN112989436A (zh) 一种基于区块链平台的多重签名方法
Wu et al. Efficient partially blind signatures with provable security
US9577828B2 (en) Batch verification method and apparatus thereof
JP4679163B2 (ja) デジタル署名情報生成装置、デジタル署名情報生成方法及びプログラム
CN116865970A (zh) 基于国密算法的多方协同密钥产生和数字签名方法及系统
Ateniese et al. Leakage-resilient identification schemes from zero-knowledge proofs of storage
JP5314449B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
CN114090649A (zh) 基于变色龙哈希函数的消息查找方法、系统、装置及介质
JPH11234263A (ja) 相互認証方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061013

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090525

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090525

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4457651

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees