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 PDFInfo
- 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
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
しかしながら、従来技術は非対話方式であるが、複数ビットコミットメント方式でないか、複数ビットコミットメント方式であるが、非対話方式でないものしか存在しなかった。非対話方式、かつ、複数ビットコミットメント方式のビットコミットメントシステム、ビットコミットメント方法及びそのための装置の提供という課題がある。 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 "
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 λ
(2)任意の単射枝Ib∈Bλに対し(但し、Ib≠Lb)、Gabo(s,Ib,・)は定義域{0,1}n上で、全射関数gs,Ib(・)を計算する。G−1 abo(z,Ib,・)は逆関数g−1 s,Ib(・)を計算する。Gabo(s,Lb,・)は定義域{0,1}n上で、全射関数gs,Lb(・)を計算する。但し、その値域の大きさは2r=2n−kである。
(3)任意のLb0、Lb1∈Bλに対し、s0とs1は多項式時間アルゴリズムでは識別不可能である。但し、(s0,t0)←Sabo(1λ,Lb0)かつ、(s1,t1)←Sabo(1λ,Lb1)である。
(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
(1)任意のm∈Μに対し、Encpk(m)∈Cである。
(2)任意のm1,m2∈Μとc1,c2∈C、かつ、m1=Decsk(c1)かつm2=Decsk(c2)に対し、次が成立する。
Decsk(c1▲c2)=m1◎m2
但し、群演算はそれぞれΜとCで実行される。
(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.
以下、本発明の実施の形態について、詳細に説明する。 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
まず、送信装置100は、公開装置300に共通参照情報crsを要求する(s10)。
First, the
公開装置300は、要求に応じて、crsを生成し、送信装置100へ送信する(s12)。
The
送信装置100は、鍵生成アルゴリズムGenを用いて、署名鍵sk及び検証鍵vkを生成する。(s14)。送信装置100は、共通参照情報crs及び署名アルゴリズムSignを用いて、情報mに基づき生成される情報に対する署名σを生成する。さらに、署名σ及び検証鍵vkを含むコミットメントcomを生成し、受信装置200へ送信する(s18)。
The
コミットメントを受信した受信装置200は、共通参照情報crsを公開装置300へ要求する(s20)。公開装置300は、要求に応え、crsを受信装置へ送信する(s22)。受信装置200は、検証アルゴリズムVrfy及び検証鍵vkを用いて、署名σの正当性を検証する(s24)。
The receiving
送信装置100は、情報mを受信装置200へ送信する(s26)。
The
受信装置200は、情報m、コミットメントcom及び共通参照情報crsを用いて、コミットメントcomを受信してから情報mを受信するまでに、情報mが改竄等されていないことを検証する(s28)。
Using the information m, the commitment com, and the common reference information crs, the receiving
なお、本実施例は発明の内容を限定するものではない。例えば、共通参照情報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
[公開装置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
<通信部301>
公開装置300は、通信部301を介して、送信装置100及び受信装置200と通信する。以下、特に記述しなくとも、送信装置100及び受信装置200と通信する際には、通信部301を介して行われるものとする。同様に、各装置(送信装置100及び受信装置200)は、各通信部101及び201を介して他の装置と通信する。各通信部101、201及び301は、例えば、LANアダプタ等により構成され、LANやインターネット等からなる通信回線と接続される。但し、必ずしも通信部を有さずともよく、例えば、キーボード等の入力装置から共通参照情報crs等を入力してもよいし、また、USBメモリ等の可搬媒体に共通参照情報crs等を記憶し、それを入力してもよい。
<
The
<記憶部303>
記憶部303は、crs等を記憶する(s303)。また、落とし戸情報zjを秘密に記憶する。なお、特に示さない限り、入出力される各データや演算過程の各データは、逐一、記憶部303に格納・読み出され、各演算処理が進められる。但し、必ずしも記憶部303に記憶しなければならないわけではなく、各部間で直接データを受け渡してもよい。なお、各装置(送信装置100及び受信装置200)における記憶部103、203も同様である。
<
The
<制御部305>
制御部305は、各処理を制御する。同様に、各装置(送信装置100及び受信装置200)において、各制御部105及び205は、各処理を制御する。
<
The
<乱数生成部310>
乱数生成部310は、乱数r=(r1,…,rn)を生成する(s310)。但し、pを素数とし、位数pの巡回群をG、Gの生成元をg、各riは乱数であり、i∈[n]、[n]={1,2,…,n}、r∈Zpとする。なお、Zp={0,…,p−1}である。乱数生成部310は、乱数rを共通参照情報生成部320へ出力する。但し、必ずしも乱数生成部310を有さずともよく、例えば、キーボード等の入力装置から乱数rを入力してもよいし、また、USBメモリ等の可搬媒体に乱数rを記憶し、それを入力してもよい。後述する送信装置100の乱数生成部110も同様である。なお、本実施例において、p,G,gは、予め各装置において共有しているが、公開装置300が公開パラメータとして、公開し、他の装置が受信する構成としてもよい。
<
The
<共通参照情報生成部320>
共通参照情報生成部320は、ABO−TDFの関数インデックスsを含む共通参照情報crsを生成する(s320)。例えば、h()を対独立ハッシュ関数、tj=g^zjとし、crsを(s,h(),tj)とする。但し、a^bはabを意味し、落とし戸情報をzj∈Zpとする。なお、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
The common reference
Pr [h (x) = y ^ h (x ') = y'] = 1 / | R | 2
The generated common reference information crs is output to the
関数インデックスsは、損失枝Lbとして、以下の行列として表される。
s=(ci,j)
The function index s is represented as the following matrix as the loss branch Lb.
s = (c i, j )
とする。なお、Enctjにおけるtjはtjを意味する。ここで、Encは以下の処理を行う。
Enct(a,r)=(gr,trga)
よって、
ci,j=(gri,tj rigLb)
である。本実施例では、説明を簡単にするため、Lb=0として計算する。よって、
ci,j=(gri,tj ri)
となる。つまり、式(1)より、共通参照情報生成部は、損失枝を0とし、セキュリティパラメータをλとして、乱数rを用いて、関数インデックスs及び落とし戸zjを生成する。
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 λ.
[送信装置100]
図5は送信装置100の構成例を、図6は送信装置のフロー例を示す。送信装置100(ビットコミットメント送信装置100と呼んでもよい)は、通信部101、記憶部103、制御部105、乱数生成部110、鍵生成部120、署名生成部130、コミットメント生成部150及び開封情報生成部160とを有する。
[Transmitter 100]
FIG. 5 shows a configuration example of the
送信装置100は、制御部105の制御の下、キーボード等の入力部等から1ビット以上の情報mが入力されると(s100)、情報mをコミットするために、通信部101を介して、公開装置300に共通参照情報crsを要求し、公開装置300から共通参照情報crsを受信する(s101a)。但し、m∈Zpとする。また、送信装置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
記憶部103は、公開装置から受け取った共通参照情報crs等を記憶し、送信する情報mや生成した署名鍵sk、検証鍵vk、乱数ra、rb、署名σ、コミットメントcom及び開封情報M等を記憶してもよい。
The
<乱数生成部110>
乱数生成部110は、乱数ra及びrbを生成する(s110)。但し、乱数ra,rb∈Zpである。
<
The random
<鍵生成部120>
鍵生成部120は、鍵生成アルゴリズムGenを用いて、署名鍵sk及び検証鍵vkを生成する(s120)。例えば、乱数生成部110において、乱数r3を生成し、セキュリティパラメータと乱数r3を入力として、鍵生成アルゴリズムを用いて署名鍵sk及び検証鍵vkを生成する。鍵生成アルゴリズムが実行される度に異なる乱数が選ばれるので、情報mが入力される毎に異なる公開鍵・秘密鍵ペアが割り振られることになる。但し、安全性が低くなるが、同一の公開鍵・秘密鍵ペアを用いてもよい。
<
The
<署名生成部130>
署名生成部130は、乱数生成部110から乱数ra及びrbを、鍵生成部120から署名鍵sk及び検証鍵vkを、公開装置100から共通参照情報crsを、入力部等から情報mを入力される。但し、一旦、記憶部103に記憶された情報を入力されてもよい。署名生成部130は、これらの情報から情報c1及びc2を生成し、さらに、c1及びc2から署名σを生成する。生成したc1、c2、σをコミットメント生成部150へ出力する。
<
The
図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=(ra1,ra2,…,ran),raj∈{0,1}、y=y1,…,ynであり、Iは単位行列、つまり、対角成分のみ1で残りは全て0の行列である。また、演算子★は、暗号アルゴリズムEncが、c=(c1,c2)=Enct(m;r)=(gr,trgm)のとき(gは生成元、t=g^zjであり、zjは落とし戸情報である)、
c★v=(c1,c2・gv)=Enct(m;r)■Enct(v;0)=Enct(m+v;r)
と定義される。なお、演算子■は成分ごとの乗算を表す。また、Enct(m;r)=(gr,trgm)より、Enct(m1;r1)■Enct(m2;r2)=(gr1,tr1gm1)・(gr2,tr2gm2)=(gr1+r2,tr1+r2gm1+m2)=Enct(m1+m2;r1+r2)となり、x∈ZpのときEnct(m;r)x=(grx,trxgmx)=Enct(mx;rx)となる。
FIG. 7 is a diagram illustrating a flow example of the
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 =
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の各要素yjは以下のように定義することもできる。
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)^ra2■…■(cn,j★vk・δn,j)^ran
を意味し、i=jならδi,j=1、i≠jならδi,j=0であり、Enchjにおけるhjは、hjを意味する。
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’j=Enchj((vk−0)raj;<ra,r>+rbj) (2)
を得て、c1=y’=(y’1,…,y’n)を生成する。
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).
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,σ)
<
The
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
The unsealing
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
受信装置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
<署名検証部230>
署名検証部230は、コミットメントcomに含まれる検証鍵vk及び検証アルゴリズムVrfyを用いて、署名σの正当性を検証する(s230)。署名検証部230は、コミットメントを入力され、検証結果を出力する。
Vrfyvk(σ,c1,c2)
署名が検証を通過しなかった場合には、例えば、エラーを出力する(s231)。再度、コミットメントcomを送信装置100に要求する構成としてもよい。
<
The
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
<コミットメント検証部250>
コミットメント検証部250は、共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証する(s250)。共通参照情報crs及び開封情報Mを入力され、コミットメントcomの検証結果を出力する。コミットメントが検証を通過しなかった場合には、例えば、エラーを出力する(s251)。コミットメント検証部250は、署名σが検証を通過し、かつ、公開装置300から共通参照情報crsを受信し、かつ、開封情報Mを受信した場合に、コミットメントを検証することができる。
<
The
共通参照情報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
このような構成とすることで、非対話方式、かつ、複数ビットコミットメント方式のビットコミットメントシステムを提供することができる。また、電子署名方式が選択文書攻撃に対し強存在的偽造不可かつ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
図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
この例の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
なお、このようなハードウェアの具体例としては、例えば、パーソナルコンピュータの他、サーバ装置やワークステーション等を例示できる。 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
<ハードウェアとプログラムとの協働>
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
図3、5、8は、このようにCPU11に上述のプログラムが読み込まれて実行されることにより構成される公開装置300、送信装置100、受信装置200の機能構成を例示したブロック図である。
3, 5, and 8 are block diagrams exemplifying functional configurations of the
ここで、記憶部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
また、本形態の送信装置100、受信装置200及び公開装置300は、各制御部105、205及び305の制御のもと各処理を実行する。
In addition, the
実施例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
<乱数生成部1310>
乱数生成部1310は、乱数r∈Z* Nを生成し、共通参照情報生成部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* Nを用いて、関数インデックスs=(1+N)−Lbr^Nfを生成する。実施例1と同様の理由により、Lb=0とすると、s=r^Nfとなる。また、p,qを用いて、落とし戸情報τ=lcm(p−1,q−1)を生成する。さらに、関数インデックスs、N及びfを含む共通参照情報crsを生成する。なお、このようなNに対して、乗法群Z* N^f+1は直積G×Hである。但し、Gは位数Nfの巡回群、HはZ* Nと同型である。なお、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
<乱数生成部110>
乱数生成部1110は、乱数ra及びrbを生成する。但し、rb∈Z* Nとする。
<
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=EncN(m;r)=(1+N)mr^Nf mod Nf+1
のとき
c◆v=c・(1+N)v=EncN(m;r)・EncN(v;1)=EncN(m+v,r)
と定義される。よって、
y=(s◆vk)ra=EncN(vk・ra;r)
と表される。なお、EncN(m;r)=(1+N)mr^Nfmod Nf+1より、EncN(m1;r1)・EncN(m2;r2)=EncN(m1+m2;r1・r2)となり、EncN(m;r)x=EncN(mx;rx)となる。
<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=EncN((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
[受信装置1200]
受信装置1200は、通信部201、記憶部203、制御部205、署名検証部230及びコミットメント検証部1250を有する。
[Receiving device 1200]
The receiving apparatus 1200 includes a
<コミットメント検証部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
共通参照情報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
このような構成とすることで、実施例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
Claims (13)
前記公開装置は、
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.
pを素数とし、位数pの巡回群をG、Gの生成元をg、i,j∈[n]、[n]={1,2,…,n}、r=(r1,…ri…,rn)、r∈Zpは乱数、ra∈Zp、ra=(ra1,…,ran)、raj∈{0,1}、rb=(rb1,…,rbn)、rb∈Zpは乱数、Iは単位行列とし、
前記公開装置は、
tj=g^zjであり、Lbを損失枝として、ci,j=(gri,tj rigLb)とし、関数インデックスsを行列(ci,j)として生成し、ABO−TDFの落とし戸情報zj∈Zpを生成し、ABO−TDFの関数インデックスs及tびを含む共通参照情報crsを生成、公開し、
前記送信装置の署名生成部は、
c=(c1,c2)=(gr,trgm)のとき、演算子★を、c★v=(c1,c2・gv)と定義し、演算子☆を、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
前記公開装置は、
N=pq、gcd(N,φ(N))=1を満たす奇素数p,qを選択し、1以上の整数fを選択し、乱数r∈Z* Nを生成し、ABO−TDFの損失枝をLbとし、関数インデックスs=(1+N)−Lbr^Nf及び落とし戸情報τ=lcm(p−1,q−1)を生成し、関数インデックスs、N及びfを含む共通参照情報crsを生成、公開し、
前記送信装置の署名生成部は、
c=(1+N)mr^Nfのとき、演算子◆をc◆v=c・(1+N)vと定義し、演算子◇をc◇rb=c・rb^Nfと定義して、前記c0=(s◆vk)raとして生成し、前記乱数rb∈Z* Nを用いて、前記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
前記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.
pを素数とし、位数pの巡回群をG、Gの生成元をg、i,j∈[n]、[n]={1,2,…,n}、r=(r1,…ri…,rn)、r∈Zpは乱数、ra∈Zp、ra=(ra1,…,ran)、raj∈{0,1}、rb=(rb1,…,rbn)、rb∈Zpは乱数、Iは単位行列とし、
署名生成部は、c=(c1,c2)=(gr,trgm)のとき、演算子★を、c★v=(c1,c2・gv)と定義し、演算子☆を、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.
p,qを奇素数、N=pq、gcd(N,φ(N))=1、乱数r∈Z* Nとし、
前記署名生成部は、
c=(1+N)mr^Nfのとき、演算子◆をc◆v=c・(1+N)vと定義し、演算子◇をc◇rb=c・rb^Nfと定義して、前記c0=(s◆vk)raとして生成し、前記乱数rb∈Z* Nを用いて、前記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.
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.
pを素数、位数pの巡回群をG、Gの生成元をg、i,j∈[n]、[n]={1,2,…,n}、r=(r1,…ri…,rn)、r∈Zpは乱数、ra∈Zp、ra=(ra1,…,ran)、raj∈{0,1}、rb=(rb1,…,rbn)、rb∈Zpは乱数、Iは単位行列、tj=g^zj、Lbを損失枝、ci,j=(gri,tj rigLb)、関数インデックスsを行列(ci,j)とし、c=(c1,c2)=(gr,trgm)のとき、演算子★を、c★v=(c1,c2・gv)と定義し、演算子☆を、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.
p,qは奇素数、N=pq、gcd(N,φ(N))=1を満たし、c=(1+N)mr^Nfのとき、演算子◆をc◆v=c・(1+N)vと定義し、演算子◇をc◇rb=c・rb^Nfと定義して、rb∈Z* N、前記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.
前記公開装置が、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.
乱数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.
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.
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)
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 |
-
2009
- 2009-01-19 JP JP2009008482A patent/JP5227201B2/en not_active Expired - Fee Related
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 |