(57)【特許請求の範囲】
【請求項１】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、異なる種類の秘密要素を同じ形式で数値化したν個（ν＞ｎ）の秘密データｍ１〜ｍνと、スケーリングファクターＡとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とスケーリングファクターＡと秘密データの個数νとを設定し、
【数１】
0005913041.tif 000154
を用いてモーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数２】
0005913041.tif 000155
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数３】
0005913041.tif 000156
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求める実質的カバーデータ生成手段と、
【数４】
0005913041.tif 000157
に基づいて秘密データｍｑ（ｑ＝１，２，・・・，ν）をスケーリングし、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
【数５】
0005913041.tif 000158
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加し、さらにｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ν個の秘密データｍが隠蔽されたステゴオブジェクトｓを生成するステゴオブジェクト生成手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ００およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、スケーリングファクターＡは１未満の正の実数とする
ことを特徴とする秘密情報隠蔽装置。
【請求項２】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνと、スケーリングファクターＡとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とスケーリングファクターＡと秘密データの個数νとを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
【数６】
0005913041.tif 000159
を用いて、モーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数７】
0005913041.tif 000160
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数８】
0005913041.tif 000161
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求める実質的カバーデータ生成手段と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加して、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
【数９】
0005913041.tif 000162
を用いて、スケーリングされた秘密データｘｑを求め、ｐの値を１だけ増加し、さらに、ｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行し、
ｑ＜νを満たさない場合には、
【数１０】
0005913041.tif 000163
に基づいて、ν個の秘密データｍｉ（ｉ＝１，２，・・・，ν）を抽出することにより、
ステゴオブジェクトｓに隠蔽されたν個の秘密データｍを抽出する秘密データ再現手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ００およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、スケーリングファクターＡは１未満の正の実数とする
ことを特徴とする秘密情報復元装置。
【請求項３】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、数値で表現されているｎ個のデータｍ１〜ｍｎとに基づいて、モーフィングデータＩ０と、モーフィングデータＩ０の特徴ベクトルＦ０と、スケーリングファクターＡとを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして数値で表現されているデータ｛ｍ１，ｍ２，・・・，ｍｎ｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝を設定し、生成するステゴオブジェクトｓをモーフィングデータＩ０とし、モーフィングデータＩ０の特徴ベクトルをＦ０とし、スケーリングファクターをＡとして、
【数１１】
0005913041.tif 000164
に基づいてスケーリングファクターＡを求めるスケーリングファクター算出手段と、
ａｉ＝ｍｉ×Ａ            （ｉに１からｎまでの値を順次代入する）
に従って、各参照データＩｉ（ｉ＝１，２，・・・，ｎ）の貢献度ａｉ（ｉ＝１，２，・・・，ｎ）を秘密データｍｉ（ｉ＝１，２，・・・，ｎ）に基づいて決定する貢献度算出手段と、
【数１２】
0005913041.tif 000165
に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求めるＦ０生成手段と、
【数１３】
0005913041.tif 000166
に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数１４】
0005913041.tif 000167
に基づいてモーフィングデータＩ０を求めることにより、
参照データに対して数値で表現されているデータを隠蔽したモーフィングデータを生成するモーフィングデータ生成手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ０およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、スケーリングファクターＡは１未満の正の実数とする
ことを特徴とする秘密情報隠蔽装置。
【請求項４】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、数値で表現されているｎ個のデータｍ１〜ｍｎとに基づいて、モーフィングデータＩ０と、モーフィングデータＩ０の特徴ベクトルＦ０と、スケーリングファクターＡとを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
ステゴオブジェクトｓとしてモーフィングデータＩ０を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝を設定し、抽出される秘密データｍを数値で表現されているｎ個のデータ｛ｍ１，ｍ２，・・・ｍｎ｝とし、モーフィングデータＩ０の特徴ベクトルをＦ０とし、スケーリングファクターをＡとして、
【数１５】
0005913041.tif 000168
に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数１６】
0005913041.tif 000169
と    
【数１７】
0005913041.tif 000170
の２つの式に基づいて連立方程式の解を求めて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の貢献度ａｊ（ｊ＝１，２，・・・，ｎ）を求める貢献度算出手段と、
求められた該貢献度ａｊ（ｊ＝１，２，・・・，ｎ）に基づいて、
【数１８】
0005913041.tif 000171
を用いて、秘密データｍｊ（ｊ＝１，２，・・・，ｎ）を抽出することにより、
参照データに隠蔽された秘密データを、モーフィングデータから抽出する秘密データ再現手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ０およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、スケーリングファクターＡは１未満の正の実数とする
ことを特徴とする秘密情報復元装置。
【請求項５】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個（ｎ≧３）の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎとに基づいて、モーフィングデータＩ０を生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして参照データＩ１を設定し、カバーデータｃとして参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、生成するステゴオブジェクトｓを、モーフィングデータＩ０として、
【数１９】
0005913041.tif 000172
に基づいてモーフィングデータＩ０の特徴ベクトルＦ０を求めるＦ０生成手段と、
【数２０】
0005913041.tif 000173
に基づいて、秘密データと参照データとを変形して、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数２１】
0005913041.tif 000174
に基づいてモーフィングデータ（ステゴオブジェクト）Ｉ０を求めることにより、
複数（３個以上）の参照データに対して秘密データを隠蔽するＩ０生成手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ０およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たすものとする
ことを特徴とする秘密情報隠蔽装置。
【請求項６】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個（ｎ≧３）の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎとに基づいて、モーフィングデータＩ０を生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
ステゴオブジェクトｓとして、モーフィングデータＩ０を設定し、カバーデータｃとして参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを参照データＩ１として、
【数２２】
0005913041.tif 000175
に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求めるＦ０生成手段と、
【数２３】
0005913041.tif 000176
に基づいて、各参照データＩｊ（ｊ＝２，３，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝２，３，・・・，ｎ）を求めるデータ変形手段と、
【数２４】
0005913041.tif 000177
に基づいて、秘密データＩ１の変形されたデータＩｗ１を求め、
【数２５】
0005913041.tif 000178
に基づいて秘密データＩ１を抽出することにより、
複数の参照データに対して隠蔽された秘密データを抽出する秘密データ再現手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ０およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たすものとする
ことを特徴とする秘密情報復元装置。
【請求項７】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、
【数２６】
0005913041.tif 000179
を用いてモーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数２７】
0005913041.tif 000180
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数２８】
0005913041.tif 000181
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求める実質的カバーデータ生成手段と、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｍｑ
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加し、さらにｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ν個の秘密データが隠蔽されたステゴオブジェクトｓを生成するステゴオブジェクト生成手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ００およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、Ｉ００ｐはＢビットのデータであって、ＭＳＢ（Ｉ００ｐ）は、Ｉ００ｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味する
ことを特徴とする秘密情報隠蔽装置。
【請求項８】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
【数２９】
0005913041.tif 000182
を用いて、モーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数３０】
0005913041.tif 000183
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加して、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
ｍｑ＝ｓｐ−ＭＳＢ（ｓｐ）
を用いて、秘密データｍｑを求め、ｐの値を１だけ増加し、さらに、ｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出する秘密データ再現手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、ｓｐはＢビットのデータであって、ＭＳＢ（ｓｐ）は、ｓｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味する
ことを特徴とする秘密情報復元装置。
【請求項９】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、
【数３１】
0005913041.tif 000184
を用いてモーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数３２】
0005913041.tif 000185
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数３３】
0005913041.tif 000186
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求める実質的カバーデータ生成手段と、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加して、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
【数３４】
0005913041.tif 000187
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加し、さらにｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ν個の秘密データが隠蔽されたステゴオブジェクトｓを生成するステゴオブジェクト生成手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ００およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、Ｉ００ｐはＢビットのデータであって、ＭＳＢ（Ｉ００ｐ）は、Ｉ００ｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味し、さらに、
【数３５】
0005913041.tif 000188
は、ビット単位の排他的論理和の演算子を示し、ｙとして、Ｉ００，Ｉｗｎｐあるいは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）のいずれかであって、ｂビットの数値からなるデータが設定される
ことを特徴とする秘密情報隠蔽装置。
【請求項１０】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
【数３６】
0005913041.tif 000189
を用いて、モーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数３７】
0005913041.tif 000190
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加して、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
【数３８】
0005913041.tif 000191
を用いて、秘密データｍｑを求め、ｐの値を１だけ増加し、さらに、ｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出する秘密データ再現手段と
を有し、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、ｓｐはＢビットのデータであって、ＭＳＢ（ｓｐ）は、ｓｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味し、さらに、
【数３９】
0005913041.tif 000192
は、ビット単位の排他的論理和の演算子を示し、ｙとして、Ｉ００，Ｉｗｎｐあるいは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）のいずれかであって、ｂビットの数値からなるデータが設定される
ことを特徴とする秘密情報復元装置。
【請求項１１】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、異なる種類の秘密要素を同じ形式で数値化したν個（ν＞ｎ）の秘密データｍ１〜ｍνと、スケーリングファクターＡとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とスケーリングファクターＡと秘密データの個数νとを設定し、
前記秘密情報隠蔽装置の計算手段に、
【数４０】
0005913041.tif 000193
を用いてモーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数４１】
0005913041.tif 000194
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数４２】
0005913041.tif 000195
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求めさせる実質的カバーデータ生成機能と、
【数４３】
0005913041.tif 000196
に基づいて秘密データｍｑ（ｑ＝１，２，・・・，ν）をスケーリングさせ、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
【数４４】
0005913041.tif 000197
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加させ、さらにｑの値を１だけ増加させ、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ν個の秘密データｍが隠蔽されたステゴオブジェクトｓを生成させるステゴオブジェクト生成機能と
を実現させ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ００およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、スケーリングファクターＡは１未満の正の実数とする
ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
【請求項１２】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνと、スケーリングファクターＡとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とスケーリングファクターＡと秘密データの個数νとを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
前記秘密情報復元装置の計算手段に、
【数４５】
0005913041.tif 000198
を用いて、モーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数４６】
0005913041.tif 000199
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数４７】
0005913041.tif 000200
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求めさせる実質的カバーデータ生成機能と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
【数４８】
0005913041.tif 000201
を用いて、スケーリングされた秘密データｘｑを求めさせ、ｐの値を１だけ増加させ、さらに、ｑの値を１だけ増加させて、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させ、
ｑ＜νを満たさない場合には、
【数４９】
0005913041.tif 000202
に基づいて、ν個の秘密データｍｉ（ｉ＝１，２，・・・，ν）を抽出することにより、
ステゴオブジェクトｓに隠蔽されたν個の秘密データｍを抽出させる秘密データ再現機能と
を実現させ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ００およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、スケーリングファクターＡは１未満の正の実数とする
ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
【請求項１３】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、数値で表現されているｎ個のデータｍ１〜ｍｎとに基づいて、モーフィングデータＩ０と、モーフィングデータＩ０の特徴ベクトルＦ０と、スケーリングファクターＡとを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして数値で表現されているデータ｛ｍ１，ｍ２，・・・，ｍｎ｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝を設定し、生成するステゴオブジェクトｓをモーフィングデータＩ０とし、モーフィングデータＩ０の特徴ベクトルをＦ０とし、スケーリングファクターをＡとして、
前記秘密情報隠蔽装置の計算手段に、
【数５０】
0005913041.tif 000203
に基づいてスケーリングファクターＡを求めさせるスケーリングファクター算出機能と、
ａｉ＝ｍｉ×Ａ            （ｉに１からｎまでの値を順次代入する）
に従って、各参照データＩｉ（ｉ＝１，２，・・・，ｎ）の貢献度ａｉ（ｉ＝１，２，・・・，ｎ）を秘密データｍｉ（ｉ＝１，２，・・・，ｎ）に基づいて決定させる貢献度算出機能と、
【数５１】
0005913041.tif 000204
に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数５２】
0005913041.tif 000205
に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数５３】
0005913041.tif 000206
に基づいてモーフィングデータＩ０を求めることにより、
参照データに対して数値で表現されているデータを隠蔽したモーフィングデータを生成させるモーフィングデータ生成機能と
を実現させ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ０およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、スケーリングファクターＡは１未満の正の実数とする
ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
【請求項１４】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、数値で表現されているｎ個のデータｍ１〜ｍｎとに基づいて、モーフィングデータＩ０と、モーフィングデータＩ０の特徴ベクトルＦ０と、スケーリングファクターＡとを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置の秘密情報復元プログラムであって、
ステゴオブジェクトｓとしてモーフィングデータＩ０を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝を設定し、抽出される秘密データｍを数値で表現されているｎ個のデータ｛ｍ１，ｍ２，・・・ｍｎ｝とし、モーフィングデータＩ０の特徴ベクトルをＦ０とし、スケーリングファクターをＡとして、
前記秘密情報復元装置の計算手段に
【数５４】
0005913041.tif 000207
に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数５５】
0005913041.tif 000208
と
【数５６】
0005913041.tif 000209
の２つの式に基づいて連立方程式の解を求めて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の貢献度ａｊ（ｊ＝１，２，・・・，ｎ）を求めさせる貢献度算出機能と、
求められた該貢献度ａｊ（ｊ＝１，２，・・・，ｎ）に基づいて、
【数５７】
0005913041.tif 000210
を用いて、秘密データｍｊ（ｊ＝１，２，・・・，ｎ）を抽出させることにより、
参照データに隠蔽された秘密データを、モーフィングデータから抽出させる秘密データ再現機能と
を実現させ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ０およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、スケーリングファクターＡは１未満の正の実数とする
ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
【請求項１５】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個（ｎ≧３）の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎとに基づいて、モーフィングデータＩ０を生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして参照データＩ１を設定し、カバーデータｃとして参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、生成するステゴオブジェクトｓを、モーフィングデータＩ０として、
前記秘密情報隠蔽装置の計算手段に
【数５８】
0005913041.tif 000211
に基づいてモーフィングデータＩ０の特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数５９】
0005913041.tif 000212
に基づいて、秘密データと参照データとを変形して、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数６０】
0005913041.tif 000213
に基づいてモーフィングデータ（ステゴオブジェクト）Ｉ０を求めさせることにより、
複数（３個以上）の参照データに対して秘密データを隠蔽させるＩ０生成機能と
を実現させ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ０およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たすものとする
ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
【請求項１６】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個（ｎ≧３）の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎとに基づいて、モーフィングデータＩ０を生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置の秘密情報復元プログラムであって、
ステゴオブジェクトｓとして、モーフィングデータＩ０を設定し、カバーデータｃとして参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを参照データＩ１として、
前記秘密情報復元装置の計算手段に、
【数６１】
0005913041.tif 000214
に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数６２】
0005913041.tif 000215
に基づいて、各参照データＩｊ（ｊ＝２，３，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝２，３，・・・，ｎ）を求めさせるデータ変形機能と、
【数６３】
0005913041.tif 000216
に基づいて、秘密データＩ１の変形されたデータＩｗ１を求めさせ、
【数６４】
0005913041.tif 000217
に基づいて秘密データＩ１を抽出させることにより、
複数の参照データに対して隠蔽された秘密データを抽出させる秘密データ再現機能と
を実現さ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、Ｎｄは、Ｉ０およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たすものとする
ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
【請求項１７】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、
前記秘密情報隠蔽装置の計算手段に、
【数６５】
0005913041.tif 000218
を用いてモーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数６６】
0005913041.tif 000219
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数６７】
0005913041.tif 000220
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求めさせる実質的カバーデータ生成機能と、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｍｑ
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加させ、さらにｑの値を１だけ増加させ、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ν個の秘密データが隠蔽されたステゴオブジェクトｓを生成させるステゴオブジェクト生成機能と
を実現させ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ００およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、Ｉ００ｐはＢビットのデータであって、ＭＳＢ（Ｉ００ｐ）は、Ｉ００ｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味する
ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
【請求項１８】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
前記秘密情報復元装置の計算手段に、
【数６８】
0005913041.tif 000221
を用いて、モーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数６９】
0005913041.tif 000222
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
ｍｑ＝ｓｐ−ＭＳＢ（ｓｐ）
を用いて、秘密データｍｑを求めさせ、ｐの値を１だけ増加させ、さらに、ｑの値を１だけ増加させて、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出させる秘密データ再現機能と
を実現させ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、ｓｐはＢビットのデータであって、ＭＳＢ（ｓｐ）は、ｓｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味する
ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
【請求項１９】
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、
前記秘密情報隠蔽装置の計算手段に、
【数７０】
0005913041.tif 000223
を用いてモーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数７１】
0005913041.tif 000224
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数７２】
0005913041.tif 000225
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求めさせる実質的カバーデータ生成機能と、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
【数７３】
0005913041.tif 000226
を用いてステゴオブジェクトｓｐを求めさせて、ｐの値を１だけ増加させ、さらにｑの値を１だけ増加させ、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ν個の秘密データが隠蔽されたステゴオブジェクトｓを生成させるステゴオブジェクト生成機能と
を実現させ、
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｎｄは、Ｉ００およびＩｗｊ（ｊ＝１，２，・・・，ｎ）の要素数を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、Ｉ００ｐはＢビットのデータであって、ＭＳＢ（Ｉ００ｐ）は、Ｉ００ｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味し、さらに、
【数７４】
0005913041.tif 000227
は、ビット単位の排他的論理和の演算子を示し、ｙとして、Ｉ００，Ｉｗｎｐあるいは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）のいずれかであって、ｂビットの数値からなるデータが設定される
ことを特徴とする秘密情報隠蔽装置の秘密情報隠蔽プログラム。
【請求項２０】
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
前記秘密情報復元装置の計算手段に、
【数７５】
0005913041.tif 000228
を用いて、モーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数７６】
0005913041.tif 000229
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
【数７７】
0005913041.tif 000230
を用いて、秘密データｍｑを求めさせ、ｐの値を１だけ増加させ、さらに、ｑの値を１だけ増加させて、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出させる秘密データ再現機能と
を実現させ
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示し、Ｎｆは、Ｆｊ（ｊ＝０，１，・・・，ｎ）の要素数を示し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、特徴ベクトルがＦ０であるＩｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示し、さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、ｓｐはＢビットのデータであって、ＭＳＢ（ｓｐ）は、ｓｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味し、さらに、
【数７８】
0005913041.tif 000231
は、ビット単位の排他的論理和の演算子を示し、ｙとして、Ｉ００，Ｉｗｎｐあるいは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）のいずれかであって、ｂビットの数値からなるデータが設定される
ことを特徴とする秘密情報復元装置の秘密情報復元プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モーフィングに基づくステガノグラフィー技術に関し、より詳細には、カバーデータに秘密データを隠蔽させることによりステゴオブジェクトを生成するステガノグラフィー技術に対して、参照データと、各参照データの特徴ベクトルと、各参照データにおける貢献度と、秘密データとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、秘密データを隠蔽したステゴオブジェクトを生成し、あるいは、ステゴオブジェクトから秘密データを復元することが可能な秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラム及び秘密情報復元プログラムに関する。
【背景技術】
【０００２】
従来より、ステガノグラフィー（ステガノグラフィー技術）を利用することにより、所定のカバーデータｃ（ｃ∈Ｃ、ｃはｃｏｖｅｒの略、Ｃは全てのカバーデータの集合を意味する）に、秘密データｍ（ｍ∈Ｍ、ｍはｍｅｓｓａｇｅの略、Ｍは全ての秘密データの集合）を埋め込む技術が知られている。秘密データｍをカバーデータｃに埋め込む関数（隠蔽関数）をｆとすると、ｆは以下の式（１）に示すような関数になる。
【数１】
0005913041.tif 000002
【０００３】
但し、ｓはステゴオブジェクト（stego-object）であって、ｓ∈Ｃであり、ｋｓはステゴ鍵（stego-key）である。式（１）において、[  ]で示される要素はオプションであって、必ずしも必要とされない。安全性を高めるために、従来のステガノグラフィーでは、カバーデータｃとして画像データを用いると共に、ステゴオブジェクトｓをカバーデータｃと視覚的にほぼ同じような画像データとし、一度使用したカバーデータｃを再度使用しないようにする必要があった。
【０００４】
ステゴオブジェクトｓに埋め込まれた（隠蔽された）秘密データｍは、カバーデータｃ、ステゴオブジェクトｓ、ステゴ鍵ｋｓを用いて、抽出関数(Extraction function)ｆ-１によって再現することが可能である。即ち、秘密データｍは、以下の式（２）で求めることができる。
【数２】
0005913041.tif 000003
なお、セキュリティを高めるために、秘密データｍを暗号化してから、カバーデータｃに隠蔽する（埋め込む）こともできる。
【０００５】
一方で、モーフィング（モーフィング技術）を利用することにより秘密データをカバーデータに埋め込む方法（隠蔽方法）が提案されている（例えば、特許文献１、非特許文献１参照）。
【０００６】
秘密データを埋め込む方法として、画像データを用いる画像モーフィングや音楽データを用いる音楽モーフィング等を利用することができる。一般的にモーフィングは、以下の式（３）の関係式によって示すことができる。
【数３】
0005913041.tif 000004
【０００７】
この関係式（式（３））において、Ｉ１とＩ２とはそれぞれ参照データであり、Ｆ１とＦ２とはモーフィングを行うために必要とされる参照データＩ１と参照データＩ２との特徴ベクトルを示している。また、ａと１−ａとは、それぞれ参照データＩ１と参照データＩ２との貢献度を示しており、Ｉ０は、モーフィングの結果として変形（生成）されたデータを示している。以下、Ｉ０をモーフィングデータと呼ぶ。
【０００８】
画像モーフィングの場合、Ｉ０，Ｉ１，Ｉ２は全て２次元画像あるいは３次元画像である。また、音楽モーフィングの場合、Ｉ０，Ｉ１，Ｉ２は全て数列となる。ここで、Ｉ０，Ｉ１，Ｉ２は、一般性を失わずに、Ｎｄ個の要素を持つベクトルであるとする。また、特徴ベクトルは、特徴点や特徴線の位置（座標）情報から構成されるＮｆ個の要素を持つベクトルであるとする。
【０００９】
このようにして定義されるモーフィングを用いて、モーフィングとステガノグラフィーとを関連づけると、以下のように関係を示すことができる。
秘密データｍ＝参照データＩ１
カバーデータｃ＝参照データＩ２
ステゴ鍵ｋｓ＝{Ｆ１，Ｆ２，ａ｝
ステゴオブジェクトｓ＝モーフィングデータＩ０
【００１０】
このようにして、モーフィングとステガノグラフィーとを関連づけることにより、参照データＩ１を秘密データｍとして参照データＩ２に隠蔽することが可能となる（例えば、特許文献２参照）。
【００１１】
もちろん、秘密データｍを参照データＩ２とし、カバーデータｃを参照データＩ１とすることにより、Ｉ２をＩ１に隠蔽することも可能である。以下、説明を簡単にするために、Ｉ１をＩ２に隠蔽する場合を一例として示す。秘密データｍ＝Ｉ１をＩ２に埋め込む関数ｆは、以下のようにして実現することができる。
【００１２】
［関数ｆを実現するためのアルゴリズム］
出力されるステゴオブジェクトｓをモーフィングデータＩ０とし、このモーフィングデータＩ０を求めるために必要とされるデータを、秘密データｍ＝Ｉ１、カバーデータｃ＝Ｉ２、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，ａ｝とすると、
入力：ｍ＝Ｉ１，ｃ＝Ｉ２，ｋｓ＝｛Ｆ１，Ｆ２，ａ｝
出力：ｓ＝Ｉ０
となり、以下の３つのステップによって、秘密データの隠蔽が行われたモーフィングデータを求めることができる。
【００１３】
・ＳＴＥＰ１：式（４）を用いてモーフィングデータＩ０の特徴ベクトルＦ０を求める。
【数４】
0005913041.tif 000005
但し、Ｆｊｐ（ｊ＝０，１，２）はＦｊのｐ番目の要素を示しており、ａは０＜ａ＜１となる実数を示している。
【００１４】
・ＳＴＥＰ２：式（５）を用いて秘密データと参照データを変形する。
【数５】
0005913041.tif 000006
但し、Ｉｗｊ（ｊ＝１，２）は、Ｉｊの変形されたデータ、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２）が変形されて、Ｉｗｊ（ｊ＝１，２）が生成される。Ｉｗｊ（ｊ＝１，２）は、特徴ベクトルＦ０を有する。
【００１５】
・ＳＴＥＰ３：式（６）でモーフィングデータＩ０を求める。
【数６】
0005913041.tif 000007
但し、Ｉ０ｐ，Ｉｗ１ｐ，Ｉｗ２ｐは、それぞれ、Ｉ０，Ｉｗ１，Ｉｗ２のｐ番目の要素を示している。
【００１６】
このようにＳＴＥＰ１〜ＳＴＥＰ３の手順を経ることにより、参照データＩ２に参照データＩ１が隠蔽されたデータであるモーフィングデータＩ０を求めることが可能となる。
【００１７】
一方で、モーフィングデータＩ０から、秘密データである参照データＩ１を抽出（復元、再現）することも可能である。秘密データｍ＝Ｉ１をＩ０から抽出（復元、再現）するための抽出関数ｆ−１は、以下のようにして実現することができる。
【００１８】
［関数ｆ−１を実現するためのアルゴリズム］
出力される秘密データｍを参照データＩ１とし、この参照データＩ１を求めるために必要とされるデータを、ステゴオブジェクトｓ＝モーフィングデータＩ０、カバーデータｃ＝Ｉ２、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，ａ｝とすると、
入力：ｓ＝Ｉ０，ｃ＝Ｉ２，ｋｓ＝｛Ｆ１，Ｆ２，ａ｝
出力：ｍ＝Ｉ１
となり、以下の４つのステップによって、モーフィングデータＩ０から秘密データｍ（参照データＩ１）を抽出（復元、再現）することが可能となる。
【００１９】
・ＳＴＥＰ１：式（４）を用いてモーフィングデータＩ０の特徴ベクトルＦ０を求める。
【数７】
0005913041.tif 000008
但し、Ｆｊｐ（ｊ＝０，１，２）はＦｊのｐ番目の要素を示しており、ａは０＜ａ＜１となる実数を示している。
【００２０】
・ＳＴＥＰ２：式（５'）を用いてカバーデータを変形したデータＩｗ２を求める。
【数８】
0005913041.tif 000009
但し、Ｉｗ２は、参照データＩ２の変形されたデータを示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩ２が変形されて、Ｉｗ２が生成される。Ｉｗ２は、特徴ベクトルＦ０を有する。
【００２１】
・ＳＴＥＰ３：秘密データＩ１の変形したデータＩｗ１を式（７）を用いて求める。
【数９】
0005913041.tif 000010
【００２２】
・ＳＴＥＰ４：式（８）を用いて、秘密データＩ１を抽出（復元、再現）する。
【数１０】
0005913041.tif 000011
【００２３】
このように、モーフィングデータを生成する技術をステガノグラフィーに適用することにより、参照データＩ２（カバーデータ）に参照データＩ１（秘密データ）を隠蔽してモーフィングデータＩ０（ステゴオブジェクト）を生成することができる。また、モーフィングデータＩ０（ステゴオブジェクト）から参照データＩ１（秘密データ）を抽出（復元、再現）することが可能となる。
【００２４】
なお、モーフィングに基づくステガノグラフィーでは、モーフィングデータＩ０（ステゴオブジェクトｓ）が画像データや音楽データなどである場合には、画像データや音楽データが「自然」であればよく、必ずしもカバーデータＩ２と視覚的あるいは聴覚的に一致させる必要がない。従って、モーフィングに基づくステガノグラフィーを用いることによって、データ量の大きい秘密データ（参照データＩ１）を隠蔽することが可能となる。
【００２５】
また、変形関数Ｗを実現するために、さまざまな方法が考えられる。例えば、画像モーフィングの場合だけでも、フィールドワーピング、メッシュワーピングなどの方法を用いることが可能である。モーフィングに基づくステガノグラフィーでは、変形関数Ｗの実現方法を限定せず、自然なモーフィングデータを求められる方法であれば、どの方法を採用してもよい。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特開２００７−２１９２３０号公報
【特許文献２】特開２００９−１７１１１６号公報
【非特許文献】
【００２７】
【非特許文献１】近藤聡、趙強福、高木英行，「モーフィング技術を用いた情報隠蔽手法」，電子情報通信学会技術研究報告，電子情報通信学会，2006年2月13日，Vol.105，No.608，pp.145-150
【発明の概要】
【発明が解決しようとする課題】
【００２８】
ところで、上述したように、モーフィングに基づくステガノグラフィーでは、秘密データがモーフィング可能なデータであることが必要であった。このため、例えば、画像データや音楽データには該当しない、単なる数値データなどの場合には、上述したモーフィングに基づくステガノグラフィーをそのまま利用することが困難であった。
【００２９】
さらに、上述したモーフィングに基づくステガノグラフィーでは、１つの参照データＩ２（カバーデータ）対して１つの参照データＩ１（秘密データ）を、モーフィングに基づくステガノグラフィーによって隠蔽するものであったが、セキュリティ向上のために、カバーデータとして１つの参照データだけを用いるのではなく、複数個の参照データを用いて、秘密データを隠蔽することが望まれている。
【００３０】
また、秘密データは必ずしも１種類に限定されず、複数種類の秘密要素を同一のカバーデータに隠蔽することも求められている。
【００３１】
さらに、既存のモーフィングに基づいて秘密データを画像データに隠蔽した場合には、隠蔽後の画像データ（ステゴオブジェクト）が不自然な画像となってしまうおそれがあった。不自然な画像データは、一般に第三者の注意を引きやすくなり、攻撃される可能性が高くなるという問題があった。
【００３２】
本発明は、このような課題に鑑みてなされたものであり、第１の課題として、モーフィングに基づくステガノグラフィーにより、モーフィングできない秘密データをカバーデータに隠蔽することができ、第２の課題として、モーフィングに基づくステガノグラフィーにおいて、複数個のカバーデータを用いて秘密データを隠蔽することができ、第３の課題として、モーフィングに基づくステガノグラフィーにおいて、複数種類の秘密要素を同一のカバーデータに隠蔽することができ、第４の課題として、秘密データが隠蔽されてもステゴオブジェクトが不自然とならないように秘密データの隠蔽を行うことが可能な秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラム及び秘密情報復元プログラムを提供することを課題とする。
【課題を解決するための手段】
【００３３】
上記課題を解決するために、本発明に係る秘密情報隠蔽装置は、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、異なる種類の秘密要素を同じ形式で数値化したν個（ν＞ｎ）の秘密データｍ１〜ｍνと、スケーリングファクターＡとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とスケーリングファクターＡと秘密データの個数νとを設定し、
【数１１】
0005913041.tif 000012
を用いてモーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数１２】
0005913041.tif 000013
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数１３】
0005913041.tif 000014
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求める実質的カバーデータ生成手段と、
【数１４】
0005913041.tif 000015
に基づいて秘密データｍｑ（ｑ＝１，２，・・・，ν）をスケーリングし、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
【数１５】
0005913041.tif 000016
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加し、さらにｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ν個の秘密データｍが隠蔽されたステゴオブジェクトｓを生成するステゴオブジェクト生成手段とを有することを特徴とする。
【００３４】
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、異なる種類の秘密要素を同じ形式で数値化したν個（ν＞ｎ）の秘密データｍ１〜ｍνと、スケーリングファクターＡとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とスケーリングファクターＡと秘密データの個数νとを設定し、
前記秘密情報隠蔽装置の計算手段に、
【数１６】
0005913041.tif 000017
を用いてモーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数１７】
0005913041.tif 000018
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数１８】
0005913041.tif 000019
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求めさせる実質的カバーデータ生成機能と、
【数１９】
0005913041.tif 000020
に基づいて秘密データｍｑ（ｑ＝１，２，・・・，ν）をスケーリングさせ、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
【数２０】
0005913041.tif 000021
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加させ、さらにｑの値を１だけ増加させ、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ν個の秘密データｍが隠蔽されたステゴオブジェクトｓを生成させるステゴオブジェクト生成機能とを実現させる秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
【００３５】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、スケーリングファクターＡは１未満の正の実数とする。
【００３６】
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、違う種類の秘密要素を、同じ形式の数値（例えば、符号なしの８ビットの整数）で表現すれば、モーフィングに基づくステガノグラフィーを用いて、参照データに秘密データを隠蔽することが可能となる。
【００３７】
さらに、本発明に係る秘密情報復元装置は、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνと、スケーリングファクターＡとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とスケーリングファクターＡと秘密データの個数νとを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
【数２１】
0005913041.tif 000022
を用いて、モーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数２２】
0005913041.tif 000023
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数２３】
0005913041.tif 000024
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求める実質的カバーデータ生成手段と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加して、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
【数２４】
0005913041.tif 000025
を用いて、スケーリングされた秘密データｘｑを求め、ｐの値を１だけ増加し、さらに、ｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行し、
ｑ＜νを満たさない場合には、
【数２５】
0005913041.tif 000026
に基づいて、ν個の秘密データｍｉ（ｉ＝１，２，・・・，ν）を抽出することにより、
ステゴオブジェクトｓに隠蔽されたν個の秘密データｍを抽出する秘密データ再現手段とを有することを特徴とする。
【００３８】
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνと、スケーリングファクターＡとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とスケーリングファクターＡと秘密データの個数νとを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
前記秘密情報復元装置の計算手段に、
【数２６】
0005913041.tif 000027
を用いて、モーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数２７】
0005913041.tif 000028
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数２８】
0005913041.tif 000029
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求めさせる実質的カバーデータ生成機能と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
【数２９】
0005913041.tif 000030
を用いて、スケーリングされた秘密データｘｑを求めさせ、ｐの値を１だけ増加させ、さらに、ｑの値を１だけ増加させて、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させ、
ｑ＜νを満たさない場合には、
【数３０】
0005913041.tif 000031
に基づいて、ν個の秘密データｍｉ（ｉ＝１，２，・・・，ν）を抽出することにより、
ステゴオブジェクトｓに隠蔽されたν個の秘密データｍを抽出させる秘密データ再現機能とを実現させる秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
【００３９】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たし、スケーリングファクターＡは１未満の正の実数とする。
【００４０】
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、同じ形式の数値（例えば、符号なしの８ビットの整数）で表現された違う種類の秘密要素を隠蔽したモーフィングデータから、モーフィングに基づくステガノグラフィーを用いて、秘密データを抽出（復元、再現）することが可能となる。
【００４１】
さらに、本発明に係る秘密情報隠蔽装置は、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、数値で表現されているｎ個のデータｍ１〜ｍｎとに基づいて、モーフィングデータＩ０と、モーフィングデータＩ０の特徴ベクトルＦ０と、スケーリングファクターＡとを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして数値で表現されているデータ｛ｍ１，ｍ２，・・・，ｍｎ｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝を設定し、生成するステゴオブジェクトｓをモーフィングデータＩ０とし、モーフィングデータＩ０の特徴ベクトルをＦ０とし、スケーリングファクターをＡとして、
【数３１】
0005913041.tif 000032
に基づいてスケーリングファクターＡを求めるスケーリングファクター算出手段と、
ａｉ＝ｍｉ×Ａ            （ｉに１からｎまでの値を順次代入する）
に従って、各参照データＩｉ（ｉ＝１，２，・・・，ｎ）の貢献度ａｉ（ｉ＝１，２，・・・，ｎ）を秘密データｍｉ（ｉ＝１，２，・・・，ｎ）に基づいて決定する貢献度算出手段と、
【数３２】
0005913041.tif 000033
に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求めるＦ０生成手段と、
【数３３】
0005913041.tif 000034
に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数３４】
0005913041.tif 000035
に基づいてモーフィングデータＩ０を求めることにより、
参照データに対して数値で表現されているデータを隠蔽したモーフィングデータを生成するモーフィングデータ生成手段とを有することを特徴とする。
【００４２】
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、数値で表現されているｎ個のデータｍ１〜ｍｎとに基づいて、モーフィングデータＩ０と、モーフィングデータＩ０の特徴ベクトルＦ０と、スケーリングファクターＡとを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして数値で表現されているデータ｛ｍ１，ｍ２，・・・，ｍｎ｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝を設定し、生成するステゴオブジェクトｓをモーフィングデータＩ０とし、モーフィングデータＩ０の特徴ベクトルをＦ０とし、スケーリングファクターをＡとして、
前記秘密情報隠蔽装置の計算手段に、
【数３５】
0005913041.tif 000036
に基づいてスケーリングファクターＡを求めさせるスケーリングファクター算出機能と、
ａｉ＝ｍｉ×Ａ            （ｉに１からｎまでの値を順次代入する）
に従って、各参照データＩｉ（ｉ＝１，２，・・・，ｎ）の貢献度ａｉ（ｉ＝１，２，・・・，ｎ）を秘密データｍｉ（ｉ＝１，２，・・・，ｎ）に基づいて決定させる貢献度算出機能と、
【数３６】
0005913041.tif 000037
に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数３７】
0005913041.tif 000038
に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数３８】
0005913041.tif 000039
に基づいてモーフィングデータＩ０を求めることにより、
参照データに対して数値で表現されているデータを隠蔽したモーフィングデータを生成させるモーフィングデータ生成機能とを実現させる秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
【００４３】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、スケーリングファクターＡは１未満の正の実数とする。
【００４４】
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、複数のカバーデータ｛Ｉ１，Ｉ２，Ｉ３，・・・，Ｉｎ｝に、数値で表現されている複数の秘密データ｛ｍ１，ｍ２，・・・，ｍｎ｝を隠蔽することが可能となる。また、秘密データはモーフィング可能である必要はない。
【００４５】
さらに、本発明に係る秘密情報復元装置は、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、数値で表現されているｎ個のデータｍ１〜ｍｎとに基づいて、モーフィングデータＩ０と、モーフィングデータＩ０の特徴ベクトルＦ０と、スケーリングファクターＡとを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
ステゴオブジェクトｓとしてモーフィングデータＩ０を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝を設定し、抽出される秘密データｍを数値で表現されているｎ個のデータ｛ｍ１，ｍ２，・・・ｍｎ｝とし、モーフィングデータＩ０の特徴ベクトルをＦ０とし、スケーリングファクターをＡとして、
【数３９】
0005913041.tif 000040
に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数４０】
0005913041.tif 000041
と
【数４１】
0005913041.tif 000042
の２つの式に基づいて連立方程式の解を求めて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の貢献度ａｊ（ｊ＝１，２，・・・，ｎ）を求める貢献度算出手段と、
求められた該貢献度ａｊ（ｊ＝１，２，・・・，ｎ）に基づいて、
【数４２】
0005913041.tif 000043
を用いて、秘密データｍｊ（ｊ＝１，２，・・・，ｎ）を抽出することにより、
参照データに隠蔽された秘密データを、モーフィングデータから抽出する秘密データ再現手段とを有することを特徴とする。
【００４６】
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、数値で表現されているｎ個のデータｍ１〜ｍｎとに基づいて、モーフィングデータＩ０と、モーフィングデータＩ０の特徴ベクトルＦ０と、スケーリングファクターＡとを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
ステゴオブジェクトｓとしてモーフィングデータＩ０を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝を設定し、抽出される秘密データｍを数値で表現されているｎ個のデータ｛ｍ１，ｍ２，・・・ｍｎ｝とし、モーフィングデータＩ０の特徴ベクトルをＦ０とし、スケーリングファクターをＡとして、
前記秘密情報復元装置の計算手段に
【数４３】
0005913041.tif 000044
に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数４４】
0005913041.tif 000045
と
【数４５】
0005913041.tif 000046
の２つの式に基づいて連立方程式の解を求めて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の貢献度ａｊ（ｊ＝１，２，・・・，ｎ）を求めさせる貢献度算出機能と、
求められた該貢献度ａｊ（ｊ＝１，２，・・・，ｎ）に基づいて、
【数４６】
0005913041.tif 000047
を用いて、秘密データｍｊ（ｊ＝１，２，・・・，ｎ）を抽出させることにより、
参照データに隠蔽された秘密データを、モーフィングデータから抽出させる秘密データ再現機能とを実現させるための秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
【００４７】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、スケーリングファクターＡは１未満の正の実数とする。
【００４８】
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、参照データに隠蔽された数値で表現されているデータを、モーフィングデータから抽出することができる。また、抽出されるデータは複数のカバーデータを用いて隠蔽された秘密データであるため、秘密データのセキュリティを向上させることができる。
【００４９】
さらに、本発明に係る秘密情報隠蔽装置は、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個（ｎ≧３）の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎとに基づいて、モーフィングデータＩ０を生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして参照データＩ１を設定し、カバーデータｃとして参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、生成するステゴオブジェクトｓを、モーフィングデータＩ０として、
【数４７】
0005913041.tif 000048
に基づいてモーフィングデータＩ０の特徴ベクトルＦ０を求めるＦ０生成手段と、
【数４８】
0005913041.tif 000049
に基づいて、秘密データと参照データとを変形して、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数４９】
0005913041.tif 000050
に基づいてモーフィングデータ（ステゴオブジェクト）Ｉ０を求めることにより、
複数（３個以上）の参照データに対して秘密データを隠蔽するＩ０生成手段とを有することを特徴とする。
【００５０】
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個（ｎ≧３）の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎとに基づいて、モーフィングデータＩ０を生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして参照データＩ１を設定し、カバーデータｃとして参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、生成するステゴオブジェクトｓを、モーフィングデータＩ０として、
前記秘密情報隠蔽装置の計算手段に
【数５０】
0005913041.tif 000051
に基づいてモーフィングデータＩ０の特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数５１】
0005913041.tif 000052
に基づいて、秘密データと参照データとを変形して、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数５２】
0005913041.tif 000053
に基づいてモーフィングデータ（ステゴオブジェクト）Ｉ０を求めさせることにより、
複数（３個以上）の参照データに対して秘密データを隠蔽させるＩ０生成機能とを実現させるための秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
【００５１】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たすものとする。
【００５２】
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、複数（ｎ−１個）のカバーデータ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝に、秘密データＩ１を隠蔽することが可能となる。
【００５３】
さらに、本発明に係る秘密情報復元装置は、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個（ｎ≧３）の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎとに基づいて、モーフィングデータＩ０を生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
ステゴオブジェクトｓとして、モーフィングデータＩ０を設定し、カバーデータｃとして参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを参照データＩ１として、
【数５３】
0005913041.tif 000054
に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求めるＦ０生成手段と、
【数５４】
0005913041.tif 000055
に基づいて、各参照データＩｊ（ｊ＝２，３，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝２，３，・・・，ｎ）を求めるデータ変形手段と、
【数５５】
0005913041.tif 000056
に基づいて、秘密データＩ１の変形されたデータＩｗ１を求め、
【数５６】
0005913041.tif 000057
に基づいて秘密データＩ１を抽出することにより、
複数の参照データに対して隠蔽された秘密データを抽出する秘密データ再現手段とを有することを特徴とする。
【００５４】
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個（ｎ≧３）の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎとに基づいて、モーフィングデータＩ０を生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
ステゴオブジェクトｓとして、モーフィングデータＩ０を設定し、カバーデータｃとして参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを参照データＩ１として、
前記秘密情報復元装置の計算手段に、
【数５７】
0005913041.tif 000058
に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数５８】
0005913041.tif 000059
に基づいて、各参照データＩｊ（ｊ＝２，３，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝２，３，・・・，ｎ）を求めさせるデータ変形機能と、
【数５９】
0005913041.tif 000060
に基づいて、秘密データＩ１の変形されたデータＩｗ１を求めさせ、
【数６０】
0005913041.tif 000061
に基づいて秘密データＩ１を抽出させることにより、
複数の参照データに対して隠蔽された秘密データを抽出させる秘密データ再現機能とを実現させるための秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
【００５５】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たすものとする。
【００５６】
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、モーフィングデータＩ０から秘密データＩ１を抽出（再現）することが可能となる。ここで、秘密データＩ１は複数（ｎ−１個）の参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝に隠蔽されたデータであるため、モーフィングデータＩ０は複数の参照データが変形（モーフィング）されたデータである。このため、２つの参照データを用いて、モーフィングに基づくステガノグラフィーを行う場合に比べて、隠蔽された秘密データのセキュリティを向上させることが可能となる。
【００５７】
また、本発明に係る秘密情報隠蔽装置は、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、
【数６１】
0005913041.tif 000062
を用いてモーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数６２】
0005913041.tif 000063
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数６３】
0005913041.tif 000064
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求める実質的カバーデータ生成手段と、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｍｑ
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加し、さらにｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ν個の秘密データが隠蔽されたステゴオブジェクトｓを生成するステゴオブジェクト生成手段とを有することを特徴とする。
【００５８】
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、
前記秘密情報隠蔽装置の計算手段に、
【数６４】
0005913041.tif 000065
を用いてモーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数６５】
0005913041.tif 000066
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数６６】
0005913041.tif 000067
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求めさせる実質的カバーデータ生成機能と、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｍｑ
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加させ、さらにｑの値を１だけ増加させ、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ν個の秘密データが隠蔽されたステゴオブジェクトｓを生成させるステゴオブジェクト生成機能とを実現させるための秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
【００５９】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たす。また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、Ｉ００ｐはＢビットのデータであって、ＭＳＢ（Ｉ００ｐ）は、Ｉ００ｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味する。
【００６０】
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、秘密データがモーフィング処理に伴ってモーフィングデータに隠蔽されるのではなく、モーフィング処理によりモーフィングデータが生成された後に、モーフィングデータに秘密データが隠蔽されるので、秘密データそのものはモーフィング処理の対象とならない。このため、秘密データが隠蔽されたステゴオブジェクトは、秘密データが隠蔽されていても不自然さが生じ難くなる。従って、第三者がステゴオブジェクトを見ても、秘密データの隠蔽に気付き難くなり、攻撃の対象となってしまう可能性を低減することが可能となる。
【００６１】
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、Δｐ（ｊ１，ｊ２）≠０となるｐにおいて、モーフィングデータＩ００の最下位ｂビットに秘密データを隠蔽することが可能となる。このため、第三者からは、少なくともどの位置に秘密データが隠蔽されているかが容易に判断され難くなり、秘密データの安全性を高めることが可能となる。
【００６２】
また、本発明に係る秘密情報復元装置は、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
【数６７】
0005913041.tif 000068
を用いて、モーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数６８】
0005913041.tif 000069
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加して、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
ｍｑ＝ｓｐ−ＭＳＢ（ｓｐ）
を用いて、秘密データｍｑを求め、ｐの値を１だけ増加し、さらに、ｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出する秘密データ再現手段と  を有することを特徴とする。
【００６３】
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
前記秘密情報復元装置の計算手段に、
【数６９】
0005913041.tif 000070
を用いて、モーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数７０】
0005913041.tif 000071
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
ｍｑ＝ｓｐ−ＭＳＢ（ｓｐ）
を用いて、秘密データｍｑを求めさせ、ｐの値を１だけ増加させ、さらに、ｑの値を１だけ増加させて、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出させる秘密データ再現機能とを実現させるための秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
【００６４】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たす。また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、ｓｐはＢビットのデータであって、ＭＳＢ（ｓｐ）は、ｓｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味する。
【００６５】
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、複数の秘密データが隠蔽されたステゴオブジェクトｓの中から、秘密データの隠蔽された場所を求めて、秘密データの抽出を行うことが可能となる。具体的には、カバーデータおよびステゴ鍵を用いて、Ｉｗｊ１,ｐおよびＩｗｊ２,ｐを求めて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｐを求める必要があることから、ステゴオブジェクトｓだけを取得しても、秘密データｍを抽出することができず、秘密データｍのセキュリティを高めることが可能となる。
【００６６】
また、本発明に係る秘密情報隠蔽装置は、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する秘密情報隠蔽装置であって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、
【数７１】
0005913041.tif 000072
を用いてモーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数７２】
0005913041.tif 000073
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
【数７３】
0005913041.tif 000074
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求める実質的カバーデータ生成手段と、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加して、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
【数７４】
0005913041.tif 000075
を用いてステゴオブジェクトｓｐを求めて、ｐの値を１だけ増加し、さらにｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ν個の秘密データが隠蔽されたステゴオブジェクトｓを生成するステゴオブジェクト生成手段とを有することを特徴とする。
【００６７】
また、本発明に係る秘密情報隠蔽装置の秘密情報隠蔽プログラムは、
カバーデータｃに秘密データｍを隠蔽させることによりステゴオブジェクトｓを生成するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データが隠蔽されたステゴオブジェクトｓを生成する方法を実現するための秘密情報隠蔽装置の秘密情報隠蔽プログラムであって、
秘密データｍとして秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を設定し、カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、
前記秘密情報隠蔽装置の計算手段に、
【数７５】
0005913041.tif 000076
を用いてモーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数７６】
0005913041.tif 000077
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
【数７７】
0005913041.tif 000078
に基づいて、秘密データを隠蔽する前のモーフィングデータＩ００を求めさせる実質的カバーデータ生成機能と、
ｐに１の値を設定し、ｑに１の値を設定し、ｓにＩ００の値を設定して、変数ｐ，ｑおよびｓの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合には、該当するｊ１及びｊ２に基づいて、
【数７８】
0005913041.tif 000079
を用いてステゴオブジェクトｓｐを求めさせて、ｐの値を１だけ増加させ、さらにｑの値を１だけ増加させ、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合に、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ν個の秘密データが隠蔽されたステゴオブジェクトｓを生成させるステゴオブジェクト生成機能とを実現させるための秘密情報隠蔽装置の秘密情報隠蔽プログラムであることを特徴とする。
【００６８】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たす。また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、Ｉ００ｐはＢビットのデータであって、ＭＳＢ（Ｉ００ｐ）は、Ｉ００ｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味する。さらに、
【数７９】
0005913041.tif 000080
は、ビット単位の排他的論理和の演算子を示し、ｙとして、Ｉ００，Ｉｗｎｐあるいは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）のいずれかであって、ｂビットの数値からなるデータが設定される。
【００６９】
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、Δｐ（ｊ１，ｊ２）≠０となるｐにおいて、モーフィングデータＩ００の最下位ｂビットに秘密データを隠蔽することが可能となる。さらに、隠蔽される秘密データは、秘密データとモーフィングデータなどから求められるｂビットの値とで、排他的論理和演算が行われた状態で隠蔽されることになる。このため、秘密データが隠蔽されていることを、第三者に判断され難くすることが可能となり、さらに、秘密データが第三者に抽出される危険性を低減することが可能となる。
【００７０】
また、本発明に係る秘密情報復元装置は、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する秘密情報復元装置であって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
【数８０】
0005913041.tif 000081
を用いて、モーフィングデータの特徴ベクトルＦ０を求めるＦ０生成手段と、
【数８１】
0005913041.tif 000082
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めるデータ変形手段と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加して、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行し、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
【数８２】
0005913041.tif 000083
を用いて、秘密データｍｑを求め、ｐの値を１だけ増加し、さらに、ｑの値を１だけ増加して、
その後に、ｑ＜νを満たすか否かを判断し、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断する処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行することにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出する秘密データ再現手段と  を有することを特徴とする。
【００７１】
また、本発明に係る秘密情報復元装置の秘密情報復元プログラムは、
カバーデータｃに秘密データｍが隠蔽されたステゴオブジェクトｓから秘密データｍを抽出するステガノグラフィー技術に対して、
ｎ個の参照データＩ１〜Ｉｎと、各参照データＩ１〜Ｉｎの特徴ベクトルＦ１〜Ｆｎと、それぞれの参照データＩ１〜Ｉｎにおける貢献度ａ１〜ａｎと、ν個（ν＞ｎ）の秘密データｍ１〜ｍνとに基づいて、モーフィングデータを生成するモーフィング技術を適用することにより、
秘密データをステゴオブジェクトｓより復元する方法を実現するための秘密情報復元装置の秘密情報復元プログラムであって、
カバーデータｃとして参照データ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝を設定し、ステゴ鍵ｋｓとして特徴ベクトル｛Ｆ１，Ｆ２，・・・，Ｆｎ｝と貢献度｛ａ１，ａ２，・・・，ａｎ｝とを設定し、抽出される秘密データｍを秘密データ｛ｍ１，ｍ２，・・・，ｍν｝として、
前記秘密情報復元装置の計算手段に、
【数８３】
0005913041.tif 000084
を用いて、モーフィングデータの特徴ベクトルＦ０を求めさせるＦ０生成機能と、
【数８４】
0005913041.tif 000085
を用いて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求めさせるデータ変形機能と、
ｐに１の値を設定し、ｑに１の値を設定して、変数ｐ及びｑの初期化を行った後に、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在しない場合には、ｐの値を１だけ増加させて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を繰り返し実行させ、
Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在する場合に、該当するｊ１及びｊ２に基づいて
【数８５】
0005913041.tif 000086
を用いて、秘密データｍｑを求めさせ、ｐの値を１だけ増加させ、さらに、ｑの値を１だけ増加させて、
その後に、ｑ＜νを満たすか否かを判断させ、
ｑ＜νを満たす場合には、上述したΔｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かを判断させる処理に移行して当該判断処理をｑ≧νとなるまで繰り返し実行させることにより、
ステゴオブジェクトに隠蔽されたν個の秘密データを抽出させる秘密データ再現機能とを実現させるための秘密情報復元装置の秘密情報復元プログラムであることを特徴とする。
【００７２】
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示す。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示し、変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成され、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。また、ｓｐ，Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、ｓ，Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示す。さらに、ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）の値は予め正規化され、貢献度の和の値は、ａ１＋ａ２＋・・・＋ａｎ＝１を満たす。また、秘密データｍｑ（ｑ＝１，２，・・・，ν）は、ｂビットのデータであり、ｓｐはＢビットのデータであって、ＭＳＢ（ｓｐ）は、ｓｐのうち上位Ｂ−ｂビットのデータを取り出す関数を意味する。さらに、
【数８６】
0005913041.tif 000087
は、ビット単位の排他的論理和の演算子を示し、ｙとして、Ｉ００，Ｉｗｎｐあるいは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）のいずれかであって、ｂビットの数値からなるデータが設定される。
【００７３】
本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、複数の秘密データが隠蔽されたステゴオブジェクトｓの中から、秘密データの隠蔽された場所を求めて、データの抽出を行うとともに、抽出されたデータとｙの値とで排他的論理和演算を行うことによって秘密データの抽出が行われるので、セキュリティを高めることが可能となる。また、基本的に暗号化を行うことなく十分なセキュリティを確保することが可能となり、さらに、通信エラーなどがなければ、正確に秘密データを再現することができるので、抽出精度を高めることが可能となる。
【発明の効果】
【００７４】
本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、参照データの要素数の範囲内であれば、秘密データの数νが比較的に多い場合であっても、モーフィングに基づくステガノグラフィーを用いて、参照データに秘密データを隠蔽することが可能となる。
【００７５】
また、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、複数のカバーデータ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝に、モーフィングすることができない秘密データ｛ｍ１，ｍ２，・・・，ｍｎ｝を隠蔽することが可能となる。
【００７６】
さらに、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、複数（ｎ−１個）のカバーデータ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝に、秘密データＩ１を隠蔽することが可能となる。
【００７７】
一方で、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、ν個の秘密データが隠蔽されたモーフィングデータから、モーフィングに基づくステガノグラフィーを用いて、秘密データを抽出（復元、再現）することが可能となる。
【００７８】
また、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、参照データに隠蔽されたモーフィングすることができないデータを、モーフィングデータから抽出することができる。さらに、抽出されるデータは複数のカバーデータを用いて隠蔽された秘密データであるため、秘密データのセキュリティを向上させることができる。
【００７９】
さらに、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、モーフィングデータＩ０から秘密データＩ１を抽出（再現）することが可能となる。ここで、秘密データＩ１は複数（ｎ−１個）の参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝に隠蔽されたデータであるため、モーフィングデータＩ０は複数の参照データが変形（モーフィング）されたデータである。このため、２つの参照データを用いて、モーフィングに基づくステガノグラフィーを行う場合に比べて、隠蔽された秘密データのセキュリティを向上させることが可能となる。
【００８０】
また、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、秘密データがモーフィング処理に伴ってモーフィングデータに隠蔽されるのではなく、モーフィング処理によりモーフィングデータが生成された後に、モーフィングデータに秘密データが隠蔽されるので、秘密データそのものはモーフィング処理の対象とならない。このため、秘密データが隠蔽されたステゴオブジェクトは、秘密データが隠蔽されていても不自然さが生じ難くなる。従って、第三者がステゴオブジェクトを見ても、秘密データの隠蔽に気付き難くなり、攻撃の対象となってしまう可能性を低減することが可能となる。
【００８１】
一方で、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、Δｐ（ｊ１，ｊ２）≠０となるｐにおいて、モーフィングデータＩ００の最下位ｂビットに秘密データを隠蔽することが可能となる。このため、第三者からは、少なくともどの位置に秘密データが隠蔽されているかが容易に判断され難くなり、秘密データの安全性を高めることが可能となる。
【００８２】
また、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、複数の秘密データが隠蔽されたステゴオブジェクトｓの中から、秘密データの隠蔽された場所を求めて、秘密データの抽出を行うことが可能となる。具体的には、カバーデータおよびステゴ鍵を用いて、Ｉｗｊ１,ｐおよびＩｗｊ２,ｐを求めて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｐを求める必要があることから、ステゴオブジェクトｓだけを取得しても、秘密データｍを抽出することができず、秘密データｍのセキュリティを高めることが可能となる。
【００８３】
さらに、本発明に係る秘密情報隠蔽装置及び秘密情報隠蔽プログラムを用いることにより、Δｐ（ｊ１，ｊ２）≠０となるｐにおいて、モーフィングデータＩ００の最下位ｂビットに秘密データを隠蔽することが可能となる。さらに、隠蔽される秘密データは、秘密データとモーフィングデータなどから求められるｂビットの値とで、排他的論理和演算が行われた状態で隠蔽されることになる。このため、秘密データが隠蔽されていることを、第三者に判断され難くすることが可能となり、さらに、秘密データが第三者に抽出される危険性を低減することが可能となる。
【００８４】
また、本発明に係る秘密情報復元装置及び秘密情報復元プログラムを用いることにより、複数の秘密データが隠蔽されたステゴオブジェクトｓの中から、秘密データの隠蔽された場所を求めて、データの抽出を行うとともに、抽出されたデータとｙの値とで排他的論理和演算を行うことによって秘密データの抽出が行われるので、セキュリティを高めることが可能となる。また、基本的に暗号化を行うことなく十分なセキュリティを確保することが可能となり、さらに、通信エラーなどがなければ、正確に秘密データを再現することができるので、抽出精度を高めることが可能となる。
【図面の簡単な説明】
【００８５】
【図１】秘密情報隠蔽装置及び秘密情報復元装置がオープンなネットワークを介して接続された状態の一例を示した概略構成図である。
【図２】実施の形態に係る秘密情報隠蔽装置の概略構成を示したブロック図である。
【図３】実施の形態１に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う場合の機能ブロックを示した図である。
【図４】（ａ）は、実施の形態１に係る計算部が、秘密データを隠蔽する処理を示したフローチャートであり、（ｂ）は、実施の形態１に係る計算部が、秘密データを抽出する処理を示したフローチャートである。
【図５】実施の形態１に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。
【図６】実施の形態２に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う場合の機能ブロックを示した図である。
【図７】（ａ）は、実施の形態２に係る計算部が、秘密データを隠蔽する処理を示したフローチャートであり、（ｂ）は、実施の形態２に係る計算部が、秘密データを抽出する処理を示したフローチャートである。
【図８】実施の形態２に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。
【図９】実施の形態３に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う場合の機能ブロックを示した図である。
【図１０】実施の形態３に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データを隠蔽する処理を示したフローチャートである。
【図１１】実施の形態３に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。
【図１２】実施の形態３に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データを抽出する処理を示したフローチャートである。
【図１３】実施の形態３で説明した秘密情報隠蔽装置を用いて、秘密データｘｑと（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）との積の値が少し大きい場合に秘密画像をモーフィング画像に隠蔽したときの画像例であって、（ａ）は２枚の参照画像、（ｂ）はモーフィング画像、（ｃ）はモーフィング画像に秘密画像が隠蔽されたステゴ画像、（ｄ）は隠蔽される前の秘密画像、（ｅ）はステゴ画像から抽出された秘密画像である。
【図１４】実施の形態４に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データを隠蔽する処理を示したフローチャートである。
【図１５】実施の形態４に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。
【図１６】実施の形態４に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データを抽出する処理を示したフローチャートである。
【図１７】実施の形態４で説明した秘密情報隠蔽装置を用いて、秘密画像をモーフィング画像に隠蔽したときの画像例であって、（ａ）は秘密画像が隠蔽されたステゴ画像、（ｂ）は隠蔽される前の秘密画像、（ｃ）はステゴ画像から抽出された秘密画像である。
【図１８】実施の形態５に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データを隠蔽する処理を示したフローチャートである。
【図１９】実施の形態５に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データの抽出処理を行う場合の機能ブロックを示した図である。
【図２０】実施の形態５に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データを抽出する処理を示したフローチャートである。
【図２１】実施の形態６に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データを隠蔽する処理を示したフローチャートである。
【図２２】実施の形態６に係る計算部が、ＲＯＭに記憶されるプログラムを読み出して、秘密データを抽出する処理を示したフローチャートである。
【図２３】カードユーザの認証システムの一例を示した概略構成図である。
【図２４】実施の形態３で説明した秘密情報隠蔽装置を用いて画像を隠蔽する場合の画像例であり、（ａ）はカバー画像、（ｂ）は秘密画像、（ｃ）はモーフィング画像、（ｄ）はモーフィング画像から抽出された抽出画像である。
【図２５】サーバとローカル端末およびユーザの携帯デバイスとの間で認証処理を行う前の準備作業のシーケンスの一例を示した図である。
【図２６】サーバとローカル端末およびユーザの携帯デバイスとの間で認証処理を行う場合におけるシーケンスの一例を示した図である。
【発明を実施するための形態】
【００８６】
以下、本発明に係る秘密情報隠蔽装置及び秘密情報復元装置について、一例を示して詳細に説明する。図１には、ユーザＡのコンピュータＡおよびユーザＢのコンピュータＢが、ネットワーク３を介して、サーバ４に接続された概略構成が示されている。コンピュータＡでは、秘密データをカバーデータに隠蔽することによりモーフィングデータを生成することができ、コンピュータＡからユーザＢのコンピュータＢに対して、ネットワーク３を介してモーフィングデータを伝達することにより、コンピュータＢにおいてモーフィングデータから秘密データを抽出（復元、再現）させることが可能になっている。
【００８７】
ここで、ユーザＡのコンピュータＡは、カバーデータに対して秘密データを隠蔽するために用いられるコンピュータであるため、秘密情報隠蔽装置１に該当する。また、ユーザＢのコンピュータＢは、モーフィングデータから秘密データを抽出（復元）するために用いられるコンピュータであるため、秘密情報復元装置２に該当する。但し、一般的に秘密データの隠蔽処理と抽出処理とは同一の処理を逆に行うことによって実現することが可能であるため、ユーザＡのコンピュータＡとユーザＢのコンピュータＢとの両方が秘密データの隠蔽処理及び復元処理を行うことが可能な秘密情報隠蔽・復元装置としての機能を備えるものであってもよい。
【００８８】
コンピュータＡとコンピュータＢとは、オープンなネットワーク３、例えばインターネットを介してつながっている。なお、図１には、説明の便宜上、秘密情報隠蔽装置１としてのコンピュータＡと、秘密情報復元装置２としてのコンピュータＢとしか示されていないが、コンピュータＡ及びコンピュータＢ以外の多数のコンピュータがネットワーク３を介して接続されるものであってもよい。ネットワーク３を介して接続される各コンピュータは、直接的に、またはｗｅｂサーバ４やメールサーバ等を介して間接的に、情報の発信・取得を行うことが可能となっている。
【００８９】
さらに、コンピュータＡからコンピュータＢに対して、オープンなネットワーク３とは異なる通信方法を用いて、データの送受信を行うことが可能となっている。この通信方法は、ネットワーク３と異なり、コンピュータＡ及びコンピュータＢ以外のユーザによってデータを確認することができない通信方法が採用されている。例えば、専用回線による通信方法を用いたり、あるいは、データをＣＤやＵＳＢなどの記憶媒体に記憶して郵送する方法などを一例として用いることができる。この通信方法を、以下、オープンなネットワークによる通信方法と区別するためにクローズなネットワークによる通信方法と呼ぶことにする。
【００９０】
図２は、秘密情報隠蔽装置１の概略構成を示したブロック図である。秘密情報隠蔽装置１は、一般的な計算機（コンピュータ、携帯電話など）によって構成することが可能となっており、装置本体６と、表示部７と、データ入力部８と、命令入力部９とを有している。
【００９１】
表示部７は、一般的な液晶ディスプレイやＣＲＴディスプレイ（ブラウン管ディスプレイ）が該当し、処理の内容等をユーザに視認可能に表示させる機能を有している。
【００９２】
データ入力部８及び命令入力部９は、ユーザが秘密情報隠蔽装置１の処理に必要な情報、命令などを入力するための入力手段である。具体的に、データ入力部８は、カバーデータ、秘密データなどの入力を行う機能を有している。例えば、カバーデータ、ステゴオブジェクト、秘密データ等などが画像データである場合には、デジタルカメラ、スキャナーなどが一例として該当する。また、カバーデータ、ステゴオブジェクト、秘密データ、ステゴ鍵等などをデータとしてコンピュータに取り込むためのＵＳＢ端子、ＣＤドライブ、ＤＶＤドライブなどが、一例として該当する。
【００９３】
さらに、命令入力部９は、実行命令、修正命令などの入力を行う機能を有しており、キーボード、マウス、タッチペンなどが該当する。
【００９４】
装置本体６は、アルゴリズム実行部１０と、通信部１１と、補助記憶部１２とを有している。アルゴリズム実行部１０は、モーフィングデータの生成処理及び秘密データの隠蔽処理等を主として行う役割を有している。
【００９５】
アルゴリズム実行部１０は、計算部（計算手段）１５と記憶部１８を有している。
【００９６】
計算部１５は、本発明に係る計算手段として機能し、ステゴオブジェクトｓの生成処理等の秘密情報隠蔽装置１におけるさまざまな演算・制御処理を行う役割を有している。記憶部１８は、計算部１５における処理に必要なデータ及び計算結果等（例えば変形データなど）を一時的に記憶する機能を有している。
【００９７】
記憶部１８は、例えば、一般的なＲＯＭ（Read Only Memory）１６と、ＲＡＭ（Random Access Memory）１７とにより構成される。ＲＯＭ１６には、秘密情報隠蔽装置１の起動時の処理プログラム等が記憶されており、秘密情報隠蔽装置１の起動時等において計算部１５がＲＯＭ１６の処理プログラム等を読み出すことによって起動処理等を行うこと（起動処理などの方法を実現すること）が可能となっている。ＲＡＭ１７は、計算部１５において行われる処理のワークエリア等として用いられる。
【００９８】
通信部１１は、例えばネットワークカード（ＮＩＣ：Network Interface Card）等が該当し、秘密情報隠蔽装置１をネットワーク３に接続させる役割を有している。なお、図２では、便宜上、装置本体６に内蔵されるネットワークカードを通信部１１として記載しているが、必要に応じて通信部１１より延設されるネットワークケーブルに対してモデムやメディアコンバータ等が接続される場合があり、その場合には通信部１１にモデム等が含まれることになる。
【００９９】
補助記憶部１２は、いわゆる補助記憶装置であって、主としてハードディスクにより構成されている。補助記憶部１２には、秘密情報隠蔽装置１の処理に必要なデータ等、例えば、秘密データ、カバーデータ、ステゴオブジェクト、ステゴ鍵の情報などを記憶することが可能となっている。
【０１００】
また、補助記憶部１２には、秘密情報隠蔽処理に必要なデータ（例えば、秘密情報隠蔽装置１により生成された変形データ、モーフィングデータ等）を記憶することが可能となっている。なお、補助記憶部１２は、ハードディスクのみに限定されず、フラッシュメモリ等で構成される記憶手段（例えば、ＳＳＤ（Solid State Drive）等）やテープメディアを使用する記憶手段（例えば、ＤＡＴ（Digital Audio Tape））等であってもよい。
【０１０１】
計算部１５は、補助記憶部１２またはＲＯＭ１６に記憶される処理プログラムに従って、ステゴオブジェクトｓの生成処理（生成処理：カバーデータｃに対する秘密データｍの隠蔽処理・隠蔽方法）を実行する。図２では、演算処理回路として計算部１５が１個しか設けられていないが、各機能に応じて複数の演算処理回路を設けることも可能である。
【０１０２】
一方で、上述したように、秘密データの隠蔽処理と抽出処理とは、一般的に同一の処理を逆に行うことによって実現することが可能である。このため、ユーザＡのコンピュータＡとユーザＢのコンピュータＢとの両方が秘密データの隠蔽処理及び復元処理を行うことが可能な秘密情報隠蔽・復元装置としての機能を備えるものであってもよく、秘密情報復元装置２の構成も、図２に示した概略構成のブロック図と同一の構成を備えることになる。このため、秘密情報復元装置２は、秘密情報隠蔽装置１と同一の機能部により構成されており、同一の符号を用いてその機能ブロックを示し、詳細な説明は省略するものとする。
【０１０３】
実施の形態では、各コンピュータが、秘密データの隠蔽処理と復元処理との両方の処理を行うものとする。また、コンピュータが秘密情報隠蔽機能を実現する場合であっても、秘密情報復元機能を実現する場合であっても、図２に示した機能ブロックに基づいて処理が行われるものとする。このため、秘密情報復元装置２として機能する場合に、計算部１５は、補助記憶部１２またはＲＯＭ１６に記憶される処理方法を実現するためのプログラムに従って、ステゴオブジェクトから秘密データを抽出する処理を実行する。
【０１０４】
次に、上述した秘密データの隠蔽処理及び抽出処理を、複数の実施形態に分けて詳細に説明する。
【０１０５】
［実施の形態１］
まず、実施の形態１として、計算部１５が、複数の参照データに対して複数の秘密データを隠蔽したステゴオブジェクトを生成し、また、このようにして生成されたステゴオブジェクトから秘密データを抽出する処理について説明を行う。
【０１０６】
図３は、実施の形態１において、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して秘密データの隠蔽処理を行う（隠蔽処理方法を実現する）場合における機能ブロックを示した図である。
【０１０７】
図３において、データ変形部（データ変形手段）２１と、Ｆ０生成部（Ｆ０生成手段）２２と、Ｉ０生成部２３（Ｉ０生成手段）とは、プログラムに従って隠蔽処理を行う（隠蔽処理方法を実現する）計算部１５が実質的に該当する。また、秘密データ記憶部２４、カバーデータ記憶部２５、ステゴ鍵記憶部２６、ステゴオブジェクト記憶部２７、ワーキングメモリ２８は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０１０８】
なお、カバーデータ記憶部２５には、予めカバーデータｃが記憶されており、ステゴ鍵記憶部２６には、予めステゴ鍵ｋｓが記憶されているものとすることも可能である。また、秘密データ記憶部２４には、予め秘密データｍが記憶され、ステゴオブジェクト記憶部２７には、生成されたステゴオブジェクトｓが記憶される。
【０１０９】
また、計算部１５が、オープンなネットワーク３あるいはクローズなネットワークを介して、カバーデータｃ、秘密データｍあるいはステゴ鍵ｋｓを取得することにより、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部２５、秘密データ記憶部２４あるいはステゴ鍵記憶部２６に記憶する構成とすることも可能である。
【０１１０】
但し、実際に図３に示した秘密情報隠蔽装置１を利用する場合には、カバーデータｃとステゴ鍵ｋｓとが、予めカバーデータ記憶部２５とステゴ鍵記憶部２６とに記憶された状態で処理が行われることが多いと考えられる。
【０１１１】
また、計算部１５は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部２７からステゴオブジェクトｓを読み出して、オープンなネットワーク３を介して、秘密情報復元装置２として機能するコンピュータへと出力する役割を行う。
【０１１２】
次に、実施の形態１に係る計算部１５の処理を、図４（ａ）に示すフローチャートに従って説明する。
【０１１３】
実施の形態１に係る秘密データの隠蔽処理では、３以上、例えばｎ個（ｎ≧３）の参照データに基づくモーフィングを利用したステガノグラフィーを用いて、秘密データｍをカバーデータｃに隠蔽する場合について説明する。
【０１１４】
ｎ個の参照データを用いて秘密データの隠蔽を行う場合には、次のように定義することができる。
秘密データｍ＝Ｉ１、カバーデータｃ＝｛Ｉ２，Ｉ３，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝、ステゴオブジェクトｓ＝Ｉ０
【０１１５】
ここで、Ｉ１〜Ｉｎは参照データ、Ｆ１〜Ｆｎは、参照データＩ１〜Ｉｎのそれぞれに対応する特徴ベクトル、ａ１〜ａｎは、参照データＩ１〜Ｉｎのそれぞれに対応する貢献度、Ｉ０はモーフィングデータを示している。各参照データの貢献度は、独立に設定されるが、実際に特徴ベクトルの要素とモーフィングデータ（変形されたデータ）の要素とを規定のダイナミックレンジに収めるためには、各貢献度の和が１となる条件
ａ１＋ａ２＋・・・＋ａｎ＝１
を満たす必要がある。従って、ｎ個の貢献度ａ１〜ａｎの中で、ｎ−１個の貢献度を設定すればよい。このようにして定義された、ｍ，ｃ，ｋｓを入力されたデータとして、計算部１５は、ステゴオブジェクトｓを出力する処理を行う。
【０１１６】
［秘密データを隠蔽するための関数ｆを実現するアルゴリズム］
入力：ｍ＝Ｉ１，ｃ＝｛Ｉ２，Ｉ３，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝
出力：ｓ＝Ｉ０
・ＳＴＥＰ１（図４（ａ）に示すステップＳ．１）
計算部１５が、次式に基づいてモーフィングデータＩ０の特徴ベクトルＦ０を求める。
【数８７】
0005913041.tif 000088
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図３に示すＦ０生成部２２として機能する。
【０１１７】
・ＳＴＥＰ２（図４（ａ）に示すステップＳ．２）
計算部１５が次式に基づいて、秘密データと参照データとを変形して、データＩｗｊ（ｊ＝１，２，・・・，ｎ）を求める。
【数８８】
0005913041.tif 000089
但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図３に示すデータ変形部２１として機能する。
【０１１８】
・ＳＴＥＰ３（図４（ａ）に示すステップＳ．３）
計算部１５が、次式に基づいてモーフィングデータ（ステゴオブジェクト）Ｉ０を求める。
【数８９】
0005913041.tif 000090
但し、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。この処理において計算部１５は、図３に示すＩ０生成部２３として機能する。求められたモーフィングデータ（ステゴオブジェクト）は、ステゴオブジェクト記憶部２７に記憶される。
【０１１９】
このようにＳＴＥＰ１〜ＳＴＥＰ３の手順（図４（ａ）に示す処理）を経ることにより、複数（ｎ−１個）の参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝に、秘密データＩ１が隠蔽されたモーフィングデータＩ０を求めることが可能となる。
【０１２０】
一方で、秘密情報復元装置２では、上述した隠蔽処理により生成されたモーフィングデータＩ０から、参照データＩ１を抽出（復元、再現）する処理を行うことにより、秘密データを抽出することが可能となる。
【０１２１】
図５は、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して秘密データの抽出処理を行う（抽出処理方法を実現する）場合における機能ブロックを示した図である。
【０１２２】
図５において、データ変形部（データ変形手段）３１と、Ｆ０生成部（Ｆ０生成手段）３２と、秘密データ再現部（秘密データ再現手段）３３とは、プログラムに従って抽出処理を行う（抽出処理方法を実現する）計算部１５が実質的に該当する。また、秘密データ記憶部３４、カバーデータ記憶部３５、ステゴ鍵記憶部３６、ステゴオブジェクト記憶部３７、ワーキングメモリ３８は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０１２３】
ステゴオブジェクト記憶部３７には、図３に示した秘密情報隠蔽装置１で生成されたステゴオブジェクトｓが記憶され、カバーデータ記憶部３５には、カバーデータｃが記憶され、ステゴ鍵記憶部３６には、ステゴ鍵ｋｓが記憶され、秘密データ記憶部３４には、秘密データｍが記憶される。
【０１２４】
なお、実施の形態１では、計算部１５がステゴオブジェクト取得部として機能し、図３に示した秘密情報隠蔽装置１のステゴオブジェクト記憶部２７から、図４（ａ）の処理に従って生成されたステゴオブジェクトｓを、オープンなネットワーク３を介して取得して、ステゴオブジェクト記憶部３７に記憶する。また、計算部１５は、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置１において秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部３５及びステゴ鍵記憶部３６に記憶させる処理を行う。なお、全ての秘密情報復元装置２のカバーデータ記憶部３５及びステゴ鍵記憶部３６に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用することも可能である。
【０１２５】
また、計算部１５は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部３４から秘密データを読み出して、表示部７などに抽出されたデータを表示させる役割を行う。
【０１２６】
次に、実施の形態１における計算部１５の秘密データ抽出処理を、図４（ｂ）に示すフローチャートに従って説明する。
【０１２７】
実施の形態１に係る秘密データの抽出処理では、図４（ａ）を示して説明した場合と同様に、３以上、例えばｎ個（ｎ≧３）の参照データを用いて、モーフィングを利用したステガノグラフィーに基づき、ステゴオブジェクトから秘密データを抽出する処理を行う。
【０１２８】
従って、ｎ個の参照データを用いて隠蔽された秘密データを抽出する場合には、次のように定義される。
ステゴオブジェクトｓ＝Ｉ０、カバーデータｃ＝｛Ｉ２，Ｉ３，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝、秘密データｍ＝Ｉ１
このようにして定義された、ｓ，ｃ，ｋｓを入力されたデータとして、計算部１５は、秘密データｍを抽出する処理を行う。
【０１２９】
［秘密データを抽出するための関数ｆ−１を実現するアルゴリズム］
入力：ｓ＝Ｉ０，ｃ＝｛Ｉ２，Ｉ３，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝
出力：ｍ＝Ｉ１
・ＳＴＥＰ１（図４（ｂ）に示すステップＳ．１１）
計算部１５は、次式に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求める。
【数９０】
0005913041.tif 000091
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図５に示すＦ０生成部３２として機能する。
【０１３０】
・ＳＴＥＰ２（図４（ｂ）に示すステップＳ．１２）
計算部１５は、次式に基づいて各参照データＩｊ（ｊ＝２，３，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝２，３，・・・，ｎ）を求める。
【数９１】
0005913041.tif 000092
但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図５に示すデータ変形部３１として機能する。
【０１３１】
・ＳＴＥＰ３（図４（ｂ）に示すステップＳ．１３）
計算部１５は、変形されたデータＩｗｊ（ｊ＝２，３，・・・，ｎ）を用いて、次式に従って、秘密データＩ１の変形Ｉｗ１を求める。
【数９２】
0005913041.tif 000093
この処理において計算部１５は、図５に示す秘密データ再現部３３として機能する。但し、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。
【０１３２】
・ＳＴＥＰ４（図４（ｂ）に示すステップＳ．１４）
計算部１５は、次式に基づいて秘密データを再現する。
【数９３】
0005913041.tif 000094
この処理において計算部１５は、図５に示す秘密データ再現部３３として機能する。また、この処理により求められた秘密データは、秘密データ記憶部３４に記憶される。
【０１３３】
このように、上述したＳＴＥＰ１〜ＳＴＥＰ４の手順（図４（ｂ）に示す処理）を経ることにより、モーフィングデータＩ０から秘密データＩ１を抽出（再現）することが可能となる。ここで、秘密データＩ１は複数（ｎ−１個）の参照データ｛Ｉ２，Ｉ３，・・・，Ｉｎ｝に隠蔽されたデータであるため、モーフィングデータＩ０は複数の参照データが変形（モーフィング）されたデータである。
【０１３４】
このため、２つの参照データを用いて、モーフィングに基づくステガノグラフィーを行う場合に比べて、隠蔽された秘密データのセキュリティを向上させることができる。
【０１３５】
［実施の形態２］
次に、実施の形態２として、秘密データとしてモーフィングできないデータを用いる場合において、複数の参照データに秘密データを隠蔽し、また抽出する処理について説明を行う。
【０１３６】
図６は、実施の形態２において、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う（隠蔽処理方法を実現する）場合における機能ブロックを示した図である。
【０１３７】
図６において、スケーリングファクター算出部（スケーリングファクター算出手段）４１と、貢献度算出部（貢献度算出手段）４２と、データ変形部（データ変形手段）４３と、Ｆ０生成部（Ｆ０生成手段）４４と、モーフィングデータ生成部（モーフィングデータ生成手段）４６とは、プログラムに従って隠蔽処理を行う（隠蔽処理方法を実現する）計算部１５が実質的に該当する。また、秘密データ記憶部４７、カバーデータ記憶部４８、ステゴ鍵記憶部４９、ステゴオブジェクト記憶部５０、ワーキングメモリ５１は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０１３８】
また、カバーデータ記憶部４８には、予めカバーデータｃが記憶されており、ステゴ鍵記憶部４９には、予めステゴ鍵ｋｓが記憶されているものとすることも可能である。また秘密データ記憶部４７には、予め秘密データｍが記憶され、ステゴオブジェクト記憶部５０には、生成されたステゴオブジェクトｓが記憶される。
【０１３９】
なお、計算部１５が、オープンなネットワーク３あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得することにより、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部４８、秘密データ記憶部４７あるいはステゴ鍵記憶部４９に記憶する構成とすることも可能である。
【０１４０】
但し、実際に図６に示した秘密情報隠蔽装置１を利用する場合には、カバーデータとステゴ鍵とを予め取得してカバーデータ記憶部４８とステゴ鍵記憶部４９に記憶させておく場合が多いと考えられる。
【０１４１】
また、計算部１５は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部５０からステゴオブジェクトを読み出して、オープンなネットワーク３を介して、秘密情報復元装置２として機能するコンピュータへと出力する役割を行う。
【０１４２】
次に、実施の形態２に係る計算部１５の処理を、図７（ａ）に示すフローチャートに従って説明する。
【０１４３】
上述したように、実施の形態１では、秘密データとしてモーフィング可能なデータである参照データＩ１を用いる場合について説明を行った。モーフィング可能なデータの例としては、顔画像、指紋、静脈パターン、音声などの生体情報を用いることができる。これらの生体情報を秘密データとしてデータ隠蔽処理を行うことにより、顔画像、指紋、静脈パターン、音声などにより特定される顧客の認証処理に実施の形態１に示される秘密情報隠蔽装置１及び秘密情報復元装置２を利用することが可能となる。さらに、従来の認証技術に比べて高いセキュリティを確保し、認証システムの信頼性向上を図ることが可能となる。
【０１４４】
しかしながら、実際の認証システムでは、モーフィング可能なデータと、モーフィングできないデータとを同時に秘密データとして用いる場合がある。例えば、会員番号、電話番号、住所、購買履歴、行動パターン等のように数値で表現されるデータは、モーフィングできないデータに該当する。このように数値で表現されることによりモーフィングできないデータも、モーフィングに基づくステガノグラフィーによって隠蔽することができれば、認証システムの実用性をより高めることが可能となる。
【０１４５】
実施の形態２に係る秘密データの隠蔽処理では、モーフィングできない（数値で表現されている）データを秘密データとする場合に、秘密データをカバーデータに隠蔽する処理について説明する。
【０１４６】
実施の形態２に係る秘密データ隠蔽処理では、次のように定義する。
秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍｎ｝、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ｝、ステゴオブジェクトｓ＝｛Ｉ０，Ｆ０，Ａ｝
ここで、ｍ１〜ｍｎは、モーフィングできないデータからなる秘密データ、Ｉ１〜Ｉｎは参照データ、Ｆ１〜Ｆｎは参照データＩ１〜Ｉｎのそれぞれに対応する特徴ベクトル、Ｉ０とＦ０とは、参照データから得られるモーフィングデータと、このモーフィングデータの特徴ベクトルを示している。
【０１４７】
また、Ａは、ａ１＋ａ２＋ａ３＋・・・＋ａｎ＝１の条件を満たす貢献度｛ａ１，ａ２，・・・，ａｎ｝を求めるためのスケーリングファクターである。このスケーリングファクターは、次の式のようにして求めることができる。
【数９４】
0005913041.tif 000095
カバーデータｃとステゴ鍵ｋｓとを設定すれば、秘密データｍをステゴオブジェクトｓに埋め込むことができる。ここで、全ての秘密データは、数値で表現されたものとする。
【０１４８】
このようにして定義された、ｍ，ｃ，ｋｓを入力されたデータとして、計算部１５は、ステゴオブジェクトｓを求める（生成）する処理を行う。
【０１４９】
［秘密データを隠蔽するための関数ｆを実現するアルゴリズム］
入力：ｍ＝｛ｍ１，ｍ２，・・・，ｍｎ｝，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ｝
出力：ｓ＝｛Ｉ０，Ｆ０，Ａ｝
【０１５０】
・ＳＴＥＰ１（図７（ａ）に示すステップＳ．２１）
計算部１５が、次式に基づいてスケーリングファクターＡを求める。
【数９５】
0005913041.tif 000096
この処理において計算部１５は、図６に示すスケーリングファクター算出部４１として機能する。
【０１５１】
・ＳＴＥＰ２（図７（ａ）に示すステップＳ．２２）
計算部１５が次式に従って、各参照データＩｉ（ｉ＝１，２，・・・，ｎ）の貢献度ａｉ（ｉ＝１，２，・・・，ｎ）を、秘密データｍｉ（ｉ１＝１，２，・・・，ｎ）に基づいて決定する。
ａｉ＝ｍｉ×Ａ            （ｉに１からｎまでの値を順次代入する）
この処理において計算部１５は、図６に示す貢献度算出部４２として機能する。
【０１５２】
・ＳＴＥＰ３（図７（ａ）に示すステップＳ．２３）
計算部１５が次式に基づいて、モーフィングデータＩ０の特徴ベクトルＦ０を求める。
【数９６】
0005913041.tif 000097
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図６に示すＦ０生成部４４として機能する。
【０１５３】
・ＳＴＥＰ４（図７（ａ）に示すステップＳ．２４）
計算部１５が次式に基づいて、各参照データＩｊ（ｊ＝１，２，・・・，ｎ）の変形されたデータＩｗｊ（ｊ＝１，２，・・・，ｎ）を求める。
【数９７】
0005913041.tif 000098
但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図６に示すデータ変形部４３として機能する。
【０１５４】
・ＳＴＥＰ５（図７（ａ）に示すステップＳ．２５）
計算部１５が、次式に基づいてモーフィングデータ（ステゴオブジェクト）Ｉ０を求める。
【数９８】
0005913041.tif 000099
但し、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。この処理において計算部１５は、図６に示すモーフィングデータ生成部４６として機能する。求められたモーフィングデータは、ステゴオブジェクト記憶部５０に記憶される。
【０１５５】
このようにＳＴＥＰ１〜ＳＴＥＰ５の手順（図７（ａ）に示す処理）を経ることにより、複数のカバーデータ｛Ｉ１，Ｉ２，・・・，Ｉｎ｝に、モーフィングできない（例えば、数値で表現されている）複数の秘密データ｛ｍ１，ｍ２，・・・，ｍｎ｝が隠蔽されたモーフィングデータＩ０を求めることが可能となる。また、数値で表現されている複数の秘密データであっても、カバーデータに隠蔽を行うことが可能であることから、必ずしも、秘密データはモーフィング可能なデータである必要がなくなる。
【０１５６】
一方で、秘密情報復元装置２では、上述した隠蔽処理により生成されたモーフィングデータＩ０から、複数の秘密データ｛ｍ１，ｍ２，・・・，ｍｎ｝を抽出（復元）する抽出処理を行うことが可能である。
【０１５７】
図８は、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して秘密データの抽出処理を行う（抽出処理方法を実現する）場合における機能ブロックを示した図である。
【０１５８】
図８において、データ変形部（データ変形手段）６１と、貢献度算出部（貢献度算出手段）６２と、秘密データ再現部（秘密データ再現手段）６３とは、プログラムに従って抽出処理を行う（抽出処理方法を実現する）計算部１５が実質的に該当する。また、秘密データ記憶部６４、カバーデータ記憶部６５、ステゴ鍵記憶部６６、ステゴオブジェクト記憶部６７、ワーキングメモリ６８は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。ステゴオブジェクト記憶部６７には、図６に示す秘密情報隠蔽装置１で生成されたステゴオブジェクトｓが記憶され、カバーデータ記憶部６５には、カバーデータｃが記憶され、ステゴ鍵記憶部６６には、ステゴ鍵ｋｓが記憶され、秘密データ記憶部６４には、秘密データｍが記憶される。
【０１５９】
なお、実施の形態２では、計算部１５がステゴオブジェクト取得部として機能し、図６に示した秘密情報隠蔽装置１のステゴオブジェクト記憶部５０から、図７（ａ）に示す処理によって生成されたステゴオブジェクト（モーフィングデータ）をオープンなネットワーク３を介して取得して、ステゴオブジェクト記憶部６７に記憶する。また、計算部１５が、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置１における秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部６５及びステゴ鍵記憶部６６に記憶させる構成とすることも可能である。
【０１６０】
また、全ての秘密情報復元装置２のカバーデータ記憶部６５及びステゴ鍵記憶部６６に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用することも可能である。さらに、計算部１５は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部６４から秘密データを読み出して、表示部７などに抽出されたデータを表示させる役割を行う。
【０１６１】
次に、実施の形態２における計算部１５の秘密データ抽出処理を、図７（ｂ）に示すフローチャートに従って説明する。実施の形態２に係る秘密データの抽出処理では、モーフィングできない（例えば、数値で表現されている）秘密データが隠蔽されたステゴオブジェクトから、秘密データを抽出する場合について説明する。
【０１６２】
ｎ個の参照データを用いて隠蔽されたｎ個の秘密データを抽出する場合には、次のように定義される。
ステゴオブジェクトｓ＝｛Ｉ０，Ｆ０，Ａ｝、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ｝、秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍｎ｝
このようにして定義された、ｓ，ｃ，ｋｓを入力されたデータとして、計算部１５は、秘密データｍを抽出する処理を行う。
【０１６３】
［秘密データを抽出するための関数ｆ−１を実現するアルゴリズム］
入力：ｓ＝｛Ｉ０，Ｆ０，Ａ｝，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ｝
出力：ｍ＝｛ｍ１，ｍ２，・・・，ｍｎ｝
【０１６４】
・ＳＴＥＰ１（図７（ｂ）に示すステップＳ．３１）
計算部１５が次式に基づいて、各参照データの変形されたデータを求める。
【数９９】
0005913041.tif 000100
但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図８に示すデータ変形部６１として機能する。
【０１６５】
・ＳＴＥＰ２（図７（ｂ）に示すステップＳ．３２）
計算部１５は、次の２つの式に基づいて連立方程式の解を求めて、貢献度ａｊ（ｊ＝１，２，・・・，ｎ）を求める。
【数１００】
0005913041.tif 000101
【数１０１】
0005913041.tif 000102
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。この処理において計算部１５は、図８に示す貢献度算出部６２として機能する。
【０１６６】
・ＳＴＥＰ３（図７（ｂ）に示すステップＳ．３３）
計算部１５は、求められた貢献度ａｊ（ｊ＝１，２，・・・，ｎ）に基づいて、次式を用いて、秘密データを抽出する。
【数１０２】
0005913041.tif 000103
この処理において計算部１５は、図８に示す秘密データ再現部６３として機能する。また、この処理により求められた秘密データは、秘密データ記憶部６４に記憶される。
【０１６７】
このように、上述したＳＴＥＰ１〜ＳＴＥＰ３の手順（図７（ｂ）に示す処理）を経ることにより、モーフィングデータ（ステゴオブジェクトｓ）から秘密データを抽出（復元、再現）することが可能となる。
【０１６８】
実施の形態２における秘密データには、直接モーフィングできないデータ（例えば、数値で表現されているデータ）が用いられているが、上述した処理により、モーフィングできないデータを、モーフィングに基づくステガノグラフィーにより秘密データとしてカバーデータに隠蔽することができる。また、上述した処理により、複数のカバーデータを用いて秘密データを隠蔽することができるので、隠蔽された秘密データのセキュリティを向上させることができる。
【０１６９】
なお、以下の２式
【数１０３】
0005913041.tif 000104
【数１０４】
0005913041.tif 000105
からなる連立方程式は、方程式の数をＮｅとすると、以下のように示すことができる。
【数１０５】
0005913041.tif 000106
未知数となる秘密データｍの個数をＮｕとするとＮｕ＝ｎとなる。未知数を唯一的に決めるために、通常は、Ｎｕ≦Ｎｅに設定される。即ち、Ｎｅは隠蔽できる秘密データの上限を示すことになる。
【０１７０】
この場合、理論的には、
【数１０６】
0005913041.tif 000107
【数１０７】
0005913041.tif 000108
から任意のＮｕ個の方程式を選べば、秘密データを求めることができる。
【０１７１】
ここで、実際には、モーフィングデータが整数値に変換されて保存されることもあるし、ステゴオブジェクトｓがオープンなネットワーク３を介して伝達される過程において、データに誤りが生ずる場合もある。このため、連立方程式の解が厳密に存在しない可能性もある。このような場合には、最小二乗解を求めるか、誤り訂正符号を利用することにより、解を求めることが可能となる。
【０１７２】
また、ステゴオブジェクトｓには、Ｆ０とＡとが含まれているが、これをメタデータとしてＩ０と一体化することも可能である。即ち、ステゴオブジェクトｓを１つのファイルとして、秘密情報隠蔽装置１のステゴオブジェクト記憶部５０から出力させ、あるいは、秘密情報復元装置２のステゴオブジェクト記憶部６７に記憶させることができる。さらに、Ｆ０を求めるときに利用する貢献度と、モーフィングデータを求めるときに利用する貢献度とを区別することもできるので、Ｆ０を事前に求めてステゴ鍵に含めることも可能である。
【０１７３】
実際に、ｎ個以上の参照データを含む参照データ集合Ωを用意し、任意の秘密データに対してΩからｎ個の参照データを選択することにより、上述した処理における参照データとして利用することができる。この場合には、選択された参照データのインデックス（ｊ１，ｊ２，・・・・，ｊｎ）と秘密データの数もステゴ鍵の一部となる。また、ｎ個の秘密データは全て数値データと仮定するが、もともと数値データではなくても、コンピュータの中で数値に表現されるので、秘密データを必ずしも数値に限定する必要はない。
【０１７４】
上述した方法は、以下の文献Ａ
［文献Ａ］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(以下、ＳＳＳ法という)によく似ている。
【０１７５】
ＳＳＳ法では、まず互いに直交する基底ベクトルの集合｛φ１，φ２，・・・，φｎ｝を用意し、任意の秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍｎ｝に基づいて、以下の式でｅを求める。
【数１０８】
0005913041.tif 000109
【０１７６】
また、カバーデータｃは、全ての基底ベクトルと直交であるとし、ステゴオブジェクトｓを以下のように求める。
【数１０９】
0005913041.tif 000110
【０１７７】
ステゴオブジェクトｓから秘密データｍを抽出（再現）するためには、ステゴオブジェクトｓと各基底ベクトルの内積をとればよい。即ち
【数１１０】
0005913041.tif 000111
により秘密データｍｊ（ｊ＝１，２，・・・，ｎ）を求めることになる。
【０１７８】
このＳＳＳ法において、ステゴオブジェクトｓは、カバーデータｃと基底ベクトルとの線形結合であるため、カバーデータｃと基底ベクトルとが、下記文献Ｂに示されるblind source separation（ＢＳＳ）技術を利用することによって、ステゴオブジェクトｓから推測される可能性がある。
［文献Ｂ］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.
【０１７９】
これに対して、実施の形態３において提案する方法は、直交ではない参照データをモーフィング（非線形変換）してから線形結合している。このため、参照データの特徴ベクトルに関する情報がなければ、参照データをＢＳＳ技術などの方法で推測することが極めて困難である。従って、実施の形態３において提案する方法は、ＳＳＳ法よりも安全性が高いと判断できる。
【０１８０】
［実施の形態３］
次に、実施の形態３として、参照データの要素数（Ｎｄ）の範囲内で、秘密データの数（個数、データ数）が比較的多い場合に、モーフィングに基づくステガノグラフィーを用いて、参照データに秘密データを隠蔽し、また抽出する処理について説明を行う。
【０１８１】
実施の形態１及び実施の形態２に示したように、参照データの数（個数）を秘密データの数（個数）に十分に対応できるだけ用意することができれば、秘密データを参照データに隠蔽することができる。しかしながら、実施の形態１及び実施の形態２に示した方法において、秘密データの数（個数）が増大した場合（比較的多い場合）には、以下のような問題点が発生する。
【０１８２】
１）多数の秘密データに対応する大量の参照データを用意する必要がある。
２）モーフィングに基づくステガノグラフィーでは、全ての参照データをモーフィングによりデータ変形させる必要があるので、秘密データを隠蔽（埋め込み）する場合であっても、抽出する場合であっても、膨大な計算量が必要とされ、計算コストが高くなる可能性がある。
【０１８３】
これらの問題を解決するために、大量の情報を秘密な場所に保存し、そのアドレスやポインターだけを秘密データとして隠蔽する方法が考えられる。あるいは、大量の情報を暗号化して、その復号鍵だけを秘密データとして隠蔽する方法などが考えられる。このように、隠蔽したい情報そのものを秘密データとして直接参照データに隠蔽するのではなく、隠蔽したい情報を求めるための間接的な情報を小さな秘密データとして用いることにより、少数の参照データに秘密データ（間接的な情報）を隠蔽することができる。
【０１８４】
しかしながら、間接的な情報を秘密データとして用いて、少ない個数の参照データに秘密データを隠蔽する方法ではなく、多数（多い個数）の秘密データを用いて直接的に参照データに情報を隠蔽したいというニーズが多く存在する。さらに、多数の（多くの個数からなる）秘密データを用いて情報を隠蔽しつつも、隠蔽処理に用いる参照データの個数を少なくしたいという要望が多く存在する。実施の形態３では、このような要望に対応すべく、多数（多い個数）の情報をそのまま秘密データとして用い、多数の秘密データの隠蔽を少ない個数の参照データを利用して直接的に隠蔽し、また、抽出する方法を説明する。
【０１８５】
まず、参照データの数（個数）をｎとし、秘密データの数（個数）をνとすると、秘密データの数の方が参照データの数よりも多いことが前提となるため、ν＞＞ｎに設定する。また、秘密データは、異なる種類の秘密要素を同じ形式で数値化したν個のデータとする。
【０１８６】
このようにして参照データの数ｎと秘密データの数νとを設定した上で、
【数１１１】
0005913041.tif 000112
と、
【数１１２】
0005913041.tif 000113
において、貢献度ａを「要素」ごとに可変にすれば、全部でＮｅ×ｎ個の秘密データを、参照データに隠蔽することが可能となる。但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。また、Ｉ０ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ０，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。
【０１８７】
ここで、Ｎｅは、既に説明したように
【数１１３】
0005913041.tif 000114
であり、上述した２つの式の方程式の数を示している。
【０１８８】
しかしながら、上述した方程式の数Ｎｅよりも数の多い秘密データを参照データに隠蔽したとしても、隠蔽された秘密データを忠実に再現（抽出）することが困難となるので、ν≦Ｎｅとする。
【０１８９】
また、Ｎｆは、通常Ｎｄよりも遥かに小さいので、一般性を失わずに、
【数１１４】
0005913041.tif 000115
を用いるだけで足りることになる。このため、ν≦Ｎｄとする。
【０１９０】
ν個の秘密データを参照データに隠蔽するためには、少なくともν個の異なる式に秘密データを隠蔽する必要が生ずる。この条件を満たす方法は、さまざまに考えられるが、一例として、１つの式に１つの秘密データを隠蔽する方法について説明する。
【数１１５】
0005913041.tif 000116
を利用することにより、計算部１５において、秘密データをｘとして、秘密データｘを以下のように隠蔽することができる。
【数１１６】
0005913041.tif 000117
但し、Ｊ１とｊ２とは、１≦ｊ１＜ｊ２≦ｎを満たす自然数であり、Ｉ００ｐとＩ０ｐとは、それぞれ秘密データを隠蔽する前と隠蔽した後とのモーフィングデータのｐ番目の要素を示している。また、ａ１，ａ２，・・・，ａｎは、予め与えられた貢献度を示している。また、秘密データｘは、数値化されたものとする。
【０１９１】
上述したＩ０ｐの式（１９）に示すように、まず、秘密データｘをｊ１番目の参照データの貢献度ａｊ１に加えることによって、Ｉ０ｐに隠蔽する。次に、ｊ２番目の参照データの貢献度ａｊ２から秘密データｘを差し引くことによって、全ての参照データの貢献度の和が１となる条件
ａ１，＋ａ２＋・・・＋ａｎ＝１
を満足させることになる。
【０１９２】
上述した
【数１１７】
0005913041.tif 000118
において、秘密データｘを隠蔽させる場合に、秘密データｘの値が大きいとモーフィングデータの値を大きく変化させ、全体としてモーフィングデータＩ０ｐが不自然になる可能性がある。このような問題は、予め秘密データｘを小さくスケーリングしてから隠蔽を行うことで解決することができる。
【０１９３】
一方で、
【数１１８】
0005913041.tif 000119
から明らかなように、Ｉｗｊ１とＩｗｊ２とのｐ番目の要素とが等しい場合、つまり、
（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）＝Δｐ（ｊ１，ｊ２）＝０となる場合には、秘密データｘを隠蔽しても、後で隠蔽した秘密データを抽出（復元、再現）することができない。
【０１９４】
このような問題を解決する方法は複数存在するが、実施の形態３では以下の一例を示して説明する。
【０１９５】
まず、ｐ番目の要素が等しくないＩｗｊ１とＩｗｊ２とを選んで、秘密データの隠蔽を行う。このようなｊ１とｊ２とが存在しない場合には、ｐの値を増やして、増加されたｐに基づいて判断を行う。このようにすると、隠蔽できる秘密データｘの数はＮｄより多少、少なくなる。
【０１９６】
次に、以上の説明に基づいて、計算部１５が、複数の秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝をモーフィングデータに隠蔽して、ステゴオブジェクトｓを生成し、また、ステゴオブジェクトｓから秘密データｍを抽出する処理について説明を行う。
【０１９７】
図９は、実施の形態３において、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う（隠蔽処理方法を実現する）場合における機能ブロックを示した図である。図９において、データ変形部（データ変形手段）７１と、Ｆ０生成部（Ｆ０生成手段）７２と、実質的カバーデータ生成部（実質的カバーデータ生成手段）７３と、ステゴオブジェクト生成部（ステゴオブジェクト生成手段）７４とは、プログラムに従って隠蔽処理を行う（隠蔽処理方法を実現する）計算部１５が実質的に該当する。また、秘密データ記憶部７５、カバーデータ記憶部７６、ステゴ鍵記憶部７７、ステゴオブジェクト記憶部７８、ワーキングメモリ７９は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０１９８】
なお、カバーデータ記憶部７６には、予めカバーデータｃが記憶されており、ステゴ鍵記憶部７７には、予めステゴ鍵ｋｓが記憶されているものとすることも可能である。また、秘密データ記憶部７５には、予め秘密データｍが記憶され、ステゴオブジェクト記憶部７８には、生成されたステゴオブジェクトｓが記憶される。
【０１９９】
また、計算部１５が、オープンなネットワーク３あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得する構成としてもよい。この場合に、計算部１５は、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部７６、秘密データ記憶部７５あるいはステゴ鍵記憶部７７に記憶する処理を行う。
【０２００】
但し、実際に図９に示した秘密情報隠蔽装置１を利用する場合には、カバーデータとステゴ鍵とを予めカバーデータ記憶部７６とステゴ鍵記憶部７７に記憶させておく場合が多いと考えられる。
【０２０１】
また、計算部１５は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部７８からステゴオブジェクトを読み出して、オープンなネットワーク３を介して、秘密情報復元装置２として機能するコンピュータへと出力する役割を行う。
【０２０２】
次に、実施の形態３に係る計算部１５の秘密データの隠蔽処理を、図１０に示すフローチャートに従って説明する。
【０２０３】
実施の形態３に係る秘密データ隠蔽処理では、次のように定義する。
秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ；Ａ；ν｝、ステゴオブジェクトｓ
【０２０４】
ここで、ｍ１〜ｍνは秘密データ、Ｉ１〜Ｉｎは参照データ、Ｆ１〜Ｆｎは参照データＩ１〜Ｉｎのそれぞれに対応する特徴ベクトル、ａ１〜ａｎはそれぞれの参照データにおける貢献度、Ｉ００は、参照データから得られるモーフィングデータであって、秘密データを隠蔽する前のモーフィングデータである。また、Ａは、貢献度を求めるためのスケーリングファクターであり、小さい（例えば、１未満の）正の実数とする。さらに、νとｎとはν＞ｎの関係が成立する。
このようにして定義された、ｍ，ｃ，ｋｓを入力されたデータとして、計算部１５は、ステゴオブジェクトｓを出力する処理を行う。
【０２０５】
［秘密データを隠蔽するための関数ｆを実現するアルゴリズム］
入力：ｍ＝｛ｍ１，ｍ２，・・・，ｍν｝，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ；Ａ；ν｝
出力：ｓ
【０２０６】
・ＳＴＥＰ１（図１０に示すステップＳ．４１）
まず、計算部１５が、
【数１１９】
0005913041.tif 000120
を用いてモーフィングデータの特徴ベクトルを求める。ここで、ａ１，ａ２，・・・，ａｎは、事前に正規化された値である。また、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図９に示すＦ０生成部７２として機能する。
【０２０７】
・ＳＴＥＰ２（図１０に示すステップＳ．４２）
次に、計算部１５が、
【数１２０】
0005913041.tif 000121
を用いて、各参照データの変形されたデータを求める。但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図９に示すデータ変形部７１として機能する。
【０２０８】
・ＳＴＥＰ３（図１０に示すステップＳ．４３）
計算部１５が、秘密データを隠蔽する前のモーフィングデータＩ００を、
【数１２１】
0005913041.tif 000122
に基づいて求める。但し、Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。この処理において計算部１５は、図９に示す実質的カバーデータ生成部７３として機能する。
【０２０９】
・ＳＴＥＰ４（図１０に示すステップＳ．４４）
計算部１５が、秘密データを、次の式でスケーリングする。
【数１２２】
0005913041.tif 000123
但し、スケーリングファクターＡは、既に説明したように小さい（例えば、１未満の）正の実数である。
【０２１０】
・ＳＴＥＰ５（図１０に示すステップＳ．４５）
次に、計算部１５が、ｐ＝１，ｑ＝１，ｓ＝Ｉ００の値を設定し、データの初期化を行う。
【０２１１】
・ＳＴＥＰ６（図１０に示すステップＳ．４６においてＹｅｓ、ステップＳ．４７）
計算部１５は、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を行う（図１０に示すステップＳ．４６）
【０２１２】
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在する場合（ステップＳ．４６においてＹｅｓの場合）、計算部１５は、予め定めたルールで、ｊ１とｊ２とを選び、ステゴオブジェクトｓｐを次式（２１）で更新して（ステップＳ．４７）、処理を後述するＳＴＥＰ８（ステップＳ．４９）へ移行する。
【数１２３】
0005913041.tif 000124
【０２１３】
・ＳＴＥＰ７（図１０に示すステップＳ．４６においてＮｏ、ステップＳ．４８）
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在しない場合（ステップＳ．４６においてＮｏの場合）、計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１：ステップＳ．４８）、処理をＳＴＥＰ６（図１０に示すステップＳ．４６）へ移行する。
【０２１４】
・ＳＴＥＰ８（図１０に示すステップＳ．４９）
計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１）、さらに、ｑの値を１だけ増加させる（ｑ＝ｑ＋１）（ステップＳ．４９）。そして計算部１５は、ｑ＜νを満たすか否かを判断し（ステップＳ．５０）、ｑ＜νを満たす場合（ステップＳ．５０においてＹｅｓの場合）には、処理をＳＴＥＰ６（図１０に示すステップＳ．４６）へと移行する。一方で、ｑ＜νを満たさない場合（ステップＳ．５０においてＮｏの場合）、計算部１５は、最終的に処理を終了する。
【０２１５】
上述したＳＴＥＰ４〜ＳＴＥＰ８の処理において、計算部１５は、図９に示すステゴオブジェクト生成部７４として機能する。上述したＳＴＥＰ１〜ＳＴＥＰ８の処理を実行することにより、参照データの要素数Ｎｄの範囲内で秘密データの個数νが比較的に多い場合であっても、モーフィングに基づくステガノグラフィーを用いて、モーフィングデータＩ００に秘密データｍを隠蔽することが可能となる。また、違う種類の秘密要素を、同じ形式の数値（例えば、符号なしの８ビットの整数）で表現すれば、モーフィングに基づくステガノグラフィーを用いて、参照データに秘密データを隠蔽することが可能となる。
【０２１６】
なお、ＳＴＥＰ６において、ｊ１とｊ２とを選ぶ方法として、さまざまな方法が考えられるが、例えば、Δｐ（ｊ１，ｊ２）≠０を満たすｊ１とｊ２とを順番に探す場合に、見つかった最初のｊ１とｊ2とを利用する方法や、秘密データを隠蔽した後に得られるモーフィングデータが最も整数に近くなるようなｊ１とｊ２とを利用する方法等が考えられる。
【０２１７】
さらに、式（２１）からわかるように、ステゴオブジェクトｓｐは、モーフィングデータ（実質的カバーデータ）Ｉ００ｐに対して秘密データｘｑと（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）との積が加算されることによって求められる。このため、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）をΔｐに置き換えることによって、
ｓｐ＝Ｉ００ｐ＋ｘｑΔｐ      （２１'）
と示すことができる。この場合、Δｐは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータＩ００の関数として定義することができる。このため、Δｐ＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）は一例にすぎない。
【０２１８】
また、計算部１５において、ある疑似乱数を発生させて、その疑似乱数の順番に従ってｊ１とｊ２とを選ぶ方法や、Δｐを求める方法を採用することもできる。この場合に、疑似乱数を発生するプロセスのシードは、ステゴオブジェクトかステゴ鍵の一部となる。
【０２１９】
また、ＳＴＥＰ６及びＳＴＥＰ７に示した（図１０のステップＳ．４６の）条件である、Δｐ（ｊ１，ｊ２）≠０を、Δｐ（ｊ１，ｊ２）＝Ｔ、あるいは、Δｐ（ｊ１，ｊ２）∈Ｔという条件（あるいは、Δｐ≠０を、Δｐ＝Ｔ、あるいは、Δｐ∈Ｔという条件）に変更することもできる。ここで、Ｔは、指定した値あるいは指定した値のレンジであり、ステゴオブジェクトかステゴ鍵の一部となる。このようにすれば、秘密データを指定した場所にだけ隠蔽することができる。また、秘密データを隠蔽しない場所を利用して、改ざんの検出や誤りの検出などに利用することも可能となる。さらに、違う(種類の)秘密データを同じステゴオブジェクトの違う場所に隠蔽することもできる。
【０２２０】
また、参照データの数ｎが２である場合には、ｊ１，ｊ２の選択が不要となる。この場合、隠蔽できるデータの数は減らないが、２つ以上の参照データを利用すると、モーフィングデータから参照データを推定することがより困難となり、セキュリティをより高めることが可能となる。
【０２２１】
一方で、秘密情報復元装置２では、上述した隠蔽処理により生成されたステゴオブジェクトｓから、複数の秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を抽出（復元、再現）することが可能である。
【０２２２】
図１１は、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して秘密データの抽出処理を行う（抽出処理方法を実現する）場合における機能ブロックを示した図である。図１１において、データ変形部（データ変形手段）８１と、Ｆ０生成部（Ｆ０生成手段）８２と、実質的カバーデータ生成部（実質的カバーデータ生成手段）８３と、秘密データ再現部（秘密データ再現手段）８４とは、プログラムに従って抽出処理を行う（抽出処理方法を実現する）計算部１５が実質的に該当する。また、カバーデータ記憶部８５、ステゴ鍵記憶部８６、ステゴオブジェクト記憶部８７、秘密データ記憶部８８、ワーキングメモリ８９は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０２２３】
図１１に示すように、ステゴオブジェクト記憶部８７には、図９に示した秘密情報隠蔽装置１で生成されたステゴオブジェクトｓが記憶され、カバーデータ記憶部８５には、カバーデータｃが記憶され、ステゴ鍵記憶部８６には、ステゴ鍵ｋｓが記憶され、秘密データ記憶部８８には、秘密データｍが記憶される。
【０２２４】
なお、実施の形態３では、計算部１５がステゴオブジェクト取得部として機能し、図９に示した秘密情報隠蔽装置１のステゴオブジェクト記憶部７８から、図１０に示す処理により生成されたステゴオブジェクトｓを、オープンなネットワーク３を介して取得して、ステゴオブジェクト記憶部８７に記憶する。
【０２２５】
また、計算部１５は、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置１における秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部８５及びステゴ鍵記憶部８６に記憶させる処理を行う。なお、全ての秘密情報復元装置２のカバーデータ記憶部８５及びステゴ鍵記憶部８６に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用するものであってもよい。
【０２２６】
また、計算部１５は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部８８から秘密データを読み出して、表示部７などに抽出されたデータを表示させる役割を行う。
【０２２７】
次に、実施の形態３における計算部１５の秘密データ抽出処理を、図１２に示すフローチャートに従って説明する。参照データに隠蔽された複数の秘密データを抽出する場合には、次のようにしてステゴオブジェクト、カバーデータ、ステゴ鍵、秘密データが定義される。
ステゴオブジェクトｓ、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ；Ａ；ν｝、秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝
このようにして定義された、ｓ，ｃ，ｋｓを入力されたデータとして、計算部１５は、秘密データｍを抽出する処理を行う。
【０２２８】
［秘密データを抽出するための関数ｆ−１を実現するアルゴリズム］
入力：ｓ，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ；Ａ；ν｝
出力：ｍ＝｛ｍ１，ｍ２，・・・，ｍν｝
【０２２９】
・ＳＴＥＰ１（図１２に示すステップＳ．６１）
計算部１５は、次式を用いて、モーフィングデータＩ０の特徴ベクトルＦ０を求める。但し、貢献度ａ１，ａ２，・・・ａｎは事前に正規化されているものとする。
【数１２４】
0005913041.tif 000125
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図１１に示すＦ０生成部８２として機能する。
【０２３０】
・ＳＴＥＰ２（図１２に示すステップＳ．６２）
計算部１５は、次式を用いて、各参照データの変形を求める。
【数１２５】
0005913041.tif 000126
但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図１１に示すデータ変形部８１として機能する。
【０２３１】
・ＳＴＥＰ３（図１２に示すステップＳ．６３）
計算部１５は、次式を用いて、秘密データを隠蔽する前のモーフィングデータＩ００を求める。
【数１２６】
0005913041.tif 000127
但し、Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。この処理において計算部１５は、図１１に示す実質的カバーデータ生成部８３として機能する。
【０２３２】
・ＳＴＥＰ４（図１２に示すステップＳ．６４）
次に、計算部１５が、ｐ＝１，ｑ＝１の値を設定し、データの初期化を行う。
【０２３３】
・ＳＴＥＰ５（図１２に示すステップＳ．６５においてＹｅｓ、ステップＳ．６６）
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在するか否かの判断を行う（図１２に示すステップＳ．６５）。Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在する場合（ステップＳ．６５においてＹｅｓの場合）、計算部１５は、予め定めたルールに基づいて、該当するｊ１とｊ２とを選び、スケーリングされた秘密データを次式（２２）で求めてから（ステップＳ．６６）、処理を次述するＳＴＥＰ７（ステップＳ．６８）へ移行する。
【数１２７】
0005913041.tif 000128
・ＳＴＥＰ６（図１２に示すステップＳ．６５においてＮｏ、ステップＳ．６７）
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在しない場合（ステップＳ．６５においてＮｏの場合）、計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１：ステップＳ．６７）、処理をＳＴＥＰ５（図１２に示すステップＳ．６５）へ移行する。
【０２３４】
・ＳＴＥＰ７（図１２に示すステップＳ．６８、ステップＳ．６９）
計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１）、さらに、ｑの値を１だけ増加させる（ｑ＝ｑ＋１）（ステップＳ．６８）。そして計算部１５は、ｑ＜νを満たすか否かを判断し（図１２に示すステップＳ．６９）、ｑ＜νを満たす場合（図１２に示すステップＳ．６９においてＹｅｓの場合）には、処理をＳＴＥＰ５（図１２に示すステップＳ．６５）へと移行する。一方で、ｑ＜νを満たさない場合（図１２に示すステップＳ．６９においてＮｏの場合）には、次述するＳＴＥＰ８（図１２に示すステップＳ．７０）へ処理を移行する。
【０２３５】
・ＳＴＥＰ８（図１２に示すステップＳ．７０）
計算部１５は、次式（２３）で秘密データの抽出を行い処理を終了する。
【数１２８】
0005913041.tif 000129
【０２３６】
ＳＴＥＰ４〜ＳＴＥＰ８の処理において、計算部１５は、図１１に示す秘密データ再現部８４として機能する。このような処理を行うことによって、複数の秘密データの抽出を行うことが可能となる。上述したＳＴＥＰ１〜ＳＴＥＰ８の処理を実行することにより、参照データの個数ｎよりも数の多いν個の秘密データが隠蔽されたステゴオブジェクトから、モーフィングに基づくステガノグラフィーを用いて、秘密データを抽出（復元、再現）することが可能となる。また、同じ形式の数値（例えば、符号なしの８ビットの整数）で表現された違う種類の秘密要素を隠蔽したモーフィングデータから、モーフィングに基づくステガノグラフィーを用いて、秘密データを抽出（復元、再現）することが可能となる。
【０２３７】
さらに、既に実施の形態３の秘密データ隠蔽処理で説明したように、Δｐは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータＩ００の関数として定義することができる。このため、Δｐ＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）は一例にすぎない。
【０２３８】
また、図１２に示す秘密データ抽出処理の場合、計算誤差、転送誤差などを考えると、秘密データを厳密に抽出（復元、再現）できない場合もあり得る。しかしながら、秘密データが画像や音楽などの場合には、多少の誤差があっても、誤差による視覚的あるいは聴覚的な影響は少ないため、誤差を許容することができる。また、厳密に秘密データの抽出（復元、再生）を求める場合には、誤り訂正符号を採用することにより対応することが可能である。
【０２３９】
さらに、ｎ個以上の参照データを含む参照データ集合Ωを用意し、任意の秘密データに対して、Ωからｎ個の参照データを選択して利用することができる。この場合、選択された参照データのインデックスと参照データの数はステゴ鍵の一部にすることができる。
【０２４０】
これまでの説明では、秘密データを格納する場所が十分であると仮定した。実際の応用において、設定条件を満たす格納場所がνよりも小さい場合もあり得る。この場合、秘密データを分割して、それぞれの部分について隠蔽（復元）処理をすればよい。
【０２４１】
なお、実施の形態３では、参照データの要素数Ｎｄの範囲内で、秘密データの数が比較的に多い場合について説明を行った。参照データの数に比べて秘密データの数が多い場合には、秘密データｘｑを式（２１）に示すようにして、モーフィングデータに隠蔽した。
【数１２９】
0005913041.tif 000130
【０２４２】
しかしながら、式（２１）を用いて秘密データを隠蔽する方法は、秘密データがモーフィングできない情報である場合においても利用することが可能である。モーフィングできない一般的な情報を隠蔽することができれば、実用性をより一層高めることが可能となる。実際には、秘密データを任意の数値を表すデータｘｑとして（秘密データが数値でない場合には、数値に変換して）、式（２１）を用いてモーフィングデータに隠蔽することができる。式（２１）において、実質的にモーフィングされたデータは、Ｉ００pであり、秘密データｘｑは、モーフィングを行うことなくモーフィングデータＩ００ｐに隠蔽されることになる。このため、任意の秘密データｘがモーフィングできない情報であっても、秘密データｘを数値化することによって、モーフィングデータＩ００に秘密データｘを隠蔽して、ステゴオブジェクトｓを生成することが可能となる。
【０２４３】
また、実施の形態３においては、秘密データｘｑの値が大きい場合には、モーフィングデータの値に比べて、ステゴオブジェクトの値を大きく変化させてしまうおそれがあることから、予め秘密データｘｑを小さくスケーリングする場合について説明を行った。しかしながら、秘密データが極めて小さい値である場合、例えば、１よりも小さい値である場合には、モーフィングデータに秘密データが隠蔽されても不自然に感じられない場合もある。このため、秘密データｘｑの値が小さい場合には、式（２０）
【数１３０】
0005913041.tif 000131
や、
【数１３１】
0005913041.tif 000132
のようなスケーリング処理を行うことなく、秘密データの値ｘｑをそのままモーフィングデータに隠蔽することが可能である。この場合にはスケーリングファクターＡ等も不要となる。
【０２４４】
［実施の形態４］
実施の形態３において示した式（２１）
【数１３２】
0005913041.tif 000133
は、秘密データが隠蔽されていないモーフィングデータ（実質的カバーデータ）Ｉ００ｐに対して秘密データｘｑと（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）との積が加算されて、ステゴオブジェクトｓｐが生成されるという特徴を備えている。
【０２４５】
秘密データｘｑをｍｑ、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）をΔｐとして表すと、式（２１）の右辺のｘｑ（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）を、ｍｑΔｐと表すことができる。この場合、式（２１）を、
ｓｐ＝Ｉ００ｐ＋ｍｑΔｐ      （２４）
と示すことが可能となる。
【０２４６】
式（２４）から明らかなように、積ｍｑΔｐが大きくなると、ステゴオブジェクトｓｐが不自然になってしまう。図１３において、（ａ）に示す２枚の顔画像は、参照画像（参照データ）を示し、（ｂ）は、（ａ）に示す２枚の顔画像（参照画像）により生成されたモーフィング画像（モーフィングデータ、式（２１）におけるモーフィングデータＩ００に該当）である。一方で、（ｄ）は隠蔽前の秘密画像（秘密データ、式（２１）における秘密データｘに該当）であって、（ｃ）は、（ｄ）に示した秘密画像を、（ｂ）に示したモーフィング画像に隠蔽することにより生成されたステゴ画像（ステゴオブジェクト、式（２１）におけるステゴオブジェクトｓｐに該当）を示している。そして、図１３（ｅ）は、（ｃ）に示すステゴ画像から抽出された秘密画像を示している。
【０２４７】
図１３（ｂ）に示したモーフィング画像に比べると、秘密画像（図１３（ｄ））が隠蔽されたステゴ画像（図１３（ｃ））には顕著な不自然さが存在する。このため、ステゴ画像（図１３（ｃ））は、その不自然さから第三者の注意を引き易く、攻撃の対象となってしまう可能性が高くなる。つまり、ステゴ画像（図１３（ｃ））に秘密画像（図１３（ｄ））が隠蔽されていると気付かれてしまう可能性が高くなる。もちろん、秘密画像（図１３（ｄ））を暗号化し、参照画像などをしっかり管理すれば、不自然さのある画像（データ）から秘密画像の存在を推測されたとしても、容易に秘密画像の抽出を行うことはできない。しかしながら、秘密画像の存在を知られること自体は、情報隠蔽を行う本願発明の趣旨から未然に防ぐべき事項であり、利用価値の低減を招くおそれがある。
【０２４８】
また、ステゴ画像が不自然にならないように、積ｍｑΔｐを小さくするためには、実施の形態３に示した式（２０）のように、スケーリングファクターＡ等を用いて、秘密データを予め小さい値にする方法が考えられる。秘密データを予め小さい値にしておき、Δｐが小さな値となる場所に、小さくした秘密データを隠蔽する方法が有効である。しかしながら、この方法では、隠蔽効率の低減を招いてしまうという問題もあった。このため実施の形態４では、秘密データｍｑとΔｐとの積をモーフィングデータＩ００ｐに加える以外の方法を用いて、秘密データを隠蔽する方法を説明する。
【０２４９】
実施の形態３では式（２１）、式（２４）に示したように、秘密データｍｑとΔｐとの積をモーフィングデータＩ００ｐに加えることにより、秘密データの隠蔽を行う場合について説明した。しかしながら、秘密データの隠蔽には、必ずしも秘密データｍｑとΔｐとの積をとる必要はない。従来から知られる方法と同様に、秘密データを直接カバーデータ（実施の形態４では、モーフィングデータＩ００ｐ）の最下位ｂビット（例えば、最下位の４ビット（ｂ＝４））に入れることにより、隠蔽を行うことが可能である。
【０２５０】
実施の形態４では、秘密データが、ｂビットの数値により表せるものとする。任意の秘密データｘは、以下の式に従ってステゴオブジェクトｓｐに埋め込むことが可能となる。
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｘ      （２５）
【０２５１】
但し、ＭＳＢ（Ｉ００ｐ）は、Ｉ００ｐにおける上位Ｂ−ｂビットのデータ（Ｂは語長）を取り出す関数を意味している。また、ＭＳＢ（Ｓｐ）の場合には、下位のｂビットから直接に秘密データｘを抽出することを意味する。このように、モーフィングデータＩ００ｐの最下位ｂビットに秘密データを埋め込むことにより、ステゴオブジェクトＳｐが不自然になってしまうことを防止することができる。モーフィングデータＩ００ｐ対して秘密データが隠蔽されるため、モーフィングデータＩ００ｐは、実質的にカバーデータとして機能することになる。
【０２５２】
次に、以上の説明に基づいて、計算部１５が、複数の秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝をモーフィングデータＩ００に隠蔽し、または、秘密データｍを抽出する処理について説明を行う。
【０２５３】
図９は、実施の形態４において、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う（隠蔽処理方法を実現する）場合における機能ブロックを示した図である。実施の形態４の秘密情報隠蔽装置１では、実施の形態３で説明した秘密情報隠蔽装置１と同じ機能ブロックを備えている。そのため、実施の形態４の各ブロック構成として、実施の形態３で用いた図９を用いるものとし、また、同じ符号を用いて説明を行う。
【０２５４】
図９において、データ変形部７１と、Ｆ０生成部７２と、実質的カバーデータ生成部７３とステゴオブジェクト生成部７４とは、プログラムに従って隠蔽処理を行う（隠蔽処理方法を実現する）計算部１５が実質的に該当する。また、秘密データ記憶部７５、カバーデータ記憶部７６、ステゴ鍵記憶部７７、ステゴオブジェクト記憶部７８、ワーキングメモリ７９は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０２５５】
なお、カバーデータ記憶部７６には、予めカバーデータｃが記憶されており、ステゴ鍵記憶部７７には、予めステゴ鍵ｋｓが記憶されているものとすることも可能である。また、秘密データ記憶部７５には、予め秘密データｍが記憶され、ステゴオブジェクト記憶部７８には、生成されたステゴオブジェクトｓが記憶される。
【０２５６】
また、計算部１５が、オープンなネットワーク３あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得する構成としてもよい。この場合に、計算部１５は、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部７６、秘密データ記憶部７５あるいはステゴ鍵記憶部７７に記憶する処理を行う。
【０２５７】
但し、実際に図９に示した秘密情報隠蔽装置１を利用する場合には、カバーデータとステゴ鍵とを予めカバーデータ記憶部７６とステゴ鍵記憶部７７に記憶させておく場合が多いと考えられる。
【０２５８】
また、計算部１５は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部７８からステゴオブジェクトを読み出して、オープンなネットワーク３を介して、秘密情報復元装置２として機能するコンピュータへと出力する役割を行う。
【０２５９】
次に、実施の形態４に係る計算部１５の秘密データの隠蔽処理を、図１４に示すフローチャートに従って説明する。
【０２６０】
実施の形態４に係る秘密データ隠蔽処理では、次のように定義する。
秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝、ステゴオブジェクトｓ＝｛ｓ１，ｓ２，・・・，ｓν｝
ここで、ｍ１〜ｍνは秘密データ、Ｉ１〜Ｉｎは参照データ、Ｆ１〜Ｆｎは参照データＩ１〜Ｉｎのそれぞれに対応する特徴ベクトル、ａ１〜ａｎはそれぞれの参照データにおける貢献度である。また、ｓ１〜ｓνはステゴオブジェクトであって、参照データから得られるモーフィングデータＩ００に基づいて求められる。
【０２６１】
このようにして定義された、ｍ，ｃ，ｋｓを入力されたデータとして、計算部１５は、ステゴオブジェクトｓを出力する処理を行う。
【０２６２】
［秘密データを隠蔽するための関数ｆを実現するアルゴリズム］
入力：ｍ＝｛ｍ１，ｍ２，・・・，ｍν｝，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝
出力：ｓ＝｛ｓ１，ｓ２，・・・，ｓν｝
【０２６３】
・ＳＴＥＰ１（図１４に示すステップＳ．８１）
まず、計算部１５が、
【数１３３】
0005913041.tif 000134
を用いてモーフィングデータの特徴ベクトルを求める。ここで、ａ１，ａ２，・・・，ａｎは、事前に正規化された値である。また、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図９に示すＦ０生成部７２として機能する。
【０２６４】
・ＳＴＥＰ２（図１４に示すステップＳ．８２）
次に、計算部１５が、
【数１３４】
0005913041.tif 000135
を用いて、各参照データの変形されたデータを求める。但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図９に示すデータ変形部７１として機能する。
【０２６５】
・ＳＴＥＰ３（図１４に示すステップＳ．８３）
計算部１５が、秘密データを隠蔽する前のモーフィングデータＩ００を求める。
【数１３５】
0005913041.tif 000136
但し、Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。この処理において計算部１５は、図９に示す実質的カバーデータ生成部７３として機能する。
【０２６６】
・ＳＴＥＰ４（図１４に示すステップＳ．８４）
次に、計算部１５が、ｐ＝１の値を設定し、データの初期化を行う。
【０２６７】
・ＳＴＥＰ５（図１４に示すステップＳ．８５）
そして、計算部１５は、
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｍｐ      （２６）
に基づいて、ステゴオブジェクトｓを求める
【０２６８】
・ＳＴＥＰ６（図１４に示すステップＳ．８６、ステップＳ．８７）
その後、計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１：ステップＳ．８６）、ｐがνより小さいか否か（ｐ＜ν）の判断を行う（ステップＳ．８７）。ｐ＜νを満たす場合（ステップＳ．８７においてＹｅｓの場合）には、処理をＳＴＥＰ５（図１４に示すステップＳ．８５）へと移行する。一方で、ｐ＜νを満たさない場合（ステップＳ．８７においてＮｏの場合）、計算部１５は、最終的に処理を終了する。
【０２６９】
上述したＳＴＥＰ４〜ＳＴＥＰ６の処理において、計算部１５は、図９に示すステゴオブジェクト生成部７４として機能する。上述したＳＴＥＰ１〜ＳＴＥＰ６の処理を実行することにより、ν個の秘密データを、モーフィングデータＩ００に隠蔽することが可能となる。
【０２７０】
一方で、秘密情報復元装置２では、上述した隠蔽処理により生成されたステゴオブジェクトｓ＝｛ｓ１，ｓ２，・・・，ｓν｝から、複数の秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を抽出（復元、再現）することが可能である。
【０２７１】
図１５は、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して秘密データの抽出処理を行う（抽出処理方法を実現する）場合における機能ブロックを示した図である。図１５において、秘密データ再現部１０２は、プログラムに従って抽出処理を行う（抽出処理方法を実現する）計算部１５が実質的に該当する。また、ステゴオブジェクト記憶部１０１と秘密データ記憶部１０３とは、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０２７２】
なお、実施の形態４において、ステゴオブジェクトｓから秘密データｍを抽出する場合には、カバーデータ、ステゴ鍵は必要とされない。既に説明したように、実施の形態４における秘密データは、ステゴオブジェクトの最下位ｂビットに隠蔽されているため、逆モーフィング処理を行うことなく、ステゴオブジェクトｓから直接、秘密データｍを抽出することが可能である。このため、逆モーフィング処理に必要とされるカバーデータおよびステゴ鍵は、秘密データの抽出を行うためには必要とされず、カバーデータ記憶部、ステゴ鍵記憶部、カバーデータ取得部、ステゴ鍵取得部なども必要とされない。
【０２７３】
図１５に示すように、ステゴオブジェクト記憶部１０１には、図９に示した秘密情報隠蔽装置１で図１４に示す処理方法によって生成されたステゴオブジェクトｓが記憶され、秘密データ記憶部１０３には、秘密データｍが記憶される。実施の形態４では、計算部１５がステゴオブジェクト取得部として機能し、図９に示した秘密情報隠蔽装置１のステゴオブジェクト記憶部７８から、オープンなネットワーク３を介して、あるいはクローズなネットワークを介して、ステゴオブジェクトｓを取得して、ステゴオブジェクト記憶部１０１に記憶する。また、計算部１５は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部１０３から秘密データを読み出して、表示部７などに抽出されたデータを表示させる役割を行う。
【０２７４】
次に、実施の形態４における計算部１５の秘密データ抽出処理を、図１６に示すフローチャートに従って説明する。ステゴオブジェクトに隠蔽された複数の秘密データを抽出する場合には、次のようにしてステゴオブジェクトと、秘密データが定義される。
ステゴオブジェクトｓ＝｛ｓ１，ｓ２，・・・，ｓν｝、秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝
計算部１５は、ステゴオブジェクトｓを入力されたデータとし、このステゴオブジェクトｓから、秘密データｍを抽出する処理を行う。
【０２７５】
［秘密データを抽出するための関数ｆ−１を実現するアルゴリズム］
入力：ｓ＝｛ｓ１，ｓ２，・・・，ｓν｝
出力：ｍ＝｛ｍ１，ｍ２，・・・，ｍν｝
【０２７６】
・ＳＴＥＰ１（図１６に示すステップＳ．９１）
まず、計算部１５は、ｐ＝１の値を設定し、データの初期化を行う。
【０２７７】
・ＳＴＥＰ２（図１６に示すステップＳ．９２）
計算部１５は、秘密データｍｐを、次式（２７）で求めてから（ステップＳ．９２）、処理を次述するＳＴＥＰ３（ステップＳ．９３）へ移行する。
ｍｐ＝ｓｐ−ＭＳＢ（ｓｐ）      （２７）
【０２７８】
・ＳＴＥＰ３（図１６に示すステップＳ．９３）
計算部１５は、ｐの値を１だけ増加させる（ｐ＝ｐ＋１：ステップＳ．９３）。そして、計算部１５は、ｐ＜νを満たすか否かを判断し（図１６に示すステップＳ．９４）、ｐ＜νを満たす場合（図１６に示すステップＳ．９４においてＹｅｓの場合）には、処理をＳＴＥＰ２（図１６に示すステップＳ．９２）へと移行する。一方で、ｐ＜νを満たさない場合（図１６に示すステップＳ．９４においてＮｏの場合）には、処理を終了する。このような処理を行うことによって、複数の秘密データをステゴオブジェクトから抽出することが可能になる。
【０２７９】
図１７（ａ）は、上述したように最下位ｂビットに、図１７（ｂ）に示す秘密画像（秘密データ）を隠蔽したステゴ画像（ステゴオブジェクト）を示しており、図１７（ｃ）は、（ａ）から抽出された秘密画像を示している。図１７（ａ）に示したステゴ画像と、図１３（ｃ）に示したステゴ画像とを比較すると、同じ秘密画像（図１３（ｄ）および図１７（ｂ）に示した秘密画像）を隠蔽しているにも拘わらず、図１７（ａ）のステゴ画像の方が、図１３（ｃ）のステゴ画像に比べて自然な顔画像となっており、図１３（ｃ）のような不自然さがない。このため、図１７（ａ）に示したステゴ画像を用いることにより、第三者が秘密データの隠蔽に気付き難くなり、攻撃の対象となってしまう可能性を低減することが可能となる。
【０２８０】
また、図１７（ｃ）に示す抽出された秘密画像は、（ｂ）に示す秘密画像と比較して明らかなように、隠蔽および抽出によりデータの劣化が生じ難く、秘密画像を正確に再現することが可能となる。
【０２８１】
[実施の形態５]
次に、実施の形態５について説明する。上述した実施の形態４では、モーフィングデータの最下位ｂビットに秘密データを隠蔽することを特徴としているため、秘密データの抽出を行うためにカバーデータやステゴ鍵を必要としない。このため、ステゴオブジェクトがあれば、誰でも秘密データを抽出することができ、さらに、データが改ざんされた場合であっても、ステゴオブジェクトを取得した側で改ざんを確認することができないという問題があった。
【０２８２】
実施の形態５では、モーフィングデータの最下位ｂビットに秘密データを隠蔽する場合であっても、秘密データの抽出（復元）時にカバーデータやステゴ鍵が必要となる場合について説明を行う。秘密データの隠蔽時および抽出（復元）時に実施の形態１〜実施の形態３と同様に、カバーデータおよびステゴ鍵を必要とすることにより、容易に秘密データが抽出されてしまうことを防止し、秘密データを抽出する場合にデータの改ざんを確認することが可能となる。
【０２８３】
具体的に、実施の形態５では、Δｐの値に基づいて、秘密データを埋め込む（隠蔽する）場所を制御することを特徴とする。即ち、Δｐの値が所定の値をとるときだけ、
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｘ      （２５）
を利用して、秘密データｘを、Ｉ００ｐの最下位ｂビットに埋め込む（隠蔽する）ことを特徴としている。Δｐの値が所定の値をとらない場合には、モーフィングデータ（実質的なカバーデータ）Ｉ００ｐの値をそのまま使うか、所定の「確認情報」を埋め込むことが可能である。
【０２８４】
次に、以上の説明に基づいて、計算部１５が、複数の秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝をモーフィングデータＩ００ｐに隠蔽し、または抽出する処理について説明を行う。
【０２８５】
図９は、実施の形態５において、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う（隠蔽処理方法を実現する）場合における機能ブロックを示した図である。実施の形態５の秘密情報隠蔽装置１では、実施の形態３で説明した秘密情報隠蔽装置１と同じ機能ブロックを備えている。そのため、実施の形態５の各ブロック構成として、実施の形態３で用いた図９を用いるものとし、また、同じ符号を用いて説明を行う。
【０２８６】
図９において、データ変形部（データ変形手段）７１と、Ｆ０生成部（Ｆ０生成手段）７２と、実質的カバーデータ生成部（実質的カバーデータ生成手段）７３と、ステゴオブジェクト生成部（ステゴオブジェクト生成手段）７４とは、プログラムに従って隠蔽処理を行う（隠蔽処理方法を実現する）計算部１５が実質的に該当する。また、秘密データ記憶部７５、カバーデータ記憶部７６、ステゴ鍵記憶部７７、ステゴオブジェクト記憶部７８、ワーキングメモリ７９は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０２８７】
なお、カバーデータ記憶部７６には、予めカバーデータｃが記憶されており、ステゴ鍵記憶部７７には、予めステゴ鍵ｋｓが記憶されているものとすることも可能である。また、秘密データ記憶部７５には、予め秘密データｍが記憶され、ステゴオブジェクト記憶部７８には、生成されたステゴオブジェクトｓが記憶される。
【０２８８】
また、計算部１５が、オープンなネットワーク３あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得する構成としてもよい。この場合に、計算部１５は、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部７６、秘密データ記憶部７５あるいはステゴ鍵記憶部７７に記憶する処理を行う。
【０２８９】
但し、実際に図９に示した秘密情報隠蔽装置１を利用する場合には、カバーデータとステゴ鍵とを予めカバーデータ記憶部７６とステゴ鍵記憶部７７に記憶させておく場合が多いと考えられる。
【０２９０】
また、計算部１５は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部７８からステゴオブジェクトを読み出して、オープンなネットワーク３を介して、秘密情報復元装置２として機能するコンピュータへと出力する役割を行う。
【０２９１】
次に、実施の形態５に係る計算部１５の秘密データの隠蔽処理を、図１８に示すフローチャートに従って説明する。
【０２９２】
実施の形態５に係る秘密データ隠蔽処理では、次のように定義する。
秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝、ステゴオブジェクトｓ
ここで、ｍ１〜ｍνは秘密データ、Ｉ１〜Ｉｎは参照データ、Ｆ１〜Ｆｎは参照データＩ１〜Ｉｎのそれぞれに対応する特徴ベクトル、ａ１〜ａｎはそれぞれの参照データにおける貢献度である。また、ｓはステゴオブジェクトであって、参照データから得られるモーフィングデータＩ０に基づいて求められる。
【０２９３】
このようにして定義された、ｍ，ｃ，ｋｓを入力されたデータとして、計算部１５は、ステゴオブジェクトｓを出力する処理を行う。
【０２９４】
［秘密データを隠蔽するための関数ｆを実現するアルゴリズム］
入力：ｍ＝｛ｍ１，ｍ２，・・・，ｍν｝，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝
出力：ｓ
【０２９５】
・ＳＴＥＰ１（図１８に示すステップＳ．１１１）
まず、計算部１５が、
【数１３６】
0005913041.tif 000137
を用いてモーフィングデータの特徴ベクトルを求める。ここで、ａ１，ａ２，・・・，ａｎは、事前に正規化された値である。また、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図９に示すＦ０生成部７２として機能する。
【０２９６】
・ＳＴＥＰ２（図１８に示すステップＳ．１１２）
次に、計算部１５が、
【数１３７】
0005913041.tif 000138
を用いて、各参照データの変形されたデータを求める。但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図９に示すデータ変形部７１として機能する。
【０２９７】
・ＳＴＥＰ３（図１８に示すステップＳ．１１３）
計算部１５が、秘密データを隠蔽する前のモーフィングデータＩ００を、
【数１３８】
0005913041.tif 000139
に基づいて求める。但し、Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。この処理において計算部１５は、図９に示す実質的カバーデータ生成部７３として機能する。
【０２９８】
・ＳＴＥＰ４（図１８に示すステップＳ．１１４）
次に、計算部１５が、ｐ＝１，ｑ＝１，ｓ＝Ｉ００の値を設定し、データの初期化を行う。
【０２９９】
・ＳＴＥＰ５（図１８に示すステップＳ．１１５においてＹｅｓ、ステップＳ．１１６）
計算部１５は、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を行う（図１８に示すステップＳ．１１５）。
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在する場合（ステップＳ．１１５においてＹｅｓの場合）、計算部１５は、予め定めたルールで、ｊ１とｊ２とを選び、ステゴオブジェクトｓを
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｍｑ      式（２６）
に基づいて求めて（ステップＳ．１１６）、処理を後述するＳＴＥＰ７（ステップＳ．１１８）へ移行する。ここで、ｓｐは、ｓのｐ番目の要素を示しており、ｍｑはｍのｑ番目の要素を示している。但し、ｑは、ｑ≦νである。
【０３００】
・ＳＴＥＰ６（図１８に示すステップＳ．１１５においてＮｏ、ステップＳ．１１７）
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在しない場合（ステップＳ．１１５においてＮｏの場合）、計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１：ステップＳ．１１７）、処理をＳＴＥＰ５（図１８に示すステップＳ．１１５）へ移行する。
【０３０１】
・ＳＴＥＰ７（図１８に示すステップＳ．１１８、ステップＳ．１１９）
計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１）、さらに、ｑの値を１だけ増加させる（ｑ＝ｑ＋１）（ステップＳ．１１８）。そして計算部１５は、ｑ＜νを満たすか否かを判断し（ステップＳ．１１９）、ｑ＜νを満たす場合（ステップＳ．１１９においてＹｅｓの場合）には、処理をＳＴＥＰ５（図１８に示すステップＳ．１１５）へと移行する。一方で、ｑ＜νを満たさない場合（ステップＳ．１１９においてＮｏの場合）、計算部１５は、最終的に処理を終了する。
【０３０２】
上述したＳＴＥＰ４〜ＳＴＥＰ７の処理において、計算部１５は、図９に示すステゴオブジェクト生成部７４として機能する。上述したＳＴＥＰ１〜ＳＴＥＰ７の処理を実行することにより、Δｐ（ｊ１，ｊ２）≠０となるｐにおいて、モーフィングデータＩ００の最下位ｂビットに秘密データを隠蔽することが可能となり、第三者からは、少なくともどの位置に秘密データが隠蔽されているかが容易に判断され難くなる。なお、この場合にはモーフィングデータＩ００が実質的カバーデータに該当することになる。
【０３０３】
なお、上述した実施の形態５の秘密データ隠蔽処理においても、Δｐは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータＩ００の関数として定義することができる。このため、Δｐ＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）は一例にすぎない。例えば、Δｐとして、参照データの関数を用いて、Δｐ＝（Ｉｊ１,ｐ−Ｉｊ２,ｐ）と設定することも可能である。また、Δｐの計算方法は、上述した秘密情報隠蔽装置１（情報を隠蔽する側）と、次述する秘密情報復元装置２（情報を復元する側）とにおいて共有化することもでき、あるいは、ステゴ鍵の一部とすることも可能である。
【０３０４】
秘密情報復元装置２では、上述した隠蔽処理により秘密データが隠蔽されたステゴオブジェクトｓから、複数の秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を抽出（復元、再現）することが可能である。
【０３０５】
図１９は、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して秘密データの抽出処理を行う（抽出処理方法を実現する）場合における機能ブロックを示した図である。図１９において、データ変形部（データ変形手段）９１と、Ｆ０生成部（Ｆ０生成手段）９２と、秘密データ再現部（秘密データ再現手段）９４とは、プログラムに従って抽出処理を行う（抽出処理方法を実現する）計算部１５が実質的に該当する。また、カバーデータ記憶部９５、ステゴ鍵記憶部９６、ステゴオブジェクト記憶部９７、秘密データ記憶部９８、ワーキングメモリ９９は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０３０６】
図１９に示すように、ステゴオブジェクト記憶部９７には、図９に示した秘密情報隠蔽装置１において図１８で示す処理方法で生成されたステゴオブジェクトｓが記憶され、カバーデータ記憶部９５には、カバーデータｃが記憶され、ステゴ鍵記憶部９６には、ステゴ鍵ｋｓが記憶され、秘密データ記憶部９８には、秘密データｍが記憶される。
【０３０７】
なお、実施の形態５では、計算部１５がステゴオブジェクト取得部として機能し、図９に示した秘密情報隠蔽装置１のステゴオブジェクト記憶部７８から、図１８に示す処理によって生成されたステゴオブジェクトｓを、オープンなネットワーク３を介して取得して、ステゴオブジェクト記憶部９７に記憶する。
【０３０８】
また、計算部１５は、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置１における秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部９５及びステゴ鍵記憶部９６に記憶させる処理を行う。なお、全ての秘密情報復元装置２のカバーデータ記憶部９５及びステゴ鍵記憶部９６に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用するものであってもよい。
【０３０９】
また、計算部１５は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部９８から秘密データを読み出して、表示部７などに抽出されたデータを表示させる役割を行う。
【０３１０】
次に、実施の形態５における計算部１５の秘密データ抽出処理を、図２０に示すフローチャートに従って説明する。参照データに隠蔽された複数の秘密データを抽出する場合には、次のようにしてステゴオブジェクト、カバーデータ、ステゴ鍵、秘密データが定義される。
ステゴオブジェクトｓ、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝、秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝
このようにして定義された、ｓ，ｃ，ｋｓを入力されたデータとして、計算部１５は、ステゴオブジェクトｓから秘密データｍを抽出する処理を行う。
【０３１１】
［秘密データを抽出するための関数ｆ−１を実現するアルゴリズム］
入力：ｓ，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝
出力：ｍ＝｛ｍ１，ｍ２，・・・，ｍν｝
【０３１２】
・ＳＴＥＰ１（図２０に示すステップＳ．１２１）
計算部１５は、次式を用いて、モーフィングデータＩ０の特徴ベクトルＦ０を求める。但し、貢献度ａ１，ａ２，・・・ａｎは事前に正規化されているものとする。
【数１３９】
0005913041.tif 000140
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図１９に示すＦ０生成部９２として機能する。
【０３１３】
・ＳＴＥＰ２（図２０に示すステップＳ．１２２）
計算部１５は、次式を用いて、各参照データの変形を求める。
【数１４０】
0005913041.tif 000141
但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図１９に示すデータ変形部９１として機能する。
【０３１４】
・ＳＴＥＰ３（図２０に示すステップＳ．１２３）
次に、計算部１５が、ｐ＝１，ｑ＝１の値を設定し、データの初期化を行う。
【０３１５】
・ＳＴＥＰ４（図２０に示すステップＳ．１２４においてＹｅｓ、ステップＳ．１２５）
計算部１５は、Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在するか否かの判断を行う（図２０に示すステップＳ．１２４）。Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在する場合（ステップＳ．１２４においてＹｅｓの場合）、計算部１５は、予め定めたルールに基づいて、該当するｊ１とｊ２とを選び、スケーリングされた秘密データを、
ｍｑ＝ｓｐ−ＭＳＢ（ｓｐ）      （２７）
の式で求めてから（ステップＳ．１２５）、処理を後述するＳＴＥＰ６（ステップＳ．１２７）へ移行する。ここで、ｓｐは、ｓのｐ番目の要素を示しており、ｍｑはｍのｑ番目の要素を示している。但し、ｑは、ｑ≦νである。
【０３１６】
・ＳＴＥＰ５（図２０に示すステップＳ．１２４においてＮｏ、ステップＳ．１２６）
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在しない場合（ステップＳ．１２４においてＮｏの場合）、計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１：ステップＳ．１２６）、処理をＳＴＥＰ４（図２０に示すステップＳ．１２４）へ移行する。
【０３１７】
・ＳＴＥＰ６（図２０に示すステップＳ．１２７、ステップＳ．１２８）
計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１）、さらに、ｑの値を１だけ増加させる（ｑ＝ｑ＋１）（ステップＳ．１２７）。そして計算部１５は、ｑ＜νを満たすか否かを判断し（図２０に示すステップＳ．１２８）、ｑ＜νを満たす場合（図２０に示すステップＳ．１２８においてＹｅｓの場合）には、処理をＳＴＥＰ４（図２０に示すステップＳ．１２４）へと移行する。一方で、ｑ＜νを満たさない場合（図２０に示すステップＳ．１２８においてＮｏの場合）には、処理を終了する。
【０３１８】
ＳＴＥＰ４〜ＳＴＥＰ６の処理において、計算部１５は、図１９に示す秘密データ再現部９４として機能する。このような処理を行うことによって、複数の秘密データが隠蔽されたステゴオブジェクトｓの中から、秘密データの隠蔽された場所を求めて、秘密データの抽出を行うことが可能となる。実施の形態５では、実施の形態４と異なり、カバーデータおよびステゴ鍵を用いて、Ｉｗｊ１,ｐおよびＩｗｊ２,ｐを求めて、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｐを求める必要があることから、ステゴオブジェクトｓだけを取得しても、秘密データｍを抽出することができず、セキュリティを高めることが可能となる。
【０３１９】
なお、上述した実施の形態５の秘密データ抽出処理においても、Δｐは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータＩ００の関数として定義することができる。このため、Δｐ＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）は一例にすぎない。
【０３２０】
例えば、Δｐとして、参照データの関数を用いて、Δｐ＝（Ｉｊ１,ｐ−Ｉｊ２,ｐ）と設定することも可能である。また、実質的カバーデータＩ００の関数として定義する場合には、計算部１５が、秘密データを隠蔽する前のモーフィングデータＩ００を、
【数１４１】
0005913041.tif 000142
に基づいて求めることにより、Δｐの設定を行うことが可能となる。
【０３２１】
さらに、Δｐの計算方法は、秘密情報隠蔽装置１（情報を隠蔽する側）と、上述した秘密情報復元装置２（情報を復元する側）とにおいて共有化することもでき、あるいは、ステゴ鍵の一部とすることも可能である。
【０３２２】
［実施の形態６］
次に、実施の形態６について説明する。実施の形態６は、実施の形態５で説明した方法をさらに改良したものである。具体的には、秘密データｘを、モーフィングデータの最下位ビットに埋め込む際に、直接に埋め込むのではなく、参照データやモーフィングデータ等などに関連する数値ｙと秘密データｘとでビット単位のＸＯＲ（排他的論理和）演算を行ってから埋め込みを行うことを特徴とする。即ち、
ｓｐ＝ＭＳＢ（Ｉ００ｐ）＋ｘ      （２５）を、
【数１４２】
0005913041.tif 000143
に変更する。
【０３２３】
ここで、＋に○が重ね合わされた文字はビット単位のＸＯＲ演算を示し、ｘはｂビットで示した秘密データの要素、ｙはカバーデータ、参照データ又はその変形から求めたｂビットで表すことが可能な数値を示している。ｙに該当する例として、以下のものを用いることが考えられる。
１）ｙ＝ＬＳＢ（Ｉ００ｐ）    ・・・Ｉ００ｐの最下位ｂビットをｙとする。
２）ｙ＝ＬＳＢ（Ｉｗ１,ｐ−Ｉｗ２,ｐ）
・・・Ｉｗ１,ｐ−Ｉｗ２,ｐの最下位ｂビットをｙとする。
３）ｙ＝ＬＳＢ（Ｉｗｊ,ｐ）    ・・・Ｉｗｊ,ｐの最下位ｂビットをｙとする。
つまり、ｙとして、Ｉ００，Ｉｗｎｐあるいは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）のいずれかであって、ｂビットの数値からなるデータを設定することができる。また、ｂビットの数値からなるデータであれば、必ずしも最下位ｂビットには限定されないが、実施の形態６では、一例として、最下位ｂビットのデータを用いて説明を行う。
【０３２４】
このように、ｙを設定することにより、参照データやモーフィングデータに依存した形で秘密データを埋め込むことによって、第三者がステゴオブジェクトｓの最下位ビットから
【数１４３】
0005913041.tif 000144
を抽出したとしても、ｘを求めることができない。また、ｙが暗号鍵の役割を果たすため、秘密データを埋め込む前に、秘密データを暗号化する必要がない。このため暗号化の計算コストを省くことも可能である。
【０３２５】
次に、以上の説明に基づいて、計算部１５が、複数の秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝をカバーデータｃに隠蔽し、または抽出する処理について説明を行う。
【０３２６】
図９は、実施の形態６において、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して、秘密データの隠蔽処理を行う（隠蔽処理方法を実現する）場合における機能ブロックを示した図である。実施の形態６の秘密情報隠蔽装置１では、実施の形態３で説明した秘密情報隠蔽装置１と同じ機能ブロックを備えている。そのため、実施の形態６の各ブロック構成として、実施の形態３で用いた図９を用いるものとし、また、同じ符号を用いて説明を行う。
【０３２７】
図９において、データ変形部（データ変形手段）７１と、Ｆ０生成部（Ｆ０生成手段）７２と、実質的カバーデータ生成部（実質的カバーデータ生成手段）７３と、ステゴオブジェクト生成部（ステゴオブジェクト生成手段）７４とは、プログラムに従って隠蔽処理を行う（隠蔽処理方法を実現する）計算部１５が実質的に該当する。また、秘密データ記憶部７５、カバーデータ記憶部７６、ステゴ鍵記憶部７７、ステゴオブジェクト記憶部７８、ワーキングメモリ７９は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０３２８】
なお、カバーデータ記憶部７６には、予めカバーデータｃが記憶されており、ステゴ鍵記憶部７７には、予めステゴ鍵ｋｓが記憶されているものとすることも可能である。また、秘密データ記憶部７５には、予め秘密データｍが記憶され、ステゴオブジェクト記憶部７８には、生成されたステゴオブジェクトｓが記憶される。
【０３２９】
また、計算部１５が、オープンなネットワーク３あるいはクローズなネットワークを介して、秘密データの隠蔽処理に用いられるカバーデータ、秘密データあるいはステゴ鍵を取得する構成としてもよい。この場合に、計算部１５は、カバーデータ取得部、秘密データ取得部あるいはステゴ鍵取得部として機能し、取得された各データを、それぞれカバーデータ記憶部７６、秘密データ記憶部７５あるいはステゴ鍵記憶部７７に記憶する処理を行う。
【０３３０】
但し、実際に図９に示した秘密情報隠蔽装置１を利用する場合には、カバーデータとステゴ鍵とを予めカバーデータ記憶部７６とステゴ鍵記憶部７７に記憶させておく場合が多いと考えられる。
【０３３１】
また、計算部１５は、必要に応じて、ステゴオブジェクト出力部として機能し、ステゴオブジェクト記憶部７８からステゴオブジェクトを読み出して、オープンなネットワーク３を介して、秘密情報復元装置２として機能するコンピュータへと出力する役割を行う。
【０３３２】
次に、実施の形態６に係る計算部１５の秘密データの隠蔽処理を、図２１に示すフローチャートに従って説明する。
【０３３３】
実施の形態６に係る秘密データ隠蔽処理では、次のように定義する。
秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝、ステゴオブジェクトｓ
ここで、ｍ１〜ｍνは秘密データ、Ｉ１〜Ｉｎは参照データ、Ｆ１〜Ｆｎは参照データＩ１〜Ｉｎのそれぞれに対応する特徴ベクトル、ａ１〜ａｎはそれぞれの参照データにおける貢献度である。また、ｓはステゴオブジェクトであって、参照データから得られるモーフィングデータＩ００に基づいて求められる。
【０３３４】
このようにして定義された、ｍ，ｃ，ｋｓを入力されたデータとして、計算部１５は、ステゴオブジェクトｓを出力する処理を行う。
【０３３５】
［秘密データを隠蔽するための関数ｆを実現するアルゴリズム］
入力：ｍ＝｛ｍ１，ｍ２，・・・，ｍν｝，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝
出力：ｓ
【０３３６】
・ＳＴＥＰ１（図２１に示すステップＳ．１３１）
まず、計算部１５が、
【数１４４】
0005913041.tif 000145
を用いてモーフィングデータの特徴ベクトルを求める。ここで、ａ１，ａ２，・・・，ａｎは、事前に正規化された値である。また、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図９に示すＦ０生成部７２として機能する。
【０３３７】
・ＳＴＥＰ２（図２１に示すステップＳ．１３２）
次に、計算部１５が、
【数１４５】
0005913041.tif 000146
を用いて、各参照データの変形されたデータを求める。但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図９に示すデータ変形部７１として機能する。
【０３３８】
・ＳＴＥＰ３（図２１に示すステップＳ．１３３）
計算部１５が、秘密データを隠蔽する前のモーフィングデータＩ００を、
【数１４６】
0005913041.tif 000147
に基づいて求める。但し、Ｉ００ｐ，Ｉｗ１ｐ，・・・，Ｉｗｎｐは、それぞれ、Ｉ００，Ｉｗ１，・・・，Ｉｗｎのｐ番目の要素を示している。この処理において計算部１５は、図９に示す実質的カバーデータ生成部７３として機能する。
【０３３９】
・ＳＴＥＰ４（図２１に示すステップＳ．１３４）
次に、計算部１５が、ｐ＝１，ｑ＝１，ｓ＝Ｉ００の値を設定し、データの初期化を行う。
【０３４０】
・ＳＴＥＰ５（図２１に示すステップＳ．１３５、においてＹｅｓ、ステップＳ．１３６）
計算部１５は、Δｐ（ｊ１，ｊ２）＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）≠０となるｊ１とｊ２とが存在するか否かの判断を行う（図２１に示すステップＳ．１３５）
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在する場合（ステップＳ．１３５においてＹｅｓの場合）、計算部１５は、予め定めたルールで、ｊ１とｊ２とを選び、ステゴオブジェクトｓｐを
【数１４７】
0005913041.tif 000148
に基づいて求めて（ステップＳ．１３６）、処理を後述するＳＴＥＰ７（ステップＳ．１３８）へ移行する。ｙは、Ｉ００ｐ、Ｉｗｊ１,ｐ、Ｉｗｊ２,ｐなどに基づいて求められ、ｂビットで表すことが可能な数値である。また、ｓｐは、ｓのｐ番目の要素を示しており、ｍｑはｍのｑ番目の要素を示している。但し、ｑは、ｑ≦νである。
【０３４１】
・ＳＴＥＰ６（図２１に示すステップＳ．１３５においてＮｏ、ステップＳ．１３７）
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在しない場合（ステップＳ．１３５においてＮｏの場合）、計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１：ステップＳ．１３７）、処理をＳＴＥＰ５（図２１に示すステップＳ．１３５）へ移行する。
【０３４２】
・ＳＴＥＰ７（図２１に示すステップＳ．１３８）
計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１）、さらに、ｑの値を１だけ増加させる（ｑ＝ｑ＋１）（ステップＳ．１３８）。そして計算部１５は、ｑ＜νを満たすか否かを判断し（ステップＳ．１３９）、ｑ＜νを満たす場合（ステップＳ．１３９においてＹｅｓの場合）には、処理をＳＴＥＰ５（図２１に示すステップＳ．１３５）へと移行する。一方で、ｑ＜νを満たさない場合（ステップＳ．１３９においてＮｏの場合）、計算部１５は、最終的に処理を終了する。
【０３４３】
上述したＳＴＥＰ４〜ＳＴＥＰ７の処理において、計算部１５は、図９に示すステゴオブジェクト生成部７４として機能する。上述したＳＴＥＰ１〜ＳＴＥＰ７の処理を実行することにより、Δｐ（ｊ１，ｊ２）≠０となるｐにおいて、モーフィングデータＩ００の最下位ｂビットに秘密データを隠蔽することが可能となる。さらに、隠蔽される秘密データは、モーフィングデータなどから求められるｂビットの値と秘密データとでＸＯＲ演算が行われた後に隠蔽されることになる。このため、秘密データが隠蔽されていることを、第三者に判断され難くすることが可能となり、さらに、秘密データが第三者に抽出される危険性を低減することが可能となる。
【０３４４】
なお、上述した実施の形態６の秘密データ隠蔽処理において、Δｐは、必ずしも（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータＩ００の関数として定義することができる。このため、Δｐ＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）は一例にすぎない。例えば、Δｐとして、参照データの関数を用いて、Δｐ＝（Ｉｊ１,ｐ−Ｉｊ２,ｐ）と設定することも可能である。また、Δｐの計算方法は、上述した秘密情報隠蔽装置１（情報を隠蔽する側）と、次述する秘密情報復元装置２（情報を復元する側）とにおいて共有化することもでき、あるいは、ステゴ鍵の一部とすることも可能である。
【０３４５】
秘密情報復元装置２では、上述した隠蔽処理により秘密データが隠蔽されたステゴオブジェクトｓから、複数の秘密データ｛ｍ１，ｍ２，・・・，ｍν｝を抽出（復元、再現）することが可能である。
【０３４６】
図１９は、計算部１５がＲＯＭ１６に記憶されるプログラムを読み出して秘密データの抽出処理を行う（抽出処理方法を実現する）場合における機能ブロックを示した図である。実施の形態６の秘密情報復元装置２では、実施の形態５で説明した秘密情報復元装置２と同じ機能ブロックを備えている。そのため、実施の形態６の各ブロック構成として、実施の形態５で用いた図１９を用いるものとし、また、同じ符号を用いて説明を行う。
【０３４７】
図１９において、データ変形部（データ変形手段）９１と、Ｆ０生成部（Ｆ０生成手段）９２と、秘密データ再現部（秘密データ再現手段）９４とは、プログラムに従って抽出処理を行う（抽出処理方法を実現する）計算部１５が実質的に該当する。また、カバーデータ記憶部９５、ステゴ鍵記憶部９６、ステゴオブジェクト記憶部９７、秘密データ記憶部９８、ワーキングメモリ９９は、ＲＡＭ１７または補助記憶部１２が実質的に該当する。
【０３４８】
図１９に示すように、ステゴオブジェクト記憶部９７には、図９に示した秘密情報隠蔽装置１において図２１で示す処理方法で生成されたステゴオブジェクトｓが記憶され、カバーデータ記憶部９５には、カバーデータｃが記憶され、ステゴ鍵記憶部９６には、ステゴ鍵ｋｓが記憶され、秘密データ記憶部９８には、秘密データｍが記憶される。
【０３４９】
なお、実施の形態６では、計算部１５がステゴオブジェクト取得部として機能し、図９に示した秘密情報隠蔽装置１のステゴオブジェクト記憶部７８から、図２１に示す処理方法によって生成されたステゴオブジェクトｓを、オープンなネットワーク３を介して取得して、ステゴオブジェクト記憶部９７に記憶する。
【０３５０】
また、計算部１５は、カバーデータ取得部及びステゴ鍵取得部として機能し、クローズなネットワークを介して、秘密情報隠蔽装置１における秘密データの隠蔽処理に利用されたカバーデータ及びステゴ鍵を取得し、カバーデータ記憶部９５及びステゴ鍵記憶部９６に記憶させる処理を行う。なお、全ての秘密情報復元装置２のカバーデータ記憶部９５及びステゴ鍵記憶部９６に、予めカバーデータ及びステゴ鍵を記憶させておく構成を採用するものであってもよい。
【０３５１】
また、計算部１５は、必要に応じて、秘密データ出力部として機能し、秘密データ記憶部９８から秘密データを読み出して、表示部７などに抽出されたデータを表示させる役割を行う。
【０３５２】
次に、実施の形態６における計算部１５の秘密データ抽出処理を、図２２に示すフローチャートに従って説明する。参照データに隠蔽された複数の秘密データを抽出する場合には、次のようにしてステゴオブジェクト、カバーデータ、ステゴ鍵、秘密データが定義される。
ステゴオブジェクトｓ、カバーデータｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝、ステゴ鍵ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝、秘密データｍ＝｛ｍ１，ｍ２，・・・，ｍν｝
このようにして定義された、ｓ，ｃ，ｋｓを入力されたデータとして、計算部１５は、秘密データｍを抽出する処理を行う。
【０３５３】
［秘密データを抽出するための関数ｆ−１を実現するアルゴリズム］
入力：ｓ，ｃ＝｛Ｉ１，Ｉ２，・・・，Ｉｎ｝，ｋｓ＝｛Ｆ１，Ｆ２，・・・，Ｆｎ；ａ１，ａ２，・・・，ａｎ｝
出力：ｍ＝｛ｍ１，ｍ２，・・・，ｍν｝
【０３５４】
・ＳＴＥＰ１（図２２に示すステップＳ．１４１）
計算部１５は、次式を用いて、モーフィングデータＩ０の特徴ベクトルＦ０を求める。但し、貢献度ａ１，ａ２，・・・ａｎは事前に正規化されているものとする。
【数１４８】
0005913041.tif 000149
但し、Ｆｊｐ（ｊ＝０，１，・・・，ｎ）は、Ｆｊのｐ番目の要素を示している。この処理において計算部１５は、図１９に示すＦ０生成部９２として機能する。
【０３５５】
・ＳＴＥＰ２（図２２に示すステップＳ．１４２）
計算部１５は、次式を用いて、各参照データの変形を求める。
【数１４９】
0005913041.tif 000150
但し、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）はＩｊの変形を示し、Ｗは変形（ワーピング）関数を示している。変形関数ＷによりＩｊ（ｊ＝１，２，・・・，ｎ）が変形されて、Ｉｗｊ（ｊ＝１，２，・・・，ｎ）が生成される。Ｉｗｊ（ｊ＝１，２，・・・，ｎ）は、特徴ベクトルＦ０を有する。この処理において計算部１５は、図１９に示すデータ変形部９１として機能する。
【０３５６】
・ＳＴＥＰ３（図２２に示すステップＳ．１４３）
次に、計算部１５が、ｐ＝１，ｑ＝１の値を設定し、データの初期化を行う。
【０３５７】
・ＳＴＥＰ４（図２２に示すステップＳ．１４４においてＹｅｓ、ステップＳ．１４５）
計算部１５は、Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在するか否かの判断を行う（図２２に示すステップＳ．１４４）。Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在する場合（ステップＳ．１４４においてＹｅｓの場合）、計算部１５は、予め定めたルールに基づいて、該当するｊ１とｊ２とを選び、スケーリングされた秘密データを、
【数１５０】
0005913041.tif 000151
の式で求めてから（ステップＳ．１４５）、処理を後述するＳＴＥＰ６（ステップＳ．１４７）へ移行する。但し、ｙは、Ｉ００ｐ、Ｉｗｊ１,ｐ、Ｉｗｊ２,ｐなどに基づいて求められ、ｂビットで表すことが可能な数値である。また、ｓｐは、ｓのｐ番目の要素を示しており、ｍｑはｍのｑ番目の要素を示している。但し、ｑは、ｑ≦νである。
【０３５８】
・ＳＴＥＰ５（図２２に示すステップＳ．１４４においてＮｏ、ステップＳ．１４６）
Δｐ（ｊ１，ｊ２）≠０となるｊ１とｊ２とが存在しない場合（ステップＳ．１４４においてＮｏの場合）、計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１：ステップＳ．１４６）、処理をＳＴＥＰ４（図２２に示すステップＳ．１４４）へ移行する。
【０３５９】
・ＳＴＥＰ６（図２２に示すステップＳ．１４７、ステップＳ．１４８）
計算部１５は、ｐの値を１だけ増加させ（ｐ＝ｐ＋１）、さらに、ｑの値を１だけ増加させる（ｑ＝ｑ＋１）（ステップＳ．１４７）。そして計算部１５は、ｑ＜νを満たすか否かを判断し（図２２に示すステップＳ．１４８）、ｑ＜νを満たす場合（図２２に示すステップＳ．１４８においてＹｅｓの場合）には、処理をＳＴＥＰ４（図２２に示すステップＳ．１４４）へと移行する。一方で、ｑ＜νを満たさない場合（図２２に示すステップＳ．１４８においてＮｏの場合）には、処理を終了する。
【０３６０】
ＳＴＥＰ４〜ＳＴＥＰ６の処理において、計算部１５は、図１９に示す秘密データ再現部９４として機能する。このような処理を行うことによって、複数の秘密データが隠蔽されたステゴオブジェクトｓの中から、秘密データの隠蔽された場所を求めて、データの抽出を行うと共に、抽出されたデータとｙの値とでＸＯＲ演算を行うことによって秘密データの抽出が行われるので、セキュリティを高めることが可能となる。また、実施の形態５と同様に、基本的に暗号化を行うことなく十分なセキュリティを確保することが可能となり、さらに、通信エラーなどがなければ、正確に秘密データを再現することができるので、抽出精度を高めることが可能となる。
【０３６１】
なお、上述した実施の形態６では、ｙの値として、参照データやモーフィングデータ等に関連する数値を用いる場合について説明を行った。しかしながら、ｙは、必ずしも参照データやモーフィングデータ等に関連する数値には限定されない。例えば、シード値ｒを設定し、このシード値ｒに基づいて乱数列ｙ１，ｙ２，・・・を生成することにより、ｙを設定することも可能である。この場合には、シード値ｒをステゴ鍵に追加する必要がある。
【０３６２】
また、上述した実施の形態６の秘密データ抽出処理においても、Δｐは、（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）には限定されず、一般的に、参照データ、参照データの変形、実質的カバーデータＩ００の関数として定義することができる。このため、Δｐ＝（Ｉｗｊ１,ｐ−Ｉｗｊ２,ｐ）は一例にすぎない。
【０３６３】
例えば、Δｐとして、参照データの関数を用いて、Δｐ＝（Ｉｊ１,ｐ−Ｉｊ２,ｐ）と設定することも可能である。また、実質的カバーデータＩ００の関数として定義する場合には、計算部１５が、秘密データを隠蔽する前のモーフィングデータＩ００を、
【数１５１】
0005913041.tif 000152
に基づいて求めることにより、Δｐの設定を行うことが可能となる。
【０３６４】
さらに、Δｐの計算方法は、秘密情報隠蔽装置１（情報を隠蔽する側）と、上述した秘密情報復元装置２（情報を復元する側）とにおいて共有化することもでき、あるいは、ステゴ鍵の一部とすることも可能である。
【０３６５】
次に、セキュリティについて説明する。従来の方法では、抽出側でステゴ鍵さえ取得できればステゴオブジェクトｓから秘密データｍを抽出することができた。仮に秘密データの存在が知られてしまった場合には、あるいは、もともとステゴオブジェクトｓに秘密データが隠されていることが知られていれば、小さなステゴ鍵を推測することによって、ステゴオブジェクトｓから秘密データｍの抽出が実行される可能性があった。
【０３６６】
しかしながら、実施の形態３、実施の形態５、実施の形態６等で示した秘密データの隠蔽方法を用いる場合には、秘密データｍを抽出するために、参照データとステゴ鍵との両方が必要となる。参照データとステゴ鍵と合わせると、とても大きな暗号化鍵と見なすことができ、この暗号化鍵を推測することは理論上不可能である。従って、実施の形態３等の隠蔽方法を利用する場合には、ステゴオブジェクトｓから秘密データｍを推測することが、非常に困難となる。もちろん、秘密データを暗号化してから隠蔽することもできるので、暗号化後に隠蔽処理を行うことにより、秘密データの安全性をより高めることが可能になるといえる。
【０３６７】
上述した実施の形態１〜実施の形態６に示したように、それぞれの秘密情報隠蔽装置１及び秘密情報復元装置２のカバーデータ記憶部及びステゴ鍵記憶部に、カバーデータ及びステゴ鍵を記憶させてデータの共有を図る。そして、秘密情報隠蔽装置１において、秘密データをカバーデータに隠蔽したステゴオブジェクトを生成し、秘密情報隠蔽装置１から秘密情報復元装置２に対して、オープンなネットワーク３を介してステゴオブジェクトを送信する。このような構成を採用することにより、秘密情報復元装置２では、共有されているカバーデータ及びステゴ鍵に基づいてステゴオブジェクトから秘密データを抽出（再現）することが可能となる。
【０３６８】
また、秘密データが隠蔽されたステゴオブジェクトの送受信をオープンなネットワーク３を介して行うことにより、秘密データをグループ通信に拡張して利用することも可能となる。
【０３６９】
例えば、グループの各メンバ同士で、秘密データが隠蔽されたステゴオブジェクトの送受信を個別に行うだけでなく、秘密データが隠蔽されたステゴオブジェクトをｗｅｂ上の掲示板やブログなどにダウンロード可能な状態で掲載することもできる。この場合には、他のメンバがその掲示板等から必要に応じてステゴオブジェクトをダウンロードすることにより秘密データの抽出（再現）を行うことが可能となる。この掲示板等は、グループ共有のものであってもよいし、各メンバが個別に所有するものであってもよい。
【０３７０】
また、メンバ間で電子メールにステゴオブジェクトを添付して送受信することもでき、このように送受信を行うことによって、受信者が受け身的にステゴオブジェクトを受信するのではなく、メールの発信元を確認した上で添付されたデータを取得することができるので、スパムメールや悪質なメールなどを避けることができる。
【０３７１】
さらに、実施の形態１〜実施の形態６に示した秘密情報隠蔽装置１及び秘密情報復元装置２を応用することによって、ユーザ（使用者）の認証情報が記憶された記憶媒体、例えば認証カードなどを用いたカードユーザの認証システムを構築することも可能である。
【０３７２】
図２３は、カードユーザの認証システムの概略構成を示した図である。図２３に示す認証システム１１０においては、少なくとも１台のリモートサーバ１１１と、１台以上のローカル端末１１２とがオープンなネットワーク３を介して接続されている。また、ローカル端末１１２には、ユーザの所有するカードの認証に用いられるデータ（例えば、ステゴ鍵、ステゴオブジェクト）をカード１１３から読み取るためのカードリーダ１１２ａが設けられている。
【０３７３】
このような認証システム１１０において、カバーデータをローカル端末１１２とリモートサーバ１１１とに記憶させることにより、カバーデータの共有化を図り、ステゴ鍵をリモートサーバ１１１あるいはカード１１３のいずれかに分散して記憶させる。また、リモートサーバ１１１で、任意のユーザに対して、必要に応じて参照データを選んで、ユーザの認証情報（例えば、顔写真や静脈パターンなど、この情報が秘密データに該当する。）をステゴオブジェクトに隠蔽して（埋め込んで）、ステゴオブジェクトを、リモートサーバ１１１あるいはカード１１３のいずれかに分散して記憶させる。
【０３７４】
ユーザがローカル端末１１２を操作するオペレータなどに、カード１１３を提示することにより，カードリーダ１１２ａでカード１１３に記憶されたデータの読み取りが可能となった場合、ローカル端末１１２では、カード１１３から直接あるいは、カード情報に基づいてネットワーク３に接続されるリモートサーバ１１１より、ステゴ鍵とステゴオブジェクトを取得し、予めローカル端末１１２に記憶されたカバーデータなどを用いて、ユーザの認証情報の復元を行う。このようにして復元されたユーザの認証情報、例えば、真正ユーザの顔写真が、ローカル端末１１２の表示画面などに表示される。オペレータは表示された真正ユーザの顔写真と、実際にカード１１３を提示した人の顔とを比較することにより、カード提示者が真正の（適式な）カード１１３の所有者であるか否かを判断することが可能となる。
【０３７５】
なお、実施の形態２〜実施の形態６に示した秘密情報隠蔽方法及び秘密情報復元方法では、ステゴオブジェクトに、同じ人の違う角度からの写真や、親戚や代理の人の写真や、写真以外の認証情報や、実施の形態１の方法などで得られたモーフィングデータなどを埋め込むことが可能である。
【０３７６】
図２４は、実施の形態３で説明した秘密情報隠蔽方法を用いて、図２４（ａ）に示した２枚のカバー画像を利用して、図２４（ｂ）に示した４枚の小さな画像（秘密画像）を、図２４（ｃ）に示したモーフィング画像に埋め込む場合を一例として示したものである。図２４（ｄ）は、図２４（ｃ）に示したモーフィング画像から抽出された画像（抽出画像）を示している。モーフィング画像が８ビットの整数に変換されて保存される場合が示されているので、抽出された図２４（ｄ）の画像は、図２４（ｂ）に示す元の画像（秘密画像）に比べて多少劣化しているが、実質的な画像の同一性は保たれており、同一の画像に基づくものであると許容できる範囲内での劣化と判断することができる。
【０３７７】
また、実施の形態４〜６に示した方法では、それぞれの秘密情報隠蔽装置１及び秘密情報復元装置２のカバーデータ記憶部にカバーデータだけを記憶させて、参照データの共有化を図り、ステゴ鍵は、直接ステゴオブジェクトに隠蔽をしてしまう方法を採用することもできる。
【０３７８】
例えば、図２３に示した認証システム１１０において、複数の参照データ（カバーデータ）を参照データ集合としてローカル端末１１２に予め記憶させ、あるいは、クローズなネットワークを介してローカル端末をリモートサーバ１１１と接続可能として、リモート端末１１１に記憶された参照データ集合をいつでも読み出せるようにし、オープンなネットワーク３を介して秘密データとステゴ鍵とが隠蔽されたステゴオブジェクトをローカル端末１１２へ送信可能とする。このような認証システム１１０において、以下の手順で、ステゴオブジェクトの送信側と受信側とで、秘密データの隠蔽および復元が可能となる。
【０３７９】
［ステゴオブジェクトへの秘密データとステゴ鍵との隠蔽］
Step１:参照データ集合のメンバ数をＮとする。ｎ（１＜ｎ＜Ｎ）個の相違なる整数の乱数ｉ１,ｉ２,…,ｉｎを生成し、それらをインデックスとして、参照データ集合からｎ個の参照データを取得する。
Step２:それぞれの参照データの特徴ベクトルＦ１，Ｆ２，…，Ｆｎを定義する。
Step３:ｎ個の正(＞０)の乱数ｒ１，ｒ２，…，ｒｎを生成して、
【数１５２】
0005913041.tif 000153
を求めて、これをＩｊ番目の参照データの貢献度とする。
【０３８０】
Step４:以上の参照データ、特徴ベクトル、貢献度を利用して、実施の形態４〜６で説明した方法を用いてステゴオブジェクトを求め、秘密データの隠蔽（埋め込み）を行う。
Step５:ステゴオブジェクトの指定場所（事前に指定されたステゴ鍵が埋め込まれた場所であって、秘密データが埋め込まれていない場所）に、従来のステガノグラフィー技術を用いて、インデックス情報ｉ１,ｉ２,…,ｉｎと特徴ベクトルＦ１，Ｆ２，…，ＦｎとＩｊ番目の参照データの貢献度ａ１,ａ２,…,ａｎとを埋め込む。つまり、ステゴ鍵を、ステゴオブジェクトに隠蔽する。
Step６:秘密データとステゴ鍵とが隠蔽されたステゴオブジェクトを、オープンなネットワークを介して受信側に送信する。
【０３８１】
［ステゴオブジェクトからの秘密データの復元］
受信側では、オープンなネットワークを介してステゴオブジェクトを取得する。そして、受信側では、以下のようにして、秘密データを復元する。
Step１:ステゴオブジェクトの指定場所（事前に受信者に指定されたステゴ鍵が埋め込まれる場所）から、インデックス情報ｉ１,ｉ２,…,ｉｎと特徴ベクトルＦ１，Ｆ２，…，Ｆｎと貢献度ａ１,ａ２,…,ａｎとを抽出する。
Step２: インデックス情報ｉ１,ｉ２,…,ｉｎに基づいて、参照データ集合からｎ個の参照データを選び、ｉｊ番目の参照データの特徴ベクトルをＦｊ、貢献度をａｊとして、実施の形態４〜６で説明した方法を用いて秘密データを復元する。
【０３８２】
従来のステゴオブジェクトの送受信方法では、送信側においてカバーデータからステゴオブジェクトを求めた後、カバーデータを廃棄し、受信側では、ステゴオブジェクトとステゴ鍵とに基づいて秘密データを再現していた。この場合には、情報の安全性は完全にステゴ鍵に依存することになるため、第三者が、複数のステゴオブジェクトに基づいてステゴ鍵を特定し、秘密情報を解読するおそれがあった。
【０３８３】
一方で、上述したステゴオブジェクトの送受信方法では、カバーデータを参照データ集合としてローカル端末１１２に予め記憶等させておくため、カバーデータを送信側から受信側に逐一送らなくてもよい。従って、秘密データを再現するための鍵情報は、効果的に非常に大きなものとなり、万一秘密情報の存在が知られたとしても、情報の安全性は非常に高くなる。実際、実施の形態６で説明した［秘密データを隠蔽するための関数ｆを実現するアルゴリズム］や、［秘密データを抽出するための関数ｆ−１を実現するアルゴリズム］から明らかなように、秘密データの抽出と復元とは、参照データ、参照データの変形、参照データの組み合わせ、さらには、モーフィングデータなどに依存する。このため、参照データを厳密に管理しておくことにより、オープンなネットワークを介して獲得される情報だけでは、第三者が秘密データを特定することは不可能であると考えられる。
【０３８４】
また、上述したステゴオブジェクトの送受信方法において、例えば、使用される参照データの数ｎを、定数ではなく、秘密データが異なる度に可変にすることもできる。また、使用される参照データのインデックス情報ｉ１,ｉ２,…,ｉｎとその貢献度ａ１,ａ２,…,ａｎとは、秘密データと一緒にステゴオブジェクトに埋め込んで受信側に送るだけでなく、送信側と受信側とが同じ乱数シードを共有し、その乱数シードに基づいてそれぞれの場所でインデックス情報ｉ１,ｉ２,…,ｉｎとその貢献度ａ１,ａ２,…,ａｎとを生成あるいは算出することも可能である。当然、参照データのインデックス情報は、乱数ではなく、秘密データに依存する（例えば、秘密データを表す数列に基づいてハッシュ関数などで得られる数値の）形で求めることもできる。
【０３８５】
さらに、インデックス情報、特徴ベクトル、貢献度をステゴオブジェクトに隠蔽せず、別途（電子メール）で受信側に送ることもできる。従来は、参照データの特徴ベクトルを、送信ごとに定義するようにしたが、参照データそのものを固定して参照データ集合と一緒に参照データ記憶装置に保存してもよい。特徴ベクトルを可変にすると、同じ参照データを使用しても、違う特徴ベクトルを定義すれば、違うモーフィングデータを生成することができるので、情報の安全性を更に向上させることが可能となる。通常、参照データと比較して、特徴ベクトルのデータ量が非常に小さいので、特徴ベクトルを、インデックス情報や貢献度と同じように扱うことが可能である。
【０３８６】
また、送信側と受信側とのデータ通信を、グループ間通信（例えば、ソーシャルネットワーク等による通信）にも、容易に拡張することができる。各グループメンバが送信側と受信側とになり得る場合には、グループメンバで共通の参照データ集合を共有化することが容易である。
【０３８７】
さらに、受信側と送信側との間だけの通信ではなく、既に説明したように、サーバ・クライアント間の通信にも利用することが可能である。例えば、サーバは、全ての参照データを生成し、参照データ集合として保持する。そして、サーバは予め設定されている（例えば、秘密データの送受信に関する契約等を行っている）クライアントに対して、一部（参照データ集合の部分集合）の参照データを送る。サーバが特定のクライアントに情報を送りたいときには、そのクライアントの固有の参照データを利用してステゴオブジェクトを作成すればよい。サーバが作成されたステゴオブジェクトを送信することにより、各クライアントでは、各クライアント固有の参照データに基づいて情報を抽出することができる。
【０３８８】
また、通常の送信と受信ではなく、サーバが秘密情報をステゴオブジェクトに埋め込んでから、掲示板（ホームページ、ブログなど）に載せることもできる。関係者（メンバ）は、固有の参照データに基づいて、掲示板からステゴオブジェクトをダウンロードし、秘密情報を抽出することができる。
【０３８９】
さらに、掲示板に基づく通信方法を用いて、電子メールの送受信を行うことも可能である。この場合、受信者が受け身的に受信するのではなく、必要に応じて掲示板からメールを取得することができるので、スパムメールや悪質なメールなどを避けることができる。
【０３９０】
図２５および図２６は、サーバとローカル端末およびユーザの携帯デバイスとの間での互いの認証およびデータの送受信を行う場合のシーケンス処理の一例を示した図である。具体的に、図２５は、認証処理を行う前の準備作業のシーケンスを示しており、図２６は、認証を実際に行う場合の認証処理のシーケンスを示している。
【０３９１】
システム構成としては、例えば、店舗などにおいて利用者が店舗側が使用を認めた正当なユーザ（ホルダ）であるか否かを、秘密データを参照することにより確認する場合を想定している。利用者は、携帯デバイスとしてＩＣカードやＩＣカード機能を備えたスマートフォン・携帯電話等（例えば、電子マネー機能を備えたスマートフォン・携帯電話など）を携帯し、ローカル端末を操作するオペレータに携帯デバイスを提示することにより、認証作業を行うことが可能となる。なお、ローカル端末とサーバとはネットワークを介して接続されているものとする。
【０３９２】
次に、認証処理を行う前の準備作業を、図２５に示すシーケンス手順に従って説明する。
Step１：サーバは、参照データ集合を生成し、生成された参照データ集合を暗号化して、サーバの参照データ記憶装置に記憶させる。ここで、暗号化・復号化鍵は、サーバ管理者等によって管理される。また、暗号化・復号化鍵は、可変なものであってもよい。
Step２：サーバをｗｅｂサーバとして機能させることにより、端末加盟申請用ウェブサイトを開設する。
Step３：さらに、サーバでは、ユーザ申請用ウェブサイトを開設する。
Step４：ローカル端末では、加盟申請に必要な情報（識別コード、機種、ＩＰアドレス、配置状態、所属、管理者、使用者、公開暗号化鍵など）を、端末加盟申請用ウェブサイトを通してサーバに提出する。
【０３９３】
Step５：サーバでは、端末加盟申請用ウェブサイトを通じて申請されたローカル端末の申請情報を担当者などが審査し、加盟申請に必要な情報の内容から申請手続が行われた端末の信頼性が低いと判断できる場合には、サーバ側からローカル端末に対して追加情報を求めるか、あるいは、ローカル端末の加盟申請を却下することが可能となっている。ローカル端末から取得した情報により信頼性が確保できると判断された場合には、ローカル端末の情報をサーバの「端末テーブル」に追加登録する。端末テーブルの内容は、サーバにおいて暗号化してから保存されるものとする。端末テーブルの内容を暗号化・復号化する場合の暗号化・復号化鍵も、サーバ管理者等によって管理される。また、暗号化・復号化鍵は、可変なものであってもよい。
【０３９４】
Step６：サーバでは、参照データ集合を置換変換し、ローカル端末の公開鍵で暗号化してからローカル端末へ送信する。また、サーバでは、逆置換変換情報を端末テーブルに登録する。
Step７：ローカル端末では、受信した参照データ集合を暗号化のままでローカル端末側の参照データ記憶装置に保存する。
Step８：ユーザは、メンバ申請に必要な情報（ＩＤ番号、顔写真などの認証情報、職業、勤め先、連絡方法など）を、ユーザ申請用ウェブサイトを通してサーバに提出する。
【０３９５】
Step９：サーバでは、ユーザ申請用ウェブサイトを通じて申請された申請情報を担当者などが審査し、メンバ申請に必要な情報の内容から申請手続が行われたメンバの信頼性が低いと判断できる場合には、ユーザに対して追加情報を求めるか、あるいは、メンバ申請を却下することが可能となっている。ユーザから取得した情報により信頼性が確保できると判断された場合には、ユーザの情報をサーバの「ユーザテーブル」に追加登録する。ユーザテーブルの内容は、サーバにおいて暗号化してから保存されるものとする。ユーザテーブルの内容を暗号化・復号化する場合の暗号化・復号化鍵は、サーバ管理者等によって管理される。また、暗号化・復号化鍵は、可変なものであってもよい。
【０３９６】
Step１０：サーバでは、参照データ集合から複数の参照データを選び、対応する参照データの特徴ベクトルと貢献度を定義し、ユーザの認証情報を隠蔽するステゴオブジェクトを求める。
Step１１：サーバでは、ステゴオブジェクトとステゴ鍵（インデックス、特徴ベクトル、貢献度など）を２つの部分（α部分とβ部分）に分け（分け方は１方法には限定されず、さまざまな方法を用いることが可能である）、分割されたα部分をサーバのユーザテーブルに保存する。
Step１２：また、サーバでは、分割されたβ部分を暗号化して、ユーザに送信する。この送信はメールなどを一例として用いることができる。なお、暗号化されたβ部分を復号化するための復号化鍵も、サーバによりユーザテーブルに登録される。
Step１３：ユーザは、サーバより送られてきた鍵情報（β部分）を暗号化のままで、携帯デバイスの指定領域に保存する。
【０３９７】
上述した図２５のStep１〜１３の処理により、認証準備作業が行われる。このようにして準備作業を行うことにより、図２６に示すシーケンスに基づいて、ユーザの携帯端末およびローカル端末の認証処理を行うことが可能となる。
【０３９８】
次に、図２６に示すシーケンスフローを示して、サーバに対するローカル端末とユーザの携帯デバイスとの認証過程の処理手順を説明する。
Step１：ユーザが携帯デバイスをローカル端末に提示する。ローカル端末には、携帯デバイスから必要な情報の読み書きを行うための読み書き装置などが設けられている。この読み書き装置を介してデータの送受信を行うことが可能となっている。
【０３９９】
Step２：ローカル端末と携帯デバイスとの間で相互認証を行う。相互認証方法として、クレジットカードなどにおいて、従来より一般的に用いられている認証技術を用いることが可能である。ローカル端末と携帯デバイスとのどちらか一方が正当ではないと判断された場合には、別の方法で再確認するか、サービスを中断する。両方が正当である場合には、Step３以降の認証過程を継続する。
【０４００】
Step３：ローカル端末が、ローカル端末の端末情報（識別コード、機種、ＩＰアドレス、配置状態、所属、管理者、使用者、公開暗号化鍵など）と、読み書き装置を介して取得したユーザの情報（ＩＤ番号、職業、勤め先、連絡方法など）とを、サーバの公開鍵で暗号化し、サーバに送信することにより鍵情報の請求を行う。サーバの公開鍵は、ローカル端末において容易に得られるものであるとする。
【０４０１】
Step４：サーバでは、受信された情報から、ローカル端末とユーザの情報とを秘密鍵で復号化し、受信した情報の正当性を確認する。ローカル端末と携帯デバイスとのどちらかが正当ではない場合、サーバはローカル端末に対して追加確認をするか、サービスを中断する。どちらも正当である場合、Step５以降の認証過程を継続する。
【０４０２】
Step５：サーバでは、ユーザの情報に基づいて、ユーザテーブルから、ユーザの認証情報を再現するための鍵情報のα部分とβ部分の復号化鍵とをユーザテーブルから取得する。
Step６：そして、サーバでは、ユーザテーブルから取得した鍵情報をローカル端末の公開鍵を利用して暗号化し、端末に送る。
Step７：ローカル端末がサーバから受信した情報を秘密鍵で復号化する。
Step８：ローカル端末が、ユーザの認証情報を再現するための鍵情報（ステゴ鍵）のβ部分（暗号化したもの）を、携帯デバイスから取得し、取得した部分を、サーバから取得した復号化鍵を利用して復号化する。
Step９：ローカル端末が、ユーザの認証情報を再現するための鍵情報（αとβ）と、参照データ記憶装置に記録されるデータとを合わせて、ユーザの認証情報を再現する。
Step１０：再現したユーザ認証情報に基づいて、オペレータがユーザを認証する。
【０４０３】
このように認証処理を行うことにより、安全性の高い認証を行うことが可能となり、実施の形態１〜実施の形態６に示した秘密データの隠蔽処理および復元処理をより有効に利用することが可能となる。
【０４０４】
以上、本発明に係る秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラム及び秘密情報復元プログラムについて、実施の形態１〜実施の形態６で場合分けを行って詳細に説明を行ったが、本発明に係る秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラム及び秘密情報復元プログラムは、実施の形態１〜実施の形態６で説明した事例には限定されない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０４０５】
１     …秘密情報隠蔽装置
２     …秘密情報復元装置
３     …ネットワーク
４     …サーバ
６     …装置本体
７     …表示部
８     …データ入力部
９     …命令入力部
１０   …アルゴリズム実行部
１１   …通信部
１２   …補助記憶部
１５   …計算部（計算手段）
１６   …ＲＯＭ
１７   …ＲＡＭ
１８   …記憶部
２１、３１、４３、６１、７１、８１、９１   …データ変形部（データ変形手段）
２２、３２、４４、７２、８２、９２   …Ｆ０生成部（Ｆ０生成手段）
２３   …Ｉ０生成部（Ｉ０生成手段）
７４   …ステゴオブジェクト生成部（ステゴオブジェクト生成手段）
２４、３４、４７、６４、７５、８８、９８、１０３   …秘密データ記憶部
２５、３５、４８、６５、７６、８５、９５   …カバーデータ記憶部
２６、３６、４９、６６、７７、８６、９６   …ステゴ鍵記憶部
２７、３７、５０、６７、７８、８７、９７、１０１   …ステゴオブジェクト記憶部
２８、３８、５１、６８、７９、８９、９９   …ワーキングメモリ
３３、６３、８４、９４、１０２   …秘密データ再現部（秘密データ再現手段）
４１   …スケーリングファクター算出部（スケーリングファクター算出手段）
４２、６２   …貢献度算出部（貢献度算出手段）
４６   …モーフィングデータ生成部（モーフィングデータ生成手段）
７３、８３   …実質的カバーデータ生成部（実質的カバーデータ生成手段）
１１０   …認証システム
１１１   …リモートサーバ
１１２   …ローカル端末
１１２ａ  …カードリーダ
１１３   …カード
Ａ、Ｂ     …コンピュータ
【図１】
0005913041.tif 000232
【図２】
0005913041.tif 000233
【図３】
0005913041.tif 000234
【図４】
0005913041.tif 000235
【図５】
0005913041.tif 000236
【図６】
0005913041.tif 000237
【図７】
0005913041.tif 000238
【図８】
0005913041.tif 000239
【図９】
0005913041.tif 000240
【図１０】
0005913041.tif 000241
【図１１】
0005913041.tif 000242
【図１２】
0005913041.tif 000243
【図１４】
0005913041.tif 000244
【図１５】
0005913041.tif 000245
【図１６】
0005913041.tif 000246
【図１８】
0005913041.tif 000247
【図１９】
0005913041.tif 000248
【図２０】
0005913041.tif 000249
【図２１】
0005913041.tif 000250
【図２２】
0005913041.tif 000251
【図２３】
0005913041.tif 000252
【図２５】
0005913041.tif 000253
【図２６】
0005913041.tif 000254
【図１３】
0005913041.tif 000255
【図１７】
0005913041.tif 000256
【図２４】
0005913041.tif 000257