JP2015068871A - 電子透かしシステム、電子透かし鍵生成装置、電子透かし埋込装置、電子透かし検出装置、電子透かし除去装置、関数実行装置、電子透かし方法及びプログラム - Google Patents

電子透かしシステム、電子透かし鍵生成装置、電子透かし埋込装置、電子透かし検出装置、電子透かし除去装置、関数実行装置、電子透かし方法及びプログラム Download PDF

Info

Publication number
JP2015068871A
JP2015068871A JP2013200796A JP2013200796A JP2015068871A JP 2015068871 A JP2015068871 A JP 2015068871A JP 2013200796 A JP2013200796 A JP 2013200796A JP 2013200796 A JP2013200796 A JP 2013200796A JP 2015068871 A JP2015068871 A JP 2015068871A
Authority
JP
Japan
Prior art keywords
key
digital watermark
base
function
matrix
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
Application number
JP2013200796A
Other languages
English (en)
Other versions
JP5975961B2 (ja
Inventor
陵 西巻
Ryo Nishimaki
陵 西巻
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 JP2013200796A priority Critical patent/JP5975961B2/ja
Publication of JP2015068871A publication Critical patent/JP2015068871A/ja
Application granted granted Critical
Publication of JP5975961B2 publication Critical patent/JP5975961B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】損失落とし戸関数に対して電子透かしを埋め込み、検出し、除去する。
【解決手段】電子透かし鍵生成装置10はベクトル空間パラメータ、公開鍵、秘密鍵、埋込鍵、検出鍵、除去鍵、単射鍵、損失鍵及び逆関数鍵を生成する。電子透かし埋込装置20は入力された埋込対象関数鍵へ埋込鍵を用いて電子透かしを埋め込み、透かし付関数鍵を出力する。電子透かし検出装置30は検出鍵を用いて入力された検出対象関数鍵に電子透かしが埋め込まれているか否かを検出する。電子透かし除去装置40は除去鍵を用いて入力された除去対象関数鍵から電子透かしを除去して除去済関数鍵を出力する。関数実行装置50は情報xから透かし付関数鍵を用いて情報yを計算する。また、情報yから逆関数鍵を用いて情報xを逆計算する。
【選択図】図4

Description

この発明は、著作権保護や不正コピー防止などに利用される電子透かし技術に関し、特に、電気通信システムの暗号機能を実現するために用いられる暗号学的関数に対する電子透かし技術に関する。
従来からデジタル音声、デジタル画像、デジタル動画などのマルチメディア情報に対して著作権保護や不正コピーの追跡、制御などを目的として電子透かし技術が用いられている。また、ソフトウェア、プログラムに対する電子透かしを実現するために、関数に対して電子透かしを入れる技術が考えられている。
関数に対する電子透かしを実現する方法として、例えば、ハッシュ関数へ著作権を付与する方法(非特許文献1)や、放送暗号における復号関数へ著作権を付与する方法(非特許文献2)がある。これらの方式は、電子透かしの概念と近い技術であり、不正な関数生成を防止することができる。また、ペアリング上のベクトル空間におけるベクトル分解問題に基づき、デジタル署名への電子透かし方法が提案されている(非特許文献3)。
David Naccache, Adi Shamir, and Julien P. Stern. "How to copyright a function?", In Public Key Cryptography, volume 1560 of Lecture Notes in Computer Science, pages 188-196. Springer, 1999. Aggelos Kiayias and Moti Yung. "Traitor tracing with constant transmission rate.", In EUROCRYPT, volume 2332 of Lecture Notes in Computer Science, pages 450-465. Springer, 2002. Maki Yoshida and Toru Fujiwara. "Toward digital watermarking for cryptographic data.", IEICE Transactions, 94-A(1):270-272, 2011.
しかしながら、従来の電子透かし技術は暗号学的な取り扱いがなされず、暗号学的に証明可能な安全性を有していなかった。また、暗号学的関数への電子透かし技術はこれまで実現されていなかった。
例えば、非特許文献1に記載の技術は、著作権を付与することができるのはハッシュ関数のみである。ハッシュ関数は署名に利用することはできるが、公開鍵暗号や紛失通信など、その他の強力な暗号プリミティブを実現できるかどうかがわかっていない。また、非特許文献1の方式は電子透かしの検出をデータベースに登録してある情報を検索することでしか実現できず、電子透かしの除去もできない。さらに、著作権付与回数が限定されている。非特許文献2に記載の技術も、著作権を付与できるのは復号関数のみであるので、その他の強力な暗号プリミティブに応用できるかどうかがわかっておらず、著作権付与回数が限定されている。非特許文献3に記載の技術は、電子署名に対してしか実現できておらず、その他の強力な暗号プリミティブに応用できるかどうかがわかっていない。また、暗号学的に証明可能な安全性を有していない。
この発明はこのような点に鑑みてなされたものであり、様々な暗号プリミティブを実現することができる暗号学的関数である損失落とし戸関数に対して電子透かしを埋め込み、検出し、除去することができる電子透かし技術を提供することを目的とする。
上記の課題を解決するために、この発明の電子透かしシステムは、電子透かし鍵生成装置、電子透かし埋込装置、電子透かし検出装置、電子透かし除去装置及び関数実行装置を含む。以下では、Nは自然数であり、qは素数であり、G,GTは位数qの巡回乗法群であり、gは群Gの生成元であり、Fqは位数qの有限体であり、Fq ×は有限体Fq上の乗法群であり、GL(N,Fq)は有限体Fq上のN次元一般線形群であり、Xは一般線形群GL(N,Fq)からランダムに生成した正則行列であり、Vは有限体Fq上のN次元ベクトル空間であり、Aはベクトル空間Vの標準基底であり、eはV×V→GTの双線形写像であり、γはN以下の任意の整数であり、paramVはparamV:=(q,V,GT,A,e)であるベクトル空間パラメータであるとする。
電子透かし鍵生成装置は、双対直交基底生成部、鍵ペア生成部、埋込鍵生成部、検出鍵生成部、除去鍵生成部、単射鍵生成部及び損失鍵生成部を含む。双対直交基底生成部は、標準基底A及び正則行列Xを用いて、ベクトル空間Vの双対直交基底である基底B及び基底B*を生成する。鍵ペア生成部は、基底Bから所定の元を選択して基底B^を生成した上でベクトル空間パラメータparamV及び基底B^を含む公開鍵pk並びに基底B*から所定の元を選択した秘密鍵skを生成する。埋込鍵生成部は、基底B*から秘密鍵skに含まれない元を選択して埋込鍵mkを生成する。検出鍵生成部は、基底Bから基底B^に含まれない元を選択して検出鍵dkを生成する。除去鍵生成部は、正則行列Xを除去鍵rkとして設定する。単射鍵生成部は、単位行列に設定したγ×γの行列Mを用いて生成した行列ui,j、基底Bを用いて生成した行列vi,j及び基底B*を用いて生成した値kIDを含む単射鍵ekI並びに有限体Fqからランダムに生成した逆関数鍵ikを生成する。損失鍵生成部は、ゼロ行列に設定したγ×γの行列Mを用いて生成した行列ui,j、基底Bを用いて生成した行列vi,j及び基底B*を用いて生成した値kIDを含む損失鍵ekLを生成する。
電子透かし埋込装置は、電子透かし埋込部を含む。電子透かし埋込部は、埋込対象関数鍵ekを入力として、埋込鍵mkを用いて、埋込対象関数鍵ekに含まれる値kIDに電子透かしを埋め込んだ透かし付関数鍵WM(ek)を生成する。
電子透かし検出装置は、電子透かし検出部を含む。電子透かし検出部は、検出対象関数鍵ek’を入力として、検出鍵dkを用いて、検出対象関数鍵ek’に含まれる値kIDに電子透かしが埋め込まれているか否かを示す情報を出力する。
電子透かし除去装置は、電子透かし除去部を含む。電子透かし除去部は、除去対象関数鍵ek”を入力として、除去鍵rkを用いて、除去対象関数鍵ek”に含まれる値kIDから電子透かしを取り除いた除去済関数鍵ek^を出力する。
関数実行装置は、関数実行部及び逆関数実行部を含む。関数実行部は、計算対象の情報xを入力として、透かし付関数鍵WM(ek)を用いて、計算結果である情報yを出力する。逆関数実行部は、逆計算対象の情報yを入力として、逆関数鍵ikを用いて、逆計算結果である情報xを出力する。
この発明の電子透かし処理技術によれば、損失落とし戸関数に対して電子透かしを埋め込み、検出し、除去することができる。損失落とし戸関数は、様々な暗号プリミティブを実現することができる暗号学的関数である。したがって、損失落とし戸関数により実現される暗号プリミティブを実装するソフトウェアに対して著作権の付与や不正コピーの防止などが可能となる。
図1は、損失落とし戸関数を説明するための図である。 図2は、関数に対する電子透かしの埋込及び除去を説明するための図である。 図3は、関数に対する電子透かしの検出を説明するための図である。 図4は、電子透かしシステムの機能構成を例示する図である。 図5は、電子透かし鍵生成装置の機能構成を例示する図である。 図6(A)は、電子透かし埋込装置の機能構成を例示する図である。図6(B)は、電子透かし検出装置の機能構成を例示する図である。図6(C)は、電子透かし除去装置の機能構成を例示する図である。 図7は、関数実行装置の機能構成を例示する図である。 図8は、電子透かし鍵生成装置の処理フローを例示する図である。 図9(A)は、電子透かし埋込装置の処理フローを例示する図である。図9(B)は、電子透かし検出装置の処理フローを例示する図である。図9(C)は、電子透かし除去装置の処理フローを例示する図である。 図10は、関数実行装置の処理フローを例示する図である。 図11は、電子透かしシステムのデータフローを例示する図である。 図12は、この発明の電子透かし処理技術と従来技術との比較を示す図である。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[表記方法]
実施形態の説明に先立ち、この明細書で用いる表記方法及び用語を定義する。
次式は、ある値a,bについて、aにbを代入する、又は、aをbで定義することを表す。
Figure 2015068871
_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
次式は、ある有限集合Sについて、集合Sから要素rを一様ランダムに選ぶことを表す。
Figure 2015068871
次式は、ある確率的多項式時間アルゴリズムAについて、アルゴリズムAがxを入力にとり、乱数を生成して動作し、aを出力することを表す。
Figure 2015068871
(上付き文字の右矢印)は有限体Fq上のベクトル表現を表す。つまり、xは(x1,…,xn)∈Fqである。数式内における次式も同様である。
Figure 2015068871
次式はいずれもベクトルxとベクトルyの内積を表す。
Figure 2015068871
すなわち、x=(x1,…,xn)、y=(y1,…,yn)であるとして、次式により定義される演算を表す。
Figure 2015068871
T(上付き文字のT)は行列の転置を表す。例えば、XTは行列Xの転置行列である。数式内における次式も同様である。
Figure 2015068871
-1(上付き文字の-1)は逆行列を表す。例えば、X-1は行列Xの逆行列である。数式内における次式も同様である。
Figure 2015068871
bi∈V(i=1,…,n)のとき、span<b1,…,bn>⊆Vは、b1,…,bnによって生成される部分空間である。
基底B:=(b1,…,bN)と基底B*:=(b* 1,…,b* N)に対し、次式の演算を定義する。
Figure 2015068871
ベクトルe jは次式により定義される標準基底ベクトルである。
Figure 2015068871
λはセキュリティパラメータを表す。
qはλビットの素数である。
G,GTは素数位数qの巡回乗法群である。
gは群Gの生成元である。
eはe:V×V→GTの双線形写像である。
Fqは位数qの有限体である。
Fq ×は有限体Fqの乗法群である。
GL(n,Fq)は有限体Fq上のn次元一般線形群である。
BMSetupは1λを入力とし、双線形写像のパラメータ(q,g,G,GT,e)を出力する標準的なアルゴリズムである。
[双線形写像の説明]
双線形写像とは、楕円曲線上の二点に定義されるペアリング演算を行うための関数である。G×G→GTの双線形写像eは以下の性質を満たす。
<双線型性>任意のg,h∈G及び任意のa,b∈Fqに対して、e(ag,bh)=e(g,h)abが成立する。
<非退化性>e(g,g)≠1を満たすgが存在する。つまり、もしgがGの生成元ならe(g,g)はGTの生成元である。
<計算可能性>任意のg,h∈Gに対して、e(g,h)を効率的に(つまり多項式時間で)計算可能である。
双線形写像の具体例としては、例えば、WeilペアリングやTateペアリングなどが考えられる。ペアリング演算をコンピュータ上で行うためのアルゴリズムとしては、周知のMillerのアルゴリズムなどが存在する。詳しくは「D. Boneh and M. K. Franklin. “Identity-Based Encryption from the Weil Pairing.”, In CRYPTO’01,volume 2139 of Lecture Notes in Computer Science, pages 213-229, Springer, 2001.(参考文献1)」や「D. Moriyama, R. Nishimaki, and T. Okamoto, “公開鍵暗号の数理” 共立出版, 2011.(参考文献2)」及び「黒澤馨, “現代暗号への招待”, サイエンス社(参考文献3)」などを参照されたい。
[双対ペアリングベクトル空間の説明]
この発明では双対ペアリングベクトル空間を利用する。対称ペアリング群(q,G,GT,g,e)による双対ペアリングベクトル空間(q,V,GT,A,e)とは、素数q、有限体Fq上のN次元ベクトル空間V、位数qの巡回群GT、ベクトル空間Vの標準基底A及びe:V×V→GTである双線形写像eの組である。
ここで、N次元ベクトル空間Vは以下の式で定義される。
Figure 2015068871
ベクトル空間Vの標準基底Aは以下の式で定義される。
Figure 2015068871
双線形写像eは以下の式で定義される。
Figure 2015068871
これは非退化双線形である。つまり、e(sx,ty)=e(x,y)st、かつ、もしすべてのy∈Vに対しe(x,y)=1ならばx=0である。
すべてのi及びjに対しe(ai,aj)=e(g,g)δ_i,jである。ただし、i=jならばδi,j=1であり、i≠jならばδi,j=0である。またe(g,g)≠1である。
双対ペアリングベクトル空間生成アルゴリズムGdpvsは1λ及び自然数Nを入力として、ベクトル空間パラメータparamV:=(q,V,GT,A,e)を得る。ここで、Nはベクトル空間Vの次元数である。双対ペアリングベクトル空間生成アルゴリズムGdpvsはGbmpを使用して構成することができる。
双対ペアリングベクトル空間において、双対基底を構成する方法は以下の通りである。まず、双線形写像パラメータ(q,g,G,GT,e)を次式により生成する。
Figure 2015068871
次に、双対直交基底(paramV,B,B*)を次式により生成する。
Figure 2015068871
ただし、gobは次式により定義される。
Figure 2015068871
双対ペアリングベクトル空間は以下の性質を有する。
<ペアリング演算>双対ペアリングベクトル空間Vの要素x,y∈Vについて、次式が成立する。
Figure 2015068871
ここで、x及びyは基底A上の係数ベクトルとして表現可能である。つまり、次式に示すように表すことができる。
Figure 2015068871
<基底変換>標準基底Aは一様ランダムな正則行列Xを用いて、N次元ベクトル空間Vの基底Bに変換可能である。ただし、正則行列Xは有限体Fq上のN次元一般線形群GL(N,Fq)よりランダムに生成され、次式により定義される。
Figure 2015068871
また、基底Bは次式により定義される。
Figure 2015068871
標準基底Aは上記の正則行列Xを用いてN次元ベクトル空間Vの基底B*にも変換可能である。ただし、基底B*は次式により定義される。
Figure 2015068871
ここで注目すべきは次式が成立することである。
Figure 2015068871
つまり、基底Bと基底B*はベクトル空間Vの双対直交基底である。
ここで、x:=x1b1+…+xNbN∈V及びy:=y1b* 1+…+yNb* N∈Vは基底B及び基底B*の係数ベクトルとして表現可能である。つまり、次式が成立する。
Figure 2015068871
双対ペアリングベクトル空間についての詳細は、「Tatsuaki Okamoto and Katsuyuki Takashima. “Fully secure functional encryption with general relations from the decisional linear assumption.”, In CRYPTO, volume 6223 of Lecture Notes in Computer Science, pages 191-208, Springer, 2010.(参考文献4)」を参照されたい。
[損失落とし戸関数の説明]
この発明では損失落とし戸関数に対する電子透かしを実現する。図1を参照して、損失落とし戸関数について説明する。ここでは、損失落とし戸関数LTFを定義域Dから定義域Rへの写像とする。損失落とし戸関数LTFは単射関数fと損失関数flossのいずれとしても動作することができるが、単射関数fと損失関数flossは識別不可能である。単射関数fは一対一の写像である。そして、逆関数f-1が計算可能である。逆関数f-1は計算が困難であるが、落とし戸tがあれば効率的に計算することができる。損失関数flossは単射ではない。したがって、落とし戸tがあったとしても逆関数floss -1は計算することができない。
損失落とし戸関数LTFは以下の四つの多項式時間アルゴリズムからなる。ここで、λはセキュリティパラメータであり、n(λ)は関数の入力長である。
・単射鍵生成:アルゴリズムLTF.IGenは、計算鍵ekと逆計算鍵ikを出力する。
・計算:アルゴリズムLTF.Evalek(X)(ただし、X∈D)は像Y=fek(X)を出力する。
・逆計算:アルゴリズムLTF.Invertik(Y)は逆像X=f-1 ik(Y)を出力する。
・損失鍵生成:アルゴリズムLTF.LGenは計算鍵ek’を出力する。
損失落とし戸関数LTFは以下の性質を有する。
<完全性>すべての計算鍵ek及び逆計算鍵ikの組み合わせ
Figure 2015068871
及びX∈Dに対して、fik -1(fek(X))=Xが成立する。
<識別不可能性>すべての確率的多項式時間攻撃者Αに対して
Figure 2015068871
が成立する。ここで、neglは無視できる関数である。
<損失性>損失落とし戸関数LTFがγ損失であるとは、すべての
Figure 2015068871
に対して、像fek’(D)のサイズが高々|D|/2γとなることである。
損失落とし戸関数を利用することで、一方向性関数、落とし戸付一方向性関数、衝突困難ハッシュ関数、選択暗号文攻撃に対して安全な公開鍵暗号、紛失通信などの様々な暗号プリミティブを実現することができる。したがって、損失落とし戸関数に対する電子透かしを実現することは、様々な電子透かし付き暗号プリミティブを実現できることを意味している。
損失落とし戸関数についての詳細は、「Chris Peikert and Brent Waters. “Lossy trapdoor functions and their applications.”, In STOC'08, pages 187-196, ACM, 2008.(参考文献5)」及び「D. Moriyama, R. Nishimaki, and T. Okamoto. “公開鍵暗号の数理” 共立出版, 2011.(参考文献6)」を参照されたい。
[関数への電子透かし処理の説明]
図2を参照して、関数に対する電子透かしの埋込方法及び除去方法を説明する。関数fに対して電子透かしを埋め込むために、埋込アルゴリズムMarkは、埋込鍵mkを用いてそれぞれに異なるパターンが埋め込まれた透かし付き関数fm1,…,fmnを出力する。透かし付き関数fm1,…,fmnはいずれも電子透かしを埋め込む前の関数fと同じ計算を行う。
電子透かしを除去する除去アルゴリズムRemoveは、除去鍵rkを用いて透かし付き関数fm1,…,fmnに埋め込まれた電子透かしを除去して元の関数fを復元することができる。
図3を参照して、関数に対する電子透かしの検出方法を説明する。関数に対して電子透かしが埋め込まれているか否かを検出する検出アルゴリズムDetectは、検出鍵dkを用いて入力された関数に電子透かしが埋め込まれているかを示す情報を出力する。透かし付き関数fmjが入力された場合には、電子透かしが埋め込まれていることを示す「true」を出力する。透かしなし関数fが入力された場合には、電子透かしが埋め込まれていないことを示す「false」を出力する。不正なユーザjが他のユーザに関数fmjのコピーを渡した場合、コピーされた関数に電子透かしが埋め込まれているか否かを検出し、検出した電子透かしのパターンから関数fmjの流出元である不正ユーザjが誰かを特定することができる。
したがって、電子透かしを実現するために必要とされる要件は、電子透かしの偽造を防止するために埋込鍵mkがなければ電子透かしを埋め込むことができないこと、そして、除去鍵rkがないと関数の機能を破壊することなく電子透かしを取り除くことができないことである。
[この発明のポイント]
損失落とし戸関数への電子透かしを実現するために、この発明では、双対ペアリングベクトル空間を利用する。そして、双対ペアリングベクトル空間の双対直交基底を使用した電子透かしの実現のために、準機能暗号文と準機能鍵を利用する。準機能暗号文は通常の暗号文と識別不可能であり、通常の鍵を用いる限り通常通り復号が可能である。準機能鍵は通常の鍵と識別不可能であり、通常の暗号文については通常通り復号可能である。一方で、準機能暗号文を準機能鍵で復号することは不可能である。この準機能暗号文と準機能鍵の性質は、従来は暗号の安全性を証明するためのテクニックとして用いられてきたが、暗号機能を実行する上では利用されてこなかった。この発明による問題解決手法として重要な点は、これら準機能暗号文と準機能鍵を証明のテクニックとしてだけではなく、暗号機能を実行する上で利用したことである。
また、電子透かしの除去を可能とするために、双対ペアリングベクトル空間の生成に使用した正則行列Xを利用する。これまで双対ペアリングベクトル空間を利用した技術は双対直交基底を利用することで様々な問題を解決してきたが、その生成に用いた行列Xそのものを利用することは考えられていなかった。このように正則行列Xを利用することも問題解決手法として重要な点である。
[第一実施形態]
<構成>
図4を参照して、この発明の第一実施形態に係る電子透かしシステム1の機能構成例を説明する。電子透かしシステム1は電子透かし鍵生成装置10、電子透かし埋込装置20、電子透かし検出装置30、電子透かし除去装置40、関数実行装置50及びネットワーク9から構成される。電子透かし鍵生成装置10、電子透かし埋込装置20、電子透かし検出装置30、電子透かし除去装置40及び関数実行装置50はネットワーク9に接続されている。ネットワーク9は電子透かしシステム1を構成する各装置が相互に通信可能であればよく、例えばインターネットやLAN、WANなどで構成することができる。また、電子透かしシステム1を構成する各装置間は必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、電子透かし鍵生成装置10が出力する情報をUSBメモリなどの可搬記録媒体に記憶し、その可搬記録媒体から関数実行装置50へオフラインで入力するように構成してもよい。
図5を参照して、電子透かしシステム1に含まれる電子透かし鍵生成装置10の構成例を説明する。電子透かし鍵生成装置10は、双線形写像パラメータ生成部110、ベクトル空間パラメータ生成部115、双対直交基底生成部120、鍵ペア生成部125、埋込鍵生成部130、検出鍵生成部135、除去鍵生成部140、透かし鍵配信部145、単射鍵生成部150、損失鍵生成部155及び関数鍵配信部160を備える。電子透かし鍵生成装置10は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。電子透かし鍵生成装置10は、例えば、中央演算処理装置の制御のもとで各処理を実行する。電子透かし鍵生成装置10に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。
図6(A)を参照して、電子透かしシステム1に含まれる電子透かし埋込装置20の構成例を説明する。電子透かし埋込装置20は、電子透かし埋込部210及び埋込鍵記憶部290を備える。電子透かし埋込装置20は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。電子透かし埋込装置20は、例えば、中央演算処理装置の制御のもとで各処理を実行する。電子透かし埋込装置20に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。埋込鍵記憶部290は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスク若しくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、又はリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
図6(B)を参照して、電子透かしシステム1に含まれる電子透かし検出装置30の構成例を説明する。電子透かし検出装置30は、電子透かし検出部310及び検出鍵記憶部390を備える。電子透かし検出装置30は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。電子透かし検出装置30は、例えば、中央演算処理装置の制御のもとで各処理を実行する。電子透かし検出装置30に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。検出鍵記憶部390は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスク若しくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、又はリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
図6(C)を参照して、電子透かしシステム1に含まれる電子透かし除去装置40の構成例を説明する。電子透かし除去装置40は、電子透かし除去部410及び除去鍵記憶部490を備える。電子透かし除去装置40は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。電子透かし除去装置40は、例えば、中央演算処理装置の制御のもとで各処理を実行する。電子透かし除去装置40に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。除去鍵記憶部490は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスク若しくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、又はリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
図7を参照して、電子透かしシステム1に含まれる関数実行装置50の構成例を説明する。関数実行装置50は、関数実行部510、逆関数実行部520及び関数鍵記憶部590を備える。関数実行装置50は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。関数実行装置50は、例えば、中央演算処理装置の制御のもとで各処理を実行する。関数実行装置50に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。関数鍵記憶部590は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスク若しくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、又はリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
<鍵生成処理>
図8を参照して、電子透かし鍵生成装置10が実行する鍵生成処理の動作例を実際に行われる手続きの順に従って詳細に説明する。
ステップS110において、電子透かし鍵生成装置10の備える双線形写像パラメータ生成部110は、セキュリティパラメータ1λを入力として、次式に示すようにBMSetupを実行して、双線形写像パラメータ(q,g,G,GT,e)を生成する。
Figure 2015068871
ステップS115において、電子透かし鍵生成装置10の備えるベクトル空間パラメータ生成部115は、次式に示すように双対ペアリングベクトル空間生成アルゴリズムGdpvsを実行して、ベクトル空間パラメータparamV:=(q,V,GT,A,e,gT)を生成する。
Figure 2015068871
ここで、gTは、有限体Fqの乗法群Fq ×から乱数ψを選択し、次式により計算する。
Figure 2015068871
ステップS120において、電子透かし鍵生成装置10の備える双対直交基底生成部120は、ベクトル空間パラメータparamV:=(q,V,GT,A,e,gT)を用いて、ベクトル空間Vの基底B,B*,B^を生成する。まず、双対直交基底生成部120は、次式に示すように10次元一般線形群GL(10,Fq)から正則行列Xをランダムに生成する。ただし、i,j=1,…,10である。
Figure 2015068871
次に、双対直交基底生成部120は、次式に示すように基底Bを生成する。
Figure 2015068871
続いて、双対直交基底生成部120は、次式に示すように基底B*を生成する。
Figure 2015068871
そして、双対直交基底生成部120は、基底B:=(b1,…,b10)を用いて基底B^:=(b1,b2,b3,b10)を生成する。
ステップS125において、電子透かし鍵生成装置10の備える鍵ペア生成部125は、公開鍵pk:=(paramV,B^,Samp)を生成する。ここで、Sampは双対ペアリングベクトル空間のパラメータを用いて損失落とし戸関数の関数インデックスを生成する関数鍵生成アルゴリズムである。第一実施形態に係る関数鍵生成アルゴリズムSampについての詳細は後述する。
そして、鍵ペア生成部125は、基底B*:=(b* 1,…,b* 10)を用いて秘密鍵sk:=(b* 1,b* 2,b* 3,b* 6,b* 7)を生成する。
ステップS130において、電子透かし鍵生成装置10の備える埋込鍵生成部130は、基底B*:=(b* 1,…,b* 10)を用いて埋込鍵mk:=(b* 8,b* 9)を生成する。
ステップS135において、電子透かし鍵生成装置10の備える検出鍵生成部135は、基底B:=(b1,…,b10)を用いて検出鍵dk:=(b8,b9)を生成する。
ステップS140において、電子透かし鍵生成装置10の備える除去鍵生成部140は、正則行列Xを用いて除去鍵rk:=X=(χi,j)(i,j=1,…,10)を生成する。
ステップS145において、電子透かし鍵生成装置10の備える透かし鍵配信部145は、生成した公開鍵pk:=(paramV,B^,Samp)、埋込鍵mk:=(b* 8,b* 9)、検出鍵dk:=(b8,b9)及び除去鍵rk:=Xを各装置に配信する。図11に電子透かし鍵生成装置10が生成した電子透かし鍵を配信する動作例を示す。公開鍵pkは電子透かし埋込装置20、電子透かし検出装置30及び電子透かし除去装置40に配信される。埋込鍵mkは電子透かし埋込装置20に配信される。検出鍵dkは電子透かし検出装置30に配信される。除去鍵rkは電子透かし除去装置40に配信される。
電子透かし埋込装置20は、配信された公開鍵pk及び埋込鍵mkを埋込鍵記憶部290へ記憶する。電子透かし検出装置30は、配信された公開鍵pk及び検出鍵dkを検出鍵記憶部390へ記憶する。電子透かし除去装置40は、配信された公開鍵pk及び除去鍵rkを除去鍵記憶部490へ記憶する。
ステップS150において、電子透かし鍵生成装置10の備える単射鍵生成部150は、ベクトル空間パラメータparamV、基底B^及び秘密鍵skを入力として関数鍵生成アルゴリズムSampを実行し、関数鍵ek及び逆関数鍵ikを生成する。このとき、出力された関数鍵ekを単射鍵ekIとする。
第一実施形態に係る関数鍵生成アルゴリズムSampは、以下のように関数鍵ek及び逆関数鍵ikを生成する。まず、任意のビット列ID∈{0,1}*を選択し、有限体Fq上のγ次元ベクトルψを次式に示すようにランダムに生成する。
Figure 2015068871
次に、j=1,…,γについて、次式に示すようにgT_jを計算する。
Figure 2015068871
続いて、i=1,…,γについて、有限体Fq上の乱数ζiiiを次式に示すように生成する。
Figure 2015068871
次に、i,j=1,…,γについて、行列ui,j及び行列υiを次式に示すように計算する。
Figure 2015068871
ただし、行列ui,jを生成する際に用いる行列mi,j(i,j=1,…,γ)は単位行列である。すなわち、mi,j=1(i=j)かつmi,j=0(i≠j)とする。
次に、有限体Fq上の乱数σ及び有限体Fq上の2次元ベクトルηを次式に示すようにランダムに生成する。
Figure 2015068871
次に、ビット列ID、乱数σ、ベクトルη及び基底B*を用いて次式に示すように値kIDを生成する。
Figure 2015068871
そして、関数鍵生成アルゴリズムSampは、関数鍵ekを次式に示すように設定する。
Figure 2015068871
ここで、{ui,j}i,jは(u1,1,…,uγ,γ)を表し、{υi}iは(υ1,…,υγ)を表す。これを行列で表現すると、次式に示すように表すことができる。
Figure 2015068871
また、関数鍵生成アルゴリズムSampは、逆関数鍵ikをik:=ψと設定する。
ステップS155において、電子透かし鍵生成装置10の備える損失鍵生成部155は、単射鍵生成部150と同様に、関数鍵生成アルゴリズムSampを実行することで、損失鍵ekL及び逆関数ikを生成する。ただし、関数鍵生成アルゴリズムSampにおいて、行列ui,jを生成する際に用いる行列mi,j(i,j=1,…,γ)はゼロ行列に設定する。すなわち、すべてのi,jについてmi,j=0である。また、逆関数ikはik:=⊥が設定される。損失関数は逆関数を計算できないためである。
ステップS160において、電子透かし鍵生成装置10の備える関数鍵配信部160は、生成した単射鍵ekI若しくは損失鍵ekL及び逆関数鍵ikを各装置に配信する。図11に電子透かし鍵生成装置10が生成した関数鍵を配信する動作例を示す。単射鍵ekI若しくは損失鍵ekLは電子透かし埋込装置20に配信される。逆関数鍵ikは関数実行装置50に配信される。電子透かしを埋め込まずに損失落とし戸関数LTFを利用したい場合には、単射鍵ekI若しくは損失鍵ekLを関数実行装置50に配信してもよい。
電子透かし埋込装置20は、配信された単射鍵ekI若しくは損失鍵ekLを埋込鍵記憶部290へ記憶する。関数実行装置50は、配信された逆関数鍵ikを関数鍵記憶部590へ記憶する。また、関数実行装置50は、単射鍵ekI若しくは損失鍵ekLが配信された場合には、その単射鍵ekI若しくは損失鍵ekLを関数鍵記憶部590へ記憶する。
<電子透かし埋込処理>
図9(A)を参照して、電子透かし埋込装置20が実行する電子透かし埋込処理の動作例を実際に行われる手続きの順に従って詳細に説明する。
上述の通り、電子透かし埋込装置20の備える埋込鍵記憶部290には、電子透かし鍵生成装置10が生成した公開鍵pk及び埋込鍵mkが記憶されている。
ステップS211において、電子透かし埋込装置20の備える電子透かし埋込部210は、埋込対象関数鍵ekを入力として、埋込鍵記憶部290に記憶されている公開鍵pk及び埋込鍵mkを用いて、透かし付関数鍵WM(ek)を出力する。埋込対象関数鍵ekは、電子透かし鍵生成装置10により生成された単射鍵ekI若しくは損失鍵ekLであり、次式に示すように表すことができる。
Figure 2015068871
まず、電子透かし埋込部210は、有限体Fq上の乱数μ12を選択する。
Figure 2015068871
次に、電子透かし埋込部210は、埋込対象関数鍵ekに含まれる値kID、乱数μ12及び基底B*を用いて、次式に示すように値k~IDを計算する。
Figure 2015068871
ステップS212において、電子透かし埋込部210は、透かし付関数鍵WM(ek)を次式に示すように出力する。
Figure 2015068871
<電子透かし検出処理>
図9(B)を参照して、電子透かし検出装置30が実行する電子透かし検出処理の動作例を実際に行われる手続きの順に従って詳細に説明する。
上述の通り、電子透かし検出装置30の備える検出鍵記憶部390には、電子透かし鍵生成装置10が生成した公開鍵pk及び検出鍵dkが記憶されている。
ステップS311において、電子透かし検出装置30の備える電子透かし検出部310は、検出対象関数鍵ek’を入力として、検出鍵記憶部390に記憶されている公開鍵pk及び検出鍵dkを用いて、検出対象関数鍵ek’に電子透かしが埋め込まれているか否かを示す情報を出力する。検出対象関数鍵ek’は、電子透かし鍵生成装置10により生成された電子透かしが埋め込まれていない単射鍵ekI若しくは損失鍵ekL又は電子透かし埋込装置20により電子透かしが埋め込まれた透かし付関数鍵WM(ek)であり、次式に示すように表すことができる。
Figure 2015068871
まず、電子透かし検出部310は、有限体Fqの乗法群Fq ×上の乱数δ12を選択する。
Figure 2015068871
次に、電子透かし検出部310は、検出鍵dk:=(b8,b9)及び乱数δ12を用いて、次式に示すように値cを計算する。
Figure 2015068871
そして、電子透かし検出部310は、検出対象関数鍵ek’に含まれる値k~ID及び値cを用いて、次式に示すように値Δを計算する。
Figure 2015068871
ステップS312において、電子透かし検出装置30の備える電子透かし検出部310は、値Δを検証し、検証結果を出力する。具体的には、Δ≠1であれば、電子透かしが埋め込まれていることを示す情報として、例えば「true」を出力する。Δ=1であれば、電子透かしが埋め込まれていないことを示す情報として、例えば「false」を出力する。
<電子透かし除去処理>
図9(C)を参照して、電子透かし除去装置40が実行する電子透かし除去処理の動作例を実際に行われる手続きの順に従って詳細に説明する。
上述の通り、電子透かし除去装置40の備える除去鍵記憶部490には、電子透かし鍵生成装置10が生成した公開鍵pk及び除去鍵rkが記憶されている。
ステップS411において、電子透かし除去装置40の備える電子透かし除去部410は、除去対象関数鍵ek”を入力として、除去鍵記憶部490に記憶されている公開鍵pk及び除去鍵rkを用いて、除去済関数鍵ek^を出力する。除去対象関数鍵ek”は、電子透かし埋込装置20により電子透かしが埋め込まれた透かし付関数鍵WM(ek)であり、次式に示すように表すことができる。
Figure 2015068871
まず、電子透かし除去部410は、除去鍵rk:=X=(χi,j)及び基底Bを用いて、ベクトル分解アルゴリズムDecomp(υ,(b1,…,bβ),X,B)を実行し、i=1,…,10について、次式を満たすzib* i(zi∈Fq)を出力する。
Figure 2015068871
ベクトル分解アルゴリズムDecompは、(υ,(b1,…,bβ),X,B)を入力にとり、次式により定義される値を出力する。
Figure 2015068871
ただし、次式が成り立つ。
Figure 2015068871
ここで、γ2はγ1より小さい任意の整数なので最小のγ2から順にベクトルを分解すれば、すべてのiに対してxibiを計算できる。
ベクトル分解アルゴリズムDecompは、「Tatsuaki Okamoto and Katsuyuki Takashima, “Homomorphic encryption and signatures from vector decomposition.”, In Pairing, volume 5209 of Lecture Notes in Computer Science, pages 57-74. Springer, 2008.(参考文献7)」に記載のアルゴリズムをそのまま利用することが可能である。参考文献7に記載のアルゴリズムを以下に示す。
Figure 2015068871
ここで、prjiは、以下の通りである。A:=(a1,…,aN)をベクトル空間Vの標準基底とし、ベクトルaiはFの固有値νiをもつ。Fの多項式prjj:=(Πi≠jji))-1Πi≠j(F-νi)は標準基底Aに関するj番目の射影演算である。つまり、к≠jに対してはprjj(aк)=0であり、к=jに対してはprjj(aj)=ajである。
そして、電子透かし除去部410は、次式に示すようにkIDを計算する。
Figure 2015068871
ステップS412において、電子透かし除去装置40の備える電子透かし除去部410は、次式に示すように除去済関数鍵ek^を出力する。
Figure 2015068871
<関数実行処理>
図10を参照して、関数実行装置50が実行する関数実行処理の動作例を実際に行われる手続きの順に従って詳細に説明する。
上述の通り、関数実行装置50の備える関数鍵記憶部590には、電子透かし鍵生成装置10が生成した透かし付関数鍵WM(ek)及び逆関数鍵ikが記憶されている。
ステップS510において、関数実行装置50の備える関数実行部510は、計算対象の情報x∈{0,1}γを入力として、関数鍵記憶部590に記憶されている透かし付関数鍵WM(ek)を用いて損失落とし戸関数LTFの計算アルゴリズムEvalを実行することで、計算結果である情報y:=(y1,…,yγ,y'γ+1)を出力する。
まず、計算アルゴリズムEvalは、x:=(x1,…,xγ)=xとして、j=1,…,γについて、次式に示すようにy1,…,yγ+1を計算する。
Figure 2015068871
ただし、ζ:=(ζ1,…,ζγ)、ω:=(ω1,…,ωγ)及びφ:=(φ1,…,φγ)である。次に、計算アルゴリズムEvalは、次式に示すように値y'γ+1を計算する。
Figure 2015068871
そして、関数実行部510は、情報y:=(y1,…,yγ,y'γ+1)を出力する。
<逆関数実行処理>
図10を参照して、関数実行装置50が実行する逆関数実行処理の動作例を実際に行われる手続きの順に従って詳細に説明する。
上述の通り、関数実行装置50の備える関数鍵記憶部590には、電子透かし鍵生成装置10が生成した透かし付関数鍵WM(ek)及び逆関数鍵ikが記憶されている。
ステップS520において、関数実行装置50の備える逆関数実行部520は、逆計算対象の情報y:=(y1,…,yγ,y'γ+1)を入力として、関数鍵記憶部590に記憶されている逆関数鍵ikを用いて損失落とし戸関数LTFの逆計算アルゴリズムInvertを実行することで、逆計算結果である情報x:=(x1,…,xγ)を出力する。
逆計算アルゴリズムInvertは、i,j:=1,…,γについて、次式に示すようにx'jを計算する。
Figure 2015068871
次に、j=1,…,γについて、x'j=gT x_jを満たす値となるように、xj∈{0,1}を設定する。
そして、逆関数実行部520は、情報x:=(x1,…,xγ)を出力する。
[第二実施形態]
以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
第二実施形態の電子透かしシステムの機能構成及び処理フローは第一実施形態と同様である。したがって、以降では第一実施形態に係る図4から図10を参照しながら説明をする。
<鍵生成処理>
図8に示すステップS120において、電子透かし鍵生成装置10の備える双対直交基底生成部120は、ベクトル空間パラメータparamV:=(q,V,GT,A,e,gT)を用いて、ベクトル空間Vの基底D,D*,D^を生成する。まず、双対直交基底生成部120は、次式に示すように8次元一般線形群GL(8,Fq)から正則行列Xをランダムに生成する。ただし、i,j=1,…,8である。
Figure 2015068871
次に、双対直交基底生成部120は、次式に示すように基底Dを生成する。
Figure 2015068871
続いて、双対直交基底生成部120は、次式に示すように基底D*を生成する。
Figure 2015068871
そして、双対直交基底生成部120は、基底D:=(d1,…,d8)を用いて基底D^:=(d1,d2,d3,d4)を生成する。
ステップS125において、電子透かし鍵生成装置10の備える鍵ペア生成部125は、公開鍵pk:=(paramV,D^,Samp)を生成する。ここで、Sampは双対ペアリングベクトル空間のパラメータを用いて損失落とし戸関数の関数インデックスを生成する関数鍵生成アルゴリズムである。第二実施形態に係る関数鍵生成アルゴリズムSampについての詳細は後述する。
そして、鍵ペア生成部125は、有限体Fqから乱数α,θ,σを選択し、g^T:=e(d1,d* 1)αθとして、秘密鍵sk:=(αθd* 1,θd* 1,θd* 2,σd* 3,σd* 4)を生成する。
ステップS130において、電子透かし鍵生成装置10の備える埋込鍵生成部130は、基底D*:=(d* 1,…,d* 8)を用いて埋込鍵mk:=(d* 7,d* 8)を生成する。
ステップS135において、電子透かし鍵生成装置10の備える検出鍵生成部135は、基底D:=(d1,…,d8)を用いて検出鍵dk:=(d7,d8)を生成する。
ステップS140において、電子透かし鍵生成装置10の備える除去鍵生成部140は、正則行列Xを用いて除去鍵rk:=X=(χi,j)(i,j=1,…,8)を生成する。
ステップS150において、電子透かし鍵生成装置10の備える単射鍵生成部150は、ベクトル空間パラメータparamV、基底D^及び秘密鍵skを入力として関数鍵生成アルゴリズムSampを実行し、関数鍵ek及び逆関数鍵ikを生成する。このとき、出力された関数鍵ekを単射鍵ekIとする。
第二実施形態に係る関数鍵生成アルゴリズムSampは、以下のように関数鍵ek及び逆関数鍵ikを生成する。まず、任意のビット列ID∈{0,1}*を選択し、有限体Fq上のγ次元ベクトルψを次式に示すように生成する。
Figure 2015068871
次に、基底D,D*、乱数α,θを用いて、次式に示すようにg^Tを計算する。
Figure 2015068871
次に、j=1,…,γについて、次式に示すようにgT_jを計算する。
Figure 2015068871
続いて、i=1,…,γについて、有限体Fq上の値si,1,si,2を次式に示すように生成する。
Figure 2015068871
次に、i,j=1,…,γについて、行列ui,j及び行列υiを次式に示すように計算する。
Figure 2015068871
ただし、行列ui,jを生成する際に用いる行列mi,j(i,j=1,…,γ)は単位行列である。すなわち、mi,j=1(i=j)かつmi,j=0(i≠j)とする。
次に、有限体Fq上の乱数r1,r2を選択する。
Figure 2015068871
次に、ビット列ID、乱数α,θ,σ,r1,r2及び基底D*を用いて、次式に示すように値kIDを生成する。
Figure 2015068871
そして、関数鍵生成アルゴリズムSampは、関数鍵ekを次式に示すように設定する。
Figure 2015068871
また、関数鍵生成アルゴリズムSampは、逆関数鍵ikをik:=ψと設定する。
<電子透かし埋込処理>
図9(A)に示すステップS211において、電子透かし埋込装置20の備える電子透かし埋込部210は、埋込対象関数鍵ekを入力として、埋込鍵記憶部290に記憶されている公開鍵pk及び埋込鍵mkを用いて、透かし付関数鍵WM(ek)を出力する。埋込対象関数鍵ekは、電子透かし鍵生成装置10により生成された単射鍵ekI若しくは損失鍵ekLであり、次式に示すように表すことができる。
Figure 2015068871
まず、電子透かし埋込部210は、有限体Fq上の乱数t1,t2を選択する。
Figure 2015068871
次に、電子透かし埋込部210は、埋込対象関数鍵ekに含まれる値kID、乱数t1,t2及び基底D*を用いて、次式に示すように値k~IDを計算する。
Figure 2015068871
ステップS212において、電子透かし埋込部210は、透かし付関数鍵WM(ek)を次式に示すように出力する。
Figure 2015068871
<電子透かし検出処理>
図9(B)に示すステップS311において、電子透かし検出装置30の備える電子透かし検出部310は、検出対象関数鍵ek’を入力として、検出鍵記憶部390に記憶されている公開鍵pk及び検出鍵dkを用いて、検出対象関数鍵ek’に電子透かしが埋め込まれているか否かを示す情報を出力する。検出対象関数鍵ek’は、電子透かし鍵生成装置10により生成された電子透かしが埋め込まれていない単射鍵ekI若しくは損失鍵ekL又は電子透かし埋込装置20により電子透かしが埋め込まれた透かし付関数鍵WM(ek)であり、次式に示すように表すことができる。
Figure 2015068871
まず、電子透かし検出部310は、有限体Fqの乗法群Fq ×上の乱数z1,z2を選択する。
Figure 2015068871
次に、電子透かし検出部310は、検出鍵dk:=(d7,d8)及び乱数z1,z2を用いて、次式に示すように値cを計算する。
Figure 2015068871
そして、電子透かし検出部310は、検出対象関数鍵ek’に含まれるk~ID及び値cを用いて、次式に示すように値Δを計算する。
Figure 2015068871
ステップS312において、電子透かし検出装置30の備える電子透かし検出部310は、値Δを検証し、検証結果を出力する。具体的には、Δ≠1であれば、電子透かしが埋め込まれていることを示す情報として、例えば「true」を出力する。Δ=1であれば、電子透かしが埋め込まれていないことを示す情報として、例えば「false」を出力する。
<電子透かし除去処理>
図9(C)に示すステップS411において、電子透かし除去装置40の備える電子透かし除去部410は、除去対象関数鍵ek”を入力として、除去鍵記憶部490に記憶されている公開鍵pk及び除去鍵rkを用いて、除去済関数鍵ek^を出力する。除去対象関数鍵ek”は、電子透かし埋込装置20により電子透かしが埋め込まれた透かし付関数鍵WM(ek)であり、次式に示すように表すことができる。
Figure 2015068871
まず、電子透かし除去部410は、除去鍵rk:=X=(χi,j)及び基底Dを用いて、上述のベクトル分解アルゴリズムDecomp(υ,(d1,…,dβ),X,D)を実行し、i=1,…,8について、次式を満たすzid* i(zi∈Fq)を出力する。
Figure 2015068871
そして、電子透かし除去部410は、次式に示すようにkIDを計算する。
Figure 2015068871
ステップS412において、電子透かし除去装置40の備える電子透かし除去部410は、次式に示すように除去済関数鍵ek^を出力する。
Figure 2015068871
<関数実行処理>
図10に示すステップS510において、関数実行装置50の備える関数実行部510は、計算対象の情報x∈{0,1}γを入力として、関数鍵記憶部590に記憶されている透かし付関数鍵WM(ek)を用いて損失落とし戸関数LTFの計算アルゴリズムEvalを実行することで、計算結果である情報y:=(y1,…,yγ,y'γ+1)を出力する。
まず、計算アルゴリズムEvalは、x:=(x1,…,xγ)=xとして、i,j=1,…,γについて、次式に示すようにy1,…,yγ+1を計算する。
Figure 2015068871
ただし、s 1:=(s1,1,…,s1,γ)及びs 2:=(s2,1,…,s2,γ)である。次に、計算アルゴリズムEvalは、次式に示すように値y'γ+1を計算する。
Figure 2015068871
そして、関数実行部510は、情報y:=(y1,…,yγ,y'γ+1)を出力する。
<逆関数実行処理>
図10に示すステップS520において、関数実行装置50の備える逆関数実行部520は、逆計算対象の情報y:=(y1,…,yγ,y'γ+1)を入力として、関数鍵記憶部590に記憶されている逆関数鍵ikを用いて損失落とし戸関数LTFの逆計算アルゴリズムInvertを実行することで、逆計算結果である情報x:=(x1,…,xγ)を出力する。
逆計算アルゴリズムInvertは、i,j:=1,…,γについて、次式に示すようにx'jを計算する。
Figure 2015068871
次に、j=1,…,γについて、x'j=g^T x_jを満たす値となるように、xj∈{0,1}を設定する。
そして、逆関数実行部520は、情報x:=(x1,…,xγ)を出力する。
[この発明と従来技術との比較]
図12に、この発明の電子透かし技術と従来技術との比較を示す。“方式”列は、この明細書における文献の名称を表す。“タイプ”列は、それぞれの方式が目的としている技術の種類を表す。“対象”列は、それぞれの方式で著作権や電子透かしを処理する対象となる関数の種類を表す。“仮定”列は、それぞれの方式が安全性の根拠とする暗号学的な仮定を表す。“安全性”列は、それぞれの方式の安全性における特徴を表す。
非特許文献1及び非特許文献2は関数に対する著作権付与の方式であり、付与回数が限定されている。非特許文献3は関数に対する電子透かしの方式であるが、暗号学的に証明可能な安全性を有していない。このように、付与回数の限定がなく暗号学的に証明可能な安全性を有している電子透かし方式は、この発明のみが実現していることがわかる。
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなど、周知のどのような記録媒体であってもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROMなどの可搬型記録媒体を販売、譲渡、貸与などすることによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラム若しくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータなど)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1 電子透かしシステム
9 ネットワーク
10 電子透かし鍵生成装置
20 電子透かし埋込装置
30 電子透かし検出装置
40 電子透かし除去装置
50 関数実行装置
110 双線形写像パラメータ生成部
115 ベクトル空間パラメータ生成部
120 双対直交基底生成部
125 鍵ペア生成部
130 埋込鍵生成部
135 検出鍵生成部
140 除去鍵生成部
145 透かし鍵配信部
150 単射鍵生成部
155 損失鍵生成部
160 関数鍵配信部
210 電子透かし埋込部
290 埋込鍵記憶部
310 電子透かし検出部
390 検出鍵記憶部
410 電子透かし除去部
490 除去鍵記憶部
510 関数実行部
520 逆関数実行部
590 関数鍵記憶部

Claims (10)

  1. 電子透かし鍵生成装置、電子透かし埋込装置、電子透かし検出装置、電子透かし除去装置及び関数実行装置を含む電子透かしシステムであって、
    Nは自然数であり、qは素数であり、G,GTは位数qの巡回乗法群であり、gは群Gの生成元であり、Fqは位数qの有限体であり、Fq ×は有限体Fq上の乗法群であり、GL(N,Fq)は有限体Fq上のN次元一般線形群であり、Xは一般線形群GL(N,Fq)からランダムに生成した正則行列であり、Vは有限体Fq上のN次元ベクトル空間であり、Aはベクトル空間Vの標準基底であり、eはV×V→GTの双線形写像であり、γはN以下の任意の整数であり、paramVはparamV:=(q,V,GT,A,e)であるベクトル空間パラメータであり、
    上記電子透かし鍵生成装置は、
    上記標準基底A及び上記正則行列Xを用いて、上記ベクトル空間Vの双対直交基底である基底B及び基底B*を生成する双対直交基底生成部と、
    上記基底Bから所定の元を選択して基底B^を生成した上で上記ベクトル空間パラメータparamV及び上記基底B^を含む公開鍵pk並びに上記基底B*から所定の元を選択した秘密鍵skを生成する鍵ペア生成部と、
    上記基底B*から上記秘密鍵skに含まれない元を選択して埋込鍵mkを生成する埋込鍵生成部と、
    上記基底Bから上記基底B^に含まれない元を選択して検出鍵dkを生成する検出鍵生成部と、
    上記正則行列Xを除去鍵rkとして設定する除去鍵生成部と、
    単位行列に設定したγ×γの行列Mを用いて生成した行列ui,j、上記基底Bを用いて生成した行列vi,j及び上記基底B*を用いて生成した値kIDを含む単射鍵ekI並びに有限体Fqからランダムに生成した逆関数鍵ikを生成する単射鍵生成部と、
    ゼロ行列に設定したγ×γの行列Mを用いて生成した行列ui,j、上記基底Bを用いて生成した行列vi,j及び上記基底B*を用いて生成した値kIDを含む損失鍵ekLを生成する損失鍵生成部と、
    を含み、
    上記電子透かし埋込装置は、
    埋込対象関数鍵ekを入力として、上記埋込鍵mkを用いて、上記埋込対象関数鍵ekに含まれる値kIDに電子透かしを埋め込んだ透かし付関数鍵WM(ek)を生成する電子透かし埋込部
    を含み、
    上記電子透かし検出装置は、
    検出対象関数鍵ek’を入力として、上記検出鍵dkを用いて、上記検出対象関数鍵ek’に含まれる値kIDに電子透かしが埋め込まれているか否かを示す情報を出力する電子透かし検出部
    を含み、
    上記電子透かし除去装置は、
    除去対象関数鍵ek”を入力として、上記除去鍵rkを用いて、上記除去対象関数鍵ek”に含まれる値kIDから電子透かしを取り除いた除去済関数鍵ek^を出力する電子透かし除去部
    を含み、
    上記関数実行装置は、
    計算対象の情報xを入力として、上記透かし付関数鍵WM(ek)を用いて、計算結果である情報yを出力する関数実行部と、
    逆計算対象の情報yを入力として、上記逆関数鍵ikを用いて、逆計算結果である情報xを出力する逆関数実行部と、
    を含む
    電子透かしシステム。
  2. 請求項1に記載の電子透かしシステムであって、
    Tは行列・の転置行列であり、・-1は行列・の逆行列であり、N=10であり、上記正則行列XはX:=χi,j(i,j=1,…,N)で定義され、上記標準基底AはA:=(a1,…,aN)で定義され、Sampは関数鍵ek及び逆関数鍵ikを出力する関数鍵生成アルゴリズムであり、
    上記双対直交基底生成部は、上記基底Bを次式により生成し、
    Figure 2015068871

    上記基底B*を次式により生成するものであり、
    Figure 2015068871

    上記鍵ペア生成部は、上記基底B^:=(b1,b2,b3,b10)を生成した上で上記公開鍵pk:=(paramV,B^,Samp)及び上記秘密鍵sk:=(b* 1,b* 2,b* 3,b* 6,b* 7)を生成するものであり、
    上記埋込鍵生成部は、上記埋込鍵mk:=(b* 8,b* 9)を生成するものであり、
    上記検出鍵生成部は、上記検出鍵dk:=(b8,b9)を生成するものであり、
    上記除去鍵生成部は、上記除去鍵rk:=Xを生成するものであり、
    上記単射鍵生成部は、上記ベクトル空間パラメータparamV、上記基底B^及び上記秘密鍵skを入力として、上記関数鍵生成アルゴリズムSampを実行し、上記関数鍵ekを上記単射鍵ekIとして生成するものであり、
    上記損失鍵生成部は、上記ベクトル空間パラメータparamV、上記基底B^及び上記秘密鍵skを入力として、上記関数鍵生成アルゴリズムSampを実行し、上記関数鍵ekを上記単射鍵ekLとして生成するものであり、
    上記関数鍵生成アルゴリズムSampは、任意のビット列IDを生成し、有限体Fq上のγ次元ベクトルψをランダムに生成し、j=1,…,γについて、次式に示すようにgT_jを計算し、
    Figure 2015068871

    有限体Fqから乱数ζ1,…,ζγ、φ1,…,φγ、ω1,…,ωγを選択し、i,j=1,…,γについて次式に示すように行列ui,j及び行列υiを計算し、
    Figure 2015068871

    有限体Fq上の乱数σ及び有限体Fq上の2次元ベクトルηをランダムに生成し、次式に示すように値kIDを生成し、
    Figure 2015068871

    上記関数鍵ekを次式により生成し、
    Figure 2015068871

    上記逆関数鍵ikをik:=ψと設定するものであり、
    上記電子透かし埋込部は、有限体Fq上の乱数μ12を選択し、次式に示すように値k~IDを計算し、
    Figure 2015068871

    次式により上記透かし付関数鍵WM(ek)を生成するものであり、
    Figure 2015068871

    上記電子透かし検出部は、乗法群Fq ×上の乱数δ12を選択し、次式に示すように値cを計算し、
    Figure 2015068871

    次式に示すように値Δを計算し、
    Figure 2015068871

    Δ≠1であれば電子透かしが埋め込まれていることを示す情報を出力し、Δ=1であれば電子透かしが埋め込まれていないことを示す情報出力するものであり、
    上記電子透かし除去部は、i=1,…,10について、次式を満たす値zib* iを計算し、
    Figure 2015068871

    次式に示すように値kIDを計算し、
    Figure 2015068871

    次式に示すように除去済関数鍵ek^を出力するものであり、
    Figure 2015068871

    上記関数実行部は、上記情報xはx:=(x1,…,xγ)と表すとして、i,j=1,…,γについて次式に示すようにy1,…,yγ+1,y'γ+1を計算し、
    Figure 2015068871

    上記情報y:=(y1,…,yγ,y'γ+1)を出力するものであり、
    上記逆関数実行部は、i,j:=1,…,γについて次式によりx'jを計算し、
    Figure 2015068871

    j=1,…,γについてx'j=gT x_jを満たす値となるようにxjを設定し、上記情報x:=(x1,…,xγ)を出力するものである
    電子透かしシステム。
  3. 請求項1に記載の電子透かしシステムであって、
    Tは行列・の転置行列であり、・-1は行列・の逆行列であり、N=8であり、上記正則行列XはX:=χi,j(i,j=1,…,N)で定義され、上記標準基底AはA:=(a1,…,aN)で定義され、Sampは関数鍵ek及び逆関数鍵ikを出力する関数鍵生成アルゴリズムであり、
    上記双対直交基底生成部は、上記基底Bを次式により生成し、
    Figure 2015068871

    上記基底B*を次式により生成するものであり、
    Figure 2015068871

    上記鍵ペア生成部は、上記基底B^を次式により生成した上で
    Figure 2015068871

    有限体Fqから乱数α,θ,σを選択し、上記公開鍵pk:=(paramV,B^,Samp)及び上記秘密鍵sk:=(αθd* 1,θd* 1,θd* 2,σd* 3,σd* 4)を生成するものであり、
    上記埋込鍵生成部は、上記埋込鍵mk:=(d* 7,d* 8)を生成するものであり、
    上記検出鍵生成部は、上記検出鍵dk:=(d7,d8)を生成するものであり、
    上記除去鍵生成部は、上記除去鍵rk:=Xを生成するものであり、
    上記単射鍵生成部は、上記ベクトル空間パラメータparamV、上記基底B^、上記秘密鍵skを入力として、上記関数鍵生成アルゴリズムSampを実行し、上記関数鍵ekを上記単射鍵ekIとして生成するものであり、
    上記損失鍵生成部は、上記ベクトル空間パラメータparamV、上記基底B^及び上記秘密鍵skを入力として、上記関数鍵生成アルゴリズムSampを実行し、上記関数鍵ekを上記単射鍵ekLとして生成するものであり、
    上記関数鍵生成アルゴリズムSampは、任意のビット列IDを生成し、有限体Fq上のγ次元ベクトルψをランダムに生成し、g^T:=e(d1,d1 *)αθとして、j=1,…,γについて、次式に示すようにgT_jを計算し、
    Figure 2015068871

    有限体Fqから乱数s1,1,…,sγ,1、s1,2,…,sγ,2を選択し、i,j=1,…,γについて次式に示すように行列ui,j及び行列υiを計算し、
    Figure 2015068871

    有限体Fq上の乱数r1,r2を選択し、次式に示すように値kIDを生成し、
    Figure 2015068871

    上記関数鍵ekを次式により生成し、
    Figure 2015068871

    上記逆関数鍵ikをik:=ψと設定するものであり、
    上記電子透かし埋込部は、有限体Fq上の乱数t1,t2を選択し、次式に示すように値k~IDを計算し、
    Figure 2015068871

    次式により上記透かし付関数鍵WM(ek)を生成するものであり、
    Figure 2015068871

    上記電子透かし検出部は、乗法群Fq ×上の乱数z1,z2を選択し、次式に示すように値cを計算し、
    Figure 2015068871

    次式に示すように値Δを計算し、
    Figure 2015068871

    Δ≠1であれば電子透かしが埋め込まれていることを示す情報を出力し、Δ=1であれば電子透かしが埋め込まれていないことを示す情報出力するものであり、
    上記電子透かし除去部は、i=1,…,8について、次式を満たす値zid* iを計算し、
    Figure 2015068871

    次式に示すように値kIDを計算し、
    Figure 2015068871

    次式に示すように除去済関数鍵ek^を出力するものであり、
    Figure 2015068871

    上記関数実行部は、上記情報xはx:=(x1,…,xγ)と表すとして、i,j=1,…,γについて次式に示すようにy1,…,yγ+1,y'γ+1を計算し、
    Figure 2015068871

    上記情報y:=(y1,…,yγ,y'γ+1)を出力するものであり、
    上記逆関数実行部は、i,j:=1,…,γについて次式によりx'jを計算し、
    Figure 2015068871

    j=1,…,γについてx'j=g^T x_jを満たす値となるようにxjを設定し、上記情報x:=(x1,…,xγ)を出力するものである
    電子透かしシステム。
  4. Nは自然数であり、qは素数であり、G,GTは位数qの巡回乗法群であり、gは群Gの生成元であり、Fqは位数qの有限体であり、Fq ×は有限体Fq上の乗法群であり、GL(N,Fq)は有限体Fq上のN次元一般線形群であり、Xは一般線形群GL(N,Fq)からランダムに生成した正則行列であり、Vは有限体Fq上のN次元ベクトル空間であり、Aはベクトル空間Vの標準基底であり、eはV×V→GTの双線形写像であり、γはN以下の任意の整数であり、paramVはparamV:=(q,V,GT,A,e)であるベクトル空間パラメータであり、
    上記標準基底A及び上記正則行列Xを用いて、上記ベクトル空間Vの双対直交基底である基底B及び基底B*を生成する双対直交基底生成部と、
    上記基底Bから所定の元を選択して基底B^を生成した上で上記ベクトル空間パラメータparamV及び上記基底B^を含む公開鍵pk並びに上記基底B*から所定の元を選択した秘密鍵skを生成する鍵ペア生成部と、
    上記基底B*から上記秘密鍵skに含まれない元を選択して埋込鍵mkを生成する埋込鍵生成部と、
    上記基底Bから上記基底B^に含まれない元を選択して検出鍵dkを生成する検出鍵生成部と、
    上記正則行列Xを除去鍵rkとして設定する除去鍵生成部と、
    単位行列に設定したγ×γの行列Mを用いて生成した行列ui,j、上記基底Bを用いて生成した行列vi,j及び上記基底B*を用いて生成した値kIDを含む単射鍵ekI並びに有限体Fqからランダムに生成した逆関数鍵ikを生成する単射鍵生成部と、
    ゼロ行列に設定したγ×γの行列Mを用いて生成した行列ui,j、上記基底Bを用いて生成した行列vi,j及び上記基底B*を用いて生成した値kIDを含む損失鍵ekLを生成する損失鍵生成部と、
    を含む電子透かし鍵生成装置。
  5. Nは自然数であり、qは素数であり、Fqは位数qの有限体であり、B*は有限体Fq上のN次元ベクトル空間Vの双対直交基底であり、skは基底B*から所定の元を選択して生成された秘密鍵であり、mkは上記基底B*から上記秘密鍵skに含まれない元を選択して生成した埋込鍵であり、
    埋込対象関数鍵ekを入力として、上記埋込鍵mkを用いて、上記埋込対象関数鍵ekに含まれる値kIDに電子透かしを埋め込んだ透かし付関数鍵WM(ek)を生成する電子透かし埋込部
    を含む電子透かし埋込装置。
  6. Nは自然数であり、qは素数であり、Fqは位数qの有限体であり、B,B*は有限体Fq上のN次元ベクトル空間Vの双対直交基底であり、dkは上記基底Bから上記基底B^に含まれない元を選択して生成した検出鍵であり、
    検出対象関数鍵ek’を入力として、上記検出鍵dkを用いて、上記検出対象関数鍵ek’に含まれる値kIDに電子透かしが埋め込まれているか否かを示す情報を出力する電子透かし検出部
    を含む電子透かし検出装置。
  7. Nは自然数であり、qは素数であり、Fqは位数qの有限体であり、GL(N,Fq)は有限体Fq上のN次元一般線形群であり、Xは一般線形群GL(N,Fq)からランダムに生成した正則行列であり、rkは正則行列Xを設定された除去鍵であり、
    除去対象関数鍵ek”を入力として、上記除去鍵rkを用いて、上記除去対象関数鍵ek”に含まれる値kIDから電子透かしを取り除いた除去済関数鍵ek^を出力する電子透かし除去部
    を含む電子透かし除去装置。
  8. Nは自然数であり、qは素数であり、Fqは位数qの有限体であり、B*は有限体Fq上のN次元ベクトル空間Vの双対直交基底であり、skは基底B*から所定の元を選択して生成された秘密鍵であり、mkは基底B*から秘密鍵skに含まれない元を選択して生成された埋込鍵であり、WM(ek)は埋込鍵mkを用いて、埋込対象関数鍵ekに含まれる値kIDに電子透かしを埋め込まれた透かし付関数鍵であり、ikは有限体Fqからランダムに生成した逆関数鍵であり、
    計算対象の情報xを入力として、上記透かし付関数鍵WM(ek)を用いて、計算結果である情報yを出力する関数実行部と、
    逆計算対象の情報yを入力として、上記逆関数鍵ikを用いて、逆計算結果である情報xを出力する逆関数実行部と、
    を含む関数実行装置。
  9. Nは自然数であり、qは素数であり、G,GTは位数qの巡回乗法群であり、gは群Gの生成元であり、Fqは位数qの有限体であり、Fq ×は有限体Fq上の乗法群であり、GL(N,Fq)は有限体Fq上のN次元一般線形群であり、Xは一般線形群GL(N,Fq)からランダムに生成した正則行列であり、Vは有限体Fq上のN次元ベクトル空間であり、Aはベクトル空間Vの標準基底であり、eはV×V→GTの双線形写像であり、γはN以下の任意の整数であり、paramVはparamV:=(q,V,GT,A,e)であるベクトル空間パラメータであり、
    双対直交基底生成部が、上記標準基底A及び上記正則行列Xを用いて、上記ベクトル空間Vの双対直交基底である基底B及び基底B*を生成する双対直交基底生成ステップと、
    鍵ペア生成部が、上記基底Bから所定の元を選択して基底B^を生成した上で上記ベクトル空間パラメータparamV及び上記基底B^を含む公開鍵pk並びに上記基底B*から所定の元を選択した秘密鍵skを生成する鍵ペア生成ステップと、
    埋込鍵生成部が、上記基底B*から上記秘密鍵skに含まれない元を選択して埋込鍵mkを生成する埋込鍵生成ステップと、
    検出鍵生成部が、上記基底Bから上記基底B^に含まれない元を選択して検出鍵dkを生成する検出鍵生成ステップと、
    除去鍵生成部が、上記正則行列Xを除去鍵rkとして設定する除去鍵生成ステップと、
    単射鍵生成部が、単位行列に設定したγ×γの行列Mを用いて生成した行列ui,j、上記基底Bを用いて生成した行列vi,j及び上記基底B*を用いて生成した値kIDを含む単射鍵ekI並びに有限体Fqからランダムに生成した逆関数鍵ikを生成する単射鍵生成ステップと、
    損失鍵生成部が、ゼロ行列に設定したγ×γの行列Mを用いて生成した行列ui,j、上記基底Bを用いて生成した行列vi,j及び上記基底B*を用いて生成した値kIDを含む損失鍵ekLを生成する損失鍵生成ステップと、
    電子透かし埋込部が、埋込対象関数鍵ekを入力として、上記埋込鍵mkを用いて、上記埋込対象関数鍵ekに含まれる値kIDに電子透かしを埋め込んだ透かし付関数鍵WM(ek)を生成する電子透かし埋込ステップと、
    電子透かし検出部が、検出対象関数鍵ek’を入力として、上記検出鍵dkを用いて、上記検出対象関数鍵ek’に含まれる値kIDに電子透かしが埋め込まれているか否かを示す情報を出力する電子透かし検出ステップと、
    電子透かし除去部が、除去対象関数鍵ek”を入力として、上記除去鍵rkを用いて、上記除去対象関数鍵ek”に含まれる値kIDから電子透かしを取り除いた除去済関数鍵ek^を出力する電子透かし除去ステップと、
    関数実行部が、計算対象の情報xを入力として、上記透かし付関数鍵WM(ek)を用いて、計算結果である情報yを出力する関数実行ステップと、
    逆関数実行部が、逆計算対象の情報yを入力として、上記逆関数鍵ikを用いて、逆計算結果である情報xを出力する逆関数実行ステップと、
    を含む電子透かし方法。
  10. 請求項4に記載の電子透かし鍵生成装置、請求項5に記載の電子透かし埋込装置、請求項6に記載の電子透かし検出装置、請求項7に記載の電子透かし除去装置又は請求項8に記載の関数実行装置としてコンピュータを機能させるプログラム。
JP2013200796A 2013-09-27 2013-09-27 電子透かしシステム、電子透かし鍵生成装置、電子透かし方法及びプログラム Active JP5975961B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013200796A JP5975961B2 (ja) 2013-09-27 2013-09-27 電子透かしシステム、電子透かし鍵生成装置、電子透かし方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013200796A JP5975961B2 (ja) 2013-09-27 2013-09-27 電子透かしシステム、電子透かし鍵生成装置、電子透かし方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015068871A true JP2015068871A (ja) 2015-04-13
JP5975961B2 JP5975961B2 (ja) 2016-08-23

Family

ID=52835625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013200796A Active JP5975961B2 (ja) 2013-09-27 2013-09-27 電子透かしシステム、電子透かし鍵生成装置、電子透かし方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5975961B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021095103A1 (ja) * 2019-11-11 2021-05-20
WO2023218559A1 (ja) * 2022-05-11 2023-11-16 日本電信電話株式会社 擬似乱数関数生成装置、透かし抽出装置、およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527944A (ja) * 2003-06-17 2006-12-07 フランス・テレコム データを暗号化および/または復号化する追跡可能な方法およびシステムならびに該方法を実施する記録媒体
JP2010515945A (ja) * 2007-01-11 2010-05-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 実装のコピーの追跡
WO2013004691A1 (en) * 2011-07-06 2013-01-10 Thomson Licensing Traitor tracing for software-implemented decryption algorithms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527944A (ja) * 2003-06-17 2006-12-07 フランス・テレコム データを暗号化および/または復号化する追跡可能な方法およびシステムならびに該方法を実施する記録媒体
JP2010515945A (ja) * 2007-01-11 2010-05-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 実装のコピーの追跡
WO2013004691A1 (en) * 2011-07-06 2013-01-10 Thomson Licensing Traitor tracing for software-implemented decryption algorithms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016015659; 西巻 陵: '証明可能安全なプログラム電子透かしについて' 2013年 暗号と情報セキュリティシンポジウム SCIS2013 , 20130125 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021095103A1 (ja) * 2019-11-11 2021-05-20
WO2021095103A1 (ja) * 2019-11-11 2021-05-20 日本電信電話株式会社 電子透かしシステム、電子透かし方法及びプログラム
JP7384216B2 (ja) 2019-11-11 2023-11-21 日本電信電話株式会社 電子透かしシステム、電子透かし方法及びプログラム
WO2023218559A1 (ja) * 2022-05-11 2023-11-16 日本電信電話株式会社 擬似乱数関数生成装置、透かし抽出装置、およびプログラム

Also Published As

Publication number Publication date
JP5975961B2 (ja) 2016-08-23

Similar Documents

Publication Publication Date Title
JP5466763B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
WO2010123112A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
JP2016012111A (ja) 暗号処理方法、暗号処理装置、および暗号処理プログラム
Goyal et al. Watermarking public-key cryptographic primitives
Tang et al. Image encryption based on random projection partition and chaotic system
JP2006109107A (ja) 署名生成方法、署名検証方法、公開鍵配布方法、及び情報処理装置
JP6059347B2 (ja) 復号装置、復号能力提供装置、それらの方法、およびプログラム
JP5975961B2 (ja) 電子透かしシステム、電子透かし鍵生成装置、電子透かし方法及びプログラム
JP2016134826A (ja) 鍵配送管理装置、端末装置、鍵配送システム、およびプログラム
JP2010160235A (ja) 検索システム、端末装置、データベース装置、検索方法及びプログラム
JP7384216B2 (ja) 電子透かしシステム、電子透かし方法及びプログラム
US20200175893A1 (en) Encryption device, decryption device, encryption method, decryption method, and computer readable medium
JP2013213962A (ja) 電子透かし処理システム、関数実行装置、電子透かし鍵生成装置、電子透かし埋込装置、電子透かし検出装置、電子透かし除去装置、電子透かし処理方法、関数実行方法およびプログラム
Hu et al. Security and privacy protocols for perceptual image hashing
JP5097137B2 (ja) 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
JP4748663B2 (ja) 秘密計算方法及びシステム、並びにプログラム
JP2010054875A (ja) 演算装置、復号装置、暗号化装置、情報共有システム、2dnf演算システム、署名生成装置、署名検証装置、署名処理システム、署名検証システム、演算方法及び演算プログラム
JP2017038336A (ja) 復号方法
Alwan et al. A survey on combined various data hiding techniques
JP4618684B2 (ja) 透かし埋め込み処理方法、透かし埋め込み処理システム、サービス提供者装置および顧客装置、並びにプログラム
Zhang et al. A new perturbed Matsumoto-Imai signature scheme
Singh et al. Digital image watermarking of homomorphic encrypted images: a review
Shukla et al. Image encryption using elliptic curve cryptography
Ding et al. Ciphertext retrieval via attribute-based FHE in cloud computing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160621

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160719

R150 Certificate of patent or registration of utility model

Ref document number: 5975961

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150