JP5227201B2 - Bit commitment system, bit commitment method, bit commitment transmission device, bit commitment reception device, bit commitment transmission method, bit commitment reception method, bit commitment program - Google Patents

Bit commitment system, bit commitment method, bit commitment transmission device, bit commitment reception device, bit commitment transmission method, bit commitment reception method, bit commitment program Download PDF

Info

Publication number
JP5227201B2
JP5227201B2 JP2009008482A JP2009008482A JP5227201B2 JP 5227201 B2 JP5227201 B2 JP 5227201B2 JP 2009008482 A JP2009008482 A JP 2009008482A JP 2009008482 A JP2009008482 A JP 2009008482A JP 5227201 B2 JP5227201 B2 JP 5227201B2
Authority
JP
Japan
Prior art keywords
commitment
random number
information
signature
bit
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
JP2009008482A
Other languages
Japanese (ja)
Other versions
JP2010164876A (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 JP2009008482A priority Critical patent/JP5227201B2/en
Publication of JP2010164876A publication Critical patent/JP2010164876A/en
Application granted granted Critical
Publication of JP5227201B2 publication Critical patent/JP5227201B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、電気通信システムにおいて、ある情報をコミット(確約)し、検証するビットコミットメントシステム、ビットコミットメント送信装置、ビットコミットメント受信装置、その方法及びそのプログラムに関する。   The present invention relates to a bit commitment system, a bit commitment transmitting device, a bit commitment receiving device, a method thereof, and a program thereof for committing (verifying) and verifying certain information in a telecommunication system.

非対話方式、かつ、単一ビットコミットメント方式として非特許文献1が従来技術として知られている。一方、対話方式、かつ、複数ビットコミットメント方式であって、2つのコミットメントを生成する方式として非特許文献2が従来技術として知られている。   Non-Patent Document 1 is known as a prior art as a non-interactive system and a single bit commitment system. On the other hand, Non-Patent Document 2 is known as a prior art as a method for generating two commitments, which is an interactive method and a multi-bit commitment method.

Ran Canetti, Marc Fischlin, "Universally Composable Commitments", Advances in Cryptology - CRYPTO 2001, Springer Berlin / Heidelberg, 2001, Volume 2139/2001, p.19-40Ran Canetti, Marc Fischlin, "Universally Composable Commitments", Advances in Cryptology-CRYPTO 2001, Springer Berlin / Heidelberg, 2001, Volume 2139/2001, p.19-40 Ivan Damgard, Jens Groth, "Non-interactive and reusable non-malleable commitment schemes", Annual ACM Symposium on Theory of Computing, San Diego, CA, USA, ACM, 2003, p.426 - 437Ivan Damgard, Jens Groth, "Non-interactive and reusable non-malleable commitment schemes", Annual ACM Symposium on Theory of Computing, San Diego, CA, USA, ACM, 2003, p.426-437

しかしながら、従来技術は非対話方式であるが、複数ビットコミットメント方式でないか、複数ビットコミットメント方式であるが、非対話方式でないものしか存在しなかった。非対話方式、かつ、複数ビットコミットメント方式のビットコミットメントシステム、ビットコミットメント方法及びそのための装置の提供という課題がある。   However, although the prior art is a non-interactive system, there is only a non-interactive system that is not a multi-bit commitment system or a multi-bit commitment system. There is a problem of providing a non-interactive and multi-bit commitment type bit commitment system, a bit commitment method, and an apparatus therefor.

本発明のビットコミットメントシステムは、1ビット以上の情報mをコミットする送信装置とコミットメントを検証する受信装置と信用できる第三者が管理する公開装置からなる。公開装置は、All−But−One落とし戸付一方向性関数(以下、「ABO−TDF」という)の関数インデックスsを含む共通参照情報crsを生成、公開する。送信装置は、検証鍵vkを損失枝として、関数インデックスs及び乱数raから、ABO−TDFを用いて、c0を求め、乱数rbを用いて、c0のランダム化を行い、c1を生成し、乱数ra及び情報mからc2を求め、c1及びc2から、署名鍵skを用いて、署名σを生成する署名生成部と、c1、c2及びσを含むコミットメントcomを生成するコミットメント生成部と、情報m、乱数ra、rbを含む開封情報Mを生成する開封情報生成部とを備える。受信装置は、検証鍵vkを用いて、署名σを検証する署名検証部と、共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証するコミットメント検証部とを備える。   The bit commitment system of the present invention includes a transmitting apparatus that commits information m of 1 bit or more, a receiving apparatus that verifies the commitment, and a public apparatus that is managed by a trusted third party. The publishing apparatus generates and publishes common reference information crs including a function index s of an All-But-One trapdoor unidirectional function (hereinafter referred to as “ABO-TDF”). The transmitting device obtains c0 from the function index s and the random number ra using the verification key vk as a loss branch using ABO-TDF, randomizes c0 using the random number rb, generates c1, and generates a random number. c2 is obtained from ra and information m, and a signature generation unit that generates a signature σ using a signature key sk from c1 and c2, a commitment generation unit that generates a commitment com including c1, c2, and σ, and information m And an unsealing information generation unit for generating unsealing information M including random numbers ra and rb. The receiving device includes a signature verification unit that verifies the signature σ using the verification key vk, and a commitment verification unit that verifies the commitment com using the common reference information crs and the opening information M.

なお、本発明は、All−but−One落とし戸付一方向性関数(以下、「ABO−TDF」という)とその準同型性を利用している。ABO−TDFについて、詳しくは、Chris Peikert, Brent Waters, " Lossy trapdoor functions and their applications ", Annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, ACM, 2008, p.187-196(以下「参考文献1」という)に記載されている。ここでは、ABO−TDFの概略について説明する。λをABO−TDFのセキュリティパラメータとする。なお、セキュリティパラメータは、署名文を偽造することの困難さを表した尺度である。n(λ)は関数の入力長を、k(λ)は関数の欠落度を(以下、λを省略する)、rは剰余漏洩量を表し、
r(λ)=n(λ)−k(λ)
と定義する。また、ABO−TDFは枝を持ち、B={Bλλ∈Nは、セキュリティパラメータをλとした場合の枝の集合を表す。ABO−TDFは、一方向性関数アルゴリズムGabo、関数インデックス及び落とし戸を生成する関数インデックス生成アルゴリズムSabo、及び、逆関数アルゴリズムG−1 aboからなり、以下のような性質を有する。
(1)任意の損失枝Lb∈Bλに対し、
The present invention uses an All-but-One trapdoor unidirectional function (hereinafter referred to as “ABO-TDF”) and its homomorphism. For details on ABO-TDF, see Chris Peikert, Brent Waters, "Lossy trapdoor functions and their applications", Annual ACM Symposium on Theory of Computing, Victoria, British Columbia, Canada, ACM, 2008, p.187-196 (hereinafter " Reference 1 ”). Here, an outline of ABO-TDF will be described. Let λ be the security parameter of ABO-TDF. The security parameter is a measure representing the difficulty of forging a signature sentence. n (λ) represents the input length of the function, k (λ) represents the missing degree of the function (hereinafter, λ is omitted), r represents the residual leakage amount,
r (λ) = n (λ) −k (λ)
It is defined as ABO-TDF has branches, and B = {B λ } λ∈N represents a set of branches when the security parameter is λ. The ABO-TDF includes a one-way function algorithm G bo , a function index generation algorithm S bobo that generates a function index and a trapdoor, and an inverse function algorithm G −1 abo , and has the following properties.
(1) For any loss branch LbεB λ

Figure 0005227201
を生成する。但し、sは関数のインデックスを、zは落とし戸を表す。但し、
Figure 0005227201
Is generated. Here, s represents a function index, and z represents a trapdoor. However,

Figure 0005227201
は、yがA(x1,x2,…;r)と乱数rを用いて生成されることを意味する。よって、式(1)は、セキュリティパラメータλ、損失枝Lb及び乱数rを用いて関数インデックスs及び落とし戸zを生成することを意味する。
(2)任意の単射枝Ib∈Bλに対し(但し、Ib≠Lb)、Gabo(s,Ib,・)は定義域{0,1}上で、全射関数gs,Ib(・)を計算する。G−1 abo(z,Ib,・)は逆関数g−1 s,Ib(・)を計算する。Gabo(s,Lb,・)は定義域{0,1}上で、全射関数gs,Lb(・)を計算する。但し、その値域の大きさは2=2n−kである。
(3)任意のLb、Lb∈Bλに対し、sとsは多項式時間アルゴリズムでは識別不可能である。但し、(s,t)←Sabo(1λ,Lb)かつ、(s,t)←Sabo(1λ,Lb)である。
Figure 0005227201
Means that y is generated using A (x1, x2,..., R) and a random number r. Therefore, Expression (1) means that the function index s and the trapdoor z are generated using the security parameter λ, the loss branch Lb, and the random number r.
(2) For any injective branch IbεB λ (where Ib ≠ Lb), G abo (s, Ib,...) Is a surjective function g s, Ib on the domain {0,1} n Calculate (•). G -1 abo (z, Ib, ·) calculates the inverse function g -1 s, Ib (·). G abo (s, Lb, •) calculates a surjective function g s, Lb (•) on the domain {0, 1} n . However, the size of the value range is 2 r = 2 nk .
(3) For any Lb 0 , Lb 1 ∈B λ , s 0 and s 1 are indistinguishable by the polynomial time algorithm. However, (s 0 , t 0 ) ← S abo (1 λ , Lb 0 ) and (s 1 , t 1 ) ← S abo (1 λ , Lb 1 ).

また、公開鍵暗号方式(Gen,Enc,Dec)が準同型性をもつとは、以下を満たすことである。但し、Genは鍵生成アルゴリズム、Encは暗号アルゴリズム、Decは復号アルゴリズムを表す。任意のn及び   Moreover, that the public key cryptosystem (Gen, Enc, Dec) has homomorphism means that the following is satisfied. Here, Gen represents a key generation algorithm, Enc represents an encryption algorithm, and Dec represents a decryption algorithm. Any n and

Figure 0005227201
に対し、群Μ(メッセージ空間であり、群演算子は◎)とC(暗号文空間であり、群演算子は▲)において、
(1)任意のm∈Μに対し、Encpk(m)∈Cである。
(2)任意のm1,m2∈Μとc1,c2∈C、かつ、m1=Decsk(c1)かつm2=Decsk(c2)に対し、次が成立する。
Decsk(c1▲c2)=m1◎m2
但し、群演算はそれぞれΜとCで実行される。
Figure 0005227201
On the other hand, in group Μ (message space, group operator is ◎) and C (ciphertext space, group operator is ▲),
(1) For any m∈Μ, Enc pk (m) ∈C.
(2) For any m1, m2εΜ and c1, c2εC, and m1 = Dec sk (c1) and m2 = Dec sk (c2), the following holds:
Decsk (c1 ▲ c2) = m1 ◎ m2
However, the group operation is executed by Μ and C, respectively.

本発明は、ビットコミットメント方式において、従来のビットコミットメント方式と同様の安全性を実現し、さらに、非対話方式としてユーザの操作を簡略化し、かつ、複数ビットコミットメント方式により計算量や通信量等を効率化するという効果を奏する。   In the bit commitment method, the present invention realizes the same safety as the conventional bit commitment method, further simplifies the user operation as a non-interactive method, and reduces the calculation amount and communication amount by the multiple bit commitment method. There is an effect of improving efficiency.

ビットコミットメントシステムの構成例を示す図。The figure which shows the structural example of a bit commitment system. ビットコミットメントシステムのフロー例を示す図。The figure which shows the example of a flow of a bit commitment system. 公開装置300の構成例を示す図。The figure which shows the structural example of the disclosure apparatus 300. FIG. 公開装置300のフロー例を示す図。The figure which shows the example of a flow of the disclosure apparatus 300. 送信装置100の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a transmission device 100. 送信装置100のフロー例を示す図。The figure which shows the example of a flow of the transmitter 100. 署名生成部130のフロー例を示す図。The figure which shows the example of a flow of the signature production | generation part 130. FIG. 受信装置200の構成例を示す図。The figure which shows the structural example of the receiver 200. 受信装置200のフロー例を示す図。The figure which shows the example of a flow of the receiver 200. 送信装置100のハードウェア構成を例示したブロック図。2 is a block diagram illustrating a hardware configuration of a transmission device 100. FIG.

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

[ビットコミットメントシステム1]
図1はビットコミットメントシステム1の構成例を、図2はビットコミットメントシステム1のフロー例を示す。図1及び2を用いて実施例1に係るビットコミットメントシステムの概要を説明する。ビットコミットメントシステム1は、1ビット以上の情報mをコミットする送信装置100とコミットメントを検証する受信装置200と信用できる第三者が管理する公開装置300からなる。本実施例では、ABO−TDFを実現するために、DDH(decisional Diffie-Hellman)問題を利用する。
[Bit commitment system 1]
FIG. 1 shows a configuration example of the bit commitment system 1, and FIG. 2 shows a flow example of the bit commitment system 1. The outline of the bit commitment system according to the first embodiment will be described with reference to FIGS. The bit commitment system 1 includes a transmitting device 100 that commits information m of 1 bit or more, a receiving device 200 that verifies the commitment, and a public device 300 that is managed by a trusted third party. In this embodiment, in order to realize ABO-TDF, a DDH (decisional Diffie-Hellman) problem is used.

まず、送信装置100は、公開装置300に共通参照情報crsを要求する(s10)。   First, the transmission device 100 requests the common reference information crs from the disclosure device 300 (s10).

公開装置300は、要求に応じて、crsを生成し、送信装置100へ送信する(s12)。   The disclosure apparatus 300 generates crs in response to the request and transmits the crs to the transmission apparatus 100 (s12).

送信装置100は、鍵生成アルゴリズムGenを用いて、署名鍵sk及び検証鍵vkを生成する。(s14)。送信装置100は、共通参照情報crs及び署名アルゴリズムSignを用いて、情報mに基づき生成される情報に対する署名σを生成する。さらに、署名σ及び検証鍵vkを含むコミットメントcomを生成し、受信装置200へ送信する(s18)。   The transmission device 100 generates a signature key sk and a verification key vk using a key generation algorithm Gen. (S14). The transmission apparatus 100 generates a signature σ for information generated based on the information m, using the common reference information crs and the signature algorithm Sign. Further, a commitment com including the signature σ and the verification key vk is generated and transmitted to the receiving apparatus 200 (s18).

コミットメントを受信した受信装置200は、共通参照情報crsを公開装置300へ要求する(s20)。公開装置300は、要求に応え、crsを受信装置へ送信する(s22)。受信装置200は、検証アルゴリズムVrfy及び検証鍵vkを用いて、署名σの正当性を検証する(s24)。   The receiving device 200 that has received the commitment requests the public device 300 for the common reference information crs (s20). The disclosure apparatus 300 responds to the request and transmits crs to the reception apparatus (s22). The receiving apparatus 200 verifies the validity of the signature σ using the verification algorithm Vrfy and the verification key vk (s24).

送信装置100は、情報mを受信装置200へ送信する(s26)。   The transmission device 100 transmits the information m to the reception device 200 (s26).

受信装置200は、情報m、コミットメントcom及び共通参照情報crsを用いて、コミットメントcomを受信してから情報mを受信するまでに、情報mが改竄等されていないことを検証する(s28)。   Using the information m, the commitment com, and the common reference information crs, the receiving apparatus 200 verifies that the information m has not been tampered with until the information m is received after the commitment com is received (s28).

なお、本実施例は発明の内容を限定するものではない。例えば、共通参照情報crsを要求するタイミングは、コミットメントcom検証前であればよい。また、署名を検証するタイミングは、コミットメントcom受信後であればよい。また、送信装置100はGen,Signを記憶し、受信装置200はVrfyを記憶しているが、公開装置300にGen,Sign,Vrfyを公開し、必要に応じて、送信装置100、受信装置200が受信する構成としてもよい。公開鍵vkを生成したのが送信装置100であることが確かである場合には、公開鍵vkを公開装置300へ送信し、公開装置300が公開鍵vkを公開し、受信装置200は、必要に応じて、公開鍵vkを公開装置300から受信する構成としてもよい。また、送信装置100と公開装置300における通信が安全である場合には、鍵生成を公開装置300が行い、署名鍵skを送信装置100に送信し、公開鍵vkを公開し、受信装置200は、必要に応じて、公開鍵vkを公開装置300から受信する構成としてもよい。なお、鍵生成アルゴリズムGenで生成された署名鍵skと署名アルゴリズムSignを用いて生成された署名は、対の検証鍵vkと検証アルゴリズムVrfyを用いて検証することができる。また、この電子署名方式は、1回、または、複数回の選択文書攻撃に対し強存在的偽造不可であるものとする。   Note that this embodiment does not limit the content of the invention. For example, the timing for requesting the common reference information crs may be before the commitment com verification. The timing for verifying the signature may be after the commitment com is received. The transmission device 100 stores Gen and Sign, and the reception device 200 stores Vrfy. However, Gen, Sign, and Vrfy are disclosed to the disclosure device 300, and the transmission device 100 and the reception device 200 are used as necessary. It is good also as a structure which receives. When it is certain that the public key vk is generated by the transmitting device 100, the public key vk is transmitted to the public device 300, the public device 300 discloses the public key vk, and the receiving device 200 Accordingly, the public key vk may be received from the public device 300. When communication between the transmission device 100 and the public device 300 is secure, the public device 300 performs key generation, transmits the signature key sk to the transmission device 100, discloses the public key vk, and the reception device 200 The public key vk may be received from the public device 300 as necessary. A signature generated using the signature key sk generated by the key generation algorithm Gen and the signature algorithm Sign can be verified using the paired verification key vk and the verification algorithm Vrfy. In addition, this electronic signature scheme is assumed to be strongly non-forgery against one or more selected document attacks.

[公開装置300]
図3は公開装置300の構成例を、図4は公開装置300のフロー例を示す。公開装置300は、信頼できる第三者等が管理し、通信部301、記憶部303、制御部305、乱数生成部310及び共通参照情報320を有する。公開装置300は、共通参照情報crsを公開する。なお、「公開」とは、利用者の求めに応じて、情報(例えば、共通参照情報crs)を閲覧可能、または、取得可能とすることを意味する。公開装置300は、送信装置100から共通参照情報crsを要求されると(s301a)、乱数を生成し(s310)、乱数を用いて共通参照情報を生成し(s320)、これを記憶部へ記録し(s303)、送信装置へ送信する(s301c)。さらに、受信装置から共通参照情報crsを要求されると(s301e)、記憶部303から情報を呼び出し、受信装置200へ送信する(s301g)。以下、各部の詳細を説明する。
[Public device 300]
FIG. 3 shows a configuration example of the disclosure apparatus 300, and FIG. The public device 300 is managed by a trusted third party or the like, and includes a communication unit 301, a storage unit 303, a control unit 305, a random number generation unit 310, and common reference information 320. The publication apparatus 300 publishes the common reference information crs. Note that “public” means that information (for example, common reference information crs) can be browsed or acquired according to a user's request. When the public device 300 requests the common reference information crs from the transmitting device 100 (s301a), the public device 300 generates a random number (s310), generates common reference information using the random number (s320), and records this in the storage unit. (S303), and transmits to the transmission device (s301c). Furthermore, when the common reference information crs is requested from the receiving device (s301e), the information is called from the storage unit 303 and transmitted to the receiving device 200 (s301g). Details of each part will be described below.

<通信部301>
公開装置300は、通信部301を介して、送信装置100及び受信装置200と通信する。以下、特に記述しなくとも、送信装置100及び受信装置200と通信する際には、通信部301を介して行われるものとする。同様に、各装置(送信装置100及び受信装置200)は、各通信部101及び201を介して他の装置と通信する。各通信部101、201及び301は、例えば、LANアダプタ等により構成され、LANやインターネット等からなる通信回線と接続される。但し、必ずしも通信部を有さずともよく、例えば、キーボード等の入力装置から共通参照情報crs等を入力してもよいし、また、USBメモリ等の可搬媒体に共通参照情報crs等を記憶し、それを入力してもよい。
<Communication unit 301>
The disclosure apparatus 300 communicates with the transmission apparatus 100 and the reception apparatus 200 via the communication unit 301. Hereinafter, it is assumed that communication with the transmission device 100 and the reception device 200 is performed via the communication unit 301 even if not specifically described. Similarly, each device (the transmission device 100 and the reception device 200) communicates with other devices via the communication units 101 and 201. Each of the communication units 101, 201, and 301 includes, for example, a LAN adapter or the like, and is connected to a communication line including a LAN or the Internet. However, the communication unit may not necessarily be provided. For example, the common reference information crs or the like may be input from an input device such as a keyboard, or the common reference information crs or the like is stored in a portable medium such as a USB memory. You may enter it.

<記憶部303>
記憶部303は、crs等を記憶する(s303)。また、落とし戸情報zを秘密に記憶する。なお、特に示さない限り、入出力される各データや演算過程の各データは、逐一、記憶部303に格納・読み出され、各演算処理が進められる。但し、必ずしも記憶部303に記憶しなければならないわけではなく、各部間で直接データを受け渡してもよい。なお、各装置(送信装置100及び受信装置200)における記憶部103、203も同様である。
<Storage unit 303>
The storage unit 303 stores crs and the like (s303). In addition, storing the trapdoor information z j in secret. Unless otherwise indicated, each input / output data and each data in the calculation process are stored and read out in the storage unit 303 one by one, and each calculation process proceeds. However, it is not necessarily stored in the storage unit 303, and data may be directly transferred between the units. The same applies to the storage units 103 and 203 in each device (the transmission device 100 and the reception device 200).

<制御部305>
制御部305は、各処理を制御する。同様に、各装置(送信装置100及び受信装置200)において、各制御部105及び205は、各処理を制御する。
<Control unit 305>
The control unit 305 controls each process. Similarly, in each device (transmission device 100 and reception device 200), each control unit 105 and 205 controls each process.

<乱数生成部310>
乱数生成部310は、乱数r=(r1,…,rn)を生成する(s310)。但し、pを素数とし、位数pの巡回群をG、Gの生成元をg、各riは乱数であり、i∈[n]、[n]={1,2,…,n}、r∈Zとする。なお、Z={0,…,p−1}である。乱数生成部310は、乱数rを共通参照情報生成部320へ出力する。但し、必ずしも乱数生成部310を有さずともよく、例えば、キーボード等の入力装置から乱数rを入力してもよいし、また、USBメモリ等の可搬媒体に乱数rを記憶し、それを入力してもよい。後述する送信装置100の乱数生成部110も同様である。なお、本実施例において、p,G,gは、予め各装置において共有しているが、公開装置300が公開パラメータとして、公開し、他の装置が受信する構成としてもよい。
<Random number generator 310>
The random number generator 310 generates random numbers r = (r1,..., Rn) (s310). Where p is a prime number, G is a cyclic group of order p, g is a generator of G, each ri is a random number, and i∈ [n], [n] = {1, 2,..., N}, Let rεZ p . Note that Z p = {0,..., P−1}. The random number generation unit 310 outputs the random number r to the common reference information generation unit 320. However, the random number generator 310 may not necessarily be provided. For example, the random number r may be input from an input device such as a keyboard, or the random number r is stored in a portable medium such as a USB memory, You may enter. The same applies to the random number generation unit 110 of the transmission device 100 described later. In this embodiment, p, G, and g are shared in advance by each device. However, a configuration may be adopted in which the public device 300 discloses the public parameter and the other device receives the public parameter.

<共通参照情報生成部320>
共通参照情報生成部320は、ABO−TDFの関数インデックスsを含む共通参照情報crsを生成する(s320)。例えば、h()を対独立ハッシュ関数、t=g^zとし、crsを(s,h(),t)とする。但し、a^bはaを意味し、落とし戸情報をz∈Zとする。なお、j∈[n]である。対独立ハッシュ関数とは、x≠x’、y≠y’、定義域をD、値域をRとし、全ての異なるx、x’∈Dと全てのy、y’∈Rに対しhをランダムに選んだとき、次の式が成立する関数である。
Pr[h(x)=y^h(x')=y']=1/|R|2
なお、生成した共通参照情報crsを記憶部303へ出力し、記憶部303はこれを記憶する。
<Common Reference Information Generation Unit 320>
The common reference information generation unit 320 generates common reference information crs including the function index s of ABO-TDF (s320). For example, h () is a pair-independent hash function, t j = g ^ z j, and crs is (s, h (), t j ). However, a ^ b means a b, and let the trap door information be z j εZ p . Note that jε [n]. The pair-independent hash function is x ≠ x ′, y ≠ y ′, the domain is D, the range is R, and h is random for all different x, x′∈D and all y, y′∈R. Is a function that satisfies the following formula.
Pr [h (x) = y ^ h (x ') = y'] = 1 / | R | 2
The generated common reference information crs is output to the storage unit 303, and the storage unit 303 stores it.

関数インデックスsは、損失枝Lbとして、以下の行列として表される。
s=(ci,j
The function index s is represented as the following matrix as the loss branch Lb.
s = (c i, j )

Figure 0005227201
なお、ci,j=Enctj(Lb;ri)
とする。なお、Enctjにおけるtjはtを意味する。ここで、Encは以下の処理を行う。
Enc(a,r)=(g,t
よって、
i,j=(gri,t riLb
である。本実施例では、説明を簡単にするため、Lb=0として計算する。よって、
i,j=(gri,t ri
となる。つまり、式(1)より、共通参照情報生成部は、損失枝を0とし、セキュリティパラメータをλとして、乱数rを用いて、関数インデックスs及び落とし戸zを生成する。
Figure 0005227201
C i, j = Enc tj (Lb; ri)
And It should be noted, tj in Enc tj means t j. Here, Enc performs the following processing.
Enc t (a, r) = (g r, t r g a)
Therefore,
c i, j = (g ri , t j rig g Lb )
It is. In the present embodiment, in order to simplify the description, the calculation is performed with Lb = 0. Therefore,
c i, j = (g ri , t j ri )
It becomes. That is, from the equation (1), the common reference information generation unit generates the function index s and the trapdoor z j using the random number r with the loss branch as 0, the security parameter as λ.

Figure 0005227201
なお、Lb≠0であっても同様に計算することができる。但し、通常、検証鍵vk≠0であることを考慮し、Lb≠vkとするため、Lb=0としてもよい。なお、情報mが入力される毎に異なる共通参照情報crsが生成されることになる。但し、安全性が低くなるが、同一の共通参照情報を用いてもよい。
Figure 0005227201
Even if Lb ≠ 0, the same calculation can be performed. However, since Lb ≠ vk in consideration of the fact that the verification key vk ≠ 0 is normally set, Lb = 0 may be set. Different common reference information crs is generated every time information m is input. However, although the safety is lowered, the same common reference information may be used.

[送信装置100]
図5は送信装置100の構成例を、図6は送信装置のフロー例を示す。送信装置100(ビットコミットメント送信装置100と呼んでもよい)は、通信部101、記憶部103、制御部105、乱数生成部110、鍵生成部120、署名生成部130、コミットメント生成部150及び開封情報生成部160とを有する。
[Transmitter 100]
FIG. 5 shows a configuration example of the transmission apparatus 100, and FIG. 6 shows a flow example of the transmission apparatus. The transmission device 100 (which may be called the bit commitment transmission device 100) includes a communication unit 101, a storage unit 103, a control unit 105, a random number generation unit 110, a key generation unit 120, a signature generation unit 130, a commitment generation unit 150, and unsealing information. And a generation unit 160.

送信装置100は、制御部105の制御の下、キーボード等の入力部等から1ビット以上の情報mが入力されると(s100)、情報mをコミットするために、通信部101を介して、公開装置300に共通参照情報crsを要求し、公開装置300から共通参照情報crsを受信する(s101a)。但し、m∈Zとする。また、送信装置100は、コミットメント及び開封情報Mを生成し、受信装置200へコミットメントcomを送信する(s101c)。そして開封情報Mを送信できる場合には(s165)、受信装置200へ開封情報Mを送信する(s101e)。開封情報Mを送信できる場合とは、例えば、予め定めた時刻を経過した場合等が考えられる。受信装置200からの応答等を必要とせず、非対話型のビットコミットメントシステムを実現できる。 When the information m of 1 bit or more is input from the input unit such as a keyboard or the like under the control of the control unit 105 (s100), the transmission device 100 transmits the information m via the communication unit 101 in order to commit the information m. The public device 300 is requested for the common reference information crs, and the common reference information crs is received from the public device 300 (s101a). However, mεZ p . Further, the transmission device 100 generates commitment and opening information M, and transmits the commitment com to the reception device 200 (s101c). If the unsealing information M can be transmitted (s165), the unsealing information M is transmitted to the receiving device 200 (s101e). The case where the unsealing information M can be transmitted is, for example, a case where a predetermined time has elapsed. A non-interactive bit commitment system can be realized without requiring a response from the receiving device 200.

記憶部103は、公開装置から受け取った共通参照情報crs等を記憶し、送信する情報mや生成した署名鍵sk、検証鍵vk、乱数ra、rb、署名σ、コミットメントcom及び開封情報M等を記憶してもよい。   The storage unit 103 stores the common reference information crs received from the public device, and stores the information m to be transmitted, the generated signature key sk, the verification key vk, the random number ra, rb, the signature σ, the commitment com, the unsealing information M, and the like. You may remember.

<乱数生成部110>
乱数生成部110は、乱数ra及びrbを生成する(s110)。但し、乱数ra,rb∈Zである。
<Random number generator 110>
The random number generation unit 110 generates random numbers ra and rb (s110). However, the random numbers ra and rbεZ p .

<鍵生成部120>
鍵生成部120は、鍵生成アルゴリズムGenを用いて、署名鍵sk及び検証鍵vkを生成する(s120)。例えば、乱数生成部110において、乱数r3を生成し、セキュリティパラメータと乱数r3を入力として、鍵生成アルゴリズムを用いて署名鍵sk及び検証鍵vkを生成する。鍵生成アルゴリズムが実行される度に異なる乱数が選ばれるので、情報mが入力される毎に異なる公開鍵・秘密鍵ペアが割り振られることになる。但し、安全性が低くなるが、同一の公開鍵・秘密鍵ペアを用いてもよい。
<Key generation unit 120>
The key generation unit 120 generates the signature key sk and the verification key vk using the key generation algorithm Gen (s120). For example, the random number generation unit 110 generates a random number r3, receives the security parameter and the random number r3, and generates a signature key sk and a verification key vk using a key generation algorithm. Since a different random number is selected every time the key generation algorithm is executed, a different public / private key pair is assigned each time the information m is input. However, although the security is lowered, the same public key / private key pair may be used.

<署名生成部130>
署名生成部130は、乱数生成部110から乱数ra及びrbを、鍵生成部120から署名鍵sk及び検証鍵vkを、公開装置100から共通参照情報crsを、入力部等から情報mを入力される。但し、一旦、記憶部103に記憶された情報を入力されてもよい。署名生成部130は、これらの情報から情報c1及びc2を生成し、さらに、c1及びc2から署名σを生成する。生成したc1、c2、σをコミットメント生成部150へ出力する。
<Signature generation unit 130>
The signature generation unit 130 receives the random numbers ra and rb from the random number generation unit 110, the signature key sk and the verification key vk from the key generation unit 120, the common reference information crs from the public device 100, and the information m from the input unit. The However, information stored in the storage unit 103 may be input once. The signature generation unit 130 generates information c1 and c2 from these pieces of information, and further generates a signature σ from c1 and c2. The generated c1, c2, and σ are output to the commitment generation unit 150.

図7は、署名生成部130のフロー例を示す図である。まず、共通参照情報crsに含まれる関数インデックスs、検証鍵vk及び乱数raから、落とし戸付一方向性関数ABO−TDFを用いて、c0を求める(s131)。落とし戸付一方向性関数ABO−TDFを用いるとは、一方向性関数アルゴリズムGaboによってc0を求めることを意味する。
c0=Gabo(s,vk,ra)
例えば、Gaboは以下の式によって実現される。
c0=y=ra(s★vk・I)
但し、ra=(ra,ra,…,ra),ra∈{0,1}、y=y,…,yであり、Iは単位行列、つまり、対角成分のみ1で残りは全て0の行列である。また、演算子★は、暗号アルゴリズムEncが、c=(c1,c2)=Enc(m;r)=(g,t)のとき(gは生成元、t=g^zであり、zは落とし戸情報である)、
c★v=(c1,c2・gv)=Enct(m;r)■Enct(v;0)=Enct(m+v;r)
と定義される。なお、演算子■は成分ごとの乗算を表す。また、Enc(m;r)=(g,t)より、Enc(m1;r1)■Enc(m2;r2)=(gr1,tr1m1)・(gr2,tr2m2)=(gr1+r2,tr1+r2m1+m2)=Enc(m1+m2;r1+r2)となり、x∈ZのときEnc(m;r)=(grx,trxmx)=Enc(mx;rx)となる。
FIG. 7 is a diagram illustrating a flow example of the signature generation unit 130. First, c0 is obtained from the function index s, the verification key vk, and the random number ra included in the common reference information crs using the trapdoor-equipped one-way function ABO-TDF (s131). Using the one-way function with a trapdoor ABO-TDF means that c0 is obtained by the one-way function algorithm Gabo .
c0 = G abo (s, vk, ra)
For example, G abo is realized by the following equation.
c0 = y = ra (s * vk · I)
However, ra = (ra 1, ra 2, ..., ra n), ra j ∈ {0,1}, y = y 1, ..., a y n, I is the identity matrix, i.e., only the diagonal elements 1 And the rest are all zero matrices. Also, operators ★ is encryption algorithm Enc is, c = (c1, c2) = Enc t (m; r) = (g r, t r g m) of the case (g is origin, t = g ^ z j , z j is the trapdoor information),
c ★ v = (c1, c2 ・ g v ) = Enc t (m; r) Enc t (v; 0) = Enc t (m + v; r)
Is defined. The operator ■ represents multiplication for each component. Further, Enc t (m; r) = (g r, t r g m) than, Enc t (m1; r1) ■ Enc t (m2; r2) = (g r1, t r1 g m1) · (g r2 , t r2 g m2) = ( g r1 + r2, t r1 + r2 g m1 + m2) = Enc t (m1 + m2; r1 + r2) , and the time of x∈Z p Enc t (m; r ) x = (g rx, t rx g mx) = Enc t (mx; rx).

yの各要素yは以下のように定義することもできる。
yj=■i∈[n](ci,j★vk・δi,j)^rai=Enchj(vk・raj:<ra,r>)
但し、yj=■i∈[n](ci,j★vk・δi,j)^raiは、
yj=(c1,j★vk・δ1,j)^ra1■(c2,j★vk・δ2,j)^ra■…■(cn,j★vk・δn,j)^ra
を意味し、i=jならδi,j=1、i≠jならδi,j=0であり、Enchjにおけるhjは、hを意味する。
Each element y j of y can also be defined as follows.
y j = ■ i∈ [n] (c i, j ★ vk ・ δ i, j ) ^ ra i = Enc hj (vk ・ ra j : <ra, r>)
However, y j = ■ i∈ [n] (c i, j ★ vk · δ i, j ) ^ ra i is
y j = (c 1, j ★ vk · δ 1, j ) ^ ra 1 ■ (c 2, j ★ vk · δ 2, j ) ^ ra 2 ■… ■ (c n, j ★ vk · δ n, j ) ^ ra n
, If i = j, δ i, j = 1, if i ≠ j, δ i, j = 0, and hj in Ench j means h j .

次に、乱数rbを用い、関数インデックスsの準同型性を利用して、c0のランダム化を行いc1を生成する(s133)。例えば、以下の式により、ランダム化を行う。
c1=y’=ra(s★vk・I)☆rb
但し、演算子☆は、
c☆rb=(c1・grb,c2・trb)= Enct(m;r)■Enct(0;rb)=Enct(m;r+rb)
と定義される。(なお、Decsk(c☆rb)=mである。)
よって、
y’=Enchj((vk−0)ra;<ra,r>+rb) (2)
を得て、c1=y’=(y’,…,y’)を生成する。
Next, c0 is generated by randomizing c0 using the random number rb and utilizing the homomorphism of the function index s (s133). For example, randomization is performed by the following equation.
c1 = y ′ = ra (s * vk · I) ☆ rb
However, the operator ☆
c ☆ rb = (c1 ・ g rb , c2 ・ t rb ) = Enc t (m; r) Enc t (0; rb) = Enc t (m; r + rb)
Is defined. (Dec sk (c * rb) = m.)
Therefore,
y ′ j = Enc hj ((vk−0) ra j ; <ra, r> + rb j ) (2)
To generate c1 = y ′ = (y ′ 1 ,..., Y ′ n ).

c2は、例えば、以下のように求める。乱数raから、ハッシュ関数h()を用いて、ハッシュ値h(ra)を求める(s135)。ハッシュ値h(ra)と情報mとの排他的論理和をc2として求める(s137)。   For example, c2 is obtained as follows. A hash value h (ra) is obtained from the random number ra using the hash function h () (s135). An exclusive OR of the hash value h (ra) and the information m is obtained as c2 (s137).

Figure 0005227201
このような方法によると少ない演算量でc2を求めることができる。但し、c2の生成方法は、この方法に限るものではなく、c2に情報m及び乱数raを含むが、c2を見ただけでは、情報m及び乱数raを知ることはできない方法であれば、他の方法を用いてもよい。
Figure 0005227201
According to such a method, c2 can be obtained with a small amount of calculation. However, the generation method of c2 is not limited to this method, and the information m and the random number ra are included in c2. However, any other method can be used as long as the information m and the random number ra cannot be known only by looking at c2. The method may be used.

c1及びc2から、署名鍵sk及び署名アルゴリズムSignを用いて、署名σを生成する(s137)。
σ=Signsk(c1,c2)
なお、c1、c2は何れを先に生成してもよいし、並行処理してもよい。
A signature σ is generated from the c1 and c2 using the signature key sk and the signature algorithm Sign (s137).
σ = Sign sk (c1, c2)
Either c1 or c2 may be generated first or may be processed in parallel.

<コミットメント生成部150>
コミットメント生成部150は、c1、c2、σ及びvkを含むコミットメントcomを生成する(s150)。署名生成部130からc1、c2、σを、鍵生成部120からvkを入力され、comを出力する。
com=(c1,c2,vk,σ)
<Commitment generator 150>
The commitment generation unit 150 generates a commitment com including c1, c2, σ, and vk (s150). The signature generation unit 130 receives c1, c2, and σ, and the key generation unit 120 receives vk, and outputs com.
com = (c1, c2, vk, σ)

<開封情報生成部160>
開封情報生成部160は、情報m、乱数ra、rbを含む開封情報Mを生成する(s160)。入力部等から情報mを、乱数生成部110から乱数ra,rbを入力され、開封情報Mを出力する。
M=(m,ra,rb)
なお、開封情報M生成と鍵生成等の順番はどちらを先に処理してもよいし、並行処理してもよい。
[受信装置200]
図8は受信装置200の構成例を、図9は受信装置200のフロー例を示す。受信装置200(ビットコミットメント受信装置200と呼んでもよい)は、通信部201、記憶部203、制御部205、署名検証部230及びコミットメント検証部250を有する。
<Opening information generation unit 160>
The unsealing information generation unit 160 generates unsealing information M including information m, random numbers ra and rb (s160). Information m is input from an input unit or the like, random numbers ra and rb are input from a random number generation unit 110, and unsealing information M is output.
M = (m, ra, rb)
It should be noted that the order of opening information M generation and key generation may be processed first or in parallel.
[Receiver 200]
FIG. 8 shows a configuration example of the receiving apparatus 200, and FIG. The receiving device 200 (which may be called the bit commitment receiving device 200) includes a communication unit 201, a storage unit 203, a control unit 205, a signature verification unit 230, and a commitment verification unit 250.

受信装置200は、制御部205の制御の下、通信部201を介して、送信装置100からコミットメントcomを受信する(s201a)。受信装置200は、コミットメントcomを記憶部203に記憶する(s203)。そして、コミットメントcomに含まれる署名σの検証を行う(s230)。コミットメントcomを検証するために、公開装置300に共通参照情報crsを要求し、公開装置300から共通参照情報crsを受信する(s201c)。さらに、受信装置200は、開封情報Mを受信し(s201e)、コミットメントcomの検証を行う(s250)。   The receiving apparatus 200 receives a commitment com from the transmitting apparatus 100 via the communication unit 201 under the control of the control unit 205 (s201a). The receiving apparatus 200 stores the commitment com in the storage unit 203 (s203). Then, the signature σ included in the commitment com is verified (s230). In order to verify the commitment com, the public device 300 is requested for the common reference information crs, and the common reference information crs is received from the public device 300 (s201c). Further, the receiving apparatus 200 receives the unsealing information M (s201e), and verifies the commitment com (s250).

<署名検証部230>
署名検証部230は、コミットメントcomに含まれる検証鍵vk及び検証アルゴリズムVrfyを用いて、署名σの正当性を検証する(s230)。署名検証部230は、コミットメントを入力され、検証結果を出力する。
Vrfyvk(σ,c1,c2)
署名が検証を通過しなかった場合には、例えば、エラーを出力する(s231)。再度、コミットメントcomを送信装置100に要求する構成としてもよい。
<Signature Verification Unit 230>
The signature verification unit 230 verifies the validity of the signature σ using the verification key vk and the verification algorithm Vrfy included in the commitment com (s230). The signature verification unit 230 receives the commitment and outputs a verification result.
Vrfy vk (σ, c1, c2)
If the signature does not pass verification, for example, an error is output (s231). The configuration may be such that the commitment com is requested to the transmission device 100 again.

<コミットメント検証部250>
コミットメント検証部250は、共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証する(s250)。共通参照情報crs及び開封情報Mを入力され、コミットメントcomの検証結果を出力する。コミットメントが検証を通過しなかった場合には、例えば、エラーを出力する(s251)。コミットメント検証部250は、署名σが検証を通過し、かつ、公開装置300から共通参照情報crsを受信し、かつ、開封情報Mを受信した場合に、コミットメントを検証することができる。
<Commitment verification unit 250>
The commitment verification unit 250 verifies the commitment com using the common reference information crs and the opening information M (s250). The common reference information crs and the unsealing information M are input, and the verification result of the commitment com is output. If the commitment does not pass verification, for example, an error is output (s251). The commitment verification unit 250 can verify the commitment when the signature σ passes verification, receives the common reference information crs from the disclosure apparatus 300, and receives the opening information M.

共通参照情報crsに含まれる関数インデックスsとコミットメントcomに含まれるvkと開封情報Mに含まれるra,rbから、
ra(s★vk・I)☆rb
を計算し、得られる値がコミットメントcomに含まれるc1と同一であるか検証する。
From the function index s included in the common reference information crs, vk included in the commitment com, and ra and rb included in the opening information M,
ra (s ★ vk · I) ☆ rb
And verifies whether the obtained value is the same as c1 included in the commitment com.

また、共通参照情報crsに含まれるハッシュ関数h()とコミットメントcomに含まれるc2から   Further, from the hash function h () included in the common reference information crs and c2 included in the commitment com

Figure 0005227201
を計算し、得られる値が開封情報Mに含まれる情報mと同一であるか検証する。何れか一方の検証を通過しなかった場合には、エラーを出力する。
Figure 0005227201
And verify whether the obtained value is the same as the information m included in the opening information M. If either verification is not passed, an error is output.

このような構成とすることで、非対話方式、かつ、複数ビットコミットメント方式のビットコミットメントシステムを提供することができる。また、電子署名方式が選択文書攻撃に対し強存在的偽造不可かつdecisional Diffie-Hellman仮定が真であれば、汎用的結合可能安全である。   With such a configuration, it is possible to provide a non-interactive and multi-bit commitment bit commitment system. Also, if the digital signature method is strongly existent forgery against selected document attacks and the decisional Diffie-Hellman assumption is true, it is safe to be universally combined.

<ハードウェア構成>
図10は、本実施例における送信装置100のハードウェア構成を例示したブロック図である。受信装置200及び公開装置300も同様の構成を有する。
<Hardware configuration>
FIG. 10 is a block diagram illustrating a hardware configuration of the transmission device 100 according to the present embodiment. The receiving device 200 and the disclosure device 300 have the same configuration.

図10に例示するように、この例の送信装置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. 10, the transmission device 100, the reception device 200, and the disclosure device 300 in this example include 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 (Random Access Memory) 16, RAM (Random Access Memory) 16, and bus 17.

この例の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 14a in which programs for causing the computer to function as the transmission device 100, the reception device 200, and the disclosure device 300 are stored. 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 each process of the transmission device 100, the reception device 200, and the disclosure device 300 of the present embodiment is stored in the program areas 14a and 16a. Each program constituting the transmission program, the reception program, and the public 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(図10)は、読み込まれた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. 10) 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、8は、このようにCPU11に上述のプログラムが読み込まれて実行されることにより構成される公開装置300、送信装置100、受信装置200の機能構成を例示したブロック図である。   3, 5, and 8 are block diagrams exemplifying functional configurations of the disclosure apparatus 300, the transmission apparatus 100, and the reception apparatus 200 configured by reading and executing the above-described program in the CPU 11 as described above.

ここで、記憶部103、203及び303は、補助記憶装置14、RAM16、レジスタ11c、その他のバッファメモリやキャッシュメモリ等の何れか、あるいはこれらを併用した記憶領域に相当する。また、通信部101と、記憶部103と、制御部105と、乱数生成部110と、鍵生成部120と、署名生成部130と、コミットメント生成部150と、開封情報生成部160と、CPU11に送信プログラムを実行させることにより構成されるものである。また、通信部201と、記憶部203と、制御部205と、署名検証部230と、コミットメント検証部250は、CPU11に受信プログラムを実行させることにより構成されるものである。また、通信部301と、記憶部303と、制御部305と、乱数生成部310と、共通情報生成部320は、CPU11に公開プログラムを実行させることにより構成されるものである。   Here, the storage units 103, 203, and 303 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 that uses these in combination. Further, the communication unit 101, the storage unit 103, the control unit 105, the random number generation unit 110, the key generation unit 120, the signature generation unit 130, the commitment generation unit 150, the unsealing information generation unit 160, and the CPU 11 It is configured by executing a transmission program. The communication unit 201, the storage unit 203, the control unit 205, the signature verification unit 230, and the commitment verification unit 250 are configured by causing the CPU 11 to execute a reception program. The communication unit 301, the storage unit 303, the control unit 305, the random number generation unit 310, and the common information generation unit 320 are configured by causing the CPU 11 to execute a public program.

また、本形態の送信装置100、受信装置200及び公開装置300は、各制御部105、205及び305の制御のもと各処理を実行する。   In addition, the transmission device 100, the reception device 200, and the disclosure device 300 according to the present embodiment execute each process under the control of the control units 105, 205, and 305.

実施例1と異なる部分について、実施例2に係るビットコミットメントシステムを説明する。   The bit commitment system according to the second embodiment will be described with respect to parts different from the first embodiment.

[ビットコミットメントシステム1000]
ビットコミットメントシステム1000は、1ビット以上の情報mをコミットする送信装置1100とコミットメントを検証する受信装置1200と信用できる第三者が管理する公開装置1300からなる。本実施例では、ABO−TDFを実現するために、DCR(decisional composite residuosity)問題を利用する。
[Bit commitment system 1000]
The bit commitment system 1000 includes a transmitting device 1100 that commits information m of 1 bit or more, a receiving device 1200 that verifies the commitment, and a public device 1300 that is managed by a trusted third party. In this embodiment, in order to realize ABO-TDF, a DCR (decisional composite residuosity) problem is used.

[公開装置1300]
公開装置1300は、信頼できる第三者等が管理し、通信部301、記憶部303、制御部305、乱数生成部1310、共通参照情報1320を有する。
[Public device 1300]
The public device 1300 is managed by a trusted third party or the like, and includes a communication unit 301, a storage unit 303, a control unit 305, a random number generation unit 1310, and common reference information 1320.

<乱数生成部1310>
乱数生成部1310は、乱数r∈Z を生成し、共通参照情報生成部1320へ出力する。Nについては、後述する。
<Random number generator 1310>
The random number generation unit 1310 generates a random number rεZ * N and outputs it to the common reference information generation unit 1320. N will be described later.

<共通参照情報生成部1320>
共通参照情報生成部1320は、ABO−TDFの関数インデックスsを含む共通参照情報crsを生成する。例えば、RSAモジュラスN=pq、gcd(N,φ(N))=1を満たす奇素数p,qを選択し、Nを生成する。fを1以上の整数とし、ABO−TDFの損失枝をLbとし、乱数r∈Z を用いて、関数インデックスs=(1+N)−Lbr^Nを生成する。実施例1と同様の理由により、Lb=0とすると、s=r^Nとなる。また、p,qを用いて、落とし戸情報τ=lcm(p−1,q−1)を生成する。さらに、関数インデックスs、N及びfを含む共通参照情報crsを生成する。なお、このようなNに対して、乗法群Z N^f+1は直積G×Hである。但し、Gは位数Nの巡回群、HはZ と同型である。なお、m∈Z N^fとする。また、奇素数p,qは秘密に管理する。
<Common Reference Information Generation Unit 1320>
The common reference information generation unit 1320 generates common reference information crs including the function index s of ABO-TDF. For example, odd prime numbers p and q satisfying RSA modulus N = pq and gcd (N, φ (N)) = 1 are selected, and N is generated. A function index s = (1 + N) −Lb r ^ N f is generated by using f as an integer of 1 or more, a loss branch of ABO-TDF as Lb, and a random number rεZ * N. For the same reason as that in Example 1, when Lb = 0, the s = r ^ N f. Moreover, the trap door information τ = 1 cm (p−1, q−1) is generated using p and q. Further, common reference information crs including function indexes s, N, and f is generated. For such N, the multiplicative group Z * N ^ f + 1 is a direct product G × H. However, G is a cyclic group of order N f, H is Z * N and isomorphic. Note that m∈Z * N ^ f . The odd prime numbers p and q are managed secretly.

[送信装置1100]
送信装置1100は、通信部101、記憶部103、制御部105、乱数生成部1110、鍵生成部120、署名生成部1130、コミットメント生成部150及び開封情報生成部160とを有する。
[Transmitter 1100]
The transmission apparatus 1100 includes a communication unit 101, a storage unit 103, a control unit 105, a random number generation unit 1110, a key generation unit 120, a signature generation unit 1130, a commitment generation unit 150, and an unsealing information generation unit 160.

<乱数生成部110>
乱数生成部1110は、乱数ra及びrbを生成する。但し、rb∈Z とする。
<Random number generator 110>
The random number generator 1110 generates random numbers ra and rb. However, rbεZ * N.

<署名生成部1130>
まず、共通参照情報crsに含まれる関数インデックスs、検証鍵vk及び乱数raから、落とし戸付一方向性関数ABO−TDFを用いて、c0を求める。落とし戸付一方向性関数ABO−TDFを用いるとは、一方向性関数アルゴリズムGaboによってc0を求めることを意味する。
c0=Gabo(s,vk,ra)
例えば、Gaboは以下の式によって実現される。
c0=y=(s◆vk)ra
ここで、演算子◆は、暗号アルゴリズムEncが、
c=Enc(m;r)=(1+N)r^N mod Nf+1
のとき
c◆v=c・(1+N)v=EncN(m;r)・EncN(v;1)=EncN(m+v,r)
と定義される。よって、
y=(s◆vk)ra=Enc(vk・ra;r)
と表される。なお、Enc(m;r)=(1+N)r^Nmod Nf+1より、Enc(m1;r1)・Enc(m2;r2)=Enc(m1+m2;r1・r2)となり、Enc(m;r)=Enc(mx;r)となる。
<Signature generation unit 1130>
First, c0 is obtained from the function index s, the verification key vk, and the random number ra included in the common reference information crs by using the trapdoor-equipped one-way function ABO-TDF. Using the one-way function with a trapdoor ABO-TDF means that c0 is obtained by the one-way function algorithm Gabo .
c0 = G abo (s, vk, ra)
For example, G abo is realized by the following equation.
c0 = y = (s ◆ vk) ra
Here, the operator ◆ indicates that the encryption algorithm Enc is
c = Enc N (m; r) = (1 + N) m r ^ N f mod N f + 1
When
c ◆ v = c ・ (1 + N) v = Enc N (m; r) ・ Enc N (v; 1) = Enc N (m + v, r)
Is defined. Therefore,
y = (s ◆ vk) ra = Enc N (vk · ra; r)
It is expressed. From Enc N (m; r) = (1 + N) m r ^ N f mod N f + 1 , Enc N (m1; r1) · Enc N (m2; r2) = Enc N (m1 + m2; r1 · r2) Enc N (m; r) x = Enc N (mx; r x ).

次に、乱数rbを用い、関数インデックスsの準同型性を利用して、c0のランダム化を行いc1を生成する。例えば、以下の式により、ランダム化を行う。
c1=y’=(s◆vk)ra◇rb
但し、演算子◇は、
c◇rb=c・rb^Nf=EncN(m;r)・EncN(0;rb)= EncN(m;r・rb)
と定義される。
よって、c1=Enc((vk−0)ra;rra・rb)を生成する。
c2及び署名σの生成方法は実施例1の署名生成部130と同様である。
Next, c0 is generated by randomizing c0 using the homomorphism of the function index s using the random number rb. For example, randomization is performed by the following equation.
c1 = y ′ = (s ◆ vk) ra ◇ rb
However, the operator ◇
c ◇ rb = c ・ rb ^ N f = Enc N (m; r) ・ Enc N (0; rb) = Enc N (m; r ・ rb)
Is defined.
Therefore, c1 = Enc N ((vk-0) ra; r ra · rb) is generated.
The generation method of c2 and signature σ is the same as that of the signature generation unit 130 of the first embodiment.

[受信装置1200]
受信装置1200は、通信部201、記憶部203、制御部205、署名検証部230及びコミットメント検証部1250を有する。
[Receiving device 1200]
The receiving apparatus 1200 includes a communication unit 201, a storage unit 203, a control unit 205, a signature verification unit 230, and a commitment verification unit 1250.

<コミットメント検証部1250>
コミットメント検証部1250は、共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証する。共通参照情報crs及び開封情報Mを入力され、コミットメントcomの検証結果を出力する。コミットメントが検証を通過しなかった場合には、例えば、エラーを出力する。コミットメント検証部250は、署名σが検証を通過し、かつ、公開装置300から共通参照情報crsを受信し、かつ、開封情報Mを受信した場合に、コミットメントを検証することができる。
<Commitment verification unit 1250>
The commitment verification unit 1250 verifies the commitment com using the common reference information crs and the opening information M. The common reference information crs and the unsealing information M are input, and the verification result of the commitment com is output. For example, if the commitment does not pass verification, an error is output. The commitment verification unit 250 can verify the commitment when the signature σ passes verification, receives the common reference information crs from the disclosure apparatus 300, and receives the opening information M.

共通参照情報crsに含まれる関数インデックスsとコミットメントcomに含まれるvkと開封情報Mに含まれるra,rbから、
(s◆vk)ra◇rb
を計算し、得られる値がコミットメントcomに含まれるc1と同一であるか検証する。
From the function index s included in the common reference information crs, vk included in the commitment com, and ra and rb included in the opening information M,
(S ◆ vk) ra ◇ rb
And verifies whether the obtained value is the same as c1 included in the commitment com.

また、共通参照情報crsに含まれるハッシュ関数h()とコミットメントcomに含まれるc2から   Further, from the hash function h () included in the common reference information crs and c2 included in the commitment com

Figure 0005227201
を計算し、得られる値が開封情報Mに含まれる情報mと同一であるか検証する。何れか一方の検証を通過しなかった場合には、エラーを出力する。
Figure 0005227201
And verify whether the obtained value is the same as the information m included in the opening information M. If either verification is not passed, an error is output.

このような構成とすることで、実施例1と同様に、非対話方式、かつ、複数ビットコミットメント方式のビットコミットメントシステムを提供することができる。また、電子署名方式が選択文書攻撃に対し強存在的偽造不可かつdecisional composite residuosity仮定が真であれば、汎用的結合可能安全である。   By adopting such a configuration, it is possible to provide a non-interactive and multi-bit commitment bit commitment system as in the first embodiment. In addition, if the electronic signature method is strongly existent forgery against selected document attacks and the decision of decisional composite residuosity is true, it is safe to combine universally.

1 ビットコミットメントシステム
100 送信装置
200 受信装置
300 公開装置
101、201、301 通信部
103、203、303 記憶部
105、205、305 制御部
110、310 乱数生成部
120 鍵生成部
130 署名生成部
150 コミットメント生成部
160 開封情報生成部
230 署名検証部
250 コミットメント検証部
320 共通参照情報生成部
1 bit commitment system 100 transmitting device 200 receiving device 300 public device 101, 201, 301 communication unit 103, 203, 303 storage unit 105, 205, 305 control unit 110, 310 random number generation unit 120 key generation unit 130 signature generation unit 150 commitment Generation unit 160 Unsealing information generation unit 230 Signature verification unit 250 Commitment verification unit 320 Common reference information generation unit

Claims (13)

1ビット以上の情報mをコミットする送信装置とコミットメントを検証する受信装置と信用できる第三者が管理する公開装置からなるビットコミットメントシステムであって、
前記公開装置は、
All−But−One落とし戸付一方向性関数(以下、「ABO−TDF」という)の関数インデックスsを含む共通参照情報crsを生成、公開し、
前記送信装置は、
検証鍵vkを損失枝として、前記関数インデックスs及び乱数raから、ABO−TDFを用いて、c0を求め、乱数rbを用いて、前記c0のランダム化を行い、c1を生成し、前記乱数ra及び前記情報mからc2を求め、前記c1及びc2から、署名鍵skを用いて、署名σを生成する署名生成部と、
前記c1、c2及びσを含むコミットメントcomを生成するコミットメント生成部と、
前記情報m、乱数ra、rbを含む開封情報Mを生成する開封情報生成部とを備え、
前記受信装置は、
前記検証鍵vkを用いて、署名σを検証する署名検証部と、
前記共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証するコミットメント検証部とを備える、
ことを特徴とするビットコミットメントシステム。
A bit commitment system comprising a transmitting device that commits information m of 1 bit or more, a receiving device that verifies a commitment, and a public device managed by a trusted third party,
The public device is:
Generating and publishing common reference information crs including a function index s of an All-But-One trapdoor unidirectional function (hereinafter referred to as “ABO-TDF”);
The transmitter is
Using the verification key vk as a loss branch, c0 is obtained from the function index s and the random number ra using ABO-TDF, the c0 is randomized using the random number rb, c1 is generated, and the random number ra is generated. And c2 from the information m, and a signature generation unit that generates a signature σ using the signature key sk from the c1 and c2.
A commitment generation unit for generating a commitment com including the c1, c2, and σ;
An unsealing information generating unit for generating unsealing information M including the information m and random numbers ra and rb;
The receiving device is:
A signature verification unit that verifies the signature σ using the verification key vk;
A commitment verification unit that verifies the commitment com using the common reference information crs and the opening information M;
Bit commitment system characterized by that.
請求項1記載のビットコミットメントシステムであって、
pを素数とし、位数pの巡回群をG、Gの生成元をg、i,j∈[n]、[n]={1,2,…,n}、r=(r1,…ri…,rn)、r∈Zは乱数、ra∈Z、ra=(ra,…,ra)、ra∈{0,1}、rb=(rb,…,rb)、rb∈Zは乱数、Iは単位行列とし、
前記公開装置は、
=g^zであり、Lbを損失枝として、ci,j=(gri,t riLb)とし、関数インデックスsを行列(ci,j)として生成し、ABO−TDFの落とし戸情報z∈Zを生成し、ABO−TDFの関数インデックスs及tびを含む共通参照情報crsを生成、公開し、
前記送信装置の署名生成部は、
c=(c1,c2)=(g,t)のとき、演算子★を、c★v=(c1,c2・g)と定義し、演算子☆を、c☆rb=(c1・grb,c2・trb)と定義して、
前記c0=ra(s★vk・I)としてを生成し、
前記乱数rbを用いて、前記c0のランダム化を行い、前記c1=ra(s★vk・I)☆rbとして、生成し、
前記受信装置のコミットメント検証部は、
ra(s★vk・I)☆rbを計算し、得られた値と前記c1の値が同一か検証を行うこと、
を特徴とするビットコミットメントシステム。
The bit commitment system according to claim 1,
p is a prime number, G is a cyclic group of order p, g is a generator of G, i, jε [n], [n] = {1, 2,..., n}, r = (r1,. ..., rn), r∈Z p is a random number, ra∈Z p, ra = (ra 1, ..., ra n), ra j ∈ {0,1}, rb = (rb 1, ..., rb n), rbεZ p is a random number, I is a unit matrix,
The public device is:
t j = g ^ z j , Lb is a loss branch, c i, j = (g ri , t j ri g Lb ), a function index s is generated as a matrix (c i, j ), and ABO− TDF trapdoor information z j ∈Z p is generated, and common reference information crs including function index s and t of ABO-TDF is generated and disclosed,
The signature generation unit of the transmission device
When c = (c1, c2) = (g r , tr g m ), the operator ★ is defined as c ★ v = (c1, c2 · g v ), and the operator ☆ is defined as c ☆ rb = (C1 · g rb , c2 · t rb )
Generate c0 = ra (s * vk · I),
Randomize c0 using the random number rb, and generate c1 = ra (s * vk · I) * rb,
The commitment verification unit of the receiving device,
calculating ra (s * vk · I) * rb and verifying whether the obtained value is the same as the value of c1;
A bit commitment system characterized by
請求項1記載のビットコミットメントシステムであって、
前記公開装置は、
N=pq、gcd(N,φ(N))=1を満たす奇素数p,qを選択し、1以上の整数fを選択し、乱数r∈Z を生成し、ABO−TDFの損失枝をLbとし、関数インデックスs=(1+N)−Lbr^N及び落とし戸情報τ=lcm(p−1,q−1)を生成し、関数インデックスs、N及びfを含む共通参照情報crsを生成、公開し、
前記送信装置の署名生成部は、
c=(1+N)r^Nのとき、演算子◆をc◆v=c・(1+N)と定義し、演算子◇をc◇rb=c・rb^Nと定義して、前記c0=(s◆vk)raとして生成し、前記乱数rb∈Z を用いて、前記c0のランダム化を行い、c1=(s◆vk)ra◇rb
として生成し、
前記受信装置の署名検証部は、
(s◆vk)ra◇rbを計算し、得られた値と前記c1の値が同一か検証を行うこと、
を特徴とするビットコミットメントシステム。
The bit commitment system according to claim 1,
The public device is:
Select odd primes p and q satisfying N = pq, gcd (N, φ (N)) = 1, select an integer f of 1 or more, generate a random number r∈Z * N, and lose ABO-TDF Let Lb be a branch, generate function index s = (1 + N) −Lb r ^ N f and trapdoor information τ = 1cm (p−1, q−1), and common reference information including function indexes s, N, and f create and publish crs
The signature generation unit of the transmission device
When c = (1 + N) m r ^ N f , the operator ◆ is defined as c ◆ v = c · (1 + N) v , the operator ◇ is defined as c ◇ rb = c · rb ^ N f , Generate as c0 = (s ◆ vk) ra , randomize c0 using the random number rbεZ * N , and c1 = (s ◆ vk) ra ◇ rb
Produces as
The signature verification unit of the receiving device
(S ◆ vk) ra ◇ Calculate rb and verify whether the obtained value is the same as the value of c1;
A bit commitment system characterized by
検証鍵vkをAll−But−One落とし戸付一方向性関数(以下、「ABO−TDF」という)の損失枝として、ABO−TDFの関数インデックスs及び乱数raから、ABO−TDFを用いて、c0を求め、乱数rbを用いて、前記c0のランダム化を行い、c1を生成し、前記乱数ra及び1ビット以上の情報mからc2を求め、前記c1及びc2から、署名鍵skを用いて、署名σを生成する署名生成部と、
前記c1、c2及びσを含むコミットメントcomを生成するコミットメント生成部と、
前記情報m、乱数ra、rbを含む開封情報Mを生成する開封情報生成部と、
を有するビットコミットメント送信装置。
Using the ABO-TDF from the function index s of the ABO-TDF and the random number ra as the loss branch of the All-But-One trapdoor unidirectional function (hereinafter referred to as “ABO-TDF”), Obtain c0, randomize c0 using random number rb, generate c1, obtain c2 from random number ra and information m of 1 bit or more, and use signature key sk from c1 and c2 A signature generation unit for generating a signature σ;
A commitment generation unit for generating a commitment com including the c1, c2, and σ;
An unsealing information generating unit for generating unsealing information M including the information m and random numbers ra and rb;
A bit commitment transmitting device.
請求項4記載のビットコミットメント送信装置であって、
pを素数とし、位数pの巡回群をG、Gの生成元をg、i,j∈[n]、[n]={1,2,…,n}、r=(r1,…ri…,rn)、r∈Zは乱数、ra∈Z、ra=(ra,…,ra)、ra∈{0,1}、rb=(rb,…,rb)、rb∈Zは乱数、Iは単位行列とし、
署名生成部は、c=(c1,c2)=(g,t)のとき、演算子★を、c★v=(c1,c2・g)と定義し、演算子☆を、c☆rb=(c1・grb,c2・trb)と定義して、前記c0=ra(s★vk・I)としてを生成し、前記乱数rbを用いて、前記c0のランダム化を行い、前記c1=ra(s★vk・I)☆rbとして、生成すること、
を特徴とするビットコミットメント送信装置。
The bit commitment transmission device according to claim 4,
p is a prime number, G is a cyclic group of order p, g is a generator of G, i, jε [n], [n] = {1, 2,..., n}, r = (r1,. ..., rn), r∈Z p is a random number, ra∈Z p, ra = (ra 1, ..., ra n), ra j ∈ {0,1}, rb = (rb 1, ..., rb n), rbεZ p is a random number, I is a unit matrix,
When c = (c1, c2) = (g r , tr g m ), the signature generation unit defines the operator ★ as c ★ v = (c1, c2 · g v ), and the operator ☆ , C ☆ rb = (c1 · g rb , c2 · t rb ) and generate c0 = ra (s * vk · I), and use the random number rb to randomize the c0 Generating as c1 = ra (s * vk · I) * rb,
A bit commitment transmitter characterized by.
請求項4記載のビットコミットメント送信装置であって、
p,qを奇素数、N=pq、gcd(N,φ(N))=1、乱数r∈Z とし、
前記署名生成部は、
c=(1+N)r^Nのとき、演算子◆をc◆v=c・(1+N)と定義し、演算子◇をc◇rb=c・rb^Nと定義して、前記c0=(s◆vk)raとして生成し、前記乱数rb∈Z を用いて、前記c0のランダム化を行い、前記c1=(s◆vk)ra◇rbとして生成すること、
を特徴とするビットコミットメント送信装置。
The bit commitment transmission device according to claim 4,
p and q are odd prime numbers, N = pq, gcd (N, φ (N)) = 1, random number rεZ * N ,
The signature generation unit
When c = (1 + N) m r ^ N f , the operator ◆ is defined as c ◆ v = c · (1 + N) v , the operator ◇ is defined as c ◇ rb = c · rb ^ N f , Generating c0 = (s ◆ vk) ra , randomizing c0 using the random number rbεZ * N, and generating c1 = (s ◆ vk) ra ◇ rb;
A bit commitment transmitter characterized by.
検証鍵vkを損失枝として、All−But−One落とし戸付一方向性関数(以下、「ABO−TDF」という)の関数インデックスs及び乱数raから、ABO−TDFを用いて、c0を求め、乱数rbを用いて、前記c0のランダム化を行い、c1を生成し、前記乱数ra及び前記情報mからc2を求め、前記c1及びc2から、署名鍵skを用いて、生成された署名σを、検証鍵vkを用いて、検証する署名検証部と、
ABO−TDFの関数インデックスsを含む共通参照情報crs及び乱数ra、rbを含む開封情報Mを用いてコミットメントcomを検証するコミットメント検証部とを備える、
ことを特徴とするビットコミットメント受信装置。
Using the verification key vk as a loss branch, the function index s of the All-But-One trapdoor unidirectional function (hereinafter referred to as “ABO-TDF”) and a random number ra are used to obtain c0 using ABO-TDF, The random number rb is used to randomize the c0, generate c1, obtain the c2 from the random number ra and the information m, and use the signature key sk from the c1 and c2 to generate the generated signature σ. A signature verification unit to verify using the verification key vk;
A commitment verification unit that verifies the commitment com using the common reference information crs including the function index s of ABO-TDF and the unsealing information M including the random numbers ra and rb.
A bit commitment receiver characterized by that.
請求項7記載のビットコミットメント受信装置であって、
pを素数、位数pの巡回群をG、Gの生成元をg、i,j∈[n]、[n]={1,2,…,n}、r=(r1,…ri…,rn)、r∈Zは乱数、ra∈Z、ra=(ra,…,ra)、ra∈{0,1}、rb=(rb,…,rb)、rb∈Zは乱数、Iは単位行列、t=g^z、Lbを損失枝、ci,j=(gri,t riLb)、関数インデックスsを行列(ci,j)とし、c=(c1,c2)=(g,t)のとき、演算子★を、c★v=(c1,c2・g)と定義し、演算子☆を、c☆rb=(c1・grb,c2・trb)と定義して、前記c1=ra(s★vk・I)☆rbとして、
前記コミットメント検証部は、
ra(s★vk・I)☆rbを計算し、得られた値と前記c1の値が同一か検証を行うこと、
を特徴とするビットコミットメント受信装置。
The bit commitment receiving device according to claim 7,
p is a prime, G is a cyclic group of order p, G is a generator of G, i, jε [n], [n] = {1, 2,..., n}, r = (r1,. , Rn), r∈Z p is a random number, ra∈Z p , ra = (ra 1 ,..., Ra n ), ra j ∈ {0, 1}, rb = (rb 1 ,..., Rb n ), rb ΕZ p is a random number, I is a unit matrix, t j = g ^ z j , Lb is a loss branch, c i, j = (g ri , t j ri g Lb ), and a function index s is a matrix (c i, j ), And when c = (c1, c2) = (g r , tr g m ), the operator ★ is defined as c ★ v = (c1, c2 · g v ), and the operator ☆ is defined as c ☆ rb = (c1 · g rb , c2 · t rb ), and c1 = ra (s * vk · I) ☆ rb
The commitment verification unit
calculating ra (s * vk · I) * rb and verifying whether the obtained value is the same as the value of c1;
A bit commitment receiver characterized by.
請求項7記載のビットコミットメント受信装置であって、
p,qは奇素数、N=pq、gcd(N,φ(N))=1を満たし、c=(1+N)r^Nのとき、演算子◆をc◆v=c・(1+N)と定義し、演算子◇をc◇rb=c・rb^Nと定義して、rb∈Z 、前記c1=(s◆vk)ra◇rbとして、
前記受信装置の署名検証部は、
(s◆vk)ra◇rbを計算し、得られた値と前記c1の値が同一か検証を行うこと、
を特徴とするビットコミットメント受信装置。
The bit commitment receiving device according to claim 7,
p and q are odd prime numbers, N = pq, gcd (N, φ (N)) = 1, and when c = (1 + N) m r ^ N f , the operator ◆ is c ◆ v = c · (1 + N ) Define v and define operator ◇ as c ◇ rb = c · rb ^ N f , rb∈Z * N , and c1 = (s ◆ vk) ra ◇ rb
The signature verification unit of the receiving device
(S ◆ vk) ra ◇ Calculate rb and verify whether the obtained value is the same as the value of c1;
A bit commitment receiver characterized by.
1ビット以上の情報mをコミットする送信装置とコミットメントを検証する受信装置と信用できる第三者が管理する公開装置を用いるビットコミットメント方法であって、
前記公開装置が、All−But−One落とし戸付一方向性関数(以下、「ABO−TDF」という)の関数インデックスsを含む共通参照情報crsを生成、公開するステップと、
前記送信装置が、検証鍵vkを損失枝として、前記関数インデックスs及び乱数raから、ABO−TDFを用いて、c0を求め、乱数rbを用いて、前記c0のランダム化を行い、c1を生成し、前記乱数ra及び前記情報mからc2を求め、前記c1及びc2から、署名鍵skを用いて、署名σを生成する署名生成ステップと、
前記送信装置が、前記c1、c2及びσを含むコミットメントcomを生成するコミットメント生成ステップと、
前記受信装置が、前記検証鍵vkを用いて、署名σを検証する署名検証ステップと、
前記送信装置が、前記情報m、乱数ra、rbを含む開封情報Mを生成する開封情報生成ステップと、
前記受信装置が、前記共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証するコミットメント検証ステップとを備える、
ことを特徴とするビットコミットメント方法。
A bit commitment method using a transmitting device that commits information m of 1 bit or more, a receiving device that verifies commitment, and a public device managed by a trusted third party,
The public device generates and publishes common reference information crs including a function index s of an All-But-One trapdoor unidirectional function (hereinafter referred to as “ABO-TDF”);
The transmitting apparatus obtains c0 from the function index s and the random number ra using the verification key vk as a loss branch, using ABO-TDF, randomizes the c0 using the random number rb, and generates c1 A signature generation step of obtaining c2 from the random number ra and the information m, and generating a signature σ from the c1 and c2 using a signature key sk;
A commitment generating step in which the transmitting device generates a commitment com including the c1, c2 and σ;
A signature verification step in which the receiving device verifies the signature σ using the verification key vk;
The transmission device generates unsealing information M including the unsealing information M including the information m, random numbers ra and rb;
The reception device includes a commitment verification step of verifying a commitment com using the common reference information crs and the opening information M.
A bit commitment method characterized by that.
検証鍵vkをAll−But−One落とし戸付一方向性関数(以下、「ABO−TDF」という)の損失枝として、ABO−TDFの関数インデックスs及び乱数raから、ABO−TDFを用いて、c0を求めるステップと、
乱数rbを用いて、前記c0のランダム化を行い、c1を生成するステップと、
前記乱数ra及び1ビット以上の情報mからc2を求めるステップと、
前記c1及びc2から、署名鍵skを用いて、署名σを生成する署名生成ステップと、
前記c1、c2及びσを含むコミットメントcomを生成するコミットメント生成ステップと、
前記情報m、乱数ra、rbを含む開封情報Mを生成する開封情報生成ステップと、
を有するビットコミットメント送信方法。
Using the ABO-TDF from the function index s of the ABO-TDF and the random number ra as the loss branch of the All-But-One trapdoor unidirectional function (hereinafter referred to as “ABO-TDF”), obtaining c0;
Randomizing c0 using random number rb to generate c1;
Obtaining c2 from the random number ra and information m of 1 bit or more;
A signature generation step of generating a signature σ from the c1 and c2 using a signature key sk;
A commitment generation step of generating a commitment com including the c1, c2 and σ;
An unsealing information generating step for generating unsealing information M including the information m and random numbers ra and rb;
Bit commitment transmission method having.
検証鍵vkを損失枝として、All−But−One落とし戸付一方向性関数(以下、「ABO−TDF」という)の関数インデックスs及び乱数raから、ABO−TDFを用いて、c0を求め、乱数rbを用いて、前記c0のランダム化を行い、c1を生成し、前記乱数ra及び前記情報mからc2を求め、前記c1及びc2から、署名鍵skを用いて、生成された署名σを、検証鍵vkを用いて、検証する署名検証ステップと、
ABO−TDFの関数インデックスsを含む共通参照情報crs及び乱数ra、rbを含む開封情報Mを用いてコミットメントcomを検証するコミットメント検証ステップとを備える、
ことを特徴とするビットコミットメント受信方法。
Using the verification key vk as a loss branch, the function index s of the All-But-One trapdoor unidirectional function (hereinafter referred to as “ABO-TDF”) and a random number ra are used to obtain c0 using ABO-TDF, The random number rb is used to randomize the c0, generate c1, obtain the c2 from the random number ra and the information m, and use the signature key sk from the c1 and c2 to generate the generated signature σ. A signature verification step for verifying using the verification key vk;
A commitment verification step of verifying the commitment com using the common reference information crs including the function index s of ABO-TDF and the unsealing information M including the random numbers ra and rb.
A bit commitment receiving method characterized by the above.
請求項4から9記載の何れかのビットコミットメント送信装置、または、ビットコミットメント受信装置として、コンピュータを機能させるためのビットコミットメントプログラム。   A bit commitment program for causing a computer to function as the bit commitment transmitting device or the bit commitment receiving device according to claim 4.
JP2009008482A 2009-01-19 2009-01-19 Bit commitment system, bit commitment method, bit commitment transmission device, bit commitment reception device, bit commitment transmission method, bit commitment reception method, bit commitment program Expired - Fee Related JP5227201B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009008482A JP5227201B2 (en) 2009-01-19 2009-01-19 Bit commitment system, bit commitment method, bit commitment transmission device, bit commitment reception device, bit commitment transmission method, bit commitment reception method, bit commitment program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009008482A JP5227201B2 (en) 2009-01-19 2009-01-19 Bit commitment system, bit commitment method, bit commitment transmission device, bit commitment reception device, bit commitment transmission method, bit commitment reception method, bit commitment program

Publications (2)

Publication Number Publication Date
JP2010164876A JP2010164876A (en) 2010-07-29
JP5227201B2 true JP5227201B2 (en) 2013-07-03

Family

ID=42581065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009008482A Expired - Fee Related JP5227201B2 (en) 2009-01-19 2009-01-19 Bit commitment system, bit commitment method, bit commitment transmission device, bit commitment reception device, bit commitment transmission method, bit commitment reception method, bit commitment program

Country Status (1)

Country Link
JP (1) JP5227201B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5448864B2 (en) * 2010-01-18 2014-03-19 日本電信電話株式会社 Commitment system, master device, transmission device, reception device, commitment method, program, recording medium
JP5755600B2 (en) * 2012-05-17 2015-07-29 日本電信電話株式会社 Commitment system, common reference information generating device, commit generating device, commit receiving device, commitment method
JP5863683B2 (en) * 2013-02-04 2016-02-17 日本電信電話株式会社 Commitment system, common reference information generation device, commit generation device, commit reception device, commitment method, and program

Also Published As

Publication number Publication date
JP2010164876A (en) 2010-07-29

Similar Documents

Publication Publication Date Title
US10277395B2 (en) Cryptographic key-generation with application to data deduplication
JP6016948B2 (en) Secret calculation system, arithmetic device, secret calculation method, and program
US11838426B2 (en) Computer implemented method and system for obtaining digitally signed data
US11979492B2 (en) Computer-implemented system and method for distributing shares of digitally signed data
Miyaji et al. Privacy-preserving integration of medical data: a practical multiparty private set intersection
JP5506704B2 (en) Decryption system, key device, decryption method, and program
US11764943B2 (en) Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology
US20140233731A1 (en) Device and Method for Generating Keys with Enhanced Security for Fully Homomorphic Encryption Algorithm
CN115804059A (en) Generating secret shares
Chen et al. Secure cloud storage hits distributed string equality checking: More efficient, conceptually simpler, and provably secure
WO2014030706A1 (en) Encrypted database system, client device and server, method and program for adding encrypted data
TW202318833A (en) Threshold signature scheme
JP5227201B2 (en) Bit commitment system, bit commitment method, bit commitment transmission device, bit commitment reception device, bit commitment transmission method, bit commitment reception method, bit commitment program
Fugkeaw et al. Secure and Lightweight Blockchain-enabled Access Control for Fog-Assisted IoT Cloud based Electronic Medical Records Sharing
JP5964460B2 (en) Data encryption storage system
US20220345312A1 (en) Zero-knowledge contingent payments protocol for granting access to encrypted assets
Rehman et al. Securing cloud storage by remote data integrity check with secured key generation
JP4528114B2 (en) Key generation device, encryption device, inspection device, decryption device, key generation program, encryption program, inspection program, decryption program
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
Youn et al. Design of additive homomorphic encryption with multiple message spaces for secure and practical storage services over encrypted data
JP5142361B2 (en) Validity verification device
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
JP3484069B2 (en) Secret information authentication method, joint polynomial authentication method, and recording medium recording the authentication program
WO2011033642A1 (en) Signature generation device and signature verification device
EP3764588A1 (en) Zero-knowledge contingent payments protocol for granting access to encrypted assets

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130315

R150 Certificate of patent or registration of utility model

Ref document number: 5227201

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3

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