JP5913041B2 - 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム - Google Patents

秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム Download PDF

Info

Publication number
JP5913041B2
JP5913041B2 JP2012227771A JP2012227771A JP5913041B2 JP 5913041 B2 JP5913041 B2 JP 5913041B2 JP 2012227771 A JP2012227771 A JP 2012227771A JP 2012227771 A JP2012227771 A JP 2012227771A JP 5913041 B2 JP5913041 B2 JP 5913041B2
Authority
JP
Japan
Prior art keywords
data
secret
morphing
stego
feature vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012227771A
Other languages
English (en)
Other versions
JP2013167865A (ja
JP2013167865A5 (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.)
University of Aizu
Original Assignee
University of Aizu
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 University of Aizu filed Critical University of Aizu
Priority to JP2012227771A priority Critical patent/JP5913041B2/ja
Priority to CN201310010039.7A priority patent/CN103220455B/zh
Publication of JP2013167865A publication Critical patent/JP2013167865A/ja
Publication of JP2013167865A5 publication Critical patent/JP2013167865A5/ja
Application granted granted Critical
Publication of JP5913041B2 publication Critical patent/JP5913041B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、モーフィングに基づくステガノグラフィー技術に関し、より詳細には、カバーデータに秘密データを隠蔽させることによりステゴオブジェクトを生成するステガノグラフィー技術に対して、参照データと、各参照データの特徴ベクトルと、各参照データにおける貢献度と、秘密データとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、秘密データを隠蔽したステゴオブジェクトを生成し、あるいは、ステゴオブジェクトから秘密データを復元することが可能な秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラム及び秘密情報復元プログラムに関する。
従来より、ステガノグラフィー(ステガノグラフィー技術)を利用することにより、所定のカバーデータc(c∈C、cはcoverの略、Cは全てのカバーデータの集合を意味する)に、秘密データm(m∈M、mはmessageの略、Mは全ての秘密データの集合)を埋め込む技術が知られている。秘密データmをカバーデータcに埋め込む関数(隠蔽関数)をfとすると、fは以下の式(1)に示すような関数になる。
但し、sはステゴオブジェクト(stego-object)であって、s∈Cであり、kはステゴ鍵(stego-key)である。式(1)において、[ ]で示される要素はオプションであって、必ずしも必要とされない。安全性を高めるために、従来のステガノグラフィーでは、カバーデータcとして画像データを用いると共に、ステゴオブジェクトsをカバーデータcと視覚的にほぼ同じような画像データとし、一度使用したカバーデータcを再度使用しないようにする必要があった。
ステゴオブジェクトsに埋め込まれた(隠蔽された)秘密データmは、カバーデータc、ステゴオブジェクトs、ステゴ鍵kを用いて、抽出関数(Extraction function)f-1によって再現することが可能である。即ち、秘密データmは、以下の式(2)で求めることができる。
なお、セキュリティを高めるために、秘密データmを暗号化してから、カバーデータcに隠蔽する(埋め込む)こともできる。
一方で、モーフィング(モーフィング技術)を利用することにより秘密データをカバーデータに埋め込む方法(隠蔽方法)が提案されている(例えば、特許文献1、非特許文献1参照)。
秘密データを埋め込む方法として、画像データを用いる画像モーフィングや音楽データを用いる音楽モーフィング等を利用することができる。一般的にモーフィングは、以下の式(3)の関係式によって示すことができる。
この関係式(式(3))において、IとIとはそれぞれ参照データであり、FとFとはモーフィングを行うために必要とされる参照データIと参照データIとの特徴ベクトルを示している。また、aと1−aとは、それぞれ参照データIと参照データIとの貢献度を示しており、Iは、モーフィングの結果として変形(生成)されたデータを示している。以下、Iをモーフィングデータと呼ぶ。
画像モーフィングの場合、I,I,Iは全て2次元画像あるいは3次元画像である。また、音楽モーフィングの場合、I,I,Iは全て数列となる。ここで、I,I,Iは、一般性を失わずに、N個の要素を持つベクトルであるとする。また、特徴ベクトルは、特徴点や特徴線の位置(座標)情報から構成されるN個の要素を持つベクトルであるとする。
このようにして定義されるモーフィングを用いて、モーフィングとステガノグラフィーとを関連づけると、以下のように関係を示すことができる。
秘密データm=参照データI
カバーデータc=参照データI
ステゴ鍵k={F,F,a}
ステゴオブジェクトs=モーフィングデータI
このようにして、モーフィングとステガノグラフィーとを関連づけることにより、参照データIを秘密データmとして参照データIに隠蔽することが可能となる(例えば、特許文献2参照)。
もちろん、秘密データmを参照データIとし、カバーデータcを参照データIとすることにより、IをIに隠蔽することも可能である。以下、説明を簡単にするために、IをIに隠蔽する場合を一例として示す。秘密データm=IをIに埋め込む関数fは、以下のようにして実現することができる。
[関数fを実現するためのアルゴリズム]
出力されるステゴオブジェクトsをモーフィングデータIとし、このモーフィングデータIを求めるために必要とされるデータを、秘密データm=I、カバーデータc=I、ステゴ鍵k={F,F,a}とすると、
入力:m=I,c=I,k={F,F,a}
出力:s=I
となり、以下の3つのステップによって、秘密データの隠蔽が行われたモーフィングデータを求めることができる。
・STEP1:式(4)を用いてモーフィングデータIの特徴ベクトルFを求める。
但し、Fjp(j=0,1,2)はFのp番目の要素を示しており、aは0<a<1となる実数を示している。
・STEP2:式(5)を用いて秘密データと参照データを変形する。
但し、I (j=1,2)は、Iの変形されたデータ、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2)が変形されて、I (j=1,2)が生成される。I (j=1,2)は、特徴ベクトルFを有する。
・STEP3:式(6)でモーフィングデータIを求める。
但し、I0p,I 1p,I 2pは、それぞれ、I,I ,I のp番目の要素を示している。
このようにSTEP1〜STEP3の手順を経ることにより、参照データIに参照データIが隠蔽されたデータであるモーフィングデータIを求めることが可能となる。
一方で、モーフィングデータIから、秘密データである参照データIを抽出(復元、再現)することも可能である。秘密データm=IをIから抽出(復元、再現)するための抽出関数f−1は、以下のようにして実現することができる。
[関数f−1を実現するためのアルゴリズム]
出力される秘密データmを参照データIとし、この参照データIを求めるために必要とされるデータを、ステゴオブジェクトs=モーフィングデータI、カバーデータc=I、ステゴ鍵k={F,F,a}とすると、
入力:s=I,c=I,k={F,F,a}
出力:m=I
となり、以下の4つのステップによって、モーフィングデータIから秘密データm(参照データI)を抽出(復元、再現)することが可能となる。
・STEP1:式(4)を用いてモーフィングデータIの特徴ベクトルFを求める。
但し、Fjp(j=0,1,2)はFのp番目の要素を示しており、aは0<a<1となる実数を示している。
・STEP2:式(5')を用いてカバーデータを変形したデータI を求める。
但し、I は、参照データIの変形されたデータを示し、Wは変形(ワーピング)関数を示している。変形関数WによりIが変形されて、I が生成される。I は、特徴ベクトルFを有する。
・STEP3:秘密データIの変形したデータI を式(7)を用いて求める。
・STEP4:式(8)を用いて、秘密データIを抽出(復元、再現)する。
このように、モーフィングデータを生成する技術をステガノグラフィーに適用することにより、参照データI(カバーデータ)に参照データI(秘密データ)を隠蔽してモーフィングデータI(ステゴオブジェクト)を生成することができる。また、モーフィングデータI(ステゴオブジェクト)から参照データI(秘密データ)を抽出(復元、再現)することが可能となる。
なお、モーフィングに基づくステガノグラフィーでは、モーフィングデータI(ステゴオブジェクトs)が画像データや音楽データなどである場合には、画像データや音楽データが「自然」であればよく、必ずしもカバーデータIと視覚的あるいは聴覚的に一致させる必要がない。従って、モーフィングに基づくステガノグラフィーを用いることによって、データ量の大きい秘密データ(参照データI)を隠蔽することが可能となる。
また、変形関数Wを実現するために、さまざまな方法が考えられる。例えば、画像モーフィングの場合だけでも、フィールドワーピング、メッシュワーピングなどの方法を用いることが可能である。モーフィングに基づくステガノグラフィーでは、変形関数Wの実現方法を限定せず、自然なモーフィングデータを求められる方法であれば、どの方法を採用してもよい。
特開2007−219230号公報 特開2009−171116号公報
近藤聡、趙強福、高木英行,「モーフィング技術を用いた情報隠蔽手法」,電子情報通信学会技術研究報告,電子情報通信学会,2006年2月13日,Vol.105,No.608,pp.145-150
ところで、上述したように、モーフィングに基づくステガノグラフィーでは、秘密データがモーフィング可能なデータであることが必要であった。このため、例えば、画像データや音楽データには該当しない、単なる数値データなどの場合には、上述したモーフィングに基づくステガノグラフィーをそのまま利用することが困難であった。
さらに、上述したモーフィングに基づくステガノグラフィーでは、1つの参照データI(カバーデータ)対して1つの参照データI(秘密データ)を、モーフィングに基づくステガノグラフィーによって隠蔽するものであったが、セキュリティ向上のために、カバーデータとして1つの参照データだけを用いるのではなく、複数個の参照データを用いて、秘密データを隠蔽することが望まれている。
また、秘密データは必ずしも1種類に限定されず、複数種類の秘密要素を同一のカバーデータに隠蔽することも求められている。
さらに、既存のモーフィングに基づいて秘密データを画像データに隠蔽した場合には、隠蔽後の画像データ(ステゴオブジェクト)が不自然な画像となってしまうおそれがあった。不自然な画像データは、一般に第三者の注意を引きやすくなり、攻撃される可能性が高くなるという問題があった。
本発明は、このような課題に鑑みてなされたものであり、第1の課題として、モーフィングに基づくステガノグラフィーにより、モーフィングできない秘密データをカバーデータに隠蔽することができ、第2の課題として、モーフィングに基づくステガノグラフィーにおいて、複数個のカバーデータを用いて秘密データを隠蔽することができ、第3の課題として、モーフィングに基づくステガノグラフィーにおいて、複数種類の秘密要素を同一のカバーデータに隠蔽することができ、第4の課題として、秘密データが隠蔽されてもステゴオブジェクトが不自然とならないように秘密データの隠蔽を行うことが可能な秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラム及び秘密情報復元プログラムを提供することを課題とする。
上記課題を解決するために、本発明に係る秘密情報隠蔽装置は、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、異なる種類の秘密要素を同じ形式で数値化したν個(ν>n)の秘密データm〜mνと、スケーリングファクターAとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とスケーリングファクターAと秘密データの個数νとを設定し、
を用いてモーフィングデータの特徴ベクトルFを求めるF生成手段と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
に基づいて、秘密データを隠蔽する前のモーフィングデータI を求める実質的カバーデータ生成手段と、
に基づいて秘密データm(q=1,2,・・・,ν)をスケーリングし、
pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
を用いてステゴオブジェクトsを求めて、pの値を1だけ増加し、さらにqの値を1だけ増加して、
その後に、q<νを満たすか否かを判断し、
q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
ν個の秘密データmが隠蔽されたステゴオブジェクトsを生成するステゴオブジェクト生成手段とを有することを特徴とする。
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、異なる種類の秘密要素を同じ形式で数値化したν個(ν>n)の秘密データm〜mνと、スケーリングファクターAとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とスケーリングファクターAと秘密データの個数νとを設定し、
前記秘密情報隠蔽装置の計算手段に、
を用いてモーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
に基づいて、秘密データを隠蔽する前のモーフィングデータI を求めさせる実質的カバーデータ生成機能と、
に基づいて秘密データm(q=1,2,・・・,ν)をスケーリングさせ、
pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
を用いてステゴオブジェクトsを求めて、pの値を1だけ増加させ、さらにqの値を1だけ増加させ、
その後に、q<νを満たすか否かを判断させ、
q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
ν個の秘密データmが隠蔽されたステゴオブジェクトsを生成させるステゴオブジェクト生成機能とを実現させる秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示す。さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、スケーリングファクターAは1未満の正の実数とする。
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、違う種類の秘密要素を、同じ形式の数値(例えば、符号なしの8ビットの整数)で表現すれば、モーフィングに基づくステガノグラフィーを用いて、参照データに秘密データを隠蔽することが可能となる。
さらに、本発明に係る秘密情報復元装置は、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνと、スケーリングファクターAとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とスケーリングファクターAと秘密データの個数νとを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
を用いて、モーフィングデータの特徴ベクトルFを求めるF生成手段と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
に基づいて、秘密データを隠蔽する前のモーフィングデータI を求める実質的カバーデータ生成手段と、
pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加して、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
を用いて、スケーリングされた秘密データxを求め、pの値を1だけ増加し、さらに、qの値を1だけ増加して、
その後に、q<νを満たすか否かを判断し、
q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行し、
q<νを満たさない場合には、
に基づいて、ν個の秘密データm(i=1,2,・・・,ν)を抽出することにより、
ステゴオブジェクトsに隠蔽されたν個の秘密データmを抽出する秘密データ再現手段とを有することを特徴とする。
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνと、スケーリングファクターAとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とスケーリングファクターAと秘密データの個数νとを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
前記秘密情報復元装置の計算手段に、
を用いて、モーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
に基づいて、秘密データを隠蔽する前のモーフィングデータI を求めさせる実質的カバーデータ生成機能と、
pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
を用いて、スケーリングされた秘密データxを求めさせ、pの値を1だけ増加させ、さらに、qの値を1だけ増加させて、
その後に、q<νを満たすか否かを判断させ、
q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させ、
q<νを満たさない場合には、
に基づいて、ν個の秘密データm(i=1,2,・・・,ν)を抽出することにより、
ステゴオブジェクトsに隠蔽されたν個の秘密データmを抽出させる秘密データ再現機能とを実現させる秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示す。さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、スケーリングファクターAは1未満の正の実数とする。
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、同じ形式の数値(例えば、符号なしの8ビットの整数)で表現された違う種類の秘密要素を隠蔽したモーフィングデータから、モーフィングに基づくステガノグラフィーを用いて、秘密データを抽出(復元、再現)することが可能となる。
さらに、本発明に係る秘密情報隠蔽装置は、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、数値で表現されているn個のデータm〜mとに基づいて、モーフィングデータIと、モーフィングデータIの特徴ベクトルFと、スケーリングファクターAとを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
秘密データmとして数値で表現されているデータ{m,m,・・・,m}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}を設定し、生成するステゴオブジェクトsをモーフィングデータIとし、モーフィングデータIの特徴ベクトルをFとし、スケーリングファクターをAとして、
に基づいてスケーリングファクターAを求めるスケーリングファクター算出手段と、
=m×A (iに1からnまでの値を順次代入する)
に従って、各参照データI(i=1,2,・・・,n)の貢献度a(i=1,2,・・・,n)を秘密データm(i=1,2,・・・,n)に基づいて決定する貢献度算出手段と、
に基づいて、モーフィングデータIの特徴ベクトルFを求めるF生成手段と、
に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
に基づいてモーフィングデータIを求めることにより、
参照データに対して数値で表現されているデータを隠蔽したモーフィングデータを生成するモーフィングデータ生成手段とを有することを特徴とする。
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、数値で表現されているn個のデータm〜mとに基づいて、モーフィングデータIと、モーフィングデータIの特徴ベクトルFと、スケーリングファクターAとを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データmとして数値で表現されているデータ{m,m,・・・,m}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}を設定し、生成するステゴオブジェクトsをモーフィングデータIとし、モーフィングデータIの特徴ベクトルをFとし、スケーリングファクターをAとして、
前記秘密情報隠蔽装置の計算手段に、
に基づいてスケーリングファクターAを求めさせるスケーリングファクター算出機能と、
=m×A (iに1からnまでの値を順次代入する)
に従って、各参照データI(i=1,2,・・・,n)の貢献度a(i=1,2,・・・,n)を秘密データm(i=1,2,・・・,n)に基づいて決定させる貢献度算出機能と、
に基づいて、モーフィングデータIの特徴ベクトルFを求めさせるF生成機能と、
に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
に基づいてモーフィングデータIを求めることにより、
参照データに対して数値で表現されているデータを隠蔽したモーフィングデータを生成させるモーフィングデータ生成機能とを実現させる秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示す。さらに、スケーリングファクターAは1未満の正の実数とする。
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、複数のカバーデータ{I,I,I,・・・,I}に、数値で表現されている複数の秘密データ{m,m,・・・,m}を隠蔽することが可能となる。また、秘密データはモーフィング可能である必要はない。
さらに、本発明に係る秘密情報復元装置は、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、数値で表現されているn個のデータm〜mとに基づいて、モーフィングデータIと、モーフィングデータIの特徴ベクトルFと、スケーリングファクターAとを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
ステゴオブジェクトsとしてモーフィングデータIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}を設定し、抽出される秘密データmを数値で表現されているn個のデータ{m,m,・・・m}とし、モーフィングデータIの特徴ベクトルをFとし、スケーリングファクターをAとして、
に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、

の2つの式に基づいて連立方程式の解を求めて、各参照データI(j=1,2,・・・,n)の貢献度a(j=1,2,・・・,n)を求める貢献度算出手段と、
求められた該貢献度a(j=1,2,・・・,n)に基づいて、
を用いて、秘密データm(j=1,2,・・・,n)を抽出することにより、
参照データに隠蔽された秘密データを、モーフィングデータから抽出する秘密データ再現手段とを有することを特徴とする。
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、数値で表現されているn個のデータm〜mとに基づいて、モーフィングデータIと、モーフィングデータIの特徴ベクトルFと、スケーリングファクターAとを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
ステゴオブジェクトsとしてモーフィングデータIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}を設定し、抽出される秘密データmを数値で表現されているn個のデータ{m,m,・・・m}とし、モーフィングデータIの特徴ベクトルをFとし、スケーリングファクターをAとして、
前記秘密情報復元装置の計算手段に
に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、

の2つの式に基づいて連立方程式の解を求めて、各参照データI(j=1,2,・・・,n)の貢献度a(j=1,2,・・・,n)を求めさせる貢献度算出機能と、
求められた該貢献度a(j=1,2,・・・,n)に基づいて、
を用いて、秘密データm(j=1,2,・・・,n)を抽出させることにより、
参照データに隠蔽された秘密データを、モーフィングデータから抽出させる秘密データ再現機能とを実現させるための秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示す。さらに、スケーリングファクターAは1未満の正の実数とする。
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、参照データに隠蔽された数値で表現されているデータを、モーフィングデータから抽出することができる。また、抽出されるデータは複数のカバーデータを用いて隠蔽された秘密データであるため、秘密データのセキュリティを向上させることができる。
さらに、本発明に係る秘密情報隠蔽装置は、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個(n≧3)の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aとに基づいて、モーフィングデータIを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
秘密データmとして参照データIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、生成するステゴオブジェクトsを、モーフィングデータIとして、
に基づいてモーフィングデータIの特徴ベクトルFを求めるF生成手段と、
に基づいて、秘密データと参照データとを変形して、I (j=1,2,・・・,n)を求めるデータ変形手段と、
に基づいてモーフィングデータ(ステゴオブジェクト)Iを求めることにより、
複数(3個以上)の参照データに対して秘密データを隠蔽するI生成手段とを有することを特徴とする。
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個(n≧3)の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aとに基づいて、モーフィングデータIを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データmとして参照データIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、生成するステゴオブジェクトsを、モーフィングデータIとして、
前記秘密情報隠蔽装置の計算手段に
に基づいてモーフィングデータIの特徴ベクトルFを求めさせるF生成機能と、
に基づいて、秘密データと参照データとを変形して、I (j=1,2,・・・,n)を求めさせるデータ変形機能と、
に基づいてモーフィングデータ(ステゴオブジェクト)Iを求めさせることにより、
複数(3個以上)の参照データに対して秘密データを隠蔽させるI生成機能とを実現させるための秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示す。さらに、貢献度の和の値は、a+a+・・・+a=1を満たすものとする。
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、複数(n−1個)のカバーデータ{I,I,・・・,I}に、秘密データIを隠蔽することが可能となる。
さらに、本発明に係る秘密情報復元装置は、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個(n≧3)の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aとに基づいて、モーフィングデータIを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
ステゴオブジェクトsとして、モーフィングデータIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを参照データIとして、
に基づいて、モーフィングデータIの特徴ベクトルFを求めるF生成手段と、
に基づいて、各参照データI(j=2,3,・・・,n)の変形されたデータI (j=2,3,・・・,n)を求めるデータ変形手段と、
に基づいて、秘密データIの変形されたデータI を求め、
に基づいて秘密データIを抽出することにより、
複数の参照データに対して隠蔽された秘密データを抽出する秘密データ再現手段とを有することを特徴とする。
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個(n≧3)の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aとに基づいて、モーフィングデータIを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
ステゴオブジェクトsとして、モーフィングデータIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを参照データIとして、
前記秘密情報復元装置の計算手段に、
に基づいて、モーフィングデータIの特徴ベクトルFを求めさせるF生成機能と、
に基づいて、各参照データI(j=2,3,・・・,n)の変形されたデータI (j=2,3,・・・,n)を求めさせるデータ変形機能と、
に基づいて、秘密データIの変形されたデータI を求めさせ、
に基づいて秘密データIを抽出させることにより、
複数の参照データに対して隠蔽された秘密データを抽出させる秘密データ再現機能とを実現させるための秘密情報復元装置の秘密情報復元プログラムであることを特徴とする
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示す。さらに、貢献度の和の値は、a+a+・・・+a=1を満たすものとする。
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、モーフィングデータIから秘密データIを抽出(再現)することが可能となる。ここで、秘密データIは複数(n−1個)の参照データ{I,I,・・・,I}に隠蔽されたデータであるため、モーフィングデータIは複数の参照データが変形(モーフィング)されたデータである。このため、2つの参照データを用いて、モーフィングに基づくステガノグラフィーを行う場合に比べて、隠蔽された秘密データのセキュリティを向上させることが可能となる。
また、本発明に係る秘密情報隠蔽装置は、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、
を用いてモーフィングデータの特徴ベクトルFを求めるF生成手段と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
に基づいて、秘密データを隠蔽する前のモーフィングデータI を求める実質的カバーデータ生成手段と、
pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
=MSB(I 0p)+m
を用いてステゴオブジェクトsを求めて、pの値を1だけ増加し、さらにqの値を1だけ増加して、
その後に、q<νを満たすか否かを判断し、
q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
ν個の秘密データが隠蔽されたステゴオブジェクトsを生成するステゴオブジェクト生成手段とを有することを特徴とする。
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、
前記秘密情報隠蔽装置の計算手段に、
を用いてモーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
に基づいて、秘密データを隠蔽する前のモーフィングデータI を求めさせる実質的カバーデータ生成機能と、
pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
=MSB(I 0p)+m
を用いてステゴオブジェクトsを求めて、pの値を1だけ増加させ、さらにqの値を1だけ増加させ、
その後に、q<νを満たすか否かを判断させ、
q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
ν個の秘密データが隠蔽されたステゴオブジェクトsを生成させるステゴオブジェクト生成機能とを実現させるための秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示す。さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たす。また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、I 0pはBビットのデータであって、MSB(I 0p)は、I 0pのうち上位B−bビットのデータを取り出す関数を意味する。
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、秘密データがモーフィング処理に伴ってモーフィングデータに隠蔽されるのではなく、モーフィング処理によりモーフィングデータが生成された後に、モーフィングデータに秘密データが隠蔽されるので、秘密データそのものはモーフィング処理の対象とならない。このため、秘密データが隠蔽されたステゴオブジェクトは、秘密データが隠蔽されていても不自然さが生じ難くなる。従って、第三者がステゴオブジェクトを見ても、秘密データの隠蔽に気付き難くなり、攻撃の対象となってしまう可能性を低減することが可能となる。
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、Δ(j,j)≠0となるpにおいて、モーフィングデータI の最下位bビットに秘密データを隠蔽することが可能となる。このため、第三者からは、少なくともどの位置に秘密データが隠蔽されているかが容易に判断され難くなり、秘密データの安全性を高めることが可能となる。
また、本発明に係る秘密情報復元装置は、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
を用いて、モーフィングデータの特徴ベクトルFを求めるF生成手段と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加して、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
=s−MSB(s
を用いて、秘密データmを求め、pの値を1だけ増加し、さらに、qの値を1だけ増加して、
その後に、q<νを満たすか否かを判断し、
q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出する秘密データ再現手段と を有することを特徴とする。
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
前記秘密情報復元装置の計算手段に、
を用いて、モーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
=s−MSB(s
を用いて、秘密データmを求めさせ、pの値を1だけ増加させ、さらに、qの値を1だけ増加させて、
その後に、q<νを満たすか否かを判断させ、
q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させことにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出させる秘密データ再現機能とを実現させるための秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示す。さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たす。また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、 はBビットのデータであって、MSB(s)は、sのうち上位B−bビットのデータを取り出す関数を意味する。
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、複数の秘密データが隠蔽されたステゴオブジェクトsの中から、秘密データの隠蔽された場所を求めて、秘密データの抽出を行うことが可能となる。具体的には、カバーデータおよびステゴ鍵を用いて、I j1,pおよびI j2,pを求めて、Δ(j,j)=(I j1,p−I j2,p)≠0となるpを求める必要があることから、ステゴオブジェクトsだけを取得しても、秘密データmを抽出することができず、秘密データmのセキュリティを高めることが可能となる。
また、本発明に係る秘密情報隠蔽装置は、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、
を用いてモーフィングデータの特徴ベクトルFを求めるF生成手段と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
に基づいて、秘密データを隠蔽する前のモーフィングデータI を求める実質的カバーデータ生成手段と、
pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加して、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
を用いてステゴオブジェクトsを求めて、pの値を1だけ増加し、さらにqの値を1だけ増加して、
その後に、q<νを満たすか否かを判断し、
q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
ν個の秘密データが隠蔽されたステゴオブジェクトsを生成するステゴオブジェクト生成手段とを有することを特徴とする。
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトsを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、
前記秘密情報隠蔽装置の計算手段に、
を用いてモーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
に基づいて、秘密データを隠蔽する前のモーフィングデータI を求めさせる実質的カバーデータ生成機能と、
pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
を用いてステゴオブジェクトsを求めさせて、pの値を1だけ増加させ、さらにqの値を1だけ増加させ、
その後に、q<νを満たすか否かを判断させ、
q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
ν個の秘密データが隠蔽されたステゴオブジェクトsを生成させるステゴオブジェクト生成機能とを実現させるための秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示す。さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たす。また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、I 0pはBビットのデータであって、MSB(I 0p)は、I 0pのうち上位B−bビットのデータを取り出す関数を意味する。さらに、
は、ビット単位の排他的論理和の演算子を示し、yとして、I ,I npあるいは、(I j1,p−I j2,p)のいずれかであって、bビットの数値からなるデータが設定される。
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、Δ(j,j)≠0となるpにおいて、モーフィングデータI の最下位bビットに秘密データを隠蔽することが可能となる。さらに、隠蔽される秘密データは、秘密データとモーフィングデータなどから求められるbビットの値とで、排他的論理和演算が行われた状態で隠蔽されることになる。このため、秘密データが隠蔽されていることを、第三者に判断され難くすることが可能となり、さらに、秘密データが第三者に抽出される危険性を低減することが可能となる。
また、本発明に係る秘密情報復元装置は、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
を用いて、モーフィングデータの特徴ベクトルFを求めるF生成手段と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加して、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
を用いて、秘密データmを求め、pの値を1だけ増加し、さらに、qの値を1だけ増加して、
その後に、q<νを満たすか否かを判断し、
q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出する秘密データ再現手段と を有することを特徴とする。
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトsより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
前記秘密情報復元装置の計算手段に、
を用いて、モーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
を用いて、秘密データmを求めさせ、pの値を1だけ増加させ、さらに、qの値を1だけ増加させて、
その後に、q<νを満たすか否かを判断させ、
q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出させる秘密データ再現機能とを実現させるための秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示す。I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成され、I (j=1,2,・・・,n)は、特徴ベクトルFを有する。また、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示す。さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たす。また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、 はBビットのデータであって、MSB(s)は、sのうち上位B−bビットのデータを取り出す関数を意味する。さらに、
は、ビット単位の排他的論理和の演算子を示し、yとして、I ,I npあるいは、(I j1,p−I j2,p)のいずれかであって、bビットの数値からなるデータが設定される。


本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、複数の秘密データが隠蔽されたステゴオブジェクトsの中から、秘密データの隠蔽された場所を求めて、データの抽出を行うとともに、抽出されたデータとyの値とで排他的論理和演算を行うことによって秘密データの抽出が行われるので、セキュリティを高めることが可能となる。また、基本的に暗号化を行うことなく十分なセキュリティを確保することが可能となり、さらに、通信エラーなどがなければ、正確に秘密データを再現することができるので、抽出精度を高めることが可能となる。
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、参照データの要素数の範囲内であれば、秘密データの数νが比較的に多い場合であっても、モーフィングに基づくステガノグラフィーを用いて、参照データに秘密データを隠蔽することが可能となる。
また、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、複数のカバーデータ{I,I,・・・,I}に、モーフィングすることができない秘密データ{m,m,・・・,m}を隠蔽することが可能となる。
さらに、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、複数(n−1個)のカバーデータ{I,I,・・・,I}に、秘密データIを隠蔽することが可能となる。
一方で、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、ν個の秘密データが隠蔽されたモーフィングデータから、モーフィングに基づくステガノグラフィーを用いて、秘密データを抽出(復元、再現)することが可能となる。
また、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、参照データに隠蔽されたモーフィングすることができないデータを、モーフィングデータから抽出することができる。さらに、抽出されるデータは複数のカバーデータを用いて隠蔽された秘密データであるため、秘密データのセキュリティを向上させることができる。
さらに、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、モーフィングデータIから秘密データIを抽出(再現)することが可能となる。ここで、秘密データIは複数(n−1個)の参照データ{I,I,・・・,I}に隠蔽されたデータであるため、モーフィングデータIは複数の参照データが変形(モーフィング)されたデータである。このため、2つの参照データを用いて、モーフィングに基づくステガノグラフィーを行う場合に比べて、隠蔽された秘密データのセキュリティを向上させることが可能となる。
また、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、秘密データがモーフィング処理に伴ってモーフィングデータに隠蔽されるのではなく、モーフィング処理によりモーフィングデータが生成された後に、モーフィングデータに秘密データが隠蔽されるので、秘密データそのものはモーフィング処理の対象とならない。このため、秘密データが隠蔽されたステゴオブジェクトは、秘密データが隠蔽されていても不自然さが生じ難くなる。従って、第三者がステゴオブジェクトを見ても、秘密データの隠蔽に気付き難くなり、攻撃の対象となってしまう可能性を低減することが可能となる。
一方で、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、Δ(j,j)≠0となるpにおいて、モーフィングデータI の最下位bビットに秘密データを隠蔽することが可能となる。このため、第三者からは、少なくともどの位置に秘密データが隠蔽されているかが容易に判断され難くなり、秘密データの安全性を高めることが可能となる。
また、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、複数の秘密データが隠蔽されたステゴオブジェクトsの中から、秘密データの隠蔽された場所を求めて、秘密データの抽出を行うことが可能となる。具体的には、カバーデータおよびステゴ鍵を用いて、I j1,pおよびI j2,pを求めて、Δ(j,j)=(I j1,p−I j2,p)≠0となるpを求める必要があることから、ステゴオブジェクトsだけを取得しても、秘密データmを抽出することができず、秘密データmのセキュリティを高めることが可能となる。
さらに、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、Δ(j,j)≠0となるpにおいて、モーフィングデータI の最下位bビットに秘密データを隠蔽することが可能となる。さらに、隠蔽される秘密データは、秘密データとモーフィングデータなどから求められるbビットの値とで、排他的論理和演算が行われた状態で隠蔽されることになる。このため、秘密データが隠蔽されていることを、第三者に判断され難くすることが可能となり、さらに、秘密データが第三者に抽出される危険性を低減することが可能となる。
また、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、複数の秘密データが隠蔽されたステゴオブジェクトsの中から、秘密データの隠蔽された場所を求めて、データの抽出を行うとともに、抽出されたデータとyの値とで排他的論理和演算を行うことによって秘密データの抽出が行われるので、セキュリティを高めることが可能となる。また、基本的に暗号化を行うことなく十分なセキュリティを確保することが可能となり、さらに、通信エラーなどがなければ、正確に秘密データを再現することができるので、抽出精度を高めることが可能となる。
秘密情報隠蔽装置及び秘密情報復元装置がオープンなネットワークを介して接続された状態の一例を示した概略構成図である。 実施の形態に係る秘密情報隠蔽装置の概略構成を示したブロック図である。 実施の形態1に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う場合の機能ブロックを示した図である。 (a)は、実施の形態1に係る計算部が、秘密データを隠蔽する処理を示したフローチャートであり、(b)は、実施の形態1に係る計算部が、秘密データを抽出する処理を示したフローチャートである。 実施の形態1に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。 実施の形態2に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う場合の機能ブロックを示した図である。 (a)は、実施の形態2に係る計算部が、秘密データを隠蔽する処理を示したフローチャートであり、(b)は、実施の形態2に係る計算部が、秘密データを抽出する処理を示したフローチャートである。 実施の形態2に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。 実施の形態3に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う場合の機能ブロックを示した図である。 実施の形態3に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データを隠蔽する処理を示したフローチャートである。 実施の形態3に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。 実施の形態3に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データを抽出する処理を示したフローチャートである。 実施の形態3で説明した秘密情報隠蔽装置を用いて、秘密データxと(I j1,p−I j2,p)との積の値が少し大きい場合に秘密画像をモーフィング画像に隠蔽したときの画像例であって、(a)は2枚の参照画像、(b)はモーフィング画像、(c)はモーフィング画像に秘密画像が隠蔽されたステゴ画像、(d)は隠蔽される前の秘密画像、(e)はステゴ画像から抽出された秘密画像である。 実施の形態4に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データを隠蔽する処理を示したフローチャートである。 実施の形態4に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。 実施の形態4に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データを抽出する処理を示したフローチャートである。 実施の形態4で説明した秘密情報隠蔽装置を用いて、秘密画像をモーフィング画像に隠蔽したときの画像例であって、(a)は秘密画像が隠蔽されたステゴ画像、(b)は隠蔽される前の秘密画像、(c)はステゴ画像から抽出された秘密画像である。 実施の形態5に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データを隠蔽する処理を示したフローチャートである。 実施の形態5に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。 実施の形態5に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データを抽出する処理を示したフローチャートである。 実施の形態6に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データを隠蔽する処理を示したフローチャートである。 実施の形態6に係る計算部が、ROMに記憶されるプログラムを読み出して、秘密データを抽出する処理を示したフローチャートである。 カードユーザの認証システムの一例を示した概略構成図である。 実施の形態3で説明した秘密情報隠蔽装置を用いて画像を隠蔽する場合の画像例であり、(a)はカバー画像、(b)は秘密画像、(c)はモーフィング画像、(d)はモーフィング画像から抽出された抽出画像である。 サーバとローカル端末およびユーザの携帯デバイスとの間で認証処理を行う前の準備作業のシーケンスの一例を示した図である。 サーバとローカル端末およびユーザの携帯デバイスとの間で認証処理を行う場合におけるシーケンスの一例を示した図である。
以下、本発明に係る秘密情報隠蔽装置及び秘密情報復元装置について、一例を示して詳細に説明する。図1には、ユーザAのコンピュータAおよびユーザBのコンピュータBが、ネットワーク3を介して、サーバ4に接続された概略構成が示されている。コンピュータAでは、秘密データをカバーデータに隠蔽することによりモーフィングデータを生成することができ、コンピュータAからユーザBのコンピュータBに対して、ネットワーク3を介してモーフィングデータを伝達することにより、コンピュータBにおいてモーフィングデータから秘密データを抽出(復元、再現)させることが可能になっている。
ここで、ユーザAのコンピュータAは、カバーデータに対して秘密データを隠蔽するために用いられるコンピュータであるため、秘密情報隠蔽装置1に該当する。また、ユーザBのコンピュータBは、モーフィングデータから秘密データを抽出(復元)するために用いられるコンピュータであるため、秘密情報復元装置2に該当する。但し、一般的に秘密データの隠蔽処理と抽出処理とは同一の処理を逆に行うことによって実現することが可能であるため、ユーザAのコンピュータAとユーザBのコンピュータBとの両方が秘密データの隠蔽処理及び復元処理を行うことが可能な秘密情報隠蔽・復元装置としての機能を備えるものであってもよい。
コンピュータAとコンピュータBとは、オープンなネットワーク3、例えばインターネットを介してつながっている。なお、図1には、説明の便宜上、秘密情報隠蔽装置1としてのコンピュータAと、秘密情報復元装置2としてのコンピュータBとしか示されていないが、コンピュータA及びコンピュータB以外の多数のコンピュータがネットワーク3を介して接続されるものであってもよい。ネットワーク3を介して接続される各コンピュータは、直接的に、またはwebサーバ4やメールサーバ等を介して間接的に、情報の発信・取得を行うことが可能となっている。
さらに、コンピュータAからコンピュータBに対して、オープンなネットワーク3とは異なる通信方法を用いて、データの送受信を行うことが可能となっている。この通信方法は、ネットワーク3と異なり、コンピュータA及びコンピュータB以外のユーザによってデータを確認することができない通信方法が採用されている。例えば、専用回線による通信方法を用いたり、あるいは、データをCDやUSBなどの記憶媒体に記憶して郵送する方法などを一例として用いることができる。この通信方法を、以下、オープンなネットワークによる通信方法と区別するためにクローズなネットワークによる通信方法と呼ぶことにする。
図2は、秘密情報隠蔽装置1の概略構成を示したブロック図である。秘密情報隠蔽装置1は、一般的な計算機(コンピュータ、携帯電話など)によって構成することが可能となっており、装置本体6と、表示部7と、データ入力部8と、命令入力部9とを有している。
表示部7は、一般的な液晶ディスプレイやCRTディスプレイ(ブラウン管ディスプレイ)が該当し、処理の内容等をユーザに視認可能に表示させる機能を有している。
データ入力部8及び命令入力部9は、ユーザが秘密情報隠蔽装置1の処理に必要な情報、命令などを入力するための入力手段である。具体的に、データ入力部8は、カバーデータ、秘密データなどの入力を行う機能を有している。例えば、カバーデータ、ステゴオブジェクト、秘密データ等などが画像データである場合には、デジタルカメラ、スキャナーなどが一例として該当する。また、カバーデータ、ステゴオブジェクト、秘密データ、ステゴ鍵等などをデータとしてコンピュータに取り込むためのUSB端子、CDドライブ、DVDドライブなどが、一例として該当する。
さらに、命令入力部9は、実行命令、修正命令などの入力を行う機能を有しており、キーボード、マウス、タッチペンなどが該当する。
装置本体6は、アルゴリズム実行部10と、通信部11と、補助記憶部12とを有している。アルゴリズム実行部10は、モーフィングデータの生成処理及び秘密データの隠蔽処理等を主として行う役割を有している。
アルゴリズム実行部10は、計算部(計算手段)15と記憶部18を有している。
計算部15は、本発明に係る計算手段として機能し、ステゴオブジェクトsの生成処理等の秘密情報隠蔽装置1におけるさまざまな演算・制御処理を行う役割を有している。記憶部18は、計算部15における処理に必要なデータ及び計算結果等(例えば変形データなど)を一時的に記憶する機能を有している。
記憶部18は、例えば、一般的なROM(Read Only Memory)16と、RAM(Random Access Memory)17とにより構成される。ROM16には、秘密情報隠蔽装置1の起動時の処理プログラム等が記憶されており、秘密情報隠蔽装置1の起動時等において計算部15がROM16の処理プログラム等を読み出すことによって起動処理等を行うこと(起動処理などの方法を実現すること)が可能となっている。RAM17は、計算部15において行われる処理のワークエリア等として用いられる。
通信部11は、例えばネットワークカード(NIC:Network Interface Card)等が該当し、秘密情報隠蔽装置1をネットワーク3に接続させる役割を有している。なお、図2では、便宜上、装置本体6に内蔵されるネットワークカードを通信部11として記載しているが、必要に応じて通信部11より延設されるネットワークケーブルに対してモデムやメディアコンバータ等が接続される場合があり、その場合には通信部11にモデム等が含まれることになる。
補助記憶部12は、いわゆる補助記憶装置であって、主としてハードディスクにより構成されている。補助記憶部12には、秘密情報隠蔽装置1の処理に必要なデータ等、例えば、秘密データ、カバーデータ、ステゴオブジェクト、ステゴ鍵の情報などを記憶することが可能となっている。
また、補助記憶部12には、秘密情報隠蔽処理に必要なデータ(例えば、秘密情報隠蔽装置1により生成された変形データ、モーフィングデータ等)を記憶することが可能となっている。なお、補助記憶部12は、ハードディスクのみに限定されず、フラッシュメモリ等で構成される記憶手段(例えば、SSD(Solid State Drive)等)やテープメディアを使用する記憶手段(例えば、DAT(Digital Audio Tape))等であってもよい。
計算部15は、補助記憶部12またはROM16に記憶される処理プログラムに従って、ステゴオブジェクトsの生成処理(生成処理:カバーデータcに対する秘密データmの隠蔽処理・隠蔽方法)を実行する。図2では、演算処理回路として計算部15が1個しか設けられていないが、各機能に応じて複数の演算処理回路を設けることも可能である。
一方で、上述したように、秘密データの隠蔽処理と抽出処理とは、一般的に同一の処理を逆に行うことによって実現することが可能である。このため、ユーザAのコンピュータAとユーザBのコンピュータBとの両方が秘密データの隠蔽処理及び復元処理を行うことが可能な秘密情報隠蔽・復元装置としての機能を備えるものであってもよく、秘密情報復元装置2の構成も、図2に示した概略構成のブロック図と同一の構成を備えることになる。このため、秘密情報復元装置2は、秘密情報隠蔽装置1と同一の機能部により構成されており、同一の符号を用いてその機能ブロックを示し、詳細な説明は省略するものとする。
実施の形態では、各コンピュータが、秘密データの隠蔽処理と復元処理との両方の処理を行うものとする。また、コンピュータが秘密情報隠蔽機能を実現する場合であっても、秘密情報復元機能を実現する場合であっても、図2に示した機能ブロックに基づいて処理が行われるものとする。このため、秘密情報復元装置2として機能する場合に、計算部15は、補助記憶部12またはROM16に記憶される処理方法を実現するためのプログラムに従って、ステゴオブジェクトから秘密データを抽出する処理を実行する。
次に、上述した秘密データの隠蔽処理及び抽出処理を、複数の実施形態に分けて詳細に説明する。
[実施の形態1]
まず、実施の形態1として、計算部15が、複数の参照データに対して複数の秘密データを隠蔽したステゴオブジェクトを生成し、また、このようにして生成されたステゴオブジェクトから秘密データを抽出する処理について説明を行う。
図3は、実施の形態1において、計算部15がROM16に記憶されるプログラムを読み出して秘密データの隠蔽処理を行う(隠蔽処理方法を実現する)場合における機能ブロックを示した図である。
図3において、データ変形部(データ変形手段)21と、F生成部(F生成手段)22と、I生成部23(I生成手段)とは、プログラムに従って隠蔽処理を行う(隠蔽処理方法を実現する)計算部15が実質的に該当する。また、秘密データ記憶部24、カバーデータ記憶部25、ステゴ鍵記憶部26、ステゴオブジェクト記憶部27、ワーキングメモリ28は、RAM17または補助記憶部12が実質的に該当する。
なお、カバーデータ記憶部25には、予めカバーデータcが記憶されており、ステゴ鍵記憶部26には、予めステゴ鍵kが記憶されているものとすることも可能である。また、秘密データ記憶部24には、予め秘密データmが記憶され、ステゴオブジェクト記憶部27には、生成されたステゴオブジェクトsが記憶される。
また、計算部15が、オープンなネットワーク3あるいはクローズなネットワークを介して、カバーデータc、秘密データmあるいはステゴ鍵kを取得することにより、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部25、秘密データ記憶部24あるいはステゴ鍵記憶部26に記憶する構成とすることも可能である。
但し、実際に図3に示した秘密情報隠蔽装置1を利用する場合には、カバーデータcとステゴ鍵kとが、予めカバーデータ記憶部25とステゴ鍵記憶部26とに記憶された状態で処理が行われることが多いと考えられる。
また、計算部15は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部27からステゴオブジェクトsを読み出して、オープンなネットワーク3を介して、秘密情報復元装置2として機能するコンピュータへと出力する役割を行う。
次に、実施の形態1に係る計算部15の処理を、図4(a)に示すフローチャートに従って説明する。
実施の形態1に係る秘密データの隠蔽処理では、3以上、例えばn個(n≧3)の参照データに基づくモーフィングを利用したステガノグラフィーを用いて、秘密データmをカバーデータcに隠蔽する場合について説明する。
n個の参照データを用いて秘密データの隠蔽を行う場合には、次のように定義することができる。
秘密データm=I、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a}、ステゴオブジェクトs=I
ここで、I〜Iは参照データ、F〜Fは、参照データI〜Iのそれぞれに対応する特徴ベクトル、a〜aは、参照データI〜Iのそれぞれに対応する貢献度、Iはモーフィングデータを示している。各参照データの貢献度は、独立に設定されるが、実際に特徴ベクトルの要素とモーフィングデータ(変形されたデータ)の要素とを規定のダイナミックレンジに収めるためには、各貢献度の和が1となる条件
+a+・・・+a=1
を満たす必要がある。従って、n個の貢献度a〜aの中で、n−1個の貢献度を設定すればよい。このようにして定義された、m,c,kを入力されたデータとして、計算部15は、ステゴオブジェクトsを出力する処理を行う。
[秘密データを隠蔽するための関数fを実現するアルゴリズム]
入力:m=I,c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a
出力:s=I
・STEP1(図4(a)に示すステップS.1)
計算部15が、次式に基づいてモーフィングデータIの特徴ベクトルFを求める。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図3に示すF生成部22として機能する。
・STEP2(図4(a)に示すステップS.2)
計算部15が次式に基づいて、秘密データと参照データとを変形して、データI (j=1,2,・・・,n)を求める。
但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図3に示すデータ変形部21として機能する。
・STEP3(図4(a)に示すステップS.3)
計算部15が、次式に基づいてモーフィングデータ(ステゴオブジェクト)Iを求める。
但し、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示している。この処理において計算部15は、図3に示すI生成部23として機能する。求められたモーフィングデータ(ステゴオブジェクト)は、ステゴオブジェクト記憶部27に記憶される。
このようにSTEP1〜STEP3の手順(図4(a)に示す処理)を経ることにより、複数(n−1個)の参照データ{I,I,・・・,I}に、秘密データIが隠蔽されたモーフィングデータIを求めることが可能となる。
一方で、秘密情報復元装置2では、上述した隠蔽処理により生成されたモーフィングデータIから、参照データIを抽出(復元、再現)する処理を行うことにより、秘密データを抽出することが可能となる。
図5は、計算部15がROM16に記憶されるプログラムを読み出して秘密データの抽出処理を行う(抽出処理方法を実現する)場合における機能ブロックを示した図である。
図5において、データ変形部(データ変形手段)31と、F生成部(F生成手段)32と、秘密データ再現部(秘密データ再現手段)33とは、プログラムに従って抽出処理を行う(抽出処理方法を実現する)計算部15が実質的に該当する。また、秘密データ記憶部34、カバーデータ記憶部35、ステゴ鍵記憶部36、ステゴオブジェクト記憶部37、ワーキングメモリ38は、RAM17または補助記憶部12が実質的に該当する。
ステゴオブジェクト記憶部37には、図3に示した秘密情報隠蔽装置1で生成されたステゴオブジェクトsが記憶され、カバーデータ記憶部35には、カバーデータcが記憶され、ステゴ鍵記憶部36には、ステゴ鍵kが記憶され、秘密データ記憶部34には、秘密データmが記憶される。
なお、実施の形態1では、計算部15がステゴオブジェクト取得部として機能し、図3に示した秘密情報隠蔽装置1のステゴオブジェクト記憶部27から、図4(a)の処理に従って生成されたステゴオブジェクトsを、オープンなネットワーク3を介して取得して、ステゴオブジェクト記憶部37に記憶する。また、計算部15は、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置1において秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部35及びステゴ鍵記憶部36に記憶させる処理を行う。なお、全ての秘密情報復元装置2のカバーデータ記憶部35及びステゴ鍵記憶部36に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用することも可能である。
また、計算部15は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部34から秘密データを読み出して、表示部7などに抽出されたデータを表示させる役割を行う。
次に、実施の形態1における計算部15の秘密データ抽出処理を、図4(b)に示すフローチャートに従って説明する。
実施の形態1に係る秘密データの抽出処理では、図4(a)を示して説明した場合と同様に、3以上、例えばn個(n≧3)の参照データを用いて、モーフィングを利用したステガノグラフィーに基づき、ステゴオブジェクトから秘密データを抽出する処理を行う。
従って、n個の参照データを用いて隠蔽された秘密データを抽出する場合には、次のように定義される。
ステゴオブジェクトs=I、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a}、秘密データm=I
このようにして定義された、s,c,kを入力されたデータとして、計算部15は、秘密データmを抽出する処理を行う。
[秘密データを抽出するための関数f−1を実現するアルゴリズム]
入力:s=I,c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a
出力:m=I
・STEP1(図4(b)に示すステップS.11)
計算部15は、次式に基づいて、モーフィングデータIの特徴ベクトルFを求める。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図5に示すF生成部32として機能する。
・STEP2(図4(b)に示すステップS.12)
計算部15は、次式に基づいて各参照データI(j=2,3,・・・,n)の変形されたデータI (j=2,3,・・・,n)を求める。
但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図5に示すデータ変形部31として機能する。
・STEP3(図4(b)に示すステップS.13)
計算部15は、変形されたデータI (j=2,3,・・・,n)を用いて、次式に従って、秘密データIの変形I を求める。
この処理において計算部15は、図5に示す秘密データ再現部33として機能する。但し、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示している。
・STEP4(図4(b)に示すステップS.14)
計算部15は、次式に基づいて秘密データを再現する。
この処理において計算部15は、図5に示す秘密データ再現部33として機能する。また、この処理により求められた秘密データは、秘密データ記憶部34に記憶される。
このように、上述したSTEP1〜STEP4の手順(図4(b)に示す処理)を経ることにより、モーフィングデータIから秘密データIを抽出(再現)することが可能となる。ここで、秘密データIは複数(n−1個)の参照データ{I,I,・・・,I}に隠蔽されたデータであるため、モーフィングデータIは複数の参照データが変形(モーフィング)されたデータである。
このため、2つの参照データを用いて、モーフィングに基づくステガノグラフィーを行う場合に比べて、隠蔽された秘密データのセキュリティを向上させることができる。
[実施の形態2]
次に、実施の形態2として、秘密データとしてモーフィングできないデータを用いる場合において、複数の参照データに秘密データを隠蔽し、また抽出する処理について説明を行う。
図6は、実施の形態2において、計算部15がROM16に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う(隠蔽処理方法を実現する)場合における機能ブロックを示した図である。
図6において、スケーリングファクター算出部(スケーリングファクター算出手段)41と、貢献度算出部(貢献度算出手段)42と、データ変形部(データ変形手段)43と、F生成部(F生成手段)44と、モーフィングデータ生成部(モーフィングデータ生成手段)46とは、プログラムに従って隠蔽処理を行う(隠蔽処理方法を実現する)計算部15が実質的に該当する。また、秘密データ記憶部47、カバーデータ記憶部48、ステゴ鍵記憶部49、ステゴオブジェクト記憶部50、ワーキングメモリ51は、RAM17または補助記憶部12が実質的に該当する。
また、カバーデータ記憶部48には、予めカバーデータcが記憶されており、ステゴ鍵記憶部49には、予めステゴ鍵kが記憶されているものとすることも可能である。また秘密データ記憶部47には、予め秘密データmが記憶され、ステゴオブジェクト記憶部50には、生成されたステゴオブジェクトsが記憶される。
なお、計算部15が、オープンなネットワーク3あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得することにより、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部48、秘密データ記憶部47あるいはステゴ鍵記憶部49に記憶する構成とすることも可能である。
但し、実際に図6に示した秘密情報隠蔽装置1を利用する場合には、カバーデータとステゴ鍵とを予め取得してカバーデータ記憶部48とステゴ鍵記憶部49に記憶させておく場合が多いと考えられる。
また、計算部15は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部50からステゴオブジェクトを読み出して、オープンなネットワーク3を介して、秘密情報復元装置2として機能するコンピュータへと出力する役割を行う。
次に、実施の形態2に係る計算部15の処理を、図7(a)に示すフローチャートに従って説明する。
上述したように、実施の形態1では、秘密データとしてモーフィング可能なデータである参照データIを用いる場合について説明を行った。モーフィング可能なデータの例としては、顔画像、指紋、静脈パターン、音声などの生体情報を用いることができる。これらの生体情報を秘密データとしてデータ隠蔽処理を行うことにより、顔画像、指紋、静脈パターン、音声などにより特定される顧客の認証処理に実施の形態1に示される秘密情報隠蔽装置1及び秘密情報復元装置2を利用することが可能となる。さらに、従来の認証技術に比べて高いセキュリティを確保し、認証システムの信頼性向上を図ることが可能となる。
しかしながら、実際の認証システムでは、モーフィング可能なデータと、モーフィングできないデータとを同時に秘密データとして用いる場合がある。例えば、会員番号、電話番号、住所、購買履歴、行動パターン等のように数値で表現されるデータは、モーフィングできないデータに該当する。このように数値で表現されることによりモーフィングできないデータも、モーフィングに基づくステガノグラフィーによって隠蔽することができれば、認証システムの実用性をより高めることが可能となる。
実施の形態2に係る秘密データの隠蔽処理では、モーフィングできない(数値で表現されている)データを秘密データとする場合に、秘密データをカバーデータに隠蔽する処理について説明する。
実施の形態2に係る秘密データ隠蔽処理では、次のように定義する。
秘密データm={m,m,・・・,m}、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F}、ステゴオブジェクトs={I,F,A}
ここで、m〜mは、モーフィングできないデータからなる秘密データ、I〜Iは参照データ、F〜Fは参照データI〜Iのそれぞれに対応する特徴ベクトル、IとFとは、参照データから得られるモーフィングデータと、このモーフィングデータの特徴ベクトルを示している。
また、Aは、a+a+a+・・・+a=1の条件を満たす貢献度{a,a,・・・,a}を求めるためのスケーリングファクターである。このスケーリングファクターは、次の式のようにして求めることができる。
カバーデータcとステゴ鍵kとを設定すれば、秘密データmをステゴオブジェクトsに埋め込むことができる。ここで、全ての秘密データは、数値で表現されたものとする。
このようにして定義された、m,c,kを入力されたデータとして、計算部15は、ステゴオブジェクトsを求める(生成)する処理を行う。
[秘密データを隠蔽するための関数fを実現するアルゴリズム]
入力:m={m,m,・・・,m},c={I,I,・・・,I},k={F,F,・・・,F
出力:s={I,F,A}
・STEP1(図7(a)に示すステップS.21)
計算部15が、次式に基づいてスケーリングファクターAを求める。
この処理において計算部15は、図6に示すスケーリングファクター算出部41として機能する。
・STEP2(図7(a)に示すステップS.22)
計算部15が次式に従って、各参照データI(i=1,2,・・・,n)の貢献度a(i=1,2,・・・,n)を、秘密データm(i=1,2,・・・,n)に基づいて決定する。
=m×A (iに1からnまでの値を順次代入する)
この処理において計算部15は、図6に示す貢献度算出部42として機能する。
・STEP3(図7(a)に示すステップS.23)
計算部15が次式に基づいて、モーフィングデータIの特徴ベクトルFを求める。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図6に示すF生成部44として機能する。
・STEP4(図7(a)に示すステップS.24)
計算部15が次式に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求める。
但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図6に示すデータ変形部43として機能する。
・STEP5(図7(a)に示すステップS.25)
計算部15が、次式に基づいてモーフィングデータ(ステゴオブジェクト)Iを求める。
但し、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示している。この処理において計算部15は、図6に示すモーフィングデータ生成部46として機能する。求められたモーフィングデータは、ステゴオブジェクト記憶部50に記憶される。
このようにSTEP1〜STEP5の手順(図7(a)に示す処理)を経ることにより、複数のカバーデータ{I,I,・・・,I}に、モーフィングできない(例えば、数値で表現されている)複数の秘密データ{m,m,・・・,m}が隠蔽されたモーフィングデータIを求めることが可能となる。また、数値で表現されている複数の秘密データであっても、カバーデータに隠蔽を行うことが可能であることから、必ずしも、秘密データはモーフィング可能なデータである必要がなくなる。
一方で、秘密情報復元装置2では、上述した隠蔽処理により生成されたモーフィングデータIから、複数の秘密データ{m,m,・・・,m}を抽出(復元)する抽出処理を行うことが可能である。
図8は、計算部15がROM16に記憶されるプログラムを読み出して秘密データの抽出処理を行う(抽出処理方法を実現する)場合における機能ブロックを示した図である。
図8において、データ変形部(データ変形手段)61と、貢献度算出部(貢献度算出手段)62と、秘密データ再現部(秘密データ再現手段)63とは、プログラムに従って抽出処理を行う(抽出処理方法を実現する)計算部15が実質的に該当する。また、秘密データ記憶部64、カバーデータ記憶部65、ステゴ鍵記憶部66、ステゴオブジェクト記憶部67、ワーキングメモリ68は、RAM17または補助記憶部12が実質的に該当する。ステゴオブジェクト記憶部67には、図6に示す秘密情報隠蔽装置1で生成されたステゴオブジェクトsが記憶され、カバーデータ記憶部65には、カバーデータcが記憶され、ステゴ鍵記憶部66には、ステゴ鍵kが記憶され、秘密データ記憶部64には、秘密データmが記憶される。
なお、実施の形態2では、計算部15がステゴオブジェクト取得部として機能し、図6に示した秘密情報隠蔽装置1のステゴオブジェクト記憶部50から、図7(a)に示す処理によって生成されたステゴオブジェクト(モーフィングデータ)をオープンなネットワーク3を介して取得して、ステゴオブジェクト記憶部67に記憶する。また、計算部15が、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置1における秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部65及びステゴ鍵記憶部66に記憶させる構成とすることも可能である。
また、全ての秘密情報復元装置2のカバーデータ記憶部65及びステゴ鍵記憶部66に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用することも可能である。さらに、計算部15は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部64から秘密データを読み出して、表示部7などに抽出されたデータを表示させる役割を行う。
次に、実施の形態2における計算部15の秘密データ抽出処理を、図7(b)に示すフローチャートに従って説明する。実施の形態2に係る秘密データの抽出処理では、モーフィングできない(例えば、数値で表現されている)秘密データが隠蔽されたステゴオブジェクトから、秘密データを抽出する場合について説明する。
n個の参照データを用いて隠蔽されたn個の秘密データを抽出する場合には、次のように定義される。
ステゴオブジェクトs={I,F,A}、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F}、秘密データm={m,m,・・・,m
このようにして定義された、s,c,kを入力されたデータとして、計算部15は、秘密データmを抽出する処理を行う。
[秘密データを抽出するための関数f−1を実現するアルゴリズム]
入力:s={I,F,A},c={I,I,・・・,I},k={F,F,・・・,F
出力:m={m,m,・・・,m
・STEP1(図7(b)に示すステップS.31)
計算部15が次式に基づいて、各参照データの変形されたデータを求める。
但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図8に示すデータ変形部61として機能する。
・STEP2(図7(b)に示すステップS.32)
計算部15は、次の2つの式に基づいて連立方程式の解を求めて、貢献度a(j=1,2,・・・,n)を求める。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。また、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示している。この処理において計算部15は、図8に示す貢献度算出部62として機能する。
・STEP3(図7(b)に示すステップS.33)
計算部15は、求められた貢献度a(j=1,2,・・・,n)に基づいて、次式を用いて、秘密データを抽出する。
この処理において計算部15は、図8に示す秘密データ再現部63として機能する。また、この処理により求められた秘密データは、秘密データ記憶部64に記憶される。
このように、上述したSTEP1〜STEP3の手順(図7(b)に示す処理)を経ることにより、モーフィングデータ(ステゴオブジェクトs)から秘密データを抽出(復元、再現)することが可能となる。
実施の形態2における秘密データには、直接モーフィングできないデータ(例えば、数値で表現されているデータ)が用いられているが、上述した処理により、モーフィングできないデータを、モーフィングに基づくステガノグラフィーにより秘密データとしてカバーデータに隠蔽することができる。また、上述した処理により、複数のカバーデータを用いて秘密データを隠蔽することができるので、隠蔽された秘密データのセキュリティを向上させることができる。
なお、以下の2式
からなる連立方程式は、方程式の数をNとすると、以下のように示すことができる。
未知数となる秘密データmの個数をNとするとN=nとなる。未知数を唯一的に決めるために、通常は、N≦Nに設定される。即ち、Nは隠蔽できる秘密データの上限を示すことになる。
この場合、理論的には、
から任意のN個の方程式を選べば、秘密データを求めることができる。
ここで、実際には、モーフィングデータが整数値に変換されて保存されることもあるし、ステゴオブジェクトsがオープンなネットワーク3を介して伝達される過程において、データに誤りが生ずる場合もある。このため、連立方程式の解が厳密に存在しない可能性もある。このような場合には、最小二乗解を求めるか、誤り訂正符号を利用することにより、解を求めることが可能となる。
また、ステゴオブジェクトsには、FとAとが含まれているが、これをメタデータとしてIと一体化することも可能である。即ち、ステゴオブジェクトsを1つのファイルとして、秘密情報隠蔽装置1のステゴオブジェクト記憶部50から出力させ、あるいは、秘密情報復元装置2のステゴオブジェクト記憶部67に記憶させることができる。さらに、Fを求めるときに利用する貢献度と、モーフィングデータを求めるときに利用する貢献度とを区別することもできるので、Fを事前に求めてステゴ鍵に含めることも可能である。
実際に、n個以上の参照データを含む参照データ集合Ωを用意し、任意の秘密データに対してΩからn個の参照データを選択することにより、上述した処理における参照データとして利用することができる。この場合には、選択された参照データのインデックス(j,j,・・・・,j)と秘密データの数もステゴ鍵の一部となる。また、n個の秘密データは全て数値データと仮定するが、もともと数値データではなくても、コンピュータの中で数値に表現されるので、秘密データを必ずしも数値に限定する必要はない。
上述した方法は、以下の文献A
[文献A]J. Smith and B. Comiskey,"Modulation and information hiding in images," Proc. First International Workshop on Information Hiding; Lecture Notes in Computer Science, Springer, Vol. 1174, pp. 207-227, 1996.
に提案されたspread spectrum steganography(以下、SSS法という)によく似ている。
SSS法では、まず互いに直交する基底ベクトルの集合{φ,φ,・・・,φ}を用意し、任意の秘密データm={m,m,・・・,m}に基づいて、以下の式でeを求める。
また、カバーデータcは、全ての基底ベクトルと直交であるとし、ステゴオブジェクトsを以下のように求める。
ステゴオブジェクトsから秘密データmを抽出(再現)するためには、ステゴオブジェクトsと各基底ベクトルの内積をとればよい。即ち
により秘密データm(j=1,2,・・・,n)を求めることになる。
このSSS法において、ステゴオブジェクトsは、カバーデータcと基底ベクトルとの線形結合であるため、カバーデータcと基底ベクトルとが、下記文献Bに示されるblind source separation(BSS)技術を利用することによって、ステゴオブジェクトsから推測される可能性がある。
[文献B]J. F. Cardoso,"Blind signal separation: statistical principles," Proceedings of the IEEE, Special Issue on Blind Identification and Estimation, Vol. 9, No. 10, pp. 2009-2025, 1998.
これに対して、実施の形態3において提案する方法は、直交ではない参照データをモーフィング(非線形変換)してから線形結合している。このため、参照データの特徴ベクトルに関する情報がなければ、参照データをBSS技術などの方法で推測することが極めて困難である。従って、実施の形態3において提案する方法は、SSS法よりも安全性が高いと判断できる。
[実施の形態3]
次に、実施の形態3として、参照データの要素数(Nd)の範囲内で、秘密データの数(個数、データ数)が比較的多い場合に、モーフィングに基づくステガノグラフィーを用いて、参照データに秘密データを隠蔽し、また抽出する処理について説明を行う。
実施の形態1及び実施の形態2に示したように、参照データの数(個数)を秘密データの数(個数)に十分に対応できるだけ用意することができれば、秘密データを参照データに隠蔽することができる。しかしながら、実施の形態1及び実施の形態2に示した方法において、秘密データの数(個数)が増大した場合(比較的多い場合)には、以下のような問題点が発生する。
1)多数の秘密データに対応する大量の参照データを用意する必要がある。
2)モーフィングに基づくステガノグラフィーでは、全ての参照データをモーフィングによりデータ変形させる必要があるので、秘密データを隠蔽(埋め込み)する場合であっても、抽出する場合であっても、膨大な計算量が必要とされ、計算コストが高くなる可能性がある。
これらの問題を解決するために、大量の情報を秘密な場所に保存し、そのアドレスやポインターだけを秘密データとして隠蔽する方法が考えられる。あるいは、大量の情報を暗号化して、その復号鍵だけを秘密データとして隠蔽する方法などが考えられる。このように、隠蔽したい情報そのものを秘密データとして直接参照データに隠蔽するのではなく、隠蔽したい情報を求めるための間接的な情報を小さな秘密データとして用いることにより、少数の参照データに秘密データ(間接的な情報)を隠蔽することができる。
しかしながら、間接的な情報を秘密データとして用いて、少ない個数の参照データに秘密データを隠蔽する方法ではなく、多数(多い個数)の秘密データを用いて直接的に参照データに情報を隠蔽したいというニーズが多く存在する。さらに、多数の(多くの個数からなる)秘密データを用いて情報を隠蔽しつつも、隠蔽処理に用いる参照データの個数を少なくしたいという要望が多く存在する。実施の形態3では、このような要望に対応すべく、多数(多い個数)の情報をそのまま秘密データとして用い、多数の秘密データの隠蔽を少ない個数の参照データを利用して直接的に隠蔽し、また、抽出する方法を説明する。
まず、参照データの数(個数)をnとし、秘密データの数(個数)をνとすると、秘密データの数の方が参照データの数よりも多いことが前提となるため、ν>>nに設定する。また、秘密データは、異なる種類の秘密要素を同じ形式で数値化したν個のデータとする。
このようにして参照データの数nと秘密データの数νとを設定した上で、
と、
において、貢献度aを「要素」ごとに可変にすれば、全部でN×n個の秘密データを、参照データに隠蔽することが可能となる。但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。また、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示している。
ここで、Nは、既に説明したように
であり、上述した2つの式の方程式の数を示している。
しかしながら、上述した方程式の数Nよりも数の多い秘密データを参照データに隠蔽したとしても、隠蔽された秘密データを忠実に再現(抽出)することが困難となるので、ν≦Nとする。
また、Nは、通常Nよりも遥かに小さいので、一般性を失わずに、
を用いるだけで足りることになる。このため、ν≦Nとする。
ν個の秘密データを参照データに隠蔽するためには、少なくともν個の異なる式に秘密データを隠蔽する必要が生ずる。この条件を満たす方法は、さまざまに考えられるが、一例として、1つの式に1つの秘密データを隠蔽する方法について説明する。
を利用することにより、計算部15において、秘密データをxとして、秘密データxを以下のように隠蔽することができる。
但し、Jとjとは、1≦j<j≦nを満たす自然数であり、I 0pとI0pとは、それぞれ秘密データを隠蔽する前と隠蔽した後とのモーフィングデータのp番目の要素を示している。また、a,a,・・・,aは、予め与えられた貢献度を示している。また、秘密データxは、数値化されたものとする。
上述したI0pの式(19)に示すように、まず、秘密データxをj番目の参照データの貢献度aj1に加えることによって、I0pに隠蔽する。次に、j番目の参照データの貢献度aj2から秘密データxを差し引くことによって、全ての参照データの貢献度の和が1となる条件
,+a+・・・+a=1
を満足させることになる。
上述した
において、秘密データxを隠蔽させる場合に、秘密データxの値が大きいとモーフィングデータの値を大きく変化させ、全体としてモーフィングデータI0pが不自然になる可能性がある。このような問題は、予め秘密データxを小さくスケーリングしてから隠蔽を行うことで解決することができる。
一方で、
から明らかなように、I j1とI j2とのp番目の要素とが等しい場合、つまり、
(I j1,p−I j2,p)=Δ(j,j)=0となる場合には、秘密データxを隠蔽しても、後で隠蔽した秘密データを抽出(復元、再現)することができない。
このような問題を解決する方法は複数存在するが、実施の形態3では以下の一例を示して説明する。
まず、p番目の要素が等しくないI j1とI j2とを選んで、秘密データの隠蔽を行う。このようなjとjとが存在しない場合には、pの値を増やして、増加されたpに基づいて判断を行う。このようにすると、隠蔽できる秘密データxの数はNより多少、少なくなる。
次に、以上の説明に基づいて、計算部15が、複数の秘密データm={m,m,・・・,mν}をモーフィングデータに隠蔽して、ステゴオブジェクトsを生成し、また、ステゴオブジェクトsから秘密データmを抽出する処理について説明を行う。
図9は、実施の形態3において、計算部15がROM16に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う(隠蔽処理方法を実現する)場合における機能ブロックを示した図である。図9において、データ変形部(データ変形手段)71と、F生成部(F生成手段)72と、実質的カバーデータ生成部(実質的カバーデータ生成手段)73と、ステゴオブジェクト生成部(ステゴオブジェクト生成手段)74とは、プログラムに従って隠蔽処理を行う(隠蔽処理方法を実現する)計算部15が実質的に該当する。また、秘密データ記憶部75、カバーデータ記憶部76、ステゴ鍵記憶部77、ステゴオブジェクト記憶部78、ワーキングメモリ79は、RAM17または補助記憶部12が実質的に該当する。
なお、カバーデータ記憶部76には、予めカバーデータcが記憶されており、ステゴ鍵記憶部77には、予めステゴ鍵kが記憶されているものとすることも可能である。また、秘密データ記憶部75には、予め秘密データmが記憶され、ステゴオブジェクト記憶部78には、生成されたステゴオブジェクトsが記憶される。
また、計算部15が、オープンなネットワーク3あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得する構成としてもよい。この場合に、計算部15は、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部76、秘密データ記憶部75あるいはステゴ鍵記憶部77に記憶する処理を行う。
但し、実際に図9に示した秘密情報隠蔽装置1を利用する場合には、カバーデータとステゴ鍵とを予めカバーデータ記憶部76とステゴ鍵記憶部77に記憶させておく場合が多いと考えられる。
また、計算部15は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部78からステゴオブジェクトを読み出して、オープンなネットワーク3を介して、秘密情報復元装置2として機能するコンピュータへと出力する役割を行う。
次に、実施の形態3に係る計算部15の秘密データの隠蔽処理を、図10に示すフローチャートに従って説明する。
実施の形態3に係る秘密データ隠蔽処理では、次のように定義する。
秘密データm={m,m,・・・,mν}、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a;A;ν}、ステゴオブジェクトs
ここで、m〜mνは秘密データ、I〜Iは参照データ、F〜Fは参照データI〜Iのそれぞれに対応する特徴ベクトル、a〜aはそれぞれの参照データにおける貢献度、I は、参照データから得られるモーフィングデータであって、秘密データを隠蔽する前のモーフィングデータである。また、Aは、貢献度を求めるためのスケーリングファクターであり、小さい(例えば、1未満の)正の実数とする。さらに、νとnとはν>nの関係が成立する。
このようにして定義された、m,c,kを入力されたデータとして、計算部15は、ステゴオブジェクトsを出力する処理を行う。
[秘密データを隠蔽するための関数fを実現するアルゴリズム]
入力:m={m,m,・・・,mν},c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a;A;ν}
出力:s
・STEP1(図10に示すステップS.41)
まず、計算部15が、
を用いてモーフィングデータの特徴ベクトルを求める。ここで、a,a,・・・,aは、事前に正規化された値である。また、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図9に示すF生成部72として機能する。
・STEP2(図10に示すステップS.42)
次に、計算部15が、
を用いて、各参照データの変形されたデータを求める。但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図9に示すデータ変形部71として機能する。
・STEP3(図10に示すステップS.43)
計算部15が、秘密データを隠蔽する前のモーフィングデータI を、
に基づいて求める。但し、I 0p,I 1p,・・・,I npは、それぞれ、I ,I ,・・・,I のp番目の要素を示している。この処理において計算部15は、図9に示す実質的カバーデータ生成部73として機能する。
・STEP4(図10に示すステップS.44)
計算部15が、秘密データを、次の式でスケーリングする。
但し、スケーリングファクターAは、既に説明したように小さい(例えば、1未満の)正の実数である。
・STEP5(図10に示すステップS.45)
次に、計算部15が、p=1,q=1,s=I の値を設定し、データの初期化を行う。
・STEP6(図10に示すステップS.46においてYes、ステップS.47)
計算部15は、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を行う(図10に示すステップS.46)
Δ(j,j)≠0となるjとjとが存在する場合(ステップS.46においてYesの場合)、計算部15は、予め定めたルールで、jとjとを選び、ステゴオブジェクトsを次式(21)で更新して(ステップS.47)、処理を後述するSTEP8(ステップS.49)へ移行する。
・STEP7(図10に示すステップS.46においてNo、ステップS.48)
Δ(j,j)≠0となるjとjとが存在しない場合(ステップS.46においてNoの場合)、計算部15は、pの値を1だけ増加させ(p=p+1:ステップS.48)、処理をSTEP6(図10に示すステップS.46)へ移行する。
・STEP8(図10に示すステップS.49)
計算部15は、pの値を1だけ増加させ(p=p+1)、さらに、qの値を1だけ増加させる(q=q+1)(ステップS.49)。そして計算部15は、q<νを満たすか否かを判断し(ステップS.50)、q<νを満たす場合(ステップS.50においてYesの場合)には、処理をSTEP6(図10に示すステップS.46)へと移行する。一方で、q<νを満たさない場合(ステップS.50においてNoの場合)、計算部15は、最終的に処理を終了する。
上述したSTEP4〜STEP8の処理において、計算部15は、図9に示すステゴオブジェクト生成部74として機能する。上述したSTEP1〜STEP8の処理を実行することにより、参照データの要素数Ndの範囲内で秘密データの個数νが比較的に多い場合であっても、モーフィングに基づくステガノグラフィーを用いて、モーフィングデータI に秘密データmを隠蔽することが可能となる。また、違う種類の秘密要素を、同じ形式の数値(例えば、符号なしの8ビットの整数)で表現すれば、モーフィングに基づくステガノグラフィーを用いて、参照データに秘密データを隠蔽することが可能となる。
なお、STEP6において、jとjとを選ぶ方法として、さまざまな方法が考えられるが、例えば、Δ(j,j)≠0を満たすjとjとを順番に探す場合に、見つかった最初のjとj2とを利用する方法や、秘密データを隠蔽した後に得られるモーフィングデータが最も整数に近くなるようなjとjとを利用する方法等が考えられる。
さらに、式(21)からわかるように、ステゴオブジェクトsは、モーフィングデータ(実質的カバーデータ)I 0pに対して秘密データxと(I j1,p−I j2,p)との積が加算されることによって求められる。このため、(I j1,p−I j2,p)をΔpに置き換えることによって、
=I 0p+xΔ (21')
と示すことができる。この場合、Δは、(I j1,p−I j2,p)には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータI の関数として定義することができる。このため、Δ=(I j1,p−I j2,p)は一例にすぎない。
また、計算部15において、ある疑似乱数を発生させて、その疑似乱数の順番に従ってjとjとを選ぶ方法や、Δを求める方法を採用することもできる。この場合に、疑似乱数を発生するプロセスのシードは、ステゴオブジェクトかステゴ鍵の一部となる。
また、STEP6及びSTEP7に示した(図10のステップS.46の)条件である、Δ(j,j)≠0を、Δ(j,j)=T、あるいは、Δ(j,j)∈Tという条件(あるいは、Δ≠0を、Δ=T、あるいは、Δ∈Tという条件)に変更することもできる。ここで、Tは、指定した値あるいは指定した値のレンジであり、ステゴオブジェクトかステゴ鍵の一部となる。このようにすれば、秘密データを指定した場所にだけ隠蔽することができる。また、秘密データを隠蔽しない場所を利用して、改ざんの検出や誤りの検出などに利用することも可能となる。さらに、違う(種類の)秘密データを同じステゴオブジェクトの違う場所に隠蔽することもできる。
また、参照データの数nが2である場合には、j,jの選択が不要となる。この場合、隠蔽できるデータの数は減らないが、2つ以上の参照データを利用すると、モーフィングデータから参照データを推定することがより困難となり、セキュリティをより高めることが可能となる。
一方で、秘密情報復元装置2では、上述した隠蔽処理により生成されたステゴオブジェクトsから、複数の秘密データ{m,m,・・・,mν}を抽出(復元、再現)することが可能である。
図11は、計算部15がROM16に記憶されるプログラムを読み出して秘密データの抽出処理を行う(抽出処理方法を実現する)場合における機能ブロックを示した図である。図11において、データ変形部(データ変形手段)81と、F生成部(F生成手段)82と、実質的カバーデータ生成部(実質的カバーデータ生成手段)83と、秘密データ再現部(秘密データ再現手段)84とは、プログラムに従って抽出処理を行う(抽出処理方法を実現する)計算部15が実質的に該当する。また、カバーデータ記憶部85、ステゴ鍵記憶部86、ステゴオブジェクト記憶部87、秘密データ記憶部88、ワーキングメモリ89は、RAM17または補助記憶部12が実質的に該当する。
図11に示すように、ステゴオブジェクト記憶部87には、図9に示した秘密情報隠蔽装置1で生成されたステゴオブジェクトsが記憶され、カバーデータ記憶部85には、カバーデータcが記憶され、ステゴ鍵記憶部86には、ステゴ鍵kが記憶され、秘密データ記憶部88には、秘密データmが記憶される。
なお、実施の形態3では、計算部15がステゴオブジェクト取得部として機能し、図9に示した秘密情報隠蔽装置1のステゴオブジェクト記憶部78から、図10に示す処理により生成されたステゴオブジェクトsを、オープンなネットワーク3を介して取得して、ステゴオブジェクト記憶部87に記憶する。
また、計算部15は、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置1における秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部85及びステゴ鍵記憶部86に記憶させる処理を行う。なお、全ての秘密情報復元装置2のカバーデータ記憶部85及びステゴ鍵記憶部86に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用するものであってもよい。
また、計算部15は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部88から秘密データを読み出して、表示部7などに抽出されたデータを表示させる役割を行う。
次に、実施の形態3における計算部15の秘密データ抽出処理を、図12に示すフローチャートに従って説明する。参照データに隠蔽された複数の秘密データを抽出する場合には、次のようにしてステゴオブジェクト、カバーデータ、ステゴ鍵、秘密データが定義される。
ステゴオブジェクトs、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a;A;ν}、秘密データm={m,m,・・・,mν
このようにして定義された、s,c,kを入力されたデータとして、計算部15は、秘密データmを抽出する処理を行う。
[秘密データを抽出するための関数f−1を実現するアルゴリズム]
入力:s,c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a;A;ν}
出力:m={m,m,・・・,mν
・STEP1(図12に示すステップS.61)
計算部15は、次式を用いて、モーフィングデータIの特徴ベクトルFを求める。但し、貢献度a,a,・・・aは事前に正規化されているものとする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図11に示すF生成部82として機能する。
・STEP2(図12に示すステップS.62)
計算部15は、次式を用いて、各参照データの変形を求める。
但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図11に示すデータ変形部81として機能する。
・STEP3(図12に示すステップS.63)
計算部15は、次式を用いて、秘密データを隠蔽する前のモーフィングデータI を求める。
但し、I 0p,I 1p,・・・,I npは、それぞれ、I ,I ,・・・,I のp番目の要素を示している。この処理において計算部15は、図11に示す実質的カバーデータ生成部83として機能する。
・STEP4(図12に示すステップS.64)
次に、計算部15が、p=1,q=1の値を設定し、データの初期化を行う。
・STEP5(図12に示すステップS.65においてYes、ステップS.66)
Δ(j,j)≠0となるjとjとが存在するか否かの判断を行う(図12に示すステップS.65)。Δ(j,j)≠0となるjとjとが存在する場合(ステップS.65においてYesの場合)、計算部15は、予め定めたルールに基づいて、該当するjとjとを選び、スケーリングされた秘密データを次式(22)で求めてから(ステップS.66)、処理を次述するSTEP7(ステップS.68)へ移行する。
・STEP6(図12に示すステップS.65においてNo、ステップS.67)
Δ(j,j)≠0となるjとjとが存在しない場合(ステップS.65においてNoの場合)、計算部15は、pの値を1だけ増加させ(p=p+1:ステップS.67)、処理をSTEP5(図12に示すステップS.65)へ移行する。
・STEP7(図12に示すステップS.68、ステップS.69)
計算部15は、pの値を1だけ増加させ(p=p+1)、さらに、qの値を1だけ増加させる(q=q+1)(ステップS.68)。そして計算部15は、q<νを満たすか否かを判断し(図12に示すステップS.69)、q<νを満たす場合(図12に示すステップS.69においてYesの場合)には、処理をSTEP5(図12に示すステップS.65)へと移行する。一方で、q<νを満たさない場合(図12に示すステップS.69においてNoの場合)には、次述するSTEP8(図12に示すステップS.70)へ処理を移行する。
・STEP8(図12に示すステップS.70)
計算部15は、次式(23)で秘密データの抽出を行い処理を終了する。
STEP4〜STEP8の処理において、計算部15は、図11に示す秘密データ再現部84として機能する。このような処理を行うことによって、複数の秘密データの抽出を行うことが可能となる。上述したSTEP1〜STEP8の処理を実行することにより、参照データの個数nよりも数の多いν個の秘密データが隠蔽されたステゴオブジェクトから、モーフィングに基づくステガノグラフィーを用いて、秘密データを抽出(復元、再現)することが可能となる。また、同じ形式の数値(例えば、符号なしの8ビットの整数)で表現された違う種類の秘密要素を隠蔽したモーフィングデータから、モーフィングに基づくステガノグラフィーを用いて、秘密データを抽出(復元、再現)することが可能となる。
さらに、既に実施の形態3の秘密データ隠蔽処理で説明したように、Δは、(I j1,p−I j2,p)には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータI の関数として定義することができる。このため、Δ=(I j1,p−I j2,p)は一例にすぎない。
また、図12に示す秘密データ抽出処理の場合、計算誤差、転送誤差などを考えると、秘密データを厳密に抽出(復元、再現)できない場合もあり得る。しかしながら、秘密データが画像や音楽などの場合には、多少の誤差があっても、誤差による視覚的あるいは聴覚的な影響は少ないため、誤差を許容することができる。また、厳密に秘密データの抽出(復元、再生)を求める場合には、誤り訂正符号を採用することにより対応することが可能である。
さらに、n個以上の参照データを含む参照データ集合Ωを用意し、任意の秘密データに対して、Ωからn個の参照データを選択して利用することができる。この場合、選択された参照データのインデックスと参照データの数はステゴ鍵の一部にすることができる。
これまでの説明では、秘密データを格納する場所が十分であると仮定した。実際の応用において、設定条件を満たす格納場所がνよりも小さい場合もあり得る。この場合、秘密データを分割して、それぞれの部分について隠蔽(復元)処理をすればよい。
なお、実施の形態3では、参照データの要素数Ndの範囲内で、秘密データの数が比較的に多い場合について説明を行った。参照データの数に比べて秘密データの数が多い場合には、秘密データxを式(21)に示すようにして、モーフィングデータに隠蔽した。
しかしながら、式(21)を用いて秘密データを隠蔽する方法は、秘密データがモーフィングできない情報である場合においても利用することが可能である。モーフィングできない一般的な情報を隠蔽することができれば、実用性をより一層高めることが可能となる。実際には、秘密データを任意の数値を表すデータxとして(秘密データが数値でない場合には、数値に変換して)、式(21)を用いてモーフィングデータに隠蔽することができる。式(21)において、実質的にモーフィングされたデータは、I 0pであり、秘密データxは、モーフィングを行うことなくモーフィングデータI 0pに隠蔽されることになる。このため、任意の秘密データxがモーフィングできない情報であっても、秘密データxを数値化することによって、モーフィングデータI に秘密データxを隠蔽して、ステゴオブジェクトsを生成することが可能となる。
また、実施の形態3においては、秘密データxの値が大きい場合には、モーフィングデータの値に比べて、ステゴオブジェクトの値を大きく変化させてしまうおそれがあることから、予め秘密データxを小さくスケーリングする場合について説明を行った。しかしながら、秘密データが極めて小さい値である場合、例えば、1よりも小さい値である場合には、モーフィングデータに秘密データが隠蔽されても不自然に感じられない場合もある。このため、秘密データxの値が小さい場合には、式(20)
や、
のようなスケーリング処理を行うことなく、秘密データの値xをそのままモーフィングデータに隠蔽することが可能である。この場合にはスケーリングファクターA等も不要となる。
[実施の形態4]
実施の形態3において示した式(21)
は、秘密データが隠蔽されていないモーフィングデータ(実質的カバーデータ)I 0pに対して秘密データxと(I j1,p−I j2,p)との積が加算されて、ステゴオブジェクトsが生成されるという特徴を備えている。
秘密データxをm、(I j1,p−I j2,p)をΔとして表すと、式(21)の右辺のx(I j1,p−I j2,p)を、mΔと表すことができる。この場合、式(21)を、
=I 0p+mΔ (24)
と示すことが可能となる。
式(24)から明らかなように、積mΔが大きくなると、ステゴオブジェクトsが不自然になってしまう。図13において、(a)に示す2枚の顔画像は、参照画像(参照データ)を示し、(b)は、(a)に示す2枚の顔画像(参照画像)により生成されたモーフィング画像(モーフィングデータ、式(21)におけるモーフィングデータI に該当)である。一方で、(d)は隠蔽前の秘密画像(秘密データ、式(21)における秘密データxに該当)であって、(c)は、(d)に示した秘密画像を、(b)に示したモーフィング画像に隠蔽することにより生成されたステゴ画像(ステゴオブジェクト、式(21)におけるステゴオブジェクトsに該当)を示している。そして、図13(e)は、(c)に示すステゴ画像から抽出された秘密画像を示している。
図13(b)に示したモーフィング画像に比べると、秘密画像(図13(d))が隠蔽されたステゴ画像(図13(c))には顕著な不自然さが存在する。このため、ステゴ画像(図13(c))は、その不自然さから第三者の注意を引き易く、攻撃の対象となってしまう可能性が高くなる。つまり、ステゴ画像(図13(c))に秘密画像(図13(d))が隠蔽されていると気付かれてしまう可能性が高くなる。もちろん、秘密画像(図13(d))を暗号化し、参照画像などをしっかり管理すれば、不自然さのある画像(データ)から秘密画像の存在を推測されたとしても、容易に秘密画像の抽出を行うことはできない。しかしながら、秘密画像の存在を知られること自体は、情報隠蔽を行う本願発明の趣旨から未然に防ぐべき事項であり、利用価値の低減を招くおそれがある。
また、ステゴ画像が不自然にならないように、積mΔを小さくするためには、実施の形態3に示した式(20)のように、スケーリングファクターA等を用いて、秘密データを予め小さい値にする方法が考えられる。秘密データを予め小さい値にしておき、Δが小さな値となる場所に、小さくした秘密データを隠蔽する方法が有効である。しかしながら、この方法では、隠蔽効率の低減を招いてしまうという問題もあった。このため実施の形態4では、秘密データmとΔとの積をモーフィングデータI 0pに加える以外の方法を用いて、秘密データを隠蔽する方法を説明する。
実施の形態3では式(21)、式(24)に示したように、秘密データmとΔとの積をモーフィングデータI 0pに加えることにより、秘密データの隠蔽を行う場合について説明した。しかしながら、秘密データの隠蔽には、必ずしも秘密データmとΔとの積をとる必要はない。従来から知られる方法と同様に、秘密データを直接カバーデータ(実施の形態4では、モーフィングデータI 0p)の最下位bビット(例えば、最下位の4ビット(b=4))に入れることにより、隠蔽を行うことが可能である。
実施の形態4では、秘密データが、bビットの数値により表せるものとする。任意の秘密データxは、以下の式に従ってステゴオブジェクトsに埋め込むことが可能となる。
=MSB(I 0p)+x (25)
但し、MSB(I 0p)は、I 0pにおける上位B−bビットのデータ(Bは語長)を取り出す関数を意味している。また、MSB(S)の場合には、下位のbビットから直接に秘密データxを抽出することを意味する。このように、モーフィングデータI 0pの最下位bビットに秘密データを埋め込むことにより、ステゴオブジェクトSが不自然になってしまうことを防止することができる。モーフィングデータI 0p対して秘密データが隠蔽されるため、モーフィングデータI 0pは、実質的にカバーデータとして機能することになる。
次に、以上の説明に基づいて、計算部15が、複数の秘密データm={m,m,・・・,mν}をモーフィングデータI に隠蔽し、または、秘密データmを抽出する処理について説明を行う。
図9は、実施の形態4において、計算部15がROM16に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う(隠蔽処理方法を実現する)場合における機能ブロックを示した図である。実施の形態4の秘密情報隠蔽装置1では、実施の形態3で説明した秘密情報隠蔽装置1と同じ機能ブロックを備えている。そのため、実施の形態4の各ブロック構成として、実施の形態3で用いた図9を用いるものとし、また、同じ符号を用いて説明を行う。
図9において、データ変形部71と、F生成部72と、実質的カバーデータ生成部73とステゴオブジェクト生成部74とは、プログラムに従って隠蔽処理を行う(隠蔽処理方法を実現する)計算部15が実質的に該当する。また、秘密データ記憶部75、カバーデータ記憶部76、ステゴ鍵記憶部77、ステゴオブジェクト記憶部78、ワーキングメモリ79は、RAM17または補助記憶部12が実質的に該当する。
なお、カバーデータ記憶部76には、予めカバーデータcが記憶されており、ステゴ鍵記憶部77には、予めステゴ鍵kが記憶されているものとすることも可能である。また、秘密データ記憶部75には、予め秘密データmが記憶され、ステゴオブジェクト記憶部78には、生成されたステゴオブジェクトsが記憶される。
また、計算部15が、オープンなネットワーク3あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得する構成としてもよい。この場合に、計算部15は、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部76、秘密データ記憶部75あるいはステゴ鍵記憶部77に記憶する処理を行う。
但し、実際に図9に示した秘密情報隠蔽装置1を利用する場合には、カバーデータとステゴ鍵とを予めカバーデータ記憶部76とステゴ鍵記憶部77に記憶させておく場合が多いと考えられる。
また、計算部15は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部78からステゴオブジェクトを読み出して、オープンなネットワーク3を介して、秘密情報復元装置2として機能するコンピュータへと出力する役割を行う。
次に、実施の形態4に係る計算部15の秘密データの隠蔽処理を、図14に示すフローチャートに従って説明する。
実施の形態4に係る秘密データ隠蔽処理では、次のように定義する。
秘密データm={m,m,・・・,mν}、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a}、ステゴオブジェクトs={s,s,・・・,sν
ここで、m〜mνは秘密データ、I〜Iは参照データ、F〜Fは参照データI〜Iのそれぞれに対応する特徴ベクトル、a〜aはそれぞれの参照データにおける貢献度である。また、s〜sνはステゴオブジェクトであって、参照データから得られるモーフィングデータI に基づいて求められる。
このようにして定義された、m,c,kを入力されたデータとして、計算部15は、ステゴオブジェクトsを出力する処理を行う。
[秘密データを隠蔽するための関数fを実現するアルゴリズム]
入力:m={m,m,・・・,mν},c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a
出力:s={s,s,・・・,sν
・STEP1(図14に示すステップS.81)
まず、計算部15が、
を用いてモーフィングデータの特徴ベクトルを求める。ここで、a,a,・・・,aは、事前に正規化された値である。また、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図9に示すF生成部72として機能する。
・STEP2(図14に示すステップS.82)
次に、計算部15が、
を用いて、各参照データの変形されたデータを求める。但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図9に示すデータ変形部71として機能する。
・STEP3(図14に示すステップS.83)
計算部15が、秘密データを隠蔽する前のモーフィングデータI を求める。
但し、I 0p,I 1p,・・・,I npは、それぞれ、I ,I ,・・・,I のp番目の要素を示している。この処理において計算部15は、図9に示す実質的カバーデータ生成部73として機能する。
・STEP4(図14に示すステップS.84)
次に、計算部15が、p=1の値を設定し、データの初期化を行う。
・STEP5(図14に示すステップS.85)
そして、計算部15は、
=MSB(I 0p)+m (26)
に基づいて、ステゴオブジェクトsを求める
・STEP6(図14に示すステップS.86、ステップS.87)
その後、計算部15は、pの値を1だけ増加させ(p=p+1:ステップS.86)、pがνより小さいか否か(p<ν)の判断を行う(ステップS.87)。p<νを満たす場合(ステップS.87においてYesの場合)には、処理をSTEP5(図14に示すステップS.85)へと移行する。一方で、p<νを満たさない場合(ステップS.87においてNoの場合)、計算部15は、最終的に処理を終了する。
上述したSTEP4〜STEP6の処理において、計算部15は、図9に示すステゴオブジェクト生成部74として機能する。上述したSTEP1〜STEP6の処理を実行することにより、ν個の秘密データを、モーフィングデータI に隠蔽することが可能となる。
一方で、秘密情報復元装置2では、上述した隠蔽処理により生成されたステゴオブジェクトs={s,s,・・・,sν}から、複数の秘密データ{m,m,・・・,mν}を抽出(復元、再現)することが可能である。
図15は、計算部15がROM16に記憶されるプログラムを読み出して秘密データの抽出処理を行う(抽出処理方法を実現する)場合における機能ブロックを示した図である。図15において、秘密データ再現部102は、プログラムに従って抽出処理を行う(抽出処理方法を実現する)計算部15が実質的に該当する。また、ステゴオブジェクト記憶部101と秘密データ記憶部103とは、RAM17または補助記憶部12が実質的に該当する。
なお、実施の形態4において、ステゴオブジェクトsから秘密データmを抽出する場合には、カバーデータ、ステゴ鍵は必要とされない。既に説明したように、実施の形態4における秘密データは、ステゴオブジェクトの最下位bビットに隠蔽されているため、逆モーフィング処理を行うことなく、ステゴオブジェクトsから直接、秘密データmを抽出することが可能である。このため、逆モーフィング処理に必要とされるカバーデータおよびステゴ鍵は、秘密データの抽出を行うためには必要とされず、カバーデータ記憶部、ステゴ鍵記憶部、カバーデータ取得部、ステゴ鍵取得部なども必要とされない。
図15に示すように、ステゴオブジェクト記憶部101には、図9に示した秘密情報隠蔽装置1で図14に示す処理方法によって生成されたステゴオブジェクトsが記憶され、秘密データ記憶部103には、秘密データmが記憶される。実施の形態4では、計算部15がステゴオブジェクト取得部として機能し、図9に示した秘密情報隠蔽装置1のステゴオブジェクト記憶部78から、オープンなネットワーク3を介して、あるいはクローズなネットワークを介して、ステゴオブジェクトsを取得して、ステゴオブジェクト記憶部101に記憶する。また、計算部15は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部103から秘密データを読み出して、表示部7などに抽出されたデータを表示させる役割を行う。
次に、実施の形態4における計算部15の秘密データ抽出処理を、図16に示すフローチャートに従って説明する。ステゴオブジェクトに隠蔽された複数の秘密データを抽出する場合には、次のようにしてステゴオブジェクトと、秘密データが定義される。
ステゴオブジェクトs={s,s,・・・,sν}、秘密データm={m,m,・・・,mν
計算部15は、ステゴオブジェクトsを入力されたデータとし、このステゴオブジェクトsから、秘密データmを抽出する処理を行う。
[秘密データを抽出するための関数f−1を実現するアルゴリズム]
入力:s={s,s,・・・,sν
出力:m={m,m,・・・,mν
・STEP1(図16に示すステップS.91)
まず、計算部15は、p=1の値を設定し、データの初期化を行う。
・STEP2(図16に示すステップS.92)
計算部15は、秘密データmを、次式(27)で求めてから(ステップS.92)、処理を次述するSTEP3(ステップS.93)へ移行する。
=s−MSB(s) (27)
・STEP3(図16に示すステップS.93)
計算部15は、pの値を1だけ増加させる(p=p+1:ステップS.93)。そして、計算部15は、p<νを満たすか否かを判断し(図16に示すステップS.94)、p<νを満たす場合(図16に示すステップS.94においてYesの場合)には、処理をSTEP2(図16に示すステップS.92)へと移行する。一方で、p<νを満たさない場合(図16に示すステップS.94においてNoの場合)には、処理を終了する。このような処理を行うことによって、複数の秘密データをステゴオブジェクトから抽出することが可能になる。
図17(a)は、上述したように最下位bビットに、図17(b)に示す秘密画像(秘密データ)を隠蔽したステゴ画像(ステゴオブジェクト)を示しており、図17(c)は、(a)から抽出された秘密画像を示している。図17(a)に示したステゴ画像と、図13(c)に示したステゴ画像とを比較すると、同じ秘密画像(図13(d)および図17(b)に示した秘密画像)を隠蔽しているにも拘わらず、図17(a)のステゴ画像の方が、図13(c)のステゴ画像に比べて自然な顔画像となっており、図13(c)のような不自然さがない。このため、図17(a)に示したステゴ画像を用いることにより、第三者が秘密データの隠蔽に気付き難くなり、攻撃の対象となってしまう可能性を低減することが可能となる。
また、図17(c)に示す抽出された秘密画像は、(b)に示す秘密画像と比較して明らかなように、隠蔽および抽出によりデータの劣化が生じ難く、秘密画像を正確に再現することが可能となる。
[実施の形態5]
次に、実施の形態5について説明する。上述した実施の形態4では、モーフィングデータの最下位bビットに秘密データを隠蔽することを特徴としているため、秘密データの抽出を行うためにカバーデータやステゴ鍵を必要としない。このため、ステゴオブジェクトがあれば、誰でも秘密データを抽出することができ、さらに、データが改ざんされた場合であっても、ステゴオブジェクトを取得した側で改ざんを確認することができないという問題があった。
実施の形態5では、モーフィングデータの最下位bビットに秘密データを隠蔽する場合であっても、秘密データの抽出(復元)時にカバーデータやステゴ鍵が必要となる場合について説明を行う。秘密データの隠蔽時および抽出(復元)時に実施の形態1〜実施の形態3と同様に、カバーデータおよびステゴ鍵を必要とすることにより、容易に秘密データが抽出されてしまうことを防止し、秘密データを抽出する場合にデータの改ざんを確認することが可能となる。
具体的に、実施の形態5では、Δの値に基づいて、秘密データを埋め込む(隠蔽する)場所を制御することを特徴とする。即ち、Δの値が所定の値をとるときだけ、
=MSB(I 0p)+x (25)
を利用して、秘密データxを、I 0pの最下位bビットに埋め込む(隠蔽する)ことを特徴としている。Δの値が所定の値をとらない場合には、モーフィングデータ(実質的なカバーデータ)I 0pの値をそのまま使うか、所定の「確認情報」を埋め込むことが可能である。
次に、以上の説明に基づいて、計算部15が、複数の秘密データm={m,m,・・・,mν}をモーフィングデータI 0pに隠蔽し、または抽出する処理について説明を行う。
図9は、実施の形態5において、計算部15がROM16に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う(隠蔽処理方法を実現する)場合における機能ブロックを示した図である。実施の形態5の秘密情報隠蔽装置1では、実施の形態3で説明した秘密情報隠蔽装置1と同じ機能ブロックを備えている。そのため、実施の形態5の各ブロック構成として、実施の形態3で用いた図9を用いるものとし、また、同じ符号を用いて説明を行う。
図9において、データ変形部(データ変形手段)71と、F生成部(F生成手段)72と、実質的カバーデータ生成部(実質的カバーデータ生成手段)73と、ステゴオブジェクト生成部(ステゴオブジェクト生成手段)74とは、プログラムに従って隠蔽処理を行う(隠蔽処理方法を実現する)計算部15が実質的に該当する。また、秘密データ記憶部75、カバーデータ記憶部76、ステゴ鍵記憶部77、ステゴオブジェクト記憶部78、ワーキングメモリ79は、RAM17または補助記憶部12が実質的に該当する。
なお、カバーデータ記憶部76には、予めカバーデータcが記憶されており、ステゴ鍵記憶部77には、予めステゴ鍵kが記憶されているものとすることも可能である。また、秘密データ記憶部75には、予め秘密データmが記憶され、ステゴオブジェクト記憶部78には、生成されたステゴオブジェクトsが記憶される。
また、計算部15が、オープンなネットワーク3あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得する構成としてもよい。この場合に、計算部15は、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部76、秘密データ記憶部75あるいはステゴ鍵記憶部77に記憶する処理を行う。
但し、実際に図9に示した秘密情報隠蔽装置1を利用する場合には、カバーデータとステゴ鍵とを予めカバーデータ記憶部76とステゴ鍵記憶部77に記憶させておく場合が多いと考えられる。
また、計算部15は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部78からステゴオブジェクトを読み出して、オープンなネットワーク3を介して、秘密情報復元装置2として機能するコンピュータへと出力する役割を行う。
次に、実施の形態5に係る計算部15の秘密データの隠蔽処理を、図18に示すフローチャートに従って説明する。
実施の形態5に係る秘密データ隠蔽処理では、次のように定義する。
秘密データm={m,m,・・・,mν}、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a}、ステゴオブジェクトs
ここで、m〜mνは秘密データ、I〜Iは参照データ、F〜Fは参照データI〜Iのそれぞれに対応する特徴ベクトル、a〜aはそれぞれの参照データにおける貢献度である。また、sはステゴオブジェクトであって、参照データから得られるモーフィングデータIに基づいて求められる。
このようにして定義された、m,c,kを入力されたデータとして、計算部15は、ステゴオブジェクトsを出力する処理を行う。
[秘密データを隠蔽するための関数fを実現するアルゴリズム]
入力:m={m,m,・・・,mν},c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a
出力:s
・STEP1(図18に示すステップS.111)
まず、計算部15が、
を用いてモーフィングデータの特徴ベクトルを求める。ここで、a,a,・・・,aは、事前に正規化された値である。また、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図9に示すF生成部72として機能する。
・STEP2(図18に示すステップS.112)
次に、計算部15が、
を用いて、各参照データの変形されたデータを求める。但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図9に示すデータ変形部71として機能する。
・STEP3(図18に示すステップS.113)
計算部15が、秘密データを隠蔽する前のモーフィングデータI を、
に基づいて求める。但し、I 0p,I 1p,・・・,I npは、それぞれ、I ,I ,・・・,I のp番目の要素を示している。この処理において計算部15は、図9に示す実質的カバーデータ生成部73として機能する。
・STEP4(図18に示すステップS.114)
次に、計算部15が、p=1,q=1,s=I の値を設定し、データの初期化を行う。
・STEP5(図18に示すステップS.115においてYes、ステップS.116)
計算部15は、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を行う(図18に示すステップS.115)。
Δ(j,j)≠0となるjとjとが存在する場合(ステップS.115においてYesの場合)、計算部15は、予め定めたルールで、jとjとを選び、ステゴオブジェクトsを
=MSB(I 0p)+m 式(26)
に基づいて求めて(ステップS.116)、処理を後述するSTEP7(ステップS.118)へ移行する。ここで、sは、sのp番目の要素を示しており、mはmのq番目の要素を示している。但し、qは、q≦νである。
・STEP6(図18に示すステップS.115においてNo、ステップS.117)
Δ(j,j)≠0となるjとjとが存在しない場合(ステップS.115においてNoの場合)、計算部15は、pの値を1だけ増加させ(p=p+1:ステップS.117)、処理をSTEP5(図18に示すステップS.115)へ移行する。
・STEP7(図18に示すステップS.118、ステップS.119)
計算部15は、pの値を1だけ増加させ(p=p+1)、さらに、qの値を1だけ増加させる(q=q+1)(ステップS.118)。そして計算部15は、q<νを満たすか否かを判断し(ステップS.119)、q<νを満たす場合(ステップS.119においてYesの場合)には、処理をSTEP5(図18に示すステップS.115)へと移行する。一方で、q<νを満たさない場合(ステップS.119においてNoの場合)、計算部15は、最終的に処理を終了する。
上述したSTEP4〜STEP7の処理において、計算部15は、図9に示すステゴオブジェクト生成部74として機能する。上述したSTEP1〜STEP7の処理を実行することにより、Δ(j,j)≠0となるpにおいて、モーフィングデータI の最下位bビットに秘密データを隠蔽することが可能となり、第三者からは、少なくともどの位置に秘密データが隠蔽されているかが容易に判断され難くなる。なお、この場合にはモーフィングデータI が実質的カバーデータに該当することになる。
なお、上述した実施の形態5の秘密データ隠蔽処理においても、Δは、(I j1,p−I j2,p)には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータI の関数として定義することができる。このため、Δ=(I j1,p−I j2,p)は一例にすぎない。例えば、Δとして、参照データの関数を用いて、Δ=(Ij1,p−Ij2,p)と設定することも可能である。また、Δの計算方法は、上述した秘密情報隠蔽装置1(情報を隠蔽する側)と、次述する秘密情報復元装置2(情報を復元する側)とにおいて共有化することもでき、あるいは、ステゴ鍵の一部とすることも可能である。
秘密情報復元装置2では、上述した隠蔽処理により秘密データが隠蔽されたステゴオブジェクトsから、複数の秘密データ{m,m,・・・,mν}を抽出(復元、再現)することが可能である。
図19は、計算部15がROM16に記憶されるプログラムを読み出して秘密データの抽出処理を行う(抽出処理方法を実現する)場合における機能ブロックを示した図である。図19において、データ変形部(データ変形手段)91と、F生成部(F生成手段)92と、秘密データ再現部(秘密データ再現手段)94とは、プログラムに従って抽出処理を行う(抽出処理方法を実現する)計算部15が実質的に該当する。また、カバーデータ記憶部95、ステゴ鍵記憶部96、ステゴオブジェクト記憶部97、秘密データ記憶部98、ワーキングメモリ99は、RAM17または補助記憶部12が実質的に該当する。
図19に示すように、ステゴオブジェクト記憶部97には、図9に示した秘密情報隠蔽装置1において図18で示す処理方法で生成されたステゴオブジェクトsが記憶され、カバーデータ記憶部95には、カバーデータcが記憶され、ステゴ鍵記憶部96には、ステゴ鍵kが記憶され、秘密データ記憶部98には、秘密データmが記憶される。
なお、実施の形態5では、計算部15がステゴオブジェクト取得部として機能し、図9に示した秘密情報隠蔽装置1のステゴオブジェクト記憶部78から、図18に示す処理によって生成されたステゴオブジェクトsを、オープンなネットワーク3を介して取得して、ステゴオブジェクト記憶部97に記憶する。
また、計算部15は、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置1における秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部95及びステゴ鍵記憶部96に記憶させる処理を行う。なお、全ての秘密情報復元装置2のカバーデータ記憶部95及びステゴ鍵記憶部96に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用するものであってもよい。
また、計算部15は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部98から秘密データを読み出して、表示部7などに抽出されたデータを表示させる役割を行う。
次に、実施の形態5における計算部15の秘密データ抽出処理を、図20に示すフローチャートに従って説明する。参照データに隠蔽された複数の秘密データを抽出する場合には、次のようにしてステゴオブジェクト、カバーデータ、ステゴ鍵、秘密データが定義される。
ステゴオブジェクトs、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a}、秘密データm={m,m,・・・,mν
このようにして定義された、s,c,kを入力されたデータとして、計算部15は、ステゴオブジェクトsから秘密データmを抽出する処理を行う。
[秘密データを抽出するための関数f−1を実現するアルゴリズム]
入力:s,c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a
出力:m={m,m,・・・,mν
・STEP1(図20に示すステップS.121)
計算部15は、次式を用いて、モーフィングデータIの特徴ベクトルFを求める。但し、貢献度a,a,・・・aは事前に正規化されているものとする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図19に示すF生成部92として機能する。
・STEP2(図20に示すステップS.122)
計算部15は、次式を用いて、各参照データの変形を求める。
但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図19に示すデータ変形部91として機能する。
・STEP3(図20に示すステップS.123)
次に、計算部15が、p=1,q=1の値を設定し、データの初期化を行う。
・STEP4(図20に示すステップS.124においてYes、ステップS.125)
計算部15は、Δ(j,j)≠0となるjとjとが存在するか否かの判断を行う(図20に示すステップS.124)。Δ(j,j)≠0となるjとjとが存在する場合(ステップS.124においてYesの場合)、計算部15は、予め定めたルールに基づいて、該当するjとjとを選び、スケーリングされた秘密データを、
=s−MSB(s) (27)
の式で求めてから(ステップS.125)、処理を後述するSTEP6(ステップS.127)へ移行する。ここで、sは、sのp番目の要素を示しており、mはmのq番目の要素を示している。但し、qは、q≦νである。
・STEP5(図20に示すステップS.124においてNo、ステップS.126)
Δ(j,j)≠0となるjとjとが存在しない場合(ステップS.124においてNoの場合)、計算部15は、pの値を1だけ増加させ(p=p+1:ステップS.126)、処理をSTEP4(図20に示すステップS.124)へ移行する。
・STEP6(図20に示すステップS.127、ステップS.128)
計算部15は、pの値を1だけ増加させ(p=p+1)、さらに、qの値を1だけ増加させる(q=q+1)(ステップS.127)。そして計算部15は、q<νを満たすか否かを判断し(図20に示すステップS.128)、q<νを満たす場合(図20に示すステップS.128においてYesの場合)には、処理をSTEP4(図20に示すステップS.124)へと移行する。一方で、q<νを満たさない場合(図20に示すステップS.128においてNoの場合)には、処理を終了する。
STEP4〜STEP6の処理において、計算部15は、図19に示す秘密データ再現部94として機能する。このような処理を行うことによって、複数の秘密データが隠蔽されたステゴオブジェクトsの中から、秘密データの隠蔽された場所を求めて、秘密データの抽出を行うことが可能となる。実施の形態5では、実施の形態4と異なり、カバーデータおよびステゴ鍵を用いて、I j1,pおよびI j2,pを求めて、Δ(j,j)=(I j1,p−I j2,p)≠0となるpを求める必要があることから、ステゴオブジェクトsだけを取得しても、秘密データmを抽出することができず、セキュリティを高めることが可能となる。
なお、上述した実施の形態5の秘密データ抽出処理においても、Δは、(I j1,p−I j2,p)には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータI の関数として定義することができる。このため、Δ=(I j1,p−I j2,p)は一例にすぎない。
例えば、Δとして、参照データの関数を用いて、Δ=(Ij1,p−Ij2,p)と設定することも可能である。また、実質的カバーデータI の関数として定義する場合には、計算部15が、秘密データを隠蔽する前のモーフィングデータI を、
に基づいて求めることにより、Δの設定を行うことが可能となる。
さらに、Δの計算方法は、秘密情報隠蔽装置1(情報を隠蔽する側)と、上述した秘密情報復元装置2(情報を復元する側)とにおいて共有化することもでき、あるいは、ステゴ鍵の一部とすることも可能である。
[実施の形態6]
次に、実施の形態6について説明する。実施の形態6は、実施の形態5で説明した方法をさらに改良したものである。具体的には、秘密データxを、モーフィングデータの最下位ビットに埋め込む際に、直接に埋め込むのではなく、参照データやモーフィングデータ等などに関連する数値yと秘密データxとでビット単位のXOR(排他的論理和)演算を行ってから埋め込みを行うことを特徴とする。即ち、
=MSB(I 0p)+x (25)を、
に変更する。
ここで、+に○が重ね合わされた文字はビット単位のXOR演算を示し、xはbビットで示した秘密データの要素、yはカバーデータ、参照データ又はその変形から求めたbビットで表すことが可能な数値を示している。yに該当する例として、以下のものを用いることが考えられる。
1)y=LSB(I 0p) ・・・I 0pの最下位bビットをyとする。
2)y=LSB(I 1,p−I 2,p
・・・I 1,p−I 2,pの最下位bビットをyとする。
3)y=LSB(I j,p) ・・・I j,pの最下位bビットをyとする。
つまり、yとして、I ,I npあるいは、(I j1,p−I j2,p)のいずれかであって、bビットの数値からなるデータを設定することができる。また、bビットの数値からなるデータであれば、必ずしも最下位bビットには限定されないが、実施の形態6では、一例として、最下位bビットのデータを用いて説明を行う。
このように、yを設定することにより、参照データやモーフィングデータに依存した形で秘密データを埋め込むことによって、第三者がステゴオブジェクトsの最下位ビットから
を抽出したとしても、xを求めることができない。また、yが暗号鍵の役割を果たすため、秘密データを埋め込む前に、秘密データを暗号化する必要がない。このため暗号化の計算コストを省くことも可能である。
次に、以上の説明に基づいて、計算部15が、複数の秘密データm={m,m,・・・,mν}をカバーデータcに隠蔽し、または抽出する処理について説明を行う。
図9は、実施の形態6において、計算部15がROM16に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う(隠蔽処理方法を実現する)場合における機能ブロックを示した図である。実施の形態6の秘密情報隠蔽装置1では、実施の形態3で説明した秘密情報隠蔽装置1と同じ機能ブロックを備えている。そのため、実施の形態6の各ブロック構成として、実施の形態3で用いた図9を用いるものとし、また、同じ符号を用いて説明を行う。
図9において、データ変形部(データ変形手段)71と、F生成部(F生成手段)72と、実質的カバーデータ生成部(実質的カバーデータ生成手段)73と、ステゴオブジェクト生成部(ステゴオブジェクト生成手段)74とは、プログラムに従って隠蔽処理を行う(隠蔽処理方法を実現する)計算部15が実質的に該当する。また、秘密データ記憶部75、カバーデータ記憶部76、ステゴ鍵記憶部77、ステゴオブジェクト記憶部78、ワーキングメモリ79は、RAM17または補助記憶部12が実質的に該当する。
なお、カバーデータ記憶部76には、予めカバーデータcが記憶されており、ステゴ鍵記憶部77には、予めステゴ鍵kが記憶されているものとすることも可能である。また、秘密データ記憶部75には、予め秘密データmが記憶され、ステゴオブジェクト記憶部78には、生成されたステゴオブジェクトsが記憶される。
また、計算部15が、オープンなネットワーク3あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得する構成としてもよい。この場合に、計算部15は、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部76、秘密データ記憶部75あるいはステゴ鍵記憶部77に記憶する処理を行う。
但し、実際に図9に示した秘密情報隠蔽装置1を利用する場合には、カバーデータとステゴ鍵とを予めカバーデータ記憶部76とステゴ鍵記憶部77に記憶させておく場合が多いと考えられる。
また、計算部15は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部78からステゴオブジェクトを読み出して、オープンなネットワーク3を介して、秘密情報復元装置2として機能するコンピュータへと出力する役割を行う。
次に、実施の形態6に係る計算部15の秘密データの隠蔽処理を、図21に示すフローチャートに従って説明する。
実施の形態6に係る秘密データ隠蔽処理では、次のように定義する。
秘密データm={m,m,・・・,mν}、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a}、ステゴオブジェクトs
ここで、m〜mνは秘密データ、I〜Iは参照データ、F〜Fは参照データI〜Iのそれぞれに対応する特徴ベクトル、a〜aはそれぞれの参照データにおける貢献度である。また、sはステゴオブジェクトであって、参照データから得られるモーフィングデータI に基づいて求められる。
このようにして定義された、m,c,kを入力されたデータとして、計算部15は、ステゴオブジェクトsを出力する処理を行う。
[秘密データを隠蔽するための関数fを実現するアルゴリズム]
入力:m={m,m,・・・,mν},c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a
出力:s
・STEP1(図21に示すステップS.131)
まず、計算部15が、
を用いてモーフィングデータの特徴ベクトルを求める。ここで、a,a,・・・,aは、事前に正規化された値である。また、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図9に示すF生成部72として機能する。
・STEP2(図21に示すステップS.132)
次に、計算部15が、
を用いて、各参照データの変形されたデータを求める。但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図9に示すデータ変形部71として機能する。
・STEP3(図21に示すステップS.133)
計算部15が、秘密データを隠蔽する前のモーフィングデータI を、
に基づいて求める。但し、I 0p,I 1p,・・・,I npは、それぞれ、I ,I ,・・・,I のp番目の要素を示している。この処理において計算部15は、図9に示す実質的カバーデータ生成部73として機能する。
・STEP4(図21に示すステップS.134)
次に、計算部15が、p=1,q=1,s=I の値を設定し、データの初期化を行う。
・STEP5(図21に示すステップS.135、においてYes、ステップS.136)
計算部15は、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を行う(図21に示すステップS.135)
Δ(j,j)≠0となるjとjとが存在する場合(ステップS.135においてYesの場合)、計算部15は、予め定めたルールで、jとjとを選び、ステゴオブジェクトs
に基づいて求めて(ステップS.136)、処理を後述するSTEP7(ステップS.138)へ移行する。yは、I 0p、I j1,p、I j2,pなどに基づいて求められ、bビットで表すことが可能な数値である。また、sは、sのp番目の要素を示しており、mはmのq番目の要素を示している。但し、qは、q≦νである。
・STEP6(図21に示すステップS.135においてNo、ステップS.137)
Δ(j,j)≠0となるjとjとが存在しない場合(ステップS.135においてNoの場合)、計算部15は、pの値を1だけ増加させ(p=p+1:ステップS.137)、処理をSTEP5(図21に示すステップS.135)へ移行する。
・STEP7(図21に示すステップS.138)
計算部15は、pの値を1だけ増加させ(p=p+1)、さらに、qの値を1だけ増加させる(q=q+1)(ステップS.138)。そして計算部15は、q<νを満たすか否かを判断し(ステップS.139)、q<νを満たす場合(ステップS.139においてYesの場合)には、処理をSTEP5(図21に示すステップS.135)へと移行する。一方で、q<νを満たさない場合(ステップS.139においてNoの場合)、計算部15は、最終的に処理を終了する。
上述したSTEP4〜STEP7の処理において、計算部15は、図9に示すステゴオブジェクト生成部74として機能する。上述したSTEP1〜STEP7の処理を実行することにより、Δ(j,j)≠0となるpにおいて、モーフィングデータI の最下位bビットに秘密データを隠蔽することが可能となる。さらに、隠蔽される秘密データは、モーフィングデータなどから求められるbビットの値と秘密データとでXOR演算が行われた後に隠蔽されることになる。このため、秘密データが隠蔽されていることを、第三者に判断され難くすることが可能となり、さらに、秘密データが第三者に抽出される危険性を低減することが可能となる。
なお、上述した実施の形態6の秘密データ隠蔽処理において、Δは、必ずしも(I j1,p−I j2,p)には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータI の関数として定義することができる。このため、Δ=(I j1,p−I j2,p)は一例にすぎない。例えば、Δとして、参照データの関数を用いて、Δ=(Ij1,p−Ij2,p)と設定することも可能である。また、Δの計算方法は、上述した秘密情報隠蔽装置1(情報を隠蔽する側)と、次述する秘密情報復元装置2(情報を復元する側)とにおいて共有化することもでき、あるいは、ステゴ鍵の一部とすることも可能である。
秘密情報復元装置2では、上述した隠蔽処理により秘密データが隠蔽されたステゴオブジェクトsから、複数の秘密データ{m,m,・・・,mν}を抽出(復元、再現)することが可能である。
図19は、計算部15がROM16に記憶されるプログラムを読み出して秘密データの抽出処理を行う(抽出処理方法を実現する)場合における機能ブロックを示した図である。実施の形態6の秘密情報復元装置2では、実施の形態5で説明した秘密情報復元装置2と同じ機能ブロックを備えている。そのため、実施の形態6の各ブロック構成として、実施の形態5で用いた図19を用いるものとし、また、同じ符号を用いて説明を行う。
図19において、データ変形部(データ変形手段)91と、F生成部(F生成手段)92と、秘密データ再現部(秘密データ再現手段)94とは、プログラムに従って抽出処理を行う(抽出処理方法を実現する)計算部15が実質的に該当する。また、カバーデータ記憶部95、ステゴ鍵記憶部96、ステゴオブジェクト記憶部97、秘密データ記憶部98、ワーキングメモリ99は、RAM17または補助記憶部12が実質的に該当する。
図19に示すように、ステゴオブジェクト記憶部97には、図9に示した秘密情報隠蔽装置1において図21で示す処理方法で生成されたステゴオブジェクトsが記憶され、カバーデータ記憶部95には、カバーデータcが記憶され、ステゴ鍵記憶部96には、ステゴ鍵kが記憶され、秘密データ記憶部98には、秘密データmが記憶される。
なお、実施の形態6では、計算部15がステゴオブジェクト取得部として機能し、図9に示した秘密情報隠蔽装置1のステゴオブジェクト記憶部78から、図21に示す処理方法によって生成されたステゴオブジェクトsを、オープンなネットワーク3を介して取得して、ステゴオブジェクト記憶部97に記憶する。
また、計算部15は、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置1における秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部95及びステゴ鍵記憶部96に記憶させる処理を行う。なお、全ての秘密情報復元装置2のカバーデータ記憶部95及びステゴ鍵記憶部96に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用するものであってもよい。
また、計算部15は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部98から秘密データを読み出して、表示部7などに抽出されたデータを表示させる役割を行う。
次に、実施の形態6における計算部15の秘密データ抽出処理を、図22に示すフローチャートに従って説明する。参照データに隠蔽された複数の秘密データを抽出する場合には、次のようにしてステゴオブジェクト、カバーデータ、ステゴ鍵、秘密データが定義される。
ステゴオブジェクトs、カバーデータc={I,I,・・・,I}、ステゴ鍵k={F,F,・・・,F;a,a,・・・,a}、秘密データm={m,m,・・・,mν
このようにして定義された、s,c,kを入力されたデータとして、計算部15は、秘密データmを抽出する処理を行う。
[秘密データを抽出するための関数f−1を実現するアルゴリズム]
入力:s,c={I,I,・・・,I},k={F,F,・・・,F;a,a,・・・,a
出力:m={m,m,・・・,mν
・STEP1(図22に示すステップS.141)
計算部15は、次式を用いて、モーフィングデータIの特徴ベクトルFを求める。但し、貢献度a,a,・・・aは事前に正規化されているものとする。
但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示している。この処理において計算部15は、図19に示すF生成部92として機能する。
・STEP2(図22に示すステップS.142)
計算部15は、次式を用いて、各参照データの変形を求める。
但し、I (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示している。変形関数WによりI(j=1,2,・・・,n)が変形されて、I (j=1,2,・・・,n)が生成される。I (j=1,2,・・・,n)は、特徴ベクトルFを有する。この処理において計算部15は、図19に示すデータ変形部91として機能する。
・STEP3(図22に示すステップS.143)
次に、計算部15が、p=1,q=1の値を設定し、データの初期化を行う。
・STEP4(図22に示すステップS.144においてYes、ステップS.145)
計算部15は、Δ(j,j)≠0となるjとjとが存在するか否かの判断を行う(図22に示すステップS.144)。Δ(j,j)≠0となるjとjとが存在する場合(ステップS.144においてYesの場合)、計算部15は、予め定めたルールに基づいて、該当するjとjとを選び、スケーリングされた秘密データを、
の式で求めてから(ステップS.145)、処理を後述するSTEP6(ステップS.147)へ移行する。但し、yは、I 0p、I j1,p、I j2,pなどに基づいて求められ、bビットで表すことが可能な数値である。また、sは、sのp番目の要素を示しており、mはmのq番目の要素を示している。但し、qは、q≦νである。
・STEP5(図22に示すステップS.144においてNo、ステップS.146)
Δ(j,j)≠0となるjとjとが存在しない場合(ステップS.144においてNoの場合)、計算部15は、pの値を1だけ増加させ(p=p+1:ステップS.146)、処理をSTEP4(図22に示すステップS.144)へ移行する。
・STEP6(図22に示すステップS.147、ステップS.148)
計算部15は、pの値を1だけ増加させ(p=p+1)、さらに、qの値を1だけ増加させる(q=q+1)(ステップS.147)。そして計算部15は、q<νを満たすか否かを判断し(図22に示すステップS.148)、q<νを満たす場合(図22に示すステップS.148においてYesの場合)には、処理をSTEP4(図22に示すステップS.144)へと移行する。一方で、q<νを満たさない場合(図22に示すステップS.148においてNoの場合)には、処理を終了する。
STEP4〜STEP6の処理において、計算部15は、図19に示す秘密データ再現部94として機能する。このような処理を行うことによって、複数の秘密データが隠蔽されたステゴオブジェクトsの中から、秘密データの隠蔽された場所を求めて、データの抽出を行うと共に、抽出されたデータとyの値とでXOR演算を行うことによって秘密データの抽出が行われるので、セキュリティを高めることが可能となる。また、実施の形態5と同様に、基本的に暗号化を行うことなく十分なセキュリティを確保することが可能となり、さらに、通信エラーなどがなければ、正確に秘密データを再現することができるので、抽出精度を高めることが可能となる。
なお、上述した実施の形態6では、yの値として、参照データやモーフィングデータ等に関連する数値を用いる場合について説明を行った。しかしながら、yは、必ずしも参照データやモーフィングデータ等に関連する数値には限定されない。例えば、シード値rを設定し、このシード値rに基づいて乱数列y,y,・・・を生成することにより、yを設定することも可能である。この場合には、シード値rをステゴ鍵に追加する必要がある。
また、上述した実施の形態6の秘密データ抽出処理においても、Δは、(I j1,p−I j2,p)には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータI の関数として定義することができる。このため、Δ=(I j1,p−I j2,p)は一例にすぎない。
例えば、Δとして、参照データの関数を用いて、Δ=(Ij1,p−Ij2,p)と設定することも可能である。また、実質的カバーデータI の関数として定義する場合には、計算部15が、秘密データを隠蔽する前のモーフィングデータI を、
に基づいて求めることにより、Δの設定を行うことが可能となる。
さらに、Δの計算方法は、秘密情報隠蔽装置1(情報を隠蔽する側)と、上述した秘密情報復元装置2(情報を復元する側)とにおいて共有化することもでき、あるいは、ステゴ鍵の一部とすることも可能である。
次に、セキュリティについて説明する。従来の方法では、抽出側でステゴ鍵さえ取得できればステゴオブジェクトsから秘密データmを抽出することができた。仮に秘密データの存在が知られてしまった場合には、あるいは、もともとステゴオブジェクトsに秘密データが隠されていることが知られていれば、小さなステゴ鍵を推測することによって、ステゴオブジェクトsから秘密データmの抽出が実行される可能性があった。
しかしながら、実施の形態3、実施の形態5、実施の形態6等で示した秘密データの隠蔽方法を用いる場合には、秘密データmを抽出するために、参照データとステゴ鍵との両方が必要となる。参照データとステゴ鍵と合わせると、とても大きな暗号化鍵と見なすことができ、この暗号化鍵を推測することは理論上不可能である。従って、実施の形態3等の隠蔽方法を利用する場合には、ステゴオブジェクトsから秘密データmを推測することが、非常に困難となる。もちろん、秘密データを暗号化してから隠蔽することもできるので、暗号化後に隠蔽処理を行うことにより、秘密データの安全性をより高めることが可能になるといえる。
上述した実施の形態1〜実施の形態6に示したように、それぞれの秘密情報隠蔽装置1及び秘密情報復元装置2のカバーデータ記憶部及びステゴ鍵記憶部に、カバーデータ及びステゴ鍵を記憶させてデータの共有を図る。そして、秘密情報隠蔽装置1において、秘密データをカバーデータに隠蔽したステゴオブジェクトを生成し、秘密情報隠蔽装置1から秘密情報復元装置2に対して、オープンなネットワーク3を介してステゴオブジェクトを送信する。このような構成を採用することにより、秘密情報復元装置2では、共有されているカバーデータ及びステゴ鍵に基づいてステゴオブジェクトから秘密データを抽出(再現)することが可能となる。
また、秘密データが隠蔽されたステゴオブジェクトの送受信をオープンなネットワーク3を介して行うことにより、秘密データをグループ通信に拡張して利用することも可能となる。
例えば、グループの各メンバ同士で、秘密データが隠蔽されたステゴオブジェクトの送受信を個別に行うだけでなく、秘密データが隠蔽されたステゴオブジェクトをweb上の掲示板やブログなどにダウンロード可能な状態で掲載することもできる。この場合には、他のメンバがその掲示板等から必要に応じてステゴオブジェクトをダウンロードすることにより秘密データの抽出(再現)を行うことが可能となる。この掲示板等は、グループ共有のものであってもよいし、各メンバが個別に所有するものであってもよい。
また、メンバ間で電子メールにステゴオブジェクトを添付して送受信することもでき、このように送受信を行うことによって、受信者が受け身的にステゴオブジェクトを受信するのではなく、メールの発信元を確認した上で添付されたデータを取得することができるので、スパムメールや悪質なメールなどを避けることができる。
さらに、実施の形態1〜実施の形態6に示した秘密情報隠蔽装置1及び秘密情報復元装置2を応用することによって、ユーザ(使用者)の認証情報が記憶された記憶媒体、例えば認証カードなどを用いたカードユーザの認証システムを構築することも可能である。
図23は、カードユーザの認証システムの概略構成を示した図である。図23に示す認証システム110においては、少なくとも1台のリモートサーバ111と、1台以上のローカル端末112とがオープンなネットワーク3を介して接続されている。また、ローカル端末112には、ユーザの所有するカードの認証に用いられるデータ(例えば、ステゴ鍵、ステゴオブジェクト)をカード113から読み取るためのカードリーダ112aが設けられている。
このような認証システム110において、カバーデータをローカル端末112とリモートサーバ111とに記憶させることにより、カバーデータの共有化を図り、ステゴ鍵をリモートサーバ111あるいはカード113のいずれかに分散して記憶させる。また、リモートサーバ111で、任意のユーザに対して、必要に応じて参照データを選んで、ユーザの認証情報(例えば、顔写真や静脈パターンなど、この情報が秘密データに該当する。)をステゴオブジェクトに隠蔽して(埋め込んで)、ステゴオブジェクトを、リモートサーバ111あるいはカード113のいずれかに分散して記憶させる。
ユーザがローカル端末112を操作するオペレータなどに、カード113を提示することにより,カードリーダ112aでカード113に記憶されたデータの読み取りが可能となった場合、ローカル端末112では、カード113から直接あるいは、カード情報に基づいてネットワーク3に接続されるリモートサーバ111より、ステゴ鍵とステゴオブジェクトを取得し、予めローカル端末112に記憶されたカバーデータなどを用いて、ユーザの認証情報の復元を行う。このようにして復元されたユーザの認証情報、例えば、真正ユーザの顔写真が、ローカル端末112の表示画面などに表示される。オペレータは表示された真正ユーザの顔写真と、実際にカード113を提示した人の顔とを比較することにより、カード提示者が真正の(適式な)カード113の所有者であるか否かを判断することが可能となる。
なお、実施の形態2〜実施の形態6に示した秘密情報隠蔽方法及び秘密情報復元方法では、ステゴオブジェクトに、同じ人の違う角度からの写真や、親戚や代理の人の写真や、写真以外の認証情報や、実施の形態1の方法などで得られたモーフィングデータなどを埋め込むことが可能である。
図24は、実施の形態3で説明した秘密情報隠蔽方法を用いて、図24(a)に示した2枚のカバー画像を利用して、図24(b)に示した4枚の小さな画像(秘密画像)を、図24(c)に示したモーフィング画像に埋め込む場合を一例として示したものである。図24(d)は、図24(c)に示したモーフィング画像から抽出された画像(抽出画像)を示している。モーフィング画像が8ビットの整数に変換されて保存される場合が示されているので、抽出された図24(d)の画像は、図24(b)に示す元の画像(秘密画像)に比べて多少劣化しているが、実質的な画像の同一性は保たれており、同一の画像に基づくものであると許容できる範囲内での劣化と判断することができる。
また、実施の形態4〜6に示した方法では、それぞれの秘密情報隠蔽装置1及び秘密情報復元装置2のカバーデータ記憶部にカバーデータだけを記憶させて、参照データの共有化を図り、ステゴ鍵は、直接ステゴオブジェクトに隠蔽をしてしまう方法を採用することもできる。
例えば、図23に示した認証システム110において、複数の参照データ(カバーデータ)を参照データ集合としてローカル端末112に予め記憶させ、あるいは、クローズなネットワークを介してローカル端末をリモートサーバ111と接続可能として、リモート端末111に記憶された参照データ集合をいつでも読み出せるようにし、オープンなネットワーク3を介して秘密データとステゴ鍵とが隠蔽されたステゴオブジェクトをローカル端末112へ送信可能とする。このような認証システム110において、以下の手順で、ステゴオブジェクトの送信側と受信側とで、秘密データの隠蔽および復元が可能となる。
[ステゴオブジェクトへの秘密データとステゴ鍵との隠蔽]
Step1:参照データ集合のメンバ数をNとする。n(1<n<N)個の相違なる整数の乱数i,i,…,iを生成し、それらをインデックスとして、参照データ集合からn個の参照データを取得する。
Step2:それぞれの参照データの特徴ベクトルF,F,…,Fを定義する。
Step3:n個の正(>0)の乱数r,r,…,rを生成して、
を求めて、これをI番目の参照データの貢献度とする。
Step4:以上の参照データ、特徴ベクトル、貢献度を利用して、実施の形態4〜6で説明した方法を用いてステゴオブジェクトを求め、秘密データの隠蔽(埋め込み)を行う。
Step5:ステゴオブジェクトの指定場所(事前に指定されたステゴ鍵が埋め込まれた場所であって、秘密データが埋め込まれていない場所)に、従来のステガノグラフィー技術を用いて、インデックス情報i,i,…,iと特徴ベクトルF,F,…,FとI番目の参照データの貢献度a,a,…,aとを埋め込む。つまり、ステゴ鍵を、ステゴオブジェクトに隠蔽する。
Step6:秘密データとステゴ鍵とが隠蔽されたステゴオブジェクトを、オープンなネットワークを介して受信側に送信する。
[ステゴオブジェクトからの秘密データの復元]
受信側では、オープンなネットワークを介してステゴオブジェクトを取得する。そして、受信側では、以下のようにして、秘密データを復元する。
Step1:ステゴオブジェクトの指定場所(事前に受信者に指定されたステゴ鍵が埋め込まれる場所)から、インデックス情報i,i,…,iと特徴ベクトルF,F,…,Fと貢献度a,a,…,aとを抽出する。
Step2: インデックス情報i,i,…,iに基づいて、参照データ集合からn個の参照データを選び、i番目の参照データの特徴ベクトルをF、貢献度をaとして、実施の形態4〜6で説明した方法を用いて秘密データを復元する。
従来のステゴオブジェクトの送受信方法では、送信側においてカバーデータからステゴオブジェクトを求めた後、カバーデータを廃棄し、受信側では、ステゴオブジェクトとステゴ鍵とに基づいて秘密データを再現していた。この場合には、情報の安全性は完全にステゴ鍵に依存することになるため、第三者が、複数のステゴオブジェクトに基づいてステゴ鍵を特定し、秘密情報を解読するおそれがあった。
一方で、上述したステゴオブジェクトの送受信方法では、カバーデータを参照データ集合としてローカル端末112に予め記憶等させておくため、カバーデータを送信側から受信側に逐一送らなくてもよい。従って、秘密データを再現するための鍵情報は、効果的に非常に大きなものとなり、万一秘密情報の存在が知られたとしても、情報の安全性は非常に高くなる。実際、実施の形態6で説明した[秘密データを隠蔽するための関数fを実現するアルゴリズム]や、[秘密データを抽出するための関数f−1を実現するアルゴリズム]から明らかなように、秘密データの抽出と復元とは、参照データ、参照データの変形、参照データの組み合わせ、さらには、モーフィングデータなどに依存する。このため、参照データを厳密に管理しておくことにより、オープンなネットワークを介して獲得される情報だけでは、第三者が秘密データを特定することは不可能であると考えられる。
また、上述したステゴオブジェクトの送受信方法において、例えば、使用される参照データの数nを、定数ではなく、秘密データが異なる度に可変にすることもできる。また、使用される参照データのインデックス情報i,i,…,iとその貢献度a,a,…,aとは、秘密データと一緒にステゴオブジェクトに埋め込んで受信側に送るだけでなく、送信側と受信側とが同じ乱数シードを共有し、その乱数シードに基づいてそれぞれの場所でインデックス情報i,i,…,iとその貢献度a,a,…,aとを生成あるいは算出することも可能である。当然、参照データのインデックス情報は、乱数ではなく、秘密データに依存する(例えば、秘密データを表す数列に基づいてハッシュ関数などで得られる数値の)形で求めることもできる。
さらに、インデックス情報、特徴ベクトル、貢献度をステゴオブジェクトに隠蔽せず、別途(電子メール)で受信側に送ることもできる。従来は、参照データの特徴ベクトルを、送信ごとに定義するようにしたが、参照データそのものを固定して参照データ集合と一緒に参照データ記憶装置に保存してもよい。特徴ベクトルを可変にすると、同じ参照データを使用しても、違う特徴ベクトルを定義すれば、違うモーフィングデータを生成することができるので、情報の安全性を更に向上させることが可能となる。通常、参照データと比較して、特徴ベクトルのデータ量が非常に小さいので、特徴ベクトルを、インデックス情報や貢献度と同じように扱うことが可能である。
また、送信側と受信側とのデータ通信を、グループ間通信(例えば、ソーシャルネットワーク等による通信)にも、容易に拡張することができる。各グループメンバが送信側と受信側とになり得る場合には、グループメンバで共通の参照データ集合を共有化することが容易である。
さらに、受信側と送信側との間だけの通信ではなく、既に説明したように、サーバ・クライアント間の通信にも利用することが可能である。例えば、サーバは、全ての参照データを生成し、参照データ集合として保持する。そして、サーバは予め設定されている(例えば、秘密データの送受信に関する契約等を行っている)クライアントに対して、一部(参照データ集合の部分集合)の参照データを送る。サーバが特定のクライアントに情報を送りたいときには、そのクライアントの固有の参照データを利用してステゴオブジェクトを作成すればよい。サーバが作成されたステゴオブジェクトを送信することにより、各クライアントでは、各クライアント固有の参照データに基づいて情報を抽出することができる。
また、通常の送信と受信ではなく、サーバが秘密情報をステゴオブジェクトに埋め込んでから、掲示板(ホームページ、ブログなど)に載せることもできる。関係者(メンバ)は、固有の参照データに基づいて、掲示板からステゴオブジェクトをダウンロードし、秘密情報を抽出することができる。
さらに、掲示板に基づく通信方法を用いて、電子メールの送受信を行うことも可能である。この場合、受信者が受け身的に受信するのではなく、必要に応じて掲示板からメールを取得することができるので、スパムメールや悪質なメールなどを避けることができる。
図25および図26は、サーバとローカル端末およびユーザの携帯デバイスとの間での互いの認証およびデータの送受信を行う場合のシーケンス処理の一例を示した図である。具体的に、図25は、認証処理を行う前の準備作業のシーケンスを示しており、図26は、認証を実際に行う場合の認証処理のシーケンスを示している。
システム構成としては、例えば、店舗などにおいて利用者が店舗側が使用を認めた正当なユーザ(ホルダ)であるか否かを、秘密データを参照することにより確認する場合を想定している。利用者は、携帯デバイスとしてICカードやICカード機能を備えたスマートフォン・携帯電話等(例えば、電子マネー機能を備えたスマートフォン・携帯電話など)を携帯し、ローカル端末を操作するオペレータに携帯デバイスを提示することにより、認証作業を行うことが可能となる。なお、ローカル端末とサーバとはネットワークを介して接続されているものとする。
次に、認証処理を行う前の準備作業を、図25に示すシーケンス手順に従って説明する。
Step1:サーバは、参照データ集合を生成し、生成された参照データ集合を暗号化して、サーバの参照データ記憶装置に記憶させる。ここで、暗号化・復号化鍵は、サーバ管理者等によって管理される。また、暗号化・復号化鍵は、可変なものであってもよい。
Step2:サーバをwebサーバとして機能させることにより、端末加盟申請用ウェブサイトを開設する。
Step3:さらに、サーバでは、ユーザ申請用ウェブサイトを開設する。
Step4:ローカル端末では、加盟申請に必要な情報(識別コード、機種、IPアドレス、配置状態、所属、管理者、使用者、公開暗号化鍵など)を、端末加盟申請用ウェブサイトを通してサーバに提出する。
Step5:サーバでは、端末加盟申請用ウェブサイトを通じて申請されたローカル端末の申請情報を担当者などが審査し、加盟申請に必要な情報の内容から申請手続が行われた端末の信頼性が低いと判断できる場合には、サーバ側からローカル端末に対して追加情報を求めるか、あるいは、ローカル端末の加盟申請を却下することが可能となっている。ローカル端末から取得した情報により信頼性が確保できると判断された場合には、ローカル端末の情報をサーバの「端末テーブル」に追加登録する。端末テーブルの内容は、サーバにおいて暗号化してから保存されるものとする。端末テーブルの内容を暗号化・復号化する場合の暗号化・復号化鍵も、サーバ管理者等によって管理される。また、暗号化・復号化鍵は、可変なものであってもよい。
Step6:サーバでは、参照データ集合を置換変換し、ローカル端末の公開鍵で暗号化してからローカル端末へ送信する。また、サーバでは、逆置換変換情報を端末テーブルに登録する。
Step7:ローカル端末では、受信した参照データ集合を暗号化のままでローカル端末側の参照データ記憶装置に保存する。
Step8:ユーザは、メンバ申請に必要な情報(ID番号、顔写真などの認証情報、職業、勤め先、連絡方法など)を、ユーザ申請用ウェブサイトを通してサーバに提出する。
Step9:サーバでは、ユーザ申請用ウェブサイトを通じて申請された申請情報を担当者などが審査し、メンバ申請に必要な情報の内容から申請手続が行われたメンバの信頼性が低いと判断できる場合には、ユーザに対して追加情報を求めるか、あるいは、メンバ申請を却下することが可能となっている。ユーザから取得した情報により信頼性が確保できると判断された場合には、ユーザの情報をサーバの「ユーザテーブル」に追加登録する。ユーザテーブルの内容は、サーバにおいて暗号化してから保存されるものとする。ユーザテーブルの内容を暗号化・復号化する場合の暗号化・復号化鍵は、サーバ管理者等によって管理される。また、暗号化・復号化鍵は、可変なものであってもよい。
Step10:サーバでは、参照データ集合から複数の参照データを選び、対応する参照データの特徴ベクトルと貢献度を定義し、ユーザの認証情報を隠蔽するステゴオブジェクトを求める。
Step11:サーバでは、ステゴオブジェクトとステゴ鍵(インデックス、特徴ベクトル、貢献度など)を2つの部分(α部分とβ部分)に分け(分け方は1方法には限定されず、さまざまな方法を用いることが可能である)、分割されたα部分をサーバのユーザテーブルに保存する。
Step12:また、サーバでは、分割されたβ部分を暗号化して、ユーザに送信する。この送信はメールなどを一例として用いることができる。なお、暗号化されたβ部分を復号化するための復号化鍵も、サーバによりユーザテーブルに登録される。
Step13:ユーザは、サーバより送られてきた鍵情報(β部分)を暗号化のままで、携帯デバイスの指定領域に保存する。
上述した図25のStep1〜13の処理により、認証準備作業が行われる。このようにして準備作業を行うことにより、図26に示すシーケンスに基づいて、ユーザの携帯端末およびローカル端末の認証処理を行うことが可能となる。
次に、図26に示すシーケンスフローを示して、サーバに対するローカル端末とユーザの携帯デバイスとの認証過程の処理手順を説明する。
Step1:ユーザが携帯デバイスをローカル端末に提示する。ローカル端末には、携帯デバイスから必要な情報の読み書きを行うための読み書き装置などが設けられている。この読み書き装置を介してデータの送受信を行うことが可能となっている。
Step2:ローカル端末と携帯デバイスとの間で相互認証を行う。相互認証方法として、クレジットカードなどにおいて、従来より一般的に用いられている認証技術を用いることが可能である。ローカル端末と携帯デバイスとのどちらか一方が正当ではないと判断された場合には、別の方法で再確認するか、サービスを中断する。両方が正当である場合には、Step3以降の認証過程を継続する。
Step3:ローカル端末が、ローカル端末の端末情報(識別コード、機種、IPアドレス、配置状態、所属、管理者、使用者、公開暗号化鍵など)と、読み書き装置を介して取得したユーザの情報(ID番号、職業、勤め先、連絡方法など)とを、サーバの公開鍵で暗号化し、サーバに送信することにより鍵情報の請求を行う。サーバの公開鍵は、ローカル端末において容易に得られるものであるとする。
Step4:サーバでは、受信された情報から、ローカル端末とユーザの情報とを秘密鍵で復号化し、受信した情報の正当性を確認する。ローカル端末と携帯デバイスとのどちらかが正当ではない場合、サーバはローカル端末に対して追加確認をするか、サービスを中断する。どちらも正当である場合、Step5以降の認証過程を継続する。
Step5:サーバでは、ユーザの情報に基づいて、ユーザテーブルから、ユーザの認証情報を再現するための鍵情報のα部分とβ部分の復号化鍵とをユーザテーブルから取得する。
Step6:そして、サーバでは、ユーザテーブルから取得した鍵情報をローカル端末の公開鍵を利用して暗号化し、端末に送る。
Step7:ローカル端末がサーバから受信した情報を秘密鍵で復号化する。
Step8:ローカル端末が、ユーザの認証情報を再現するための鍵情報(ステゴ鍵)のβ部分(暗号化したもの)を、携帯デバイスから取得し、取得した部分を、サーバから取得した復号化鍵を利用して復号化する。
Step9:ローカル端末が、ユーザの認証情報を再現するための鍵情報(αとβ)と、参照データ記憶装置に記録されるデータとを合わせて、ユーザの認証情報を再現する。
Step10:再現したユーザ認証情報に基づいて、オペレータがユーザを認証する。
このように認証処理を行うことにより、安全性の高い認証を行うことが可能となり、実施の形態1〜実施の形態6に示した秘密データの隠蔽処理および復元処理をより有効に利用することが可能となる。
以上、本発明に係る秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラム及び秘密情報復元プログラムについて、実施の形態1〜実施の形態6で場合分けを行って詳細に説明を行ったが、本発明に係る秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラム及び秘密情報復元プログラムは、実施の形態1〜実施の形態6で説明した事例には限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
1 …秘密情報隠蔽装置
2 …秘密情報復元装置
3 …ネットワーク
4 …サーバ
6 …装置本体
7 …表示部
8 …データ入力部
9 …命令入力部
10 …アルゴリズム実行部
11 …通信部
12 …補助記憶部
15 …計算部(計算手段)
16 …ROM
17 …RAM
18 …記憶部
21、31、43、61、71、81、91 …データ変形部(データ変形手段)
22、32、44、72、82、92 …F生成部(F生成手段)
23 …I生成部(I生成手段)
74 …ステゴオブジェクト生成部(ステゴオブジェクト生成手段)
24、34、47、64、75、88、98、103 …秘密データ記憶部
25、35、48、65、76、85、95 …カバーデータ記憶部
26、36、49、66、77、86、96 …ステゴ鍵記憶部
27、37、50、67、78、87、97、101 …ステゴオブジェクト記憶部
28、38、51、68、79、89、99 …ワーキングメモリ
33、63、84、94、102 …秘密データ再現部(秘密データ再現手段)
41 …スケーリングファクター算出部(スケーリングファクター算出手段)
42、62 …貢献度算出部(貢献度算出手段)
46 …モーフィングデータ生成部(モーフィングデータ生成手段)
73、83 …実質的カバーデータ生成部(実質的カバーデータ生成手段)
110 …認証システム
111 …リモートサーバ
112 …ローカル端末
112a …カードリーダ
113 …カード
A、B …コンピュータ

Claims (20)

  1. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、異なる種類の秘密要素を同じ形式で数値化したν個(ν>n)の秘密データm〜mνと、スケーリングファクターAとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
    秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とスケーリングファクターAと秘密データの個数νとを設定し、
    を用いてモーフィングデータの特徴ベクトルFを求めるF生成手段と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
    に基づいて、秘密データを隠蔽する前のモーフィングデータI を求める実質的カバーデータ生成手段と、
    に基づいて秘密データm(q=1,2,・・・,ν)をスケーリングし、
    pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
    を用いてステゴオブジェクトsを求めて、pの値を1だけ増加し、さらにqの値を1だけ増加して、
    その後に、q<νを満たすか否かを判断し、
    q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
    ν個の秘密データmが隠蔽されたステゴオブジェクトsを生成するステゴオブジェクト生成手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、スケーリングファクターAは1未満の正の実数とする
    ことを特徴とする秘密情報隠蔽装置。
  2. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνと、スケーリングファクターAとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
    カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とスケーリングファクターAと秘密データの個数νとを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
    を用いて、モーフィングデータの特徴ベクトルFを求めるF生成手段と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
    に基づいて、秘密データを隠蔽する前のモーフィングデータI を求める実質的カバーデータ生成手段と、
    pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加して、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
    を用いて、スケーリングされた秘密データxを求め、pの値を1だけ増加し、さらに、qの値を1だけ増加して、
    その後に、q<νを満たすか否かを判断し、
    q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行し、
    q<νを満たさない場合には、
    に基づいて、ν個の秘密データm(i=1,2,・・・,ν)を抽出することにより、
    ステゴオブジェクトsに隠蔽されたν個の秘密データmを抽出する秘密データ再現手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、スケーリングファクターAは1未満の正の実数とする
    ことを特徴とする秘密情報復元装置。
  3. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、数値で表現されているn個のデータm〜mとに基づいて、モーフィングデータIと、モーフィングデータIの特徴ベクトルFと、スケーリングファクターAとを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
    秘密データmとして数値で表現されているデータ{m,m,・・・,m}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}を設定し、生成するステゴオブジェクトsをモーフィングデータIとし、モーフィングデータIの特徴ベクトルをFとし、スケーリングファクターをAとして、
    に基づいてスケーリングファクターAを求めるスケーリングファクター算出手段と、
    =m×A (iに1からnまでの値を順次代入する)
    に従って、各参照データI(i=1,2,・・・,n)の貢献度a(i=1,2,・・・,n)を秘密データm(i=1,2,・・・,n)に基づいて決定する貢献度算出手段と、
    に基づいて、モーフィングデータIの特徴ベクトルFを求めるF生成手段と、
    に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
    に基づいてモーフィングデータIを求めることにより、
    参照データに対して数値で表現されているデータを隠蔽したモーフィングデータを生成するモーフィングデータ生成手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示し、さらに、スケーリングファクターAは1未満の正の実数とする
    ことを特徴とする秘密情報隠蔽装置。
  4. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、数値で表現されているn個のデータm〜mとに基づいて、モーフィングデータIと、モーフィングデータIの特徴ベクトルFと、スケーリングファクターAとを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
    ステゴオブジェクトsとしてモーフィングデータIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}を設定し、抽出される秘密データmを数値で表現されているn個のデータ{m,m,・・・m}とし、モーフィングデータIの特徴ベクトルをFとし、スケーリングファクターをAとして、
    に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、

    の2つの式に基づいて連立方程式の解を求めて、各参照データI(j=1,2,・・・,n)の貢献度a(j=1,2,・・・,n)を求める貢献度算出手段と、
    求められた該貢献度a(j=1,2,・・・,n)に基づいて、
    を用いて、秘密データm(j=1,2,・・・,n)を抽出することにより、
    参照データに隠蔽された秘密データを、モーフィングデータから抽出する秘密データ再現手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示し、さらに、スケーリングファクターAは1未満の正の実数とする
    ことを特徴とする秘密情報復元装置。
  5. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個(n≧3)の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aとに基づいて、モーフィングデータIを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
    秘密データmとして参照データIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、生成するステゴオブジェクトsを、モーフィングデータIとして、
    に基づいてモーフィングデータIの特徴ベクトルFを求めるF生成手段と、
    に基づいて、秘密データと参照データとを変形して、I (j=1,2,・・・,n)を求めるデータ変形手段と、
    に基づいてモーフィングデータ(ステゴオブジェクト)Iを求めることにより、
    複数(3個以上)の参照データに対して秘密データを隠蔽するI生成手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示し、さらに、貢献度の和の値は、a+a+・・・+a=1を満たすものとする
    ことを特徴とする秘密情報隠蔽装置。
  6. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個(n≧3)の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aとに基づいて、モーフィングデータIを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
    ステゴオブジェクトsとして、モーフィングデータIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを参照データIとして、
    に基づいて、モーフィングデータIの特徴ベクトルFを求めるF生成手段と、
    に基づいて、各参照データI(j=2,3,・・・,n)の変形されたデータI (j=2,3,・・・,n)を求めるデータ変形手段と、
    に基づいて、秘密データIの変形されたデータI を求め、
    に基づいて秘密データIを抽出することにより、
    複数の参照データに対して隠蔽された秘密データを抽出する秘密データ再現手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示し、さらに、貢献度の和の値は、a+a+・・・+a=1を満たすものとする
    ことを特徴とする秘密情報復元装置。
  7. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
    秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、
    を用いてモーフィングデータの特徴ベクトルFを求めるF生成手段と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
    に基づいて、秘密データを隠蔽する前のモーフィングデータI を求める実質的カバーデータ生成手段と、
    pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
    =MSB(I 0p)+m
    を用いてステゴオブジェクトsを求めて、pの値を1だけ増加し、さらにqの値を1だけ増加して、
    その後に、q<νを満たすか否かを判断し、
    q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
    ν個の秘密データが隠蔽されたステゴオブジェクトsを生成するステゴオブジェクト生成手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、I 0pはBビットのデータであって、MSB(I 0p)は、I 0pのうち上位B−bビットのデータを取り出す関数を意味する
    ことを特徴とする秘密情報隠蔽装置。
  8. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
    カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
    を用いて、モーフィングデータの特徴ベクトルFを求めるF生成手段と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
    pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加して、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
    =s−MSB(s
    を用いて、秘密データmを求め、pの値を1だけ増加し、さらに、qの値を1だけ増加して、
    その後に、q<νを満たすか否かを判断し、
    q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
    ステゴオブジェクトに隠蔽されたν個の秘密データを抽出する秘密データ再現手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、sはBビットのデータであって、MSB(s)は、sのうち上位B−bビットのデータを取り出す関数を意味する
    ことを特徴とする秘密情報復元装置。
  9. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置であって、
    秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、
    を用いてモーフィングデータの特徴ベクトルFを求めるF生成手段と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
    に基づいて、秘密データを隠蔽する前のモーフィングデータI を求める実質的カバーデータ生成手段と、
    pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加して、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
    を用いてステゴオブジェクトsを求めて、pの値を1だけ増加し、さらにqの値を1だけ増加して、
    その後に、q<νを満たすか否かを判断し、
    q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
    ν個の秘密データが隠蔽されたステゴオブジェクトsを生成するステゴオブジェクト生成手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、I 0pはBビットのデータであって、MSB(I 0p)は、I 0pのうち上位B−bビットのデータを取り出す関数を意味し、さらに、
    は、ビット単位の排他的論理和の演算子を示し、yとして、I ,I npあるいは、(I j1,p−I j2,p)のいずれかであって、bビットの数値からなるデータが設定される
    ことを特徴とする秘密情報隠蔽装置。
  10. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置であって、
    カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
    を用いて、モーフィングデータの特徴ベクトルFを求めるF生成手段と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めるデータ変形手段と、
    pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加して、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行し、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
    を用いて、秘密データmを求め、pの値を1だけ増加し、さらに、qの値を1だけ増加して、
    その後に、q<νを満たすか否かを判断し、
    q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断する処理に移行して当該判断処理をq≧νとなるまで繰り返し実行することにより、
    ステゴオブジェクトに隠蔽されたν個の秘密データを抽出する秘密データ再現手段と
    を有し、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、sはBビットのデータであって、MSB(s)は、sのうち上位B−bビットのデータを取り出す関数を意味し、さらに、
    は、ビット単位の排他的論理和の演算子を示し、yとして、I ,I npあるいは、(I j1,p−I j2,p)のいずれかであって、bビットの数値からなるデータが設定される
    ことを特徴とする秘密情報復元装置。
  11. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、異なる種類の秘密要素を同じ形式で数値化したν個(ν>n)の秘密データm〜mνと、スケーリングファクターAとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
    秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とスケーリングファクターAと秘密データの個数νとを設定し、
    前記秘密情報隠蔽装置の計算手段に、
    を用いてモーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
    に基づいて、秘密データを隠蔽する前のモーフィングデータI を求めさせる実質的カバーデータ生成機能と、
    に基づいて秘密データm(q=1,2,・・・,ν)をスケーリングさせ、
    pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
    を用いてステゴオブジェクトsを求めて、pの値を1だけ増加させ、さらにqの値を1だけ増加させ、
    その後に、q<νを満たすか否かを判断させ、
    q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
    ν個の秘密データmが隠蔽されたステゴオブジェクトsを生成させるステゴオブジェクト生成機能と
    を実現させ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、スケーリングファクターAは1未満の正の実数とする
    ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
  12. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνと、スケーリングファクターAとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置の秘密情報復元プログラムであって、
    カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とスケーリングファクターAと秘密データの個数νとを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
    前記秘密情報復元装置の計算手段に、
    を用いて、モーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
    に基づいて、秘密データを隠蔽する前のモーフィングデータI を求めさせる実質的カバーデータ生成機能と、
    pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
    を用いて、スケーリングされた秘密データxを求めさせ、pの値を1だけ増加させ、さらに、qの値を1だけ増加させて、
    その後に、q<νを満たすか否かを判断させ、
    q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させ、
    q<νを満たさない場合には、
    に基づいて、ν個の秘密データm(i=1,2,・・・,ν)を抽出することにより、
    ステゴオブジェクトsに隠蔽されたν個の秘密データmを抽出させる秘密データ再現機能と
    を実現させ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、スケーリングファクターAは1未満の正の実数とする
    ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
  13. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、数値で表現されているn個のデータm〜mとに基づいて、モーフィングデータIと、モーフィングデータIの特徴ベクトルFと、スケーリングファクターAとを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
    秘密データmとして数値で表現されているデータ{m,m,・・・,m}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}を設定し、生成するステゴオブジェクトsをモーフィングデータIとし、モーフィングデータIの特徴ベクトルをFとし、スケーリングファクターをAとして、
    前記秘密情報隠蔽装置の計算手段に、
    に基づいてスケーリングファクターAを求めさせるスケーリングファクター算出機能と、
    =m×A (iに1からnまでの値を順次代入する)
    に従って、各参照データI(i=1,2,・・・,n)の貢献度a(i=1,2,・・・,n)を秘密データm(i=1,2,・・・,n)に基づいて決定させる貢献度算出機能と、
    に基づいて、モーフィングデータIの特徴ベクトルFを求めさせるF生成機能と、
    に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
    に基づいてモーフィングデータIを求めることにより、
    参照データに対して数値で表現されているデータを隠蔽したモーフィングデータを生成させるモーフィングデータ生成機能と
    を実現させ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示し、さらに、スケーリングファクターAは1未満の正の実数とする
    ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
  14. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、数値で表現されているn個のデータm〜mとに基づいて、モーフィングデータIと、モーフィングデータIの特徴ベクトルFと、スケーリングファクターAとを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置の秘密情報復元プログラムであって、
    ステゴオブジェクトsとしてモーフィングデータIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}を設定し、抽出される秘密データmを数値で表現されているn個のデータ{m,m,・・・m}とし、モーフィングデータIの特徴ベクトルをFとし、スケーリングファクターをAとして、
    前記秘密情報復元装置の計算手段に
    に基づいて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、

    の2つの式に基づいて連立方程式の解を求めて、各参照データI(j=1,2,・・・,n)の貢献度a(j=1,2,・・・,n)を求めさせる貢献度算出機能と、
    求められた該貢献度a(j=1,2,・・・,n)に基づいて、
    を用いて、秘密データm(j=1,2,・・・,n)を抽出させることにより、
    参照データに隠蔽された秘密データを、モーフィングデータから抽出させる秘密データ再現機能と
    を実現させ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示し、さらに、スケーリングファクターAは1未満の正の実数とする
    ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
  15. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個(n≧3)の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aとに基づいて、モーフィングデータIを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
    秘密データmとして参照データIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、生成するステゴオブジェクトsを、モーフィングデータIとして、
    前記秘密情報隠蔽装置の計算手段に
    に基づいてモーフィングデータIの特徴ベクトルFを求めさせるF生成機能と、
    に基づいて、秘密データと参照データとを変形して、I (j=1,2,・・・,n)を求めさせるデータ変形機能と、
    に基づいてモーフィングデータ(ステゴオブジェクト)Iを求めさせることにより、
    複数(3個以上)の参照データに対して秘密データを隠蔽させるI生成機能と
    を実現させ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示し、さらに、貢献度の和の値は、a+a+・・・+a=1を満たすものとする
    ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
  16. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個(n≧3)の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aとに基づいて、モーフィングデータIを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置の秘密情報復元プログラムであって、
    ステゴオブジェクトsとして、モーフィングデータIを設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを参照データIとして、
    前記秘密情報復元装置の計算手段に、
    に基づいて、モーフィングデータIの特徴ベクトルFを求めさせるF生成機能と、
    に基づいて、各参照データI(j=2,3,・・・,n)の変形されたデータI (j=2,3,・・・,n)を求めさせるデータ変形機能と、
    に基づいて、秘密データIの変形されたデータI を求めさせ、
    に基づいて秘密データIを抽出させることにより、
    複数の参照データに対して隠蔽された秘密データを抽出させる秘密データ再現機能と
    を実現さ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、I0p,I 1p,・・・,I npは、それぞれ、I,I ,・・・,I のp番目の要素を示し、さらに、貢献度の和の値は、a+a+・・・+a=1を満たすものとする
    ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
  17. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
    秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、
    前記秘密情報隠蔽装置の計算手段に、
    を用いてモーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
    に基づいて、秘密データを隠蔽する前のモーフィングデータI を求めさせる実質的カバーデータ生成機能と、
    pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
    =MSB(I 0p)+m
    を用いてステゴオブジェクトsを求めて、pの値を1だけ増加させ、さらにqの値を1だけ増加させ、
    その後に、q<νを満たすか否かを判断させ、
    q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
    ν個の秘密データが隠蔽されたステゴオブジェクトsを生成させるステゴオブジェクト生成機能と
    を実現させ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、I 0pはBビットのデータであって、MSB(I 0p)は、I 0pのうち上位B−bビットのデータを取り出す関数を意味する
    ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
  18. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置の秘密情報復元プログラムであって、
    カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
    前記秘密情報復元装置の計算手段に、
    を用いて、モーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
    pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
    =s−MSB(s
    を用いて、秘密データmを求めさせ、pの値を1だけ増加させ、さらに、qの値を1だけ増加させて、
    その後に、q<νを満たすか否かを判断させ、
    q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
    ステゴオブジェクトに隠蔽されたν個の秘密データを抽出させる秘密データ再現機能と
    を実現させ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、sはBビットのデータであって、MSB(s)は、sのうち上位B−bビットのデータを取り出す関数を意味する
    ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
  19. カバーデータcに秘密データmを隠蔽させることによりステゴオブジェクトsを生成するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データが隠蔽されたステゴオブジェクトsを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
    秘密データmとして秘密データ{m,m,・・・,mν}を設定し、カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、
    前記秘密情報隠蔽装置の計算手段に、
    を用いてモーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
    に基づいて、秘密データを隠蔽する前のモーフィングデータI を求めさせる実質的カバーデータ生成機能と、
    pに1の値を設定し、qに1の値を設定し、sにI の値を設定して、変数p,qおよびsの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合には、該当するj及びjに基づいて、
    を用いてステゴオブジェクトsを求めさせて、pの値を1だけ増加させ、さらにqの値を1だけ増加させ、
    その後に、q<νを満たすか否かを判断させ、
    q<νを満たす場合に、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
    ν個の秘密データが隠蔽されたステゴオブジェクトsを生成させるステゴオブジェクト生成機能と
    を実現させ、
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、 は、I およびI (j=1,2,・・・,n)の要素数を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、I 0pはBビットのデータであって、MSB(I 0p)は、I 0pのうち上位B−bビットのデータを取り出す関数を意味し、さらに、
    は、ビット単位の排他的論理和の演算子を示し、yとして、I ,I npあるいは、(I j1,p−I j2,p)のいずれかであって、bビットの数値からなるデータが設定される
    ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
  20. カバーデータcに秘密データmが隠蔽されたステゴオブジェクトsから秘密データmを抽出するステガノグラフィー技術に対して、
    n個の参照データI〜Iと、各参照データI〜Iの特徴ベクトルF〜Fと、それぞれの参照データI〜Iにおける貢献度a〜aと、ν個(ν>n)の秘密データm〜mνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
    秘密データをステゴオブジェクトsより復元する秘密情報復元装置の秘密情報復元プログラムであって、
    カバーデータcとして参照データ{I,I,・・・,I}を設定し、ステゴ鍵kとして特徴ベクトル{F,F,・・・,F}と貢献度{a,a,・・・,a}とを設定し、抽出される秘密データmを秘密データ{m,m,・・・,mν}として、
    前記秘密情報復元装置の計算手段に、
    を用いて、モーフィングデータの特徴ベクトルFを求めさせるF生成機能と、
    を用いて、各参照データI(j=1,2,・・・,n)の変形されたデータI (j=1,2,・・・,n)を求めさせるデータ変形機能と、
    pに1の値を設定し、qに1の値を設定して、変数p及びqの初期化を行った後に、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在しない場合には、pの値を1だけ増加させて、Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かの判断を繰り返し実行させ、
    Δ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在する場合に、該当するj及びjに基づいて
    を用いて、秘密データmを求めさせ、pの値を1だけ増加させ、さらに、qの値を1だけ増加させて、
    その後に、q<νを満たすか否かを判断させ、
    q<νを満たす場合には、上述したΔ(j,j)=(I j1,p−I j2,p)≠0となるjとjとが存在するか否かを判断させる処理に移行して当該判断処理をq≧νとなるまで繰り返し実行させることにより、
    ステゴオブジェクトに隠蔽されたν個の秘密データを抽出させる秘密データ再現機能と
    を実現させ
    但し、Fjp(j=0,1,・・・,n)は、Fのp番目の要素を示し、 は、F (j=0,1,・・・,n)の要素数を示し、 (j=1,2,・・・,n)はIの変形を示し、Wは変形(ワーピング)関数を示し、変形関数WによりI(j=1,2,・・・,n)が変形されて、特徴ベクトルがF である (j=1,2,・・・,n)が生成されまた、s,I 0p,I 1p,・・・,I npは、それぞれ、s,I ,I ,・・・,I のp番目の要素を示し、さらに、jとjとは、1≦j<j≦nを満たす自然数であり、貢献度a(j=1,2,・・・,n)の値は予め正規化され、貢献度の和の値は、a+a+・・・+a=1を満たし、また、秘密データm(q=1,2,・・・,ν)は、bビットのデータであり、sはBビットのデータであって、MSB(s)は、sのうち上位B−bビットのデータを取り出す関数を意味し、さらに、
    は、ビット単位の排他的論理和の演算子を示し、yとして、I ,I npあるいは、(I j1,p−I j2,p)のいずれかであって、bビットの数値からなるデータが設定される
    ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
JP2012227771A 2012-01-19 2012-10-15 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム Expired - Fee Related JP5913041B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012227771A JP5913041B2 (ja) 2012-01-19 2012-10-15 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム
CN201310010039.7A CN103220455B (zh) 2012-01-19 2013-01-11 秘密信息隐藏装置和方法、秘密信息还原装置和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012009384 2012-01-19
JP2012009384 2012-01-19
JP2012227771A JP5913041B2 (ja) 2012-01-19 2012-10-15 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム

Publications (3)

Publication Number Publication Date
JP2013167865A JP2013167865A (ja) 2013-08-29
JP2013167865A5 JP2013167865A5 (ja) 2015-01-29
JP5913041B2 true JP5913041B2 (ja) 2016-04-27

Family

ID=49178269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012227771A Expired - Fee Related JP5913041B2 (ja) 2012-01-19 2012-10-15 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム

Country Status (1)

Country Link
JP (1) JP5913041B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061171A (ko) * 2017-11-27 2019-06-05 한국과학기술원 스테가노그래피 분석 모델 생성 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101472495B1 (ko) 2014-06-13 2014-12-19 동국대학교 산학협력단 정보 보안을 위한 데이터 은닉 장치 및 방법
CN105025195B (zh) * 2015-06-30 2017-11-28 西安空间无线电技术研究所 一种隐真示假卫星数据传输方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007219230A (ja) * 2006-02-17 2007-08-30 Kyushu Univ メディア隠蔽装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190061171A (ko) * 2017-11-27 2019-06-05 한국과학기술원 스테가노그래피 분석 모델 생성 방법 및 장치
KR102054347B1 (ko) * 2017-11-27 2019-12-10 한국과학기술원 스테가노그래피 분석 모델 생성 방법 및 장치

Also Published As

Publication number Publication date
JP2013167865A (ja) 2013-08-29

Similar Documents

Publication Publication Date Title
US11799668B2 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US8386793B2 (en) Method and apparatus for implementing electronic seal
US9077537B2 (en) Generating secure private keys for use in a public key communications environment
WO2018145127A1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
CN102132288A (zh) 生物体认证系统及其方法
CN113468556B (zh) 完全策略隐藏的数据访问控制方法及其相关设备
CN103220455B (zh) 秘密信息隐藏装置和方法、秘密信息还原装置和方法
CN105721156A (zh) 用于模幂加密方案的通用编码函数
US20150286843A1 (en) Method and system for modular digital watermarking of electronic files
JP2020187241A (ja) 暗号化/復号化装置、暗号化/復号化方法並びに該方法を実行するためのコンピュータプログラム
CN112800477A (zh) 一种基于生物特征值的数据加解密系统及方法
CN109005196A (zh) 数据传输方法、数据解密方法、装置及电子设备
JP5913041B2 (ja) 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム
Mandal Reversible steganography and authentication via transform encoding
Zhang et al. Digital image copyright protection method based on blockchain and zero trust mechanism
JP2006524352A (ja) バイオメトリクスに基づいたアイデンティティベースの暗号化方法および装置
US20130132720A1 (en) System and method for multi-dimensional secretion of digital data
JP5767003B2 (ja) ホルダ認証システム、ホルダ認証端末、認証画像分解装置およびホルダであることの認証に利用される記録媒体
Lee et al. Optimal pixel-level self-repairing authentication method for grayscale images under a minimax criterion of distortion reduction
Chavan et al. Data embedding technique using secret fragment visible mosaic image for covered communication
US20200219088A1 (en) Apparatus and method for embedding digital certifications within documents
Sarkar et al. Blockchain-based authenticable (k, n) multi-secret image sharing scheme
Kumaresan et al. Reversible data hiding in encrypted images using public cloud and cellular Automata
USRE49968E1 (en) Electronic identification verification methods and systems with storage of certification records to a side chain
US20240195626A1 (en) Methods and systems for generating limited access non-fungible tokens

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141208

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150910

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160401

R150 Certificate of patent or registration of utility model

Ref document number: 5913041

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees