JP5438697B2 - Commitment system, commitment generation device, commitment reception device, method and program thereof - Google Patents

Commitment system, commitment generation device, commitment reception device, method and program thereof Download PDF

Info

Publication number
JP5438697B2
JP5438697B2 JP2011011218A JP2011011218A JP5438697B2 JP 5438697 B2 JP5438697 B2 JP 5438697B2 JP 2011011218 A JP2011011218 A JP 2011011218A JP 2011011218 A JP2011011218 A JP 2011011218A JP 5438697 B2 JP5438697 B2 JP 5438697B2
Authority
JP
Japan
Prior art keywords
commitment
tag
key
information
ciphertext
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
JP2011011218A
Other languages
Japanese (ja)
Other versions
JP2012156590A (en
Inventor
英一郎 藤崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011011218A priority Critical patent/JP5438697B2/en
Publication of JP2012156590A publication Critical patent/JP2012156590A/en
Application granted granted Critical
Publication of JP5438697B2 publication Critical patent/JP5438697B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、秘匿情報をコミットしコミットメント情報を生成するコミットメント生成装置、コミットメント情報を受信するコミットメント受信装置、コミットメント装置とコミットメント受信装置とからなるコミットメントシステム、その方法及びプログラムに関する。   The present invention relates to a commitment generation device that commits confidential information and generates commitment information, a commitment reception device that receives commitment information, a commitment system that includes a commitment device and a commitment reception device, a method, and a program thereof.

暗号におけるコミットメントとは、電子的に行う「封じ手」のことである。コミットメントは、送信者(sender)と、受信者(receiver)に分かれる。送信者は、受信者に情報mを秘匿しながらも「委託」(commit)する。委託された情報mは、後に開示することになるが、委託する時点で決定した値mから変更することは出来ない。この性質を「秘匿性」(hiding)と「拘束性」(binding)と言う。例えばコミットメントを利用して、電子的なジャンケンやコイン投げ(もちろん、将棋や碁の封じ手でも良い)を行うことができる。   A cryptographic commitment is an electronic “sealing hand”. The commitment is divided into a sender and a receiver. The sender “commits” the information m while keeping it secret from the receiver. The entrusted information m will be disclosed later, but cannot be changed from the value m determined at the time of entrusting. This property is referred to as “hiding” and “binding”. For example, using commitment, you can do electronic janken and coin throwing (of course, you can also use a shogi or a spear sealer).

コミットメントは、最も基本的な暗号プリミティブであるため、多くの暗号プロトコルの中で頻繁に利用される。近年では、暗号プロトコルをより現実の環境に近づけるため、複雑な組み合わせの中で利用した場合の安全性も求められている。このような複雑な組み合わせの中では、古典的安全性モデルで定義されたコミットメントでは、秘匿性と拘束性を満たせなくなってしまう。   Since commitment is the most basic cryptographic primitive, it is frequently used in many cryptographic protocols. In recent years, in order to bring a cryptographic protocol closer to a real environment, security when used in a complex combination is also required. In such a complex combination, the commitment defined by the classical safety model cannot satisfy confidentiality and restraint.

複雑な組み合わせの中で利用するために頑強なコミットメント方式が必要となる。なお、あるコミットメント方式が、頑強(non-malleable)であるとは、そのコミットメント方式を同時にどのように実行しても、秘匿性と拘束性が満たされる場合をいう。   A robust commitment scheme is needed to use in complex combinations. A certain commitment method is non-malleable when confidentiality and restraint are satisfied no matter how the commitment method is executed at the same time.

頑強なコミットメント方式よりもさらに強い安全性を持つ汎用結合コミットメントというものもある。汎用結合性とは、コミットメントに限ったものではなく、多くの暗号方式の上で定義できる。暗号方式が汎用結合であると、他の汎用結合な暗号方式と組み合わせて実行しても、お互いの単独で満たされる安全性が確保される。つまり、汎用結合である暗号方式は、いかなる汎用結合な暗号方式と組み合わせても汎用結合な暗号方式になる(非特許文献1及び2参照)。   Some general-purpose combined commitments have a greater level of security than robust commitment schemes. General connectivity is not limited to commitment, but can be defined on many cryptosystems. If the encryption method is a general-purpose combination, even if it is executed in combination with other general-purpose combination encryption methods, safety that is satisfied independently of each other is ensured. That is, the encryption method that is general-purpose combination becomes a general-purpose combination encryption method when combined with any general-purpose combination encryption method (see Non-Patent Documents 1 and 2).

コミットメント方式の中には、送信者と受信者の双方がアクセス可能な(送信者、受信者の何れでもない第三者により正しく作られた)共通情報(crs: common reference string)を必要とするものもある。技術的な問題により、この共通情報は、コミットメントごとに使い捨てなければいけない場合と、使い捨てずに同じ共通情報をずっと使える場合に分かれる。但し、共通情報をずっと使えるコミットメント方式の方がより実用性が高い。   Some commitment schemes require common reference string (crs) that is accessible to both sender and receiver (created correctly by a third party that is neither the sender nor the receiver) There are also things. Due to technical issues, this common information can be divided into cases where it must be disposable for each commitment and cases where the same common information can be used without being disposable. However, the commitment method that can always use common information is more practical.

さらに、落し戸付きコミットメント(trap-door commitment)方式は、落し戸(trap-door) を知っていれば、コミット時点とは異なる秘匿情報でコミットメント情報を開封できる。よって、落し戸付きコミットメント方式において、落し戸は、送信者には秘密である。   Furthermore, if the trap-door commitment method knows the trap-door, the commitment information can be opened with secret information different from the point of commit. Thus, in a commitment scheme with a trapdoor, the trapdoor is secret to the sender.

落し戸付きコミットメントであり、かつ頑強なコミットメント(non-malleable trap-door com-mitment)方式も存在する。落し戸付きコミットメントの頑強性は、non-malleability with respect to openingという名前で定義される(非特許文献3、4、5、6及び7参照)。   There is also a non-malleable trap-door com-mitment method that is a commitment with trapdoors. The robustness of commitment with trapdoors is defined by the name non-malleability with respect to opening (see Non-Patent Documents 3, 4, 5, 6, and 7).

さらに、simulation-sound という定義を満たす落し戸付きコミットメント方式も存在する(非特許文献4及び6参照)。simulation-sound落し戸付きコミットメント(以下「SSTC」という)方式であれば、non-malleability with respect to open コミットメント方式、つまり頑強な落し戸付きコミットメントである。simulation-sound落し戸付きコミットメントは、Σ−プロトコル(非特許文献8参照)と呼ばれる標準的な認証プロトコルの安全性を大幅に上げることができ、さらに、非特許文献9の技術と組み合わせると、汎用結合可能コミットメントを構成できる。   Furthermore, there is a commitment system with trapdoors that satisfies the definition of simulation-sound (see Non-Patent Documents 4 and 6). A simulation-sound commitment with trap doors (hereinafter referred to as “SSTC”) is a non-malleability with respect to open commitment scheme, that is, a robust trap door commitment. Simulation-sound trapdoor commitment can greatly increase the security of a standard authentication protocol called Σ-Protocol (see Non-Patent Document 8). You can configure combinable commitments.

R. Canetti, "Universally composable security: A new paradigm for cryptographic protocols", In Proceedings of the 42th IEEE Annual Symposium on Foundations of Computer Science (FOCS'01), Oct 2001, p.136-145R. Canetti, "Universally composable security: A new paradigm for cryptographic protocols", In Proceedings of the 42th IEEE Annual Symposium on Foundations of Computer Science (FOCS'01), Oct 2001, p.136-145 Ran Canetti, "Universally composable security: A new paradigm for cryptograpic protocols", Technical report, Cryptology ePrint Archive, Report 2000/067, 2005, Preliminary version appeared in FOCS'01Ran Canetti, "Universally composable security: A new paradigm for cryptograpic protocols", Technical report, Cryptology ePrint Archive, Report 2000/067, 2005, Preliminary version appeared in FOCS'01 Ivan Damgard and Jens Groth, "Non-interactive and reusable non-malleable commitment schemes", In STOC03, 2003, p.426-437Ivan Damgard and Jens Groth, "Non-interactive and reusable non-malleable commitment schemes", In STOC03, 2003, p.426-437 J.Groth, "Honest verifier Zero-Knowledge Arguments Applied", PhD thesis, Basic Resarch in Computer Science, University of Aarhus, 2004J. Groth, "Honest verifier Zero-Knowledge Arguments Applied", PhD thesis, Basic Resarch in Computer Science, University of Aarhus, 2004 J. A. Garay, P. Mackenzie, and K. Yang, "Strengthening zero-knowledge protocols using signatures", In Advances in Cryptology-EUROCRYPT 2003, Springer-Verlag, 2003, volume 2656 of Lecture Notes in Computer Science, p.177-194J. A. Garay, P. Mackenzie, and K. Yang, "Strengthening zero-knowledge protocols using signatures", In Advances in Cryptology-EUROCRYPT 2003, Springer-Verlag, 2003, volume 2656 of Lecture Notes in Computer Science, p.177-194 P. D. MacKenzie and K. Yang, "On simulation-sound trapdoor commitments", In C. Cachin and J. Camenisch, editors, Advances in Cryptology - EUROCRYPT 2004, Springer-Verlag, 2004, volume 3027 of Lecture Notes in Computer Science, p.382-400PD MacKenzie and K. Yang, "On simulation-sound trapdoor commitments", In C. Cachin and J. Camenisch, editors, Advances in Cryptology-EUROCRYPT 2004, Springer-Verlag, 2004, volume 3027 of Lecture Notes in Computer Science, p .382-400 R. Gennaro, "Multi-trapdoor commitments and their applications to proofs of knowledge secure under concurrent man-in-the-middle attacks", In Advances in Cryptology - CRYPTO'04, 2004, volume 3152 of Lecture Notes in Computer Science, p.220-236R. Gennaro, "Multi-trapdoor commitments and their applications to proofs of knowledge secure under concurrent man-in-the-middle attacks", In Advances in Cryptology-CRYPTO'04, 2004, volume 3152 of Lecture Notes in Computer Science, p .220-236 R. Cramer, I. Damgard, and B. Schoenmakers, "Proofs of partial knowledge and simplied design of witness hiding protocols", In Y. G. Desmedt, editor, Advances in Cryptology - CRYPTO'94, Springer-Verlag, 1994, volume 839 of Lecture Notes in Computer Science, p.174-187R. Cramer, I. Damgard, and B. Schoenmakers, "Proofs of partial knowledge and simplied design of witness hiding protocols", In YG Desmedt, editor, Advances in Cryptology-CRYPTO'94, Springer-Verlag, 1994, volume 839 of Lecture Notes in Computer Science, p.174-187 I. Damgard and J. Nielsen, "Perfect hiding and perfect binding universally composable commitment schemes with constant expansion factor", In Advances in Cryptology - CRYPTO2002, 2002, p.581-596I. Damgard and J. Nielsen, "Perfect hiding and perfect binding universally composable commitment schemes with constant expansion factor", In Advances in Cryptology-CRYPTO2002, 2002, p.581-596

しかしながら、非特許文献3、4、5、6及び7記載の従来技術は、全て使い捨てでない署名から共通の変換方法の基にsimulation-sound落し戸付きコミットメント(SSTC)を構成する。そのため、従来の署名が破られると、同時に従来技術のコミットメント方式も破られる可能性がある。   However, the prior arts described in Non-Patent Documents 3, 4, 5, 6, and 7 constitute a simulation-sound trapdoor commitment (SSTC) based on a common conversion method from a non-disposable signature. Therefore, when the conventional signature is broken, the commitment scheme of the prior art may be broken at the same time.

本発明では、公開検証可能なタグベース鍵カプセル化メカニズムを用いて、新しいSSTC方式のコミットメントシステム、コミットメント生成装置、コミットメント受信装置、その方法及びプログラムを提供することを目的とする。   An object of the present invention is to provide a new SSTC-type commitment system, commitment generation apparatus, commitment reception apparatus, method and program thereof using a publicly verifiable tag-based key encapsulation mechanism.

上記の課題を解決するために、本発明の第一の態様によれば、コミットメントシステムはコミットメント生成装置とコミットメント受信装置からなる。公開検証可能なタグベース鍵カプセル化メカニズムをΠ=(Gen,Enc,Dec)とし、鍵生成アルゴリズムGenを用いて生成される公開鍵をpkとし、コミットメント生成装置とコミットメント受信装置とが共に知っているタグ情報をtagとし、rを乱数とし、暗号化アルゴリズムEncに対し公開鍵pkとタグ情報tagを与えて得られる第一暗号文をCとし、第一鍵をKとし、Πが定める関係Rpriv pk,tagIn order to solve the above problem, according to a first aspect of the present invention, a commitment system includes a commitment generation device and a commitment reception device. A tag-based key encapsulation mechanism that can be publicly verified is Π = (Gen, Enc, Dec), a public key generated using the key generation algorithm Gen is pk, and both the commitment generation device and the commitment reception device know The tag information is tag, r is a random number, the first ciphertext obtained by giving the public key pk and the tag information tag to the encryption algorithm Enc is C, the first key is K, and the relationship R defined by Π priv pk, tag

Figure 0005438697
Figure 0005438697

とする。コミットメント受信装置は暗号化アルゴリズムEncに対し公開鍵pkとタグ情報tagを与え、第一暗号文Cと第一鍵Kとの組(C,K)を生成し、第一暗号文Cをコミットメント生成装置に送信する。コミットを開封するときの証拠の一部をzとし、コミットする秘匿情報をmとし、コミットメント生成装置は第一暗号文Cを受信し、公開鍵pkとタグ情報tagを用いて、第一暗号文Cが真の暗号文であるか否かを検証し、真の暗号文である場合には、関係Rpriv pk,tagのΣ−プロトコルに対する(a,z)←simΣ(C,m)を計算し、コミットメント情報aをコミットメント受信装置に送信する。コミットメント受信装置はコミットメント情報aを受信し、(tag,C,a)を格納しておき、(tag,m,z)を受信すると、関係Rpriv pk,tagのΣ−プロトコルに対するΣvrfy(C,a,m,z)を用いて、秘匿情報mが変更されていないかを判定する。 And The commitment receiving device gives the public key pk and tag information tag to the encryption algorithm Enc, generates a pair (C, K) of the first ciphertext C and the first key K, and generates a commitment for the first ciphertext C Send to device. A part of the evidence when opening the commit is z, the confidential information to be committed is m, the commitment generation device receives the first ciphertext C, and uses the public key pk and the tag information tag to generate the first ciphertext. C verifies whether the true ciphertext, if it is true ciphertext calculating a relation R priv pk, for Σ- protocol tag (a, z) ← simΣ (C, m) The commitment information a is transmitted to the commitment receiving device. The commitment receiving apparatus receives the commitment information a, stores (tag, C, a), receives (tag, m, z), and receives Σ vrfy (C for the Σ-protocol of the relation R priv pk, tag. , A, m, z), it is determined whether the confidential information m has been changed.

上記の課題を解決するために、本発明の第二の態様によれば、コミットメント生成装置は秘匿情報mをコミットし、コミットメント情報aを生成する。公開検証可能なタグベース鍵カプセル化メカニズムをΠ=(Gen,Enc,Dec)とし、鍵生成アルゴリズムGenを用いて生成される公開鍵をpkとし、当該コミットメント生成装置とコミットメント情報aを受信するコミットメント受信装置とが共に知っているタグ情報をtagとし、rを乱数とし、暗号化アルゴリズムEncに対し公開鍵pkとタグ情報tagを与えて得られる第一暗号文をCとし、第一鍵をKとし、Πが定める関係Rpriv pk,tagIn order to solve the above problems, according to the second aspect of the present invention, the commitment generation device commits the confidential information m and generates the commitment information a. Commit that receives the commitment generation device and the commitment information a, where タ グ = (Gen, Enc, Dec) is a publicly verifiable tag-based key encapsulation mechanism, pk is a public key generated using the key generation algorithm Gen Tag information that the receiving device knows together is tag, r is a random number, the first ciphertext obtained by giving the public key pk and tag information tag to the encryption algorithm Enc is C, and the first key is K And the relationship R priv pk, tag defined by Π

Figure 0005438697
Figure 0005438697

とし、コミットを開封するときの証拠の一部をzとする。第一暗号文Cを受信し、公開鍵pkとタグ情報tagとを用いて、受信した第一暗号文Cが真の暗号文であるか否かを検証し、真の暗号文である場合には、関係Rpriv pk,tagのΣ−プロトコルに対する(a,z)←simΣ(C,m)を計算し、コミットメント情報aをコミットメント受信装置に送信する。 Let z be part of the evidence when opening the commit. When the first ciphertext C is received, the public key pk and the tag information tag are used to verify whether or not the received first ciphertext C is a true ciphertext. the relationship R priv pk, (a, z ) for the Σ- protocol tagsimΣ a (C, m) are calculated, and transmits the commitment information a commitment receiver.

上記の課題を解決するために、本発明の第三の態様によれば、コミットメント受信装置は、コミットメント情報aを受信する。公開検証可能なタグベース鍵カプセル化メカニズムをΠ=(Gen,Enc,Dec)とし、鍵生成アルゴリズムGenを用いて生成される公開鍵をpkとし、秘匿情報mをコミットし、コミットメント情報aを生成するコミットメント生成装置と当該コミットメント受信装置とが共に知っているタグ情報をtagとし、rを乱数とし、暗号化アルゴリズムEncに対し公開鍵pkとタグ情報tagを与えて得られる第一暗号文をCとし、第一鍵をKとし、Πが定める関係Rpriv pk,tagIn order to solve the above problem, according to the third aspect of the present invention, the commitment receiving device receives the commitment information a. The tag-based key encapsulation mechanism that can be publicly verified is Π = (Gen, Enc, Dec), the public key generated using the key generation algorithm Gen is pk, the confidential information m is committed, and the commitment information a is generated. Tag information known by both the commitment generating device and the commitment receiving device is tag, r is a random number, and the public key pk and tag information tag are given to the encryption algorithm Enc as the first ciphertext C And the first key is K, and the relationship R priv pk, tag defined by Π

Figure 0005438697
Figure 0005438697

とする。暗号化アルゴリズムEncに対し公開鍵pkとタグ情報tagを与え、第一暗号文Cと第一鍵Kとの組(C,K)を生成し、第一暗号文Cをコミットメント受信装置に送信し、コミットを開封するときの証拠の一部をzとし、コミットメント生成装置からコミットメント情報aを受信し、(tag,C,a)を格納しておき、(tag,m,z)を受信すると、Σ−プロトコルに対するΣvrfy(C,a,m,z)を用いて、秘匿情報mが変更されていないかを判定する。 And A public key pk and tag information tag are given to the encryption algorithm Enc, a pair (C, K) of the first ciphertext C and the first key K is generated, and the first ciphertext C is transmitted to the commitment receiving device. , A part of the evidence when opening the commit is z, the commitment information a is received from the commitment generation device, (tag, C, a) is stored, and (tag, m, z) is received. Using Σ vrfy (C, a, m, z) for the Σ-protocol, it is determined whether the confidential information m has been changed.

上記の課題を解決するために、本発明の第四の態様によれば、コミットメント方法は、コミットメント生成装置とコミットメント受信装置を用いる。公開検証可能なタグベース鍵カプセル化メカニズムをΠ=(Gen,Enc,Dec)とし、鍵生成アルゴリズムGenを用いて生成される公開鍵をpkとし、コミットメント生成装置とコミットメント受信装置とが共に知っているタグ情報をtagとし、rを乱数とし、暗号化アルゴリズムEncに対し公開鍵pkとタグ情報tagを与えて得られる第一暗号文をCとし、第一鍵をKとし、Πが定める関係Rpriv pk,tagIn order to solve the above problem, according to a fourth aspect of the present invention, a commitment method uses a commitment generation device and a commitment reception device. A tag-based key encapsulation mechanism that can be publicly verified is Π = (Gen, Enc, Dec), a public key generated using the key generation algorithm Gen is pk, and both the commitment generation device and the commitment reception device know The tag information is tag, r is a random number, the first ciphertext obtained by giving the public key pk and the tag information tag to the encryption algorithm Enc is C, the first key is K, and the relationship R defined by Π priv pk, tag

Figure 0005438697
Figure 0005438697

とする。コミットメント受信装置において、暗号化アルゴリズムEncに対し公開鍵pkとタグ情報tagを与え、第一暗号文Cと第一鍵Kとの組(C,K)を生成し、第一暗号文Cをコミットメント生成装置に送信する。コミットを開封するときの証拠の一部をzとし、コミットする秘匿情報をmとし、コミットメント生成装置が、第一暗号文Cを受信し、コミットメント生成装置において、公開鍵pkとタグ情報tagを用いて、第一暗号文Cが真の暗号文であるか否かを検証し、真の暗号文である場合には、関係Rpriv pk,tagのΣ−プロトコルに対する(a,z)←simΣ(C,m)を計算し、コミットメント情報aをコミットメント受信装置に送信する。コミットメント受信装置において、コミットメント情報aを受信し、(tag,C,a)を格納しておき、(tag,m,z)を受信すると、関係Rpriv pk,tagのΣ−プロトコルに対するΣvrfy(C,a,m,z)を用いて、秘匿情報mが変更されていないかを判定する。 And In the commitment receiver, the public key pk and the tag information tag are given to the encryption algorithm Enc, a pair (C, K) of the first ciphertext C and the first key K is generated, and the first ciphertext C is committed. Send to the generator. A part of the evidence when opening the commit is z, the confidential information to be committed is m, the commitment generation device receives the first ciphertext C, and the commitment generation device uses the public key pk and the tag information tag. Then, it is verified whether or not the first ciphertext C is a true ciphertext. If it is a true ciphertext, (a, z) ← simΣ () for the Σ-protocol of the relation R priv pk, tag C, m) is calculated, and commitment information a is transmitted to the commitment receiver. In the commitment receiver, when the commitment information a is received, (tag, C, a) is stored, and (tag, m, z) is received, the relationship R priv pk, tag with respect to the Σ-protocol Σ vrfy ( C, a, m, z) is used to determine whether the confidential information m has been changed.

本発明は、従来の署名のみに基づかずに、公開検証可能なタグベース鍵カプセル化メカニズムを用いて、新しいSSTC方式を構成するため、従来の署名が破られた場合にも安全であるという効果を奏する。   Since the present invention constructs a new SSTC method using a tag-based key encapsulation mechanism that can be publicly verified without relying only on the conventional signature, it is safe even when the conventional signature is broken. Play.

コミットメントシステム1の構成例を示す図。The figure which shows the structural example of the commitment system. コミットメントシステム1の処理フローを示す図。The figure which shows the processing flow of the commitment system. 第三者装置11の機能構成例を示すブロック図。The block diagram which shows the function structural example of the third party apparatus 11. FIG. 第三者装置11の処理フローを示す図。The figure which shows the processing flow of the third party apparatus 11. コミットメント受信装置15の機能構成例を示すブロック図。FIG. 3 is a block diagram showing an example of a functional configuration of a commitment receiving device 15. コミットメント受信装置15の処理フローを示す図。The figure which shows the processing flow of the commitment receiver 15. コミットメント生成装置13の機能構成例を示すブロック図。FIG. 3 is a block diagram showing a functional configuration example of a commitment generation device 13. コミットメント生成装置13の処理フローを示す図。The figure which shows the processing flow of the commitment production | generation apparatus 13. FIG.

以下、本発明の実施形態について、説明する。   Hereinafter, embodiments of the present invention will be described.

<定義>
まず、本形態で使用する用語や記号を定義する。
<Definition>
First, terms and symbols used in this embodiment are defined.

{0,1}は、kビット長のバイナリ系列(データ)の集合を意味し、{0,1}は全てのバイナリ系列、つまり、{0,1}=∪k≧0{0,1}を表す。
確率的アルゴリズムMは,入力x∈{0;1}とMの内部乱数rの二入力関数である。
y=M(x;r)は、入力x、乱数rのときの出力がyであることを意味する。
y←M(x)は、Mの入力xでの確率的試行を表す。例えば、Pr[y←M(x):y=1]<1/2とは、乱数rに従って出力された確率変数yが、1である確率が1/2未満であることを意味する。
{0,1} k means a set of binary sequences (data) having a k-bit length, and {0,1} * is all binary sequences, that is, {0,1} * = ∪ k ≧ 0 {0 , 1} k .
The probabilistic algorithm M is a two-input function of an input xε {0; 1} * and an internal random number r of M.
y = M (x; r) means that the output at the time of input x and random number r is y.
y ← M (x) represents a probabilistic trial at the input x of M. For example, Pr [y ← M (x): y = 1] <1/2 means that the probability that the random variable y output according to the random number r is 1 is less than 1/2.

「A(X)の試行の後、B(Y)の試行が起き、さらに…」のような確率的試行の時系列的並びを、a←A(X);b←B(Y);…のように書く。   A time-series sequence of probabilistic trials such as “A (X) trial followed by B (Y) trial, and further ...” is expressed as a ← A (X); b ← B (Y); Write like this.

Pr[a←A;b←B:event]は、確率的試行a←A;b←Bの下での事象eventの条件付き生起確率を表す。なお、記述を短くするため、Pr[y←M(x):y=1]のかわりにPr[M(x)=1]と書く場合がある。   Pr [a ← A; b ← B: event] represents the conditional occurrence probability of the event event under the probabilistic trial a ← A; b ← B. In order to shorten the description, Pr [M (x) = 1] may be written instead of Pr [y ← M (x): y = 1].

なお、確定的(deterministic)なアルゴリズムは、内部コインの無い確率的アルゴリズムと考えてもよい。   Note that a deterministic algorithm may be considered as a stochastic algorithm without internal coins.

[タグベース鍵カプセル化メカニズム(Tag−KEM: Tag-based Key Encapsulation Mechanisim)]
Π=(Gen,Enc,Dec)が、Tag−KEM(参考文献1及び2参照)であるとは、Πが次のような性質1〜性質4を満たすアルゴリズムの集合であるときをいう。
(参考文献1):V. Shoup, "A proposal for an ISO standard for public key encryption", Technical report, December 2001, Cryptology ePrint Archive, Report 2001/112
(参考文献2):M. Abe, R. Gennaro, and K. Kurosawa, "Tag-KEM/DEM: A new framework for hybrid encryption", Journal of Cryptology, 2008, Volume 21, Number 1, p.97-130
[Tag-based Key Encapsulation Mechanisim (Tag-KEM)]
That Π = (Gen, Enc, Dec) is Tag-KEM (see References 1 and 2) means that Π is a set of algorithms satisfying properties 1 to 4 as follows.
(Reference 1): V. Shoup, "A proposal for an ISO standard for public key encryption", Technical report, December 2001, Cryptology ePrint Archive, Report 2001/112
(Reference 2): M. Abe, R. Gennaro, and K. Kurosawa, "Tag-KEM / DEM: A new framework for hybrid encryption", Journal of Cryptology, 2008, Volume 21, Number 1, p.97- 130

(性質1)(pk,sk)←Gen(1):鍵生成アルゴリズムGenは、セキュリティパラメータnを入力にとり、公開鍵・秘密鍵の組(pk,sk)を出力する確率的アルゴリズムである。
(性質2)(C,K)←Enc(pk,tag)。暗号化アルゴリズムEncは、公開鍵pkとタグ情報tag∈{0;1}を入力とし、乱数r∈Gを内部発生させ、暗号文Cと鍵Kを計算し出力する確率的アルゴリズムである。
(性質3)復号アルゴリズムDecは、秘密鍵sk、タグ情報tag及び暗号文Cを入力としてとり、鍵K=Dec(sk,tag,C)を計算する確定的アルゴリズムである。
(性質4)全てのn∈N,全てのtag∈{0,1}に対して、
Pr[(pk,sk)←Gen(1n);(C,K)←Enc(pk,tag):Dec(sk,tag,C)=K]=1
である。
(Property 1) (pk, sk) ← Gen (1 n ): The key generation algorithm Gen is a stochastic algorithm that takes a security parameter n as an input and outputs a public key / private key pair (pk, sk).
(Property 2) (C, K) <-Enc (pk, tag). The encryption algorithm Enc is a stochastic algorithm that receives the public key pk and tag information tagε {0; 1} * , generates a random number rεG r internally, and calculates and outputs a ciphertext C and a key K. .
(Property 3) The decryption algorithm Dec is a deterministic algorithm that takes a secret key sk, tag information tag, and ciphertext C as inputs and calculates a key K = Dec (sk, tag, C).
(Property 4) For all n∈N and all tag∈ {0,1} * ,
Pr [(pk, sk) ← Gen (1 n ); (C, K) ← Enc (pk, tag): Dec (sk, tag, C) = K] = 1
It is.

[暗号文と鍵との間のNP関係と公開検証可能性]
Tag−KEM Πに関する以下のようなNP関係を定義する。
[NP relationship between ciphertext and key and public verification possibility]
Define the following NP relationship for Tag-KEM Π.

Figure 0005438697
Figure 0005438697

暗号文C∈{0;1}が、対応する鍵Kが存在する真の暗号文である(すなわち、あるKが存在して(C,K)∈Rpriv pk,tag)かを、公開鍵pkとtagのみで検証できるとき、Tag−KEM Πは「公開検証可能」という。 Whether the ciphertext Cε {0; 1} * is a true ciphertext in which the corresponding key K exists (that is, a certain K exists (C, K) εR priv pk, tag ) Tag-KEM V is said to be “publicly verifiable” when it can be verified only with keys pk and tag.

[Σ―プロトコル]
R={(x,w)}をNP関係とする。関係Rから定義される言語をL(:={x|∃w s.t.(x,w)∈R})とする。但し、「A:=B」は「Aという記号の意味するところをBと定義する」ことを意味する。関係RのΣ−プロトコル(非特許文献8参照)とは、証明者と検証者からなる三交信の次のような認証プロトコルである。なお、(x,w)∈Rとする。xを証明者と検証者への共通入力として、証明者は、さらにwを与えられる。
(1)証明者は、乱数rを選び、第一メッセージa=Σcom(x,w;r)を計算し、検証者に送る。
(2)検証者は、第二メッセージの乱数c←Σchを選び証明者に送り返す。但し、A←Bは、集合BからランダムにAを選択することを意味する。なお、Σchはチャレンジc(例えば、乱数)を生成または選択するアルゴリズムである。
(3)証明者は、第三メッセージz=Σans(x,w,r,c)を計算し、検証者に送る。第三メッセージzはチャレンジcに対する証明者の返答であり、返答生成アルゴリズムΣansを用いて生成する。
[Σ-Protocol]
Let R = {(x, w)} be an NP relationship. Let the language defined from the relation R be L R (: = {x | ∃ w st (x, w) εR}). However, “A: = B” means “define B as the meaning of the symbol A”. The Σ-protocol of relation R (see Non-Patent Document 8) is an authentication protocol such as the following of three communications consisting of a prover and a verifier. Note that (x, w) εR. With x as the common input to the prover and verifier, the prover is further given w.
(1) prover, select the random number r a, the first message a = Σ com (x, w ; r a) is calculated, and send to the verifier.
(2) The verifier selects the random number c ← R Σ ch of the second message and sends it back to the prover. However, A ← R B means that A is randomly selected from the set B. Note that Σch is an algorithm for generating or selecting a challenge c (for example, a random number).
(3) The prover third message z = Σ ans (x, w , r a, c) , and delivers it to the verifier. The third message z is a prover's response to the challenge c and is generated using a response generation algorithm Σ ans .

検証者は、b=Σvrfy(x,a,c,z)を計算して出力する。Σvrfyは、検証アルゴリズムであり、b=1であれば、検証者は、証明者の一連の認証行為を受理したという意味でありそれ以外の値であれば、否決したという意味を持っている。第一メッセージaと返答zとが、wを知っている証明者により、それぞれ第一メッセージ生成アルゴリズムΣcomと返答生成アルゴリズムΣansを用いて生成されたものであれば、b=1となる。Σ−プロトコルは以下の性質を満たす。
[完全性]∀ra,∀c∈Σchvrfy(x,Σcom(x,w;ra),c,Σans(x,w,ra,c))=1]
[特別健全性]
The verifier calculates and outputs b = Σ vrfy (x, a, c, z). Σ vrfy is a verification algorithm. If b = 1, it means that the verifier has accepted a series of authentication actions of the prover, and if it is any other value, it means that it has been rejected. . And the response z first message a is, the prover knows the w, as long as each generated using a first message generation algorithm sigma com and response generation algorithm sigma ans, a b = 1. The Σ-protocol satisfies the following properties:
[Completeness] ∀r a , ∀c∈Σ chvrfy (x, Σ com (x, w; r a ), c, Σ ans (x, w, r a, c)) = 1]
[Special health]

Figure 0005438697
Figure 0005438697

つまり、xが言語Lに元として含まれないとき、aに対して、zが存在するようなcは、唯一に決まる。さらに、c≠c’のとき、二つの受理される履歴(a,c,z)と(a,c’,z’)から、(x,w)∈Rを満たすwが必ず計算できる。 That is, when x is not included in the language LR as a source, c such that z exists is uniquely determined with respect to a. Furthermore, when c ≠ c ′, w satisfying (x, w) ∈R can be always calculated from the two accepted histories (a, c, z) and (a, c ′, z ′).

[正直な検証者に対する特別ゼロ知識]∀x∈L,∀c∈Σchに対して、検証者に受理される(a,c,z)←simΣ(x,c)を作ることができる。さらに、cをΣchからランダムに選び、simΣに入力して作った、(a,c,z)は、正直な証明者が正直な検証者と実行した履歴と同分布になる。 [Special Zero Knowledge for Honest Verifier] For ∀x∈L R and ∀c∈Σ ch , it is possible to create (a, c, z) ← simΣ (x, c) that is accepted by the verifier. . In addition, randomly selected c from Σ ch, was made to enter the simΣ, consisting of (a, c, z) is, in the history and the same distribution honest prover has performed with the honest verifier.

なお、任意のNP関係に対して、必ずΣ−プロトコルが存在することはすでに知られている(参考文献3参照)。
(参考文献3):O. Goldreich, S. Micali, and A. Wigderson, "Proofs that yield nothing but their validity or all languages in np have zero-knowledge proof systems", Journal of the ACM, 1991, 1(38), p.691-729
It is already known that there is always a Σ-protocol for any NP relationship (see Reference 3).
(Reference 3): O. Goldreich, S. Micali, and A. Wigderson, "Proofs that yield nothing but their validity or all languages in np have zero-knowledge proof systems", Journal of the ACM, 1991, 1 (38 ), p.691-729

<第一実施形態>
<コミットメントシステム1>
図1及び図2を用いて第一実施形態に係るコミットメントシステム1の処理概要を説明する。コミットメントシステム1は、第三者装置11とコミットメント生成装置13とコミットメント受信装置15とからなり、これらの各装置は、例えばインターネットである通信網12を介して相互に通信可能とされている。
<First embodiment>
<Commitment system 1>
The processing outline of the commitment system 1 according to the first embodiment will be described with reference to FIGS. 1 and 2. The commitment system 1 includes a third party device 11, a commitment generation device 13, and a commitment reception device 15, and these devices can communicate with each other via a communication network 12, which is the Internet, for example.

Π=(Gen,Enc,Dec)を公開検証可能なタグベース鍵カプセル化メカニズムとする。関係Rpriv pk,tagはΠにより定義される。関係Rpriv pk,tagはNP関係であり、 Let Π = (Gen, Enc, Dec) be a tag-based key encapsulation mechanism that can be publicly verified. The relationship R priv pk, tag is defined by Π. The relationship R priv pk, tag is an NP relationship,

Figure 0005438697
Figure 0005438697

とする。Πと関係Rpriv pk,tagに対するΣ−プロトコルからコミットメントシステム1を構成する。 And The commitment system 1 is constructed from the Σ-protocol for Π and the relationship R priv pk, tag .

第三者装置11はセキュリティパラメータnを入力とし(s1)、鍵生成アルゴリズムGenを用いて、秘密鍵skと公開鍵pkを生成する(s2)。この公開鍵pkを共通参照データとする。そして、少なくともコミットメント生成装置13とコミットメント受信装置15が共通参照データcrsを利用可能な状態で、第三者装置11は共通参照データcrsを格納しておく。   The third-party device 11 receives the security parameter n (s1), and generates a secret key sk and a public key pk using the key generation algorithm Gen (s2). This public key pk is used as common reference data. The third party device 11 stores the common reference data crs in a state where at least the commitment generation device 13 and the commitment reception device 15 can use the common reference data crs.

コミットメント生成装置13とコミットメント受信装置15は、タグ情報tagを取得する(s3)。tag情報とは、コミットメント生成装置13とコミットメント受信装置15とが共に知っている情報であり、例えば、プロセスのセッションID等である。なお、tag情報は後述する第一暗号文Cと第一鍵Kとの組(C,K)を生成する前にコミットメント生成装置13とコミットメント受信装置15とが共に取得すればよく、どのような取得方法を用いてもよい。   The commitment generation device 13 and the commitment reception device 15 acquire tag information tag (s3). The tag information is information that both the commitment generation device 13 and the commitment reception device 15 know, such as a process session ID. The tag information may be acquired by both the commitment generation device 13 and the commitment reception device 15 before generating a pair (C, K) of the first ciphertext C and the first key K described later. An acquisition method may be used.

さらに、コミットメント受信装置15は、共通参照データcrsを取得する(s4)。コミットメント受信装置15は暗号化アルゴリズムEncに対し共通参照データcrsとタグ情報tagを用いて、第一暗号文Cと第一鍵Kとの組(C,K)を生成し(s5)、第一暗号文Cをコミットメント生成装置13に送信する(s6)。   Further, the commitment receiving device 15 acquires common reference data crs (s4). The commitment receiver 15 generates a pair (C, K) of the first ciphertext C and the first key K using the common reference data crs and the tag information tag for the encryption algorithm Enc (s5). The ciphertext C is transmitted to the commitment generation device 13 (s6).

コミットメント生成装置13はコミットする秘匿情報mを入力される(s7)。さらに、コミットメント生成装置13は第一暗号文Cを受信する(s8)。さらに、コミットメント生成装置13は、共通参照データcrsを取得する(s9)。   The commitment generation device 13 receives the secret information m to be committed (s7). Further, the commitment generation device 13 receives the first ciphertext C (s8). Further, the commitment generation device 13 acquires common reference data crs (s9).

コミットメント生成装置13は共通参照データcrsとタグ情報tagを用いて、第一暗号文Cが真の暗号文であるか否かを検証する(s10)。真の暗号文である場合には、コミットメント生成装置13は、関係Rpriv pk,tagのΣ−プロトコルに対する(a,z)←simΣ(C,m)を計算し(s11)、コミットメント情報aをコミットメント受信装置15に送信する(s12)。なお、関係Rpriv pk,tagのΣ−プロトコルに対するsimΣとは、前述のΣ―プロトコルにおける秘密wを知らずに、第一メッセージa(本実施形態におけるコミットメント情報a)を生成し、返答z(本実施形態におけるコミットを開封するときの証拠の一部z)を生成するアルゴリズムである。 The commitment generation device 13 verifies whether or not the first ciphertext C is a true ciphertext using the common reference data crs and the tag information tag (s10). If it is a true ciphertext, the commitment generation device 13 calculates (a, z) ← sim Σ (C, m) for the Σ-protocol of the relationship R priv pk, tag (s11), and the commitment information a It transmits to the commitment receiver 15 (s12). Note that sym Σ for the Σ-protocol of the relationship R priv pk, tag generates the first message a (commitment information a in the present embodiment) without knowing the secret w in the Σ-protocol described above, Fig. 4 is an algorithm for generating part z) of evidence when opening a commit in an embodiment.

コミットメント受信装置15は、コミットメント情報aを受信し(s13)、(tag,C,a)を格納しておく(s14)。   The commitment receiving device 15 receives the commitment information a (s13) and stores (tag, C, a) (s14).

コミットメント開封装置16は、(crs,tag,C,m,a,z)をコミットメント生成装置13等から受け取り(s15)、安全に保管しておく。そして、情報mを開示するタイミングになると、(tag,m,z)をコミットメント受信装置15に送信する(s16)。なお、コミットメント生成装置13とコミットメント開封装置16との間は安全に通信可能とされている。また、コミットメント開封装置16を設けず、コミットメント生成装置13から直接、(tag,m,z)をコミットメント受信装置15に送信する構成としてもよい。   The commitment opening device 16 receives (crs, tag, C, m, a, z) from the commitment generation device 13 or the like (s15) and stores it safely. Then, when it is time to disclose the information m, (tag, m, z) is transmitted to the commitment receiver 15 (s16). The commitment generation device 13 and the commitment opening device 16 can communicate safely. Further, the commitment opening device 16 may not be provided, and (tag, m, z) may be directly transmitted from the commitment generation device 13 to the commitment reception device 15.

コミットメント受信装置15は、(tag,m,z)を受信すると(s17)、Σ―プロトコルに対するΣvrfy(C,a,m,z)を用いて、コミットメント情報aを受信した時点から秘匿情報mが変更されていないかを判定する(s18)。なお、前述のΣ―プロトコルにおいて検証アルゴリズムΣvrfyは証明者がwを知っているか否かを検証するが、本実施形態においてΣ―プロトコルに対するΣvrfyはコミットメント情報aを受信した時点から秘匿情報mが変更されていないかを判定する。言い換えると、本実施形態におけるΣ―プロトコルに対するΣvrfyは、秘匿情報mに対するコミットメント情報a及びコミットを開封するときの証拠の一部zが正しいか否かを検証するアルゴリズムである。 When the commitment receiving device 15 receives (tag, m, z) (s17), it uses the Σ vrfy (C, a, m, z) for the Σ-protocol, and the confidential information m from the time when the commitment information a is received. It is determined whether or not has been changed (s18). Although verification algorithm sigma vrfy In the foregoing Σ- protocols to verify whether the prover knows the w, sigma vrfy for Σ- protocol in this embodiment commitment information a secret information from the time of receiving the m It is determined whether has been changed. In other words, sigma vrfy for Σ- protocol in this embodiment is an algorithm part z to verify correct or not evidence when opening the commitment information a and commitment to confidential information m.

以下、詳細を説明する。まず、第一実施形態において例えば、以下のTag−KEM Π=(Gen,Enc,Dec)を利用することができる。   Details will be described below. First, in the first embodiment, for example, the following Tag-KEM Π = (Gen, Enc, Dec) can be used.

<Tag−KEM Π>
GとGを素数位数qのアーベル群とする。e:G×G→Gを非退化な双線形写像とする。gをGの生成元とする。Z/qZを0以上q未満の整数の集合とする。双線形性より、x,y∈G、a,b∈Z/qZに対して、e(x,y)=e(x,y)abが成り立つ。非退化性より、e(g,g)は、Gの生成元である。H:{0,1}→Z/qZのハッシュ関数とする。otΣ=(otKGen,otSign,OtVrfy)を任意の使い捨て署名とする(参考文献4参照)。
(参考文献4):Leslie Lamport, "Constructing digital signatures from one-way functions", Technical Report SRI-CSL-98, SRI International Computer Science Laboratory, October 1979
・Gen(1):x,y←Z/qZ;X:=g;Y:=g;pk=(g,X,Y,H)、sk=(pk,x,y)として、(pk,sk)を出力する。
・Enc(pk,tag):(otvk,otsk)←otKGen(1);σ←otSign(otsk,tag);r←Z/qZ;t:=H(otvk,g);C:=(σ,otvk,g,(XY));K:=X;(C,K)を出力する。
・Dec(sk,tag,C):C=(σ,otvk,u,τ)をσ,otvk,u,τに分解し、もしotVrfy(otvk,tag,σ)≠1ならば、復号を中止し、それ以外の場合、t:=H(otvk,u)を計算する。もしuxt+y≠τ ならば、復号を中止し、それ以外の場合、K:=u;Kを出力する。
<Tag-KEM Π>
The G and G T and Abelian group of prime order q. e: a non-degenerate bilinear mapping G × G → G T. Let g be a generator of G. Let Z / qZ be a set of integers greater than or equal to 0 and less than q. From the bilinearity, e (x a , y b ) = e (x, y) ab holds for x, yεG, a, bεZ / qZ. Than non-degenerative, e (g, g) is a generator of G T. H: {0, 1} * → A hash function of Z / qZ. Let otΣ = (otKGen, otSign, OtVrfy) be an arbitrary disposable signature (see Reference 4).
(Reference 4): Leslie Lamport, "Constructing digital signatures from one-way functions", Technical Report SRI-CSL-98, SRI International Computer Science Laboratory, October 1979
Gen (1 n ): x, y ← R Z / qZ; X: = g x ; Y: = g y ; pk = (g, X, Y, H), sk = (pk, x, y) , (Pk, sk) are output.
· Enc (pk, tag) :( otvk, otsk) ← otKGen (1 k); σ ← otSign (otsk, tag); r ← Z / qZ; t: = H (otvk, g r); C: = ( σ, otvk, g r , (X t Y) r ); K: = X r ; (C, K) is output.
Dec (sk, tag, C): C = (σ, otvk, u, τ) is decomposed into σ, otvk, u, τ, and if otVrfy (otvk, tag, σ) ≠ 1, decoding is stopped In other cases, t: = H (otvk, u) is calculated. If u xt + y ≠ τ, the decoding is stopped, and otherwise K: = u x ; K is output.

なお、第一実施形態において例えば、以下の使い捨て署名otΣ(otKGen,otSign,otVrfy)を利用することができる。   In the first embodiment, for example, the following disposable signature otΣ (otKGen, otSign, otVrfy) can be used.

<使い捨て署名otΣ>
を素数位数qのアーベル群とする。H:{0,1}→Z/qZのハッシュ関数とする。q、G、Hは、Tag−KEMΠで用いるq,G,Hと同じであってもよいし、異なっていてもよい。以下において、添え字s1、s2、w1、w2、z1、z2、H2は、s、s、w、w、z、z、Hを意味する。
・otKGen(1):g,g;s,s,w,wZ/qZ;b:=g w1 w2;h:=g s1 s2;otvk:=(g,g,h,b);otsk:=(otvk,s,s,w,w);(otvk,otsk)を出力する。
・otSign(otsk,m):c:=H(otvk,m);z:=w+c・s mod q;z:=w+c・s mod q;σ:=(z,z)を出力する。
・otVrfy(otvk,m,σ):g z1 z2=bhH2(otvk,m)のときに限り、1を出力する。
<Disposable signature otΣ>
Let G 2 be an abelian group of prime order q 2 . H 2 : {0, 1} * → Z / q 2 Z hash function. q 2 , G 2 , and H 2 may be the same as or different from q, G, and H used in Tag-KEM. In the following, the subscripts s1, s2, w1, w2, z1, z2, and H2 mean s 1 , s 2 , w 1 , w 2 , z 1 , z 2 , and H 2 .
· OtKGen (1 k): g 1, g 2 ← R G 2; s 1, s 2, w 1, w 2 ← R Z / q 2 Z; b: = g 1 w1 g 2 w2; h: = g 1 s1 g 2 s2; otvk: = (g 1, g 2, h, b); otsk: = (otvk, s 1, s 2, w 1, w 2); (otvk, otsk) outputs a.
OtSign (otsk, m): c: = H (otvk, m); z 1 : = w 1 + c · s 1 mod q 2 ; z 2 : = w 2 + c · s 2 mod q 2 ; σ: = ( z 1 , z 2 ) are output.
OtVrfy (otvk, m, σ): 1 is output only when g 1 z1 g 2 z2 = bh H2 (otvk, m) .

<共通参照データcrsの生成及び取得>
図3及び図4を用いて共通参照データcrsの生成について説明する。第三者装置11は、入力部111を介してセキュリティパラメータnを取得し(s111)、鍵生成部112において、Tag−KEMの鍵生成アルゴリズムGen(1)により(sk,pk)を生成する(s112)。例えば、Z/qZからランダムにxとyを選択し、X=gとY=gを求め、gとXとYとHとの組を公開鍵pkとして生成する。この公開鍵pkを共通参照データcrsとする。pkとxとyとの組を秘密鍵として生成する。そして、少なくともコミットメント生成装置13とコミットメント受信装置15が共通参照データcrsを利用可能な状態で、共通参照データcrsは記憶部114に記憶される。また、第三者装置11は、秘密鍵skを記憶部114に安全に格納してもよいし、破棄してもよい(s113)。なお、第三者装置11は、制御部115の制御のもと上記処理を行う。なお、本実施形態では、一つの共通参照データcrsを繰り返し使う。
<Generation and Acquisition of Common Reference Data crs>
Generation of the common reference data crs will be described with reference to FIGS. 3 and 4. The third-party device 11 acquires the security parameter n via the input unit 111 (s111), and the key generation unit 112 generates (sk, pk) using the Tag-KEM key generation algorithm Gen (1 n ). (S112). For example, x and y are selected at random from Z / qZ, X = g x and Y = g y are obtained, and a set of g, X, Y, and H is generated as a public key pk. This public key pk is used as common reference data crs. A pair of pk, x, and y is generated as a secret key. The common reference data crs is stored in the storage unit 114 in a state where at least the commitment generation device 13 and the commitment reception device 15 can use the common reference data crs. Further, the third party device 11 may store the secret key sk safely in the storage unit 114 or discard it (s113). The third party device 11 performs the above processing under the control of the control unit 115. In the present embodiment, one common reference data crs is repeatedly used.

コミットメント受信装置15は、制御部155(図5)の制御のもと、出力部156を介して、第三者装置11に対し、公開鍵pkを送信するように要求する。第三者装置11の制御部115は、入力部111を介して要求を受信し、記憶部114から公開鍵pkを取り出し、出力部116を介して、コミットメント受信装置15に送信する。コミットメント受信装置15は、入力部151を介して公開鍵pkを受信し、記憶部154に格納する(図6、s151)。コミットメント生成装置13も同様に制御部135(図7)の制御のもと、出力部136を介して公開鍵pkを要求し、入力部131を介して公開鍵pkを受信し、記憶部134に格納する(図8、s131)。   The commitment receiving device 15 requests the third party device 11 to transmit the public key pk via the output unit 156 under the control of the control unit 155 (FIG. 5). The control unit 115 of the third party device 11 receives the request via the input unit 111, extracts the public key pk from the storage unit 114, and transmits it to the commitment reception device 15 via the output unit 116. The commitment receiving device 15 receives the public key pk via the input unit 151 and stores it in the storage unit 154 (FIG. 6, s151). Similarly, under the control of the control unit 135 (FIG. 7), the commitment generation device 13 requests the public key pk through the output unit 136, receives the public key pk through the input unit 131, and stores it in the storage unit 134. Store (FIG. 8, s131).

<第一暗号文C及び第一鍵Kの生成>
コミットメント受信装置15は、入力部151を介してセキュリティパラメータkを取得する(図6、s152)。コミットメント受信装置15は、暗号化部152(図5)において、Tag−KEM Πの暗号化アルゴリズムEncを実行し、第一暗号文Cと第一鍵Kとの組(C,K)を生成する(s153)。
<Generation of first ciphertext C and first key K>
The commitment receiving device 15 acquires the security parameter k via the input unit 151 (FIG. 6, s152). The commitment receiver 15 executes the Tag-KEM Π encryption algorithm Enc in the encryption unit 152 (FIG. 5) to generate a pair (C, K) of the first ciphertext C and the first key K. (S153).

暗号化部152内の署名鍵検証鍵生成部152aは、セキュリティパラメータkを用いて、鍵生成アルゴリズムotKGenにより、署名鍵otskと検証鍵otvkを生成する。例えば、署名鍵検証鍵生成部152aは、Gからランダムにg、gを選択し、Z/qZからランダムにs、s、w、wを選択する。さらに、b=g w1 w2とh=g s1 s2を求め、gとgとhとbとの組を検証鍵otvkとし、検証鍵otvkとsとsとwとwとの組を署名鍵otskとして求める。なお、ハッシュ関数HとHが異なる場合には、検証鍵otvkがハッシュ関数Hを含む構成とする。 The signature key verification key generation unit 152a in the encryption unit 152 generates a signature key otsk and a verification key otvk by using the security parameter k and the key generation algorithm otKGen. For example, signing key verification key generation unit 152a selects g 1, g 2 from G 2 randomly, randomly selects s 1, s 2, w 1 , w 2 from the Z / q 2 Z. In addition, ask for b = g 1 w1 g 2 w2 and h = g 1 s1 g 2 s2 , a set of the g 1 and g 2 and h and b as a verification key otvk, and verification key otvk and s 1 and s 2 A set of w 1 and w 2 is obtained as a signature key otsk. If the hash functions H and H 2 are different, the verification key otvk is configured to include the hash function H 2 .

暗号化部152内の署名生成部152bは、タグ情報tagと生成した署名鍵otskを用いて、署名アルゴリズムotSignにより、電子署名σを生成する。例えば、検証鍵otvkとタグ情報tagをハッシュ関数Hの入力として、cを求める。さらに、(z=w+c・s mod q)と(z=w+c・s mod q)とを求め、zとzとの組を電子署名σとする。 The signature generation unit 152b in the encryption unit 152 generates an electronic signature σ by using the signature algorithm otSign using the tag information tag and the generated signature key otsk. For example, the verification key otvk tag information tag as input of a hash function H 2, obtaining or c. Further, (z 1 = w 1 + c · s 1 mod q 2 ) and (z 2 = w 2 + c · s 2 mod q 2 ) are obtained, and a set of z 1 and z 2 is set as an electronic signature σ.

暗号化部152内の第一鍵第一暗号文生成部152cは、公開パラメータpk(=g,X,Y,H)と前記検証鍵otvkを用いて、暗号化アルゴリズムEncにより第一暗号文Cと第一鍵Kを生成する。例えば、Z/qZからランダムにrを選択し、K=Xを求める。さらに、gを求め、検証鍵otvkとgをハッシュ関数Hの入力として、tを求める。(XY)を計算し、電子署名σと検証鍵otvkとgと(XY)との組を第一暗号文Cとする。 The first key first ciphertext generation unit 152c in the encryption unit 152 uses the public parameter pk (= g, X, Y, H) and the verification key otvk to encrypt the first ciphertext C using the encryption algorithm Enc. And the first key K is generated. For example, select r at random from Z / qZ, obtaining the K = X r. Further, g r is obtained, and t is obtained using the verification keys otvk and g r as the input of the hash function H. (X t Y) computes the r, the set of the electronic signature σ and verification key otvk and g r and (X t Y) r and the first ciphertext C.

コミットメント受信装置15は、第一暗号文Cとタグ情報tagを関連付けて記憶部154に記憶し、さらに、第一暗号文Cを出力部156を介してコミットメント生成装置13に送信する(s154)。コミットメント受信装置15は、署名鍵otskを記憶部154に安全に格納してもよいし、破棄してもよい。   The commitment receiver 15 associates the first ciphertext C with the tag information tag and stores it in the storage unit 154, and further transmits the first ciphertext C to the commitment generation device 13 via the output unit 156 (s154). The commitment receiving device 15 may store the signature key otsk in the storage unit 154 safely or discard it.

<第一暗号文Cの検証>
コミットメント生成装置13は、入力部131(図7)を介して、第一暗号文C=(σ,otvk,u,τ)を受信する(s132)。
<Verification of first ciphertext C>
The commitment generation device 13 receives the first ciphertext C = (σ, otvk, u, τ) via the input unit 131 (FIG. 7) (s132).

暗号文検証部132において、まず、電子署名σと検証鍵otvkとタグ情報tagを用いて、otVrfy(otvk,tag,σ)により、電子署名σが正当か否かを検証する(s133)。例えば、電子署名σ=(z,z)とotvk=(g,g,h,b)を用いて、g z1 z2を求める。さらに、検証鍵otvkとタグ情報tagを入力とし、H(otvk,tag)を求め、検証鍵に含まれるbを用いて、bhH2(otvk,tag)を求める。求めたg z1 z2とbhH2(otvk,tag)とが同一の場合に電子署名σが正当であると判断する。つまり、otVrfyは1を返す。g z1 z2とbhH2(otvk,tag)とが異なる場合には、電子署名が正当ではないと判断し、否決する(s137)。つまり、otVrfyは1以外の値を返す。コミットメント受信装置15以外の生成した電子署名を否決することができる。 The ciphertext verification unit 132 first verifies whether or not the electronic signature σ is valid by using otVrfy (otvk, tag, σ) using the electronic signature σ, the verification key otvk, and the tag information tag (s133). For example, g 1 z1 g 2 z2 is obtained using the electronic signature σ = (z 1 , z 2 ) and otvk = (g 1 , g 2 , h, b). Further, the verification key otvk and the tag information tag are input, H 2 (otvk, tag) is obtained, and bh H2 (otvk, tag) is obtained using b included in the verification key. When the obtained g 1 z1 g 2 z2 and bh H2 (otvk, tag) are the same, it is determined that the electronic signature σ is valid. That is, otVrfy returns 1. If g 1 z1 g 2 z2 and bh H2 (otvk, tag) are different, it is determined that the electronic signature is not valid and the result is rejected (s137). That is, otVrfy returns a value other than 1. It is possible to reject electronic signatures generated by devices other than the commitment receiver 15.

電子署名σが正当である場合には、暗号文検証部132は、記憶部154から公開パラメータpk=(g,X,Y,H)を取り出し、ハッシュ関数Hと第一暗号文Cに含まれるuと検証鍵otvkを用いて、t=H(otvk,u)を求める。さらに、公開パラメータpk=(g,X,Y,H)と第一暗号文Cに含まれるτを用いて、e(u,XY)=e(g,τ)が成り立つか否か検証する(s134)。受信した第一暗号文Cに含まれるuとτが、それぞれ、コミットメント受信装置15で生成されるg、(XY)と同一であれば、前記式が成り立つ。e(u,XY)=e(g,τ)が成り立つ場合には、受信した第一暗号文Cが真の暗号文であると判定する。e(u,XY)=e(g,τ)が成り立たない場合には、第一暗号文Cが真の暗号文ではないと判断し、否決する(s137)。この処理により、 If the electronic signature σ is valid, the ciphertext verification unit 132 takes out the public parameter pk = (g, X, Y, H) from the storage unit 154 and includes it in the hash function H and the first ciphertext C. Using u and the verification key otvk, t = H (otvk, u) is obtained. Further, using the public parameter pk = (g, X, Y, H) and τ included in the first ciphertext C, it is verified whether e (u, X t Y) = e (g, τ) holds. (S134). If u and τ included in the received first ciphertext C are the same as g r and (X t Y) r generated by the commitment receiver 15, the above equation holds. If e (u, X t Y) = e (g, τ) holds, it is determined that the received first ciphertext C is a true ciphertext. If e (u, X t Y) = e (g, τ) does not hold, it is determined that the first ciphertext C is not a true ciphertext, and a negative decision is made (s137). This process

Figure 0005438697
Figure 0005438697

第一暗号文Cが言語Lに元として含まれない場合(Cが真の暗号文でない場合)に処理を中止することができる。 Can first ciphertext C is to stop the process when not included as original language L R (if C is not a true ciphertext).

<コミットメント情報の生成>
第一暗号文Cが真の暗号文であると判定した場合、コミットメント情報生成部138は、第一暗号文Cと秘匿情報mを用いて、関係Rpriv pk,tagのΣ−プロトコルに対する(a,z)←simΣ(C,m)を計算する(s135)。例えばコミットメント情報生成部138は、Gから単位元を除いた群GからランダムにK^を選択し、Z/qZからランダムにzを選択する。さらに、a^=e(g,K^)・e(u,X)−mを計算し、K^とa^との組をコミットメント情報aとして生成する。コミットメント生成装置13は、出力部136を介して、生成したコミットメント情報aをコミットメント受信装置15に送信する(s136)。
<Generation of commitment information>
When it is determined that the first ciphertext C is a true ciphertext, the commitment information generation unit 138 uses the first ciphertext C and the confidential information m to (a) for the Σ-protocol of the relationship R priv pk, tag , Z) ← simΣ (C, m) is calculated (s135). For example, the commitment information generation unit 138 randomly selects K ^ from the group G * obtained by removing the unit element from G, and randomly selects z from Z / qZ. Further, a ^ = e (g, K ^) z · e (u, X) -m is calculated, and a set of K ^ and a ^ is generated as commitment information a. The commitment generation device 13 transmits the generated commitment information a to the commitment reception device 15 via the output unit 136 (s136).

コミットメント生成装置13とコミットメント開封装置16が同一装置の場合、(crs,tag,C,m,a,z)を記憶部134に安全に記憶しておく。別装置の場合には、コミットメント生成装置13は上記情報をコミットメント開封装置16に出力部136を介して送信する。   When the commitment generation device 13 and the commitment opening device 16 are the same device, (crs, tag, C, m, a, z) is safely stored in the storage unit 134. In the case of another device, the commitment generation device 13 transmits the information to the commitment opening device 16 via the output unit 136.

<コミットメント情報の受信及び開封処理>
コミットメント受信装置15は、入力部151(図5)を介して、コミットメント情報aを受信し(図6、s155)、記憶部154に(tag,C)と関連付けて記憶しておく(s156)。
<Receiving and opening commitment information>
The commitment receiver 15 receives the commitment information a via the input unit 151 (FIG. 5) (FIG. 6, s155), and stores it in the storage unit 154 in association with (tag, C) (s156).

さらに、コミットメント受信装置15は、入力部151を介して、コミットメント生成装置13またはコミットメント開封装置16から(tag,m,z)を受信する(s157)。コミットメント受信装置15の開封部159において、Σvrfy(C,a,m,z)を用いて、e(g,K^)=a^・e(u,X)が成り立つか否か判定する(s158)。例えば、公開パラメータpkに含まれるgとX、a=(K^,a^)、第一暗号文Cに含まれるu,z及びmを用いて、e(g,K^)=a^・e(u,X)が成り立つか否か判定する。成り立つ場合には、Σvrfy(C,a,m,z)は1を返し、受信した秘匿情報mは、コミットメント情報a受信時点から変更されていないと判定し、受理する(s159)。e(g,K^)=a^・e(u,X)が成り立たない場合、Σvrfy(C,a,m,z)は1以外の値を返し、少なくともmかzかの何れかに変更があったものとし、否決する(s160)。 Further, the commitment receiving device 15 receives (tag, m, z) from the commitment generating device 13 or the commitment opening device 16 via the input unit 151 (s157). In the unsealing unit 159 of the commitment receiver 15, it is determined whether or not e (g, K ^) z = a ^ · e (u, X) m is satisfied by using Σvrfy (C, a, m, z). (S158). For example, using g and X included in the public parameter pk, a = (K ^, a ^), u, z, and m included in the first ciphertext C, e (g, K ^) z = a ^ E (u, X) Determine whether m holds. If true, Σ vrfy (C, a, m, z) returns 1, and it is determined that the received confidential information m has not been changed since the reception of the commitment information a, and is accepted (s159). e (g, K ^) z = a ^ · e (u, X) If m does not hold, Σ vrfy (C, a, m, z) returns a value other than 1, and at least either m or z It is assumed that there has been a change, and the result is rejected (s160).

<効果>
このような構成とすることで、従来の署名が破られた場合にも安全なコミットメント方式とすることができる。
<Effect>
With such a configuration, a safe commitment method can be achieved even when a conventional signature is broken.

さらに、本実施形態では、公開検証可能なTag−KEMに加え、電子署名を組合せているため、より安全性の高いコミットメント方式を実現している。   Furthermore, in this embodiment, since a digital signature is combined with a Tag-KEM that can be publicly verified, a commitment scheme with higher security is realized.

さらに、電子署名を使い捨て署名とすることで、従来(非特許文献3、4、5、6及び7参照)より効率のよいコミットメント方式を実現している。従来技術では、使い捨てでない電子署名から共通の変換法の基にSSTCを構成していた。これらの方式は署名方式から変換するので、コミットメントの効率は署名方式に依存する。現在知られている限りでは、安全な使い捨てでない署名方式は、安全な使い捨て署名や安全な暗号方式と比べてより強い家庭または大きなパラメータを使わなくてはならない。例えば、参考文献5記載の署名方式では、公開パラメータpkとして(g、g,g,u’,H,u,…,u)を必要とする(例えばn=160や256等)。一方、本実施形態では、公開検証可能なTag−KEMと使い捨て署名を組み合わせて用いることで、公開パラメータを(g,X,Y,H)とし、小さいパラメータで十分な安全性を実現することができる。
(参考文献5):Brent Waters, "Efficient Identity-Based Encryption Without Random Oracles", EUROCRYPT 2005, LNCS, Springer, Heidelberg, 2005, vol. 3494, p.114-127.
Furthermore, by making the electronic signature a disposable signature, a more efficient commitment scheme than the conventional one (see Non-Patent Documents 3, 4, 5, 6 and 7) is realized. In the prior art, the SSTC is configured based on a common conversion method from a non-disposable electronic signature. Since these schemes convert from signature schemes, the efficiency of commitment depends on the signature scheme. As far as is known, secure non-disposable signature schemes must use stronger homes or larger parameters than secure disposable signatures and secure cryptographic schemes. For example, the signature scheme described in Reference 5 requires (g, g 1 , g 2 , u ′, H, u 1 ,..., U n ) as public parameters pk (for example, n = 160, 256, etc.). . On the other hand, in this embodiment, by using a combination of Tag-KEM that can be publicly verified and a disposable signature, the public parameters can be (g, X, Y, H), and sufficient security can be realized with small parameters. it can.
(Reference 5): Brent Waters, "Efficient Identity-Based Encryption Without Random Oracles", EUROCRYPT 2005, LNCS, Springer, Heidelberg, 2005, vol. 3494, p.114-127.

また、本実施形態は、CDH仮定に対しタイトであり、従来技術に比べ、セキュリティパラメータを短くすることができ、情報量、計算量を共に削減することができ、効率のよいコミットメントシステムを構成することができる。例えば、CDH仮定がkビットの場合、本実施形態ではk’(≒k)ビットのセキュリティパラメータを用いることができる。一方、参考文献5記載の署名方式ではk”(≒10k)ビットのセキュリティパラメータを用いなければ同程度の安全性を得ることはできない。 In addition, this embodiment is tight with respect to the CDH assumption, and can reduce the security parameter, reduce both the amount of information and the amount of calculation, and configure an efficient commitment system as compared with the prior art. be able to. For example, when the CDH assumption is k bits, a security parameter of k ′ (≈k) bits can be used in this embodiment. On the other hand, the signature scheme described in Reference 5 cannot obtain the same level of security unless security parameters of k ″ (≈10 2 k) bits are used.

<プログラム及び記憶媒体>
上述した第三者装置、コミットメント生成装置及びコミットメント受信装置は、コンピュータにより機能させることもできる。この場合はコンピュータに、目的とする装置(各種実施例で図に示した機能構成をもつ装置)として機能させるためのプログラム、またはその処理手順(各実施例で示したもの)の各過程をコンピュータに実行させるためのプログラムを、CD−ROM、磁気ディスク、半導体記憶装置などの記録媒体から、あるいは通信回線を介してそのコンピュータ内にダウンロードし、そのプログラムを実行させればよい。
<Program and storage medium>
The above-described third party device, commitment generation device, and commitment reception device can be functioned by a computer. In this case, each process of a program for causing a computer to function as a target device (a device having the functional configuration shown in the drawings in various embodiments) or a processing procedure (shown in each embodiment) is processed by the computer. A program to be executed by the computer may be downloaded from a recording medium such as a CD-ROM, a magnetic disk, or a semiconductor storage device or via a communication line into the computer, and the program may be executed.

<その他の変形例>
他の公開検証可能なTag−KEMや使い捨て署名を用いてもよい。Πと関係Rpriv pk,tagに対するΣ−プロトコルからコミットメントシステムを構成すればよく、第一暗号文Cは必ずしも署名を含まなくともよい。また、使い捨てではない署名を用いてもよく、その場合も、従来技術と比べ安全なコミットメント方式となる。
<Other variations>
Other publicly verifiable Tag-KEMs and disposable signatures may be used. A commitment system may be configured from the Σ-protocol for Π and the relationship Rpriv pk, tag , and the first ciphertext C does not necessarily include a signature. In addition, a non-disposable signature may be used, and in that case, the commitment method is safer than that of the prior art.

本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。   The present invention is not limited to the above-described embodiments and modifications. For example, the various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. In addition, it can change suitably in the range which does not deviate from the meaning of this invention.

本発明は、様々な暗号プロトコルに利用することができる。例えば、ゼロ知識証明、マルチパーティ計算、電子マネーまたは電子投票等に利用することができる。   The present invention can be used for various cryptographic protocols. For example, it can be used for zero knowledge proof, multi-party calculation, electronic money or electronic voting.

1 コミットメントシステム
11 第三者装置
12 通信網
13 コミットメント生成装置
15 コミットメント受信装置
16 コミットメント開封装置
111 入力部
112 鍵生成部
114 記憶部
115 制御部
116 出力部
131 入力部
132 暗号検証部
134 記憶部
135 制御部
136 出力部
138 コミットメント情報生成部
151 入力部
152 暗号化部
152a 署名鍵検証鍵生成部
152b 署名生成部
152c 第一鍵第一暗号文生成部
154 記憶部
155 制御部
156 出力部
159 開封部
DESCRIPTION OF SYMBOLS 1 Commitment system 11 Third party apparatus 12 Communication network 13 Commitment generating apparatus 15 Commitment receiving apparatus 16 Commitment opening apparatus 111 Input part 112 Key generation part 114 Storage part 115 Control part 116 Output part 131 Input part 132 Encryption verification part 134 Storage part 135 Control unit 136 Output unit 138 Commitment information generation unit 151 Input unit 152 Encryption unit 152a Signature key verification key generation unit 152b Signature generation unit 152c First key first ciphertext generation unit 154 Storage unit 155 Control unit 156 Output unit 159 Unsealing unit

Claims (9)

コミットメント生成装置とコミットメント受信装置からなるコミットメントシステムであって、
公開検証可能なタグベース鍵カプセル化メカニズムをΠ=(Gen,Enc,Dec)とし、鍵生成アルゴリズムGenを用いて生成される公開鍵をpkとし、前記コミットメント生成装置と前記コミットメント受信装置とが共に知っているタグ情報をtagとし、rを乱数とし、暗号化アルゴリズムEncに対し前記公開鍵pkと前記タグ情報tagを与えて得られる第一暗号文をCとし、第一鍵をKとし、前記Πが定める関係Rpriv pk,tag
Figure 0005438697
とし、
前記コミットメント受信装置は暗号化アルゴリズムEncに対し前記公開鍵pkと前記タグ情報tagを与え、第一暗号文Cと第一鍵Kとの組(C,K)を生成し、前記第一暗号文Cを前記コミットメント生成装置に送信し、
コミットを開封するときの証拠の一部をzとし、コミットする秘匿情報をmとし、前記コミットメント生成装置は前記第一暗号文Cを受信し、前記公開鍵pkと前記タグ情報tagを用いて、前記第一暗号文Cが真の暗号文であるか否かを検証し、真の暗号文である場合には、前記関係Rpriv pk,tagのΣ−プロトコルに対する(a,z)←simΣ(C,m)を計算し、コミットメント情報aを前記コミットメント受信装置に送信し、
前記コミットメント受信装置はコミットメント情報aを受信し、(tag,C,a)を格納しておき、(tag,m,z)を受信すると、前記関係Rpriv pk,tagのΣ−プロトコルに対するΣvrfy(C,a,m,z)を用いて、秘匿情報mが変更されていないかを判定する、
コミットメントシステム。
A commitment system comprising a commitment generator and a commitment receiver,
The tag-based key encapsulation mechanism that can be publicly verified is , = (Gen, Enc, Dec), the public key generated using the key generation algorithm Gen is pk, and both the commitment generation device and the commitment reception device The known tag information is tag, r is a random number, the first ciphertext obtained by giving the public key pk and the tag information tag to the encryption algorithm Enc is C, the first key is K, The relationship R priv pk, tag defined by Π
Figure 0005438697
age,
The commitment receiving device gives the public key pk and the tag information tag to the encryption algorithm Enc, generates a pair (C, K) of the first ciphertext C and the first key K, and the first ciphertext C to the commitment generator,
A part of the evidence when opening the commit is z, the secret information to be committed is m, the commitment generation device receives the first ciphertext C, and uses the public key pk and the tag information tag, It is verified whether or not the first ciphertext C is a true ciphertext, and if it is a true ciphertext, (a, z) ← simΣ () for the Σ-protocol of the relationship R priv pk, tag. C, m), and transmits commitment information a to the commitment receiver,
The commitment receiving apparatus receives the commitment information a, stores (tag, C, a), and receives (tag, m, z) . When the tag R, the relation R priv pk, tag is Σ vrfy for the Σ-protocol. (C, a, m, z) is used to determine whether the confidential information m has been changed.
Commitment system.
請求項1記載のコミットメントシステムであって、
Z/qZを0以上q未満の整数の集合とし、x,y←Z/qZとし、GとGを素数位数qのアーベル群とし、e:G×G→Gを非退化な双線形写像とし、gをGの生成元とし、Hをハッシュ関数とし、X:=gとし、Y:=gとし、前記公開鍵pk=(g,X,Y,H,)とし、
前記コミットメント受信装置は、署名鍵otskと検証鍵otvkを生成し、前記署名鍵otskと前記タグ情報tagを用いて電子署名σを生成し、さらに、r←Z/qZと前記検証鍵otvkを用いてt:=H(otvk,g)を計算し、前記電子署名σ及び検証鍵otvkを含む前記第一暗号文C:=(σ,otvk,g,(XY))を生成し、
前記コミットメント生成装置は、第一暗号文C=(σ,otvk,u,τ)を受信し、前記公開鍵pkと前記タグ情報tagを用いて、電子署名σが正当か否かを検証し、前記電子署名σが正当であって、e(u,XY)=e(g,τ)が成り立つ場合には、前記第一暗号文Cが真の暗号文であると判定し、K^←G=(G−{1})とz←Z/qZを用いて、a^=e(g,K^)・e(u,X)−mを計算し、コミットメント情報a=(K^,a^)を前記コミットメント受信装置に送信し、
前記コミットメント受信装置は、コミットメント情報aを受信し、(tag,C,a)を格納しておき、(tag,m,z)を受信すると、e(g,K^)=a^・e(u,X)が成り立つか否か判定し、成り立つ場合には、秘匿情報mが変更されていないと判定する、
コミットメントシステム。
The commitment system according to claim 1,
The Z / qZ an integer of the set of zero or more and less than q, x, and y ← R Z / qZ, a G and G T the abelian group of prime order q, e: non-degenerate I a G × G → G T a bilinear mapping, a g and a generator of G, and H as a hash function, X: = a g x, Y: = a g y, and the public key pk = (g, X, Y , H,) and,
The commitment receiving device generates a signature key otsk and a verification key otvk, generates an electronic signature σ using the signature key otsk and the tag information tag, and further uses r ← Z / qZ and the verification key otvk T: = H (otvk, g r ) to generate the first ciphertext C: = (σ, otvk, g r , (X t Y) r ) including the electronic signature σ and the verification key otvk And
The commitment generation device receives the first ciphertext C = (σ, otvk, u, τ), verifies whether the electronic signature σ is valid using the public key pk and the tag information tag, If the electronic signature σ is valid and e (u, X t Y) = e (g, τ) holds, it is determined that the first ciphertext C is a true ciphertext, and K ^ ← G * = (G− {1 G }) and z ← Z / qZ are used to calculate a ^ = e (g, K ^) z · e (u, X) −m , and commitment information a = (K ^, a ^) is transmitted to the commitment receiver,
The commitment receiving device receives the commitment information a, stores (tag, C, a), and receives (tag, m, z), e (g, K ^) z = a ^ · e. (U, X) It is determined whether m holds, and if it does, it is determined that the confidential information m has not been changed.
Commitment system.
請求項2記載のコミットメントシステムであって、
Z/qZを0以上q未満の整数の集合とし、Gを素数位数qのアーベル群とし、Hをハッシュ関数とし、
添え字のs1、s2、w1及びw2はそれぞれs、s、w及びwを意味し、前記署名鍵otsk及び前記検証鍵otvkは使い捨て署名であり、前記コミットメント受信装置はg,g、s,s,w,wZ/qZを用いて、b:=g w1 w2及びh:=g s1 s2を求め、前記検証鍵otvk:=(g,g,h,b)、前記署名鍵otsk=(otvk,s,s,w,w)を生成し、c:=H(otvk,tag)を求め、z:=x+c・s mod q、z:=x+c・s mod qを求め、前記電子署名σ=(z,z)を生成し、
添え字のH2、z1及びz2はそれぞれH、z及びzを意味し、前記コミットメント生成装置は、前記検証鍵otvk:=(g,g,h,b)と前記電子署名σ=(z,z)を用いて、g z1g z2=bhH2(otvk,tag)が成り立つか否かを判定し、成り立つ場合には、前記電子署名σが正当であると判定する、
コミットメントシステム。
The commitment system according to claim 2,
Z / q 2 Z is a set of integers greater than or equal to 0 and less than q 2 , G 2 is an abelian group of prime order q 2 , H 2 is a hash function,
The subscripts s1, s2, w1 and w2 mean s 1 , s 2 , w 1 and w 2 , respectively, the signature key otsk and the verification key otvk are disposable signatures, and the commitment receiving device is g 1 , with g 2 ← R G 2, s 1, s 2, w 1, w 2 ← R Z / q 2 Z, b: = g 1 w1 g 2 w2 and h: = seeking g 1 s1 g 2 s2 , The verification key otvk: = (g 1 , g 2 , h, b) and the signature key otsk = (otvk, s 1 , s 2 , w 1 , w 2 ) are generated, and c: = H 2 (otvk) , Tag), z 1 : = x 1 + c · s 1 mod q 2 , z 2 : = x 2 + c · s 2 mod q 2 , and generate the electronic signature σ = (z 1 , z 2 ) And
It means each subscript H2, z1 and z2 H 2, z 1 and z 2, wherein the commitment generator, the verification key otvk: = (g 1, g 2, h, b) and the electronic signature σ = (Z 1 , z 2 ) is used to determine whether or not g 1 z1 g 2 z2 = bh H2 (otvk, tag) is satisfied, and if so, the electronic signature σ is determined to be valid To
Commitment system.
秘匿情報mをコミットし、コミットメント情報aを生成するコミットメント生成装置であって、
公開検証可能なタグベース鍵カプセル化メカニズムをΠ=(Gen,Enc,Dec)とし、鍵生成アルゴリズムGenを用いて生成される公開鍵をpkとし、当該コミットメント生成装置とコミットメント情報aを受信するコミットメント受信装置とが共に知っているタグ情報をtagとし、rを乱数とし、暗号化アルゴリズムEncに対し前記公開鍵pkと前記タグ情報tagを与えて得られる第一暗号文をCとし、第一鍵をKとし、前記Πが定める関係Rpriv pk,tag
Figure 0005438697
とし、コミットを開封するときの証拠の一部をzとし、
第一暗号文Cを受信し、公開鍵pkとタグ情報tagとを用いて、受信した前記第一暗号文Cが真の暗号文であるか否かを検証し、真の暗号文である場合には、前記関係Rpriv pk,tagのΣ−プロトコルに対する(a,z)←simΣ(C,m)を計算し、コミットメント情報aを前記コミットメント受信装置に送信する、
コミットメント生成装置。
A commitment generation device that commits confidential information m and generates commitment information a,
Commit that receives the commitment generation device and the commitment information a, where タ グ = (Gen, Enc, Dec) is a publicly verifiable tag-based key encapsulation mechanism, pk is a public key generated using the key generation algorithm Gen Tag information that the receiving device knows together is tag, r is a random number, and the first ciphertext obtained by giving the public key pk and the tag information tag to the encryption algorithm Enc is C, and the first key Is K, and the relationship R priv pk, tag defined by Π
Figure 0005438697
And z as part of the evidence when opening the commit
When the first ciphertext C is received, it is verified whether the received first ciphertext C is a true ciphertext by using the public key pk and the tag information tag. Calculates (a, z) ← simΣ (C, m) for the Σ-protocol of the relationship R priv pk, tag and sends commitment information a to the commitment receiver.
Commitment generator.
コミットメント情報aを受信するコミットメント受信装置であって、
公開検証可能なタグベース鍵カプセル化メカニズムをΠ=(Gen,Enc,Dec)とし、鍵生成アルゴリズムGenを用いて生成される公開鍵をpkとし、秘匿情報mをコミットし、コミットメント情報aを生成するコミットメント生成装置と当該コミットメント受信装置とが共に知っているタグ情報をtagとし、rを乱数とし、暗号化アルゴリズムEncに対し前記公開鍵pkと前記タグ情報tagを与えて得られる第一暗号文をCとし、第一鍵をKとし、前記Πが定める関係Rpriv pk,tag
Figure 0005438697
とし、
暗号化アルゴリズムEncに対し前記公開鍵pkと前記タグ情報tagを与え、第一暗号文Cと第一鍵Kとの組(C,K)を生成し、前記第一暗号文Cを前記コミットメント受信装置に送信し、
コミットを開封するときの証拠の一部をzとし、前記コミットメント生成装置からコミットメント情報aを受信し、(tag,C,a)を格納しておき、(tag,m,z)を受信すると、Σ−プロトコルに対するΣvrfy(C,a,m,z)を用いて、秘匿情報mが変更されていないかを判定する、
コミットメント受信装置。
A commitment receiving device for receiving commitment information a,
The tag-based key encapsulation mechanism that can be publicly verified is Π = (Gen, Enc, Dec), the public key generated using the key generation algorithm Gen is pk, the confidential information m is committed, and the commitment information a is generated. Tag information known by both the commitment generating device and the commitment receiving device is tag, r is a random number, and the first ciphertext obtained by giving the public key pk and the tag information tag to the encryption algorithm Enc Is C, the first key is K, and the relationship R priv pk, tag defined by Π is
Figure 0005438697
age,
The public key pk and the tag information tag are given to the encryption algorithm Enc, a pair (C, K) of the first ciphertext C and the first key K is generated, and the first ciphertext C is received by the commitment To the device,
A part of the evidence when opening the commit is z, the commitment information a is received from the commitment generation device, (tag, C, a) is stored, and (tag, m, z) is received. Using Σ vrfy (C, a, m, z) for the Σ-protocol to determine whether the confidential information m has been changed,
Commitment receiver.
コミットメント生成装置とコミットメント受信装置を用いたコミットメント方法であって、
公開検証可能なタグベース鍵カプセル化メカニズムをΠ=(Gen,Enc,Dec)とし、鍵生成アルゴリズムGenを用いて生成される公開鍵をpkとし、前記コミットメント生成装置と前記コミットメント受信装置とが共に知っているタグ情報をtagとし、rを乱数とし、暗号化アルゴリズムEncに対し前記公開鍵pkと前記タグ情報tagを与えて得られる第一暗号文をCとし、第一鍵をKとし、前記Πが定める関係Rpriv pk,tag
Figure 0005438697
とし、
前記コミットメント受信装置において、暗号化アルゴリズムEncに対し前記公開鍵pkと前記タグ情報tagを与え、第一暗号文Cと第一鍵Kとの組(C,K)を生成し、前記第一暗号文Cを前記コミットメント生成装置に送信する第一暗号文生成ステップと、
コミットを開封するときの証拠の一部をzとし、コミットする秘匿情報をmとし、前記コミットメント生成装置が、前記第一暗号文Cを受信し、コミットメント生成装置において、前記公開鍵pkと前記タグ情報tagを用いて、前記第一暗号文Cが真の暗号文であるか否かを検証し、真の暗号文である場合には、前記関係Rpriv pk,tagのΣ−プロトコルに対する(a,z)←simΣ(C,m)を計算し、コミットメント情報aを前記コミットメント受信装置に送信するコミットメント情報生成ステップと、
前記コミットメント受信装置において、コミットメント情報aを受信し、(tag,C,a)を格納しておき、(tag,m,z)を受信すると、前記関係Rpriv pk,tagのΣ−プロトコルに対するΣvrfy(C,a,m,z)を用いて、秘匿情報mが変更されていないかを判定する開封ステップと、を含む、
コミットメント方法。
A commitment method using a commitment generator and a commitment receiver,
The tag-based key encapsulation mechanism that can be publicly verified is , = (Gen, Enc, Dec), the public key generated using the key generation algorithm Gen is pk, and both the commitment generation device and the commitment reception device The known tag information is tag, r is a random number, the first ciphertext obtained by giving the public key pk and the tag information tag to the encryption algorithm Enc is C, the first key is K, The relationship R priv pk, tag defined by Π
Figure 0005438697
age,
In the commitment receiving device, the public key pk and the tag information tag are given to the encryption algorithm Enc, a pair (C, K) of the first ciphertext C and the first key K is generated, and the first ciphertext A first ciphertext generation step of transmitting a sentence C to the commitment generation device;
A part of the evidence when opening the commit is z, the secret information to be committed is m, the commitment generation device receives the first ciphertext C, and the commitment generation device receives the public key pk and the tag The information tag is used to verify whether or not the first ciphertext C is a true ciphertext. If the first ciphertext C is a true ciphertext, (a) for the Σ-protocol of the relationship R priv pk, tag , Z) ← sim Σ (C, m) is calculated, and commitment information generation step of transmitting commitment information a to the commitment receiving device;
In the commitment receiving device, when the commitment information a is received, (tag, C, a) is stored, and (tag, m, z) is received, Σ with respect to the Σ-protocol of the relation R priv pk, tag using vrfy (C, a, m, z) to determine whether the confidential information m has been changed,
Commitment method.
請求項6記載のコミットメント方法であって、
Z/qZを0以上q未満の整数の集合とし、x,y←Z/qZとし、GとGを素数位数qのアーベル群とし、e:G×G→Gを非退化な双線形写像とし、gをGの生成元とし、Hをハッシュ関数とし、X:=gとし、Y:=gとし、前記公開鍵pk=(g,X,Y,H,)とし、
前記第一暗号文生成ステップにおいて、前記コミットメント受信装置は、署名鍵otskと検証鍵otvkを生成し、前記署名鍵otskと前記タグ情報tagを用いて電子署名σを生成し、さらに、r←Z/qZと前記検証鍵otvkを用いてt:=H(otvk,g)を計算し、前記電子署名σ及び検証鍵otvkを含む前記第一暗号文C:=(σ,otvk,g,(XY))を生成し、
前記コミットメント情報生成ステップにおいて、前記コミットメント生成装置は、第一暗号文C=(σ,otvk,u,τ)を受信し、前記公開鍵pkと前記タグ情報tagを用いて、電子署名σが正当か否かを検証し、前記電子署名σが正当であって、e(u,XY)=e(g,τ)が成り立つ場合には、前記第一暗号文Cが真の暗号文であると判定し、K^←G=(G−{1})とz←Z/qZを用いて、a^=e(g,K^)・e(u,X)−mを計算し、コミットメント情報a=(K^,a^)を前記コミットメント受信装置に送信し、
前記開封ステップにおいて、前記コミットメント受信装置は、コミットメント情報aを受信し、(tag,C,a)を格納しておき、(tag,m,z)を受信すると、e(g,K^)=a^・e(u,X)が成り立つか否か判定し、成り立つ場合には、秘匿情報mが変更されていないと判定する、
コミットメント方法。
The commitment method according to claim 6, comprising:
The Z / qZ an integer of the set of zero or more and less than q, x, and y ← R Z / qZ, a G and G T the abelian group of prime order q, e: non-degenerate I a G × G → G T a bilinear mapping, a g and a generator of G, and H as a hash function, X: = a g x, Y: = a g y, and the public key pk = (g, X, Y , H,) and,
In the first ciphertext generation step, the commitment receiving device generates a signature key otsk and a verification key otvk, generates an electronic signature σ using the signature key otsk and the tag information tag, and r ← Z / QZ and the verification key otvk are used to calculate t: = H (otvk, g r ), and the first ciphertext C: = (σ, otvk, g r , including the electronic signature σ and the verification key otvk, (X t Y) r )
In the commitment information generation step, the commitment generation device receives the first ciphertext C = (σ, otvk, u, τ), and the electronic signature σ is valid using the public key pk and the tag information tag. If the electronic signature σ is valid and e (u, X t Y) = e (g, τ) holds, the first ciphertext C is a true ciphertext. If it is determined that there is K ^ ← G * = (G− {1 G }) and z ← Z / qZ, a ^ = e (g, K ^) z · e (u, X) −m Calculating commitment information a = (K ^, a ^) to the commitment receiver,
In the opening step, the commitment receiving device receives the commitment information a, stores (tag, C, a), receives (tag, m, z), and e (g, K ^) z = A ^ · e (u, X) It is determined whether m holds, and if it holds, it is determined that the confidential information m has not been changed.
Commitment method.
請求項7記載のコミットメント方法であって、
Z/qZを0以上q未満の整数の集合とし、Gを素数位数qのアーベル群とし、Hをハッシュ関数とし、
添え字のs1、s2、w1及びw2はそれぞれs、s、w及びwを意味し、前記署名鍵otsk及び前記検証鍵otvkは使い捨て署名であり、前記第一暗号文生成ステップにおいて、前記コミットメント受信装置はg,g、s,s,w,wZ/qZを用いて、b:=g w1 w2及びh:=g s1 s2を求め、前記検証鍵otvk:=(g,g,h,b)、前記署名鍵otsk=(otvk,s,s,w,w)を生成し、c:=H(otvk,tag)を求め、z:=x+c・s mod q、z:=x+c・s mod qを求め、前記電子署名σ=(z,z)を生成し、
添え字のH2、z1及びz2はそれぞれH、z及びzを意味し、前記第一暗号文検証ステップにおいて、前記コミットメント生成装置は、前記検証鍵otvk:=(g,g,h,b)と前記電子署名σ=(z,z)を用いて、g z1g z2=bhH2(otvk,tag)が成り立つか否かを判定し、成り立つ場合には、前記電子署名σが正当であると判定する、
コミットメント方法。
The commitment method according to claim 7, comprising:
Z / q 2 Z is a set of integers greater than or equal to 0 and less than q 2 , G 2 is an abelian group of prime order q 2 , H 2 is a hash function,
The subscripts s1, s2, w1 and w2 mean s 1 , s 2 , w 1 and w 2 , respectively, and the signature key otsk and the verification key otvk are disposable signatures, and in the first ciphertext generation step, the commitment receiving apparatus with g 1, g 2 ← R G 2, s 1, s 2, w 1, w 2 ← R Z / q 2 Z, b: = g 1 w1 g 2 w2 and h: = g 1 s1 g 2 s2 is obtained, and the verification key otvk: = (g 1 , g 2 , h, b) and the signature key otsk = (otvk, s 1 , s 2 , w 1 , w 2 ) are generated Then, c: = H 2 (otvk, tag) is obtained, z 1 : = x 1 + c · s 1 mod q 2 , z 2 : = x 2 + c · s 2 mod q 2 is obtained, and the electronic signature σ = (Z 1 , z 2 )
In subscript H2, z1 and z2 means H 2, z 1 and z 2, respectively, the first ciphertext verification step, the commitment generating device, the verification key otvk: = (g 1, g 2, h, b) and the electronic signature σ = (z 1 , z 2 ) are used to determine whether g 1 z1 g 2 z2 = bh H2 (otvk, tag) holds, It is determined that the electronic signature σ is valid.
Commitment method.
請求項4または5記載のコミットメント生成装置またはコミットメント受信装置として、コンピュータを機能させるためのプログラム。   A program for causing a computer to function as the commitment generation device or commitment reception device according to claim 4 or 5.
JP2011011218A 2011-01-21 2011-01-21 Commitment system, commitment generation device, commitment reception device, method and program thereof Expired - Fee Related JP5438697B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011011218A JP5438697B2 (en) 2011-01-21 2011-01-21 Commitment system, commitment generation device, commitment reception device, method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011011218A JP5438697B2 (en) 2011-01-21 2011-01-21 Commitment system, commitment generation device, commitment reception device, method and program thereof

Publications (2)

Publication Number Publication Date
JP2012156590A JP2012156590A (en) 2012-08-16
JP5438697B2 true JP5438697B2 (en) 2014-03-12

Family

ID=46837915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011011218A Expired - Fee Related JP5438697B2 (en) 2011-01-21 2011-01-21 Commitment system, commitment generation device, commitment reception device, method and program thereof

Country Status (1)

Country Link
JP (1) JP5438697B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5932709B2 (en) * 2013-05-09 2016-06-08 株式会社日立製作所 Transmission side device and reception side device

Also Published As

Publication number Publication date
JP2012156590A (en) 2012-08-16

Similar Documents

Publication Publication Date Title
Canetti et al. Fiat-Shamir and correlation intractability from strong KDM-secure encryption
Garg et al. Witness encryption and its applications
Vaikuntanathan Computing blindfolded: New developments in fully homomorphic encryption
Groth et al. Perfect non-interactive zero knowledge for NP
Sen Homomorphic encryption-theory and application
Camenisch et al. Batch verification of short signatures
Lindell Efficient fully-simulatable oblivious transfer
Kiayias et al. Group encryption
Pass et al. Construction of a non-malleable encryption scheme from any semantically secure one
Jain et al. Non-interactive zero knowledge from sub-exponential DDH
Katsumata et al. Designated verifier/prover and preprocessing NIZKs from Diffie-Hellman assumptions
Hada Secure obfuscation for encrypted signatures
Chow et al. Practical dual-receiver encryption: soundness, complete non-malleability, and applications
Katz et al. Feasibility and infeasibility of adaptively secure fully homomorphic encryption
KR101986392B1 (en) Information processing device, information processing method, and recording medium
Boneh et al. A lattice-based universal thresholdizer for cryptographic systems
Chatterjee et al. Compact ring signatures from learning with errors
Goldwasser et al. Proof of plaintext knowledge for the Ajtai-Dwork cryptosystem
Debnath et al. Towards fair mutual private set intersection with linear complexity
Döttling et al. Maliciously circuit-private FHE from information-theoretic principles
Ishai et al. On invertible sampling and adaptive security
JP5438697B2 (en) Commitment system, commitment generation device, commitment reception device, method and program thereof
Günther et al. Linkable message tagging: solving the key distribution problem of signature schemes
Agrawal et al. Online-Offline Functional Encryption for Bounded Collusions.
Derler et al. Practical Witness Encryption for Algebraic Languages And How to Reply an Unknown Whistleblower.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131213

R150 Certificate of patent or registration of utility model

Ref document number: 5438697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees