JP2010164876A - ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム - Google Patents
ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム Download PDFInfo
- Publication number
- JP2010164876A JP2010164876A JP2009008482A JP2009008482A JP2010164876A JP 2010164876 A JP2010164876 A JP 2010164876A JP 2009008482 A JP2009008482 A JP 2009008482A JP 2009008482 A JP2009008482 A JP 2009008482A JP 2010164876 A JP2010164876 A JP 2010164876A
- 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.)
- Granted
Links
Images
Abstract
【解決手段】本発明のビットコミットメントシステムは、情報mを送信する送信装置と受信装置と公開装置からなる。公開装置は、ABO−TDFの関数インデックスsを含む共通参照情報crsを公開し、送信装置は、検証鍵vkを損失枝として、関数インデックスs及び乱数raから、ABO−TDFを用いて、c0を求め、乱数rbを用いて、c0のランダム化を行い、c1を生成し、乱数ra及び情報mからc2を求め、c1及びc2から、署名鍵skを用いて、署名σを生成する署名生成部と、c1、c2及びσを含むコミットメントcomを生成するコミットメント生成部とを備え、受信装置は、共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証するコミットメント検証部とを備える。
【選択図】図1
Description
r(λ)=n(λ)−k(λ)
と定義する。また、ABO−TDFは枝を持ち、B={Bλ}λ∈Nは、セキュリティパラメータをλとした場合の枝の集合を表す。ABO−TDFは、一方向性関数アルゴリズムGabo、関数インデックス及び落とし戸を生成する関数インデックス生成アルゴリズムSabo、及び、逆関数アルゴリズムG−1 aboからなり、以下のような性質を有する。
(1)任意の損失枝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)である。
図1はビットコミットメントシステム1の構成例を、図2はビットコミットメントシステム1のフロー例を示す。図1及び2を用いて実施例1に係るビットコミットメントシステムの概要を説明する。ビットコミットメントシステム1は、1ビット以上の情報mをコミットする送信装置100とコミットメントを検証する受信装置200と信用できる第三者が管理する公開装置300からなる。本実施例では、ABO−TDFを実現するために、DDH(decisional Diffie-Hellman)問題を利用する。
図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)。以下、各部の詳細を説明する。
公開装置300は、通信部301を介して、送信装置100及び受信装置200と通信する。以下、特に記述しなくとも、送信装置100及び受信装置200と通信する際には、通信部301を介して行われるものとする。同様に、各装置(送信装置100及び受信装置200)は、各通信部101及び201を介して他の装置と通信する。各通信部101、201及び301は、例えば、LANアダプタ等により構成され、LANやインターネット等からなる通信回線と接続される。但し、必ずしも通信部を有さずともよく、例えば、キーボード等の入力装置から共通参照情報crs等を入力してもよいし、また、USBメモリ等の可搬媒体に共通参照情報crs等を記憶し、それを入力してもよい。
記憶部303は、crs等を記憶する(s303)。また、落とし戸情報zjを秘密に記憶する。なお、特に示さない限り、入出力される各データや演算過程の各データは、逐一、記憶部303に格納・読み出され、各演算処理が進められる。但し、必ずしも記憶部303に記憶しなければならないわけではなく、各部間で直接データを受け渡してもよい。なお、各装置(送信装置100及び受信装置200)における記憶部103、203も同様である。
制御部305は、各処理を制御する。同様に、各装置(送信装置100及び受信装置200)において、各制御部105及び205は、各処理を制御する。
乱数生成部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が公開パラメータとして、公開し、他の装置が受信する構成としてもよい。
共通参照情報生成部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はこれを記憶する。
s=(ci,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を生成する。
図5は送信装置100の構成例を、図6は送信装置のフロー例を示す。送信装置100(ビットコミットメント送信装置100と呼んでもよい)は、通信部101、記憶部103、制御部105、乱数生成部110、鍵生成部120、署名生成部130、コミットメント生成部150及び開封情報生成部160とを有する。
乱数生成部110は、乱数ra及びrbを生成する(s110)。但し、乱数ra,rb∈Zpである。
鍵生成部120は、鍵生成アルゴリズムGenを用いて、署名鍵sk及び検証鍵vkを生成する(s120)。例えば、乱数生成部110において、乱数r3を生成し、セキュリティパラメータと乱数r3を入力として、鍵生成アルゴリズムを用いて署名鍵sk及び検証鍵vkを生成する。鍵生成アルゴリズムが実行される度に異なる乱数が選ばれるので、情報mが入力される毎に異なる公開鍵・秘密鍵ペアが割り振られることになる。但し、安全性が低くなるが、同一の公開鍵・秘密鍵ペアを用いてもよい。
署名生成部130は、乱数生成部110から乱数ra及びrbを、鍵生成部120から署名鍵sk及び検証鍵vkを、公開装置100から共通参照情報crsを、入力部等から情報mを入力される。但し、一旦、記憶部103に記憶された情報を入力されてもよい。署名生成部130は、これらの情報から情報c1及びc2を生成し、さらに、c1及びc2から署名σを生成する。生成したc1、c2、σをコミットメント生成部150へ出力する。
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)となる。
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を意味する。
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)を生成する。
σ=Signsk(c1,c2)
なお、c1、c2は何れを先に生成してもよいし、並行処理してもよい。
コミットメント生成部150は、c1、c2、σ及びvkを含むコミットメントcomを生成する(s150)。署名生成部130からc1、c2、σを、鍵生成部120からvkを入力され、comを出力する。
com=(c1,c2,vk,σ)
開封情報生成部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を有する。
署名検証部230は、コミットメントcomに含まれる検証鍵vk及び検証アルゴリズムVrfyを用いて、署名σの正当性を検証する(s230)。署名検証部230は、コミットメントを入力され、検証結果を出力する。
Vrfyvk(σ,c1,c2)
署名が検証を通過しなかった場合には、例えば、エラーを出力する(s231)。再度、コミットメントcomを送信装置100に要求する構成としてもよい。
コミットメント検証部250は、共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証する(s250)。共通参照情報crs及び開封情報Mを入力され、コミットメントcomの検証結果を出力する。コミットメントが検証を通過しなかった場合には、例えば、エラーを出力する(s251)。コミットメント検証部250は、署名σが検証を通過し、かつ、公開装置300から共通参照情報crsを受信し、かつ、開封情報Mを受信した場合に、コミットメントを検証することができる。
ra(s★vk・I)☆rb
を計算し、得られる値がコミットメントcomに含まれるc1と同一であるか検証する。
図10は、本実施例における送信装置100のハードウェア構成を例示したブロック図である。受信装置200及び公開装置300も同様の構成を有する。
上述のように、プログラム領域14a,16aには、本実施例の送信装置100、受信装置200、公開装置300の各処理を実行するための各プログラムが格納される。送信プログラム、受信プログラム及び公開プログラムを構成する各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。また、各プログラムが単体でそれぞれの機能を実現してもよいし、各プログラムがさらに他のライブラリを読み出して各機能を実現するものでもよい。
CPU11(図10)は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置14のプログラム領域14aに格納されている上述のプログラムをRAM16のプログラム領域16aに書き込む。同様にCPU11は、補助記憶装置14のデータ領域14bに格納されている各種データを、RAM16のデータ領域16bに書き込む。そして、このプログラムやデータが書き込まれたRAM16上のアドレスがCPU11のレジスタ11cに格納される。CPU11の制御部11aは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。
ビットコミットメントシステム1000は、1ビット以上の情報mをコミットする送信装置1100とコミットメントを検証する受信装置1200と信用できる第三者が管理する公開装置1300からなる。本実施例では、ABO−TDFを実現するために、DCR(decisional composite residuosity)問題を利用する。
公開装置1300は、信頼できる第三者等が管理し、通信部301、記憶部303、制御部305、乱数生成部1310、共通参照情報1320を有する。
乱数生成部1310は、乱数r∈Z* Nを生成し、共通参照情報生成部1320へ出力する。Nについては、後述する。
共通参照情報生成部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は秘密に管理する。
送信装置1100は、通信部101、記憶部103、制御部105、乱数生成部1110、鍵生成部120、署名生成部1130、コミットメント生成部150及び開封情報生成部160とを有する。
乱数生成部1110は、乱数ra及びrbを生成する。但し、rb∈Z* Nとする。
まず、共通参照情報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)となる。
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と同様である。
受信装置1200は、通信部201、記憶部203、制御部205、署名検証部230及びコミットメント検証部1250を有する。
コミットメント検証部1250は、共通参照情報crs及び開封情報Mを用いてコミットメントcomを検証する。共通参照情報crs及び開封情報Mを入力され、コミットメントcomの検証結果を出力する。コミットメントが検証を通過しなかった場合には、例えば、エラーを出力する。コミットメント検証部250は、署名σが検証を通過し、かつ、公開装置300から共通参照情報crsを受信し、かつ、開封情報Mを受信した場合に、コミットメントを検証することができる。
(s◆vk)ra◇rb
を計算し、得られる値がコミットメントcomに含まれるc1と同一であるか検証する。
100 送信装置
200 受信装置
300 公開装置
101、201、301 通信部
103、203、303 記憶部
105、205、305 制御部
110、310 乱数生成部
120 鍵生成部
130 署名生成部
150 コミットメント生成部
160 開封情報生成部
230 署名検証部
250 コミットメント検証部
320 共通参照情報生成部
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を検証するコミットメント検証部とを備える、
ことを特徴とするビットコミットメントシステム。 - 請求項1記載のビットコミットメントシステムであって、
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の値が同一か検証を行うこと、
を特徴とするビットコミットメントシステム。 - 請求項1記載のビットコミットメントシステムであって、
前記公開装置は、
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の値が同一か検証を行うこと、
を特徴とするビットコミットメントシステム。 - 検証鍵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を生成する開封情報生成部と、
を有するビットコミットメント送信装置。 - 請求項4記載のビットコミットメント送信装置であって、
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として、生成すること、
を特徴とするビットコミットメント送信装置。 - 請求項4記載のビットコミットメント送信装置であって、
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として生成すること、
を特徴とするビットコミットメント送信装置。 - 検証鍵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を検証するコミットメント検証部とを備える、
ことを特徴とするビットコミットメント受信装置。 - 請求項7記載のビットコミットメント受信装置であって、
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の値が同一か検証を行うこと、
を特徴とするビットコミットメント受信装置。 - 請求項7記載のビットコミットメント受信装置であって、
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の値が同一か検証を行うこと、
を特徴とするビットコミットメント受信装置。 - 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を検証するコミットメント検証ステップとを備える、
ことを特徴とするビットコミットメント方法。 - 検証鍵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を生成する開封情報生成ステップと、
を有するビットコミットメント送信方法。 - 検証鍵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を検証するコミットメント検証ステップとを備える、
ことを特徴とするビットコミットメント受信方法。 - 請求項4から9記載の何れかのビットコミットメント送信装置、または、ビットコミットメント受信装置として、コンピュータを機能させるためのビットコミットメントプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009008482A JP5227201B2 (ja) | 2009-01-19 | 2009-01-19 | ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009008482A JP5227201B2 (ja) | 2009-01-19 | 2009-01-19 | ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010164876A true JP2010164876A (ja) | 2010-07-29 |
JP5227201B2 JP5227201B2 (ja) | 2013-07-03 |
Family
ID=42581065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009008482A Expired - Fee Related JP5227201B2 (ja) | 2009-01-19 | 2009-01-19 | ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5227201B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011145591A (ja) * | 2010-01-18 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | コミットメントシステム、マスター装置、送信装置、受信装置、コミットメント方法、プログラム、記録媒体 |
JP2013243421A (ja) * | 2012-05-17 | 2013-12-05 | Nippon Telegr & Teleph Corp <Ntt> | コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法 |
JP2014150494A (ja) * | 2013-02-04 | 2014-08-21 | Nippon Telegr & Teleph Corp <Ntt> | コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、およびプログラム |
-
2009
- 2009-01-19 JP JP2009008482A patent/JP5227201B2/ja not_active Expired - Fee Related
Non-Patent Citations (4)
Title |
---|
JPN6013009503; Nishimaki, R., et al.: 'Efficient Non-Interactive Universally Composable Commitment Schemes' 2009年 暗号と情報セキュリティシンポジウム (SCIS2009) 予稿集CD-ROM , 20090120, 1B1-3 * |
JPN6013009504; Damgard, I. and Groth,: 'Non-interactive and Reusable Non-malleable Commitment Schems' Cryptology ePrint Archive , 20030616, Report 2003/080 * |
JPN6013009505; Peikert, C. and Waters, B.: 'Lossy Trapdoor Functions and Their Applications' Cryptology ePrint Archive , 20080315, Report 2007/279 * |
JPN6013009506; Rosen, A. and Segev, G.: 'Efficient Lossy Trapdoor Functions based on the Composite Residuosity Assumption' Cryptology ePrint Archive , 20080326, Report 2008/134 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011145591A (ja) * | 2010-01-18 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | コミットメントシステム、マスター装置、送信装置、受信装置、コミットメント方法、プログラム、記録媒体 |
JP2013243421A (ja) * | 2012-05-17 | 2013-12-05 | Nippon Telegr & Teleph Corp <Ntt> | コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法 |
JP2014150494A (ja) * | 2013-02-04 | 2014-08-21 | Nippon Telegr & Teleph Corp <Ntt> | コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5227201B2 (ja) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10277395B2 (en) | Cryptographic key-generation with application to data deduplication | |
JP6016948B2 (ja) | 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム | |
US11838426B2 (en) | Computer implemented method and system for obtaining digitally signed data | |
Miyaji et al. | Privacy-preserving integration of medical data: a practical multiparty private set intersection | |
US11979492B2 (en) | Computer-implemented system and method for distributing shares of digitally signed data | |
JP5506704B2 (ja) | 復号システム、鍵装置、復号方法、及びプログラム | |
JP6040320B2 (ja) | 秘密並列処理装置、秘密並列処理方法、プログラム | |
US11764943B2 (en) | Methods and systems for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger/blockchain technology | |
EP2201718A2 (en) | An efficient certified email protocol | |
US20140233731A1 (en) | Device and Method for Generating Keys with Enhanced Security for Fully Homomorphic Encryption Algorithm | |
CN111865555B (zh) | 一种基于k-Lin假设的同态加密方法 | |
Chen et al. | Secure cloud storage hits distributed string equality checking: More efficient, conceptually simpler, and provably secure | |
WO2014030706A1 (ja) | 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム | |
TW202318833A (zh) | 臨界簽章方案 | |
JP5227201B2 (ja) | ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム | |
JP5964460B2 (ja) | データの暗号化記憶システム | |
US20220345312A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
JP4528114B2 (ja) | 鍵生成装置、暗号化装置、検査装置、復号化装置並びに鍵生成プログラム、暗号化プログラム、検査プログラム、復号化プログラム | |
JP5314449B2 (ja) | 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム | |
Chen et al. | Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains | |
JP5142361B2 (ja) | 正当性検証装置 | |
WO2011033642A1 (ja) | 署名生成装置及び署名検証装置 | |
EP3764588A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
JPH1155244A (ja) | 鍵回復方法および装置 | |
CN116599662A (zh) | 针对弱口令的审计方法及装置 |
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 |