JP4830860B2 - 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置 - Google Patents

署名装置、検証装置、証明装置、暗号化装置、及び復号化装置 Download PDF

Info

Publication number
JP4830860B2
JP4830860B2 JP2006553834A JP2006553834A JP4830860B2 JP 4830860 B2 JP4830860 B2 JP 4830860B2 JP 2006553834 A JP2006553834 A JP 2006553834A JP 2006553834 A JP2006553834 A JP 2006553834A JP 4830860 B2 JP4830860 B2 JP 4830860B2
Authority
JP
Japan
Prior art keywords
vector
data
signature
commitment
verification
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
JP2006553834A
Other languages
English (en)
Other versions
JPWO2006077701A1 (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 JP2006553834A priority Critical patent/JP4830860B2/ja
Publication of JPWO2006077701A1 publication Critical patent/JPWO2006077701A1/ja
Application granted granted Critical
Publication of JP4830860B2 publication Critical patent/JP4830860B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/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
    • 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)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Description

【技術分野】
【0001】
本発明は、署名装置、検証装置、証明装置、暗号化装置、及び復号化装置に関し、特に、署名文偽造問題が離散対数問題に効率的に帰着する署名装置、検証装置、証明装置、暗号化装置、及び復号化装置に関する。
【背景技術】
【0002】
公開鍵は、暗号化と復号に異なる鍵を用いる暗号であり、復号に用いる鍵を秘密にする一方、暗号化に用いる鍵を公開する。公開鍵は、公開する鍵の真正性を確保する仕組みが必要となるものの、事前に通信相手に鍵を配送する必要がなく、かつ通信相手確認や受信データの真正性確認等を可能にするディジタル署名を実現できる。そのため、インターネット等などのネットワークにおける情報セキュリティ技術として広く利用されている。
【0003】
近年、公開鍵の研究として証明可能な安全性と実用性を兼ね備えた暗号方式が注目されている。現在、実用化されている暗号方式には、これまでに効率的な解読法が見つかっていないものの、安全性が証明されていないものが多い。したがって、それらの暗号方式について、効率的な解読法が存在する可能性を否定することはできない。
【非特許文献1】
Mihir. Bellare and Phillip. Rogaway. Random Oracles are Practical: A Paradigm for Designing Efficient Protocols. ACM-CCS. 1993. pp. 62-73
【非特許文献2】
Mihir Bellare, Phillip Rogaway. The Exact Security of Digital Signatures: How to Sign with RSA and Rabin. In Advances in Cryptology --- EUROCRYPT'96, vol.1070 of LNCS, pp.399-416, Springer-Verlag, 1996.
【非特許文献3】
Jean-Sebastien Coron. On the Exact Security of Full Domain Hash. In Advances in Cryptology --- CRYPTO 2000, vol.1880 of LNCS, pp.229-235, Springer-Verlag, 2000.
【非特許文献4】
Amos. Fiat and Adi. Shamir. How to prove yourself: Practical Solution to Identification and Signature Problems. In Advances in Cryptology --- CRYPTO'86, vol.263 of LNCS, pp.186-194, Springer-Verlag, 1987.
【非特許文献5】
Eu-Jin Goh, Stanislaw Jarecki. A Signature Scheme as Secure as the Diffie-Hellman Problem. In Advances in Cryptology --- EUROCRYPT 2003, vol.2656 of LNCS, pp.401-415, Springer-Verlag, 2003.
【非特許文献6】
Kazuo Ohta, Tatsuaki Okamoto. On Concrete Security Treatment of Signatures Derived from Identification. In Advances in Cryptology --- CRYPTO'98, vol.1462 of LNCS, pp.354-369, Springer-Verlag, 1998.
【非特許文献7】
Rafael Pass. On Deniability in the Common Reference String and Random Oracle Model. In Advances in Cryptology --- CRYPTO 2003,vol.2729 of LNCS pp.316-337, SpringerVerlag, 2003.
【非特許文献8】
David Pointcheval, Jacques Stern: Security Arguments for Digital Signatures and Blind Signatures. J. Cryptology 13(3):361-396 (2000)
【非特許文献9】
R.Rivest, A.Shamir, L.Adleman. A Method for Obtaining Digital Singatures and Public-Key Cryptosystems. Communicaions of the ACM. vol.21, No.2, pp.120-126, 1978.
【非特許文献10】
C. Schnorr. Efficient Signature Generation by Smart Cards. Journal of Cryptology, 4(3), pp. 161-174, 1991.
【非特許文献11】
Handbook of Applied Cryptography. A. Menezes P. Oorschot, and S. Vanstone, CRC Press.
【非特許文献12】
Rafael Pass. On Deniability in the Common Reference String and Random Oracle Model. In Advances in Cryptology --- CRYPTO 2003, vol.2729 of LNCS, pp.316-337, Springer-Verlag, 2003.
【非特許文献13】
Markus Jakobsson, Kazue Sako, and Russell Impagliazzo. Designated Verifier Proofs and Their Applications. In Advances in Cryptology --- EUROCRYPT'96, vol. 1070 of LNCS, pp.143-154, Springer-Verlag, 1996.
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかし、上記の発明は以下の問題を有している。
【0005】
非特許文献9により最初の電子署名方式が提案されて以来、安全でかつ効率的な署名方式の実現が暗号理論における一つの目標であった。この目標を実現する為にまず考えられたのは、Fiat-Shamirヒューリスティック(非特許文献4)やhash-then-sign 法(非特許文献1)を用いた署名方式である。
【0006】
しかし、こうした署名方式の安全性証明(非特許文献3、6、8)では、多項式時間では署名文を偽造できないことは示されているものの、具体的にどの程度の計算量で署名文を偽造できるのかが示されていない。そのため、ベースとなる問題の復号に要する計算量よりもずっと少ない計算量で署名文の偽造に成功する攻撃者が存在する可能性がある(非特許文献2)。
【0007】
Schnorr署名方式(非特許文献10)は、そのような可能性をはらむ署名方式の一つである。ベースとなる問題である離散対数問題がλビット程度の安全性を持っていたとしても、Schnorr署名方式の安全性証明(非特許文献6、8)はSchnorr署名方式がλ/2ビット程度の安全性を持つことしか保証されない。そのため、署名文の偽造問題が離散対数問題に効率的に帰着できる署名方式が望まれる。
【0008】
このような性質を満たす方式を作ることは、理論的に可能であることが知られている。離散対数問題のcut-and-choose式の証明(非特許文献7)の方法で変換してできる方式は、この性質を満たす。しかし、この方式は、署名・検証計算に多くの計算量を必要としてしまう。署名文の偽造問題が離散対数問題に効率的に帰着できる署名方式でかつ計算量の少ない方式を作ることはできない(非特許文献5)。
【0009】
非特許文献2では、安全性証明の際に攻撃者をrewindするため、ベースとなる問題への帰着効率が落ちるので、ベースとなる問題よりも安全性が劣る。Schnorr署名方式の安全性証明\cite[PS00]では、攻撃者をrewindするのでベースとなる問題である離散対数問題よりも安全性が劣ってしまう。
【0010】
そこで、本発明は、ハッシュ値をコミットメントとして用いていることにより、攻撃者をrewindすることなくコミットメントから攻撃者の秘密情報を要約する署名装置、検証装置、証明装置、暗号化装置、及び復号化装置を提案することを目的としている。
【課題を解決するための手段】
[0011]
[0012]
請求項2記載の発明は、コミットメントを用いて署名文を生成し、前記コミットメントは、コミットする値を含む組のハッシュ値であり、公開鍵として離散対数問題に係る巡回群の元の対を含むデータを用い、かつ秘密鍵として前記対の位数の離散対数を用いる署名装置において、第一のコミットメントに係るコミティッドベクトルを選択するコミティッドベクトル選択手段と、第1のコミットメントを算出する第一コミットメント計算手段と、基底ベクトルを算出する基底ベクトル計算手段と、前記べき乗剰余を算出し、第2のコミットメントを生成する第2のコミットメント計算手段と、ベクトルチャレンジを算出するベクトルチャレンジ計算手段と、前記第1のコミットメントと、前記べき乗剰余の算出に用いた集合と、前記ベクトルチャレンジと、前記基底ベクトルとを用いてベクトルレスポンスを算出するベクトルレスポンス計算手段と、前記コミティッドベクトル、前記第1のコミットメント、前記基底ベクトル、前記第2のコミットメント、前記ベクトルチャレンジ、及び前記ベクトルレスポンスを格納する記憶部とを有し、前記基底ベクトルと前記ベクトルチャレンジとがハッシュ値であることを特徴とする。
[0013]
請求項3記載の発明は、請求項2記載の署名装置において、前記コミティッドベクトル選択手段は、複数の前記コミティッドベクトルを選択し、前記複数のコミティッドベクトルの各成分と秘密鍵とが群位数を法とする関係式を満たし、前記集合が前記コミティッドベクトル選択手段によって選択されたデータの一部と前記基底ベクトルと前記ベクトルチャレンジとを用いて算出されるデータであることを特徴とする。
[0014]
請求項4記載の発明は、請求項3記載の署名装置において、前記コミティッドベクトルの各成分と前記秘密鍵とが群位数を法とする一次式を満たし、前記第一コミットメントの入力が乱数を含むデータであり、前記データの一部は前記ベクトルチャレンジによって決定され、かつ前記集合が前記データの一部及び前記基底ベクトルから一次式で表されることを特徴とする。
[0015]
請求項5記載の発明は、請求項4記載の署名装置において、前記コミティッドベクトルは2つの成分からなり、前記成分の一方は、他方の前記成分に秘密鍵を加えた値の群位数を法として剰余した値であり、第一コミットメントへの入力が前記コミティッドベクトルの各成分を特定するデータを有し、前記集合は前記データの一部と前記基底ベクトルを内積した値であることを特徴とする。
【0016】
請求項6記載の発明は、請求項5記載の署名装置において、セキュリティーパラメータがκ、N、νであり、前記巡回群の位数がqであるとき、前記コミティッドベクトル選択手段は、剰余群X_{01},...,X_{0N}∈(Z/qZ)をランダムに選択し、j=1,・・・Nの前記剰余群X_{0j}にxを加えたものの位数qを法として剰余したものをX_{1j}とし、i=0,1の前記コミティッドベクトルは、Y_i=(X_{i1},...,X_{iN})であり、前記第1のコミットメント計算手段は、ランダムにνビットのビット列rを選択し、i=0,1であり、前記公開鍵、X_{ij},i,j,rを含むデータのハッシュ値を前記第1のコミットメントC_{ij}とし、前記基底ベクトル計算手段は、前記公開鍵及び前記第1のコミットメントC_{ij}を含むデータのハッシュ値を前記基底ベクトルV=(u_1,...,u_N)とし、前記第二コミットメント計算手段は、前記基底ベクトルVとY_0との内積を算出し、さらに第2のコミットメントG=g^{X}を算出し、前記ベクトルチャレンジ計算手段は、公開鍵、{C_{ij}}、G、r及び前記署名装置が受信したメッセージを含むデータのハッシュ値K=(c_1,...,c_N)を算出し、前記ベクトルレスポンス計算手段は、j=1,...,Nすべてについて前記ベクトルレスポンスξ_{j}=X_{c_jj}、及びΞ=(ξ_1,...,ξ_κ)を算出し、署名文(r,{C_{ij}},G,Ξ)を出力することを特徴とする。
【0017】
請求項7記載の発明は、請求項2記載の署名装置において、前記コミティッドベクトル選択手段は、前記複数のコミティッドベクトルを選択し、前記複数のコミティッドベクトルの各成分と秘密鍵とが関係式を満たすことを特徴とする。
【0018】
請求項8記載の発明は、請求項7記載の署名装置において、前記関係式は、前記複数のベクトルの各成分と秘密鍵との一次式を満たし、前記第1のコミットメントの入力が乱数を含むデータであることを特徴とする。
【0019】
請求項9記載の発明は、請求項8記載の署名装置において、前記複数のコミティッドベクトルは、複数の成分を有し、前記成分の一方は、他方の成分に秘密鍵を加えたものであり、前記第1のコミットメントの入力として、前記第1のコミットメントへの入力が前記各成分を特定するデータと、第何番目の成分であるかを特定するデータとを含むことを特徴とする。
【0020】
請求項10記載の発明は、請求項9記載の署名装置において、セキュリティーパラメータがκ、N、νであり、整数の集合R{κ+ξ}を0≦R{κ+ξ}<2^{κ+ξ}とするとき、前記コミティッドベクトル選択手段は、剰余群X_{01},...,X_{0N}∈(Z/qZ)をランダムに選択し、j=1,・・・Nの前記剰余群X_{0j}にxを加えたものをX_{1j}とし、i=0,1の前記コミティッドベクトルは、Y_i=(X_{i1},...,X_{iN})であり、前記第1のコミットメント計算手段は、ランダムにνビットのビット列rを選択し、i=0,1であり、前記公開鍵、X_{ij},i,j,rを含むデータのハッシュ値を前記第1のコミットメントC_{ij}とし、前記基底ベクトル計算手段は、前記公開鍵及び前記第1のコミットメントC_{ij}を含むデータのハッシュ値を前記基底ベクトルV=(u_1,...,u_N)とし、前記第2のコミットメント計算手段は、前記基底ベクトルVとY_0との内積を算出し、さらに第2のコミットメントG=g^{X}を算出し、前記ベクトルチャレンジ計算手段は、公開鍵、{C_{ij}}、G、rおよび前記署名装置が受信したメッセージを含むデータのハッシュ値K=(c_1,...,c_N)を算出し、前記ベクトルレスポンス計算手段は、j=1,...,Nすべてについて前記ベクトルレスポンスξ_{j}=X_{c_jj}、及びΞ=(ξ_1,...,ξ_κ)を算出し、署名文(r,{C_{ij}},G,Ξ)を出力することを特徴とする。
【0021】
請求項11記載の発明は、請求項10記載の署名装置において、第一のコミットメントに係るコミティッドベクトルを選択するコミティッドベクトル選択手段と、第1のコミットメントを算出する第一コミットメント計算手段と、基底ベクトルを算出する基底ベクトル計算手段と、前記べき乗剰余を算出し、第2のコミットメントを生成する第2のコミットメント計算手段と、ベクトルチャレンジを算出するベクトルチャレンジ計算手段と、前記第1のコミットメントと、前記べき乗剰余の算出に用いた集合と、前記ベクトルチャレンジと、前記基底ベクトルとを用いてベクトルレスポンスを算出するベクトルレスポンス計算手段と、前記コミティッドベクトル、前記第1のコミットメント、前記基底ベクトル、前記第2のコミットメント、前記ベクトルチャレンジ、及び前記ベクトルレスポンスを格納する記憶部とを有し、前記基底ベクトルと前記ベクトルチャレンジとがハッシュ値であることを特徴とする。
【0022】
請求項12記載の発明は、請求項11記載の署名装置において、前記コミティッドベクトル選択手段は、前記コミティッドベクトルを複数選択し、前記複数のコミティッドベクトルの各成分と秘密鍵とが群位数を法とする関係式を満たし、前記集合が前記コミティッドベクトル選択手段によって選択されたデータの一部と前記基底ベクトルと前記ベクトルチャレンジとを用いて算出されたデータであることを特徴とする。
【0023】
請求項13記載の発明は、請求項12記載の署名装置において、前記コミティッドベクトルの各成分と秘密鍵とが群位数を法とする一次式を満たし、前記第1のコミットメントが乱数を含むデータであり、前記データの一部が前記ベクトルチャレンジによって決定され、前記集合が前記データの一部及び前記基底ベクトルに対して一次式で表されることを特徴とする。
【0024】
請求項14記載の発明は、請求項13記載の署名装置において、前記コミティッドベクトルの各成分は、一方の成分は、他方の成分に秘密鍵を加えた群位数を法として剰余した値であり、前記集合が前記データの一部と前記基底ベクトルとを内積した値であり、前記基底ベクトルが所定数tで(1,t^1,t^2,・・・,t^N)と乗算した値であることを特徴とする。
【0025】
請求項15記載の発明は、請求項14記載の署名装置において、前記メッセージMとするとき、前記コミティッドベクトル選択手段は、ランダムにY_0=(X_{01},...,X_{0N})∈Zq^{N}を選択し、j=1,...,NについてX_{1j}=x+X_{0j}modqとし、前記コミティッドベクトルY_1=(X_{11},...X_{1N}を生成し、前記第2のコミットメント計算手段は、X=<{Y_0,V}>=Σ_jX_{0j}2^{j−1}modqを算出し、さらに前記コミットメントG=g^{X}を算出し、前記第1のコミットメント計算手段は、各i、jについてランダムにr_{ij}∈{0,1}^{ν}を選択し、X_{ij}の第1のコミットメントC_{ij}=H_{{0,1}^ν}(X_{ij},r_{ij})を算出し、
前記ベクトルチャレンジ計算手段は、K=(c_{1},...,c_{N})=H_{{0,1}^{N}(g,h,{C_{ij}},G,M)を算出し、前記ベクトルレスポンス計算手段は、各jに対し、前記ベクトルレスポンスξ_j=X_{c_jj}modqを算出し、さらにΞ=(ξ_{1},...,ξ_{N})を算出し、署名文({C_{ij}},{r_{c_jj}},G,Ξ)を出力することを特徴とする。
【0026】
請求項16記載の発明は、入力されたデータの正当性を判定する検証装置において、前記入力されたデータは、メッセージと前記メッセージに対する署名文とを有し、前記データに正当性があるときのみ前記データを受理し、検証計算に第1のコミットメントを用い、前記第1のコミットメントの個数よりも少ない回数のべき乗剰余を実行し、前記データの正当性が認められたとき、前記第1のコミットメントは、前記データの一部であるベクトルレスポンスの成分を含むデータのハッシュ値であり、公開鍵は、離散対数問題に係る巡回群の元の対を含むデータであり、秘密鍵は、前記対の位数の離散対数であることを特徴とする。
【0027】
請求項17記載の発明は、請求項16記載の検証装置において、基底ベクトルを算出する基底ベクトル計算手段と、ベクトルチャレンジを算出するベクトルチャレンジ計算手段と、前記第1のコミットメントの正当性を判定する第1のコミットメント正当性検証手段と、べき乗剰余を算出し、前記ベクトルレスポンスの正当性を判定する第2の正当性検証手段と、前記各手段において入出力されるデータを記憶する記憶手段とを有し、前記ベクトルチャレンジと前記基底ベクトルとがハッシュ値であり、前記第一コミットメント正当性検証手段と前記第二正当性検証手段とが前記署名文を正当なものと判定したときのみ前記データの入力を受理することを特徴とする。
【0028】
請求項18記載の発明は、請求項17記載の検証装置において、前記第1のコミットメント正当性検証手段は、前記ベクトルレスポンスを有する前記入力されたデータの一部を所定の方法でハッシュ関数に入力し、算出したハッシュ値が前記第1のコミットメントと一致するときのみ前記第1のコミットメントが正当であると判断し、前記第二正当性検証手段は、前記判定するデータが第2のコミットメントとよばれるデータと前記ベクトルレスポンスとを有し、前記公開鍵が離散対数問題に係る巡回群の元を二つ含み、前記各元のべき乗剰余である第1及び第2のべき乗剰余を算出し、前記第1のべき乗剰余が前記第2のべき乗剰余と前記第2のコミットメントとを乗算した値と等しいか否かを判定し、前記第1のべき乗剰余は、前記公開鍵の一部である元を位数とし、Schnorrチャレンジを集合とし、前記第2のべき乗剰余は、前記公開鍵の一部である元を位数とし、Schnorrレスポンスを集合とし、前記Schnorrチャレンジは、前記ベクトルチャレンジと前記基底ベクトルとを用いて算出されるデータであり、前記Schnorrレスポンスは、前記ベクトルレスポンスと前記基底ベクトルとを用いて算出されるデータであることを特徴とする。
【0029】
請求項19記載の発明は、請求項18記載の検証装置において、前記署名装置が正当に署名文にランダムに選択されるデータが含まれていない場合、前記データは受理されず、前記ランダムに選択されるデータは、前記第一コミットメント正当性検証手段で計算される各ハッシュ関数へ入力され、前記ベクトルレスポンスの一つの成分が前記各ハッシュ関数へ入力され、前記Schnorrチャレンジは、前記ベクトルチャレンジの一次式、及び前記基底ベクトルの一次式であり、前記Schnorrレスポンスは、前記ベクトルレスポンスの一次式、及び前記基底ベクトルの一次式であることを特徴とする。
【0030】
請求項20記載の発明は、請求項19記載の検証装置において、前記Schnorrチャレンジは、前記ベクトルチャレンジと前記基底ベクトルとの内積であり、前記Schnorrレスポンスは、前記ベクトルレスポンスと前記基底ベクトルとの内積であることを特徴とする。
【0031】
請求項21記載の発明は、請求項20記載の検証装置において、前記メッセージがMであり、かつ前記判定するデータが(r,{C_{ij}},G,Ξ)であるとき、前記基底ベクトル計算手段は、前記公開鍵と{C_{ij}}とを含むデータのハッシュ値を計算し、該ハッシュ値が前記基底ベクトルV=(u_1,...,u_N)であり、
前記ベクトルチャレンジ計算手段は、前記公開鍵および{C_{ij}},G,r,Mを含むデータのハッシュ値を計算し、該ハッシュ値が前記ベクトルチャレンジK=(c_1,...,c_N)であり、前記第1のコミットメント正当性検証手段は、各j=1,...,Nに対し、C_{c_jj}と前記ハッシュ関数とが一致する場合のみC_{c_jj}が正当であると判断し、全てのC_{c_jj}が正当であるときにのみ{C_{jj}}が正当であると判断し、前記ハッシュ関数が公開鍵及びξ_{j},c_j,j,rを含むデータのハッシュ値であり、前記第2の正当性検証手段は、g^{<V,Ξ>}=h^{<V,K>}Gが成立するか否かを判定し、g^{<V,Ξ>}=h^{<V,K>}Gが成立したとき、前記署名文が正当であると判定することを特徴とする。
【0032】
請求項22記載の発明は、請求項16記載の検証装置において、前記ベクトルチャレンジを算出するベクトルチャレンジ計算手段と、前記第1のコミットメントの正当性を判定する第1のコミットメント正当性検証手段と、前記べき乗剰余を算出し、前記ベクトルレスポンスの正当性を判定する第2の正当性検証手段と、前記第1のコミットメント正当性検証手段及び前記第2の正当性検証手段において正当性が認められた場合のみ前記署名文を受理することを特徴とする。
【0033】
請求項23記載の発明は、請求項22記載の検証装置において、前記第1のコミットメント正当性検証手段は、前記入力されたデータの一部をハッシュ関数に入力したときのハッシュ値と前記第1のコミットメントとが一致したとき、前記第1のコミットメントが正当であると判断し、前記ハッシュ関数へ入力される前記データは、二つのべき乗剰余を算出し、前記二つのべき乗剰余の一方が前記他方のべき乗剰余に前記第二コミットメントを乗算した値と等しいか否かを判定し、前記判定するデータは、第2のコミットメントと前記ベクトルレスポンスと有し、前記公開鍵は、離散対数問題に係る巡回群の元を有し、前記各べき乗剰余は、前記公開鍵の一部である元の他方を位数、Schnorrチャレンジを集合であり、前記Schnorrチャレンジは、前記ベクトルチャレンジと前記基底ベクトルとを用いて算出され、前記Schnorrレスポンスは、前記ベクトルレスポンスと前記基底ベクトルとを用いて算出されることを特徴とする。
【0034】
請求項24記載の発明は、請求項23記載の検証装置において、前記署名装置が正当に署名文を作成した場合にはランダムに選ばれるはずのデータが含まれていない場合、前記データの受理を拒否し、前記ランダムに選ばれるはずのデータは、前記第一コミットメント正当性検証手段で計算される各ハッシュ関数へ入力され、前記ベクトルレスポンスの一つの成分が前記各ハッシュ関数へ入力され、前記Schnorrチャレンジは、前記ベクトルチャレンジの一次式、及び前記基底ベクトルの一次式であり、前記Schnorrレスポンスは、前記ベクトルレスポンスの一次式、及び前記基底ベクトルの一次式であることを特徴とする。
【0035】
請求項25記載の発明は、請求項24記載の検証装置において、前記Schnorrチャレンジが前記ベクトルチャレンジと前記基底ベクトルとの内積であり、前記Schnorrレスポンスが前記ベクトルレスポンスと前記基底ベクトルとの内積であることを特徴とする。
【0036】
請求項26記載の発明は、請求項25記載の検証装置において、前記メッセージをMとし、前記検証する署名文が({C_{ij}},{r_{cjj}},G,Ξ)であるとき、前記ベクトルチャレンジ計算手段は、K=(c_{1},...,c_{N})=H_{{0,1}^{N}}(g,h,{C_{ij}},G,M)を算出し、前記第一コミットメント正当性検証手段は、j=1,...,Nのすべてについて、C_{c_jj}=H_{{0,1}^ν}(ξ_j,r_{c_jj})が成立するか否かを判定し、全てのjについて成立する場合、b=1と、成立しない場合、b=0と判定し、b=0のとき、前記第2の正当性検証手段は、g^{<V,Ξ>}=h^{<V,K>}Gが成立するか否かを判定し、g^{<V,Ξ>}=h^{<V,K>}Gが成立しないとき、b=0とし、前記署名文が受理されなかった旨のデータを出力し、g^{<V,Ξ>}=h^{<V,K>}Gが成立しているとき、b=1とし、前記署名文が受理された旨のデータを出力することを特徴とする。
[0037]
請求項27記載の証明装置は、請求項5記載の方法によって証明文の正当性を判定する方法を用いることを特徴とする。
[0038]
請求項28記載の証明装置は、請求項9記載の方法によって署名文の正当性を判定する方法を用いることを特徴とする。
[0039]
請求項29記載の証明装置は、請求項14記載の方法によって作成された署名文の正当性を判定することを特徴とする。
[0040]
[0041]
請求項31記載の発明は、検証者指定証明方式の検証装置における公開鍵の正当性を判定する証明装置であって、前記検証装置の公開鍵は、二つのデータを含み、前記第1のデータと第2のデータとが同じ巡回群に属し、検証者の秘密鍵又はその一部が前記第一のデータを位数とし、前記第2のデータを離散対数とし、正当性を判定する証明文、若しくはその一部として請求項5記載の署名装置によって作成された署名文を用いることを特徴とする。
[0042]
請求項32記載の発明は、検証者指定証明方式の検証装置における公開鍵の正当性を判定する証明装置であって、前記検証装置の公開鍵は、二つのデータを含み、前記第1のデータと第2のデータとが同じ巡回群に属し、検証者の秘密鍵又はその一部が前記第一のデータを位数とし、前記第2のデータを離散対数とし、正当性を判定する証明文、若しくはその一部として請求項9記載の署名装置によって作成された署名文を用いることを特徴とする。
[0043]
請求項33記載の発明は、検証者指定証明方式の検証装置における公開鍵の正当性を判定する証明装置であって、前記検証装置の公開鍵は、二つのデータを含み、前記第1のデータと第2のデータとが同じ巡回群に属し、検証者の秘密鍵又はその一部が前記第一のデータを位数とし、前記第2のデータを離散対数とし、正当性を判定する証明文、若しくはその一部として請求項14記載の署名装置によって作成された署名文を用いることを特徴とする。
【0044】
請求項34記載の発明は、検証者指定証明方式の検証装置の公開鍵に対する証明文の正当性を検証装置であって、請求項20記載の方法によって検証することを特徴とする。
【0045】
請求項35記載の発明は、検証者指定証明方式の検証装置の公開鍵に対する証明文の正当性を検証する検証装置であって、請求項25記載の方法によって検証することを特徴とする。
【0046】
請求項36記載の暗号化装置は、暗号文の作成に使用した乱数の知識を証明する証明文、若しくはその一部として請求項5記載の方法で作成された署名文を用いることを特徴とする。
【0047】
請求項37記載の暗号化装置は、暗号文の作成に使用した乱数の知識を証明する証明文、若しくはその一部として請求項9記載の方法で作成された署名文を用いることを特徴とする。
【0048】
請求項38記載の暗号化装置は、暗号文の作成に使用した乱数の知識を証明する証明文、若しくはその一部として請求項14記載の方法で作成された署名文を用いることを特徴とする。
【0049】
請求項39記載の復号化装置は、暗号文の一部として証明文を含み、前記証明文を請求項20記載の方法により検証することを特徴とする。
【0050】
請求項40記載の復号化装置は、暗号文の一部として証明文を含み、前記証明文を請求項25記載の方法により検証することを特徴とする。
【発明の効果】
【0051】
本発明は、ハッシュ値をコミットメントとして用いていることにより、攻撃者をrewindすることなくコミットメントから攻撃者の秘密情報を要約することができ、かつSchnorr署名方式よりも安全性を確保することができる。また、署名・検証でそれぞれ一回ずつ巾乗剰余計算を行うことにより、署名検証計算における計算量が少なくすることができる。
【発明を実施するための最良の形態】
【0052】
以下に、本実施形態に係る署名装置及び検証装置の構成及び動作について説明する。
【0053】
[第1の実施形態]
図1は、本実施形態に係る署名装置SBN0及び検証装置VBN0の構成を示すブロック図である。署名装置SBN0は、受信装置RBN0を用いてデータを受信し、送信装置SeBN0からデータを送信する。検証装置VBN0は、受信装置RBN1を用いてデータを受信する。データの通信に使う通信路には、例えばLAN、インターネット等を用いることができるが、これに限定されるものではない。
【0054】
ここで、本実施形態において記号について説明する。
【0055】
Aは、位数がqの巡回群である。位数qのビット数は、κである。gは、巡回群Aの基点を表す。なお、巡回群Aの位数qを公開しても巡回群Aに係る離散対数問題の改ざんは困難なものとする。
【0056】
Zは、整数全体のなす環を表す。Nは、自然数全体のなす集合を表す。ベクトルaに対し、aの第i成分をa_iと表す。さらに<・,・>で内積を表す。ベクトルaとbの内積は、<a,b>=a_1b_1+・・・a_Nb_Nとする。集合XのX値ハッシュ関数は、H_Xで表す。
【0057】
次に、鍵生成の方法を説明する。ランダムにx∈(Z/qZ)\{0}を取り、h=g^xとする。公開鍵及び秘密鍵は、それぞれ(g,h,q)、xである。署名装置SBN0は、記憶部SB0に公開鍵と秘密鍵を保存する。また、公開鍵は、検証装置VBN0が何らかの形で入手できる場所に保管されているものとする。入手方法としては、例えば、インターネット上に公開された公開鍵簿に保管する手段、署名装置SBN0から直接入手する手段等がある。検証装置VBN0は、必要に応じて公開鍵を入手し、記憶部SB0に保管する。鍵生成方法の詳細は非特許文献11を参照されたい。以後、すでに検証装置VBN0が公開鍵を入手した状態から説明する。
【0058】
まず、SBN0の動作を図1から3を用いて説明する。
【0059】
受信装置RBN0がメッセージを受け取ると、署名装置SBN0は、まず、該メッセージを入力手段SB1に入力する。そして、コミティッドベクトル選択手段SB2、第一コミットメント計算手段SB3、基底ベクトル計算手段SB4、第二コミットメント計算手段SB5、ベクトルチャレンジ計算手段SB6、ベクトルレスポンス計算手段SB7、及び署名文出力手段SB8において、署名文が作成・出力される。
【0060】
各手段(SB1からSB7)は、必要に応じて記憶部SB0からデータを読み込み、処理を施した後、記憶部SB0に格納する。
【0061】
以下に各手段(SB1からSB7)における具体的な処理について説明する。
【0062】
入力手段SB1は、受信装置RBN0からメッセージMを受け取り、メッセージMを記憶部SB0に格納する。
【0063】
次に、コミティッドベクトル選択手段SB2における処理について説明する。
【0064】
まず、コミティッドベクトル選択手段SB2は、記憶部SB0にメッセージMが格納されると、位数qを記憶部SB0から読み込む(SF2)。位数qが読み込まれると、コミティッドベクトル選択手段SB2は、位数qの剰余群X_{01},...,X_{0N}∈(Z/qZ)をランダムに選択する(SF3)。次に、j=1,...,Nの全てについて、X_{1j}=x+X_{0j}modqを算出する(SF4)。そして、i=0及びj=1,...,NのX_{0j}をY_0と、i=0及びj=1,...,NのX_{1j}をY_1とし(SF5)、第iコミティッドベクトルと呼ぶ。Y_0及びY_1は、記憶部SB0に格納される(SF6)。
【0065】
第一コミットメント計算手段SB3における処理について説明する。
【0066】
第一コミットメント計算手段SB3は、まず、(ν,g,h,{X_{ij}},i,j,r)を記憶部SB0から読み込む(SF7)。次に、第一コミットメント計算手段SB3は、ランダムにνビットのビット列rを選択する(SF8)。そして、ビット列r及び公開鍵(g,h,q)を含むデータのハッシュ値C_{ij}=H_{{0,1}?ν}(g,h,X_{ij},i,j,r)を算出する(SF9)。ここで、i=0,1とする。なお、本実施形態においては、第一コミットメント計算手段SB3によって算出されたハッシュ値C_{ij}を第一コミットメントとし、{C_{ij}}_{i=0,1,j=1,...,N}を第一コミットメントベクトルとする。
【0067】
第一コミットメント計算手段SB3によって算出された第一コミットメントベクトル(r,{C_{ij}})は、記憶部SB0に格納される(SF10)。
【0068】
基底ベクトル計算手段SB4における処理について説明する。
【0069】
まず、基底ベクトル計算手段SB4は、(q,N,g,h,{C_{ij}})を記憶部SB0から読み込む(SF11)。
【0070】
次に、基底ベクトル計算手段SB4は、公開鍵(q,g,h)及び第一コミットメント{C_{ij}}を含むデータのハッシュ値V=(u_1,...,u_N)=H_{((Z/qZ)\{0})^{N}}(g,h,{C_{ij}})を算出し(SF12)、Vを基底ベクトルとして記憶部SB0に格納する(SF13)。
【0071】
次に、第二コミットメント計算手段SB5を説明する。
【0072】
まず、第二コミットメント計算手段SB5は、(q,g,V,Y_0)を記憶部SB0から読み出し(SF14)、基底ベクトルVとY_0との内積を算出する(SF15)。さらに、第二コミットメントG=g^{X}を算出し(SF16)、第二コミットメントGを記憶部SB0に格納する(SF17)。
【0073】
次に、ベクトルチャレンジ計算手段SB6における動作を説明する。
【0074】
まず、ベクトルチャレンジ計算手段SB6は、(g,h,{C_{ij}},G,r,M)を記憶部SB0から読み込み(SF18)、ベクトルチャレンジK=(c_1,...,c_N)=H_{{0,1}^N}(g,h,{C_{ij}},G,r,M)を算出し(SF19)、記憶部SB0に格納する(SF20)。
【0075】
次に、ベクトルレスポンス計算手段SB7における動作を説明する。
【0076】
まず、ベクトルレスポンス計算手段SB7は、({X_{ij}},{c_j})を記憶部SB0から読み出し(SF21)、j=1,...,Nにおけるξ_{j}={c_jj}を算出し、ベクトルレスポンスΞ=(ξ_1,...,ξ_κ)として記憶部SB0に格納する(SF24)。
【0077】
次に、署名文出力手段SB8の動作について説明する。
【0078】
署名文出力手段SB8は、署名文(r,{C_{ij}},G,Ξ)を読み出し(SF25)、署名文(r,{C_{ij}},G,Ξ)を検証装置VBN0に出力する(SR26)。
【0079】
次に、検証装置VBN0の構成及び動作について図1及び図4を用いて説明する。
【0080】
受信装置RBN1がメッセージMを受信すると、入力手段VB1はメッセージM及びその署名文(r,{C_{ij}},G,Ξ)を記憶部VB0に格納する(VF1)。メッセージM及び署名文(r、{C_{ij}},G,Ξ)が記憶部VB0に格納されると、基底ベクトル計算手段VB2、ベクトルチャレンジVB3、第一正当性検証手段VB4、第二正当性検証手段VB5、及び出力手段VB6における以下の検証処理を経て、署名文の正当性が検証される。
【0081】
まず、基底ベクトル計算手段VB2における動作について説明する。
【0082】
基底ベクトル計算手段VB2は、記憶部VB0から(N,g,h,{C_{ij}})を読み出し(VF2)、基底ベクトルV=(u_1,...,u_N)=H_{((Z/qZ)\{0})^{N}}(g,h,{C_{ij}})を算出し(VF3)、記憶部VB0に格納する(VF4)。
【0083】
次に、ベクトルチャレンジ計算手段VB3における動作について説明する。
【0084】
ベクトルチャレンジ計算手段VB3は、(ν,g,h,{C_{ij}},G,r,M)を記憶部VB0から読み込み(VF5)、ベクトルチャレンジK=(c_1,...,c_N)=H_{{0,1}^ν}(g,h,{C_{ij}},G,r,M)を算出し(VF6)、記憶部VB0に格納する(VF7)。
【0085】
次に、第一コミットメント正当性検証手段VB4における動作について説明する。
【0086】
まず、第一コミットメント正当性検証手段VB4は、記憶部VB0から(ν,g,h,ξ_{j},{c_j},{C_{c_jj}})を読み出す(VF8)。そして、j=1,...,Nそれぞれについて、H_{{0,1}^{ν}}(g,h,ξ_{j},c_j,j,r)=C_{c_jj}が成立するか否かを検証する。そして、H_{{0,1}^{ν}}(g,h,ξ_{j},c_j,j,r)=C_{c_jj}が成立したjをb=1とし、不成立のjをb=0とし、記憶部VB0に格納する(VF9)。さらに、第一のコミットメント正当性検証手段VB4は、j=1,...,Nに対応するbが0であるか否かを判定する(VF10)。そして、b=0のときは(VF10/YES)、検証を終了する。b=1のときは(VF10/NO)、第二正当性検証手段VB5における処理に移行する。
【0087】
まず、第二正当性検証手段VB5は、(b,g,h,V,Ξ,K,G)を記憶部VB0から読み出す(VF12)。次に、g^{<V,Ξ>}=h^{<V,K>}Gが成立するか否かを確認し、成立している場合はVF9において格納されたb=1をb=0に書き換える(VF13、VF14))。ここで、<V,Ξ>をSchnorrレスポンス、<V,K>をSchnorrチャレンジとする。
【0088】
最後に、出力手段VB6は、b=1ならば署名文が受理された旨のデータを出力し、b=0ならば署名文が棄却された旨のデータを出力する。
【0089】
[第2の実施形態]
図1は、本実施形態に係る署名装置SBN0及び検証装置VBN0の構成を示すブロック図である。署名装置SBN0は、受信装置RBN0を用いてデータを受信し、送信装置SeBN0からデータを送信する。検証装置VBN0は、受信装置RBN1を用いてデータを受信する。データの送受信は、例えば、LAN、インターネット等を用いて行われるが、これに限定されるものではない。
【0090】
ここで、本実施形態において記号について説明する。
【0091】
Aは、位数がqの巡回群である。位数qのビット数は、κである。gは、巡回群Aの基点を表す。なお、巡回群Aの位数qを公開しても巡回群Aに係る離散対数問題の改ざんは困難なものとする。
【0092】
Zは、整数全体のなす環を表す。Nは、自然数全体のなす集合を表す。ベクトルaに対し、aの第i成分をa_iと表す。さらに<・,・>で内積を表す。ベクトルaとbの内積は、<a,b>=a_1b_1+・・・a_Nb_Nとする。集合XのX値ハッシュ関数は、H_Xで表す。そして、R_{κ+ζ}=Z∩[0,2^{κ+ζ}]とする。集合Xのハッシュ値関数は、H_Xとする。
【0093】
次に、鍵生成の方法を説明する。ランダムにx∈(Z/qZ)\{0}を取り、h=g^xとする。公開鍵及び秘密鍵は、それぞれ(g,h,q)、xである。署名装置SBN0は、記憶部SB0に公開鍵と秘密鍵を保存する。また、公開鍵は、検証装置VBN0が何らかの形で入手できる場所に保管されているものとする。入手方法としては、例えば、インターネット上に公開された公開鍵簿に保管する手段、署名装置SBN0から直接入手する手段等がある。検証装置VBN0は、必要に応じて公開鍵を入手し、記憶部SB0に保管する。鍵生成方法の詳細は非特許文献11を参照されたい。以後、すでに検証装置VBN0が公開鍵を入手した状態から説明する。
【0094】
次に、本実施形態に係る署名装置SBN0の具体的な動作を図1、5、及び6を用いて説明する。
【0095】
受信装置RBN0がメッセージを受け取ると、署名装置SBN0は、まず、該メッセージを入力手段SB1に入力する。そして、コミティッドベクトル選択手段SB2、第一コミットメント計算手段SB3、基底ベクトル計算手段SB4、第二コミットメント計算手段SB5、ベクトルチャレンジ計算手段SB6、ベクトルレスポンス計算手段SB7、及び署名文出力手段SB8において、署名文が作成・出力される。
【0096】
次に、コミティッドベクトル選択手段SB2の詳細な動作について説明する。
【0097】
コミティッドベクトル選択手段SB2は、まず、記憶部SB0から(M,κ,ζ)を読み込む(SF22)。次に、剰余群X_{01},...,X_{0N}をR_{κ+ζ}から選択する(SF23)。そして、j=1,...,Nの全てについてX_{1j}=x+X_{0j}を算出する(SF24)。そして、i=0及びj=1,...,NのX_{0j}をY_0と、i=0及びj=1,...,NのX_{1j}をY_1とし(SF25)、第iコミティッドベクトルと呼ぶ。Y_0及びY_1は、記憶部SB0に格納される(SF26)。
【0098】
第一コミットメント計算手段SB3における処理について説明する。
【0099】
第一コミットメント計算手段SB3は、まず、(N,{c_{j}},{X_{ij}})を記憶部SB0から読み込む(SF27)。次に、第一コミットメント計算手段SB3は、ランダムにνビットのビット列rを選択する(SF28)。そして、ビット列r及び公開鍵(g,h,q)を含むデータのハッシュ値C_{ij}=H_{{0,1}?ν}(g,h,X_{ij},i,j,r)を算出する(SF29)。ここで、i=0,1とする。なお、本実施形態においては、第一コミットメント計算手段SB3によって算出されたハッシュ値C_{ij}を第一コミットメントとし、{C_{ij}}_{i=0,1,j=1,...,N}を第一コミットメントベクトルとする。
【0100】
第一コミットメント計算手段SB3によって算出された第一コミットメントベクトル(r,{C_{ij}})は、記憶部SB0に格納される(SF210)。
【0101】
基底ベクトル計算手段SB4における処理について説明する。
【0102】
まず、基底ベクトル計算手段SB4は、(κ,ζ,N,g,h,{C_{ij}})を記憶部SB0から読み込む(SF211)。
【0103】
次に、基底ベクトル計算手段SB4は、公開鍵(q,g,h)及び第一コミットメント{C_{ij}}を含むデータのハッシュ値V=(u_1,...,u_N)=H_{(R_{κ+ζ}\{0})^{N}}(g,h,{C_{ij}})を算出し(SF212)、Vを基底ベクトルとして記憶部SB0に格納する(SF213)。
【0104】
次に、第二コミットメント計算手段SB5を説明する。
【0105】
まず、第二コミットメント計算手段SB5は、(V,Y_0,G)を記憶部SB0から読み出し(SF214)、基底ベクトルVとY_0との内積を算出する(SF215)。さらに、第二コミットメントG=g^{X}を算出し(SF216)、第二コミットメントGを記憶部SB0に格納する(SF217)。
【0106】
次に、ベクトルチャレンジ計算手段SB6における動作を説明する。
【0107】
まず、ベクトルチャレンジ計算手段SB6は、(g,h,{C_{ij}},G,r,M)を記憶部SB0から読み込み(SF18)、ベクトルチャレンジK=(c_1,...,c_N)=H_{{0,1}^N}(g,h,{C_{ij}},G,r,M)を算出し(SF19)、記憶部SB0に格納する(SF220)。
【0108】
次に、ベクトルレスポンス計算手段SB7における動作を説明する。
【0109】
まず、ベクトルレスポンス計算手段SB7は、(N,{c_{j}},{X_{ij}})を記憶部SB0から読み込み(SF221)、j=1,...,Nにおけるξ_{j}=X_{c_jj}を算出し、ベクトルレスポンスΞ=(ξ_1,...,ξ_N)として記憶部SB0に格納する(SF24)。
【0110】
次に、署名文出力手段SB8の動作について説明する。
【0111】
署名文出力手段SB8は、署名文(r,{C_{ij}},G,Ξ)を読み出し(SF225)、署名文(r,{C_{ij}},G,Ξ)を検証装置VBN0に出力する(SR226)。
【0112】
次に、検証装置VBN0の構成及び動作について図1及び図7を用いて説明する。
【0113】
受信装置RBN1がメッセージMを受信すると、入力手段VB1はメッセージM及びその署名文(r,{C_{ij}},G,Ξ)を記憶部VB0に格納する(VF1)。メッセージM及び署名文(r、{C_{ij}},G,Ξ)が記憶部VB0に格納されると、基底ベクトル計算手段VB2、ベクトルチャレンジVB3、第一正当性検証手段VB4、第二正当性検証手段VB5、及び出力手段VB6における以下の検証処理を経て、署名文の正当性が検証される。
【0114】
まず、基底ベクトル計算手段VB2における動作について説明する。
【0115】
基底ベクトル計算手段VB2は、記憶部VB0から(N,κ,ζ,g,h,{C_{ij}})を読み出し(VF22)、基底ベクトルV=(u_1,...,u_N)=H_{(R_{κ+ζ}\{0})^{N}}(g,h,{C_{ij}})を算出し(VF23)、記憶部VB0に格納する(VF24)。
【0116】
次に、ベクトルチャレンジ計算手段VB3における動作について説明する。
【0117】
ベクトルチャレンジ計算手段VB3は、(N,g,h,{C_{ij}},G,r,M)を記憶部VB0から読み込み(VF25)、ベクトルチャレンジK=(c_1,...,c_N)=H_{{0,1}^N}(g,h,{C_{ij}},G,r,M)を算出し(VF26)、記憶部VB0に格納する(VF27)。
【0118】
次に、第一コミットメント正当性検証手段VB4における動作について説明する。
【0119】
まず、第一コミットメント正当性検証手段VB4は、記憶部VB0から(ν,g,h,ξ_{j},{c_j},{C_{c_jj}})を読み出す(VF28)。そして、j=1,...,Nそれぞれについて、H_{{0,1}^{ν}}(g,h,ξ_{j},c_j,j,r)=C_{c_jj}が成立するか否かを検証する。そして、H_{{0,1}^{ν}}(g,h,ξ_{j},c_j,j,r)=C_{c_jj}が成立したjをb=1とし、不成立のjをb=0と判定する(VF210)。さらに、第一のコミットメント正当性検証手段VB4は、j=1,...,Nに対応するbが0であるか否かを判定する(VF210)。そして、b=0のときは(VF210/NO)、検証を終了する。b=1のときは(VF210/YES)、b=1を記憶部VB0に格納する(VF211)。
【0120】
まず、第二正当性検証手段は、(b,g,h,V,Ξ,K,G)を記憶部VB0から読み出す(VF212)。次に、g^{<V,Ξ>}=h^{<V,K>}Gが成立するか否かを確認し、成立している場合はVF9において格納されたb=1をb=0に書き換える(VF213、VF214))。ここで、<V,Ξ>をSchnorrレスポンス、<V,K>をSchnorrチャレンジとする。
【0121】
最後に、出力手段VB6は、bを記憶部VB0から読みこみ(VF215)、b=1ならば署名文が受理された旨のデータを出力し、b=0ならば署名文が棄却された旨のデータを出力する(VF216)。
【0122】
[第3の実施形態]
図8は、本実施形態に係る署名装置SB30及び検証装置VBN30の構成を示すブロック図である。署名装置SB30は、受信装置RBN30を用いてデータを受信し、送信装置SeBN30からデータを送信する。検証装置VBN30は、受信装置RBN31を用いてデータを受信する。データの送受信は、例えば、LAN、インターネット等を用いて行われるが、これに限定されるものではない。
【0123】
ここで、本実施形態において記号について説明する。
【0124】
Aは、位数がqの巡回群である。位数qのビット数は、κである。gは、巡回群Aの基点を表す。なお、巡回群Aの位数qを公開しても巡回群Aに係る離散対数問題の改ざんは困難なものとする。
【0125】
Zは、整数全体のなす環を表す。Nは、自然数全体のなす集合を表す。ベクトルaに対し、aの第i成分をa_iと表す。さらに<・,・>で内積を表す。ベクトルaとbの内積は、<a,b>=a_1b_1+・・・a_Nb_Nmodqとする。集合XのX値ハッシュ関数は、H_Xで表す。そして、基底ベクトルは、V=(u_1,...,u_{N})=(2^{0},...,2^{N−1})とする。
【0126】
次に、鍵生成の方法を説明する。ランダムにx∈(Z/qZ)\{0}を取り、h=g^xとする。公開鍵及び秘密鍵は、それぞれ(g,h,q)、xである。署名装置SBN30は、記憶部SB30に公開鍵と秘密鍵を保存する。また、公開鍵は、検証装置VBN30が何らかの形で入手できる場所に保管されているものとする。入手方法としては、例えば、インターネット上に公開された公開鍵簿に保管する手段、署名装置SBN30から直接入手する手段等がある。検証装置VBN30は、必要に応じて公開鍵を入手し、記憶部SB30に保管する。鍵生成方法の詳細は非特許文献11を参照されたい。以後、すでに検証装置VBN0が公開鍵を入手した状態から説明する。
【0127】
次に、本実施形態に係る署名装置SBN30の具体的な動作を図8、9、及び10を用いて説明する。
【0128】
受信装置RBN30がメッセージを受け取ると、署名装置SBN30は、まず、該メッセージを入力手段SB31に入力する。そして、コミティッドベクトル選択手段SB32、第二コミットメント計算手段SB33、第一コミットメント計算手段SB34、ベクトルチャレンジ計算手段SB35、ベクトルレスポンス計算手段SB36、及び署名文出力手段SB37において、署名文が作成・出力される。
【0129】
入力手段SB31は、受信装置RBN30からメッセージMを受け取り、メッセージMを記憶部SB30に格納する。
【0130】
次に、コミティッドベクトル選択手段SB32の詳細な動作について説明する。
【0131】
コミティッドベクトル選択手段SB32は、まず、記憶部SB30から(q,x)を読み込む(SF32)。次に、剰余群X_{01},...,X_{0N}を(Z/qZ)から選択する(SF33)。そして、j=1,...,Nの全てについてX_{1j}=x+X_{0j}を算出する(SF34)。そして、i=0及びj=1,...,NのX_{0j}をY_0と、i=0及びj=1,...,NのX_{1j}をY_1とし(SF35)、第iコミティッドベクトルと呼ぶ。Y_0及びY_1は、記憶部SB0に格納される(SF36)。
【0132】
第二コミットメント計算手段SB33における処理について説明する。
【0133】
第二コミットメント計算手段SB33は、まず、(q,V,Y_0,g)を記憶部SB30から読み込み(SF37)、集合X=<{Y_0,V}>=Σ_jX_{0j}2^{j−1}modqを算出する(SF38)。次に、コミットメントG=g^{X}を算出し(SF39)、コミットメントGを記憶部SB30に格納する(SF310)。
【0134】
第一コミットメント計算手段34における処理について説明する。
【0135】
第一コミットメント計算手段34は、まず(ν,{X_{ij}})を読み込み(SF311)、i,jそれぞれについてランダムにνビットのビット列rを選択する(SF312)。そして、ビット列r及び公開鍵(g,h,q)を含むデータのハッシュ値C_{ij}=H_{{0,1}?ν}(X_{ij},r_{ij})を算出する(SF313)。ここで、i=0,1とする。なお、本実施形態においては、第一コミットメント計算手段SB3によって算出されたハッシュ値C_{ij}を第一コミットメントとする。
【0136】
第一コミットメント計算手段SB3によって算出された第一コミットメントベクトル{C_{ij}}は、記憶部SB0に格納される(SF314)。
【0137】
次に、ベクトルチャレンジ計算手段SB35における動作を説明する。
【0138】
まず、ベクトルチャレンジ計算手段SB35は、(N,g,h,{C_{ij}},G,M)を記憶部SB0から読み込み(SF315)、ベクトルチャレンジK=(c_1,...,c_N)=H_{{0,1}^N}(g,h,{C_{ij}},G,M)を算出し(SF316)、記憶部SB0に格納する(SF317)。
【0139】
次に、ベクトルレスポンス計算手段SB36における動作を説明する。
【0140】
まず、ベクトルレスポンス計算手段SB36は、({c_{j}},{X_{ij}})を記憶部SB0から読み込み(SF318)、j=1,...,Nにおけるξ_{j}=X_{c_jj}を算出し(SF319)、ベクトルレスポンスΞ=(ξ_1,...,ξ_κ)として記憶部SB30に格納する(SF320、SF321)。
【0141】
次に、署名文出力手段SB37の動作について説明する。
【0142】
署名文出力手段SB37は、署名文({C_{ij}},{r_{c_jj}},G,Ξ)を読み出し(SF322)、署名文({C_{ij}},{r_{c_jj}},G,Ξ)を検証装置VBN30に出力する(SF323)。
【0143】
次に、検証装置VBN0の構成及び動作について図8及び11を用いて説明する。
【0144】
受信装置RBN31がメッセージMを受信すると、入力手段VB31はメッセージM及びその署名文({C_{ij}},{r_{c_jj}},G,Ξ)を記憶部VB0に格納する(VF31)。メッセージM及び署名文({C_{ij}},{r_{c_jj}},G,Ξ)が記憶部VB30に格納されると、ベクトルチャレンジVB32、第一正当性検証手段VB34、第二正当性検証手段VB33、及び出力手段VB35における以下の検証処理を経て、署名文の正当性が検証される。
【0145】
次に、ベクトルチャレンジ計算手段VB32における動作について説明する。
【0146】
ベクトルチャレンジ計算手段VB32は、(N,g,h,{C_{ij}},G,M)を記憶部VB30から読み込み(VF32)、ベクトルチャレンジK=(c_1,...,c_N)=H_{{0,1}^N}(g,h,{C_{ij}},G,M)を算出し(VF33)、記憶部VB30に格納する(VF34)。
【0147】
次に、第一コミットメント正当性検証手段VB33における動作について説明する。
【0148】
まず、第一コミットメント正当性検証手段VB33は、記憶部VB30から(ν,ξ_j,r_{c_jj},{C_{c_jj}})を読み出す(VF35)。そして、j=1,...,Nそれぞれについて、H_{{0,1}^{ν}}(ξ_j,r_{c_jj},j,r)=C_{c_jj}が成立するか否かを検証する。そして、H_{{0,1}^{ν}}(g,h,ξ_{j},c_j,j,r)=C_{c_jj}が成立したjをb=1とし、不成立のjをb=0と判定する(VF36)。さらに、第一のコミットメント正当性検証手段VB4は、j=1,...,Nに対応するbが0であるか否かを判定する(VF37)。そして、b=0のときは(VF37/NO)、検証を終了する。b=1のときは(VF37/YES)、b=1を記憶部VB0に格納する(VF38)。
【0149】
まず、第二正当性検証手段33は、(b,g,h,V,Ξ,K,G)を記憶部VB30から読み出す(VF39)。次に、g^{<V,Ξ>}=h^{<V,K>}Gが成立するか否かを確認し、成立している場合はVF9において格納されたb=1をb=0に書き換える(VF310、VF311))。ここで、<V,Ξ>をSchnorrレスポンス、<V,K>をSchnorrチャレンジとする。
【0150】
最後に、出力手段VB35は、bを記憶部VB30から読み込み(VF312)、b=1ならば署名文が受理された旨のデータを出力し、b=0ならば署名文が棄却された旨のデータを出力する。
【実施例1】
【0151】
第1の実施形態に離散対数のストレートラインエクストラクタブル証明方式(非特許文献12参照)を適用した実施例について説明する。
【0152】
証明装置及び検証装置の構成を図12に示す。図12に示すように本実施例には証明装置PSPBN0及び検証装置VSPBN0があり、それぞれ第1の実施形態に係る署名装置SBN0及び検証装置VBN0に対応する。
【0153】
本実施例においては、メッセージMの変わりに予め決められたID又は乱数を用いる。なお、メッセージMの代わりにID又は乱数を用いること以外は、各部・各手段における動作は、第一の実施形態と同様である。
【0154】
さらに、本実施例には、第二又は三の実施形態に離散対数のストレートラインエクストラクタブル証明方式を適用することもできる。
【実施例2】
【0155】
本実施例は、実施例1に係る証明装置DVSSBN0と検証装置DVSVBN0に検証者指定証明方式を適用した例である。
【0156】
証明装置DVSSBN0は、受信装置DVSRBN0によってデータを受信し、通信装置DVSCBN0からデータを送信する。検証装置DVSVBN0は、受信装置DVSRBN1を用いてデータを受信する。データの通信に使う通信路は、例えばLAN、インターネット等を用いる。
【0157】
証明装置DVSSBN0は、入力手段DVSSB1、鍵正当性証明文検証手段DVSSB2、証明手段DVSSB3、及び記憶部DVSSB0を有して構成される。証明装置DVSSBN0の入力手段DVSSB0から入力されたデータは、記憶部DVSSB0に格納される。
【0158】
検証装置DVSVBN0は、出力手段DVSVB1、鍵正当性証明文作成手段DVSSB2、検証手段DVSVB3、及び記憶部DVSVB0を有して構成される。通信手段DVSCBN0から入力されたデータは、記憶部DVSVB0に格納される。
【0159】
鍵正当性証明文作成手段DVSSB2は、記憶部DVSSB0から必要なデータを読み込み、その計算結果を記憶部DVSSB0に格納する。
【0160】
同様に、証明手段DVSSB3は、必要なデータを記憶部DVSSB0から読み込み、その計算結果を記憶部DVSSB0に格納する。
【0161】
鍵正当性証明文作成手段DVSVB2は、必要なデータを記憶部DVSVB0から読み込み、その計算結果を記憶部DVSVB0に格納する。
【0162】
同様に、検証手段DVSVB3は、必要なデータを記憶部DVSVB0から読み込み、その計算結果を記憶部DVSVB0に記憶する。
【0163】
出力手段DVSVB1は、必要なデータを記憶部DVSSB0から読み込み、データを出力する。
【0164】
対応する秘密を証明するためのインスタンスは、事前に証明装置DVSSBN0、検証装置DVSVBN0の間で共有する。例えば、証明する秘密は、送受信装置を使って通信路を介して送受信され、証明装置DVSSBN0及び検証装置DVSVBN0を作成する際、ハードコーディングしておく方法がある。
【0165】
また、証明装置DVSSBN0は、証明する秘密を事前に保持しているものとする。例えば、送受信装置を使って通信路を通して送る方法や、証明装置DVSSBN0を作成する際にハードコーディングしておく方法がある。
【0166】
次に、検証装置DVSVB0において鍵を生成する方法について説明する。ランダムにx∈(Z/qZ)^*を取り、h=g^xとする。公開鍵及び秘密鍵は、それぞれ(g,h,q)、xである。検証装置DVSVBN0の記憶部DVSVB0は、公開鍵(g,h,q)と秘密鍵xとを保存する。公開鍵(g,h,q)の入手方法としては、例えばインターネット上に公開された公開鍵簿に保管する方法や、検証装置DVSVBN00から直接入手する方法がある。証明装置DVSSBN0は、必要に応じて公開鍵を入手し、記憶部DVSSB0に保管する。鍵生成方法の詳細は、非特許文献11を参照されたい。以後は、すでに証明装置DVSSBN0が公開鍵を入手した状態について説明する。
【0167】
以下、各装置の各手段における動作について説明する。
【0168】
検証装置DVSVBN0は、鍵正当性証明文検証手段DVSVB2を行って自分の公開鍵に対応する秘密鍵を持っていることをあらわす証明文を作成する。証明文を作成する鍵正当性証明文作成手段DVSVB2は、実施例1における証明装置PSPBN0(図12)と同様の動作をする。
【0169】
検証装置DVSVBN0は、通信装置DVSCBN1を介して作成した証明文を使って証明装置DVSSBN0に送信する。証明装置DVSSBN0は、通信装置DVSCBN0を使って証明文を受信する。証明装置DVSPBN0は、鍵正当性証明文検証手段DVSSB2において証明文の正当性を検証する。なお、鍵正当性証明文検証手段DVSSB2は、実施例1における検証装置VSPBN0(図12)と同様の動作をする。
【0170】
証明装置DVSPBN0は、証明手段DVSSB3においてインスタンスに対応する秘密を持っているか、及び検証者の公開鍵に対応する秘密鍵を持っているかを証明する。検証装置DVSVBN0は、検証手段DVSVB3においてその証明の正当性を検証する。
【0171】
証明手段DVSSB3と検証手段DVSVB3とは、それぞれ非特許文献13における証明方法、検証方法と同じなので省略する。詳細は非特許文献13を参照されたい。
【実施例3】
【0172】
本実施例においては、実施例1における構成及び動作に加え暗号方式を実現する(図14に示す)。
【0173】
本実施例では、暗号化装置EVEN0と復号装置DVEN1とを有して構成される。暗号化装置EVEN1は、受信装置RBS0を用いてデータを受信し、送信装置SeBE0を用いてデータを送信する。また、復号装置DBEN0は、受信装置RBE1を用いてデータを受信する。データの通信には、例えば、LAN、インターネット等を用いることができるが、これに限定されるものではない。
【0174】
次に、暗号装置EBEN0の鍵の生成方法について説明する。ランダムにx∈(Z/qZ)^*を取り、h=g^xとする。公開鍵及び秘密鍵は、それぞれ(g,h,q)、xである。暗号装置EBEN0の記憶部EEB0には、公開鍵と秘密鍵とが保存される。また、公開鍵は、復号装置DBEN0が何らかの形で入手できる場所に保管される。入手方法としては、例えばインターネット上に公開された公開鍵簿に保管する方法、暗号化装置EBEN0から直接入手する方法がある。復号装置DBEN0は、必要に応じて公開鍵を入手し、記憶部DBE0に保管する。鍵生成方法の詳細は、非特許文献11を参照されたい。以後は、すでに復号装置DVEN0が公開鍵を入手した状態からの動作について説明する。
【0175】
暗号化装置EBEN0では、入力手段EBE1、暗号化手段EBE2、証明手段EBE3の順に処理が実行される。
【0176】
入力手段EBE1が暗号化すべきメッセージm∈Gを受け取ると、メッセージm∈Gは記憶部EBE0に記憶される。
【0177】
暗号化手段EBE2では、メッセージm∈GのElGamal暗号文が作成される。具体的には、暗号化手段EBE2は、必要なデータを記憶部EBE0から読み込み、ランダムにy∈Z/qZを選択する。そして、I=g^{y}、J=mh^{y}を算出し、暗号文(I,J)として生成する。算出された暗号文(I,J)は、記憶部EBE0に格納する。
【0178】
証明手段EBE3は、まず、必要なデータを記憶部EBE0から読み込み、gを底とするIの離散対数問題による証明文Pを実施例1の証明装置PSPBN0(図12に示す)と同じ方法で作成する。最後に、暗号文(I,J,P)として記憶部EBEに格納する。
【0179】
受信装置RBE1は、暗号文(I,J,P)を受け取ると、暗号文(I,J,P)を記憶部DBE0に格納する。そして、検証手段DBE1、復号手段DBE3、出力手段DBE4の順に処理を実行する。
【0180】
検証手段DBE1は、まず、必要なデータを記憶部DBEから読み込み、暗号文Pを実施例1の検証装置VSPBN0(図12に示す)と同じ方法で検証し、暗号文Pが正当だと判断されたらb=1とし、そうでないときはb=0とする。最後に、その判定結果を記憶部DBEに格納する。
【0181】
復号装置DBEN0は、bを記憶部DBE0から読み込み、b=0なら「暗号文は不当なものである」事を示すデータを出力し、b=1ならば復号手段DBE3における処理を開始する。
【0182】
復号手段DBE3は、ElGamal暗号文を通常の復号操作により復号化する。具体的には、まず、必要なデータを記憶部DBE0から読み込み、m'=J/I^yを計算する。そして、その計算結果を記憶部DBE0に格納する。
【0183】
出力手段DBE4は、m'を記憶部DBE0から読み込み、m'を出力する。
【図面の簡単な説明】
【0184】
【図1】本実施形態に係る署名装置及び検証装置の構成を示すブロック図である。
【図2】本実施形態に係る署名装置における処理のフローチャートである。
【図3】本実施形態に係る署名装置における処理のフローチャートである。
【図4】本実施形態に係る検証装置における処理のフローチャートである。
【図5】本実施形態に係る署名装置における処理のフローチャートである。
【図6】本実施形態に係る署名装置における処理のフローチャートである。
【図7】本実施形態に係る検証装置における処理のフローチャートである。
【図8】本実施形態に係る署名装置及び検証装置の構成を示すブロック図である。
【図9】本実施形態に係る署名装置における処理のフローチャートである。
【図10】本実施形態に係る署名装置における処理のフローチャートである。
【図11】本実施形態に係る検証装置における処理のフローチャートである。
【図12】本実施形態に係る署名装置及び検証装置の構成を示すブロック図である。
【図13】本実施形態に係る証明装置及び検証装置の構成を示すブロック図である。
【図14】本実施形態に係る暗号化装置及び復号装置の構成を示すブロック図である。
【符号の説明】
【0185】
SBN0 署名装置
SB0 記憶部
SB1 入力手段
SB2 コミティッドベクトル選択手段
SB3 第一コミットメント計算手段
SB4 基底ベクトル計算手段
SB5 第二コミットメント計算手段
SB6 ベクトルチャレンジ計算手段
SB7 ベクトルレスポンス計算手段
SB8 署名文出力手段
VBN0 検証装置
VB0 記憶部
VB1 入力手段
VB2 基底ベクトル計算手段
VB3 ベクトルチャレンジ計算手段
VB4 第一正当性検証手段
VB5 第二正当性検証手段
VB6 出力手段

Claims (37)

  1. コミットメントを用いて署名文を生成し、前記コミットメントは、コミットする値を含む組のハッシュ値であり、公開鍵として離散対数問題に係る巡回群の元の対を含むデータを用い、かつ秘密鍵として前記対の位数の離散対数を用いる署名装置において、
    のコミットメントに係るコミティッドベクトルを選択するコミティッドベクトル選択手段と、
    第1のコミットメントを算出する第1のコミットメント計算手段と、
    基底ベクトルを算出する基底ベクトル計算手段と、
    2のコミットメントを生成する第2のコミットメント計算手段と、
    ベクトルチャレンジを算出するベクトルチャレンジ計算手段と、
    前記コミティッドベクトルと前記ベクトルチャレンジと用いてベクトルレスポンスを算出するベクトルレスポンス計算手段と、
    前記コミティッドベクトル、前記第1のコミットメント、前記基底ベクトル、前記第2のコミットメント、前記ベクトルチャレンジ、及び前記ベクトルレスポンスを格納する記憶部とを有し、
    前記基底ベクトルと前記ベクトルチャレンジとがハッシュ値であることを特徴とする署名装置。
  2. 前記コミティッドベクトル選択手段は、複数の前記コミティッドベクトルを選択し、
    前記複数のコミティッドベクトルの各成分と秘密鍵とが群位数を法とする関係式を満たし、
    前記第2のコミットメントは、前記対の一方のべき乗剰余であり、
    前記べき乗剰余のべき指数が前記コミティッドベクトル選択手段によって選択されたデータの一部と前記基底ベクトルと前記ベクトルチャレンジとを用いて算出されるデータであることを特徴とする請求項記載の署名装置。
  3. 前記コミティッドベクトルの各成分と前記秘密鍵とが群位数を法とする一次式を満たし、前記第1のコミットメント乱数を含むデータをもとに算出され、前記データの一部は前記ベクトルチャレンジによって決定され、かつ前記べき指数が前記データの一部及び前記基底ベクトルから一次式で表されることを特徴とする請求項記載の署名装置。
  4. 前記コミティッドベクトルは2つの成分からなり、前記成分の一方は、他方の前記成分に秘密鍵を加えた値の群位数を法として剰余した値であり、
    前記1のコミットメントは前記乱数、及び、前記コミティッドベクトルの各成分を特定するデータをもとに算出され
    前記べき指数は前記データの一部と前記基底ベクトルを内積した値であることを特徴とする請求項記載の署名装置。
  5. セキュリティーパラメータがκ、N、νであり、前記巡回群の位数がqであるとき、
    前記コミティッドベクトル選択手段は、
    剰余群X_{01},...,X_{0N}∈(Z/qZ)をランダムに選択し、
    j=1,・・・Nの前記剰余群X_{0j}にxを加えたものの位数qを法として剰余したものをX_{1j}とし、
    i=0,1の前記コミティッドベクトルは、Y_i=(X_{i1},...,X_{iN})であり、
    前記第1のコミットメント計算手段は、ランダムにνビットのビット列rを選択し、
    i=0,1であり、前記公開鍵、X_{ij},i,j,rを含むデータのハッシュ値を前記第1のコミットメントC_{ij}とし、
    前記基底ベクトル計算手段は、前記公開鍵及び前記第1のコミットメントC_{ij}を含むデータのハッシュ値を前記基底ベクトルV=(u_1,...,u_N)とし、
    前記第2のコミットメント計算手段は、前記基底ベクトルVとY_0との内積を算出し、さらに第2のコミットメントG=g^{X}を算出し、
    前記ベクトルチャレンジ計算手段は、公開鍵、{C_{ij}}、G、r及び前記署名装置が受信したメッセージを含むデータのハッシュ値K=(c_1,...,c_N)を算出し、
    前記ベクトルレスポンス計算手段は、j=1,...,Nすべてについて前記ベクトルレスポンスξ_{j}=X_{c_jj}、及びΞ=(ξ_1,...,ξ_κ)を算出し、
    署名文(r,{C_{ij}},G,Ξ)を出力することを特徴とする請求項記載の署名装置。
  6. 前記コミティッドベクトル選択手段は、前記複数のコミティッドベクトルを選択し、前記複数のコミティッドベクトルの各成分と秘密鍵とが関係式を満たすことを特徴とする請求項記載の署名装置。
  7. 前記関係式は、前記複数のベクトルの各成分と秘密鍵との一次式を満たし、
    前記第1のコミットメントの入力乱数を含むデータをもとに算出されることを特徴とする請求項記載の署名装置。
  8. 前記複数のコミティッドベクトルは、複数の成分を有し、
    前記成分の一方は、他方の成分に秘密鍵を加えたものであり、
    前記第1のコミットメントは前記乱数、及び、前記各成分を特定するデータをもとに算出されることを特徴とする請求項記載の署名装置。
  9. セキュリティーパラメータがκ、N、νであり、整数の集合R{κ+ξ}を0≦R{κ+ξ}<2^{κ+ξ}とするとき、
    前記コミティッドベクトル選択手段は、
    剰余群X_{01},...,X_{0N}∈(Z/qZ)をランダムに選択し、
    j=1,・・・Nの前記剰余群X_{0j}にxを加えたものをX_{1j}とし、
    i=0,1の前記コミティッドベクトルは、Y_i=(X_{i1},...,X_{iN})であり、
    前記第1のコミットメント計算手段は、
    ランダムにνビットのビット列rを選択し、
    i=0,1であり、前記公開鍵、X_{ij},i,j,rを含むデータのハッシュ値を前記第1のコミットメントC_{ij}とし、
    前記基底ベクトル計算手段は、前記公開鍵及び前記第1のコミットメントC_{ij}を含むデータのハッシュ値を前記基底ベクトルV=(u_1,...,u_N)とし、
    前記第2のコミットメント計算手段は、前記基底ベクトルVとY_0との内積を算出し、さらに第2のコミットメントG=g^{X}を算出し、
    前記ベクトルチャレンジ計算手段は、公開鍵、{C_{ij}}、G、rおよび前記署名装置が受信したメッセージを含むデータのハッシュ値K=(c_1,...,c_N)を算出し、
    前記ベクトルレスポンス計算手段は、j=1,...,Nすべてについて前記ベクトルレスポンスξ_{j}=X_{c_jj}、及びΞ=(ξ_1,...,ξ_κ)を算出し、
    署名文(r,{C_{ij}},G,Ξ)を出力することを特徴とする請求項記載の署名装置。
  10. 前記コミティッドベクトル選択手段は、前記コミティッドベクトルを複数選択し、
    前記複数のコミティッドベクトルの各成分と秘密鍵とが群位数を法とする関係式を満たし、
    前記第2のコミットメントは、前記対の一方のべき乗剰余であり、
    前記べき乗剰余のべき指数が前記コミティッドベクトル選択手段によって選択されたデータの一部と前記基底ベクトルと前記ベクトルチャレンジとを用いて算出されたデータであることを特徴とする請求項記載の署名装置。
  11. 前記コミティッドベクトルの各成分と秘密鍵とが群位数を法とする一次式を満たし、前記第1のコミットメント乱数を含むデータをもとに算出され、前記データの一部が前記ベクトルチャレンジによって決定され、前記べき指数が前記データの一部及び前記基底ベクトルに対して一次式で表されることを特徴とする請求項10記載の署名装置。
  12. 前記コミティッドベクトルの各成分は、一方の成分は、他方の成分に秘密鍵を加えた群位数を法として剰余した値であり、前記べき指数が前記データの一部と前記基底ベクトルとを内積した値であり、前記基底ベクトルが所定数tで(1,t^1,t^2,・・・,t^N)と乗算した値であることを特徴とする請求項11記載の署名装置。
  13. 前記メッセージMとするとき、
    前記コミティッドベクトル選択手段は、ランダムにY_0=(X_{01},...,X_{0N})∈Zq^{N}を選択し、j=1,...,NについてX_{1j}=x+X_{0j}modqとし、前記コミティッドベクトルY_1=(X_{11},..,X_{1N}を生成し、
    前記第2のコミットメント計算手段は、X=<{Y_0,V}>=Σ_jX_{0j}2^{j−1}modqを算出し、さらに前記コミットメントG=g^{X}を算出し
    前記第1のコミットメント計算手段は、各i、jについてランダムにr_{ij}∈{0,1}^{ν}を選択し、X_{ij}の第1のコミットメントC_{ij}=H_{{0,1}^ν}(X_{ij},r_{ij})を算出し、
    前記ベクトルチャレンジ計算手段は、K=(c_{1},...,c_{N})=H_{{0,1}^{N}(g,h,{C_{ij}},G,M)を算出し、
    前記ベクトルレスポンス計算手段は、各jに対し、前記ベクトルレスポンスξ_j=X_{c_jj}modqを算出し、さらにΞ=(ξ_{1},...,ξ_{N})を算出し、
    署名文({C_{ij}},{r_{c_jj}},G,Ξ)を出力することを特徴とする請求項12記載の署名装置。
  14. 入力されたデータの正当性を判定する検証装置において、
    前記入力されたデータは、メッセージと前記メッセージに対する署名文とを有し、
    前記データに正当性があるときのみ前記データを受理し、検証計算に第1のコミットメントを用い、前記第1のコミットメントの個数よりも少ない回数のべき乗剰余を実行し、
    前記データの正当性が認められたとき、前記第1のコミットメントは、前記データの一部であるベクトルレスポンスの成分を含むデータのハッシュ値であり、
    公開鍵は、離散対数問題に係る巡回群の元の対を含むデータであり、
    秘密鍵は、前記対の位数の離散対数であることを特徴とする検証装置。
  15. 基底ベクトルを算出する基底ベクトル計算手段と、
    ベクトルチャレンジを算出するベクトルチャレンジ計算手段と、
    前記第1のコミットメントの正当性を判定する第1の当性検証手段と、
    記ベクトルレスポンスの正当性を判定する第2の正当性検証手段と、
    前記各手段において入出力されるデータを記憶する記憶手段とを有し、
    前記ベクトルチャレンジと前記基底ベクトルとがハッシュ値であり、前記第1の正当性検証手段と前記第2の正当性検証手段とが前記署名文を正当なものと判定したときのみ前記データの入力を受理することを特徴とする請求項14記載の検証装置。
  16. 前記第1の当性検証手段は、前記ベクトルレスポンスを有する前記入力されたデータの一部を所定の方法でハッシュ関数に入力し、算出したハッシュ値が前記第1のコミットメントと一致するときのみ前記第1のコミットメントが正当であると判断し、
    前記第2の正当性検証手段は、前記判定するデータが第2のコミットメントとよばれるデータと前記ベクトルレスポンスとを有し、前記公開鍵が離散対数問題に係る巡回群の元を二つ含み、前記各元のべき乗剰余である第1及び第2のべき乗剰余を算出し、前記第1のべき乗剰余が前記第2のべき乗剰余と前記第2のコミットメントとを乗算した値と等しいか否かを判定し、
    前記第1のべき乗剰余は、前記公開鍵の一部である元を位数とし、Schnorrチャレンジをべき指数とし、
    前記第2のべき乗剰余は、前記公開鍵の一部である元を位数とし、Schnorrレスポンスをべき指数とし、
    前記Schnorrチャレンジは、前記ベクトルチャレンジと前記基底ベクトルとを用いて算出されるデータであり、
    前記Schnorrレスポンスは、前記ベクトルレスポンスと前記基底ベクトルとを用いて算出されるデータであることを特徴とする請求項15記載の検証装置。
  17. 前記署名文は前記署名装置によりランダムに選択されるデータ
    前記ランダムに選択されるデータは、前記第1の正当性検証手段で計算される各ハッシュ関数へ入力され、
    前記ベクトルレスポンスの一つの成分が前記各ハッシュ関数へ入力され、
    前記Schnorrチャレンジは、前記ベクトルチャレンジ前記基底ベクトルに関する一次式であり、
    前記Schnorrレスポンスは、前記ベクトルレスポンス前記基底ベクトルに関する一次式であることを特徴とする請求項16記載の検証装置。
  18. 前記Schnorrチャレンジは、前記ベクトルチャレンジと前記基底ベクトルとの内積であり、
    前記Schnorrレスポンスは、前記ベクトルレスポンスと前記基底ベクトルとの内積であることを特徴とする請求項17記載の検証装置。
  19. 前記メッセージがMであり、かつ前記判定するデータが(r,{C_{ij}},G,Ξ)であるとき、
    前記基底ベクトル計算手段は、前記公開鍵と{C_{ij}}とを含むデータのハッシュ値を計算し、該ハッシュ値が前記基底ベクトルV=(u_1,...,u_N)であり、
    前記ベクトルチャレンジ計算手段は、前記公開鍵および{C_{ij}},G,r,Mを含むデータのハッシュ値を計算し、該ハッシュ値が前記ベクトルチャレンジK=(c_1,...,c_N)であり、
    前記第1の当性検証手段は、
    各j=1,...,Nに対し、C_{c_jj}と前記ハッシュ関数とが一致する場合のみC_{c_jj}が正当であると判断し、
    全てのC_{c_jj}が正当であるときにのみ{C_{jj}}が正当であると判断し、
    前記ハッシュ関数が公開鍵及びξ_{j},c_j,j,rを含むデータのハッシュ値であり、
    前記第2の正当性検証手段は、
    g^{<V,Ξ>}=h^{<V,K>}Gが成立するか否かを判定し、
    g^{<V,Ξ>}=h^{<V,K>}Gが成立したとき、前記署名文が正当であると判定することを特徴とする請求項18記載の検証装置。
  20. 前記ベクトルチャレンジを算出するベクトルチャレンジ計算手段と、
    前記第1のコミットメントの正当性を判定する第1の当性検証手段と、
    記ベクトルレスポンスの正当性を判定する第2の正当性検証手段と、
    前記第1の当性検証手段及び前記第2の正当性検証手段において正当性が認められた場合のみ前記署名文を受理することを特徴とする請求項14記載の検証装置。
  21. 前記第1の当性検証手段は、前記入力されたデータの一部をハッシュ関数に入力したときのハッシュ値と前記第1のコミットメントとが一致したとき、前記第1のコミットメントが正当であると判断し、
    前記第2の正当性検証手段は、前記判定するデータが第2のコミットメントとよばれるデータと前記ベクトルレスポンスとを有し、前記公開鍵が離散対数問題に係る巡回群の元を二つ含み、前記各元のべき乗剰余である第1及び第2のべき乗剰余を算出し、前記第1のべき乗剰余が前記第2のべき乗剰余と前記第2のコミットメントとを乗算した値と等しいか否かを判定し、
    前記第1のべき乗剰余は、前記公開鍵の一部である元を位数とし、Schnorrチャレンジをべき指数とし、
    前記第2のべき乗剰余は、前記公開鍵の一部である元を位数とし、Schnorrレスポンスをべき指数とし、
    前記Schnorrチャレンジは、前記ベクトルチャレンジと前記基底ベクトルとを用いて算出され、
    前記Schnorrレスポンスは、前記ベクトルレスポンスと前記基底ベクトルとを用いて算出されることを特徴とする請求項20記載の検証装置。
  22. 前記署名装置が正当に署名文を作成した場合にはランダムに選ばれるはずのデータが含まれていない場合、前記データの受理を拒否し、
    前記ランダムに選ばれるはずのデータは、前記第1の正当性検証手段で計算される各ハッシュ関数へ入力され、
    前記ベクトルレスポンスの一つの成分が前記各ハッシュ関数へ入力され、
    前記Schnorrチャレンジは、前記ベクトルチャレンジ前記基底ベクトルに関する一次式であり、
    前記Schnorrレスポンスは、前記ベクトルレスポンス前記基底ベクトルに関する一次式であることを特徴とする請求項21記載の検証装置。
  23. 前記Schnorrチャレンジが前記ベクトルチャレンジと前記基底ベクトルとの内積であり、
    前記Schnorrレスポンスが前記ベクトルレスポンスと前記基底ベクトルとの内積であることを特徴とする請求項22記載の検証装置。
  24. 前記メッセージをMとし、前記検証する署名文が({C_{ij}},{r_{cjj}},G,Ξ)であるとき、
    前記ベクトルチャレンジ計算手段は、K=(c_{1},...,c_{N})=H_{{0,1}^{N}}(g,h,{C_{ij}},G,M)を算出し、
    前記第1の正当性検証手段は、j=1,...,Nのすべてについて、C_{c_jj}=H_{{0,1}^ν}(ξ_j,r_{c_jj})が成立するか否かを判定し、全てのjについて成立する場合、b=1と、成立しない場合、b=0と判定し、
    b=0のとき、前記第2の正当性検証手段は、g^{<V,Ξ>}=h^{<V,K>}Gが成立するか否かを判定し、
    g^{<V,Ξ>}=h^{<V,K>}Gが成立しないとき、b=0とし、前記署名文が受理されなかった旨のデータを出力し、
    g^{<V,Ξ>}=h^{<V,K>}Gが成立しているとき、b=1とし、前記署名文が受理された旨のデータを出力することを特徴とする請求項23記載の検証装置。
  25. 正当性を判定する証明文として請求項記載の前記署名装置によって作成された署名文を用いることを特徴とする証明装置。
  26. 正当性を判定する証明文として請求項記載の前記署名装置によって作成された署名文を用いることを特徴とする証明装置。
  27. 正当性を判定する証明文として請求項12記載の前記署名装置によって作成された署名文を用いることを特徴とする証明装置。
  28. 検証者指定証明方式の検証装置における公開鍵の正当性を判定するための証明文を生成する証明装置であって、
    前記検証装置の公開鍵は、二つのデータを含み、前記第1のデータと第2のデータとが同じ巡回群に属し、検証者の秘密鍵又はその一部が前記第のデータを位数とし、前記第2のデータを離散対数とし、
    正当性を判定する証明文、若しくはその一部として請求項記載の署名装置によって作成された署名文を用いることを特徴とする証明装置。
  29. 検証者指定証明方式の検証装置における公開鍵の正当性を判定するための証明文を生成する証明装置であって、
    前記検証装置の公開鍵は、二つのデータを含み、前記第1のデータと第2のデータとが同じ巡回群に属し、検証者の秘密鍵又はその一部が前記第のデータを位数とし、前記第2のデータを離散対数とし、
    正当性を判定する証明文、若しくはその一部として請求項記載の署名装置によって作成された署名文を用いることを特徴とする証明装置。
  30. 検証者指定証明方式の検証装置における公開鍵の正当性を判定するための証明文を生成する証明装置であって、
    前記検証装置の公開鍵は、二つのデータを含み、前記第1のデータと第2のデータとが同じ巡回群に属し、検証者の秘密鍵又はその一部が前記第のデータを位数とし、前記第2のデータを離散対数とし、
    正当性を判定する証明文、若しくはその一部として請求項12記載の署名装置によって作成された署名文を用いることを特徴とする証明装置。
  31. 証明文、若しくはその一部として前記署名文を用い、
    検証者指定証明方式の検証装置の公開鍵に対する証明文の正当性を検証する
    ことを特徴とする請求項18記載の検証装置。
  32. 証明文、若しくはその一部として前記署名文を用い、
    検証者指定証明方式の検証装置の公開鍵に対する証明文の正当性を検証する
    ことを特徴とする請求項23記載の検証装置。
  33. 暗号文の作成に使用した乱数の知識を証明する証明文、若しくはその一部として請求項記載の前記署名装置によって作成された署名文を用いることを特徴とする暗号化装置。
  34. 暗号文の作成に使用した乱数の知識を証明する証明文、若しくはその一部として請求項記載の前記署名装置によって作成された署名文を用いることを特徴とする暗号化装置。
  35. 暗号文の作成に使用した乱数の知識を証明する証明文、若しくはその一部として請求項12記載の前記署名装置によって作成された署名文を用いることを特徴とする暗号化装置。
  36. 暗号文の一部として含まれる証明文として前記署名文を用い、前記証明文を請求項18記載の前記検証装置により検証することを特徴とする復号化装置。
  37. 暗号文の一部として含まれる証明文として前記署名文を用い、前記証明文を請求項23記載の前記検証装置により検証することを特徴とする復号化装置。
JP2006553834A 2005-01-21 2005-12-13 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置 Expired - Fee Related JP4830860B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006553834A JP4830860B2 (ja) 2005-01-21 2005-12-13 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2005014891 2005-01-21
JP2005014891 2005-01-21
JP2006553834A JP4830860B2 (ja) 2005-01-21 2005-12-13 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置
PCT/JP2005/022875 WO2006077701A1 (ja) 2005-01-21 2005-12-13 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置

Publications (2)

Publication Number Publication Date
JPWO2006077701A1 JPWO2006077701A1 (ja) 2008-08-07
JP4830860B2 true JP4830860B2 (ja) 2011-12-07

Family

ID=36692095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006553834A Expired - Fee Related JP4830860B2 (ja) 2005-01-21 2005-12-13 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置

Country Status (7)

Country Link
US (1) US8028171B2 (ja)
EP (1) EP1843510B1 (ja)
JP (1) JP4830860B2 (ja)
KR (1) KR101099867B1 (ja)
CN (1) CN101156349B (ja)
AU (1) AU2005325353A1 (ja)
WO (1) WO2006077701A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015011048A (ja) * 2013-06-26 2015-01-19 日本電信電話株式会社 コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、およびプログラム

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7647498B2 (en) * 2004-04-30 2010-01-12 Research In Motion Limited Device authentication
JP4771053B2 (ja) * 2005-05-27 2011-09-14 日本電気株式会社 統合シャッフル正当性証明装置、証明統合装置、統合シャッフル正当性検証装置及びミックスネットシステム
JP5060556B2 (ja) * 2007-07-11 2012-10-31 株式会社東芝 グループ署名システム、装置及びプログラム
US20090198619A1 (en) * 2008-02-06 2009-08-06 Motorola, Inc. Aggregated hash-chain micropayment system
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
WO2010067820A1 (ja) * 2008-12-11 2010-06-17 日本電気株式会社 ゼロ知識証明システム、ゼロ知識証明装置、ゼロ知識検証装置、ゼロ知識証明方法およびそのプログラム
CN101808142B (zh) * 2010-03-10 2013-03-27 上海十进制网络信息技术有限公司 通过路由器或交换机实现可信网络连接的方法和装置
US10243738B2 (en) * 2015-12-04 2019-03-26 Microsoft Technology Licensing, Llc Adding privacy to standard credentials
EP3337119B1 (en) 2016-12-13 2019-09-11 Nxp B.V. Updating and distributing secret keys in a distributed network
CN108170403B (zh) * 2017-12-29 2021-06-25 北京欧链科技有限公司 数据筛选方法和装置
KR101991775B1 (ko) * 2018-12-18 2019-06-21 (주)엘에스시스텍 Fpga기반의 데이터 암복호화 방법
CN111342955B (zh) * 2018-12-19 2023-04-18 北京沃东天骏信息技术有限公司 一种通信方法及其设备、计算机存储介质
CN110322246A (zh) * 2019-07-09 2019-10-11 深圳市网心科技有限公司 一种区块链交易信息的优化方法及相关设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11119649A (ja) * 1997-10-17 1999-04-30 Fuji Xerox Co Ltd 認証方法および装置
JP2001134178A (ja) * 1999-11-02 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> メッセージ回復型署名システム及びそのプログラム記録媒体

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000353204A (ja) * 1999-06-10 2000-12-19 Nec Kofu Ltd 電子データ管理装置、方法及び記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11119649A (ja) * 1997-10-17 1999-04-30 Fuji Xerox Co Ltd 認証方法および装置
JP2001134178A (ja) * 1999-11-02 2001-05-18 Nippon Telegr & Teleph Corp <Ntt> メッセージ回復型署名システム及びそのプログラム記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015011048A (ja) * 2013-06-26 2015-01-19 日本電信電話株式会社 コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、およびプログラム

Also Published As

Publication number Publication date
US20080301449A1 (en) 2008-12-04
KR20070103467A (ko) 2007-10-23
EP1843510A4 (en) 2010-07-14
CN101156349A (zh) 2008-04-02
US8028171B2 (en) 2011-09-27
WO2006077701A1 (ja) 2006-07-27
EP1843510A1 (en) 2007-10-10
EP1843510B1 (en) 2015-10-14
JPWO2006077701A1 (ja) 2008-08-07
AU2005325353A1 (en) 2006-07-27
KR101099867B1 (ko) 2011-12-28
CN101156349B (zh) 2013-01-02

Similar Documents

Publication Publication Date Title
JP4830860B2 (ja) 署名装置、検証装置、証明装置、暗号化装置、及び復号化装置
Castagnos et al. Bandwidth-efficient threshold EC-DSA
Boneh et al. Chosen-ciphertext security from identity-based encryption
Hohenberger et al. Short and stateless signatures from the RSA assumption
Coron Optimal security proofs for PSS and other signature schemes
JP5412626B2 (ja) 暗号化装置、復号化装置、署名装置、検証装置、暗号化方法、復号化方法、署名方法、検証方法、暗号化プログラム、復号化プログラム、認証プログラム及び検証プログラム
US7649991B2 (en) Method of a public key encryption and a cypher communication both secure against a chosen-ciphertext attack
JP4899867B2 (ja) グループ署名方式
CN106936584B (zh) 一种无证书公钥密码***的构造方法
Huang et al. Partially blind ECDSA scheme and its application to bitcoin
Andreevich et al. On Using Mersenne Primes in Designing Cryptoschemes
Tahat et al. A new digital signature scheme with message recovery using hybrid problems
Zahhafi et al. A DSA-like digital signature protocol
JP2002023626A (ja) 公開鍵暗号方法および公開鍵暗号を用いた通信システム
JP4284867B2 (ja) 標準モデル上で適応的選択暗号文攻撃に対して安全な公開鍵暗号方法
Lv et al. Ring authenticated encryption: a new type of authenticated encryption
Al-Saidi et al. A new idea in zero knowledge protocols based on iterated function systems
Ozden et al. Verifiable Timed Proxy Signatures and Multi-signatures
Ranjithkumar A Secure ElGamal Cryptosystem Using Zero Knowledge Protocol
Vidhanalage Lattice Signatures Based on Module-NTRU
Parthiban et al. Using modified stern series for digital signature authentication in elliptic curve cryptography
Brown Secure public-key encryption from factorisation-related problems
Wei et al. Society-oriented designated confirmer signatures
Qian et al. Cryptanalysis of Chang-Lin-Lam's ID-based Multisignature Scheme
Arshad et al. A novel convertible authenticated encryption scheme based on RSA assumption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080919

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20091015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4830860

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140930

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees