JP5264450B2 - Bit commitment verification system, bit commitment device, verification device, bit commitment verification method, bit commitment method, verification method, bit commitment program, verification program - Google Patents

Bit commitment verification system, bit commitment device, verification device, bit commitment verification method, bit commitment method, verification method, bit commitment program, verification program Download PDF

Info

Publication number
JP5264450B2
JP5264450B2 JP2008307902A JP2008307902A JP5264450B2 JP 5264450 B2 JP5264450 B2 JP 5264450B2 JP 2008307902 A JP2008307902 A JP 2008307902A JP 2008307902 A JP2008307902 A JP 2008307902A JP 5264450 B2 JP5264450 B2 JP 5264450B2
Authority
JP
Japan
Prior art keywords
commitment
information
bit
verification
key
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
JP2008307902A
Other languages
Japanese (ja)
Other versions
JP2010135928A (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 JP2008307902A priority Critical patent/JP5264450B2/en
Publication of JP2010135928A publication Critical patent/JP2010135928A/en
Application granted granted Critical
Publication of JP5264450B2 publication Critical patent/JP5264450B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a bit commitment method and the apparatus capable of being effectively used in other encryption protocols making opening information as an origin of G. <P>SOLUTION: A bit commitment verification system has a registration apparatus, a bit commitment apparatus, and a verification apparatus. The bit commitment apparatus uses generation origins of two groups, and generates a commitment key ck. C=&Pi;<SP>n</SP><SB>i=1</SB>g<SP>mi</SP>h<SB>1</SB><SP>ri</SP>is calculated from g, h<SB>1</SB>, and r<SB>i</SB>, and information to be committed m<SB>i</SB>, and it is output as commitment. Opening information H=&Pi;<SP>n</SP><SB>i=1</SB>h<SB>2</SB><SP>ri</SP>is calculated. The verification apparatus determines whether an equation e(C/&Pi;<SP>n</SP><SB>i=1</SB>g<SP>mi</SP>, h<SB>2</SB>)=e(h<SB>1</SB>, H) is right, if it is right, the verification is passed, and if it is not right, the verification is not passed. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は、電気通信システムである情報をコミット(確約)し、検証するビットコミットメント検証システム、ビットコミットメント装置、検証装置、及びその方法に関する。   The present invention relates to a bit commitment verification system, a bit commitment device, a verification device, and a method for committing (verifying) and verifying information that is a telecommunication system.

ビットコミットメントは、ある時点で送信者がメッセージmを保持していたことを、後々、受信者に納得させる方法である。例えば、A,Bの二者が後出しを許さない公平なじゃんけんを行う方法を考える。Aはまず紙に書いた自分の選択(「グー」、「チョキ」または「パー」)を金庫に入れて、鍵をかけ、金庫のみをBに渡す。次に、Bは自分の選択をAに告げる。AはBの選択を確認した後に、鍵をBに渡す。Bは受け取った鍵で金庫を開け、Aの選択を確認し、じゃんけんの勝敗を確認する。この「金庫」や「鍵」に相当する機能を電子的に提供する方法がビットコミットメントである。   Bit commitment is a method of convincing the receiver later that the sender has held the message m at some point. For example, let us consider a method in which A and B perform fair fairness that does not allow later work. A first puts his choice ("Goo", "Choki" or "Par") written on the paper into the safe, locks it, and passes only the safe to B. Next, B tells A about his choice. A confirms the selection of B and then passes the key to B. B opens the safe with the received key, confirms A's selection, and confirms the victory or defeat of Janken. A bit commitment is a method of electronically providing a function corresponding to the “safe” or “key”.

非特許文献1記載のビットコミットメント方法(いわゆる「Pedersenのコミットメント」)について説明する。   A bit commitment method (so-called “Pedersen's commitment”) described in Non-Patent Document 1 will be described.

qを大きな素数とし、Gを位数qの(乗法)群であって、離散対数問題が困難である群とする。   Let q be a large prime number and G be a (multiplicative) group of order q, where the discrete logarithm problem is difficult.

コミットメントする者Aは、Gの異なる2つの生成元g、hを無作為に選び、(G,q,g,h)をコミットメント鍵とする。以下、Zを0以上q−1以下の整数の集合とし、Z をZから0を除いた集合とする。コミットする情報をm∈Zとする。 A person A who makes a commitment randomly selects two generators g and h having different G, and uses (G, q, g, h) as a commitment key. Hereinafter, Z q is a set of integers from 0 to q−1, and Z q * is a set obtained by removing 0 from Z q . Let the information to be committed be mεZ q .

コミットメントする者は、Zからrを無作為に選択し、開封情報とする。
C=g∈G (1)
を計算し、Cをコミットメントとして検証者Bへ送る。また、情報mと開封情報rを秘密に保存する。
Those who make commitments randomly select r from Z q and use it as opening information.
C = g m h r ∈G (1)
And C is sent as a commitment to verifier B. Further, the information m and the opening information r are stored secretly.

その後、Aは、情報m及び開封情報rを公開する。
Bは、コミットメント鍵(G,q,g,h)と情報mと開封情報rから
=C (2)
式(2)が成り立つか否か検証する。成り立つ場合には、Cを検証者Bへ送った時点から情報mに変更が加えられていないことが確認できる。成り立たない場合には、改竄等の可能性が考えられる。
After that, A releases information m and opening information r.
B is commitment key (G, q, g, h ) g and the information m from the unsealing information r m h r = C (2 )
It is verified whether or not equation (2) holds. If true, it can be confirmed that the information m has not been changed since C was sent to the verifier B. If it does not hold, there is a possibility of falsification.

コミットメントC=gから情報mを知ることは情報理論的に不可能である。つまり、検証者Bは、コミットメントCを受け取った時点では、情報mを知ることはできない。一方、コミットメントCを二通りの(m,r)と(m’,r’)により生成することは離散対数logh∈Zを求めることと等価であり、離散対数問題の困難性を仮定すれば、一旦コミットされたCは1通りの情報m及び開封情報rを持ってのみ開封することができる。よって、Aは、コミットメントCを検証者Bへ送った後に、情報mを改竄することはできない。 Knowing the information m from the commitment C = g m h r is information theoretically impossible. That is, the verifier B cannot know the information m when the commitment C is received. On the other hand, generating the commitment C by two types (m, r) and (m ′, r ′) is equivalent to obtaining the discrete logarithm log g h∈Z q , and assumes the difficulty of the discrete logarithm problem. Then, once committed C can be opened only with one piece of information m and opening information r. Therefore, A cannot tamper with the information m after sending the commitment C to the verifier B.

ビットコミットメントは暗号プロトコルと密接な関係を持っている。例えば、ゼロ知識証明、マルチパーティ計算、電子マネー、電子投票、グループ署名等に用いられている。
Torben P. Pedersen, "Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing", Advances in Cryptology - CRYPTO ’91, Springer Berlin / Heidelberg, 1992, Volume 576/1992, p.129-140
Bit commitment is closely related to cryptographic protocols. For example, it is used for zero knowledge proof, multi-party calculation, electronic money, electronic voting, group signature and the like.
Torben P. Pedersen, "Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing", Advances in Cryptology-CRYPTO '91, Springer Berlin / Heidelberg, 1992, Volume 576/1992, p.129-140

暗号プロトコル中でビットコミットメントが使われる場合、コミットメント作成者が、開封情報rを実際に公開することなく、正しい開封情報を保持している事実のみを証明する必要が生じることがある。例えば、コミットされたメッセージ間の様々な関係を示す非対話ゼロ知識証明を用いると、開封情報rを秘匿したまま、rを保持している、つまり、コミットメントCを開封できるという事実を第三者に納得させることができる。例えば、Jens Groth, Amit Sahai, "Efficient Non-interactive Proof Systems for Bilinear Groups", Advances in Cryptology - EUROCRYPT 2008, Springer Berlin / Heidelberg, June 3,2008, Volume 4965/2008, p415-432(以下「参考文献1」という)には、開封情報rがGの元であれば、ペアリングを利用して効率的な非対話ゼロ知識証明が構成できることが記載されている。参考文献1のように、開封情報rがZの元である場合についての非対話ゼロ知識証明は理想的なランダムオラクルモデルにおいては効率的な構成が知られているが、理想化された関数を仮定しないモデルにおいては、非効率的な構成しか知られていない。非特許文献1記載のビットコメント方法は、開封情報(m,r)がGの元となっていないため、Gの元を利用して効率的にゼロ知識証明や、グループ署名等を構成することができない。 When bit commitment is used in a cryptographic protocol, it may be necessary for the commitment creator to prove only the fact that he holds the correct opening information without actually publishing the opening information r. For example, using a non-interactive zero knowledge proof that shows various relationships between committed messages, the fact that r is kept, i.e., commitment C can be opened, while the opening information r is kept secret, is the third party Can be convinced. For example, Jens Groth, Amit Sahai, "Efficient Non-interactive Proof Systems for Bilinear Groups", Advances in Cryptology-EUROCRYPT 2008, Springer Berlin / Heidelberg, June 3,2008, Volume 4965/2008, p415-432 (hereinafter "References" 1)), if the unsealing information r is an element of G, it is described that an efficient non-interactive zero knowledge proof can be constructed using pairing. As in Reference 1, the non-interactive zero knowledge proof for the case where the opening information r is an element of Z q is known to have an efficient configuration in an ideal random oracle model. In models that do not assume, only inefficient configurations are known. In the bit comment method described in Non-Patent Document 1, since the opening information (m, r) is not an element of G, zero knowledge proof, group signature, etc. can be efficiently constructed using the element of G. I can't.

本発明は、開封情報をGの元とし、他の暗号プロトコル中において、効率的に利用可能なビットコメント方法及びその装置を提供することを目的とする。   SUMMARY OF THE INVENTION An object of the present invention is to provide a bit comment method and apparatus that can be used efficiently in other cryptographic protocols with unsealing information as a source of G.

本発明のビットコミットメント検証システムは登録装置と、ビットコミットメント装置と、検証装置からなる。qを素数とし、G、G、Gを位数qの群とし、eをバイリニアマップe:G×G→Gとし、公開パラメータv=(q,G,G,G,e)とする。ビットコメント装置は、Gから生成元g及びhを、Gから生成元hを、無作為に選択し、これらの生成元を用いてコミットメント鍵ckを生成する。Zに属する乱数r(但し、1≦i≦nであり、nは、情報mの個数を表す)を生成する。公開パラメータv及び乱数rを記憶し、特に乱数rは秘密に記憶する。g,h及びrとコミットする情報mからC=Π i=1mi riを計算し、これをコミットメントとして出力する。開封情報H=Π i=1 riを算出する。検証装置は、コミットメント鍵ck、情報M、開封情報H及びCを記憶する。等式e(C/Π i=1mi,h)=e(h,H)が成立するか否かを判定し、成立する場合には合格とし、成立しない場合には不合格とする。登録装置は、公開パラメータv及びコミットメント鍵ckを記憶する記憶部を有する。ビットコミットメント装置は、登録装置から公開パラメータvを受け取り、コミットメント鍵ckを登録装置へ、コミットメントCを検証装置へ、送り、コミットメントCを送ると同時または送った後に、情報mを含む情報M及び開封情報Hを検証装置へ送る。検証装置は、登録装置からコミットメント鍵ckを、ビットコミットメント装置からコミットメントC、情報M及び開封情報Hを、受け取る。 The bit commitment verification system of the present invention comprises a registration device, a bit commitment device, and a verification device. The q is a prime number, G 1, G 2, the G T as a group of order q, e bilinear map e: and G 1 × G 2 → G T , the public parameter v = (q, G 1, G 2, Let G T , e). Bit Comment apparatus, the generator g and h 1 from G 1, the origin h 2 from the G 2, randomly selected, to generate a commitment key ck using these origin. A random number r i belonging to Z q (where 1 ≦ i ≦ n, where n represents the number of pieces of information m) is generated. The public parameter v and the random number r i are stored, and in particular, the random number r i is stored secretly. g, a C = Π n i = 1 g mi h 1 ri calculated from h 1 and r i and committed information m i, and outputs it as commitments. Opening information H = Π n i = 1 h 2 ri is calculated. The verification device stores the commitment key ck, information M, and unsealing information H and C. Equation e (C / Π n i = 1 g mi, h 2) = e (h 1, H) , it is determined whether or not satisfied, the pass if satisfied, fail if not satisfied And The registration device has a storage unit that stores the public parameter v and the commitment key ck. The bit commitment device receives the public parameter v from the registration device, sends the commitment key ck to the registration device, sends the commitment C to the verification device, and sends the commitment C at the same time or after sending the information M including the information m and the opening Information H is sent to the verification device. The verification device receives the commitment key ck from the registration device and the commitment C, information M, and unsealing information H from the bit commitment device.

本発明のビットコミットメント検証方法及び装置によれば、ビットコミットメント方法を、効率的に様々な他の暗号プロトコルの構成要素として利用できる。   According to the bit commitment verification method and apparatus of the present invention, the bit commitment method can be efficiently used as a component of various other cryptographic protocols.

例えば、本発明のビットコミットメント方法を用いた場合、開封情報がGの元であるため、ペアリングを利用した効率的な非対話ゼロ知識証明を構成することができる。   For example, when the bit commitment method of the present invention is used, since the unsealing information is an element of G, an efficient non-interactive zero knowledge proof using pairing can be configured.

ここで、本発明の実施例について説明する。   Here, examples of the present invention will be described.

[ビットコミットメント検証システム1]
図1は、ビットコミットメント検証システム1の構成例を示す図である。図2は、ビットコミットメント検証システム1のシーケンス図の一例を示す図である。ビットコミットメント検証システム1は、登録装置300と、ビットコミットメント装置100と、検証装置200からなる。
[Bit commitment verification system 1]
FIG. 1 is a diagram illustrating a configuration example of the bit commitment verification system 1. FIG. 2 is a diagram illustrating an example of a sequence diagram of the bit commitment verification system 1. The bit commitment verification system 1 includes a registration device 300, a bit commitment device 100, and a verification device 200.

qを大きな素数とし、G,G,Gを位数qの群とし、eを効率的に計算可能なバイリニアマップe:G×G→Gとし、v=(q,G,G,G,e)を公開パラメータとする。ここで、G,Gは、任意のh からh を計算できるのはrを知っている場合に限られるという性質を有する群である。なお、gとは、g∈Gに対し、群Gで定義される演算をa回行うことを意味する。バイリニアマップとしては、例えば、WeilペアリングやTateペアリング等が考えられる。 and a large prime number q, and the group of G 1, G 2, G T the position number q, by e of efficiently computable linear map e: and G 1 × G 2 → G T , v = (q, G 1 , G 2 , G T , e) are public parameters. Here, G 1 and G 2 are groups having a property that h 2 r can be calculated from arbitrary h 1 r only when r is known. Note that g a means that the operation defined by the group G is performed a times for gεG. Examples of the bilinear map include Weil pairing and Tate pairing.

ビットコミットメント装置100は、コミットメントCを生成するために、登録装置300に対して、公開パラメータvを要求する(s10)。登録装置300は、vをビットコミットメント装置100へ送る(s12)。ビットコミットメント装置100は、公開パラメータvからコミットメント鍵ckを生成し、登録装置300へ送る(s14)。登録装置300は、コミットメント鍵ckを登録及び公開する(s16)。なお、送るたびに公開パラメータを要求しなくとも、記憶している公開パラメータを利用してコミットメント鍵を生成してもよい。さらに、情報m、コミットメント鍵ck及び乱数rを用いて、コミットメントCを生成する。ビットコミットメント装置100は、コミットメントCを検証装置へ送る(s18)。送ると同時または送った後に、乱数rを用いて算出した開封情報Hと、情報mを含む情報Mを前記検証装置へ送る(s19)。   In order to generate the commitment C, the bit commitment device 100 requests the public parameter v from the registration device 300 (s10). The registration device 300 sends v to the bit commitment device 100 (s12). The bit commitment device 100 generates a commitment key ck from the public parameter v and sends it to the registration device 300 (s14). The registration device 300 registers and discloses the commitment key ck (s16). Note that the commitment key may be generated by using the stored public parameter without requesting the public parameter every time it is sent. Further, a commitment C is generated using the information m, the commitment key ck, and the random number r. The bit commitment device 100 sends the commitment C to the verification device (s18). Simultaneously with or after sending, the unsealing information H calculated using the random number r and the information M including the information m are sent to the verification device (s19).

検証装置200は、コミットメントCに対応するコミットメント鍵ckを登録装置300へ要求する(s20)。登録装置300は、コミットメント鍵ckを検証装置200へ送る(s22)。検証装置200は、コミットメントC、情報m、コミットメント鍵ckを用いて、改竄及び成りすまし等が行われていないか検証し(s24)、確かにコミットメントCが送られてきた時点から情報mが改竄等されていないことを確認する。以下、各装置及び各処理について詳細を説明する。   The verification device 200 requests the registration device 300 for a commitment key ck corresponding to the commitment C (s20). The registration device 300 sends the commitment key ck to the verification device 200 (s22). The verification device 200 verifies whether falsification or impersonation has been performed using the commitment C, the information m, and the commitment key ck (s24), and the information m has been falsified from the time when the commitment C is certainly sent. Make sure it is not. Hereinafter, details of each device and each process will be described.

[登録装置300]
登録装置300は、公開パラメータvを登録及び公開している。例えば、登録装置300は、信頼できる第三者等が管理し、通信部301と、記憶部303と、制御部305を有する。登録装置300は、通信部301を介して、ビットコミットメント装置及び検証装置と通信する。以下、特に記述しなくとも、ビットコメント装置100及び検証装置200と通信する際には、通信部301を介して行われるものとする。通信部301は、例えば、LANアダプタ等により構成され、LANやインターネット等からなる通信回線と接続される。但し、必ずしも通信部を有さずともよく、例えば、キーボード等の入力装置から公開パラメータを入力してもよいし、また、USBメモリ等の可搬媒体に公開パラメータを記憶し、それを入力してもよい。以下、同様に各装置(ビットコメント装置及び検証装置)は送信部101、201を有さずともよく、装置間のデータの入出力は、通信以外の方法であってもよい。記憶部303は、公開パラメータ、コミットメント鍵等を記憶する。なお、上記「登録」とは、記憶部303に記憶することを意味してもよい。また、「公開」とは、利用者の求めに応じて、情報(例えば、公開パラメータ)を閲覧可能、または、取得可能とすることを意味する。制御部305は、各処理を制御する。
[Registration device 300]
The registration device 300 registers and publishes the public parameter v. For example, the registration apparatus 300 is managed by a trusted third party or the like, and includes a communication unit 301, a storage unit 303, and a control unit 305. The registration device 300 communicates with the bit commitment device and the verification device via the communication unit 301. Hereinafter, it is assumed that the communication with the bit comment device 100 and the verification device 200 is performed via the communication unit 301 even if not specifically described. The communication unit 301 is configured by a LAN adapter or the like, for example, and is connected to a communication line made up of a LAN, the Internet or the like. However, the communication unit may not necessarily be provided. For example, the public parameter may be input from an input device such as a keyboard, or the public parameter may be stored in a portable medium such as a USB memory and input. May be. Similarly, each device (bit comment device and verification device) may not have the transmission units 101 and 201, and data input / output between devices may be a method other than communication. The storage unit 303 stores public parameters, commitment keys, and the like. The “registration” may mean storing in the storage unit 303. In addition, “public” means that information (for example, public parameters) can be browsed or acquired according to a user's request. The control unit 305 controls each process.

[ビットコミットメント装置100]
図3は、ビットコミットメント装置100の構成例を示す図である。図4は、ビットコミットメント装置100の処理フローの一例を示す図である。ビットコミットメント装置100は、通信部101と、記憶部103と、制御部105と、コミットメント鍵生成部120と、乱数生成部130と、開封情報生成部140と、コミットメント生成部150を有する。
[Bit Commitment Device 100]
FIG. 3 is a diagram illustrating a configuration example of the bit commitment device 100. FIG. 4 is a diagram illustrating an example of a processing flow of the bit commitment device 100. The bit commitment device 100 includes a communication unit 101, a storage unit 103, a control unit 105, a commitment key generation unit 120, a random number generation unit 130, an unsealing information generation unit 140, and a commitment generation unit 150.

<制御部105、通信部101及び記憶部103>
本実施例のビットコミットメント装置100は、制御部105の制御のもと各処理を実行する。ビットコミットメント装置100は、登録装置300から公開パラメータvを受け取る。例えば、通信部101は、登録装置300及び検証装置200と通信を行い、登録装置300から公開パラメータvを受信する(s101)。以下、特に記述しなくとも、登録装置300及び検証装置200と通信する際には、通信部101を介して行われるものとする。
<Control unit 105, communication unit 101, and storage unit 103>
The bit commitment device 100 according to this embodiment executes each process under the control of the control unit 105. The bit commitment device 100 receives the public parameter v from the registration device 300. For example, the communication unit 101 communicates with the registration device 300 and the verification device 200, and receives the public parameter v from the registration device 300 (s101). Hereinafter, it is assumed that the communication with the registration device 300 and the verification device 200 is performed via the communication unit 101 even if not specifically described.

受信した公開パラメータvを記憶部103に記憶する(s103)。また、特に示さない限り、入出力される各データや演算過程の各データは、逐一、記憶部103に格納・読み出され、各演算処理が進められる。但し、必ずしも記憶部103に記憶しなければならないわけではなく、各部間で直接データを受け渡してもよい。   The received public parameter v is stored in the storage unit 103 (s103). Unless otherwise indicated, each input / output data and each data in the calculation process are stored / read out in the storage unit 103 one by one, and each calculation process proceeds. However, the data need not necessarily be stored in the storage unit 103, and data may be directly transferred between the units.

<コミットメント鍵生成部120>
コミットメント鍵生成部120は、Gから生成元g及びhを、Gから生成元hを、無作為に選択し、これらの生成元を用いてコミットメント鍵ckを生成する(s120)。例えば、コミットメント鍵ck=(v,g,h,h)として生成する。コミットメント鍵生成部120は、通信部101を介して、または、通信部101及び記憶部103を介して公開パラメータvが入力され、生成元hを開封情報算出部140へ、生成元g及びhをコミットメント生成部150へ出力する。また、通信部101を介して、コミットメント鍵ckを登録装置300へ送る。なお、コミットメント鍵ckには、利用した公開パラメータを表示する情報i等を含めpk=(i,g,h,h)としてもよい。この場合には、以下で説明する検証装置200は、情報iに基づいて、登録装置300に対応する公開パラメータvを要求する。また、登録装置300の記憶している公開パラメータの中から対応する公開パラメータを特定することができる場合には、コミットメント鍵ckに公開パラメータvや、公開パラメータを表示する情報i等を含まなくともよく、検証装置200は、情報M及び開封情報Hを受け付けた際に、登録装置300に公開パラメータvを要求する。
<Commitment key generation unit 120>
Commitment key generating unit 120, the generator g and h 1 from G 1, the origin h 2 from the G 2, randomly selected, to generate a commitment key ck using these origin (s120). For example, it is generated as a commitment key ck = (v, g, h 1 , h 2 ). Commitment key generating unit 120 via the communication unit 101, or, the public parameter v via the communication unit 101 and the storage unit 103 is inputted, the origin h 2 to unsealing information calculating unit 140, the generator g and h 1 is output to the commitment generation unit 150. In addition, the commitment key ck is sent to the registration apparatus 300 via the communication unit 101. The commitment key ck may include pk = (i, g, h 1 , h 2 ) including information i indicating the public parameter used. In this case, the verification device 200 described below requests a public parameter v i corresponding to the registration device 300 based on the information i. Further, when the corresponding public parameter can be specified from the public parameters stored in the registration apparatus 300, the commitment key ck need not include the public parameter v, the information i indicating the public parameter, or the like. The verification apparatus 200 requests the public parameter v from the registration apparatus 300 when receiving the information M and the opening information H.

<乱数生成部130及び開封情報算出部140>
乱数生成部130は、Zに属する乱数rを生成する(s130)。乱数rを開封情報算出部140及びコミットメント生成部150へ出力する。記憶部103は、乱数rが秘密に記憶される(s135)。開封情報算出部140は、開封情報H=h を算出する(s140)。これにより開封情報Hが離散対数問題が困難な元となる。開放情報算出部140は、Gの生成元h及び乱数rが入力され、開封情報H=h を出力する。
<Random number generator 130 and opening information calculator 140>
Random number generation unit 130 generates a random number r which belongs to Z q (s130). The random number r is output to the opening information calculation unit 140 and the commitment generation unit 150. The storage unit 103 stores the random number r in a secret (s135). The unsealing information calculation unit 140 calculates unsealing information H = h 2 r (s140). Thereby, the unsealing information H becomes a source of difficulty in the discrete logarithm problem. The opening information calculation unit 140 receives the generation source h 2 and the random number r of G 2 and outputs the opening information H = h 2 r .

<コミットメント生成部150>
コミットメント生成部150は、g,h及びrとコミットする情報mからC=g を計算し、これをコミットメントとして出力する(s150)。コミットメント生成部150は、乱数生成部130から乱数rを、コミットメント鍵生成部120からGの生成元g、hを、さらに情報mを入力され、コミットメントCを出力する。なお、情報m∈Zであり、補助記憶装置やメモリ上のデータ等、もしくは、入力インターフェース、キーボード、マウス等から入力されるデータである。
<Commitment generator 150>
The commitment generation unit 150 calculates C = g m h 1 r from g, h 1 and r and the information m to be committed, and outputs this as a commitment (s150). The commitment generation unit 150 receives the random number r from the random number generation unit 130, the generation source g and h 1 of G 1 from the commitment key generation unit 120, and the information m, and outputs the commitment C. Information mεZ q, which is data stored in an auxiliary storage device or memory, or data input from an input interface, keyboard, mouse, or the like.

ビットコミットメント装置100は、コミットメント鍵ckを登録装置300へ、コミットメントCを検証装置200へ、送る(s153)。送ると同時または送った後に、情報mを含む情報M及び開封情報Hを検証装置200へ送る(s155)。なお、情報mを含む情報Mとは、例えば、情報m自体(つまり、M=m)であってもよいし、gであってもよい(つまり、M=g)。情報M=gとする場合には、図示しない情報変更部を設け、情報変更部は生成元g及び情報mを入力され、M=gを算出し、Mを出力する構成としてもよい。なお、M=gの場合には、離散対数問題の困難性により、検証装置200は、Mを受け取った場合にも、mについて知ることはできない。このとき、ビットコメント装置100は、情報mを秘匿したまま、コミットメントを開封できることを検証装置200に納得させることができる。非特許文献1同様、一旦コミットされたCは1通りの情報M及び開封情報Hを持ってのみ開封することができる。よって、ビットコミットメント装置100は、コミットメントCを検証装置200へ送ってから(s153)、情報M及び開封情報Hを検証装置200へ送る(s155)までの間に、情報Mを改竄することはできない。なお、開封情報の算出(s140)とコミットメントの生成(s150)は、どちらが先に行われてもよいが、コミットメントCを先に送らなければ、ある時点で送信者がメッセージmを保持していたことを、後々、受信者に納得させるという効果を得ることはできない。 The bit commitment device 100 sends the commitment key ck to the registration device 300 and the commitment C to the verification device 200 (s153). At the same time as sending or after sending, the information M including the information m and the opening information H are sent to the verification device 200 (s155). Note that the information M including the information m may be, for example, the information m itself (that is, M = m) or g m (that is, M = g m ). When the information M = g m is set, an information changing unit (not shown) may be provided, and the information changing unit may receive the generation source g and the information m , calculate M = g m , and output M. When M = g m , due to the difficulty of the discrete logarithm problem, the verification apparatus 200 cannot know m even when M is received. At this time, the bit comment device 100 can convince the verification device 200 that the commitment can be opened while the information m is kept secret. As in Non-Patent Document 1, once committed C can be opened only with one piece of information M and opening information H. Therefore, the bit commitment device 100 cannot falsify the information M after sending the commitment C to the verification device 200 (s153) and before sending the information M and the opening information H to the verification device 200 (s155). . Note that either the calculation of opening information (s140) or the generation of commitment (s150) may be performed first, but if the commitment C is not transmitted first, the sender holds the message m at a certain point. The effect of convincing the recipient later cannot be obtained.

[検証装置200]
図5は、検証装置200の構成例を示す。図6は、検証装置100の処理フローの一例を示す図である。検証装置200は、通信部201と、記憶部203と、制御部205と、判定部220を有する。
[Verification device 200]
FIG. 5 shows a configuration example of the verification apparatus 200. FIG. 6 is a diagram illustrating an example of a processing flow of the verification apparatus 100. The verification device 200 includes a communication unit 201, a storage unit 203, a control unit 205, and a determination unit 220.

<制御部205、通信部201及び記憶部203>
本実施例の検証装置200は、制御部205の制御のもと各処理を実行する。検証装置200は、登録装置300からコミットメント鍵ckを、ビットコミットメント装置からコミットメントC、情報M及び開封情報Hを、受け取る。例えば、通信部201は、登録装置300及び検証装置100と通信を行う。登録装置300からコミットメント鍵ckを受信する(s201)。ビットコミットメント装置100からコミットメントCを受信し(s202a)、それと同時またはその後、ビットコミットメント装置100から情報M及び開封情報Hを受信する(s202b)。記憶部203は、コミットメントC、コミットメント鍵ck、情報M及び開封情報Hが記憶される(s203)。
<Control unit 205, communication unit 201, and storage unit 203>
The verification apparatus 200 according to the present embodiment executes each process under the control of the control unit 205. The verification device 200 receives the commitment key ck from the registration device 300 and the commitment C, information M, and unsealing information H from the bit commitment device. For example, the communication unit 201 communicates with the registration device 300 and the verification device 100. The commitment key ck is received from the registration device 300 (s201). The commitment C is received from the bit commitment device 100 (s202a), and at the same time or thereafter, the information M and the unsealing information H are received from the bit commitment device 100 (s202b). The storage unit 203 stores commitment C, commitment key ck, information M, and unsealing information H (s203).

<判定部220>
判定部220は、以下の等式(11)が成立するか否かを判定する(s220)。
e(C/g,h)=e(h,H) (11)
成立する場合には合格とし(s223)、成立しない場合には不合格とする(s225)。判定部220は、通信部201を介して、または、通信部201及び記憶部203を介して、コミットメント鍵ck、コミットメントC、開封情報H及び情報M(mまたはg)が入力される。
<Determining unit 220>
The determination unit 220 determines whether or not the following equation (11) is satisfied (s220).
e (C / g m , h 2 ) = e (h 1 , H) (11)
When it is established, it is determined as pass (s223), and when it is not satisfied, it is determined as reject (s225). The determination unit 220 receives the commitment key ck, the commitment C, the unsealing information H, and the information M (m or g m ) through the communication unit 201 or through the communication unit 201 and the storage unit 203.

以下、検証方法を説明する。式(11)は、C=g 、H=h より、
e(g /g,h)=e(h,h ) (11)’
と表すことができる。ペアリングの性質により、m及びrが正しいときのみ、等式が成り立ち、従来技術同様、検証装置200は、コミットメントCを受け取った時点では、情報mを知ることはできない。一方、ビットコミットメント装置100は、コミットメントCを検証装置200へ送った後に、情報mを改竄することはできない。また、情報Mをgとした場合には、乱数rだけではなく、情報mを秘匿したまま、コミットメントCを開封できることを第三者に納得させることできる。
Hereinafter, the verification method will be described. Equation (11) is obtained from C = g m h 1 r and H = h 2 r .
e (g m h 1 r / g m , h 2 ) = e (h 1 , h 2 r ) (11) ′
It can be expressed as. Due to the nature of the pairing, the equation is established only when m and r are correct, and the verification apparatus 200 cannot know the information m when the commitment C is received as in the prior art. On the other hand, the bit commitment device 100 cannot falsify the information m after sending the commitment C to the verification device 200. Further, when the information M is g m , it is possible to convince a third party that the commitment C can be opened while the information m is kept secret as well as the random number r.

このような構成とすることによって、ビットコミットメント方法を、効率的に様々な他の暗号プロトコルの構成要素として利用できる。例えば、本発明のビットコミットメント方法を用いた場合、開封情報H=h が、離散対数問題が困難な群Gの元であるため、ペアリングを利用した効率的な非対話ゼロ知識証明を構成することができる。なお、群Gとして、例えば、楕円曲線が作る群等を用いることができる。 With such a configuration, the bit commitment method can be efficiently used as a component of various other cryptographic protocols. For example, when the bit commitment method of the present invention is used, since the unsealing information H = h 2 r is an element of the group G in which the discrete logarithm problem is difficult, an efficient non-interactive zero knowledge proof using pairing is obtained. Can be configured. As the group G, for example, a group formed by an elliptic curve can be used.

<ハードウェア構成>
図7は、本実施例におけるビットコミットメント装置100のハードウェア構成を例示したブロック図である。検証装置200及び登録装置300も同様の構成を有する。
<Hardware configuration>
FIG. 7 is a block diagram illustrating a hardware configuration of the bit commitment device 100 according to the present embodiment. The verification device 200 and the registration device 300 have the same configuration.

図7に例示するように、この例のビットコミットメント装置100、検証装置200、登録装置300は、それぞれCPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16及びバス17を有している。   As illustrated in FIG. 7, the bit commitment device 100, the verification device 200, and the registration device 300 in this example are respectively a CPU (Central Processing Unit) 11, an input unit 12, an output unit 13, an auxiliary storage device 14, and a ROM (Read Only memory (RAM) 15, random access memory (RAM) 16, and bus 17 are included.

この例のCPU11は、制御部11a、演算部11b及びレジスタ11cを有し、レジスタ11cに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部12は、データが入力される入力インターフェース、キーボード、マウス等であり、出力部13は、データが出力される出力インターフェース等である。補助記憶装置14は、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、ビットコミットメント装置100、検証装置200及び登録装置300としてコンピュータを機能させるためのプログラムが格納されるプログラム領域14a及び各種データが格納されるデータ領域14bを有している。また、RAM16は、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、上記のプログラムが格納されるプログラム領域16a及び各種データが格納されるデータ領域16bを有している。また、バス17は、CPU11、入力部12、出力部13、補助記憶装置14、ROM15及びRAM16を通信可能に接続する。   The CPU 11 in this example includes a control unit 11a, a calculation unit 11b, and a register 11c, and executes various calculation processes according to various programs read into the register 11c. The input unit 12 is an input interface for inputting data, a keyboard, a mouse, and the like, and the output unit 13 is an output interface for outputting data. The auxiliary storage device 14 is, for example, a hard disk, an MO (Magneto-Optical disc), a semiconductor memory, or the like, and a program area in which programs for causing the computer to function as the bit commitment device 100, the verification device 200, and the registration device 300 are stored. 14a and a data area 14b for storing various data. The RAM 16 is an SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory), or the like, and has a program area 16a in which the above program is stored and a data area 16b in which various data are stored. The bus 17 connects the CPU 11, the input unit 12, the output unit 13, the auxiliary storage device 14, the ROM 15, and the RAM 16 in a communicable manner.

なお、このようなハードウェアの具体例としては、例えば、パーソナルコンピュータの他、サーバ装置やワークステーション等を例示できる。   In addition, as a specific example of such hardware, a server apparatus, a workstation, etc. other than a personal computer can be illustrated, for example.

<プログラム構成>
上述のように、プログラム領域14a,16aには、本実施例のビットコミットメント装置100、検証装置200、登録装置300の各処理を実行するための各プログラムが格納される。ビットコミットメントプログラム、検証プログラム及び登録プログラムを構成する各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。また、各プログラムが単体でそれぞれの機能を実現してもよいし、各プログラムがさらに他のライブラリを読み出して各機能を実現するものでもよい。
<Program structure>
As described above, each program for executing the processing of the bit commitment device 100, the verification device 200, and the registration device 300 of the present embodiment is stored in the program areas 14a and 16a. Each program constituting the bit commitment program, the verification program, and the registration program may be described as a single program sequence, or at least some of the programs may be stored in the library as separate modules. In addition, each program may realize each function alone, or each program may read each other library to realize each function.

<ハードウェアとプログラムとの協働>
CPU11(図7)は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置14のプログラム領域14aに格納されている上述のプログラムをRAM16のプログラム領域16aに書き込む。同様にCPU11は、補助記憶装置14のデータ領域14bに格納されている各種データを、RAM16のデータ領域16bに書き込む。そして、このプログラムやデータが書き込まれたRAM16上のアドレスがCPU11のレジスタ11cに格納される。CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
<Cooperation between hardware and program>
The CPU 11 (FIG. 7) writes the above-described program stored in the program area 14 a of the auxiliary storage device 14 in the program area 16 a of the RAM 16 in accordance with the read OS (Operating System) program. Similarly, the CPU 11 writes various data stored in the data area 14 b of the auxiliary storage device 14 in the data area 16 b of the RAM 16. The address on the RAM 16 where the program and data are written is stored in the register 11c of the CPU 11. The control unit 11a of the CPU 11 sequentially reads these addresses stored in the register 11c, reads a program and data from the area on the RAM 16 indicated by the read address, causes the calculation unit 11b to sequentially execute the operation indicated by the program, The calculation result is stored in the register 11c.

図3、5は、このようにCPU11に上述のプログラムが読み込まれて実行されることにより構成されるビットコミットメント装置100、検証装置200の機能構成を例示したブロック図である。   3 and 5 are block diagrams illustrating functional configurations of the bit commitment device 100 and the verification device 200 configured by reading and executing the above-described program in the CPU 11 as described above.

ここで、記憶部103及び203は、補助記憶装置14、RAM16、レジスタ11c、その他のバッファメモリやキャッシュメモリ等の何れか、あるいはこれらを併用した記憶領域に相当する。また、通信部101と、記憶部103と、制御部105と、コミットメント鍵生成部120と、乱数生成部130と、開封情報生成部140と、コミットメント生成部150は、CPU11にビットコミットメントプログラムを実行させることにより構成されるものである。また、通信部201と、記憶部203と、制御部205と、判定部220は、CPU11に検証プログラムを実行させることにより構成されるものである。   Here, the storage units 103 and 203 correspond to any one of the auxiliary storage device 14, the RAM 16, the register 11 c, other buffer memory and cache memory, or a storage area using these in combination. The communication unit 101, the storage unit 103, the control unit 105, the commitment key generation unit 120, the random number generation unit 130, the unsealing information generation unit 140, and the commitment generation unit 150 execute a bit commitment program on the CPU 11. It is comprised by doing. The communication unit 201, the storage unit 203, the control unit 205, and the determination unit 220 are configured by causing the CPU 11 to execute a verification program.

また、本形態のビットコミットメント装置100、検証装置200及び登録装置300は、各制御部105、205及び305の制御のもと各処理を実行する。   In addition, the bit commitment device 100, the verification device 200, and the registration device 300 according to the present embodiment execute each process under the control of the control units 105, 205, and 305.

実施例1と異なる部分についてのみ説明する。実施例2記載のビットコミットメント検証システム1000は、実施例1で示した構成を複数並列に処理し、等式の両辺を乗算にてまとめることにより、複数の情報m(但し、1≦i≦nであり、nは情報の個数を表す)に対するビットコミットメントCにも対応することができる。また、各情報m,m,…,mのビット長は同一であっても、異なってもよい。 Only parts different from the first embodiment will be described. The bit commitment verification system 1000 according to the second embodiment processes a plurality of configurations shown in the first embodiment in parallel and combines both sides of the equation by multiplication, thereby obtaining a plurality of pieces of information m i (where 1 ≦ i ≦ n, where n represents the number of pieces of information). Further, the bit lengths of the information m 1 , m 2 ,..., Mn may be the same or different.

[ビットコミットメント検証システム1000]
ビットコミットメント検証システム1000は、登録装置300と、ビットコミットメント装置1100と、検証装置1200からなる。
[Bit commitment verification system 1000]
The bit commitment verification system 1000 includes a registration device 300, a bit commitment device 1100, and a verification device 1200.

ビットコミットメント装置1100は、複数の情報mに対するコミットメントCを生成するために、登録装置300に対して、公開パラメータvを要求する。登録装置300は、vをビットコミットメント装置1100へ送る。ビットコミットメント装置1100は、公開パラメータvからコミットメント鍵ckを生成し、登録装置300へ送る。登録装置300は、コミットメント鍵ckを登録及び公開する。さらに、複数の情報m、コミットメント鍵ck及び複数の乱数rを用いて、コミットメントCを生成する。ビットコミットメント装置1100は、コミットメントCを検証装置1200へ送る。送ると同時または送った後に、乱数rを用いて、開封情報Hを生成し、情報mを含む情報M及び開封情報Hを検証装置1200へ送る。 Bit Commitment device 1100, in order to produce a commitment C for more information m i, to the registration device 300, and requests the public parameter v. The registration device 300 sends v to the bit commitment device 1100. The bit commitment device 1100 generates a commitment key ck from the public parameter v and sends it to the registration device 300. The registration device 300 registers and discloses the commitment key ck. Further, a plurality of information m i, using a commitment key ck and a plurality of random number r i, to produce a commitment C. The bit commitment device 1100 sends the commitment C to the verification device 1200. After simultaneous or sent Sending, by using a random number r i, and generates the unsealing information H, sends the information M and the unsealing information H including information m i to the verification apparatus 1200.

検証装置1200は、コミットメントCに対応するコミットメント鍵ckを登録装置300へ要求する。登録装置300は、コミットメント鍵ckを検証装置1200へ送る。検証装置1200は、コミットメントC、情報M、コミットメント鍵ckを用いて、改竄及び成りすまし等が行われていないか検証し、確かにコミットメントCが送られてきた時点から情報mが改竄等されていないことを確認する。以下、各装置及び各処理について詳細を説明する。 The verification device 1200 requests the registration device 300 for a commitment key ck corresponding to the commitment C. The registration device 300 sends the commitment key ck to the verification device 1200. Verification apparatus 1200, the commitment C, information M, using a commitment key ck, verifies whether falsification and spoofing or the like is not performed, have indeed commitment C information from the time sent is m i is falsification Make sure there is no. Hereinafter, details of each device and each process will be described.

[ビットコミットメント装置1100]
ビットコミットメント装置1100は、通信部101と、記憶部1103と、制御部105と、コミットメント鍵生成部120と、乱数生成部1130と、開封情報生成部1140と、コミットメント生成部1150を有する。
[Bit commitment device 1100]
The bit commitment apparatus 1100 includes a communication unit 101, a storage unit 1103, a control unit 105, a commitment key generation unit 120, a random number generation unit 1130, an unsealing information generation unit 1140, and a commitment generation unit 1150.

<乱数生成部1130、記憶部1103及び開封情報算出部1140>
乱数生成部1130は、Zに属する複数の乱数rを生成する。乱数rは、開封情報算出部1140及びコミットメント生成部1150へ出力される。記憶部1103は、乱数rは秘密に記憶される。開封情報算出部1140は、開封情報H=Π i=1 riを算出する(但し、riとは、上記乱数rのことを意味する)。開封情報算出部1140は、コミットメント鍵生成部120から生成元hを、乱数生成部130から乱数rを入力され、開封情報H=Π i=1 riを出力する。
<Random number generation unit 1130, storage unit 1103, and unsealing information calculation unit 1140>
The random number generation unit 1130 generates a plurality of random numbers r i belonging to Z q . The random number r i is output to the unsealing information calculation unit 1140 and the commitment generation unit 1150. The storage unit 1103 stores the random number r i in secret. Unsealing information calculation unit 1140 calculates the unsealing information H = Π n i = 1 h 2 ri ( where the ri, which means that the random number r i). The unsealing information calculation unit 1140 receives the generation source h 2 from the commitment key generation unit 120 and the random number r i from the random number generation unit 130, and outputs unsealing information H = Π n i = 1 h 2 ri .

<コミットメント生成部1150>
コミットメント生成部1150は、g,h及びrとコミットする情報mからC=Π i=1mi riを計算し、これをコミットメントとして出力する(s150)。コミットメント生成部1150は、コミットメント鍵生成部120からGの生成元g、hを、乱数生成部130から乱数rを、及び情報mを入力され、コミットメントCを出力する。なお、情報m∈Zである。
<Commitment generator 1150>
Commitment generating unit 1150, g, and C = Π n i = 1 g mi h 1 ri calculated from h 1 and r i and committed information m i, and outputs it as commitment (s150). Commitment generating unit 1150, a generator g in G 1 from commitment key generating unit 120, a h 1, a random number r i from the random number generation unit 130, and is input information m i, and outputs the commitment C. Note that the information m i εZ q .

ビットコミットメント装置1000は、コミットメント鍵ckを登録装置300へ、コミットメントCを検証装置1200へ、送る。送ると同時または送った後に、情報mを含む情報M及び開封情報Hを検証装置1200へ送る。なお、情報mを含む情報Mとは、例えば、情報m自体(つまり、M=(m,m,…,m)であってもよいし、gmiであってもよい(つまり、M=(gm1,gm2,…,gmn)。また、gmiの総積であってもよい(つまり、M=Π i=1mi)。 The bit commitment device 1000 sends the commitment key ck to the registration device 300 and the commitment C to the verification device 1200. After simultaneous or send and send, send the information M and opening information H including the information m i to the verification device 1200. Note that the information M including information m i, for example, information m i itself (i.e., M = (m 1, m 2, ..., may be a m n), may be a g mi ( That is, M = (g m1 , g m2 ,..., G mn ), or may be the total product of g mi (that is, M = n n i = 1 g mi ).

このような構成とすることによって、実施例1と同様の効果を得ることができる。さらに、複数の情報m(1≦i≦n)に対してビットコミットメントCを生成することができるため、実施例1の方法により複数の情報に対し、複数のビットコミットメントを作成するのに比べ、処理を軽減することができる。また、ビットコミットメントの情報量、通信量を小さくすることができる。 By adopting such a configuration, the same effect as in the first embodiment can be obtained. Furthermore, since the bit commitment C can be generated for a plurality of pieces of information m i (1 ≦ i ≦ n), compared to the case where a plurality of bit commitments are created for a plurality of pieces of information by the method of the first embodiment. , Processing can be reduced. In addition, the information amount and communication amount of bit commitment can be reduced.

[検証装置1200]
検証装置1200は、通信部201と、記憶部203と、制御部205と、判定部220を有する。
[Verification apparatus 1200]
The verification device 1200 includes a communication unit 201, a storage unit 203, a control unit 205, and a determination unit 220.

<判定部220>
判定部220は、以下の等式(21)が成立するか否かを判定する(s220)。
e(C/Π i=1mi,h)=e(h,H) (21)
成立する場合には合格とし(s223)、成立しない場合には不合格とする(s225)。
<Determining unit 220>
The determination unit 220 determines whether or not the following equation (21) is established (s220).
e (C / Π n i = 1 g mi , h 2 ) = e (h 1 , H) (21)
When it is established, it is determined as pass (s223), and when it is not satisfied, it is determined as reject (s225).

以下、検証方法を説明する。式(11)は、C=Πgmi ri、H=Π i=1 riより、
e(Π i=1mi ri/Π i=1mi,h)=e(h,Π i=1 ri) (21)'
と表すことができる。ペアリングの性質により、m及びrの全てが正しいときのみ、等式が成り立ち、実施例1と同様の効果をえることができる。さらに、等式の両辺を乗算にてまとめることにより、実施例1の方法により複数のコミットメントを検証するのに比べ、処理を軽減することができる。
Hereinafter, the verification method will be described. Equation (11) is obtained from C = Πg mi h 1 ri and H = Π n i = 1 h 2 ri .
e (Π n i = 1 g mi h 1 ri / Π n i = 1 g mi , h 2 ) = e (h 1 , n n i = 1 h 2 ri ) (21) ′
It can be expressed as. Due to the nature of the pairing, when all m i and r i is correct only holds equality, it is possible to obtain the same effects as the first embodiment. Furthermore, by combining both sides of the equation by multiplication, the processing can be reduced as compared to verifying a plurality of commitments by the method of the first embodiment.

ビットコミットメント検証システム1の構成例を示す図。1 is a diagram illustrating a configuration example of a bit commitment verification system 1. FIG. ビットコミットメント検証システム1のシーケンス図の一例を示す図。The figure which shows an example of the sequence diagram of the bit commitment verification system. ビットコミットメント装置100の構成例を示す図。1 is a diagram illustrating a configuration example of a bit commitment device 100. FIG. ビットコミットメント装置100の処理フローの一例を示す図。The figure which shows an example of the processing flow of the bit commitment apparatus. 検証装置200の構成例を示す図。The figure which shows the structural example of the verification apparatus. 検証装置200の処理フローの一例を示す図。The figure which shows an example of the processing flow of the verification apparatus. 実施例1におけるビットコミットメント装置100のハードウェア構成を例示したブロック図。1 is a block diagram illustrating a hardware configuration of a bit commitment device 100 according to a first embodiment.

符号の説明Explanation of symbols

1 ビットコミットメント検証システム
100 ビットコミットメント装置 200 検証装置
300 登録装置
101、201 通信部 103、203 記憶部
105、205 制御部 120 コミットメント鍵生成部
130 乱数生成部 140 開封情報算出部
150 ビットコミットメント生成部 220 判定部
1 bit commitment verification system 100 bit commitment device 200 verification device 300 registration device 101, 201 communication unit 103, 203 storage unit 105, 205 control unit 120 commitment key generation unit 130 random number generation unit 140 unsealing information calculation unit 150 bit commitment generation unit 220 Judgment part

Claims (10)

登録装置と、ビットコミットメント装置と、検証装置からなるビットコミットメント検証システムであって、
qを素数とし、G、G、Gを位数qの群とし、eをバイリニアマップe:G×G→Gとし、公開パラメータv=(q,G,G,G,e)とし、
前記ビットコメント装置は、Gから生成元g及びhを、Gから生成元hを、無作為に選択し、これらの生成元を用いてコミットメント鍵ckを生成するコミットメント鍵生成部と、
に属する乱数r(但し、1≦i≦nであり、nは、情報mの個数を表す)を生成する乱数生成部と、
前記公開パラメータv及び乱数rが記憶され、特に乱数rは秘密に記憶される記憶部と、
前記g,h及びrとコミットする情報mからC=Π i=1mi riを計算し、これをコミットメントとして出力するコミットメント生成部と、
開封情報H=Π i=1 riを算出する開封情報算出部と、を有し、
前記検証装置は、前記コミットメント鍵ck、前記情報mを含む情報M、前記開封情報H及びコミットメントCが記憶される記憶部と、
等式e(C/Π i=1mi,h)=e(h,H)が成立するか否かを判定し、成立する場合には合格とし、成立しない場合には不合格とする判定部を有し、
前記登録装置は、前記公開パラメータv及び前記コミットメント鍵ckを記憶する記憶部を有し、
前記ビットコミットメント装置は、前記登録装置から前記公開パラメータvを受け取り、前記コミットメント鍵ckを前記登録装置へ、前記コミットメントCを検証装置へ、送り、コミットメントCを送ると同時または送った後に、前記情報M及び開封情報Hを前記検証装置へ送り、
前記検証装置は、前記登録装置から前記コミットメント鍵ckを、前記ビットコミットメント装置から前記コミットメントC、前記情報M及び開封情報Hを、受け取る、
ことを特徴とするビットコミットメント検証システム。
A bit commitment verification system comprising a registration device, a bit commitment device, and a verification device,
The q is a prime number, G 1, G 2, the G T as a group of order q, e bilinear map e: and G 1 × G 2 → G T , the public parameter v = (q, G 1, G 2, G T , e)
The bit comments apparatus, the generator g and h 1 from G 1, the origin h 2 from the G 2, randomly selected, and commitment key generating unit for generating a commitment key ck using these origin ,
A random number generator for generating random numbers r i belonging to Z q (where 1 ≦ i ≦ n, where n represents the number of pieces of information m);
The public parameter v and the random number r i are stored, in particular the random number r i is stored secretly;
Wherein g, compute the h 1 and r i and C = Π n i = 1 from the information m i committing g mi h 1 ri, and commitment generator outputting this as commitments,
An unsealing information calculation unit that calculates unsealing information H = Π n i = 1 h 2 ri ,
The verification device includes a storage unit for the commitment key ck, the information m information including i M, the unsealing information H and commitments C are stored,
Equation e (C / Π n i = 1 g mi, h 2) = e (h 1, H) , it is determined whether or not satisfied, the pass if satisfied, fail if not satisfied And a determination unit
The registration device includes a storage unit that stores the public parameter v and the commitment key ck,
The bit commitment device receives the public parameter v from the registration device, sends the commitment key ck to the registration device, the commitment C to the verification device, and sends the commitment C at the same time or after sending the information. M and opening information H are sent to the verification device,
The verification device receives the commitment key ck from the registration device, and the commitment C, the information M, and the unsealing information H from the bit commitment device.
Bit commitment verification system characterized by that.
請求項1記載のビットコミットメント検証システムであって、
n=1であること、
を特徴とするビットコミットメント検証システム。
The bit commitment verification system according to claim 1,
n = 1,
Bit commitment verification system characterized by
qを素数とし、G、G、Gを位数qの群とし、eをバイリニアマップe:G×G→Gとし、公開パラメータv=(q,G,G,G,e)とし、
から生成元g及びhを、Gから生成元hを、無作為に選択し、これらの生成元を用いてコミットメント鍵ckを生成するコミットメント鍵生成部と、
に属する乱数r(但し、1≦i≦nであり、nは、情報mの個数を表す)を生成する乱数生成部と、
前記公開パラメータv及び乱数rが記憶され、特に乱数rは秘密に記憶される記憶部と、
前記g,h及びrとコミットする情報mからC=Π i=1mi riを計算し、これをコミットメントとして出力するコミットメント生成部と、
開封情報H=Π i=1 riを算出する開封情報算出部と、を有し、
登録装置から前記公開パラメータvを受け取り、前記コミットメント鍵ckを登録装置へ、前記コミットメントCを検証装置へ、送り、コミットメントCを送ると同時または送った後に、前記情報mを含む情報M及び開封情報Hを前記検証装置へ送る、
ことを特徴とするビットコミットメント装置。
The q is a prime number, G 1, G 2, the G T as a group of order q, e bilinear map e: and G 1 × G 2 → G T , the public parameter v = (q, G 1, G 2, G T , e)
The generator g and h 1 from G 1, the origin h 2 from the G 2, randomly selected, and commitment key generating unit for generating a commitment key ck using these origin,
A random number generator for generating random numbers r i belonging to Z q (where 1 ≦ i ≦ n, where n represents the number of pieces of information m);
The public parameter v and the random number r i are stored, in particular the random number r i is stored secretly;
Wherein g, compute the h 1 and r i and C = Π n i = 1 from the information m i committing g mi h 1 ri, and commitment generator outputting this as commitments,
An unsealing information calculation unit that calculates unsealing information H = Π n i = 1 h 2 ri ,
Receiving the public parameter v from the registration device, the to commitment key ck registration device, wherein the commitment C a verification apparatus, feed, after simultaneous or sent Sending commitment C, information M and opening including the information m i Sending information H to the verification device;
A bit commitment device characterized by that.
qを素数とし、G、G、Gを位数qの群とし、eをバイリニアマップe:G×G→Gとし、
コミットメント鍵ck、情報mを含む情報M、開封情報H及びコミットメントCが記憶される記憶部と、
等式e(C/Π i=1mi,h)=e(h,H)が成立するか否かを判定し、成立する場合には合格とし、成立しない場合には不合格とする判定部を有し、
登録装置から前記コミットメント鍵ckを、ビットコミットメント装置から前記コミットメントC、前記情報M及び開封情報Hを、受け取る、
ことを特徴とする検証装置。
The q is a prime number, and a group of order q the G 1, G 2, G T , by the e linear map e: and G 1 × G 2 → G T ,
A storage unit commitment key ck, information M including information m i, unsealing information H and commitments C are stored,
Equation e (C / Π n i = 1 g mi, h 2) = e (h 1, H) , it is determined whether or not satisfied, the pass if satisfied, fail if not satisfied And a determination unit
Receiving the commitment key ck from a registration device and the commitment C, the information M and the unsealing information H from a bit commitment device;
A verification apparatus characterized by that.
登録装置と、ビットコミットメント装置と、検証装置を用いるビットコミットメント検証方法であって、
qを素数とし、G、G、Gを位数qの群とし、eをバイリニアマップe:G×G→Gとし、公開パラメータv=(q,G,G,G,e)とし、
前記ビットコミットメント装置が、前記登録装置から前記公開パラメータvを受け取るステップと、
前記ビットコメント装置が、Gから生成元g及びhを、Gから生成元hを、無作為に選択し、これらの生成元を用いてコミットメント鍵ckを生成するコミットメント鍵生成ステップと、
前記ビットコメント装置が、前記コミットメント鍵ckを前記登録装置へ送るステップと、
前記登録装置が、前記コミットメント鍵ckを登録及び公開するステップと、
前記ビットコメント装置が、Zに属する乱数r(但し、1≦i≦nであり、nは、情報mの個数を表す)を生成する乱数生成ステップと、
前記ビットコメント装置が、前記公開パラメータv及び乱数rを記憶し、特に乱数rは秘密に記憶する記憶ステップと、
前記ビットコメント装置が、前記g,h及びrとコミットする情報mからC=Π i=1mi riを計算し、これをコミットメントとして出力するコミットメント生成ステップと、
前記ビットコメント装置が、前記コミットメントCを検証装置へ送るステップと、
前記ビットコメント装置が、開封情報H=Π i=1 riを算出する開封情報算出ステップと、
前記ビットコメント装置が、前記コミットメントCを送ると同時または送った後に、前記情報mを含む情報M及び開封情報Hを前記検証装置へ送るステップと、
前記検証装置が、前記ビットコミットメント装置から前記コミットメントCを受け取るステップと、
前記検証装置が、前記登録装置から前記コミットメント鍵ckを受け取るステップと、
前記検証装置が、前記ビットコミットメント装置から前記情報M及び開封情報Hを、受け取るステップと、
前記検証装置が、前記コミットメント鍵ck、前記情報M、前記開封情報H及びコミットメントCを記憶する記憶ステップと、
前記検証装置が、等式e(C/Π i=1mi,h)=e(h,H)が成立するか否かを判定し、成立する場合には合格とし、成立しない場合には不合格とする判定ステップとを有する、
ことを特徴とするビットコミットメント検証方法。
A bit commitment verification method using a registration device, a bit commitment device, and a verification device,
The q is a prime number, G 1, G 2, the G T as a group of order q, e bilinear map e: and G 1 × G 2 → G T , the public parameter v = (q, G 1, G 2, G T , e)
The bit commitment device receiving the public parameter v from the registration device;
The bit comments apparatus, the generator g and h 1 from G 1, the origin h 2 from the G 2, randomly selected, and commitment key generating step of generating a commitment key ck using these origin ,
The bit comment device sending the commitment key ck to the registration device;
The registration device registering and releasing the commitment key ck;
A random number generating step in which the bit comment device generates a random number r i belonging to Z q (where 1 ≦ i ≦ n, where n represents the number of pieces of information m);
A storage step wherein the bit comment device stores the public parameter v and the random number r i, in particular random number r i is stored in a secret,
The bit comments apparatus, wherein g, calculated from h 1 and r i and committed information m i C = Π n i = 1 g mi h 1 ri, and commitment generating step of outputting this as commitments,
The bit comment device sends the commitment C to a verification device;
The bit comment device calculates an opening information H = Π n i = 1 h 2 ri ;
The bit comments apparatus, after the simultaneous or sent when sending the commitment C, a step of sending information M and the unsealing information H including the information m i to the verification device,
The verification device receives the commitment C from the bit commitment device;
The verification device receiving the commitment key ck from the registration device;
The verification device receives the information M and the unsealing information H from the bit commitment device;
A storage step in which the verification device stores the commitment key ck, the information M, the opening information H, and the commitment C;
The verification device, the equation e (C / Π n i = 1 g mi, h 2) = e (h 1, H) , it is determined whether or not satisfied, the pass if satisfied, not satisfied And a determination step for rejecting the case,
A bit commitment verification method characterized by that.
請求項5記載のビットコミットメント検証方法であって、
n=1であること、
を特徴とするビットコミットメント検証方法。
The bit commitment verification method according to claim 5,
n = 1,
Bit commitment verification method characterized by
qを素数とし、G、G、Gを位数qの群とし、eをバイリニアマップe:G×G→Gとし、公開パラメータv=(q,G,G,G,e)とし、
ビットコミットメント装置が、登録装置から前記公開パラメータvを受け取るステップと、
前記ビットコメント装置が、Gから生成元g及びhを、Gから生成元hを、無作為に選択し、これらの生成元を用いてコミットメント鍵ckを生成するコミットメント鍵生成ステップと、
前記ビットコメント装置が、前記コミットメント鍵ckを前記登録装置へ送るステップと、
前記ビットコメント装置が、Zに属する乱数r(但し、1≦i≦nであり、nは、情報mの個数を表す)を生成する乱数生成ステップと、
前記ビットコメント装置が、前記公開パラメータv及び乱数rを記憶し、特に乱数rは秘密に記憶する記憶ステップと、
前記ビットコメント装置が、前記g,h及びrとコミットする情報mからC=Π i=1mi riを計算し、これをコミットメントとして出力するコミットメント生成ステップと、
前記ビットコメント装置が、前記コミットメントCを検証装置へ送るステップと、
前記ビットコメント装置が、開封情報H=Π i=1 riを算出する開封情報算出ステップと、
前記ビットコメント装置が、前記コミットメントCを送ると同時または送った後に、前記情報mを含む情報M及び開封情報Hを前記検証装置へ送るステップと、
を有する、
ことを特徴とするビットコミットメント方法。
The q is a prime number, G 1, G 2, the G T as a group of order q, e bilinear map e: and G 1 × G 2 → G T , the public parameter v = (q, G 1, G 2, G T , e)
A bit commitment device receiving the public parameter v from a registration device;
The bit comments apparatus, the generator g and h 1 from G 1, the origin h 2 from the G 2, randomly selected, and commitment key generating step of generating a commitment key ck using these origin ,
The bit comment device sending the commitment key ck to the registration device;
A random number generating step in which the bit comment device generates a random number r i belonging to Z q (where 1 ≦ i ≦ n, where n represents the number of pieces of information m);
A storage step wherein the bit comment device stores the public parameter v and the random number r i, in particular random number r i is stored in a secret,
The bit comments apparatus, wherein g, calculated from h 1 and r i and committed information m i C = Π n i = 1 g mi h 1 ri, and commitment generating step of outputting this as commitments,
The bit comment device sends the commitment C to a verification device;
The bit comment device calculates an opening information H = Π n i = 1 h 2 ri ;
The bit comments apparatus, after the simultaneous or sent when sending the commitment C, a step of sending information M and the unsealing information H including the information m i to the verification device,
Having
A bit commitment method characterized by that.
qを素数とし、G、G、Gを位数qの群とし、eをバイリニアマップe:G×G→Gとし、公開パラメータv=(q,G,G,G,e)とし、
検証装置が、ビットコミットメント装置からコミットメントCを受け取るステップと、
前記検証装置が、登録装置からコミットメント鍵ckを受け取るステップと、
前記検証装置が、前記ビットコミットメント装置から情報M及び開封情報Hを、受け取るステップと、
前記検証装置が、前記コミットメント鍵ck、前記情報M、前記開封情報H及びコミットメントCを記憶する記憶ステップと、
前記検証装置が、等式e(C/Π i=1mi,h)=e(h,H)が成立するか否かを判定し、成立する場合には合格とし、成立しない場合には不合格とする判定ステップとを有する、
ことを特徴とする検証方法。
The q is a prime number, G 1, G 2, the G T as a group of order q, e bilinear map e: and G 1 × G 2 → G T , the public parameter v = (q, G 1, G 2, G T , e)
The verification device receives a commitment C from the bit commitment device;
The verification device receives a commitment key ck from a registration device;
The verification device receives information M and unsealing information H from the bit commitment device;
A storage step in which the verification device stores the commitment key ck, the information M, the opening information H, and the commitment C;
The verification device, the equation e (C / Π n i = 1 g mi, h 2) = e (h 1, H) , it is determined whether or not satisfied, the pass if satisfied, not satisfied And a determination step for rejecting the case,
A verification method characterized by that.
請求項3記載のビットコミットメント装置としてコンピュータを機能させるためのビットコミットメントプログラム。   A bit commitment program for causing a computer to function as the bit commitment device according to claim 3. 請求項4記載の検証装置としてコンピュータを機能させるための検証プログラム。   A verification program for causing a computer to function as the verification device according to claim 4.
JP2008307902A 2008-12-02 2008-12-02 Bit commitment verification system, bit commitment device, verification device, bit commitment verification method, bit commitment method, verification method, bit commitment program, verification program Expired - Fee Related JP5264450B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008307902A JP5264450B2 (en) 2008-12-02 2008-12-02 Bit commitment verification system, bit commitment device, verification device, bit commitment verification method, bit commitment method, verification method, bit commitment program, verification program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008307902A JP5264450B2 (en) 2008-12-02 2008-12-02 Bit commitment verification system, bit commitment device, verification device, bit commitment verification method, bit commitment method, verification method, bit commitment program, verification program

Publications (2)

Publication Number Publication Date
JP2010135928A JP2010135928A (en) 2010-06-17
JP5264450B2 true JP5264450B2 (en) 2013-08-14

Family

ID=42346793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008307902A Expired - Fee Related JP5264450B2 (en) 2008-12-02 2008-12-02 Bit commitment verification system, bit commitment device, verification device, bit commitment verification method, bit commitment method, verification method, bit commitment program, verification program

Country Status (1)

Country Link
JP (1) JP5264450B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5314449B2 (en) * 2009-02-12 2013-10-16 日本電信電話株式会社 Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
CN111768304A (en) 2018-08-06 2020-10-13 阿里巴巴集团控股有限公司 Block chain transaction method and device and electronic equipment
KR102150814B1 (en) 2018-11-27 2020-09-02 알리바바 그룹 홀딩 리미티드 Systems and methods for information protection
WO2019072278A2 (en) 2018-11-27 2019-04-18 Alibaba Group Holding Limited System and method for information protection
ES2863552T3 (en) 2018-11-27 2021-10-11 Alibaba Group Holding Ltd Information protection system and method
PL3748901T3 (en) 2018-11-27 2021-12-06 Advanced New Technologies Co., Ltd. System and method for information protection
US11277389B2 (en) 2018-11-27 2022-03-15 Advanced New Technologies Co., Ltd. System and method for information protection

Also Published As

Publication number Publication date
JP2010135928A (en) 2010-06-17

Similar Documents

Publication Publication Date Title
JP5264450B2 (en) Bit commitment verification system, bit commitment device, verification device, bit commitment verification method, bit commitment method, verification method, bit commitment program, verification program
US5495532A (en) Secure electronic voting using partially compatible homomorphisms
EP2201718B1 (en) An efficient certified email protocol
US8121290B2 (en) Pseudo-random function calculating device and method and number-limited anonymous authentication system and method
US11804960B2 (en) Distributed symmetric encryption
WO2013031555A1 (en) Information processing device, signature generation device, information processing method, signature generation method, and program
CN109905229B (en) Anti-quantum computing Elgamal encryption and decryption method and system based on group asymmetric key pool
Lin et al. An efficient strong designated verifier proxy signature scheme for electronic commerce
JP5330858B2 (en) Signature verification system, signature verification method, blind signature generation method, user device, and blind signature generation program
CN111080296B (en) Verification method and device based on blockchain system
CN116961917A (en) ECDSA-based multiparty cooperative threshold signature method, device and system
JP5314449B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
US11729231B2 (en) Secure multi-party random bit generation
JP5227764B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
CN114362958A (en) Intelligent home data security storage auditing method and system based on block chain
WO2023055371A1 (en) Replicated secret share generation for distributed symmetric cryptography
Fajiang et al. An efficient anonymous remote attestation scheme for trusted computing based on improved CPK
WO2020260151A1 (en) Zero-knowledge contingent payments protocol for granting access to encrypted assets
JP2009290698A (en) Blind signature device, partial blind signature device, receiver, system, method, and program
JP2010164876A (en) Bit commitment system, bit commitment method, bit commitment transmitting device, bit commitment receiving device, bit commitment transmitting method, bit commitment receiving method, and bit commitment program
Dossogne et al. Secure and practical threshold RSA
JP3233119B2 (en) Receipt-free electronic voting method and device
Iraklis et al. Secure and collusion-resistant data aggregation from convertible tags
Krishna Providing Security to Confidential Information Using Digital signature
CN114697034A (en) Distributed primality testing method, device and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130430

R150 Certificate of patent or registration of utility model

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