JP5337076B2 - 秘密計算システム、秘密計算方法、不正使用防止方法 - Google Patents
秘密計算システム、秘密計算方法、不正使用防止方法 Download PDFInfo
- 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
Links
Images
Description
実施例1では、非特許文献1に記載されているgarbled circuitを用いることを前提に説明した。しかし、非特許文献1のgarbled circuitの考え方をより一般的にしてもよい。たとえば、2つの断片的な情報を断片Z1、Z2とし、2つの断片Z1、Z2の両方が分かった場合にデータdmが復元できるとする。このような断片Z1、Z2を用意すれば、非特許文献1のgarbled circuitに限定する必要はない。断片Z1は実施例1の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)に相当する情報、断片Z2は実施例1のrm,1,dm[1],…,rm,N,dm[N]に相当する情報である。言い換えれば、実施例1の乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)は断片Z1の1つの例であり、実施例1のrm,1,dm[1],…,rm,N,dm[N]は断片Z2の1つの例である。
実施例2では、秘密計算装置600は、ステップS620の後、暗号文CAを復号した上で、乱数(r1,0,r1,1),…,(rN,0,rN,1)をインデックスmと対応付けて記録した。しかし、ステップS620の後、暗号文CAをインデックスmと対応付けて記録しておき、必要に応じて暗号文CAを復号してもよい。図5は、このように処理する場合の処理フローを示している。具体的には、ステップS620の後、秘密計算装置600の秘密計算記録部690は、暗号文CAをインデックスmと対応付けて記録する。また、ステップS625の後、秘密計算装置600の秘密計算復号部630は、秘密鍵sksを用いてインデックスmに対応する暗号文CAを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)を求める(S630)。そして、論理回路生成部340が、利用方法Eの論理回路CEを生成する(S340)。その他の処理は、実施例2と同じである。したがって、実施例2と同じ効果が得られる。
Lm=(NTT,>10000,平均値)
とした場合、「NTT社員が実行者(ログインしたユーザ)であり、10000データ以上の平均値演算」を行う場合に限り利用を認めるというように設定すればよい。
実施例4では、秘密計算装置600’は、ステップS620の後、暗号文CAを復号した上で、乱数(r1,0,r1,1),…,(rN,0,rN,1)をインデックスmと対応付けて記録した。しかし、ステップS620の後、暗号文CAをインデックスmと対応付けて記録しておき、必要に応じて暗号文CAを復号してもよい。図10は、このように処理する場合の処理フローを示している。具体的には、ステップS620の後、秘密計算装置600’の秘密計算記録部690’は、暗号文CAをインデックスmと対応付けて記録する。また、ステップS625の後、秘密計算装置600の秘密計算復号部630’は、秘密鍵sksを用いてインデックスmに対応する暗号文CAを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを求める(S630’)。そして、利用条件確認部370が、利用方法Eが利用条件Lを満たしているかを確認する(S370)。その他の処理は、実施例4と同じである。したがって、実施例2と同じ効果が得られる。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
120m、120”m、420 データ提供乱数生成部
130m、130’m、130”m、430、430’ データ提供第1暗号化部
140m、140”m データ提供第2暗号化部
150m、450 データ提供送信部
190m、190’m、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)
- M個のデータ提供装置、データ利用装置、秘密計算装置からなり、データdmを利用方法Eに対応する論理回路CEに入力したときの出力CE(dm)を求める秘密計算システムであって、
Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdmの下位n番目のビット、CE(dm)[q]はCE(dm)の下位q番目のビットとして、
m番目の前記データ提供装置は、
Nビット以下のデータdmを記録するデータ提供記録部と、
前記データ利用装置の公開鍵pkuと前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得部と、
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)を、前記公開鍵pksを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化部と、
rm,1,dm[1],…,rm,N,dm[N]を、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化部と、
暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信部と
を備え、
前記データ利用装置は、
秘密鍵sku、公開鍵pkuを生成し、公開鍵pkuを公開するデータ利用鍵生成部と、
暗号文CA,mと暗号文CB,m、およびgarbled circuit GCEを受信するデータ利用受信部と、
暗号文CA,mと暗号文CB,mを記録するデータ利用記録部と、
データdmの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信部と、
秘密鍵skuを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得るデータ利用復号部と、
rm,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCEを用いてCE(dm)[1],…,CE(dm)[Q]を求めるデータ利用実行部と
を備え、
前記秘密計算装置は、
秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成部と、
利用方法Eと暗号文CA,mとを受信する秘密計算受信部と、
秘密鍵sksを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を得る秘密計算復号部と、
利用方法Eの論理回路CEを生成する論理回路生成部と、
乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにCE(dm)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成部と、
garbled circuit GCEを前記データ利用装置に送信する秘密計算送信部と
を備える
ことを特徴とする秘密計算システム。 - M個のデータ提供装置、データ利用装置、秘密計算装置からなり、データdmを利用方法Eに対応する論理回路CEに入力したときの出力CE(dm)を求める秘密計算システムであって、
Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdmの下位n番目のビット、CE(dm)[q]はCE(dm)の下位q番目のビットとして、
m番目の前記データ提供装置は、
Nビット以下のデータdmを記録するデータ提供記録部と、
前記データ利用装置の公開鍵pkuと前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得部と、
両方が分かればデータdmが分かる断片Z1、Z2を生成するデータ提供乱数生成部と、
断片Z1を、前記公開鍵pksを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化部と、
断片Z2を、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化部と、
暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信部と
を備え、
前記データ利用装置は、
秘密鍵sku、公開鍵pkuを生成し、公開鍵pkuを公開するデータ利用鍵生成部と、
暗号文CA,mと暗号文CB,m、および錯乱回路ZCを受信するデータ利用受信部と、
暗号文CA,mと暗号文CB,mを記録するデータ利用記録部と、
データdmの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信部と、
秘密鍵skuを用いて暗号文CB,mを復号し、断片Z2を得るデータ利用復号部と、
断片Z2と錯乱回路ZCを用いてCE(dm)[1],…,CE(dm)[Q]を求めるデータ利用実行部と
を備え、
前記秘密計算装置は、
秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成部と、
利用方法Eと暗号文CA,mとを受信する秘密計算受信部と、
秘密鍵sksを用いて暗号文CA,mを復号し、断片Z1を得る秘密計算復号部と、
利用方法Eの論理回路CEを生成する論理回路生成部と、
断片Z1を用いて、断片Z2が入力されたときにCE(dm)[q]を出力する錯乱回路ZCを生成する錯乱回路生成部と、
錯乱回路ZCを前記データ利用装置に送信する秘密計算送信部と
を備える
ことを特徴とする秘密計算システム。 - データ利用装置と秘密計算装置からなり、データdを利用方法Eに対応する論理回路CEに入力したときの出力CE(d)を求める秘密計算システムであって、
Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、CE(d)[q]はCE(d)の下位q番目のビットとして、
前記データ利用装置は、
Nビット以下のデータdを記録するデータ提供記録部と、
前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得部と、
2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成部と、
データdを示すインデックスmを作成するインデックス作成部と、
前記乱数(r1,0,r1,1),…,(rN,0,rN,1)を、前記公開鍵pksを用いて暗号化し、暗号文CAとするデータ提供第1暗号化部と、
暗号文CAとインデックスmを前記秘密計算装置に送信するデータ提供送信部と、
前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録部と、
データdと乱数(r1,0,r1,1),…,(rN,0,rN,1)を破棄する情報破棄部と、
データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信部と、
garbled circuit GCEを受信するデータ利用受信部と、
r1,d[1],…,rN,d[N]とgarbled circuit GCEを用いてCE(d)[1],…,CE(d)[Q]を求めるデータ利用実行部と
を備え、
前記秘密計算装置は、
秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成部と、
暗号文CAとインデックスm、または利用方法Eとインデックスmとを受信する秘密計算受信部と、
秘密鍵sksを用いてインデックスmに対応する暗号文CAを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)を得る秘密計算復号部と、
乱数(r1,0,r1,1),…,(rN,0,rN,1)または暗号文CAを、インデックスmと対応付けて記録する秘密計算記録部と、
利用方法Eの論理回路CEを生成する論理回路生成部と、
乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにCE(d)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成部と、
garbled circuit GCEを前記データ利用装置に送信する秘密計算送信部と
を備える
ことを特徴とする秘密計算システム。 - M個のデータ提供装置、データ利用装置、秘密計算装置からなり、データdmを利用方法Eに対応する論理回路CEに入力したときの出力CE(dm)を求める秘密計算システムであって、
Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdmの下位n番目のビット、CE(dm)[q]はCE(dm)の下位q番目のビットとして、
m番目の前記データ提供装置は、
Nビット以下のデータdmと、データdmの利用条件Lmを記録するデータ提供記録部と、
前記データ利用装置の公開鍵pkuと前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得部と、
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),利用条件Lmを、前記公開鍵pksを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化部と、
rm,1,dm[1],…,rm,N,dm[N]を、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化部と、
暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信部と
を備え、
前記データ利用装置は、
秘密鍵sku、公開鍵pkuを生成し、公開鍵pkuを公開するデータ利用鍵生成部と、
暗号文CA,mと暗号文CB,m、およびgarbled circuit GCEを受信するデータ利用受信部と、
暗号文CA,mと暗号文CB,mを記録するデータ利用記録部と、
データdmの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信部と、
秘密鍵skuを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得るデータ利用復号部と、
rm,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCEを用いてCE(dm)[1],…,CE(dm)[Q]を求めるデータ利用実行部と
を備え、
前記秘密計算装置は、
秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成部と、
利用方法Eと暗号文CA,mとを受信する秘密計算受信部と、
秘密鍵sksを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1),利用条件Lmを得る秘密計算復号部と、
利用方法Eが利用条件Lmを満たしているかを確認する利用条件確認部と、
利用方法Eの論理回路CEを生成する論理回路生成部と、
乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにCE(dm)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成部と、
garbled circuit GCEを前記データ利用装置に送信する秘密計算送信部と
を備える
ことを特徴とする秘密計算システム。 - データ利用装置と秘密計算装置からなり、データdを利用方法Eに対応する論理回路CEに入力したときの出力CE(d)を求める秘密計算システムであって、
Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、CE(d)[q]はCE(d)の下位q番目のビットとして、
前記データ利用装置は、
Nビット以下のデータdと、データdの利用条件Lを記録するデータ提供記録部と、
前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得部と、
2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成部と、
データdを示すインデックスmを作成するインデックス作成部と、
前記乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを、前記公開鍵pksを用いて暗号化し、暗号文CAとするデータ提供第1暗号化部と、
暗号文CAとインデックスmを前記秘密計算装置に送信するデータ提供送信部と、
前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録部と、
データd、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを破棄する情報破棄部と、
データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信部と、
garbled circuit GCEを受信するデータ利用受信部と、
r1,d[1],…,rN,d[N]とgarbled circuit GCEを用いてCE(d)[1],…,CE(d)[Q]を求めるデータ利用実行部と
を備え、
前記秘密計算装置は、
秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成部と、
暗号文CAとインデックスm、または利用方法Eとインデックスmとを受信する秘密計算受信部と、
秘密鍵sksを用いてインデックスmに対応する暗号文CAを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを得る秘密計算復号部と、
乱数(r1,0,r1,1),…,(rN,0,rN,1)と利用条件L、もしくは、暗号文CAを、インデックスmと対応付けて記録する秘密計算記録部と、
利用方法Eが利用条件Lを満たしているかを確認する利用条件確認部と、
利用方法Eの論理回路CEを生成する論理回路生成部と、
乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにCE(d)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成部と、
garbled circuit GCEを前記データ利用装置に送信する秘密計算送信部と
を備える
ことを特徴とする秘密計算システム。 - M個のデータ提供装置、データ利用装置、秘密計算装置を用いて、データdmを利用方法Eに対応する論理回路CEに入力したときの出力CE(dm)を求める秘密計算方法であって、
Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdmの下位n番目のビット、CE(dm)[q]はCE(dm)の下位q番目のビットとして、
m番目の前記データ提供装置において、
データ提供記録部が、あらかじめNビット以下のデータdmを記録しておき、
前記データ利用装置において、
データ利用鍵生成部が、秘密鍵sku、公開鍵pkuを生成し、公開鍵pkuを公開するデータ利用鍵生成ステップと、
前記秘密計算装置において、
秘密計算鍵生成部が、秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成ステップと、
m番目の前記データ提供装置において、
データ提供鍵取得部が、前記データ利用装置の公開鍵pkuと前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得ステップと、
データ提供乱数生成部が、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)を、前記公開鍵pksを用いて暗号化し、暗号文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データ利用受信ステップと、
データ利用送信部が、データdmの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信ステップと、
前記秘密計算装置において、
秘密計算受信部が、利用方法Eと暗号文CA,mとを受信する秘密計算受信ステップと、
秘密計算復号部が、秘密鍵sksを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を得る秘密計算復号ステップと、
論理回路生成部が、利用方法Eの論理回路CEを生成する論理回路生成ステップと、
garbled circuit生成部が、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにCE(dm)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成ステップと、
秘密計算送信部が、garbled circuit GCEを前記データ利用装置に送信する秘密計算送信ステップと、
前記データ利用装置において、
データ利用受信部が、garbled circuit GCEを受信する第2データ利用受信ステップと、
データ利用復号部が、秘密鍵skuを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得るデータ利用復号ステップと、
データ利用実行部が、rm,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCEを用いてCE(dm)[1],…,CE(dm)[Q]を求めるデータ利用実行ステップと
を有することを特徴とする秘密計算方法。 - M個のデータ提供装置、データ利用装置、秘密計算装置を用いて、データdmを利用方法Eに対応する論理回路CEに入力したときの出力CE(dm)を求める秘密計算方法であって、
Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdmの下位n番目のビット、CE(dm)[q]はCE(dm)の下位q番目のビットとして、
m番目の前記データ提供装置において、
データ提供記録部が、あらかじめNビット以下のデータdmを記録しておき、
前記データ利用装置において、
データ利用鍵生成部が、秘密鍵sku、公開鍵pkuを生成し、公開鍵pkuを公開するデータ利用鍵生成ステップと、
前記秘密計算装置において、
秘密計算鍵生成部が、秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成ステップと、
m番目の前記データ提供装置において、
データ提供鍵取得部が、前記データ利用装置の公開鍵pkuと前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得ステップと、
データ提供乱数生成部が、両方が分かればデータdmが分かる断片Z1、Z2を生成するデータ提供乱数生成ステップと、
データ提供第1暗号化部が、断片Z1を、前記公開鍵pksを用いて暗号化し、暗号文CA,mとするデータ提供第1暗号化ステップと、
データ提供第2暗号化部が、断片Z2を、前記データ利用装置の公開鍵で暗号化し、暗号文CB,mとするデータ提供第2暗号化ステップと、
データ提供送信部が、暗号文CA,mと暗号文CB,mを、前記データ利用装置に送信するデータ提供送信ステップと、
前記データ利用装置において、
データ利用受信部が、暗号文CA,mと暗号文CB,mを受信し、データ利用記録部に暗号文CA,mと暗号文CB,mを記録する第1データ利用受信ステップと、
データ利用送信部が、データdmの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信ステップと、
前記秘密計算装置において、
秘密計算受信部が、利用方法Eと暗号文CA,mとを受信する秘密計算受信ステップと、
秘密計算復号部が、秘密鍵sksを用いて暗号文CA,mを復号し、断片Z1得る秘密計算復号ステップと、
論理回路生成部が、利用方法Eの論理回路CEを生成する論理回路生成ステップと、
錯乱回路生成部が、断片Z1を用いて、断片Z2が入力されたときにCE(dm)[q]を出力する錯乱回路ZCを生成する錯乱回路生成ステップと、
秘密計算送信部が、錯乱回路ZCを前記データ利用装置に送信する秘密計算送信ステップと、
前記データ利用装置において、
データ利用受信部が、錯乱回路ZCを受信する第2データ利用受信ステップと、
データ利用復号部が、秘密鍵skuを用いて暗号文CB,mを復号し、断片Z2を得るデータ利用復号ステップと、
データ利用実行部が、断片Z2と錯乱回路ZCを用いてCE(dm)[1],…,CE(dm)[Q]を求めるデータ利用実行ステップと
を有することを特徴とする秘密計算方法。 - データ利用装置と秘密計算装置を用いて、データdを利用方法Eに対応する論理回路CEに入力したときの出力CE(d)を求める秘密計算方法であって、
Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、CE(d)[q]はCE(d)の下位q番目のビットとして、
前記データ利用装置において、
データ提供記録部が、あらかじめNビット以下のデータdを記録しておき、
前記秘密計算装置において、
秘密計算鍵生成部が、秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成ステップと、
前記データ利用装置において、
データ提供鍵取得部が、前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得ステップと、
データ提供乱数生成部が、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成ステップと、
インデックス作成部が、データdを示すインデックスmを作成するインデックス作成ステップと、
データ提供第1暗号化部が、前記乱数(r1,0,r1,1),…,(rN,0,rN,1)を、前記公開鍵pksを用いて暗号化し、暗号文CAとするデータ提供第1暗号化ステップと、
データ提供送信部が、暗号文CAとインデックスmを前記秘密計算装置に送信するデータ提供送信ステップと、
データ利用記録部が、前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録ステップと、
情報破棄部が、データdと乱数(r1,0,r1,1),…,(rN,0,rN,1)を破棄する情報破棄ステップと、
前記秘密計算装置において、
秘密計算受信部が、暗号文CAとインデックスmを受信する第1秘密計算受信ステップと、
秘密計算復号部が、秘密鍵sksを用いてインデックスmに対応する暗号文CAを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)をインデックスmと対応付けて秘密計算記録部に記録する秘密計算復号部と、
前記データ利用装置において、
データ利用送信部が、データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信ステップと、
前記秘密計算装置において、
秘密計算受信部が、利用方法Eとインデックスmとを受信する第2秘密計算受信ステップと、
論理回路生成部が、利用方法Eの論理回路CEを生成する論理回路生成ステップと、
garbled circuit生成部が、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにCE(d)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成ステップと、
秘密計算送信部が、garbled circuit GCEを前記データ利用装置に送信する秘密計算送信ステップと、
前記データ利用装置において、
データ利用受信部が、garbled circuit GCEを受信するデータ利用受信ステップと、
データ利用実行部が、r1,d[1],…,rN,d[N]とgarbled circuit GCEを用いてCE(d)[1],…,CE(d)[Q]を求めるデータ利用実行部と
を有することを特徴とする秘密計算方法。 - データ利用装置と秘密計算装置を用いて、データdを利用方法Eに対応する論理回路CEに入力したときの出力CE(d)を求める秘密計算方法であって、
Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、CE(d)[q]はCE(d)の下位q番目のビットとして、
前記データ利用装置において、
データ提供記録部が、あらかじめNビット以下のデータdを記録しておき、
前記秘密計算装置において、
秘密計算鍵生成部が、秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成ステップと、
前記データ利用装置において、
データ提供鍵取得部が、前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得ステップと、
データ提供乱数生成部が、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成ステップと、
インデックス作成部が、データdを示すインデックスmを作成するインデックス作成ステップと、
データ提供第1暗号化部が、前記乱数(r1,0,r1,1),…,(rN,0,rN,1)を、前記公開鍵pksを用いて暗号化し、暗号文CAとするデータ提供第1暗号化ステップと、
データ提供送信部が、暗号文CAとインデックスmを前記秘密計算装置に送信し、データ利用記録部に前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ提供送信ステップと、
情報破棄部が、データdと乱数(r1,0,r1,1),…,(rN,0,rN,1)を破棄する情報破棄ステップと、
前記秘密計算装置において、
秘密計算受信部が、暗号文CAとインデックスmを受信し、暗号文CAをインデックスmと対応付けて秘密計算記録部に記録するする第1秘密計算受信ステップと、
前記データ利用装置において、
データ利用送信部が、データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信ステップと、
前記秘密計算装置において、
秘密計算受信部が、利用方法Eとインデックスmとを受信する第2秘密計算受信ステップと、
秘密計算復号部が、秘密鍵sksを用いてインデックスmに対応する暗号文CAを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1)を得る秘密計算復号部と、
論理回路生成部が、利用方法Eの論理回路CEを生成する論理回路生成ステップと、
garbled circuit生成部が、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにCE(d)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成ステップと、
秘密計算送信部が、garbled circuit GCEを前記データ利用装置に送信する秘密計算送信ステップと、
前記データ利用装置において、
データ利用受信部が、garbled circuit GCEを受信するデータ利用受信ステップと、
データ利用実行部が、r1,d[1],…,rN,d[N]とgarbled circuit GCEを用いてCE(d)[1],…,CE(d)[Q]を求めるデータ利用実行部と
を有することを特徴とする秘密計算方法。 - M個のデータ提供装置、データ利用装置、秘密計算装置を用いて、データdmの使用方法を制限しながら、データdmを利用方法Eに対応する論理回路CEに入力したときの出力CE(dm)を求める不正使用防止方法であって、
Mを1以上の整数、mを1以上M以下の整数、Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、dm[n]はデータdmの下位n番目のビット、CE(dm)[q]はCE(dm)の下位q番目のビットとして、
m番目の前記データ提供装置において、
データ提供記録部が、あらかじめNビット以下のデータdmを記録しておき、
前記データ利用装置において、
データ利用鍵生成部が、秘密鍵sku、公開鍵pkuを生成し、公開鍵pkuを公開するデータ利用鍵生成ステップと、
前記秘密計算装置において、
秘密計算鍵生成部が、秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成ステップと、
m番目の前記データ提供装置において、
データ提供鍵取得部が、前記データ利用装置の公開鍵pkuと前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得ステップと、
データ提供乱数生成部が、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),利用条件Lmを、前記公開鍵pksを用いて暗号化し、暗号文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データ利用受信ステップと、
データ利用送信部が、データdmの利用方法Eと暗号文CA,mとを前記秘密計算装置に送信するデータ利用送信ステップと、
前記秘密計算装置において、
秘密計算受信部が、利用方法Eと暗号文CA,mとを受信する秘密計算受信ステップと、
秘密計算復号部が、秘密鍵sksを用いて暗号文CA,mを復号し、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1),利用条件Lmを得る秘密計算復号ステップと、
利用条件確認部が、利用方法Eが利用条件Lmを満たしているかを確認する利用条件確認ステップと、
論理回路生成部が、利用方法Eの論理回路CEを生成する論理回路生成ステップと、
garbled circuit生成部が、乱数(rm,1,0,rm,1,1),…,(rm,N,0,rm,N,1)を用いて、rm,n,dm[n]が入力されたときにCE(dm)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成ステップと、
秘密計算送信部が、garbled circuit GCEを前記データ利用装置に送信する秘密計算送信ステップと、
前記データ利用装置において、
データ利用受信部が、garbled circuit GCEを受信する第2データ利用受信ステップと、
データ利用復号部が、秘密鍵skuを用いて暗号文CB,mを復号し、rm,1,dm[1],…,rm,N,dm[N]を得るデータ利用復号ステップと、
データ利用実行部が、rm,1,dm[1],…,rm,N,dm[N]とgarbled circuit GCEを用いてCE(dm)[1],…,CE(dm)[Q]を求めるデータ利用実行ステップと
を有することを特徴とする不正使用防止方法。 - データ利用装置と秘密計算装置を用いて、データdの使用方法を制限しながら、データdを利用方法Eに対応する論理回路CEに入力したときの出力CE(d)を求める不正使用防止方法であって、
Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、CE(d)[q]はCE(d)の下位q番目のビットとして、
前記データ利用装置において、
データ提供記録部が、あらかじめNビット以下のデータdと、データdの利用条件Lを記録しておき、
前記秘密計算装置において、
秘密計算鍵生成部が、秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成ステップと、
前記データ利用装置において、
データ提供鍵取得部が、前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得ステップと、
データ提供乱数生成部が、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成ステップと、
インデックス作成部が、データdを示すインデックスmを作成するインデックス作成ステップと、
データ提供第1暗号化部が、前記乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを、前記公開鍵pksを用いて暗号化し、暗号文CAとするデータ提供第1暗号化ステップと、
データ提供送信部が、暗号文CAとインデックスmを前記秘密計算装置に送信するデータ提供送信ステップと、
データ利用記録部が、前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録ステップと、
情報破棄部が、データd、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを破棄する情報破棄ステップと、
前記秘密計算装置において、
秘密計算受信部が、暗号文CAとインデックスmを受信する第1秘密計算受信ステップと、
秘密計算復号部が、秘密鍵sksを用いてインデックスmに対応する暗号文CAを復号し、乱数(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の論理回路CEを生成する論理回路生成ステップと、
garbled circuit生成部が、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにCE(d)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成ステップと、
秘密計算送信部が、garbled circuit GCEを前記データ利用装置に送信する秘密計算送信ステップと、
前記データ利用装置において、
データ利用受信部が、garbled circuit GCEを受信するデータ利用受信ステップと、
データ利用実行部が、r1,d[1],…,rN,d[N]とgarbled circuit GCEを用いてCE(d)[1],…,CE(d)[Q]を求めるデータ利用実行ステップと
を有することを特徴とする不正使用防止方法。 - データ利用装置と秘密計算装置を用いて、データdの使用方法を制限しながら、データdを利用方法Eに対応する論理回路CEに入力したときの出力CE(d)を求める不正使用防止方法であって、
Nを1以上の整数、nを1以上N以下の整数、Qを1以上の整数、qを1以上Q以下の整数、d[n]はデータdの下位n番目のビット、CE(d)[q]はCE(d)の下位q番目のビットとして、
前記データ利用装置において、
データ提供記録部が、あらかじめNビット以下のデータdと、データdの利用条件Lを記録しておき、
前記秘密計算装置において、
秘密計算鍵生成部が、秘密鍵sks、公開鍵pksを生成し、公開鍵pksを公開する秘密計算鍵生成ステップと、
前記データ利用装置において、
データ提供鍵取得部が、前記秘密計算装置の公開鍵pksを取得するデータ提供鍵取得ステップと、
データ提供乱数生成部が、2N個の乱数(r1,0,r1,1),…,(rN,0,rN,1)を生成するデータ提供乱数生成ステップと、
インデックス作成部が、データdを示すインデックスmを作成するインデックス作成ステップと、
データ提供第1暗号化部が、前記乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを、前記公開鍵pksを用いて暗号化し、暗号文CAとするデータ提供第1暗号化ステップと、
データ提供送信部が、暗号文CAとインデックスmを前記秘密計算装置に送信するデータ提供送信ステップと、
データ利用記録部が、前記インデックスmとr1,d[1],…,rN,d[N]を記録するデータ利用記録ステップと、
情報破棄部が、データd、乱数(r1,0,r1,1),…,(rN,0,rN,1)、利用条件Lを破棄する情報破棄ステップと、
前記秘密計算装置において、
秘密計算受信部が、暗号文CAとインデックスmを受信し、暗号文CAをインデックスmと対応付けて記録する第1秘密計算受信ステップと、
前記データ利用装置において、
データ利用送信部が、データdの利用方法Eとインデックスmとを前記秘密計算装置に送信するデータ利用送信ステップと、
前記秘密計算装置において、
秘密計算受信部が、利用方法Eとインデックスmとを受信する第2秘密計算受信ステップと、
秘密計算復号部が、秘密鍵sksを用いてインデックスmに対応する暗号文CAを復号し、乱数(r1,0,r1,1),…,(rN,0,rN,1),利用条件Lを求める秘密計算復号ステップと、
利用条件確認部が、利用方法Eが利用条件Lを満たしているかを確認する利用条件確認ステップと、
論理回路生成部が、利用方法Eの論理回路CEを生成する論理回路生成ステップと、
garbled circuit生成部が、乱数(r1,0,r1,1),…,(rN,0,rN,1)を用いて、rn,d[n]が入力されたときにCE(d)[q]を出力するgarbled circuit GCEを生成するgarbled circuit生成ステップと、
秘密計算送信部が、garbled circuit GCEを前記データ利用装置に送信する秘密計算送信ステップと、
前記データ利用装置において、
データ利用受信部が、garbled circuit GCEを受信するデータ利用受信ステップと、
データ利用実行部が、r1,d[1],…,rN,d[N]とgarbled circuit GCEを用いてCE(d)[1],…,CE(d)[Q]を求めるデータ利用実行ステップと
を有することを特徴とする不正使用防止方法。
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)
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)
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 | 日本電信電話株式会社 | 秘密計算システム、秘密計算方法、および秘密計算プログラム |
-
2010
- 2010-02-24 JP JP2010038663A patent/JP5337076B2/ja active Active
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 |