(57)【特許請求の範囲】
【請求項１】
ネットワークに接続され、記憶装置と制御部とを備える複数の情報隠蔽装置、
を具備し、
前記記憶装置は、
ＡＳＣＩＩ（Ａｍｅｒｉｃａｎ Ｓｔａｎｄａｒｄ Ｃｏｄｅ ｆｏｒ Ｉｎｆｏｒｍａｔｉｏｎ Ｉｎｔｅｒｃｈａｎｇｅ）文字を表す半角文字と全角文字とを複数対応付ける半角−全角文字対応表が格納された半角−全角文字記憶部と、
漢字、かな、カタカナを表す第１及び第２文字種と、所定のビット数で構成される部分ビット列とを複数対応付ける文字種−ビット列対応表が格納された文字種−ビット列記憶部と、
ビット列記憶部と、
を備え、
前記複数の情報隠蔽装置のうちの送り手側の情報隠蔽装置の前記ビット列記憶部には、ビット列に変換された秘密情報が格納され、
前記送り手側の情報隠蔽装置の前記制御部は、
前記半角−全角文字対応表を参照して、カバーテキストに記載された文字列の中から、前記ＡＳＣＩＩ文字を表す複数の検索文字列を検索し、
前記文字種−ビット列対応表を参照して、前記カバーテキストの文字列の中から、それぞれ前記複数の検索文字列の前後の文字を表す文字種として複数の第１及び第２候補文字種を検索し、
前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記秘密情報のビット列を部分ビット列群として分割したとき、前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索し、
前記半角−全角文字対応表を参照して、前記複数の検索文字列のうちの、前記第１及び第２置換用文字種群が表す文字に挟まれた置換用検索文字列群と、前記置換用検索文字列群以外の非置換用検索文字列とを検索し、
前記カバーテキストの文字列において、前記置換用検索文字列群の前記ＡＳＣＩＩ文字を前記半角文字に変換し、前記非置換用検索文字列の前記ＡＳＣＩＩ文字を前記全角文字に変換して、隠蔽テキストとして生成し、
前記隠蔽テキストを前記複数の情報隠蔽装置のうちの受け手側の情報隠蔽装置に前記ネットワークを介して送信し、
前記受け手側の情報隠蔽装置の前記制御部は、
前記送り手側の情報隠蔽装置からの前記隠蔽テキストを受信し、前記隠蔽テキストから前記秘密情報の部分ビット列群を抽出する、
情報隠蔽システム。
【請求項２】
前記受け手側の情報隠蔽装置の前記制御部は、
前記半角−全角文字対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記ＡＳＣＩＩ文字であり、且つ、半角を表す半角文字列群を抽出し、
前記文字種−ビット列対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記半角文字列群の前後の文字を表す文字種として前記第１及び第２置換用文字種群を抽出し、
前記文字種−ビット列対応表を参照して、それぞれ前記第１及び第２置換用文字種群に対応する部分ビット列群を前記秘密情報の部分ビット列群として抽出する、
請求項１に記載の情報隠蔽システム。
【請求項３】
前記受け手側の情報隠蔽装置の前記制御部は、
前記秘密情報の部分ビット列群を抽出したとき、当該抽出した秘密情報の部分ビット列群を前記受け手側の情報隠蔽装置の前記ビット列記憶部に格納する、
請求項２に記載の情報隠蔽システム。
【請求項４】
前記文字種−ビット列対応表の第１及び第２文字種のうちの１つの第１及び第２文字種は、第１及び第２検証用文字種を表し、
前記文字種−ビット列対応表の部分ビット列のうちの１つの部分ビット列は、検証用フラグとして検証用部分ビット列を表し、
前記送り手側の情報隠蔽装置の前記制御部は、
前記半角−全角文字対応表を参照して、前記複数の検索文字列のうちの、前記第１及び第２置換用文字種群が表す文字に挟まれた前記置換用検索文字列群と、前記第１及び第２検証用文字種が表す文字に挟まれた検証用検索文字列と、前記置換用検索文字列群及び前記検証用検索文字列以外の前記非置換用検索文字列とを検索し、
前記カバーテキストの文字列において、前記置換用検索文字列群及び前記検証用検索文字列の前記ＡＳＣＩＩ文字を前記半角文字に変換し、前記非置換用検索文字列の前記ＡＳＣＩＩ文字を前記全角文字に変換して、前記隠蔽テキストとして生成し、
前記受け手側の情報隠蔽装置の前記制御部は、
前記半角文字列群を抽出したとき、前記文字種−ビット列対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記半角文字列群の前後の文字を表す文字種として前記第１及び第２置換用文字種群と前記第１及び第２検証用文字種とを抽出し、
前記文字種−ビット列対応表を参照して、それぞれ前記第１及び第２置換用文字種群に対応する部分ビット列群を前記秘密情報の部分ビット列群として抽出し、前記第１及び第２検証用文字種に対応する部分ビット列を検証用フラグとして抽出する、
請求項２又は３に記載の情報隠蔽システム。
【請求項５】
前記文字種−ビット列対応表の部分ビット列は、前記文字種−ビット列対応表の第１及び第２文字種が表す文字に挟まれる検索文字列の文字数が奇数、偶数であることを想定した第１、第２パターンの部分ビット列を含み、
前記送り手側の情報隠蔽装置の前記ビット列記憶部に格納された前記秘密情報のビット列に前記第１パターンが適用されている場合、
前記送り手側の情報隠蔽装置の前記制御部は、
前記複数の第１及び第２候補文字種を検索し、前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記第１パターンにおける前記秘密情報のビット列を前記部分ビット列群として分割したとき、
前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記第１パターンにおける前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索し、
前記送り手側の情報隠蔽装置の前記ビット列記憶部に格納された前記秘密情報のビット列に前記第２パターンが適用されている場合、
前記送り手側の情報隠蔽装置の前記制御部は、
前記複数の第１及び第２候補文字種を検索し、前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記第２パターンにおける前記秘密情報のビット列を前記部分ビット列群として分割したとき、
前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記第２パターンにおける前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索する、
請求項１〜４のいずれかに記載の情報隠蔽システム。
【請求項６】
ネットワークに接続され、記憶装置と制御部とを備え、
前記記憶装置は、
ＡＳＣＩＩ（Ａｍｅｒｉｃａｎ Ｓｔａｎｄａｒｄ Ｃｏｄｅ ｆｏｒ Ｉｎｆｏｒｍａｔｉｏｎ Ｉｎｔｅｒｃｈａｎｇｅ）文字を表す半角文字と全角文字とを複数対応付ける半角−全角文字対応表が格納された半角−全角文字記憶部と、
漢字、かな、カタカナを表す第１及び第２文字種と、所定のビット数で構成される部分ビット列とを複数対応付ける文字種−ビット列対応表が格納された文字種−ビット列記憶部と、
ビット列記憶部と、
を備え、
自身が送り手側の情報隠蔽装置である場合、
前記ビット列記憶部には、ビット列に変換された秘密情報が格納され、
前記制御部は、
前記半角−全角文字対応表を参照して、カバーテキストに記載された文字列の中から、前記ＡＳＣＩＩ文字を表す複数の検索文字列を検索し、
前記文字種−ビット列対応表を参照して、前記カバーテキストの文字列の中から、それぞれ前記複数の検索文字列の前後の文字を表す文字種として複数の第１及び第２候補文字種を検索し、
前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記秘密情報のビット列を部分ビット列群として分割したとき、前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索し、
前記半角−全角文字対応表を参照して、前記複数の検索文字列のうちの、前記第１及び第２置換用文字種群が表す文字に挟まれた置換用検索文字列群と、前記置換用検索文字列群以外の非置換用検索文字列とを検索し、
前記カバーテキストの文字列において、前記置換用検索文字列群の前記ＡＳＣＩＩ文字を前記半角文字に変換し、前記非置換用検索文字列の前記ＡＳＣＩＩ文字を前記全角文字に変換して、隠蔽テキストとして生成し、
前記隠蔽テキストを受け手側に前記ネットワークを介して送信し、
自身が前記受け手側の情報隠蔽装置である場合、
前記制御部は、
前記送り手側からの前記隠蔽テキストを受信し、前記隠蔽テキストから前記秘密情報の部分ビット列群を抽出する、
情報隠蔽装置。
【請求項７】
自身が前記受け手側の情報隠蔽装置である場合、
前記制御部は、
前記半角−全角文字対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記ＡＳＣＩＩ文字であり、且つ、半角を表す半角文字列群を抽出し、
前記文字種−ビット列対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記半角文字列群の前後の文字を表す文字種として前記第１及び第２置換用文字種群を抽出し、
前記文字種−ビット列対応表を参照して、それぞれ前記第１及び第２置換用文字種群に対応する部分ビット列群を前記秘密情報の部分ビット列群として抽出する、
請求項６に記載の情報隠蔽装置。
【請求項８】
自身が前記受け手側の情報隠蔽装置である場合、
前記制御部は、
前記秘密情報の部分ビット列群を抽出したとき、当該抽出した秘密情報の部分ビット列群を前記ビット列記憶部に格納する、
請求項７に記載の情報隠蔽装置。
【請求項９】
前記文字種−ビット列対応表の第１及び第２文字種のうちの１つの第１及び第２文字種は、第１及び第２検証用文字種を表し、
前記文字種−ビット列対応表の部分ビット列のうちの１つの部分ビット列は、検証用フラグとして検証用部分ビット列を表し、
自身が前記送り手側の情報隠蔽装置である場合、
前記制御部は、
前記半角−全角文字対応表を参照して、前記複数の検索文字列のうちの、前記第１及び第２置換用文字種群が表す文字に挟まれた前記置換用検索文字列群と、前記第１及び第２検証用文字種が表す文字に挟まれた検証用検索文字列と、前記置換用検索文字列群及び前記検証用検索文字列以外の前記非置換用検索文字列とを検索し、
前記カバーテキストの文字列において、前記置換用検索文字列群及び前記検証用検索文字列の前記ＡＳＣＩＩ文字を前記半角文字に変換し、前記非置換用検索文字列の前記ＡＳＣＩＩ文字を前記全角文字に変換して、前記隠蔽テキストとして生成し、
自身が前記受け手側の情報隠蔽装置である場合、
前記制御部は、
前記半角文字列群を抽出したとき、前記文字種−ビット列対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記半角文字列群の前後の文字を表す文字種として前記第１及び第２置換用文字種群と前記第１及び第２検証用文字種とを抽出し、
前記文字種−ビット列対応表を参照して、それぞれ前記第１及び第２置換用文字種群に対応する部分ビット列群を前記秘密情報の部分ビット列群として抽出し、前記第１及び第２検証用文字種に対応する部分ビット列を検証用フラグとして抽出する、
請求項７又は８に記載の情報隠蔽装置。
【請求項１０】
前記文字種−ビット列対応表の部分ビット列は、前記文字種−ビット列対応表の第１及び第２文字種が表す文字に挟まれる検索文字列の文字数が奇数、偶数であることを想定した第１、第２パターンの部分ビット列を含み、
自身が前記送り手側の情報隠蔽装置であり、前記ビット列記憶部に格納された前記秘密情報のビット列に前記第１パターンが適用されている場合、
前記制御部は、
前記複数の第１及び第２候補文字種を検索し、前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記第１パターンにおける前記秘密情報のビット列を前記部分ビット列群として分割したとき、
前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記第１パターンにおける前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索し、
前記送り手側の情報隠蔽装置であり、前記ビット列記憶部に格納された前記秘密情報のビット列に前記第２パターンが適用されている場合、
前記制御部は、
前記複数の第１及び第２候補文字種を検索し、前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記第２パターンにおける前記秘密情報のビット列を前記部分ビット列群として分割したとき、
前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記第２パターンにおける前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索する、
請求項６〜９のいずれかに記載の情報隠蔽装置。
【請求項１１】
ネットワークに接続され、記憶装置と制御部とを備えた複数のコンピュータ間で秘密情報を隠蔽する情報隠蔽方法であって、
前記記憶装置は、
ＡＳＣＩＩ（Ａｍｅｒｉｃａｎ Ｓｔａｎｄａｒｄ Ｃｏｄｅ ｆｏｒ Ｉｎｆｏｒｍａｔｉｏｎ Ｉｎｔｅｒｃｈａｎｇｅ）文字を表す半角文字と全角文字とを複数対応付ける半角−全角文字対応表が格納された半角−全角文字記憶部と、
漢字、かな、カタカナを表す第１及び第２文字種と、所定のビット数で構成される部分ビット列とを複数対応付ける文字種−ビット列対応表が格納された文字種−ビット列記憶部と、
ビット列記憶部と
を備え、
前記複数のコンピュータのうちの送り手側のコンピュータの前記ビット列記憶部には、ビット列に変換された秘密情報が格納され、
前記送り手側のコンピュータの前記制御部は、
前記半角−全角文字記憶部の前記半角−全角文字対応表を参照して、カバーテキストに記載された文字列の中から、 前記ＡＳＣＩＩ文字を表す複数の検索文字列を検索するステップと、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記カバーテキストの文字列の中から、それぞれ前記複数の検索文字列の前後の文字を表す文字種として複数の第１及び第２候補文字種を検索するステップと、
前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記送り手側のコンピュータの前記ビット列記憶部に格納されている前記秘密情報のビット列を部分ビット列群として分割したとき、前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索するステップと、
前記半角−全角文字記憶部の前記半角−全角文字対応表を参照して、前記複数の検索文字列のうちの、前記第１及び第２置換用文字種群が表す文字に挟まれた置換用検索文字列群と、前記置換用検索文字列群以外の非置換用検索文字列とを検索するステップと、
前記カバーテキストの文字列において、前記置換用検索文字列群の前記ＡＳＣＩＩ文字を前記半角文字に変換し、前記非置換用検索文字列の前記ＡＳＣＩＩ文字を前記全角文字に変換して、隠蔽テキストとして生成するステップと、
前記隠蔽テキストを前記複数のコンピュータのうちの受け手側のコンピュータに前記ネットワークを介して送信するステップと
を具備し、
前記受け手側のコンピュータの前記制御部は、
前記送り手側のコンピュータからの前記隠蔽テキストを受信し、前記隠蔽テキストから前記秘密情報の部分ビット列群を抽出するステップ、
を具備する情報隠蔽方法。
【請求項１２】
前記受け手側のコンピュータの前記制御部は、
前記半角−全角文字記憶部の前記半角−全角文字対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記ＡＳＣＩＩ文字であり、且つ、半角を表す半角文字列群を抽出するステップと、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記半角文字列群の前後の文字を表す文字種として前記第１及び第２置換用文字種群を抽出するステップと、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、それぞれ前記第１及び第２置換用文字種群に対応する部分ビット列群を前記秘密情報の部分ビット列群として抽出するステップと
を更に具備する請求項１１に記載の情報隠蔽方法。
【請求項１３】
前記受け手側のコンピュータの前記制御部は、
前記秘密情報の部分ビット列群を抽出したとき、当該抽出した秘密情報の部分ビット列群を前記受け手側のコンピュータの前記ビット列記憶部に格納するステップ、
を更に具備する請求項１２に記載の情報隠蔽方法。
【請求項１４】
前記文字種−ビット列対応表の第１及び第２文字種のうちの１つの第１及び第２文字種は、第１及び第２検証用文字種を表し、
前記文字種−ビット列対応表の部分ビット列のうちの１つの部分ビット列は、検証用フラグとして検証用部分ビット列を表し、
前記送り手側のコンピュータの前記制御部は、
前記半角−全角文字記憶部の前記半角−全角文字対応表を参照して、前記複数の検索文字列のうちの、前記第１及び第２置換用文字種群が表す文字に挟まれた前記置換用検索文字列群と、前記第１及び第２検証用文字種が表す文字に挟まれた検証用検索文字列と、前記置換用検索文字列群及び前記検証用検索文字列以外の前記非置換用検索文字列とを検索するステップと、
前記カバーテキストの文字列において、前記置換用検索文字列群及び前記検証用検索文字列の前記ＡＳＣＩＩ文字を前記半角文字に変換し、前記非置換用検索文字列の前記ＡＳＣＩＩ文字を前記全角文字に変換して、前記隠蔽テキストとして生成するステップと
を更に具備し、
前記受け手側のコンピュータの前記制御部は、
前記半角文字列群を抽出したとき、前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記半角文字列群の前後の文字を表す文字種として前記第１及び第２置換用文字種群と前記第１及び第２検証用文字種とを抽出するステップと、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、それぞれ前記第１及び第２置換用文字種群に対応する部分ビット列群を前記秘密情報の部分ビット列群として抽出し、前記第１及び第２検証用文字種に対応する部分ビット列を検証用フラグとして抽出するステップと
を更に具備する請求項１２又は１３に記載の情報隠蔽方法。
【請求項１５】
前記文字種−ビット列対応表の部分ビット列は、前記文字種−ビット列対応表の第１及び第２文字種が表す文字に挟まれる検索文字列の文字数が奇数、偶数であることを想定した第１、第２パターンの部分ビット列を含み、
前記送り手側のコンピュータの前記ビット列記憶部に格納された前記秘密情報のビット列に前記第１パターンが適用されている場合、
前記送り手側のコンピュータの前記制御部は、
前記複数の第１及び第２候補文字種を検索し、前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記第１パターンにおける前記秘密情報のビット列を前記部分ビット列群として分割したとき、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記第１パターンにおける前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索するステップ
を更に具備し、
前記送り手側のコンピュータの前記ビット列記憶部に格納された前記秘密情報のビット列に前記第２パターンが適用されている場合、
前記送り手側のコンピュータの前記制御部は、
前記複数の第１及び第２候補文字種を検索し、前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記第２パターンにおける前記秘密情報のビット列を前記部分ビット列群として分割したとき、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記第２パターンにおける前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索するステップ
を更に具備する請求項１１〜１４のいずれかに記載の情報隠蔽方法。
【請求項１６】
ネットワークに接続され、記憶装置と制御部とを備えた複数のコンピュータのうち、送り手側のコンピュータと受け手側のコンピュータがそれぞれ備え、前記送り手側のコンピュータの前記制御部と前記受け手側のコンピュータの前記制御部にそれぞれ実行させるコンピュータプログラムであって、
前記記憶装置は、
ＡＳＣＩＩ（Ａｍｅｒｉｃａｎ Ｓｔａｎｄａｒｄ Ｃｏｄｅ ｆｏｒ Ｉｎｆｏｒｍａｔｉｏｎ Ｉｎｔｅｒｃｈａｎｇｅ）文字を表す半角文字と全角文字とを複数対応付ける半角−全角文字対応表が格納された半角−全角文字記憶部と、
漢字、かな、カタカナを表す第１及び第２文字種と、所定のビット数で構成される部分ビット列とを複数対応付ける文字種−ビット列対応表が格納された文字種−ビット列記憶部と、
ビット列記憶部と
を備え、
前記複数のコンピュータのうちの送り手側のコンピュータの前記ビット列記憶部には、ビット列に変換された秘密情報が格納され、
前記送り手側のコンピュータの前記制御部に、
前記半角−全角文字記憶部の前記半角−全角文字対応表を参照して、カバーテキストに記載された文字列の中から、 前記ＡＳＣＩＩ文字を表す複数の検索文字列を検索するステップと、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記カバーテキストの文字列の中から、それぞれ前記複数の検索文字列の前後の文字を表す文字種として複数の第１及び第２候補文字種を検索するステップと、
前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記送り手側のコンピュータの前記ビット列記憶部に格納されている前記秘密情報のビット列を部分ビット列群として分割したとき、前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索するステップと、
前記半角−全角文字記憶部の前記半角−全角文字対応表を参照して、前記複数の検索文字列のうちの、前記第１及び第２置換用文字種群が表す文字に挟まれた置換用検索文字列群と、前記置換用検索文字列群以外の非置換用検索文字列とを検索するステップと、
前記カバーテキストの文字列において、前記置換用検索文字列群の前記ＡＳＣＩＩ文字を前記半角文字に変換し、前記非置換用検索文字列の前記ＡＳＣＩＩ文字を前記全角文字に変換して、隠蔽テキストとして生成するステップと、
前記隠蔽テキストを前記受け手側のコンピュータに前記ネットワークを介して送信するステップと
を実行させ、
前記受け手側のコンピュータの前記制御部に、
前記送り手側のコンピュータからの前記隠蔽テキストを受信し、前記隠蔽テキストから前記秘密情報の部分ビット列群を抽出するステップ、
を実行させるコンピュータプログラム。
【請求項１７】
前記受け手側のコンピュータの前記制御部に、
前記半角−全角文字記憶部の前記半角−全角文字対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記ＡＳＣＩＩ文字であり、且つ、半角を表す半角文字列群を抽出するステップと、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記半角文字列群の前後の文字を表す文字種として前記第１及び第２置換用文字種群を抽出するステップと、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、それぞれ前記第１及び第２置換用文字種群に対応する部分ビット列群を前記秘密情報の部分ビット列群として抽出するステップと
を更に実行させる請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記受け手側のコンピュータの前記制御部に、
前記秘密情報の部分ビット列群を抽出したとき、当該抽出した秘密情報の部分ビット列群を前記受け手側のコンピュータの前記ビット列記憶部に格納するステップ、
を更に実行させる請求項１７に記載のコンピュータプログラム。
【請求項１９】
前記文字種−ビット列対応表の第１及び第２文字種のうちの１つの第１及び第２文字種は、第１及び第２検証用文字種を表し、
前記文字種−ビット列対応表の部分ビット列のうちの１つの部分ビット列は、検証用フラグとして検証用部分ビット列を表し、
前記送り手側のコンピュータの前記制御部に、
前記半角−全角文字記憶部の前記半角−全角文字対応表を参照して、前記複数の検索文字列のうちの、前記第１及び第２置換用文字種群が表す文字に挟まれた前記置換用検索文字列群と、前記第１及び第２検証用文字種が表す文字に挟まれた検証用検索文字列と、前記置換用検索文字列群及び前記検証用検索文字列以外の前記非置換用検索文字列とを
検索するステップと、
前記カバーテキストの文字列において、前記置換用検索文字列群及び前記検証用検索文字列の前記ＡＳＣＩＩ文字を前記半角文字に変換し、前記非置換用検索文字列の前記ＡＳＣＩＩ文字を前記全角文字に変換して、前記隠蔽テキストとして生成するステップと
を更に実行させ、
前記受け手側のコンピュータの前記制御部に、
前記半角文字列群を抽出したとき、前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記隠蔽テキストに記載された文字列の中から、前記半角文字列群の前後の文字を表す文字種として前記第１及び第２置換用文字種群と前記第１及び第２検証用文字種とを抽出するステップと、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、それぞれ前記第１及び第２置換用文字種群に対応する部分ビット列群を前記秘密情報の部分ビット列群として抽出し、前記第１及び第２検証用文字種に対応する部分ビット列を検証用フラグとして抽出するステップと
を更に実行させる請求項１７又は１８に記載のコンピュータプログラム。
【請求項２０】
前記文字種−ビット列対応表の部分ビット列は、前記文字種−ビット列対応表の第１及び第２文字種が表す文字に挟まれる検索文字列の文字数が奇数、偶数であることを想定した第１、第２パターンの部分ビット列を含み、
前記送り手側のコンピュータの前記ビット列記憶部に格納された前記秘密情報のビット列に前記第１パターンが適用されている場合、
前記送り手側のコンピュータの前記制御部に、
前記複数の第１及び第２候補文字種を検索し、前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記第１パターンにおける前記秘密情報のビット列を前記部分ビット列群として分割したとき、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記第１パターンにおける前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索するステップ
を更に実行させ、
前記送り手側のコンピュータの前記ビット列記憶部に格納された前記秘密情報のビット列に前記第２パターンが適用されている場合、
前記送り手側のコンピュータの前記制御部に、
前記複数の第１及び第２候補文字種を検索し、前記文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、前記第２パターンにおける前記秘密情報のビット列を前記部分ビット列群として分割したとき、
前記文字種−ビット列記憶部の前記文字種−ビット列対応表を参照して、前記複数の第１及び第２候補文字種の中から、それぞれ前記第２パターンにおける前記秘密情報の部分ビット列群に対応する前記第１及び第２置換用文字種群を検索するステップ
を更に実行させる請求項１６〜１９のいずれかに記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘密情報を隠蔽する情報隠蔽システム、装置及び方法に関する。
【背景技術】
【０００２】
送り手側が受け手側にだけ情報を伝えて、第三者に伝わらないように、送り手側が秘密情報を隠蔽してネットワークを介して受け手側に送信する情報隠蔽方法が利用されている。これまでの情報隠蔽方法では、画像や音声などを情報埋め込み媒体（カバーデータ）とするものが多い。この方法では、テキストをカバーデータ（カバーテキスト）とするものであっても行間を調整したり、空白や不可視な文字を挿入したりする画像レベルの操作がほとんどである。また、辞書に基づき単語レベルの置き換えによって情報を埋め込む方法もある。このような方法としては、ステガノグラフィなどが挙げられる。しかし、これらの方法には次のような問題がある。
【０００３】
その問題点とは、秘密情報を隠蔽している事実が露見されやすいことである。その理由としては、カバーテキストに不自然なコードが挿入されたり、単語の置き換えによって意味が変更したりすることで、秘密情報を隠蔽した痕跡が残ってしまうからである。このため、秘密情報が埋め込まれたカバーテキストが不自然になってしまい、第三者に秘密情報が隠蔽されていることを察知されやすい。送り手側において、秘密情報を隠蔽している事実が察知されない隠蔽テキストを生成できることが望まれる。
【０００４】
情報の埋め込みに関連する技術について紹介する。
【０００５】
特開２００５−１２４１３７号公報には、文章処理装置が記載されている（特許文献１）。文章処理装置は、テキストデータを入力する入力手段と、正規化手段と、埋め込みデータ生成手段と、埋め込み手段と、を備えることを特徴している。入力手段は、テキストデータを入力する。正規化手段は、テキストデータを所定の正規化方式を用いて正規化する。埋め込みデータ生成手段は、正規化されたデータに基づいて、埋め込みデータを生成する。埋め込み手段は、埋め込みデータをテキストデータに対して埋め込む。
【０００６】
特表２００５−５１２１６６号公報（特許文献２）に記載された方法は、テキスト文書の複数の単語間間隔にある見えない文字の選択された見えない属性を変更することによって、テキスト文書の中にデータを見えないように埋め込み隠すための方法であって、第１〜５ステップを含んでいる。第１ステップでは、単語間間隔として使用されるスペース文字において見えない、少なくとも１つの属性を選択する。第２ステップでは、テキスト文書の全ての単語間間隔において、選択された属性の値を同じデフォルト値に設定することによって、テキスト文書を標準形式に変換する。第３ステップでは、選択された属性の異なる値に対応する値の順序付けセットとして、テキスト文書の中に埋め込まれ隠されるデータを符号化する。第４ステップでは、テキスト文書中の全ての単語間間隔の中からテキスト文書の中にデータを埋め込み隠すために使用されるスペース文字のセットに対応する単語間間隔のセットを選択する。第５ステップでは、スペース文字のセットの各スペース文字において、デフォルト属性値を対応する符号化されたデータによって置き換える。
【０００７】
特開平１１−２８８２１６号公報には、電子文書の埋込情報の符号化方法が記載されている（特許文献３）。電子文書の埋込情報の符号化方法は、句読点が全角文字と半角文字＋半角空白とによって構成された電子文書の埋込情報の符号化方法であって、埋込情報をバイナリデータに変換し、変換したバイナリデータの符号を、全角文字と半角文字＋半角空白とで構成される句読点に割り当て、割り当てた符号を電子文書に埋め込むことを特徴としている。
【０００８】
【特許文献１】特開２００５−１２４１３７号公報
【特許文献２】特表２００５−５１２１６６号公報
【特許文献３】特開平１１−２８８２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明の課題は、秘密情報を隠蔽している事実が察知されない隠蔽テキストを生成することができる情報隠蔽システム、装置及び方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の情報隠蔽システムは、複数の情報隠蔽装置を具備している。複数の情報隠蔽装置は、ネットワークに接続され、記憶装置と制御部とを備えている。記憶装置は、半角−全角文字記憶部と、文字種−ビット列記憶部と、ビット列記憶部と、を備えている。半角−全角文字記憶部には、ＡＳＣＩＩ（Ａｍｅｒｉｃａｎ  Ｓｔａｎｄａｒｄ  Ｃｏｄｅ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｒｃｈａｎｇｅ）文字を表す半角文字と全角文字とを複数対応付ける半角−全角文字対応表が格納されている。文字種−ビット列記憶部には、漢字、かな、カタカナを表す第１及び第２文字種と、所定のビット数で構成される部分ビット列とを複数対応付ける文字種−ビット列対応表が格納されている。複数の情報隠蔽装置のうちの送り手側の情報隠蔽装置のビット列記憶部には、ビット列に変換された秘密情報が格納される。この場合、送り手側の情報隠蔽装置の制御部は、半角−全角文字対応表を参照して、カバーテキストに記載された文字列の中から、ＡＳＣＩＩ文字を表す複数の検索文字列を検索する。文字種−ビット列対応表を参照して、カバーテキストの文字列の中から、それぞれ複数の検索文字列の前後の文字を表す文字種として複数の第１及び第２候補文字種を検索する。文字種−ビット列対応表の部分ビット列と同じビット数で構成されるように、秘密情報のビット列を部分ビット列群として分割したとき、文字種−ビット列対応表を参照して、複数の第１及び第２候補文字種の中から、それぞれ秘密情報の部分ビット列群に対応する第１及び第２置換用文字種群を検索する。半角−全角文字対応表を参照して、複数の検索文字列のうちの、第１及び第２置換用文字種群が表す文字に挟まれた置換用検索文字列群と、置換用検索文字列群以外の非置換用検索文字列とを検索する。カバーテキストの文字列において、置換用検索文字列群のＡＳＣＩＩ文字を半角文字に変換し、非置換用検索文字列のＡＳＣＩＩ文字を全角文字に変換して、隠蔽テキストとして生成する。隠蔽テキストを複数の情報隠蔽装置のうちの受け手側の情報隠蔽装置にネットワークを介して送信する。受け手側の情報隠蔽装置の制御部は、送り手側の情報隠蔽装置からの隠蔽テキストを受信し、隠蔽テキストから秘密情報の部分ビット列群を抽出する。
【発明の効果】
【００１１】
本発明の情報隠蔽システムによれば、送り手側の情報隠蔽装置は、カバーテキストに不自然なコードを挿入されたり、単語の置き換えによってカバーテキストに記載された文字列（文章）の意味やレイアウトを変更したりしていない。送り手側の情報隠蔽装置は、隠蔽テキストを生成する際、カバーテキストの文字列において、秘密情報に関連する文字に挟まれたＡＳＣＩＩ文字（置換用検索文字列Ｃ）を半角文字列Ｃに変換し、秘密情報に関連しない文字に挟まれたＡＳＣＩＩ文字（非置換用検索文字列Ｃ）を全角文字列に変換している。即ち、送り手側の情報隠蔽装置では、半角文字と全角文字の変換によって、カバーテキストの変更を最小限に抑えることにより、秘密情報を隠蔽した痕跡が残らない。このように、本発明の情報隠蔽システムによれば、秘密情報を隠蔽している事実が察知されない隠蔽テキストを生成することができる。
【発明を実施するための最良の形態】
【００１２】
以下に添付図面を参照して、本発明の実施形態による情報隠蔽システムについて詳細に説明する。
【００１３】
（第１実施形態）
［構成］
図１は、本発明の実施形態による情報隠蔽システムを示している。情報隠蔽システムは、ネットワークに接続された複数の情報隠蔽装置を具備している。
【００１４】
複数の情報隠蔽装置の各々は、入力部１と、外部記憶装置２と、メモリ３と、制御部４と、出力部５と、を具備している。
【００１５】
外部記憶装置２は、半角−全角文字対応表が格納された半角−全角文字記憶部２１と、文字種−ビット列対応表が格納された文字種−ビット列記憶部２２と、を備えている。
【００１６】
メモリ３は、ビット列記憶部３１を備えている。
【００１７】
制御部４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。記憶装置（外部記憶装置又はメモリ）には、制御部に実行させるためのコンピュータプログラムが記憶されている。制御部４は、コンピュータ（情報隠蔽装置）が起動するときなどにコンピュータプログラムを記憶装置から読み取って実行する。そのコンピュータプログラムは、後述のビット列変換部４１、情報隠蔽部４２、情報復元部９１、ビット列復元部９２を含んでいる。
【００１８】
複数の情報隠蔽装置のうちの送り手側の情報隠蔽装置は、秘密情報１１をカバーテキスト１２に埋め込んで隠蔽テキスト５１を生成して、ネットワークを介して送信する。複数の情報隠蔽装置のうちの受け手側の情報隠蔽装置は、隠蔽テキスト６１から秘密情報１１を抽出し、抽出した秘密情報１１と、送り手側でカバーテキスト１２に埋め込まれた際の秘密情報１１とが同一であるか否かを判断する。
【００１９】
ここで、受け手側の情報隠蔽装置の構成と送り手側の情報隠蔽装置の構成との記載を区別するために、受け手側の情報隠蔽装置の入力部１、外部記憶装置２、メモリ３、制御部４、出力部５をそれぞれ入力部６、外部記憶装置７、メモリ８、制御部９、出力部１０と表記する。
【００２０】
また、受け手側の情報隠蔽装置における半角−全角文字記憶部２１、文字種−ビット列記憶部２２、ビット列記憶部３１をそれぞれ半角−全角文字記憶部７１、文字種−ビット列記憶部７２、ビット列記憶部８１と表記する。
【００２１】
送り手側の情報隠蔽装置の入力部１には、カバーテキスト１２と秘密情報１１とが与えられる。カバーテキスト１２はテキストファイルとし、埋め込み処理の対象となる半角文字を多く含む技術論文や統計資料などを想定する。秘密情報１１のデータ形式はテキストデータ又はバイナリデータとする。この場合、送り手側の情報隠蔽装置のビット列記憶部３１には、ビット列に変換された秘密情報１１が格納される。
【００２２】
図３は、半角−全角文字記憶部２１、７１に格納された半角−全角文字対応表を示している。半角−全角文字対応表は、ＡＳＣＩＩ（Ａｍｅｒｉｃａｎ  Ｓｔａｎｄａｒｄ  Ｃｏｄｅ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｒｃｈａｎｇｅ）文字を表す半角文字と全角文字とを複数対応付けている。ＡＳＣＩＩ文字については公知なので、ＡＳＣＩＩ文字やその種類についての説明を省略する。
【００２３】
図４は、文字種−ビット列記憶部２２、７２に格納された文字種−ビット列対応表を示している。文字種−ビット列対応表は、第１及び第２文字種Ａ→Ｂと、所定のビット数で構成される部分ビット列Ｈと、を複数対応付けている。第１及び第２文字種Ａ→Ｂは、後述の検索文字列の前後１文字の文字種であり、漢字、かな、カタカナを表している。
【００２４】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「ひらがな」、「ひらがな」である場合、「かな→かな」として表現する。この場合、部分ビット列Ｈは、検証用フラグを表している。以降、第１、第２文字種「かな→かな」を第１及び第２検証用文字種「かな→かな」と称することもある。部分ビット列Ｈが検証用フラグを表す場合、その部分ビット列Ｈを検証用部分ビット列と称することもある。
【００２５】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「ひらがな」、「カタカナ」である場合、「かな→カナ」として表現する。この場合、部分ビット列Ｈは、３ビットの情報として“０００”を表している。
【００２６】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「ひらがな」、「漢字」である場合、「かな→漢字」として表現する。この場合、部分ビット列Ｈは、３ビットの情報として“００１”を表している。
【００２７】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「カタカナ」、「ひらがな」である場合、「カナ→かな」として表現する。この場合、部分ビット列Ｈは、３ビットの情報として“０１０”を表している。
【００２８】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「カタカナ」、「カタカナ」である場合、「カナ→カナ」として表現する。この場合、部分ビット列Ｈは、３ビットの情報として“０１１”を表している。
【００２９】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「カタカナ」、「漢字」である場合、「カナ→漢字」として表現する。この場合、部分ビット列Ｈは、３ビットの情報として“１００”を表している。
【００３０】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「漢字」、「ひらがな」である場合、「漢字→かな」として表現する。この場合、部分ビット列Ｈは、３ビットの情報として“１０１”を表している。
【００３１】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「漢字」、「カタカナ」である場合、「漢字→カナ」として表現する。この場合、部分ビット列Ｈは、３ビットの情報として“１１０”を表している。
【００３２】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「漢字」、「漢字」である場合、「漢字→漢字」として表現する。この場合、部分ビット列Ｈは、３ビットの情報として“１１１”を表している。
【００３３】
送り手側の情報隠蔽装置の情報隠蔽部４２は、半角−全角文字記憶部２１に格納された半角−全角文字対応表を参照して、カバーテキスト１２に記載された文字列の中から、ＡＳＣＩＩ文字を表す複数の検索文字列Ｃを検索する。
【００３４】
次に、情報隠蔽部４２は、文字種−ビット列記憶部２２に格納された文字種−ビット列対応表を参照して、カバーテキスト１２の文字列の中から、それぞれ複数の検索文字列Ｃの前後の文字を表す文字種として複数の第１及び第２候補文字種｛Ａ→Ｂ｝を検索する。
【００３５】
次に、情報隠蔽部４２は、文字種−ビット列記憶部２２に格納された文字種−ビット列対応表の部分ビット列Ｈと同じビット数で構成されるように、秘密情報１１のビット列を部分ビット列Ｘ（ｐ）群として分割する。後述するが、実際には、部分ビット列Ｘ（ｐ）群の各々は、１番目から最終番目まで順番に処理される。この場合、情報隠蔽部４２は、文字種−ビット列記憶部２２に格納された文字種−ビット列対応表を参照して、複数の第１及び第２候補文字種｛Ａ→Ｂ｝の中から、それぞれ秘密情報１１の部分ビット列Ｘ（ｐ）群に対応する第１及び第２置換用文字種｛Ａ→Ｂ｝群を検索する。
【００３６】
次に、情報隠蔽部４２は、半角−全角文字記憶部２１に格納された半角−全角文字対応表を参照して、複数の検索文字列Ｃのうちの、第１及び第２置換用文字種｛Ａ→Ｂ｝群が表す文字に挟まれた置換用検索文字列Ｃ群を検索する。また、第１及び第２検証用文字種「かな→かな」が表す文字に挟まれた検証用検索文字列Ｃを検索する。また、置換用検索文字列Ｃ群及び検証用検索文字列Ｃ以外の非置換用検索文字列Ｃを検索する。
【００３７】
次に、送り手側の情報隠蔽装置のビット列変換部４１は、カバーテキスト１２の文字列において、置換用検索文字列Ｃ群及び検証用検索文字列ＣのＡＳＣＩＩ文字を半角文字に変換し、非置換用検索文字列ＣのＡＳＣＩＩ文字を全角文字に変換して、隠蔽テキスト５１として生成する。ビット列変換部４１は、隠蔽テキスト５１を受け手側の情報隠蔽装置に出力部５、ネットワークを介して送信し、受け手側の情報隠蔽装置の情報復元部９１は、送り手側の情報隠蔽装置からの隠蔽テキスト５１を隠蔽テキスト６１として、入力部６を介して受信する。具体的には、出力部５は、隠蔽テキスト５１を隠蔽テキスト６１として、第三者が参照可能なＷｅｂサイトなどに登録する。入力部６は、隠蔽テキスト６１をＷｅｂサイトからダウンロードする。
【００３８】
次に、受け手側の情報隠蔽装置の情報復元部９１は、半角−全角文字記憶部７１に格納された半角−全角文字対応表を参照して、隠蔽テキスト６１に記載された文字列の中から、ＡＳＣＩＩ文字であり、且つ、半角を表す半角文字列Ｃ群を抽出する。
【００３９】
次に、情報復元部９１は、文字種−ビット列記憶部７２に格納された文字種−ビット列対応表を参照して、隠蔽テキスト６１に記載された文字列の中から、半角文字列Ｃ群の前後の文字を表す文字種として、上記の第１及び第２置換用文字種｛Ａ→Ｂ｝群と第１及び第２検証用文字種「かな→かな」とを抽出する。
【００４０】
次に、受け手側の情報隠蔽装置のビット列復元部９２は、文字種−ビット列記憶部７２に格納された文字種−ビット列対応表を参照して、それぞれ第１及び第２置換用文字種｛Ａ→Ｂ｝群に対応する部分ビット列Ｈ｛Ａ→Ｂ｝群を秘密情報１１の部分ビット列Ｘ（ｐ）群として抽出する。
【００４１】
また、ビット列復元部９２は、文字種−ビット列記憶部７２に格納された文字種−ビット列対応表を参照して、第１及び第２検証用文字種「かな→かな」に対応する部分ビット列Ｈ｛Ａ→Ｂ｝を検証用フラグとして抽出する。ビット列復元部９２は、検証用フラグを抽出することにより、受け手側で抽出した秘密情報１１と、送り手側からの秘密情報１１とが同一であることを確認し、その旨を出力部１０に出力する。
【００４２】
ビット列復元部９２は、秘密情報１１のビット列を、受け手側の情報隠蔽装置のビット列記憶部８１に格納する。ビット列復元部９２は、ビット列記憶部８１に格納されたビット列を秘密情報１１に復元し、秘密情報１０１として出力部１０に出力する。
【００４３】
本発明の第１実施形態による情報隠蔽システムによれば、送り手側の情報隠蔽装置は、カバーテキスト１２に不自然なコードを挿入されたり、単語の置き換えによってカバーテキスト１２に記載された文字列（文章）の意味やレイアウトを変更したりしていない。送り手側の情報隠蔽装置は、隠蔽テキスト５１を生成する際、カバーテキスト１２の文字列において、秘密情報１１に関連する文字に挟まれたＡＳＣＩＩ文字（置換用検索文字列Ｃ）を半角文字列Ｃに変換し、秘密情報１１に関連しない文字に挟まれたＡＳＣＩＩ文字（非置換用検索文字列Ｃ）を全角文字列に変換している。即ち、送り手側の情報隠蔽装置では、半角文字と全角文字の変換によって、カバーテキスト１２の変更を最小限に抑えることにより、秘密情報１１を隠蔽した痕跡が残らない。このように、本発明の第１実施形態による情報隠蔽システムによれば、秘密情報１１を隠蔽している事実が察知されない隠蔽テキストを生成することができる。
【００４４】
受け手側の情報隠蔽装置では、隠蔽テキスト６１を受信して秘密情報１１を抽出したとき、その秘密情報１１が、送り手側の情報隠蔽装置からの隠蔽テキスト５１に含まれる秘密情報１１であるとは限らない。送り手側の情報隠蔽装置からの隠蔽テキスト５１が改ざんされている恐れがあるからである。この場合、受け手側において、受け手側で抽出した秘密情報１１と、送り手側でカバーテキスト１２に埋め込まれた秘密情報１１とが同一であるか否かを判断できること、即ち、秘密情報１１の正当性を判断することが望まれる。
【００４５】
そこで、本発明の第１実施形態による情報隠蔽システムによれば、送り手側の情報隠蔽装置は、隠蔽テキスト５１を生成する際、カバーテキスト１２の文字列において、秘密情報１１に関連する文字に挟まれたＡＳＣＩＩ文字（置換用検索文字列Ｃ）を半角文字列Ｃに変換し、検証用フラグに関連する文字に挟まれたＡＳＣＩＩ文字（検証用検索文字列Ｃ）を半角文字列Ｃに変換し、秘密情報１１及び検証用フラグに関連しない文字に挟まれたＡＳＣＩＩ文字（非置換用検索文字列Ｃ）を全角文字列に変換している。これにより、受け手側の情報隠蔽装置では、隠蔽テキスト６１を受信して秘密情報１１を抽出するときに検証用フラグも抽出した場合、受け手側で抽出した秘密情報１１と、送り手側でカバーテキスト１２に埋め込まれた秘密情報１１とが同一であることを確認することができる。このように、本発明の第１実施形態による情報隠蔽システムによれば、秘密情報１１の正当性を判断することができる。
【００４６】
［動作］
次に、図面を参照して本実施形態の動作について詳細に説明する。
【００４７】
図２は、情報隠蔽部４２が実行する埋め込み処理を示している。図５は、埋め込み処理における半角−全角変換処理Ａ３を示している。図６は、実際にカバーテキスト１２に秘密情報１１が埋め込まれる例を示している。
【００４８】
図２において、フラグ付加処理Ａ１は、ビット列記憶部３１に格納されている秘密情報１１のビット列を読み込み、情報復元部９１においてビット列の開始、終了位置が判別できるよう、フラグ（０１１１１１１０）を秘密情報１１のビット列の前後に付加する。またフラグとの誤認を防止するため、秘密情報１１のビット列で１が５回連続した場合、その直後に０を挿入する。以上の処理を行ったビット列を再びビット列記憶部３１に格納する。
【００４９】
続いて、置換文字検出処理Ａ２では、カバーテキスト１２を読み込み、半角−全角文字記憶部２１に格納された半角−全角文字対応表の半角文字及び全角文字を検索する。半角文字又は全角文字が連続して出現した場合は、連続した文字列を１つの候補とし、前後の１文字を含めて１つの検索結果とする。カバーテキスト１２全体に渡って検索することで複数の検索結果を得る。
【００５０】
続いて、半角−全角変換処理Ａ３の流れを図５で紹介する。処理の始めに、ビット列の読み込み位置であるポインタｐと検証フラグを挿入するカウンタｓを初期化する（Ａ３＿１）。置換文字検出処理Ａ２によって行われた検索結果から１つの結果を取り出し（Ａ３＿２）、検索文字列Ｃと前後の１文字をそれぞれＡ、Ｂとして格納する（Ａ３＿３）。ビット列記憶部３１に格納された秘密情報１１のビット列を埋め込むに当たっては、一つの検索文字列あたり３ビットが埋め込まれ、３回埋め込みを行うごとに検証用フラグを挿入する。そこで次に置換する文字列が、３ビットの情報か検証用フラグかを判別するためにカウンタｓを参照し、ｓが３の場合は（Ａ３＿４−ＹＥＳ）、検証用フラグを埋め込む処理を行い（Ａ３＿１３以降）、３以外の場合は（Ａ３＿４−ＮＯ）、３ビットの情報を埋め込む処理を行う（Ａ３＿５以降）。続いてポインタｐを参照し、秘密情報１１のビット列が全て埋め込まれたかどうかを判別する（Ａ３＿５）、全て埋め込まれていたら（Ａ３＿５−ＮＯ）、半角−全角処理Ａ３を終了し、文字列を半角−全角変換したカバーテキスト１２を隠蔽テキスト５１として出力する（Ａ３＿６）。
【００５１】
全て埋め込まれていない場合（Ａ３＿５−ＹＥＳ）、Ａ３＿７以降は、秘密情報１１のビット列をカバーテキスト１に埋め込む処理を行っている。まず、ビット列記憶部３１に格納されている秘密情報１１のビット列の位置ｐから３ビットを取り出しＸに格納したものをＸ（ｐ）とする（Ａ３＿７）。次に、検索文字列Ｃの前後の１文字Ａ、Ｂの文字種を文字コードから判別する（Ａ３＿８）。Ａの文字種とＢの文字種の配置関係をＨ｛Ａ→Ｂ｝とした場合、文字種−ビット列記憶部２２に格納された文字種−ビット列対応表を参照してＨ｛Ａ→Ｂ｝がＸ（ｐ）と一致するか判別する（Ａ３＿９）。もし一致した場合は（Ａ３＿９−ＹＥＳ）、ビット列の埋め込みが可能であると判断し、検索文字列Ｃが全角の場合、半角−全角文字記憶部２１の表に基づき半角文字に変換する（Ａ３＿１０）。ビット列の埋め込みが実施されたのでポインタｐ及びカウンタｓをカウントアップする（Ａ３＿１１）。また一致しなかった際は（Ａ３＿９−ＮＯ）、検索文字列Ｃが半角の場合、半角−全角文字記憶部２１に格納された半角−全角文字対応表に基づき全角文字に変換する（Ａ３＿１２）。以上の処理を、秘密情報１１のビット列が全てカバーテキスト１２に埋め込まれるまで繰り返し行う。
【００５２】
Ａ３＿１３以降は、検証用フラグを挿入するための処理を行っている。３ビットを３回埋め込むごとに検証用フラグを挿入することで、抽出時に隠蔽テキスト５１の改ざんにより秘密情報１１が破壊されていないか確認する。まず、Ａ３＿８と同様に検索文字列Ｃの前後の１文字Ａ、Ｂの文字種を文字コードから判別する（Ａ３＿１３）。続いてＡ、Ｂが検証用フラグを埋め込む文字種であるひらがなかどうかを判別し（Ａ３＿１４）、もしＡ、Ｂがひらがなでない場合は（Ａ３＿１４−ＮＯ）、Ａ３＿１２の処理を行い、Ａ、Ｂがひらがなとなる検索結果にヒットするまで繰り返しＡ３＿２からの処理を行う。もしＡ、Ｂがひらがなである場合は（Ａ３＿１４−ＹＥＳ）、Ａ３＿１０と同様に検索文字列Ｃを半角文字に変換する（Ａ３＿１５）。検証用フラグの埋め込みが行われたので、カウンタｓを０にリセットする（Ａ３＿１６）。
【００５３】
図７は、情報復元部９１が実行する抽出処理を示している。図８は、抽出処理におけるビット列抽出処理Ｂ２を示している。
【００５４】
図７において、半角文字検出処理Ｂ１では、隠蔽テキスト６１を読み込み、半角−全角文字記憶部７１に格納されている半角−全角文字対応表の半角文字を検索する。半角文字が連続して出現した場合は、連続した文字列を１つの候補とし、前後の１文字を含めて１つの検索結果とする。隠蔽テキスト６１全体に渡って検索することで複数の検索結果を得る。
【００５５】
続いて、ビット列抽出処理Ｂ２の流れを図８で紹介する。処理の始めに検証フラグの検出ポイントをカウントするカウンタｓを初期化する（Ｂ２＿１）。半角文字検出処理Ｂ１によって検出された文字列の結果リストから１つの結果を取り出し（Ｂ２＿２）、取り出す結果がない場合は（Ｂ２＿３−ＮＯ）、処理を終了する（Ｂ２＿４）。それ以外の場合（Ｂ２＿３−ＹＥＳ）は、以下の処理を繰り返し行う。まず半角文字列Ｃと前後の１文字をそれぞれＡ、Ｂとして格納する（Ｂ２＿５）。３回埋め込みを行うごとに検証用フラグが挿入されているのでカウンタｓが３の時は、Ｂ２＿１０以降の検証チェックを行い、３以外のときはＢ２＿７以降のビット列の抽出処理を行う（Ｂ２＿６）。
【００５６】
カウンタｓが３以外のときは（Ｂ２＿６−ＮＯ）、検索文字列Ｃの前後の１文字Ａ、Ｂの文字種を文字コードから判別する（Ｂ２＿７）。次に、文字種−ビット列記憶部７２の表を参照してＨ｛Ａ→Ｂ｝に対応したビット列をビット列記憶部８１に追加格納する（Ｂ２＿８）。ビット列の抽出が実施されたのでカウンタｓをカウントアップし（Ｂ２＿９）、次の結果に対して同様の処理を繰り返す。また、カウンタｓが３の時は（Ｂ２＿６−ＹＥＳ）、Ｂ２＿７と同様に検索文字列Ｃの前後の１文字Ａ、Ｂの文字種を文字コードから判別する（Ｂ２＿１０）。カウンタｓを０にリセットし（Ｂ２＿１１）、もしＡ、Ｂ双方が検証用フラグパターンであるひらがなである場合は（Ｂ２＿１２−ＹＥＳ）、問題ないものとして次の結果からビット列の抽出を行う。もしＡ、Ｂ双方がひらがなでない場合は（Ｂ２＿１２−ＮＯ）、隠蔽テキスト６１の秘密情報１１が含まれた文字列に何らかの改ざんが行われたものと判断する。正しいビット列が抽出できないことが判明するため、抽出処理Ｂを中断する（Ｂ２＿１３）。
【００５７】
最後にフラグ除去処理Ｂ３により、ビット列記憶部８１に格納されたビット列からフラグ（０１１１１１１０）に挟まれた部分を抽出し、そのビット列で１が５回連続して出現した場合、その直後の０を除去する。最後に、ビット列復元部９２によりビット列記憶部８１のビット列を復元し、秘密情報１０１として出力部１０に出力する。
【００５８】
［効果］
以上の説明により、本発明の第１実施形態による情報隠蔽システムによれば、送り手側の情報隠蔽装置は、カバーテキスト１２に不自然なコードを挿入されたり、単語の置き換えによってカバーテキスト１２に記載された文字列（文章）の意味やレイアウトを変更したりしていない。送り手側の情報隠蔽装置は、隠蔽テキスト５１を生成する際、カバーテキスト１２の文字列において、秘密情報１１に関連する文字に挟まれたＡＳＣＩＩ文字（置換用検索文字列Ｃ）を半角文字列Ｃに変換し、秘密情報１１に関連しない文字に挟まれたＡＳＣＩＩ文字（非置換用検索文字列Ｃ）を全角文字列に変換している。即ち、送り手側の情報隠蔽装置では、半角文字と全角文字の変換によって、カバーテキスト１２の変更を最小限に抑えることにより、秘密情報１１を隠蔽した痕跡が残らない。このように、本発明の第１実施形態による情報隠蔽システムによれば、秘密情報１１を隠蔽している事実が察知されない隠蔽テキストを生成することができる。
【００５９】
本発明の第１実施形態による情報隠蔽システムによれば、送り手側の情報隠蔽装置は、隠蔽テキスト５１を生成する際、カバーテキスト１２の文字列において、秘密情報１１に関連する文字に挟まれたＡＳＣＩＩ文字（置換用検索文字列Ｃ）を半角文字列Ｃに変換し、検証用フラグに関連する文字に挟まれたＡＳＣＩＩ文字（検証用検索文字列Ｃ）を半角文字列Ｃに変換し、秘密情報１１及び検証用フラグに関連しない文字に挟まれたＡＳＣＩＩ文字（非置換用検索文字列Ｃ）を全角文字列に変換している。これにより、受け手側の情報隠蔽装置では、隠蔽テキスト６１を受信して秘密情報１１を抽出するときに検証用フラグも抽出した場合、受け手側で抽出した秘密情報１１と、送り手側でカバーテキスト１２に埋め込まれた秘密情報１１とが同一であることを確認することができる。このように、本発明の第１実施形態による情報隠蔽システムによれば、秘密情報１１の正当性を判断することができる。
【００６０】
（第２実施形態）
第２実施形態では、第１実施形態と重複する説明を省略する。
【００６１】
［構成］
図９は、文字種−ビット列記憶部２２、７２に格納された文字種−ビット列対応表を示している。文字種−ビット列対応表は、第１及び第２文字種Ａ→Ｂと、所定のビット数で構成される部分ビット列Ｈと、を複数対応付けている。第１及び第２文字種Ａ→Ｂは、後述の検索文字列の前後１文字の文字種であり、漢字、かな、カタカナを表している。
【００６２】
文字種−ビット列対応表の部分ビット列Ｈは、文字種−ビット列対応表の第１及び第２文字種Ａ→Ｂが表す文字に挟まれる検索文字列の文字数が奇数、偶数であることを想定した第１、第２パターンの部分ビット列Ｈを含んでいる。これにより、１つの文字種の配置に対して４ビットの情報を隠蔽させることができる。
【００６３】
例えば、第１、第２文字種（第１及び第２検証用文字種）Ａ→Ｂがそれぞれ「かな→かな」である場合、第１、第２パターンにおける部分ビット列Ｈ（検証用部分ビット列）は、検証用フラグを表している。
【００６４】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「かな→カナ」である場合、第１パターンにおける部分ビット列Ｈは、４ビットの情報として“００００”を表し、第２パターンにおける部分ビット列Ｈは、４ビットの情報として“１１１１”を表している。
【００６５】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「かな→漢字」である場合、第１パターンにおける部分ビット列Ｈは、４ビットの情報として“０００１”を表し、第２パターンにおける部分ビット列Ｈは、４ビットの情報として“１１１０”を表している。
【００６６】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「カナ→かな」である場合、第１パターンにおける部分ビット列Ｈは、４ビットの情報として“００１０”を表し、第２パターンにおける部分ビット列Ｈは、４ビットの情報として“１１０１”を表している。
【００６７】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「カナ→カナ」である場合、第１パターンにおける部分ビット列Ｈは、４ビットの情報として“００１１”を表し、第２パターンにおける部分ビット列Ｈは、４ビットの情報として“１１００”を表している。
【００６８】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「カナ→漢字」である場合、第１パターンにおける部分ビット列Ｈは、４ビットの情報として“０１００”を表し、第２パターンにおける部分ビット列Ｈは、４ビットの情報として“１０１１”を表している。
【００６９】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「漢字→かな」である場合、第１パターンにおける部分ビット列Ｈは、４ビットの情報として“０１０１”を表し、第２パターンにおける部分ビット列Ｈは、４ビットの情報として“１０１０”を表している。
【００７０】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「漢字→カナ」である場合、第１パターンにおける部分ビット列Ｈは、４ビットの情報として“０１１０”を表し、第２パターンにおける部分ビット列Ｈは、４ビットの情報として“１００１”を表している。
【００７１】
例えば、第１、第２文字種Ａ→Ｂがそれぞれ「漢字→漢字」である場合、第１パターンにおける部分ビット列Ｈは、４ビットの情報として“０１１１”を表し、第２パターンにおける部分ビット列Ｈは、４ビットの情報として“１０００”を表している。
【００７２】
いま、送り手側の情報隠蔽装置のビット列記憶部３１に格納された秘密情報１１のビット列には第１パターンが適用されているものとする。この場合、送り手側の情報隠蔽装置の情報隠蔽部４２は、前述の第１実施形態と同様に、複数の第１及び第２候補文字種｛Ａ→Ｂ｝を検索する。
【００７３】
次に、情報隠蔽部４２は、文字種−ビット列記憶部２２に格納された文字種−ビット列対応表の部分ビット列Ｈと同じビット数で構成されるように、秘密情報１１のビット列を部分ビット列Ｘ（ｐ）群として分割する。この場合、情報隠蔽部４２は、文字種−ビット列記憶部２２に格納された文字種−ビット列対応表を参照して、複数の第１及び第２候補文字種｛Ａ→Ｂ｝の中から、それぞれ第１パターンにおける秘密情報１１の部分ビット列Ｘ（ｐ）群に対応する第１及び第２置換用文字種｛Ａ→Ｂ｝群を検索する。それ以降の処理は前述の第１実施形態と同様である。
【００７４】
いま、送り手側の情報隠蔽装置のビット列記憶部３１に格納された秘密情報１１のビット列には第２パターンが適用されているものとする。この場合、送り手側の情報隠蔽装置の情報隠蔽部４２は、前述の第１実施形態と同様に、複数の第１及び第２候補文字種｛Ａ→Ｂ｝を検索する。
【００７５】
次に、情報隠蔽部４２は、文字種−ビット列記憶部２２に格納された文字種−ビット列対応表の部分ビット列Ｈと同じビット数で構成されるように、秘密情報１１のビット列を部分ビット列Ｘ（ｐ）群として分割する。この場合、情報隠蔽部４２は、文字種−ビット列記憶部２２に格納された文字種−ビット列対応表を参照して、複数の第１及び第２候補文字種｛Ａ→Ｂ｝の中から、それぞれ第２パターンにおける秘密情報１１の部分ビット列Ｘ（ｐ）群に対応する第１及び第２置換用文字種｛Ａ→Ｂ｝群を検索する。それ以降の処理は前述の第１実施形態と同様である。
【００７６】
本発明の第２実施形態による情報隠蔽システムによれば、文字種−ビット列対応表の部分ビット列Ｈに２つのパターンの部分ビット列Ｈを含めることにより、仕様に応じたパターンにおける秘密情報１１をカバーテキスト１２に埋め込むことができる。また４ビットの情報を持つため、カバーテキスト１２により多くの秘密情報１１を埋め込むことができるようになる。
【００７７】
［動作］
次に、図面を参照して本実施形態の動作について詳細に説明する。
【００７８】
図１０は、埋め込み処理における半角−全角変換処理Ａ３を示している。図１０において、図５の半角−全角変換処理との違いを中心に説明する。
【００７９】
まず、Ａ３＿７に代えてＡ３＿７’が実行される。このＡ３＿７’においては対応表が持つ情報が４ビットになっているため、秘密情報１１のビット列も４ビットずつＸ（ｐ）へ格納を行う。
【００８０】
Ａ３＿９に代えてＡ３＿９’が実行される。このＡ３＿９’においては、１つの文字種の配置に対し２パターンのビット列があるため、Ｘ（ｐ）は２パターンのどちらか一方と一致すれば、真と判定する。
【００８１】
Ａ３＿１０においては以下の３つの処理が追加される。始めに検索文字列Ｃの文字数をカウントしＺに格納する（Ａ３＿１０（ａ））。次にＺにおけるＡ、Ｂの配置関係に対応したビット列を求め、もしＣの文字数が奇数となるＸ（ｐ）のビット列に対してＺが偶数となる場合、又はＣの文字数が偶数となるＸ（ｐ）のビット列に対してＺが奇数となる場合は（Ａ３＿１０（ｂ））、検索文字列Ｃの前に半角スペースを追加することにより、Ｚの文字数とＸ（ｐ）となるビット列の対応が取れるよう調整を行う（Ａ３＿１０（ｃ））。
【００８２】
Ａ３＿１１に代えてＡ３＿１１’が実行される。４ビットの埋め込みができたので、Ａ３＿１１’において、ポインタｐを４増加させる。ビット列抽出処理においても図８のＢ２＿８において、Ｈ｛Ａ→Ｂ、Ｚ｝で得られたビット列を収集することにより、秘密情報１１が秘密情報１０１として復元される。
【００８３】
［効果］
本発明の第２実施形態による情報隠蔽システムによれば、文字種−ビット列対応表の部分ビット列Ｈに２つのパターンの部分ビット列Ｈを含めることにより、仕様に応じたパターンにおける秘密情報１１をカバーテキスト１２に埋め込むことができる。また４ビットの情報を持つため、カバーテキスト１２により多くの秘密情報１１を埋め込むことができるようになる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態による情報隠蔽システムを示している（第１、第２実施形態）。
【図２】情報隠蔽部４２が実行する埋め込み処理を示している（第１、第２実施形態）。
【図３】半角−全角文字記憶部２１、７１に格納された半角−全角文字対応表を示している（第１、第２実施形態）。
【図４】文字種−ビット列記憶部２２、７２に格納された文字種−ビット列対応表を示している（第１実施形態）。
【図５】埋め込み処理における半角−全角変換処理Ａ３を示している（第１実施形態）。
【図６】実際にカバーテキスト１２に秘密情報１１が埋め込まれる例を示している（第１、第２実施形態）。
【図７】情報復元部９１が実行する抽出処理を示している（第１、第２実施形態）。
【図８】抽出処理におけるビット列抽出処理Ｂ２を示している（第１、第２実施形態）。
【図９】文字種−ビット列記憶部２２、７２に格納された文字種−ビット列対応表を示している（第２実施形態）。
【図１０】埋め込み処理における半角−全角変換処理Ａ３を示している（第２実施形態）。
【符号の説明】
【００８５】
１    入力部、
１１    秘密情報、
１２    カバーテキスト、
２    外部記憶装置、
２１    半角−全角文字記憶部、
２２    文字種−ビット列記憶部、
３    メモリ、
３１    ビット列記憶部、
４    制御部、
４１    ビット列変換部、
４２    情報隠蔽部、
５    出力部、
５１    隠蔽テキスト、
６    入力部、
６１    隠蔽テキスト、
７    外部記憶装置、
７１    半角−全角文字記憶部、
７２    文字種−ビット列記憶部、
８    メモリ、
８１    ビット列記憶部、
９    制御部、
９１    情報復元部、
９２    ビット列復元部、
１０    出力部、
１０１    秘密情報、
【図１】
0004863017.tif 000002
【図２】
0004863017.tif 000003
【図３】
0004863017.tif 000004
【図４】
0004863017.tif 000005
【図５】
0004863017.tif 000006
【図６】
0004863017.tif 000007
【図７】
0004863017.tif 000008
【図８】
0004863017.tif 000009
【図９】
0004863017.tif 000010
【図１０】
0004863017.tif 000011