JP5337076B2 - 秘密計算システム、秘密計算方法、不正使用防止方法 - Google Patents

秘密計算システム、秘密計算方法、不正使用防止方法 Download PDF

Info

Publication number
JP5337076B2
JP5337076B2 JP2010038663A JP2010038663A JP5337076B2 JP 5337076 B2 JP5337076 B2 JP 5337076B2 JP 2010038663 A JP2010038663 A JP 2010038663A JP 2010038663 A JP2010038663 A JP 2010038663A JP 5337076 B2 JP5337076 B2 JP 5337076B2
Authority
JP
Japan
Prior art keywords
data
unit
secret
ciphertext
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010038663A
Other languages
English (en)
Other versions
JP2011175072A (ja
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 JP2010038663A priority Critical patent/JP5337076B2/ja
Publication of JP2011175072A publication Critical patent/JP2011175072A/ja
Application granted granted Critical
Publication of JP5337076B2 publication Critical patent/JP5337076B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は情報漏洩を防止するための秘密計算システム、秘密計算方法、および情報の不正利用防止方法に関する。
情報漏洩を防ぐ方法として、データ保管時の暗号化や秘密分散といった手法が従来技術として知られている。また、秘密計算の方法として、非特許文献1の方法などがある。
Koji Chida and Katsumi Takahashi: Privacy Preserving Computations without Public Key Cryptographic Operation, Proc. of IWSEC 2008, pp.184-200.
しかしながら、保管データを利用する際は通常データを復元するため、情報漏洩のリスクが高まる。本発明の目的は、利用時の情報漏洩のリスクを抑えたセキュリティーシステムを提供することである。
本発明の第1の秘密計算システムは、M個のデータ提供装置、データ利用装置、秘密計算装置からなり、データd(ただし、dはNビット以下)を利用方法Eに対応する論理回路Cに入力したときの出力C(d)(ただし、C(d)はQビット以下)を求める秘密計算システムである。まず、Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとする。m番目のデータ提供装置は、データ提供記録部、データ提供鍵取得部、データ提供乱数生成部、データ提供第1暗号化部、データ提供第2暗号化部、データ提供送信部を備える。データ利用装置は、データ利用鍵生成部、データ利用受信部、データ利用記録部、データ利用送信部、データ利用復号部、データ利用実行部を備える。秘密計算装置は、秘密計算鍵生成部、秘密計算受信部、秘密計算復号部、論理回路生成部、garbled circuit生成部、秘密計算送信部を備える。
データ提供記録部は、Nビット以下のデータdを記録する。データ提供鍵取得部は、データ利用装置の公開鍵pkと秘密計算装置の公開鍵pkを取得する。データ提供乱数生成部は、2N個の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を生成する。データ提供第1暗号化部は、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を、公開鍵pkを用いて暗号化し、暗号文CA,mとする。データ提供第2暗号化部は、rm,1,dm[1],…,rm,N,dm[N]を、データ利用装置の公開鍵で暗号化し、暗号文CB,mとする。データ提供送信部は、暗号文CA,mと暗号文CB,mを、データ利用装置に送信する。データ利用鍵生成部は、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する。データ利用受信部は、暗号文CA,mと暗号文CB,m、およびgarbled circuit GCを受信する。データ利用記録部は、暗号文CA,mと暗号文CB,mを記録する。データ利用送信部は、データdの利用方法Eと暗号文CA,mとを秘密計算装置に送信する。なお、利用方法Eは1つのデータdの利用方法でなく、複数のデータの利用方法でもよい。この場合は、利用送信部は、複数のデータの利用方法Eと利用対象のデータに対応する複数の暗号文CA,mとを秘密計算装置に送信する。“データdの利用方法E”とは、複数のデータの利用方法も含んでおり、“暗号文CA,mとを秘密計算装置に送信する”とは、1つ以上の暗号文CA,mを秘密計算装置に送信する意味である。データ利用復号部は、秘密鍵skを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得る。なお、複数のデータを利用する場合は、複数の暗号文CB,mを復号する。データ利用実行部はrm,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求める。なお、複数のデータを利用するときは、データの数に応じた乱数とgarbled circuit GCを用いてC(dm1,…,dmx)を求める。ただし、xはデータの数とする。秘密計算鍵生成部は、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する。秘密計算受信部は、利用方法Eと暗号文CA,mとを受信する。なお、利用方法Eとは、データdを用いて行う演算などの処理を意味する。秘密計算復号部は、秘密鍵skを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を得る。なお、複数の暗号文CA,mを復号したときには、乱数の数が2Nの複数倍となる。利用するデータが複数ある場合には、乱数の数は利用するデータの数に応じて決めればよい。つまり、秘密計算復号部は、少なくとも1つの暗号文CA,mを復号し、少なくとも乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を得る。論理回路生成部は、利用方法Eの論理回路Cを生成する。garbled circuit生成部は、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成する。なお、複数のデータを利用するときは、データの数に応じた乱数を用いて、garbled circuit GCを生成する。つまり、garbled circuit生成部は、少なくとも乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、garbled circuit GCを生成する。秘密計算送信部は、garbled circuit GCをデータ利用装置に送信する。
本発明の第2の秘密計算システムは、データ利用装置と秘密計算装置からなり、データd(ただし、dはNビット以下)を利用方法Eに対応する論理回路Cに入力したときの出力C(d)(ただし、C(d)はQビット以下)を求める秘密計算システムである。まず、Nを1以上の整数、nを1以上N以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとする。データ利用装置は、データ提供記録部、データ提供鍵取得部、データ提供乱数生成部、インデックス作成部、データ提供第1暗号化部、データ提供送信部、データ利用記録部、情報破棄部、データ利用送信部、データ利用受信部、データ利用実行部を備える。秘密計算装置は、秘密計算鍵生成部、秘密計算受信部、秘密計算復号部、秘密計算記録部、論理回路生成部、garbled circuit生成部、秘密計算送信部を備える。
データ提供記録部は、Nビット以下のデータdを記録する。データ提供鍵取得部は、秘密計算装置の公開鍵pkを取得する。データ提供乱数生成部は、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成する。インデックス作成部は、データdを示すインデックスmを作成する。データ提供第1暗号化部は、乱数(r1,0,r1,1),…,(rN,0,rN,1)を、公開鍵pkを用いて暗号化し、暗号文Cとする。データ提供送信部は、暗号文Cとインデックスmを秘密計算装置に送信する。データ利用記録部は、インデックスmとr1,d[1],…,rN,d[N]を記録する。情報破棄部は、データdと乱数(r1,0,r1,1),…,(rN,0,rN,1)を破棄する。データ利用送信部は、データdの利用方法Eとインデックスmとを秘密計算装置に送信する。データ利用受信部は、garbled circuit GCを受信する。データ利用実行部は、r1,d[1],…,rN,d[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求める。秘密計算鍵生成部は、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する。秘密計算受信部は、暗号文Cとインデックスm、または利用方法Eとインデックスmとを受信する。秘密計算復号部は、秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)を得る。秘密計算記録部は、乱数(r1,0,r1,1),…,(rN,0,rN,1)または暗号文Cを、インデックスmと対応付けて記録する。論理回路生成部は、利用方法Eの論理回路Cを生成する。garbled circuit生成部は、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成する。秘密計算送信部は、garbled circuit GCをデータ利用装置に送信する。
なお、どちらの秘密計算システムも、以下のようにシステムの一部を変更することで、データの利用方法を制限できる。まず、データ提供記録部が利用条件Lも記録しておく。データ提供第1暗号化部が、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを、公開鍵pkを用いて暗号化し、暗号文Cとする。そして、秘密計算復号部は、暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを得る。また、秘密計算装置には、利用条件確認部も備えておき、利用方法Eが利用条件Lを満たしているかを確認する。
本発明の第1の秘密計算システムによれば、データ利用装置にデータdを知らせることなく、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)のみをデータ利用装置に与えることができる。また、本発明の第2の秘密計算システムによれば、データ利用装置からデータdを秘密計算装置に渡した後は、データdに対するインデックスmのみがデータ利用装置に記録され、データd自体はデータ利用装置には残らない。そして、データ利用装置はデータdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)のみを得ることができる。したがって、データを利用するときにデータ利用装置から情報が漏洩するリスクがない。
さらに、利用条件も含めたシステムの場合、データ利用装置からの利用方法を制限できるので、データの不正使用を防ぐこともできる。
実施例1の秘密計算システムの機能構成例を示す図。 実施例1の秘密計算システムの処理フローを示す図。 実施例2と実施例2変形例の秘密計算システムの機能構成例を示す図。 実施例2の秘密計算システムの処理フローを示す図。 実施例2変形例の秘密計算システムの処理フローを示す図。 実施例3の秘密計算システムの機能構成例を示す図。 実施例3の秘密計算システムの処理フローを示す図。 実施例4と実施例4変形例の秘密計算システムの機能構成例を示す図。 実施例4の秘密計算システムの処理フローを示す図。 実施例4変形例の秘密計算システムの処理フローを示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
図1に実施例1の秘密計算システムの機能構成例を、図2に実施例1の秘密計算システムの処理フローを示す。実施例1の秘密計算システムは、M個のデータ提供装置100,…,100、データ利用装置200、秘密計算装置300からなり、データd(ただし、dはNビット以下)を利用方法Eに対応する論理回路Cに入力したときの出力C(d)(ただし、C(d)はQビット以下)を求める。ここで、Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとする。なお、Q=N,q=nとしてもよい。
m番目のデータ提供装置100は、データ提供鍵取得部110、データ提供乱数生成部120、データ提供第1暗号化部130、データ提供第2暗号化部140、データ提供送信部150、データ提供記録部190を備える。データ利用装置200は、データ利用鍵生成部210、データ利用受信部220、データ利用送信部230、データ利用復号部240、データ利用実行部250、データ利用記録部290を備える。秘密計算装置300は、秘密計算鍵生成部310、秘密計算受信部320、秘密計算復号部330、論理回路生成部340、garbled circuit生成部350、秘密計算送信部360、秘密計算記録部390を備える。
データ提供装置100のデータ提供記録部190は、Nビット以下のデータdをあらかじめ記録しておく。データ利用装置200のデータ利用鍵生成部210は、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する(S210)。秘密計算鍵生成部310は、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する(S310)。そして、データ提供装置100のデータ提供鍵取得部110は、データ利用装置200の公開鍵pkと秘密計算装置300の公開鍵pkを取得する(S110)。
データ提供乱数生成部120は、2N個の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を生成する(S120)。データ提供第1暗号化部130は、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を、公開鍵pkを用いて暗号化し、暗号文CA,mとする(S130)。データ提供第2暗号化部140は、rm,1,dm[1],…,rm,N,dm[N]を、データ利用装置の公開鍵で暗号化し、暗号文CB,mとする(140)。データ提供送信部150は、暗号文CA,mと暗号文CB,mを、データ利用装置200に送信する(S150)。データ利用装置200のデータ利用受信部220は、暗号文CA,mと暗号文CB,mを受信し、データ利用記録部290に暗号文CA,mと暗号文CB,mを記録する(S221)。データ利用送信部230は、データdの利用方法Eと暗号文CA,mとを秘密計算装置300に送信する(S230)。なお、利用方法Eは1つのデータdの利用方法でなく、複数のデータの利用方法でもよい。この場合は、利用送信部は、複数のデータの利用方法Eと利用対象のデータに対応する複数の暗号文CA,mとを秘密計算装置に送信する。秘密計算装置300の秘密計算受信部320は、利用方法Eと暗号文CA,mとを受信し、秘密計算記録部390に記録する(S320)。なお、利用方法Eとは、データdを用いて行う演算などの処理を意味する。
秘密計算復号部330は、秘密鍵skを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を得る(S330)。なお、複数の暗号文CA,mを復号したときには、乱数の数が2Nの複数倍となる。以下の説明でも、乱数の数は2Nとして説明するが、利用するデータが複数ある場合には、乱数の数は利用するデータの数に応じて決めればよい。論理回路生成部340は、利用方法Eの論理回路Cを生成する(S340)。garbled circuit生成部350は、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成する(S350)。なお、複数のデータを利用するときは、データの数に応じた乱数を用いて、garbled circuit GCを生成する。また、garbled circuit GCを生成する方法については、非特許文献1(3.2 Protocol II、および 2 Previous WorkのYao’s Two Party Secure Function Evaluation)に詳しく説明されている。
秘密計算送信部360は、garbled circuit GCをデータ利用装置に送信する(S360)。データ利用装置200のデータ利用受信部220は、garbled circuit GCを受信する(S222)。データ利用復号部240は、秘密鍵skを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得る(S240)。なお、複数のデータを利用する場合は、複数の暗号文CB,mを復号する。データ利用実行部250はrm,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求める(S250)。なお、複数のデータを利用するときは、データの数に応じた乱数とgarbled circuit GCを用いてC(dm1,…,dmx)を求める。ただし、xはデータの数とする。したがって、データ利用装置200はC(d)を得ることができる。
このように、本実施例の秘密計算システムによれば、データ利用装置にデータdを知らせることなく、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)のみをデータ利用装置に与えることができる。したがって、データを利用するときにデータ利用装置から情報が漏洩するリスクがない。
[変形例]
実施例1では、非特許文献1に記載されているgarbled circuitを用いることを前提に説明した。しかし、非特許文献1のgarbled circuitの考え方をより一般的にしてもよい。たとえば、2つの断片的な情報を断片Z、Zとし、2つの断片Z、Zの両方が分かった場合にデータdが復元できるとする。このような断片Z、Zを用意すれば、非特許文献1のgarbled circuitに限定する必要はない。断片Zは実施例1の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)に相当する情報、断片Zは実施例1のrm,1,dm[1],…,rm,N,dm[N]に相当する情報である。言い換えれば、実施例1の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)は断片Zの1つの例であり、実施例1のrm,1,dm[1],…,rm,N,dm[N]は断片Zの1つの例である。
図1に本変形例の秘密計算システムの機能構成例を、図2に本変形例の秘密計算システムの処理フローをしめす。本変形例では、実施例1のgarbled circuit生成部350の変わりに、錯乱回路生成部350”を備えている。また、データ提供乱数生成部120”、データ提供第1暗号化部130”、データ提供第2暗号化部140”、秘密計算復号部330”、秘密計算送信部360”、データ利用受信部220”、データ利用復号部240”、データ利用実行部250”が異なる。
以下に、実施例1と本変形例との違いを説明する。データ提供乱数生成部120”は、2個の断片Z,Zを生成する(S120”)。データ提供第1暗号化部130”は、断片Zを公開鍵pkを用いて暗号化し、暗号文CA,mとする(S130”)。データ提供第2暗号化部140”は、断片Zをデータ利用装置の公開鍵で暗号化し、暗号文CB,mとする(140”)。
秘密計算復号部330”は、秘密鍵skを用いて暗号文CA,mを復号し、断片Zを得る(S330”)。錯乱回路生成部350”は、断片Zを用いて、断片Zが入力されたときにC(d)[q]を出力する錯乱回路ZCを生成する(S350”)。錯乱回路ZCが、実施例1のgarbled circuit GCに相当する。言い換えると、garbled circuit GCは錯乱回路ZCの1つの例である。秘密計算送信部360”は、錯乱回路ZCをデータ利用装置200”に送信する(S360”)。データ利用装置200”のデータ利用受信部220”は、錯乱回路ZCを受信する(S222”)。データ利用復号部240”は、秘密鍵skを用いて暗号文CB,mを復号し、断片Zを得る(S240”)。データ利用実行部250”は断片Zと錯乱回路ZCを用いてC(d)[1],…,C(d)[Q]を求める(S250”)。その他の構成、処理フローは同じである。したがって、データ利用装置200はC(d)を得ることができる。
実施例2の秘密計算システムは、データ利用装置から秘密計算装置に対してデータを提供しておき、その後、提供したデータを利用した結果を、データ利用装置が秘密計算装置から受け取るシステムである。したがって、1つのデータ利用装置が、データ提供装置としての機能とデータ利用装置としての機能とを有する。例えば、機密性の高いデータの管理者(数が少ない)がデータ利用装置からデータを入力し、データの利用者(管理者とは別の人であって、一般に管理者よりも人数が多い)がデータ利用装置でそのデータを利用する場合などに有効なシステムである。
図3に実施例2の秘密計算システムの機能構成例を、図4に実施例2の秘密計算システムの処理フローを示す。実施例2の秘密計算システムは、データ利用装置400と秘密計算装置600からなり、データd(ただし、dはNビット以下)を利用方法Eに対応する論理回路Cに入力したときの出力C(d)(ただし、C(d)はQビット以下)を求める秘密計算システムである。ここで、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとする。なお、Q=N,q=nでとしてもよい。データ利用装置400は、データ提供鍵取得部410、データ提供乱数生成部420、インデックス作成部425、データ提供第1暗号化部430、データ提供送信部450、情報破棄部460、データ提供記録部490、データ利用送信部530、データ利用受信部520、データ利用実行部550、データ利用記録部590を備える。秘密計算装置600は、秘密計算鍵生成部310、秘密計算受信部620、秘密計算復号部630、論理回路生成部340、garbled circuit生成部650、秘密計算送信部360、秘密計算記録部690を備える。
まず、データ利用装置400でデータを提供する処理について説明する。データ提供記録部490に、Nビット以下のデータdを記録しておく。そして、秘密計算装置600の秘密計算鍵生成部310が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する(S310)。データ提供鍵取得部410は、秘密計算装置600の公開鍵pkを取得する(S410)。データ提供乱数生成部420は、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成する(S420)。インデックス作成部425は、データdを示すインデックスmを作成する(S425)。データ提供第1暗号化部430は、乱数(r1,0,r1,1),…,(rN,0,rN,1)を、公開鍵pkを用いて暗号化し、暗号文Cとする(S430)。データ提供送信部450は、暗号文Cとインデックスmを秘密計算装置600に送信する(S450)。データ利用記録部590が、前記インデックスmとr1,d[1],…,rN,d[N]を記録する(S455)。情報破棄部460は、データdと乱数(r1,0,r1,1),…,(rN,0,rN,1)を破棄する(S460)。
秘密計算装置600の秘密計算受信部620は、暗号文Cとインデックスmを受信する(S620)。秘密計算復号部630は、秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)を求め(S630)、秘密計算記録部690に乱数(r1,0,r1,1),…,(rN,0,rN,1)をインデックスmと対応付けて記録する(S622)。ここまでが、データ利用装置400がデータ提供装置として機能する処理である。上述のとおり、データdの情報を秘密計算装置600に送信した後は、データdに対するインデックスmのみがデータ利用装置400に残り、データd自体は消去されている。したがって、データdの利用者が不正にデータdを入手することできない。また、データ利用装置がコンピュータ・ウィルスに感染した場合であっても、データdが外部に漏れる心配がない。
次に、データ利用装置400で実際にデータを利用する処理を説明する。データ利用装置400のデータ利用送信部530は、データdの利用方法Eとインデックスmとを秘密計算装置600に送信する(S530)。秘密計算装置600の秘密計算受信部620は、利用方法Eとインデックスmとを受信する(S625)。論理回路生成部340は、利用方法Eの論理回路Cを生成する(S340)。garbled circuit生成部650は、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成する(S650)。なお、garbled circuit GCを生成する方法については、非特許文献1(3.2 Protocol II、および 2 Previous WorkのYao’s Two Party Secure Function Evaluation)に詳しく説明されている。
秘密計算送信部360は、garbled circuit GCをデータ利用装置400に送信する(S360)。データ利用装置400のデータ利用受信部520は、garbled circuit GCを受信する(S522)。データ利用実行部550は、r1,d[1],…,rN,d[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求める(S550)。したがって、データ利用装置200はC(d)を得ることができる。
このように、本実施例の秘密計算システムによれば、データ利用装置からデータdを秘密計算装置に渡した後は、データdに対するインデックスmのみがデータ利用装置に記録され、データd自体はデータ利用装置には残らない。そして、データ利用装置はデータdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)のみを得ることができる。したがって、データを利用するときにデータ利用装置から情報が漏洩するリスクがない。
[変形例]
実施例2では、秘密計算装置600は、ステップS620の後、暗号文Cを復号した上で、乱数(r1,0,r1,1),…,(rN,0,rN,1)をインデックスmと対応付けて記録した。しかし、ステップS620の後、暗号文Cをインデックスmと対応付けて記録しておき、必要に応じて暗号文Cを復号してもよい。図5は、このように処理する場合の処理フローを示している。具体的には、ステップS620の後、秘密計算装置600の秘密計算記録部690は、暗号文Cをインデックスmと対応付けて記録する。また、ステップS625の後、秘密計算装置600の秘密計算復号部630は、秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)を求める(S630)。そして、論理回路生成部340が、利用方法Eの論理回路Cを生成する(S340)。その他の処理は、実施例2と同じである。したがって、実施例2と同じ効果が得られる。
実施例3では、実施例1の秘密計算システムをベースとして、データの不正利用も防止できる秘密計算システムについて説明する。図6に実施例3の秘密計算システムの機能構成例を、図7に実施例3の秘密計算システムの処理フローを示す。実施例3の秘密計算システムは、M個のデータ提供装置100’,…,100’、データ利用装置200、秘密計算装置300’からなり、データ利用装置200のデータdの利用方法を制限した上で、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める。ここで、Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとする。
m番目のデータ提供装置100’は、データ提供鍵取得部110、データ提供乱数生成部120、データ提供第1暗号化部130’、データ提供第2暗号化部140、データ提供送信部150、データ提供記録部190’を備える。データ利用装置200は、データ利用鍵生成部210、データ利用受信部220、データ利用送信部230、データ利用復号部240、データ利用実行部250、データ利用記録部290を備える。秘密計算装置300’は、秘密計算鍵生成部310、秘密計算受信部320、秘密計算復号部330’、論理回路生成部340、garbled circuit生成部350、秘密計算送信部360、利用条件確認部370、秘密計算記録部390’を備える。データ提供装置100’は、実施例1とデータ提供第1暗号化部130’、データ提供記録部190’の処理内容が異なる。データ利用装置200は実施例1と同じである。秘密計算装置300’は、実施例1と秘密計算復号部330’、秘密計算記録部390’の処理内容が異なり、利用条件確認部370が追加されている。
以下に、実施例1との違いを説明する。データ提供記録部190’が利用条件Lも記録しておく。データ提供第1暗号化部130’が、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1),利用条件Lを、公開鍵pkを用いて暗号化し、暗号文Cとする(S130’)。そして、秘密計算復号部330’は、暗号文Cを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1),利用条件Lを得る(S330’)。そして、ステップS330’の次に秘密計算装置300’の利用条件確認部370が、利用方法Eが利用条件Lを満たしているかを確認し、満たしている場合にはステップS340に進み、満たしていない場合には処理を終了する(S370)。なお、利用条件Lとは、例えば、「実行者」、「データ数」、「演算種別」などのカテゴリに分け、
=(NTT,>10000,平均値)
とした場合、「NTT社員が実行者(ログインしたユーザ)であり、10000データ以上の平均値演算」を行う場合に限り利用を認めるというように設定すればよい。
実施例3はこのような構成なので、実施例1の効果に加え、データ利用装置200が、許可されていない利用方法でデータdを利用することを防止できる。したがって、データの不正利用を防ぐことができる。
実施例4では、実施例2の秘密計算システムをベースとして、データの不正利用も防止できる秘密計算システムについて説明する。図8に実施例4の秘密計算システムの機能構成例を、図9に実施例4の秘密計算システムの処理フローを示す。実施例4の秘密計算システムは、データ利用装置400’と秘密計算装置600’からなり、データ利用装置400’のデータdの利用方法を制限した上で、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算システムである。ここで、Nを1以上の整数、nを1以上N以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとする。データ利用装置400’は、データ提供鍵取得部410、データ提供乱数生成部420、インデックス作成部425、データ提供第1暗号化部430’、データ提供送信部450、情報破棄部460’、データ提供記録部490’、データ利用送信部530、データ利用受信部520、データ利用実行部550、データ利用記録部590を備える。秘密計算装置600’は、秘密計算鍵生成部310、秘密計算受信部620、秘密計算復号部630’、論理回路生成部340、garbled circuit生成部650、秘密計算送信部360、利用条件確認部370、秘密計算記録部690’を備える。データ利用装置400’は、実施例2とデータ提供第1暗号化部430’、情報破棄部460’、データ提供記録部490’の処理内容が異なる。秘密計算装置600’は、実施例2と秘密計算復号部630’、秘密計算記録部690’の処理内容が異なり、利用条件確認部370が追加されている。
以下に、実施例2との違いを説明する。データ提供記録部490’が利用条件Lも記録しておく。データ提供第1暗号化部430’が、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを、公開鍵pkを用いて暗号化し、暗号文Cとする(S430’)。また、情報破棄部460’は、データd、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを破棄する(S460’)。そして、秘密計算復号部630’は、暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを得る(S630’)。そして、ステップS625の次に秘密計算装置600’の利用条件確認部370が、利用方法Eが利用条件Lを満たしているかを確認し、満たしている場合にはステップS340に進み、満たしていない場合には処理を終了する(S370)。
実施例4はこのような構成なので、実施例2の効果に加え、データ利用装置400’が、許可されていない利用方法でデータdを利用することを防止できる。したがって、データの不正利用を防ぐことができる。
[変形例]
実施例4では、秘密計算装置600’は、ステップS620の後、暗号文Cを復号した上で、乱数(r1,0,r1,1),…,(rN,0,rN,1)をインデックスmと対応付けて記録した。しかし、ステップS620の後、暗号文Cをインデックスmと対応付けて記録しておき、必要に応じて暗号文Cを復号してもよい。図10は、このように処理する場合の処理フローを示している。具体的には、ステップS620の後、秘密計算装置600’の秘密計算記録部690’は、暗号文Cをインデックスmと対応付けて記録する。また、ステップS625の後、秘密計算装置600の秘密計算復号部630’は、秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを求める(S630’)。そして、利用条件確認部370が、利用方法Eが利用条件Lを満たしているかを確認する(S370)。その他の処理は、実施例4と同じである。したがって、実施例2と同じ効果が得られる。
プログラム、記録媒体
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明は、システム内のデータの漏洩防止、および不正使用防止に利用できる。
100、100’ 100” データ提供装置 110、410 データ提供鍵取得部
120、120”、420 データ提供乱数生成部
130、130’、130”、430、430’ データ提供第1暗号化部
140、140” データ提供第2暗号化部
150、450 データ提供送信部
190、190’、490、490’ データ提供記録部
200、200”、400、400’ データ利用装置
210 データ利用鍵生成部 220、220”、520 データ利用受信部
230、530 データ利用送信部 240、240” データ利用復号部
250、250”、550 データ利用実行部
290、590 データ利用記録部
300、300’、600、600’ 秘密計算装置
310 秘密計算鍵生成部 320、620 秘密計算受信部
330、330’、330”、630、630’ 秘密計算復号部
340 論理回路生成部 350、650 garbled circuit生成部
350” 錯乱回路生成部
360、360” 秘密計算送信部 370 利用条件確認部
390、390’、690、690’ 秘密計算記録部
425 インデックス作成部 460 情報破棄部

Claims (12)

  1. M個のデータ提供装置、データ利用装置、秘密計算装置からなり、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算システムであって、
    Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    m番目の前記データ提供装置は、
    Nビット以下のデータdを記録するデータ提供記録部と、
    前記データ利用装置の公開鍵pkと前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得部と、
    2N個の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を生成するデータ提供乱数生成部と、
    前記乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を、前記公開鍵pkを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化部と、
    m,1,dm[1],…,rm,N,dm[N]を、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化部と、
    暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信部と
    を備え、
    前記データ利用装置は、
    秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開するデータ利用鍵生成部と、
    暗号文CA,mと暗号文CB,m、およびgarbled circuit GCを受信するデータ利用受信部と、
    暗号文CA,mと暗号文CB,mを記録するデータ利用記録部と、
    データdの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信部と、
    秘密鍵skを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得るデータ利用復号部と、
    m,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行部と
    を備え、
    前記秘密計算装置は、
    秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成部と、
    利用方法Eと暗号文CA,mとを受信する秘密計算受信部と、
    秘密鍵skを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を得る秘密計算復号部と、
    利用方法Eの論理回路Cを生成する論理回路生成部と、
    乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成部と、
    garbled circuit GCを前記データ利用装置に送信する秘密計算送信部と
    を備える
    ことを特徴とする秘密計算システム。
  2. M個のデータ提供装置、データ利用装置、秘密計算装置からなり、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算システムであって、
    Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    m番目の前記データ提供装置は、
    Nビット以下のデータdを記録するデータ提供記録部と、
    前記データ利用装置の公開鍵pkと前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得部と、
    両方が分かればデータdが分かる断片Z、Zを生成するデータ提供乱数生成部と、
    断片Zを、前記公開鍵pkを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化部と、
    断片Zを、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化部と、
    暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信部と
    を備え、
    前記データ利用装置は、
    秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開するデータ利用鍵生成部と、
    暗号文CA,mと暗号文CB,m、および錯乱回路ZCを受信するデータ利用受信部と、
    暗号文CA,mと暗号文CB,mを記録するデータ利用記録部と、
    データdの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信部と、
    秘密鍵skを用いて暗号文CB,mを復号し、断片Zを得るデータ利用復号部と、
    断片Zと錯乱回路ZCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行部と
    を備え、
    前記秘密計算装置は、
    秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成部と、
    利用方法Eと暗号文CA,mとを受信する秘密計算受信部と、
    秘密鍵skを用いて暗号文CA,mを復号し、断片Zを得る秘密計算復号部と、
    利用方法Eの論理回路Cを生成する論理回路生成部と、
    断片Zを用いて、断片Zが入力されたときにC(d)[q]を出力する錯乱回路ZCを生成する錯乱回路生成部と、
    錯乱回路ZCを前記データ利用装置に送信する秘密計算送信部と
    を備える
    ことを特徴とする秘密計算システム。
  3. データ利用装置と秘密計算装置からなり、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算システムであって、
    Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    前記データ利用装置は、
    Nビット以下のデータdを記録するデータ提供記録部と、
    前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得部と、
    2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成部と、
    データdを示すインデックスmを作成するインデックス作成部と、
    前記乱数(r1,0,r1,1),…,(rN,0,rN,1)を、前記公開鍵pkを用いて暗号化し、暗号文Cとするデータ提供第1暗号化部と、
    暗号文Cとインデックスmを前記秘密計算装置に送信するデータ提供送信部と、
    前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録部と、
    データdと乱数(r1,0,r1,1),…,(rN,0,rN,1)を破棄する情報破棄部と、
    データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信部と、
    garbled circuit GCを受信するデータ利用受信部と、
    1,d[1],…,rN,d[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行部と
    を備え、
    前記秘密計算装置は、
    秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成部と、
    暗号文Cとインデックスm、または利用方法Eとインデックスmとを受信する秘密計算受信部と、
    秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)を得る秘密計算復号部と、
    乱数(r1,0,r1,1),…,(rN,0,rN,1)または暗号文Cを、インデックスmと対応付けて記録する秘密計算記録部と、
    利用方法Eの論理回路Cを生成する論理回路生成部と、
    乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成部と、
    garbled circuit GCを前記データ利用装置に送信する秘密計算送信部と
    を備える
    ことを特徴とする秘密計算システム。
  4. M個のデータ提供装置、データ利用装置、秘密計算装置からなり、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算システムであって、
    Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    m番目の前記データ提供装置は、
    Nビット以下のデータdと、データdの利用条件Lを記録するデータ提供記録部と、
    前記データ利用装置の公開鍵pkと前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得部と、
    2N個の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を生成するデータ提供乱数生成部と、
    前記乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1),利用条件Lを、前記公開鍵pkを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化部と、
    m,1,dm[1],…,rm,N,dm[N]を、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化部と、
    暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信部と
    を備え、
    前記データ利用装置は、
    秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開するデータ利用鍵生成部と、
    暗号文CA,mと暗号文CB,m、およびgarbled circuit GCを受信するデータ利用受信部と、
    暗号文CA,mと暗号文CB,mを記録するデータ利用記録部と、
    データdの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信部と、
    秘密鍵skを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得るデータ利用復号部と、
    m,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行部と
    を備え、
    前記秘密計算装置は、
    秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成部と、
    利用方法Eと暗号文CA,mとを受信する秘密計算受信部と、
    秘密鍵skを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1),利用条件Lを得る秘密計算復号部と、
    利用方法Eが利用条件Lを満たしているかを確認する利用条件確認部と、
    利用方法Eの論理回路Cを生成する論理回路生成部と、
    乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成部と、
    garbled circuit GCを前記データ利用装置に送信する秘密計算送信部と
    を備える
    ことを特徴とする秘密計算システム。
  5. データ利用装置と秘密計算装置からなり、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算システムであって、
    Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    前記データ利用装置は、
    Nビット以下のデータdと、データdの利用条件Lを記録するデータ提供記録部と、
    前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得部と、
    2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成部と、
    データdを示すインデックスmを作成するインデックス作成部と、
    前記乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを、前記公開鍵pkを用いて暗号化し、暗号文Cとするデータ提供第1暗号化部と、
    暗号文Cとインデックスmを前記秘密計算装置に送信するデータ提供送信部と、
    前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録部と、
    データd、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを破棄する情報破棄部と、
    データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信部と、
    garbled circuit GCを受信するデータ利用受信部と、
    1,d[1],…,rN,d[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行部と
    を備え、
    前記秘密計算装置は、
    秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成部と、
    暗号文Cとインデックスm、または利用方法Eとインデックスmとを受信する秘密計算受信部と、
    秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを得る秘密計算復号部と、
    乱数(r1,0,r1,1),…,(rN,0,rN,1)と利用条件L、もしくは、暗号文Cを、インデックスmと対応付けて記録する秘密計算記録部と、
    利用方法Eが利用条件Lを満たしているかを確認する利用条件確認部と、
    利用方法Eの論理回路Cを生成する論理回路生成部と、
    乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成部と、
    garbled circuit GCを前記データ利用装置に送信する秘密計算送信部と
    を備える
    ことを特徴とする秘密計算システム。
  6. M個のデータ提供装置、データ利用装置、秘密計算装置を用いて、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算方法であって、
    Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    m番目の前記データ提供装置において、
    データ提供記録部が、あらかじめNビット以下のデータdを記録しておき、
    前記データ利用装置において、
    データ利用鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開するデータ利用鍵生成ステップと、
    前記秘密計算装置において、
    秘密計算鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成ステップと、
    m番目の前記データ提供装置において、
    データ提供鍵取得部が、前記データ利用装置の公開鍵pkと前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得ステップと、
    データ提供乱数生成部が、2N個の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を生成するデータ提供乱数生成ステップと、
    データ提供第1暗号化部が、前記乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を、前記公開鍵pkを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化ステップと、
    データ提供第2暗号化部が、rm,1,dm[1],…,rm,N,dm[N]を、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化ステップと、
    データ提供送信部が、暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、暗号文CA,mと暗号文CB,mを受信し、データ利用記録部に暗号文CA,mと暗号文CB,mを記録する第1データ利用受信ステップと、
    データ利用送信部が、データdの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、利用方法Eと暗号文CA,mとを受信する秘密計算受信ステップと、
    秘密計算復号部が、秘密鍵skを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を得る秘密計算復号ステップと、
    論理回路生成部が、利用方法Eの論理回路Cを生成する論理回路生成ステップと、
    garbled circuit生成部が、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成ステップと、
    秘密計算送信部が、garbled circuit GCを前記データ利用装置に送信する秘密計算送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、garbled circuit GCを受信する第2データ利用受信ステップと、
    データ利用復号部が、秘密鍵skを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得るデータ利用復号ステップと、
    データ利用実行部が、rm,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行ステップと
    を有することを特徴とする秘密計算方法。
  7. M個のデータ提供装置、データ利用装置、秘密計算装置を用いて、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算方法であって、
    Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    m番目の前記データ提供装置において、
    データ提供記録部が、あらかじめNビット以下のデータdを記録しておき、
    前記データ利用装置において、
    データ利用鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開するデータ利用鍵生成ステップと、
    前記秘密計算装置において、
    秘密計算鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成ステップと、
    m番目の前記データ提供装置において、
    データ提供鍵取得部が、前記データ利用装置の公開鍵pkと前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得ステップと、
    データ提供乱数生成部が、両方が分かればデータdが分かる断片Z、Zを生成するデータ提供乱数生成ステップと、
    データ提供第1暗号化部が、断片Zを、前記公開鍵pkを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化ステップと、
    データ提供第2暗号化部が、断片Zを、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化ステップと、
    データ提供送信部が、暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、暗号文CA,mと暗号文CB,mを受信し、データ利用記録部に暗号文CA,mと暗号文CB,mを記録する第1データ利用受信ステップと、
    データ利用送信部が、データdの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、利用方法Eと暗号文CA,mとを受信する秘密計算受信ステップと、
    秘密計算復号部が、秘密鍵skを用いて暗号文CA,mを復号し、断片Z得る秘密計算復号ステップと、
    論理回路生成部が、利用方法Eの論理回路Cを生成する論理回路生成ステップと、
    錯乱回路生成部が、断片Zを用いて、断片Zが入力されたときにC(d)[q]を出力する錯乱回路ZCを生成する錯乱回路生成ステップと、
    秘密計算送信部が、錯乱回路ZCを前記データ利用装置に送信する秘密計算送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、錯乱回路ZCを受信する第2データ利用受信ステップと、
    データ利用復号部が、秘密鍵skを用いて暗号文CB,mを復号し、断片Zを得るデータ利用復号ステップと、
    データ利用実行部が、断片Zと錯乱回路ZCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行ステップと
    を有することを特徴とする秘密計算方法。
  8. データ利用装置と秘密計算装置を用いて、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算方法であって、
    Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    前記データ利用装置において、
    データ提供記録部が、あらかじめNビット以下のデータdを記録しておき、
    前記秘密計算装置において、
    秘密計算鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成ステップと、
    前記データ利用装置において、
    データ提供鍵取得部が、前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得ステップと、
    データ提供乱数生成部が、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成ステップと、
    インデックス作成部が、データdを示すインデックスmを作成するインデックス作成ステップと、
    データ提供第1暗号化部が、前記乱数(r1,0,r1,1),…,(rN,0,rN,1)を、前記公開鍵pkを用いて暗号化し、暗号文Cとするデータ提供第1暗号化ステップと、
    データ提供送信部が、暗号文Cとインデックスmを前記秘密計算装置に送信するデータ提供送信ステップと、
    データ利用記録部が、前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録ステップと、
    情報破棄部が、データdと乱数(r1,0,r1,1),…,(rN,0,rN,1)を破棄する情報破棄ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、暗号文Cとインデックスmを受信する第1秘密計算受信ステップと、
    秘密計算復号部が、秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)をインデックスmと対応付けて秘密計算記録部に記録する秘密計算復号部と、
    前記データ利用装置において、
    データ利用送信部が、データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、利用方法Eとインデックスmとを受信する第2秘密計算受信ステップと、
    論理回路生成部が、利用方法Eの論理回路Cを生成する論理回路生成ステップと、
    garbled circuit生成部が、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成ステップと、
    秘密計算送信部が、garbled circuit GCを前記データ利用装置に送信する秘密計算送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、garbled circuit GCを受信するデータ利用受信ステップと、
    データ利用実行部が、r1,d[1],…,rN,d[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行部と
    を有することを特徴とする秘密計算方法。
  9. データ利用装置と秘密計算装置を用いて、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める秘密計算方法であって、
    Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    前記データ利用装置において、
    データ提供記録部が、あらかじめNビット以下のデータdを記録しておき、
    前記秘密計算装置において、
    秘密計算鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成ステップと、
    前記データ利用装置において、
    データ提供鍵取得部が、前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得ステップと、
    データ提供乱数生成部が、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成ステップと、
    インデックス作成部が、データdを示すインデックスmを作成するインデックス作成ステップと、
    データ提供第1暗号化部が、前記乱数(r1,0,r1,1),…,(rN,0,rN,1)を、前記公開鍵pkを用いて暗号化し、暗号文Cとするデータ提供第1暗号化ステップと、
    データ提供送信部が、暗号文Cとインデックスmを前記秘密計算装置に送信し、データ利用記録部に前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ提供送信ステップと、
    情報破棄部が、データdと乱数(r1,0,r1,1),…,(rN,0,rN,1)を破棄する情報破棄ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、暗号文Cとインデックスmを受信し、暗号文Cをインデックスmと対応付けて秘密計算記録部に記録するする第1秘密計算受信ステップと、
    前記データ利用装置において、
    データ利用送信部が、データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、利用方法Eとインデックスmとを受信する第2秘密計算受信ステップと、
    秘密計算復号部が、秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)を得る秘密計算復号部と、
    論理回路生成部が、利用方法Eの論理回路Cを生成する論理回路生成ステップと、
    garbled circuit生成部が、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成ステップと、
    秘密計算送信部が、garbled circuit GCを前記データ利用装置に送信する秘密計算送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、garbled circuit GCを受信するデータ利用受信ステップと、
    データ利用実行部が、r1,d[1],…,rN,d[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行部と
    を有することを特徴とする秘密計算方法。
  10. M個のデータ提供装置、データ利用装置、秘密計算装置を用いて、データdの使用方法を制限しながら、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める不正使用防止方法であって、
    Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    m番目の前記データ提供装置において、
    データ提供記録部が、あらかじめNビット以下のデータdを記録しておき、
    前記データ利用装置において、
    データ利用鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開するデータ利用鍵生成ステップと、
    前記秘密計算装置において、
    秘密計算鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成ステップと、
    m番目の前記データ提供装置において、
    データ提供鍵取得部が、前記データ利用装置の公開鍵pkと前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得ステップと、
    データ提供乱数生成部が、2N個の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を生成するデータ提供乱数生成ステップと、
    データ提供第1暗号化部が、前記乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1),利用条件Lを、前記公開鍵pkを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化ステップと、
    データ提供第2暗号化部が、rm,1,dm[1],…,rm,N,dm[N]を、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化ステップと、
    データ提供送信部が、暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、暗号文CA,mと暗号文CB,mを受信し、データ利用記録部に暗号文CA,mと暗号文CB,mを記録する第1データ利用受信ステップと、
    データ利用送信部が、データdの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、利用方法Eと暗号文CA,mとを受信する秘密計算受信ステップと、
    秘密計算復号部が、秘密鍵skを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1),利用条件Lを得る秘密計算復号ステップと、
    利用条件確認部が、利用方法Eが利用条件Lを満たしているかを確認する利用条件確認ステップと、
    論理回路生成部が、利用方法Eの論理回路Cを生成する論理回路生成ステップと、
    garbled circuit生成部が、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成ステップと、
    秘密計算送信部が、garbled circuit GCを前記データ利用装置に送信する秘密計算送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、garbled circuit GCを受信する第2データ利用受信ステップと、
    データ利用復号部が、秘密鍵skを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得るデータ利用復号ステップと、
    データ利用実行部が、rm,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行ステップと
    を有することを特徴とする不正使用防止方法。
  11. データ利用装置と秘密計算装置を用いて、データdの使用方法を制限しながら、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める不正使用防止方法であって、
    Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    前記データ利用装置において、
    データ提供記録部が、あらかじめNビット以下のデータdと、データdの利用条件Lを記録しておき、
    前記秘密計算装置において、
    秘密計算鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成ステップと、
    前記データ利用装置において、
    データ提供鍵取得部が、前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得ステップと、
    データ提供乱数生成部が、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成ステップと、
    インデックス作成部が、データdを示すインデックスmを作成するインデックス作成ステップと、
    データ提供第1暗号化部が、前記乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを、前記公開鍵pkを用いて暗号化し、暗号文Cとするデータ提供第1暗号化ステップと、
    データ提供送信部が、暗号文Cとインデックスmを前記秘密計算装置に送信するデータ提供送信ステップと、
    データ利用記録部が、前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録ステップと、
    情報破棄部が、データd、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを破棄する情報破棄ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、暗号文Cとインデックスmを受信する第1秘密計算受信ステップと、
    秘密計算復号部が、秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを求め、乱数(r1,0,r1,1),…,(rN,0,rN,1)と利用条件Lを、インデックスmと対応付けて記録する秘密計算復号ステップと、
    前記データ利用装置において、
    データ利用送信部が、データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、利用方法Eとインデックスmとを受信する第2秘密計算受信ステップと、
    利用条件確認部が、利用方法Eが利用条件Lを満たしているかを確認する利用条件確認ステップと、
    論理回路生成部が、利用方法Eの論理回路Cを生成する論理回路生成ステップと、
    garbled circuit生成部が、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成ステップと、
    秘密計算送信部が、garbled circuit GCを前記データ利用装置に送信する秘密計算送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、garbled circuit GCを受信するデータ利用受信ステップと、
    データ利用実行部が、r1,d[1],…,rN,d[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行ステップと
    を有することを特徴とする不正使用防止方法。
  12. データ利用装置と秘密計算装置を用いて、データdの使用方法を制限しながら、データdを利用方法Eに対応する論理回路Cに入力したときの出力C(d)を求める不正使用防止方法であって、
    Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、C(d)[q]はC(d)の下位q番目のビットとして、
    前記データ利用装置において、
    データ提供記録部が、あらかじめNビット以下のデータdと、データdの利用条件Lを記録しておき、
    前記秘密計算装置において、
    秘密計算鍵生成部が、秘密鍵sk、公開鍵pkを生成し、公開鍵pkを公開する秘密計算鍵生成ステップと、
    前記データ利用装置において、
    データ提供鍵取得部が、前記秘密計算装置の公開鍵pkを取得するデータ提供鍵取得ステップと、
    データ提供乱数生成部が、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成ステップと、
    インデックス作成部が、データdを示すインデックスmを作成するインデックス作成ステップと、
    データ提供第1暗号化部が、前記乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを、前記公開鍵pkを用いて暗号化し、暗号文Cとするデータ提供第1暗号化ステップと、
    データ提供送信部が、暗号文Cとインデックスmを前記秘密計算装置に送信するデータ提供送信ステップと、
    データ利用記録部が、前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録ステップと、
    情報破棄部が、データd、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを破棄する情報破棄ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、暗号文Cとインデックスmを受信し、暗号文Cをインデックスmと対応付けて記録する第1秘密計算受信ステップと、
    前記データ利用装置において、
    データ利用送信部が、データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信ステップと、
    前記秘密計算装置において、
    秘密計算受信部が、利用方法Eとインデックスmとを受信する第2秘密計算受信ステップと、
    秘密計算復号部が、秘密鍵skを用いてインデックスmに対応する暗号文Cを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを求める秘密計算復号ステップと、
    利用条件確認部が、利用方法Eが利用条件Lを満たしているかを確認する利用条件確認ステップと、
    論理回路生成部が、利用方法Eの論理回路Cを生成する論理回路生成ステップと、
    garbled circuit生成部が、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにC(d)[q]を出力するgarbled circuit GCを生成するgarbled circuit生成ステップと、
    秘密計算送信部が、garbled circuit GCを前記データ利用装置に送信する秘密計算送信ステップと、
    前記データ利用装置において、
    データ利用受信部が、garbled circuit GCを受信するデータ利用受信ステップと、
    データ利用実行部が、r1,d[1],…,rN,d[N]とgarbled circuit GCを用いてC(d)[1],…,C(d)[Q]を求めるデータ利用実行ステップと
    を有することを特徴とする不正使用防止方法。
JP2010038663A 2010-02-24 2010-02-24 秘密計算システム、秘密計算方法、不正使用防止方法 Active JP5337076B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010038663A JP5337076B2 (ja) 2010-02-24 2010-02-24 秘密計算システム、秘密計算方法、不正使用防止方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010038663A JP5337076B2 (ja) 2010-02-24 2010-02-24 秘密計算システム、秘密計算方法、不正使用防止方法

Publications (2)

Publication Number Publication Date
JP2011175072A JP2011175072A (ja) 2011-09-08
JP5337076B2 true JP5337076B2 (ja) 2013-11-06

Family

ID=44687986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010038663A Active JP5337076B2 (ja) 2010-02-24 2010-02-24 秘密計算システム、秘密計算方法、不正使用防止方法

Country Status (1)

Country Link
JP (1) JP5337076B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5492241B2 (ja) * 2012-03-28 2014-05-14 株式会社東芝 秘匿計算システム、集計装置及び集計結果復号プログラム
JP6649289B2 (ja) * 2017-01-10 2020-02-19 日本電信電話株式会社 暗号システム、鍵生成装置、暗号化装置、復号装置、およびプログラム
WO2023166625A1 (ja) * 2022-03-02 2023-09-07 日本電信電話株式会社 プログラム実行システム、データ処理装置、プログラム実行方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4618684B2 (ja) * 2006-06-14 2011-01-26 日本電信電話株式会社 透かし埋め込み処理方法、透かし埋め込み処理システム、サービス提供者装置および顧客装置、並びにプログラム
JP5047198B2 (ja) * 2008-01-21 2012-10-10 日本電信電話株式会社 秘密計算システム、秘密計算方法、秘密計算装置、検証装置、およびプログラム
JP5078632B2 (ja) * 2008-01-21 2012-11-21 日本電信電話株式会社 秘密計算システム、秘密計算方法、および秘密計算プログラム

Also Published As

Publication number Publication date
JP2011175072A (ja) 2011-09-08

Similar Documents

Publication Publication Date Title
CN110214440B (zh) 计算系统,传送受保护数据的方法和可读存储介质
US8165304B2 (en) Domain digital rights management system, license sharing method for domain digital rights management system, and license server
KR100708162B1 (ko) 도메인 관리 방법 및 그를 위한 장치
JP5959667B2 (ja) データ復号装置、属性ベース暗号システム、乱数要素除去装置、データ復号方法およびデータ復号プログラム
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US9515827B2 (en) Key management device, communication device, communication system, and computer program product
JP2007114494A (ja) 秘匿計算方法及び装置
JP5337076B2 (ja) 秘密計算システム、秘密計算方法、不正使用防止方法
JP5512559B2 (ja) 暗号化装置、復号装置、暗号化システム、暗号化方法、プログラム
KR101790948B1 (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
KR100765750B1 (ko) 브로드캐스트 암호화 방식에 따라 효율적으로암호화/복호화하는 방법 및 장치
WO2017194231A1 (en) Digital rights management for anonymous digital content sharing
JP6794160B2 (ja) 暗号化されたコンテンツの復号キーを安全に取得してコンテンツを再生するための方法およびシステム
JP2019125956A (ja) 鍵交換方法、鍵交換システム、鍵交換サーバ装置、通信装置、プログラム
JP5469631B2 (ja) 復号結果検証装置、方法及びプログラム
JP6320943B2 (ja) 鍵共有装置、鍵共有システム、鍵共有方法、プログラム
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
JP5142361B2 (ja) 正当性検証装置
US10936757B2 (en) Registration destination determination device, searchable encryption system, destination determination method, and computer readable medium
KR101597243B1 (ko) 사용자 단말 장치, 개인 정보 관리 서버,및 이들에 의한 개인 정보 관리 방법
JP7321414B2 (ja) 送信制御方法、およびプログラム
JP2011138015A (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、プログラム、記録媒体
WO2021144842A1 (ja) 秘匿情報処理システム、準同型演算装置、復号装置、秘匿情報処理方法、および、秘匿情報処理プログラム
Singh et al. Security of Data with 3DES & Watermarking Algorithm
JP5496957B2 (ja) 暗号化システム、復号方法、復号履歴蓄積サーバ、受信装置、送信装置、プログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110701

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130710

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R150 Certificate of patent or registration of utility model

Ref document number: 5337076

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350