(57)【要約】【課題】暗号化に用いたパスワードに関するヒントを、ユーザに簡便な方法で提示する。【解決手段】  暗号化処理ユニット１２０は、ユーザから、犬の名前「White John」なるパスワードの入力を受け、これをキーとして元ファイルＦ１を暗号化し、暗号ファイルＦ２を生成する。ファイル合成ユニット１３０は、ユーザが指定したヒント画像Ｈと、暗号ファイルＦ２とを合成し、全体として画像ファイルのフォーマットをなす合成画像ファイルＦ３を作成する。これを表示すると、一部にヒント画像Ｈが表示され、残りの部分に暗号ファイルＦ２の構成データからなる意味不明の暗号画像Ｅが表示される。復号時にユーザは、ヒント画像Ｈを見てパスワードを思い出し、これを入力する。合成画像ファイルＦ３から、暗号画像Ｅの部分のデータを分離し、入力されたパスワードを用いた復号化を行い、元ファイルＦ１を復元する。【選択図】図４
2010256953.tif 000002
【特許請求の範囲】
【請求項１】
データファイルを暗号化する処理を行う暗号化処理部と、暗号化されたデータファイルを復号化する処理を行う復号化処理部と、を備える暗号処理システムであって、
前記暗号化処理部は、
ユーザの指示に基づいて、暗号化の対象となる元ファイルと、暗号化用パスワードと、復号化の段階で提示すべきヒント画像と、を入力する暗号化用入力ユニットと、
前記元ファイルに対して、前記暗号化用パスワードを用いた所定の暗号化アルゴリズムに基づく暗号化処理を施し、暗号ファイルを作成する暗号化処理ユニットと、
前記ヒント画像を構成するデータと、前記暗号ファイルを構成するデータと、を合成し、「前記ヒント画像」と、「前記暗号ファイルを構成するデータの情報をもった画素の集合体からなる暗号画像」と、を含む合成画像を表示するための合成画像ファイルを作成するファイル合成ユニットと、
を有し、
前記復号化処理部は、
ユーザの指示に基づいて、前記合成画像ファイルと、前記暗号化用パスワードに対応した復号化用パスワードと、を入力する復号化用入力ユニットと、
前記合成画像ファイルに基づいて、前記合成画像を表示する合成画像表示ユニットと、
前記合成画像ファイルから、前記暗号ファイルを分離抽出するファイル分離ユニットと、
前記ファイル分離ユニットによって抽出された暗号ファイルに対して、前記復号化用パスワードを用いた所定の復号化アルゴリズムに基づく復号化処理を施し、前記元ファイルを復元する復号化処理ユニットと、
を有することを特徴とするファイルの暗号処理システム。
【請求項２】
請求項１に記載の暗号処理システムにおいて、
ファイル合成ユニットが、復号化処理部に伝達すべき補助情報を合成画像内に埋め込む処理を行い、
ファイル分離ユニットが、合成画像ファイルから、前記補助情報を分離抽出する処理を行うことを特徴とするファイルの暗号処理システム。
【請求項３】
請求項２に記載の暗号処理システムにおいて、
ファイル合成ユニットが、補助情報をもった画素の集合体からなる補助情報画像を作成し、ヒント画像と、暗号画像と、補助情報画像と、を含む合成画像を表示するための合成画像ファイルを作成し、
ファイル分離ユニットが、前記合成画像から、前記補助情報画像を切り出すことにより前記補助情報の分離抽出を行うことを特徴とするファイルの暗号処理システム。
【請求項４】
請求項２に記載の暗号処理システムにおいて、
ファイル合成ユニットが、補助情報をヒント画像内に潜像として埋め込む処理を行い、
ファイル分離ユニットが、前記ヒント画像内に潜像として埋め込まれている前記補助情報を読み出すことにより分離抽出を行うことを特徴とするファイルの暗号処理システム。
【請求項５】
請求項２〜４のいずれかに記載の暗号処理システムにおいて、
ファイル合成ユニットが、元ファイルのファイル名を含む補助情報を作成し、作成した合成画像ファイルには、新たなファイル名を付与し、
復号化処理ユニットが、ファイル分離ユニットによって分離抽出した補助情報に含まれているファイル名を、復元した元ファイルに付与することを特徴とするファイルの暗号処理システム。
【請求項６】
請求項２〜４のいずれかに記載の暗号処理システムにおいて、
ファイル合成ユニットが、元ファイルのファイル名に含まれている拡張子を利用して、当該拡張子を含む補助情報を作成し、合成画像ファイルには、当該合成画像ファイルのファイルフォーマットを示す新たな拡張子を含むファイル名を付与し、
復号化処理ユニットが、ファイル分離ユニットによって分離抽出した補助情報に含まれている拡張子を含むファイル名を、復元した元ファイルに付与することを特徴とするファイルの暗号処理システム。
【請求項７】
請求項２〜４のいずれかに記載の暗号処理システムにおいて、
ファイル合成ユニットが、暗号ファイルのデータ量を含む補助情報を作成し、
ファイル分離ユニットが、前記暗号ファイルのデータ量を参照して前記暗号ファイルを分離抽出することを特徴とするファイルの暗号処理システム。
【請求項８】
請求項７に記載の暗号処理システムにおいて、
暗号化用入力ユニットが、ユーザの指示に基づいて、ヒント画像のサイズを入力する機能を有し、
ファイル合成ユニットが、ヒント画像に対して前記サイズに適合するような変倍処理を実行し、前記ヒント画像のサイズを含む補助情報を作成して合成画像ファイルを作成し、
ファイル分離ユニットが、前記ヒント画像のサイズを参照して暗号ファイルを分離抽出することを特徴とするファイルの暗号処理システム。
【請求項９】
請求項７または８に記載の暗号処理システムにおいて、
暗号化用入力ユニットが、ユーザの指示に基づいて、ヒント画像の位置を入力する機能を有し、
ファイル合成ユニットが、前記ヒント画像の位置を含む補助情報を作成し、前記ヒント画像の位置を参照して合成画像ファイルを作成し、
ファイル分離ユニットが、前記ヒント画像の位置を参照して暗号ファイルを分離抽出することを特徴とするファイルの暗号処理システム。
【請求項１０】
請求項２〜４のいずれかに記載の暗号処理システムにおいて、
ファイル合成ユニットが、暗号化用パスワードもしくはその一部を含む補助情報を作成し、
ファイル分離ユニットが、復号化用パスワードもしくはその一部が、前記補助情報に含まれている前記暗号化用パスワードもしくはその一部に合致するか否かの判定を行い、
前記判定において、合致の判定結果が得られた場合にのみ、復号化処理ユニットにおける復号化処理が実行されることを特徴とするファイルの暗号処理システム。
【請求項１１】
請求項１０に記載の暗号処理システムにおいて、
暗号化処理ユニットが、暗号化用パスワードの第１の部分を用いて暗号化処理を行い、
復号化処理ユニットが、復号化用パスワードの第１の部分を用いて復号化処理を行い、
ファイル合成ユニットが、暗号化用パスワードの第２の部分を含む補助情報を作成し、
ファイル分離ユニットが、復号化用パスワードの第２の部分が、前記補助情報に含まれている前記暗号化用パスワードの第２の部分に合致することを条件として、暗号ファイルの分離抽出を行うことを特徴とするファイルの暗号処理システム。
【請求項１２】
請求項１〜１１のいずれかに記載の暗号処理システムにおいて、
ファイル合成ユニットが、１枚の合成画像内に暗号画像として収容可能な最大収容データ量を認識し、暗号ファイルを構成するデータの総量が前記最大収容データ量を超える場合には、前記暗号ファイルを構成するデータを、それぞれが前記最大収容データ量以下となる複数ｎ個のブロックに分割し、各ブロックのデータをそれぞれ暗号画像として収容する複数ｎ枚の合成画像を表示するための複数ｎ個の分割合成画像ファイルを作成し、
復号化用入力ユニットが、ユーザの指示に基づいて、前記ｎ個の分割合成画像ファイルを一群の関連ファイルとして入力する機能を有し、
合成画像表示ユニットが、少なくとも１つの分割合成画像ファイルに基づいて、ヒント画像が含まれている合成画像を表示する機能を有し、
ファイル分離ユニットが、前記ｎ個の分割合成画像ファイルから、それぞれ収容されていたブロックを分離抽出した上で、これらｎ個のブロックを合成することにより暗号ファイルを復元する機能を有することを特徴とするファイルの暗号処理システム。
【請求項１３】
請求項１２に記載の暗号処理システムにおいて、
ファイル合成ユニットが、複数ｎ枚の合成画像のいずれにも「ヒント画像」が含まれるように、複数ｎ個の分割合成画像ファイルを作成することを特徴とするファイルの暗号処理システム。
【請求項１４】
請求項１２に記載の暗号処理システムにおいて、
ファイル合成ユニットが、複数ｎ枚の合成画像の一部には「ヒント画像」が含まれるが、別な一部には「ヒント画像」が含まれないように、複数ｎ個の分割合成画像ファイルを作成することを特徴とするファイルの暗号処理システム。
【請求項１５】
請求項１２〜１４のいずれかに記載の暗号処理システムにおいて、
暗号化用入力ユニットが、ユーザの指示に基づいて、合成画像のサイズを入力する機能を有し、
ファイル合成ユニットが、前記合成画像のサイズを考慮して、最大収容データ量の認識を行うことを特徴とするファイルの暗号処理システム。
【請求項１６】
請求項１〜１５のいずれかに記載の暗号処理システムにおいて、
ファイル合成ユニットが、ｎ行ｍ列の画素配列（ｎ，ｍは整数）を形成することが可能な合成画像を作成する機能を有し、合成画像を構成するために用意されたデータの総量が、前記画素配列を定義するために必要なデータの総量に満たない場合には、不足部分にダミーデータを付加することにより、前記合成画像の作成を行うことを特徴とするファイルの暗号処理システム。
【請求項１７】
請求項１〜１６のいずれかに記載の暗号処理システムにおいて、
ファイル合成ユニットが、「ヒント画像」と「暗号画像」との境界部分に配置された「ダミーデータからなる境界画像」を含む合成画像を表示するための合成画像ファイルを作成することを特徴とするファイルの暗号処理システム。
【請求項１８】
請求項１〜１７のいずれかに記載の暗号処理システムにおいて、
ファイル合成ユニットが、合成画像を構成するデータの前にヘッダデータ、後にフッタデータを付加することにより、所定のフォーマットをもった合成画像ファイルを作成することを特徴とするファイルの暗号処理システム。
【請求項１９】
データファイルを暗号化する処理を行う暗号化処理部と、暗号化されたデータファイルを復号化する処理を行う復号化処理部と、を備える暗号処理システムであって、
前記暗号化処理部は、
ユーザの指示に基づいて、暗号化の対象となる元ファイルと、暗号化用パスワードと、復号化の段階で提示すべきヒント画像のデータを含むヒント画像ファイルと、を入力する暗号化用入力ユニットと、
前記元ファイルに対して、前記暗号化用パスワードを用いた所定の暗号化アルゴリズムに基づく暗号化処理を施し、暗号ファイルを作成する暗号化処理ユニットと、
前記ヒント画像ファイルを構成するデータの末尾に、前記暗号ファイルのデータを含む付加データを結合することにより、結合画像ファイルを作成するファイル結合ユニットと、
を有し、
前記復号化処理部は、
ユーザの指示に基づいて、前記結合画像ファイルと、前記暗号化用パスワードに対応した復号化用パスワードと、を入力する復号化用入力ユニットと、
前記結合画像ファイルに基づいて、前記ヒント画像を表示するヒント画像表示ユニットと、
前記結合画像ファイルから、前記暗号ファイルを分離抽出するファイル分離ユニットと、
前記ファイル分離ユニットによって抽出された暗号ファイルに対して、前記復号化用パスワードを用いた所定の復号化アルゴリズムに基づく復号化処理を施し、前記元ファイルを復元する復号化処理ユニットと、
を有することを特徴とするファイルの暗号処理システム。
【請求項２０】
請求項１９に記載の暗号処理システムにおいて、
暗号化用入力ユニットが、ヘッダ部と、画像データ本体部と、フッタ部と、によって構成されるヒント画像ファイルを入力し、
ファイル結合ユニットが、前記フッタ部を構成するデータの末尾に、付加データを結合することにより結合画像ファイルを作成し、
ヒント画像表示ユニットが、前記画像データ本体部に含まれる画像情報をヒント画像として提示し、
ファイル分離ユニットが、前記フッタ部の末尾を認識した上で、当該末尾とこれに後続する部分との間で、結合画像ファイルを分離することにより、暗号ファイルを分離抽出することを特徴とするファイルの暗号処理システム。
【請求項２１】
請求項２０に記載の暗号処理システムにおいて、
暗号化用入力ユニットが、フッタ部の末尾に、ファイルの末尾を示す末尾符号を配置するファイルフォーマットをとるヒント画像ファイルを入力し、
ファイル分離ユニットが、前記末尾符号に後続する部分を付加データと認識し、この付加データに基づいて、暗号ファイルを分離抽出することを特徴とするファイルの暗号処理システム。
【請求項２２】
請求項１９〜２１のいずれかに記載の暗号処理システムにおいて、
ファイル結合ユニットが、復号化処理部に伝達すべき補助情報を付加データに含ませる処理を行い、
ファイル分離ユニットが、結合画像ファイルから、前記補助情報を分離抽出する処理を行うことを特徴とするファイルの暗号処理システム。
【請求項２３】
請求項１９〜２１のいずれかに記載の暗号処理システムにおいて、
ファイル結合ユニットが、所定の移動規則に基づいて、暗号ファイルを構成するデータの一部を移動対象データとして選別し、前記暗号ファイル内の前記移動対象データを別なデータに置換もしくは削除する処理を施し、かつ、前記移動対象データをヒント画像内に潜像として埋め込む処理を施し、「置換もしくは削除処理後の暗号ファイル」および「埋込処理後のヒント画像ファイル」を用いて結合画像ファイルを作成する機能を有し、
復号化処理ユニットが、前記移動規則に基づいて、前記「埋込処理後のヒント画像ファイル」内に埋め込まれている前記移動対象データを抽出し、抽出した前記移動対象データを用いて、前記「置換もしくは削除処理後の暗号ファイル」を元の暗号ファイルに戻す機能を有することを特徴とするファイルの暗号処理システム。
【請求項２４】
請求項２３に記載の暗号処理システムにおいて、
ファイル結合ユニットが、採用した移動規則を示す補助情報を付加データに含ませる処理を行い、
ファイル分離ユニットが、結合画像ファイルから、前記補助情報を分離抽出する処理を行い、
復号化処理ユニットが、前記補助情報によって示される移動規則に基づいて、「置換もしくは削除処理後の暗号ファイル」を元の暗号ファイルに戻す処理を行うことを特徴とするファイルの暗号処理システム。
【請求項２５】
請求項１〜２４のいずれかに記載の暗号処理システムにおいて、
暗号化処理ユニットが、複数通りの暗号化アルゴリズムに基づく暗号化処理機能を有し、ユーザが選択した特定の暗号化アルゴリズムを用いた暗号化処理を実行し、
復号化処理ユニットが、前記複数通りの暗号化アルゴリズムに対応した複数通りの復号化アルゴリズムに基づく復号化処理機能を有し、ユーザが選択した特定の復号化アルゴリズムを用いた復号化処理を実行し、
暗号化用入力ユニットが、ユーザの指示に基づいて、特定の暗号化アルゴリズムを選択する入力を行い、
復号化用入力ユニットが、ユーザの指示に基づいて、特定の復号化アルゴリズムを選択する入力を行うことを特徴とするファイルの暗号処理システム。
【請求項２６】
請求項１〜２５のいずれかに記載の暗号処理システムの暗号化処理部によって構成される暗号化処理装置。
【請求項２７】
請求項１〜２５のいずれかに記載の暗号処理システムの復号化処理部によって構成される復号化処理装置。
【請求項２８】
請求項１〜２５のいずれかに記載の暗号処理システム、請求項２６に記載の暗号化処理装置、または、請求項２７に記載の復号化処理装置、としてコンピュータを機能させるためのプログラム。
【請求項２９】
データファイルを暗号化する暗号化処理方法であって、
コンピュータが、暗号化の対象となる元ファイルと暗号化用パスワードとを入力し、前記元ファイルに対して前記暗号化用パスワードを用いた所定の暗号化アルゴリズムに基づく暗号化処理を施し、暗号ファイルを作成する段階と、
コンピュータが、復号化の段階で提示すべきヒント画像を入力し、前記ヒント画像を構成するデータと、前記暗号ファイルを構成するデータと、を合成し、「前記ヒント画像」と、「前記暗号ファイルを構成するデータの情報をもった画素の集合体からなる暗号画像」と、を含む合成画像を表示するための合成画像ファイルを作成し、これを出力する段階と、
を有することを特徴とする暗号化処理方法。
【請求項３０】
請求項２９に記載の暗号化処理方法によって作成された合成画像ファイルから、元ファイルを復元する復号化処理方法であって、
コンピュータが、復号化の対象となる合成画像ファイルを入力し、この合成画像ファイルに基づいて、合成画像をディスプレイ上に表示する段階と、
コンピュータが、前記合成画像ファイルから、暗号ファイルを分離抽出する段階と、
コンピュータが、復号化用パスワードを入力し、前記暗号ファイルに対して、前記復号化用パスワードを用いた所定の復号化アルゴリズムに基づく復号化処理を施し、元ファイルを復元する段階と、
を有することを特徴とする復号化処理方法。
【請求項３１】
データファイルを暗号化する暗号化処理方法であって、
コンピュータが、暗号化の対象となる元ファイルと暗号化用パスワードとを入力し、前記元ファイルに対して前記暗号化用パスワードを用いた所定の暗号化アルゴリズムに基づく暗号化処理を施し、暗号ファイルを作成する段階と、
コンピュータが、復号化の段階で提示すべきヒント画像のデータを含むヒント画像ファイルを入力し、前記ヒント画像ファイルを構成するデータの末尾に、前記暗号ファイルのデータを含む付加データを結合することにより、結合画像ファイルを作成し、これを出力する段階と、
を有することを特徴とする暗号化処理方法。
【請求項３２】
請求項３１に記載の暗号化処理方法によって作成された結合画像ファイルから、元ファイルを復元する復号化処理方法であって、
コンピュータが、復号化の対象となる結合画像ファイルを入力し、この結合画像ファイルに基づいて、ヒント画像をディスプレイ上に表示する段階と、
コンピュータが、前記結合画像ファイルから、暗号ファイルを分離抽出する段階と、
コンピュータが、復号化用パスワードを入力し、前記暗号ファイルに対して、前記復号化用パスワードを用いた所定の復号化アルゴリズムに基づく復号化処理を施し、元ファイルを復元する段階と、
を有することを特徴とする復号化処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルの暗号処理システムに関し、特に、ファイルを任意の場所に安全に保管するための暗号化処理と、もとのファイルを復元するための復号化処理を行うシステムに関する。
【背景技術】
【０００２】
コンピュータの普及した今日では、産業界は勿論のこと、家庭においても、様々なデータファイルを取り扱う機会が増えている。対象となるファイルの種類も、文書データファイル、表計算データファイル、画像データファイル、動画データファイル、音楽データファイルなど多岐に渡っている。このような技術的背景を受けて、最近では、企業や個人からネットワークを介してデータファイルを預かり、これを保管するサービスを提供する業務も普及している。たとえば、下記の特許文献１には、インターネットを介して顧客から預かったデータファイルを安全に保管するために、保管対象となるデータファイルを分割して、複数の異なるサーバ装置にそれぞれ格納する技術が開示されている。
【０００３】
このようなインターネットを介したデータ保管サービスを利用すれば、世界中のどこからでもデータファイルを預けることができ、また、世界中のどこからでもデータファイルを取り出すことができるので、ユーザにとっての利便性は極めて高くなる。しかしながら、保管対象となるデータファイルについて、十分なセキュリティを確保するためには、保管時に暗号化を行うことが不可欠である。このため、この種のデータ保管サービスを利用する際には、ファイルの保管時に暗号化を行い、暗号ファイルをサーバに格納して保管するようにし、ファイルの取出時には、サーバから読み出した暗号ファイルに対して復号化を行って元のファイルに戻す手順を採るのが一般的である。多くの商用データ保管サービスでは、このようなデータの暗号化および復号化の処理を行う手段の提供も併せて行われている。
【０００４】
ファイルを暗号化する方法には、様々な暗号化アルゴリズムが知られているが、通常、ユーザが指定した暗号化用パスワード（暗号化キー）を利用して、元ファイルのデータに対して何らかの演算処理を施し、暗号ファイルを作成する手法がとられる。この場合、復号化には、復号化用パスワード（通常は、暗号化用パスワードと同一のパスワード）を用いる演算処理が利用される。したがって、復号化は、パスワードを知っている正規のユーザしか行うことができず、パスワードが第三者に知られない限り、十分なセキュリティを確保することが可能になる。その反面、正規のユーザであっても、パスワードを忘れてしまった場合には、元ファイルの復元を行うことができなくなってしまう。
【０００５】
このため、パスワードを失念するおそれのあるユーザに対して、その利便性を向上させるために、パスワードに関するヒントを提示する技術も提案されている。たとえば、下記の特許文献２には、ユーザが入力したパスワードが誤ったものであった場合、エラーメッセージに日付を含むヒントを提示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４１０７３７０号公報
【特許文献２】特開２００６−６５８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したとおり、データファイルの保管サービスを利用するユーザにとって、暗号化および復号化に用いるパスワードを暗記しておくことは必須の事項であるが、ユーザに大きな負担をかける要因にもなる。特に、セキュリティを向上させるためには、データファイルやこれを収容するフォルダの種別ごとに、あるいは、業務の種別ごとに、複数のパスワードを使い分けるのが好ましいとされているが、実用上、どのデータファイルにどのパスワードを使ったかを正確に記憶しておくことは困難である。また、データファイルの種別ごとに、複数の暗号化アルゴリズム（暗号化アプリケーションソフトウエア）を使い分けるような利用形態をとる場合、どのデータファイルにどの暗号化アルゴリズムを使ったかを記憶しておく必要も生じるため、ユーザの負担は更に重くなる。
【０００８】
そこで、ユーザの負担を軽減するために、たとえば、前掲の特許文献２に開示されているように、ユーザにパスワードに関するヒントを提示する方法も提案されている。しかしながら、従来提案されているヒント提示方法では、保管サービスを提供するシステム側からユーザ側に、ヒントを示す文字列などを能動的に提示する仕組みが必要になるため、データファイルを保管するシステム側の負担が大きくなるという問題がある。また、実用上、このような仕組みの導入は、ユーザが「当該保管サービスの提供業者は絶対に信頼できる」との確信をもっている場合に限られる。
【０００９】
そこで、本発明は、暗号化に用いたパスワードに関するヒントを、ユーザに簡便な方法で提示することが可能なファイルの暗号処理システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
(1)   本発明の第１の態様は、データファイルを暗号化する処理を行う暗号化処理部と、暗号化されたデータファイルを復号化する処理を行う復号化処理部と、を備える暗号処理システムにおいて、
暗号化処理部に、
ユーザの指示に基づいて、暗号化の対象となる元ファイルと、暗号化用パスワードと、復号化の段階で提示すべきヒント画像と、を入力する暗号化用入力ユニットと、
元ファイルに対して、暗号化用パスワードを用いた所定の暗号化アルゴリズムに基づく暗号化処理を施し、暗号ファイルを作成する暗号化処理ユニットと、
ヒント画像を構成するデータと、暗号ファイルを構成するデータと、を合成し、「ヒント画像」と、「暗号ファイルを構成するデータの情報をもった画素の集合体からなる暗号画像」と、を含む合成画像を表示するための合成画像ファイルを作成するファイル合成ユニットと、
を設け、
復号化処理部に、
ユーザの指示に基づいて、合成画像ファイルと、暗号化用パスワードに対応した復号化用パスワードと、を入力する復号化用入力ユニットと、
合成画像ファイルに基づいて、合成画像を表示する合成画像表示ユニットと、
合成画像ファイルから、暗号ファイルを分離抽出するファイル分離ユニットと、
ファイル分離ユニットによって抽出された暗号ファイルに対して、復号化用パスワードを用いた所定の復号化アルゴリズムに基づく復号化処理を施し、元ファイルを復元する復号化処理ユニットと、
を設けるようにしたものである。
【００１１】
(2)   本発明の第２の態様は、上述の第１の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、復号化処理部に伝達すべき補助情報を合成画像内に埋め込む処理を行い、
ファイル分離ユニットが、合成画像ファイルから、補助情報を分離抽出する処理を行うようにしたものである。
【００１２】
(3)   本発明の第３の態様は、上述の第２の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、補助情報をもった画素の集合体からなる補助情報画像を作成し、ヒント画像と、暗号画像と、補助情報画像と、を含む合成画像を表示するための合成画像ファイルを作成し、
ファイル分離ユニットが、合成画像から、補助情報画像を切り出すことにより補助情報の分離抽出を行うようにしたものである。
【００１３】
(4)   本発明の第４の態様は、上述の第２の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、補助情報をヒント画像内に潜像として埋め込む処理を行い、
ファイル分離ユニットが、ヒント画像内に潜像として埋め込まれている補助情報を読み出すことにより分離抽出を行うようにしたものである。
【００１４】
(5)   本発明の第５の態様は、上述の第２〜第４の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、元ファイルのファイル名を含む補助情報を作成し、作成した合成画像ファイルには、新たなファイル名を付与し、
復号化処理ユニットが、ファイル分離ユニットによって分離抽出した補助情報に含まれているファイル名を、復元した元ファイルに付与するようにしたものである。
【００１５】
(6)   本発明の第６の態様は、上述の第２〜第４の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、元ファイルのファイル名に含まれている拡張子を利用して、当該拡張子を含む補助情報を作成し、合成画像ファイルには、当該合成画像ファイルのファイルフォーマットを示す新たな拡張子を含むファイル名を付与し、
復号化処理ユニットが、ファイル分離ユニットによって分離抽出した補助情報に含まれている拡張子を含むファイル名を、復元した元ファイルに付与するようにしたものである。
【００１６】
(7)   本発明の第７の態様は、上述の第２〜第４の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、暗号ファイルのデータ量を含む補助情報を作成し、
ファイル分離ユニットが、暗号ファイルのデータ量を参照して暗号ファイルを分離抽出するようにしたものである。
【００１７】
(8)   本発明の第８の態様は、上述の第７の態様に係るファイルの暗号処理システムにおいて、
暗号化用入力ユニットが、ユーザの指示に基づいて、ヒント画像のサイズを入力する機能を有し、
ファイル合成ユニットが、ヒント画像に対してサイズに適合するような変倍処理を実行し、ヒント画像のサイズを含む補助情報を作成して合成画像ファイルを作成し、
ファイル分離ユニットが、ヒント画像のサイズを参照して暗号ファイルを分離抽出するようにしたものである。
【００１８】
(9)   本発明の第９の態様は、上述の第７または第８の態様に係るファイルの暗号処理システムにおいて、
暗号化用入力ユニットが、ユーザの指示に基づいて、ヒント画像の位置を入力する機能を有し、
ファイル合成ユニットが、ヒント画像の位置を含む補助情報を作成し、ヒント画像の位置を参照して合成画像ファイルを作成し、
ファイル分離ユニットが、ヒント画像の位置を参照して暗号ファイルを分離抽出するようにしたものである。
【００１９】
(10)  本発明の第１０の態様は、上述の第２〜第４の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、暗号化用パスワードもしくはその一部を含む補助情報を作成し、
ファイル分離ユニットが、復号化用パスワードもしくはその一部が、補助情報に含まれている暗号化用パスワードもしくはその一部に合致するか否かの判定を行い、
この判定において、合致の判定結果が得られた場合にのみ、復号化処理ユニットにおける復号化処理が実行されるようにしたものである。
【００２０】
(11)  本発明の第１１の態様は、上述の第１０の態様に係るファイルの暗号処理システムにおいて、
暗号化処理ユニットが、暗号化用パスワードの第１の部分を用いて暗号化処理を行い、
復号化処理ユニットが、復号化用パスワードの第１の部分を用いて復号化処理を行い、
ファイル合成ユニットが、暗号化用パスワードの第２の部分を含む補助情報を作成し、
ファイル分離ユニットが、復号化用パスワードの第２の部分が、補助情報に含まれている暗号化用パスワードの第２の部分に合致することを条件として、暗号ファイルの分離抽出を行うようにしたものである。
【００２１】
(12)  本発明の第１２の態様は、上述の第１〜第１１の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、１枚の合成画像内に暗号画像として収容可能な最大収容データ量を認識し、暗号ファイルを構成するデータの総量が最大収容データ量を超える場合には、暗号ファイルを構成するデータを、それぞれが最大収容データ量以下となる複数ｎ個のブロックに分割し、各ブロックのデータをそれぞれ暗号画像として収容する複数ｎ枚の合成画像を表示するための複数ｎ個の分割合成画像ファイルを作成し、
復号化用入力ユニットが、ユーザの指示に基づいて、ｎ個の分割合成画像ファイルを一群の関連ファイルとして入力する機能を有し、
合成画像表示ユニットが、少なくとも１つの分割合成画像ファイルに基づいて、ヒント画像が含まれている合成画像を表示する機能を有し、
ファイル分離ユニットが、ｎ個の分割合成画像ファイルから、それぞれ収容されていたブロックを分離抽出した上で、これらｎ個のブロックを合成することにより暗号ファイルを復元する機能を有するようにしたものである。
【００２２】
(13)  本発明の第１３の態様は、上述の第１２の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、複数ｎ枚の合成画像のいずれにも「ヒント画像」が含まれるように、複数ｎ個の分割合成画像ファイルを作成するようにしたものである。
【００２３】
(14)  本発明の第１４の態様は、上述の第１２の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、複数ｎ枚の合成画像の一部には「ヒント画像」が含まれるが、別な一部には「ヒント画像」が含まれないように、複数ｎ個の分割合成画像ファイルを作成するようにしたものである。
【００２４】
(15)  本発明の第１５の態様は、上述の第１２〜第１４の態様に係るファイルの暗号処理システムにおいて、
暗号化用入力ユニットが、ユーザの指示に基づいて、合成画像のサイズを入力する機能を有し、
ファイル合成ユニットが、合成画像のサイズを考慮して、最大収容データ量の認識を行うようにしたものである。
【００２５】
(16)  本発明の第１６の態様は、上述の第１〜第１５の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、ｎ行ｍ列の画素配列（ｎ，ｍは整数）を形成することが可能な合成画像を作成する機能を有し、合成画像を構成するために用意されたデータの総量が、画素配列を定義するために必要なデータの総量に満たない場合には、不足部分にダミーデータを付加することにより、合成画像の作成を行うようにしたものである。
【００２６】
(17)  本発明の第１７の態様は、上述の第１〜第１６の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、「ヒント画像」と「暗号画像」との境界部分に配置された「ダミーデータからなる境界画像」を含む合成画像を表示するための合成画像ファイルを作成するようにしたものである。
【００２７】
(18)  本発明の第１８の態様は、上述の第１〜第１７の態様に係るファイルの暗号処理システムにおいて、
ファイル合成ユニットが、合成画像を構成するデータの前にヘッダデータ、後にフッタデータを付加することにより、所定のフォーマットをもった合成画像ファイルを作成するようにしたものである。
【００２８】
(19)  本発明の第１９の態様は、データファイルを暗号化する処理を行う暗号化処理部と、暗号化されたデータファイルを復号化する処理を行う復号化処理部と、を備える暗号処理システムにおいて、
暗号化処理部に、
ユーザの指示に基づいて、暗号化の対象となる元ファイルと、暗号化用パスワードと、復号化の段階で提示すべきヒント画像のデータを含むヒント画像ファイルと、を入力する暗号化用入力ユニットと、
元ファイルに対して、暗号化用パスワードを用いた所定の暗号化アルゴリズムに基づく暗号化処理を施し、暗号ファイルを作成する暗号化処理ユニットと、
ヒント画像ファイルを構成するデータの末尾に、暗号ファイルのデータを含む付加データを結合することにより、結合画像ファイルを作成するファイル結合ユニットと、
を設け、
復号化処理部に、
ユーザの指示に基づいて、結合画像ファイルと、暗号化用パスワードに対応した復号化用パスワードと、を入力する復号化用入力ユニットと、
結合画像ファイルに基づいて、ヒント画像を表示するヒント画像表示ユニットと、
結合画像ファイルから、暗号ファイルを分離抽出するファイル分離ユニットと、
ファイル分離ユニットによって抽出された暗号ファイルに対して、復号化用パスワードを用いた所定の復号化アルゴリズムに基づく復号化処理を施し、元ファイルを復元する復号化処理ユニットと、
を設けるようにしたものである。
【００２９】
(20)  本発明の第２０の態様は、上述の第１９の態様に係るファイルの暗号処理システムにおいて、
暗号化用入力ユニットが、ヘッダ部と、画像データ本体部と、フッタ部と、によって構成されるヒント画像ファイルを入力し、
ファイル結合ユニットが、フッタ部を構成するデータの末尾に、付加データを結合することにより結合画像ファイルを作成し、
ヒント画像表示ユニットが、画像データ本体部に含まれる画像情報をヒント画像として提示し、
ファイル分離ユニットが、フッタ部の末尾を認識した上で、当該末尾とこれに後続する部分との間で、結合画像ファイルを分離することにより、暗号ファイルを分離抽出するようにしたものである。
【００３０】
(21)  本発明の第２１の態様は、上述の第２０の態様に係るファイルの暗号処理システムにおいて、
暗号化用入力ユニットが、フッタ部の末尾に、ファイルの末尾を示す末尾符号を配置するファイルフォーマットをとるヒント画像ファイルを入力し、
ファイル分離ユニットが、末尾符号に後続する部分を付加データと認識し、この付加データに基づいて、暗号ファイルを分離抽出するようにしたものである。
【００３１】
(22)  本発明の第２２の態様は、上述の第１９〜第２１の態様に係るファイルの暗号処理システムにおいて、
ファイル結合ユニットが、復号化処理部に伝達すべき補助情報を付加データに含ませる処理を行い、
ファイル分離ユニットが、結合画像ファイルから、補助情報を分離抽出する処理を行うようにしたものである。
【００３２】
(23)  本発明の第２３の態様は、上述の第１９〜第２１の態様に係るファイルの暗号処理システムにおいて、
ファイル結合ユニットが、所定の移動規則に基づいて、暗号ファイルを構成するデータの一部を移動対象データとして選別し、暗号ファイル内の移動対象データを別なデータに置換もしくは削除する処理を施し、かつ、この移動対象データをヒント画像内に潜像として埋め込む処理を施し、「置換もしくは削除処理後の暗号ファイル」および「埋込処理後のヒント画像ファイル」を用いて結合画像ファイルを作成する機能を有し、
復号化処理ユニットが、上記移動規則に基づいて、「埋込処理後のヒント画像ファイル」内に埋め込まれている移動対象データを抽出し、抽出した移動対象データを用いて、「置換もしくは削除処理後の暗号ファイル」を元の暗号ファイルに戻す機能を有するようにしたものである。
【００３３】
(24)  本発明の第２４の態様は、上述の第２３の態様に係るファイルの暗号処理システムにおいて、
ファイル結合ユニットが、採用した移動規則を示す補助情報を付加データに含ませる処理を行い、
ファイル分離ユニットが、結合画像ファイルから、補助情報を分離抽出する処理を行い、
復号化処理ユニットが、補助情報によって示される移動規則に基づいて、「置換もしくは削除処理後の暗号ファイル」を元の暗号ファイルに戻す処理を行うようにしたものである。
【００３４】
(25)  本発明の第２５の態様は、上述の第１〜第２４の態様に係るファイルの暗号処理システムにおいて、
暗号化処理ユニットが、複数通りの暗号化アルゴリズムに基づく暗号化処理機能を有し、ユーザが選択した特定の暗号化アルゴリズムを用いた暗号化処理を実行し、
復号化処理ユニットが、複数通りの暗号化アルゴリズムに対応した複数通りの復号化アルゴリズムに基づく復号化処理機能を有し、ユーザが選択した特定の復号化アルゴリズムを用いた復号化処理を実行し、
暗号化用入力ユニットが、ユーザの指示に基づいて、特定の暗号化アルゴリズムを選択する入力を行い、
復号化用入力ユニットが、ユーザの指示に基づいて、特定の復号化アルゴリズムを選択する入力を行うようにしたものである。
【００３５】
(26)  本発明の第２６の態様は、上述の第１〜第２５の態様に係るファイルの暗号処理システムの暗号化処理部によって暗号化処理装置を構成したものである。
【００３６】
(27)  本発明の第２７の態様は、上述の第１〜第２５の態様に係るファイルの暗号処理システムの復号化処理部によって復号化処理装置を構成したものである。
【００３７】
(28)  本発明の第２８の態様は、上述の第１〜第２５の態様に係るファイルの暗号処理システム、上述の第２６の態様に係る暗号化処理装置、上述の第２７の態様に係る復号化処理装置を、コンピュータにプログラムを組み込むことにより構成したものである。
【００３８】
(29)  本発明の第２９の態様は、データファイルを暗号化する暗号化処理方法において、
コンピュータが、暗号化の対象となる元ファイルと暗号化用パスワードとを入力し、元ファイルに対して暗号化用パスワードを用いた所定の暗号化アルゴリズムに基づく暗号化処理を施し、暗号ファイルを作成する段階と、
コンピュータが、復号化の段階で提示すべきヒント画像を入力し、ヒント画像を構成するデータと、暗号ファイルを構成するデータと、を合成し、「ヒント画像」と、「暗号ファイルを構成するデータの情報をもった画素の集合体からなる暗号画像」と、を含む合成画像を表示するための合成画像ファイルを作成し、これを出力する段階と、
を行うようにしたものである。
【００３９】
(30)  本発明の第３０の態様は、上述の第２９の態様に係る暗号化処理方法によって作成された合成画像ファイルから、元ファイルを復元する復号化処理方法において、
コンピュータが、復号化の対象となる合成画像ファイルを入力し、この合成画像ファイルに基づいて、合成画像をディスプレイ上に表示する段階と、
コンピュータが、合成画像ファイルから、暗号ファイルを分離抽出する段階と、
コンピュータが、復号化用パスワードを入力し、暗号ファイルに対して、復号化用パスワードを用いた所定の復号化アルゴリズムに基づく復号化処理を施し、元ファイルを復元する段階と、
を行うようにしたものである。
【００４０】
(31)  本発明の第３１の態様は、データファイルを暗号化する暗号化処理方法において、
コンピュータが、暗号化の対象となる元ファイルと暗号化用パスワードとを入力し、元ファイルに対して暗号化用パスワードを用いた所定の暗号化アルゴリズムに基づく暗号化処理を施し、暗号ファイルを作成する段階と、
コンピュータが、復号化の段階で提示すべきヒント画像のデータを含むヒント画像ファイルを入力し、ヒント画像ファイルを構成するデータの末尾に、暗号ファイルのデータを含む付加データを結合することにより、結合画像ファイルを作成し、これを出力する段階と、
を行うようにしたものである。
【００４１】
(32)  本発明の第３２の態様は、上述の第３１の態様に係る暗号化処理方法によって作成された結合画像ファイルから、元ファイルを復元する復号化処理方法において、
コンピュータが、復号化の対象となる結合画像ファイルを入力し、この結合画像ファイルに基づいて、ヒント画像をディスプレイ上に表示する段階と、
コンピュータが、結合画像ファイルから、暗号ファイルを分離抽出する段階と、
コンピュータが、復号化用パスワードを入力し、暗号ファイルに対して、復号化用パスワードを用いた所定の復号化アルゴリズムに基づく復号化処理を施し、元ファイルを復元する段階と、
を行うようにしたものである。
【発明の効果】
【００４２】
本発明の暗号処理システムによれば、ユーザが指定した任意のヒント画像と暗号ファイルとを合成した画像ファイルが作成されるので、これを画像として表示すれば、ヒント画像の提示が行われる。このため、暗号化に用いたパスワードに関するヒントを、ヒント画像という形式でユーザに簡便な方法で提示することが可能になる。
【図面の簡単な説明】
【００４３】
【図１】本発明の第１の実施形態に係るファイルの暗号処理システムの構成を示すブロック図である。
【図２】図１に示す暗号化用入力ユニット１１０によって表示される操作画面の初期状態を示す平面図である。
【図３】図２の操作画面上にユーザが入力操作を行った状態を示す平面図である。
【図４】図１に示す暗号化処理部１００における合成画像ファイルの作成処理手順を示すブロック図である。
【図５】図１に示す復号化用入力ユニット２１０によって提示される操作画面の初期状態を示す平面図である。
【図６】図５の操作画面上にユーザが入力操作を行った状態を示す平面図である。
【図７】図１に示す復号化処理部２００におけるファイル分離処理および復号化処理の手順を示すブロック図である。
【図８】補助情報が付加された合成画像Ｃの詳細構成を示す平面図である。
【図９】一般的なラスター形式の画像ファイルにおける画素構成を示す平面図である。
【図１０】補助情報が付加された合成画像ファイルＦ３のデータ構造の一例を示す図である。
【図１１】図１に示す暗号化用入力ユニット１１０によって提示される操作画面の変形例を示す平面図である。
【図１２】図１に示すファイル合成ユニット１３０で作成される補助情報の具体的な構成例を示す図である。
【図１３】作成された暗号ファイルを分割して複数の合成画像ファイルに収容する実施例を示すブロック図である。
【図１４】複数のアルゴリズムを選択して暗号化および復号化を行う実施例を示すブロック図である。
【図１５】複数のヒント画像を用いた実施例における合成画像Ｃの詳細構成を示す平面図である。
【図１６】「ヒント画像Ｈ」と「暗号画像Ｅ」との境界部分に配置された「ダミーデータからなる境界画像Ｄ」を用いた実施例における合成画像Ｃの詳細構成を示す平面図である。
【図１７】本発明の第２の実施形態に係るファイルの暗号処理システムの構成を示すブロック図である。
【図１８】図１７に示す暗号化処理部１０５における結合画像ファイルの作成処理手順を示すブロック図である。
【図１９】暗号ファイルを構成するデータの一部をヒント画像へ移動してセキュリティを向上させる実施例における結合画像ファイルの構成を示す図である。
【発明を実施するための形態】
【００４４】
以下、本発明を図示する実施形態に基づいて説明する。
【００４５】
＜＜＜  §１．第１の実施形態の基本構成  ＞＞＞
図１は、本発明の第１の実施形態に係るファイルの暗号処理システムの構成を示すブロック図である。図示のとおり、このシステムの大きな２つの構成要素は、データファイルを暗号化する処理を行う暗号化処理部１００（図の上段部分）と、暗号化されたデータファイルを復号化する処理を行う復号化処理部２００（図の下段部分）である。
【００４６】
暗号化処理部１００の基本機能は、ユーザから与えられた暗号化用パスワードＰ１を暗号化キーとして利用して、暗号化の対象となる元ファイルＦ１を暗号化することである。このとき、ユーザが指定した任意のヒント画像Ｈを合成する点が本発明の特徴である。
【００４７】
図示のとおり、暗号化処理部１００は、暗号化用入力ユニット１１０、暗号化処理ユニット１２０、ファイル合成ユニット１３０という３つのユニットによって構成されている。
【００４８】
ここで、暗号化用入力ユニット１１０は、ユーザの指示に基づいて、暗号化の対象となる元ファイルＦ１と、暗号化用パスワードＰ１と、復号化の段階で提示すべきヒント画像Ｈと、を取り込む機能を果たす。ユーザは、ヒント画像Ｈとして、任意の画像を指定することができるが、ここでヒント画像Ｈを指定する目的は、復号化を行う際にパスワードＰ１を思い出すための手がかりとして利用するためである。したがって、ユーザは、パスワードＰ１を連想するための手がかりに適した画像を、ヒント画像Ｈとして指定することになる。
【００４９】
暗号化用入力ユニット１１０で取り込まれた元ファイルＦ１および暗号化用パスワードＰ１は、暗号化処理ユニット１２０へ引き渡され、ヒント画像Ｈは、ファイル合成ユニット１３０へ引き渡される。なお、ヒント画像Ｈは、実用上は、画像ファイルの形式で暗号化用入力ユニット１１０に取り込まれ、この画像ファイルがファイル合成ユニット１３０へ引き渡されることになる。
【００５０】
暗号化処理ユニット１２０は、暗号化用入力ユニット１１０から引き渡された元ファイルＦ１および暗号化用パスワードＰ１に基づいて暗号化処理を実行する。すなわち、元ファイルＦ１に対して、暗号化用パスワードＰ１を用いた所定の暗号化アルゴリズムに基づく暗号化処理を施して暗号ファイルＦ２を作成する。暗号化処理ユニット１２０内には、所定の暗号化アルゴリズムを実行するプログラムルーチンが組み込まれており、暗号化用パスワードＰ１として与えられたテキストデータ（たとえば、英数字の組み合わせ）を暗号化キーとして用い、元ファイルＦ１を構成するデータに対して当該暗号化アルゴリズムを適用して暗号データに変換し、これを暗号ファイルＦ２として出力する処理が行われる。もちろん、暗号化処理を行う際には、パスワードＰ１をそのまま暗号化キーとして用いる代わりに、パスワードＰ１に基づいて何らかの方法で導出されたキーを暗号化キーとして用いるようにしてもかまわない。
【００５１】
暗号化アルゴリズムとしては、たとえば、ＡＥＳやＤＥＳなど、様々な方式のものが公知であり、与えられたパスワードＰ１を暗号化キーとして用いて、元ファイルＦ１を暗号ファイルＦ２に一義的に変換可能であり、かつ、パスワードＰ１を用いた復号化アルゴリズムによって、暗号ファイルＦ２を元ファイルＦ１に復元することが可能なアルゴリズムであれば、どのようなものを用いてもかまわない。したがって、この暗号化処理ユニット１２０自体は、既に公知の構成要素である。
【００５２】
これに対して、ファイル合成ユニット１３０は、本発明に固有の構成要素であり、暗号化用入力ユニット１１０から引き渡されたヒント画像Ｈを構成するデータと、暗号化処理ユニット１２０で作成された暗号ファイルＦ２を構成するデータと、を合成して、合成画像ファイルＦ３を作成する機能を果たす。ここで、合成画像ファイルＦ３は、後に例示するとおり、「ヒント画像Ｈ」と、「暗号ファイルＦ２を構成するデータの情報をもった画素の集合体からなる暗号画像Ｅ」と、を含む合成画像Ｃを表示するための画像ファイルである。
【００５３】
結局、暗号化処理部１００は、元ファイルＦ１、暗号化用パスワードＰ１、ヒント画像Ｈに基づいて、合成画像ファイルＦ３を生成する機能を果たす。ユーザから見れば、元ファイルＦ１が、暗号化処理部１００によって、合成画像ファイルＦ３に変換されたように見える。この合成画像ファイルＦ３のファイルフォーマットは、一般的なコンピュータで閲覧可能な画像ファイルのフォーマットになっており、ここに示す実施形態の場合、後述するように、ファイル名に画像ファイルの拡張子が付加されている。
【００５４】
ユーザは、こうして得られた合成画像ファイルＦ３を、任意の格納場所に保管することができる。暗号化が行われているため、保管中に第三者によって合成画像ファイルＦ３が不正に取得されたとしても、暗号が破られない限り、十分なセキュリティが確保される。また、正規のユーザであれば、必要なときに、保管中の合成画像ファイルＦ３から、元ファイルＦ１を復元することが可能である。
【００５５】
復号化処理部２００は、このような元ファイルＦ１の復元処理を行うための構成要素であり、合成画像ファイルＦ３と復号化用パスワードＰ２とを与えることにより、元ファイルＦ１を復元して出力する処理を行う。本発明の特徴は、この復号化処理部２００が、合成画像Ｃを提示する機能を有している点である。ユーザは、提示された合成画像Ｃに含まれているヒント画像Ｈを目にすることにより、復号化用パスワードＰ２を連想することができる。
【００５６】
なお、ここに示す実施形態の場合、復号化用パスワードＰ２は、暗号化用パスワードＰ１と全く同一のパスワードである。暗号化用パスワードＰ１は、暗号化アルゴリズムにおいて暗号化キーとして利用されるデータであり、復号化用パスワードＰ２は、復号化アルゴリズムにおいて復号化キーとして利用されるデータである。暗号化アルゴリズムと復号化アルゴリズムとは、互いに逆の論理アルゴリズムであり、復号化に用いる復号化キーは、通常、暗号化に用いた暗号化キーと全く同一のキーになる。
【００５７】
ただ、必要に応じて、両者を異ならせる運用も可能である。たとえば、「復号化用パスワードＰ２」として、「暗号化用パスワードＰ１の文字列」＋「現在の日付を示す文字列」という取り決めを行っておき、復号化処理部２００内では、まず、与えられた「復号化用パスワードＰ２」内の「現在の日付を示す文字列」の部分をチェックし、正しい日付である場合に限り、「暗号化用パスワードＰ１の文字列」の部分を用いて復号化処理を実行する、という運用を採ることも可能である。このような運用を採れば、万一、「暗号化用パスワードＰ１」が盗用されたとしても、盗用者が「復号化用パスワードＰ２」＝「暗号化用パスワードＰ１の文字列」＋「現在の日付を示す文字列」という取り決めを知らなければ、元ファイルの復元を行うことができず、より安全性を高めることができる。したがって、復号化用パスワードＰ２は、何らかの取り決めに基づいて、暗号化用パスワードＰ１に対して対応するパスワードであれば、必ずしも暗号化用パスワードＰ１と同一である必要はない。
【００５８】
図示のとおり、復号化処理部２００は、復号化用入力ユニット２１０、合成画像表示ユニット２２０、ファイル分離ユニット２３０、復号化処理ユニット２４０という４つのユニットによって構成されている。
【００５９】
ここで、復号化用入力ユニット２１０は、ユーザの指示に基づいて、復号化の対象となる合成画像ファイルＦ３と、暗号化用パスワードＰ１に対応した復号化用パスワードＰ２と、を取り込む機能を果たす。上述したとおり、ここで述べる実施形態の場合、暗号化用パスワードＰ１と復号化用パスワードＰ２とは同一のパスワードである。ユーザは、復号化用入力ユニット２１０に対して、復号化の対象となる合成画像ファイルを指定する操作を行うとともに、復号化用パスワードＰ２を入力する操作を行う。復号化用入力ユニット２１０が取り込んだ合成画像ファイルＦ３は、合成画像表示ユニット２２０およびファイル分離ユニット２３０へ引き渡され、復号化用パスワードＰ２は、復号化処理ユニット２４０へ引き渡される。
【００６０】
合成画像表示ユニット２２０は、引き渡された合成画像ファイルＦ３に基づいて、ディスプレイ画面上に合成画像Ｃを表示する機能を果たす。前述したとおり、合成画像Ｃは、「ヒント画像Ｈ」と、「暗号ファイルＦ２を構成するデータの情報をもった画素の集合体からなる暗号画像Ｅ」と、を含む画像であり、ユーザは、この合成画像Ｃに含まれるヒント画像Ｈの部分を見て、復号化用パスワードＰ２（暗号化用パスワードＰ１）を思い出すことができる。なお、合成画像ファイルＦ３のファイルフォーマットは、一般的なコンピュータで閲覧可能な画像ファイルのフォーマットであるため、実際には、合成画像表示ユニット２２０の機能は、一般的なコンピュータに組み込まれている画像ファイルの閲覧機能によって実現できる。
【００６１】
ファイル分離ユニット２３０は、合成画像ファイルＦ３から、暗号ファイルＦ２を分離抽出する処理を行う。上述したとおり、合成画像ファイルＦ３は、ファイル合成ユニット１３０によって、ヒント画像Ｈを構成するデータと暗号ファイルＦ２を構成するデータとを合成することによって得られたファイルであるので、この合成処理と逆の処理を行えば、暗号ファイルＦ２を分離することができる。こうして分離された暗号ファイルＦ２は、復号化処理ユニット２４０へ引き渡される。
【００６２】
復号化処理ユニット２４０は、ファイル分離ユニット２３０によって抽出された暗号ファイルＦ２に対して、復号化用パスワードＰ２を用いた所定の復号化アルゴリズムに基づく復号化処理を施し、元ファイルＦ１を復元して出力する。もちろん、ここで用いられる復号化アルゴリズムは、暗号化処理ユニット１２０で用いられた暗号化アルゴリズムに対応するアルゴリズムであり、暗号化のプロセスと論理的に逆のプロセスを行うことにより、元ファイルＦ１の復号化が行われる。
【００６３】
以上、図１のブロック図を参照しながら、本発明の第１の実施形態に係るファイルの暗号処理システムの基本構成を説明したが、実用上、このシステムは、パソコン等の汎用コンピュータに専用のアプリケーションプログラムを組み込むことにより実現することができる。たとえば、暗号化処理ユニット１２０および復号化処理ユニット２４０は、市販の暗号化／復号化アプリケーションソフトウエアをインストールすることによって実現可能である。また、合成画像表示ユニット２２０は、上述したように、一般的なコンピュータに組み込まれている画像ファイルの閲覧機能によって実現できる。一方、暗号化用入力ユニット１１０および復号化用入力ユニット２１０は、コンピュータに用意されているキーボードやマウスなどの入力用ハードウエア機器と連携するプログラムにより実現可能であり、ファイル合成ユニット１３０およびファイル分離ユニット２３０は、後に例示するような所定の規則に基づいて、ファイルの合成や分離を行うプログラムにより実現可能である。
【００６４】
＜＜＜  §２．第１の実施形態の具体的な実施例  ＞＞＞
ここでは、図２〜図７を参照しながら、§１で述べた暗号処理システムのより具体的な実施例を説明する。
【００６５】
図２は、図１に示す暗号化用入力ユニット１１０によって表示される暗号化処理用操作画面１０の初期状態を示す平面図である。上述したとおり、本発明に係るシステムは、実用上は、パソコンに特定のプログラムを組み込むことによって実現できる。そこで、ここで述べる実施例のシステムでは、暗号化処理部１００を起動すると、暗号化用入力ユニット１１０によって、このパソコン用ディスプレイの画面上に、図２に示すような暗号化処理用操作画面１０が初期画面として表示される。
【００６６】
図示のとおり、暗号化処理用操作画面１０には、元ファイル指定欄１１、パスワード入力欄１２、ヒント画像指定欄１３、ヒント画像表示欄１４、ファイル選択欄１５が配置されている。ファイル選択欄１５には、このパソコンに接続されているハードディスクなどの記憶装置内に格納されている所定フォルダ内のファイルのリストが表示される。ユーザは、このファイル選択欄１５に表示されたリストから、所望のファイルを選択して、元ファイルもしくはヒント画像ファイルとして指定することができる。
【００６７】
たとえば、ファイル選択欄１５内の任意のファイル名を、元ファイル指定欄１１へドラッグする操作により、元ファイルの指定操作を行い、ヒント画像指定欄１３へドラッグする操作により、ヒント画像の指定操作を行うことができるように構成しておけば、ユーザは一覧リストからのドラッグ操作で、所望のファイルを指定することができる。もちろん、元ファイル指定欄１１やヒント画像指定欄１３に対して、所望のファイル名をキーボードから直接入力することにより、ファイルを指定できるようにしてもよい。
【００６８】
一方、パスワード入力欄１２には、キーボードを利用して任意の文字列を暗号化用パスワードＰ１として入力することができる。ここで入力したパスワードＰ１は、§１で述べたとおり、暗号化処理における暗号化キーとして用いられるとともに、復号化処理における復号化キーとしても用いられる。このため、ユーザは、入力したパスワードＰ１を記憶しておく必要がある。ヒント画像Ｈは、このパスワードＰ１を思い出させるためにユーザによって指定された画像である。この実施例では、ヒント画像指定欄１３に、ヒント画像Ｈの画像ファイル名を入力すると、ヒント画像表示欄１４に当該ヒント画像Ｈが表示されるので、ユーザは、どの画像をヒント画像Ｈとして指定したかを直観的に認識することができる。ヒント画像表示欄１４は必須のものではないが、実用上は、ヒント画像Ｈの取り違えを避けるために、設けるのが好ましい。
【００６９】
図３は、図２の操作画面上にユーザが入力操作を行った状態を示す平面図である。この例では、ファイル選択欄１５に表示されているリストの中から、「FF003.doc」なるファイル名をもつ文書ファイルが元ファイルとして指定され、「FF006.jpg」なるファイル名をもつ画像ファイルがヒント画像ファイルとして指定されており、各ファイル名は、それぞれ元ファイル指定欄１１およびヒント画像指定欄１３に表示されている。また、パスワード入力欄１２には、「White John」なる文字列が暗号化用パスワードとして入力されている。なお、ヒント画像表示欄１４に表示されている画像は、「FF006.jpg」なるファイル名をもつ画像ファイルの画像、すなわち、ユーザが指定したヒント画像Ｈである。
【００７０】
ユーザは、ヒント画像Ｈとして、任意の画像を指定することができるが、本来の趣旨に準ずれば、パスワード入力欄１２に入力したパスワードを連想することができる画像を指定することになる。もちろん、パスワードとは無関係な画像を指定しても、システムは正常動作するが、そのようなヒント画像は、復号時にパスワードを思い出すための役には立たない。
【００７１】
ここでは、説明の便宜上、ユーザが、自分が飼っている犬の名前「White John」を暗号化用パスワードＰ１として入力し、その犬の写真をヒント画像Ｈに指定したものとしよう。犬の写真は、必要があれば、デジカメなどで撮影した画像ファイルをパソコンに取り込めばよい。もちろん、ヒント画像Ｈは、実際に飼っている犬の写真である必要はないので、たとえば、インターネットなどからダウンロードした任意の犬の写真やイラストをヒント画像Ｈとして利用してもかまわない。
【００７２】
以上で、暗号化用入力ユニット１１０に対する入力操作は完了である。すなわち、コンピュータに対して、暗号化の対象となる元ファイルＦ１と、暗号化用パスワードＰ１と、復号化の段階で提示すべきヒント画像Ｈと、が入力されたことになる。ここで、ユーザが、処理を更に進める指示を与えると（たとえば、図示されていない「暗号化開始」ボタンをクリックすると）、暗号化処理ユニット１２０およびファイル合成ユニット１３０による処理が実行される。
【００７３】
図４は、図１に示す暗号化処理部１００における合成画像ファイルＦ３の作成処理手順を示すブロック図である。まず、第１段階として、暗号化処理ユニット１２０において、元ファイルＦ１（この例の場合、ファイル名「FF003.doc」なる文書ファイル）に対して、暗号化用パスワードＰ１（この例の場合、「White John」なる文字列）を用いた所定の暗号化アルゴリズムに基づく暗号化処理が施され、暗号ファイルＦ２を作成する処理が行われる。続く第２段階では、ファイル合成ユニット１３０において、ヒント画像Ｈを構成するデータ（この例の場合、ファイル名「FF006.jpg」なる画像ファイル内のデータ）と、暗号ファイルＦ２を構成するデータと、を合成し、「ヒント画像Ｈ」と、「暗号ファイルＦ２を構成するデータの情報をもった画素の集合体からなる暗号画像Ｅ」と、を含む合成画像Ｃを表示するための合成画像ファイルＦ３が作成される。
【００７４】
合成画像ファイルＦ３は、画像ファイルとしてのフォーマットをもったファイルであり、図示の実施例の場合、「FF003.jpg」なるファイル名をもったファイルになる。これは、ファイル合成ユニット１３０が、元ファイルＦ１のファイル名の本体部「FF003」に、ヒント画像Ｈのファイル名の拡張子「jpg」を加える、という規則で、合成画像ファイルＦ３のファイル名を自動付与する機能をもっているためである。
【００７５】
もっとも、このような規則では、元ファイルＦ１が画像ファイルであったような場合、合成画像ファイルＦ３のファイル名が元ファイルＦ１のファイル名と同一になってしまう可能性がある。たとえば、元ファイルＦ１が「FF003.jpg」なるファイル名であった場合、上述の規則では、合成画像ファイルＦ３のファイル名も同じ「FF003.jpg」になってしまう。このように、ファイル名が同一になってしまう場合には、たとえば、元ファイルＦ１のファイル名の本体部「FF003」に「X」を付加し、拡張子としてヒント画像Ｈのファイル名の拡張子「jpg」を加える、というような規則を定めておけば、合成画像ファイルＦ３には「FF003X.jpg」なる新たなファイル名が付与されることになり、元ファイルと同一のファイル名が付与されてしまうことを避けることができる。
【００７６】
また、必要に応じて、合成画像ファイルＦ３を作成する際に、元ファイルＦ１のファイル属性とは異なる属性設定が自動的に行われるようにしてもよい。たとえば、一般的なＯＳでは、個々のファイルについて「ロック状態（書き込み禁止状態）」か否かを示すファイル属性を設定する機能が備わっている。「ロック状態」を示す属性が設定されたファイルについては、上書き保存が禁止されることになる。特に、元ファイルＦ１のファイル名と類似したファイル名をもつ合成画像ファイルＦ３が作成される実施例の場合、合成画像ファイルＦ３に対して誤って上書き保存操作がなされる危険性があるので、作成する合成画像ファイルＦ３に「ロック状態」を示す属性を自動設定することは有用である。
【００７７】
こうして作成された合成画像ファイル「FF003.jpg」を、パソコン用の一般的な画像閲覧プログラム（拡張子「jpg」で示される画像フォーマットに対応した画像閲覧プログラム）で開くと、図４の下段に示すような合成画像Ｃが表示される。ここで、合成画像Ｃの左上部分には、ヒント画像Ｈが配置されているが、その余のハッチングを施して示す部分は暗号画像Ｅになる。この暗号画像Ｅは、暗号ファイルＦ２を構成するデータによって表示される画像である。もちろん、暗号ファイルＦ２は、そもそも画像を表示するためのファイルではないので、暗号ファイルＦ２を構成するデータによって表示される暗号画像Ｅは、人間にとっては無意味な画像ということになり、いわば「砂嵐」のようなノイズ画像として認識されることになる。
【００７８】
なお、図示の例の場合、元ファイルＦ１として「FF003.doc」なる文書ファイルを指定した例が示されているが、元ファイルＦ１には、どのようなタイプのファイルを指定してもかまわない。もちろん、画像ファイルを元ファイルＦ１として指定することも可能である。この場合、暗号ファイルＦ２は、画像ファイルを暗号化することによって得られるファイルになるが、暗号化が行われているため、そのままの状態では、意味のある画像ファイルの形態をなさない。したがって、元ファイルＦ１が画像ファイルであったとしても、合成画像Ｃ内の暗号画像Ｅの部分は、「砂嵐」のようなノイズ画像として認識されることになり、元ファイルＦ１を開いたときに得られる本来の画像が暗号画像Ｅの部分に表示されることはない。
【００７９】
本発明に係るシステムの暗号化処理部１００によって作成される合成画像ファイルＦ３は、次のような特徴を有している。まず、第１に、全体として画像ファイルとしてのフォーマットをもっており、一般的な画像閲覧用アプリケーションで開くと、合成画像Ｃが表示される。第２に、この合成画像Ｃの一部には、ヒント画像Ｈが含まれており、ユーザにパスワードを連想させることができる。第３に、暗号ファイルＦ２の情報が含まれており、この暗号ファイルＦ２の部分を分離して復号化すれば、元ファイルＦ１を復元することができる。
【００８０】
このような特徴を有しているため、合成画像ファイルＦ３は、一般の画像ファイルと同等に取り扱うことができる。既に述べたとおり、現在、インターネット経由のデータ保管サービスが広く普及しており、世界中のどこからでもデータファイルを預けることができ、また、世界中のどこからでもデータファイルを取り出すことができる。特に、画像ファイルを保管するサービス（いわゆる、Ｗｅｂの画像アーカイブサービス）は、個人レベルのユーザにも広く普及しており、世界中の多くのユーザが、このようなサービスを利用して、デジカメの撮影画像などを保管用サーバにアップロードしている。
【００８１】
これは本発明の有用性が極めて高いことを示している。すなわち、暗号化処理部１００によって作成される合成画像ファイルＦ３は、コンピュータのシステム側から見れば、一般の画像ファイルと全く同等のファイルであるため、上述したような画像ファイルの保管サービスを利用して、世界中のどこからでも預けることができ、また、世界中のどこからでも取り出すことができる。その上、元ファイルＦ１の情報は、暗号化されているため、万一、合成画像ファイルＦ３が第三者の手に渡ったとしても、暗号が破られない限り安全である。
【００８２】
しかも、正規のユーザに対しては、暗号化に用いたパスワードに関するヒントを、簡便な方法で提示することが可能である。すなわち、元ファイルＦ１を復元する際には、暗号化に用いたパスワードが必要になるが、ユーザは、合成画像ファイルＦ３を画像ファイルとして開く操作を行うだけで、ヒント画像Ｈの提示を受けることができる。暗号ファイルの情報とヒント画像の情報とが、合成画像ファイルＦ３という同一のファイル内に組み込まれており、しかも、この合成画像ファイルＦ３が画像ファイルの形式を採るため、画像閲覧用プログラムで開く操作を行うだけで、ヒント画像Ｈを確認することができ、ユーザにとっての復号化作業は極めて簡便になる。
【００８３】
図５は、図１に示す復号化用入力ユニット２１０によって表示される復号化処理用操作画面２０の初期状態を示す平面図である。ここで述べる実施例のシステムでは、復号化処理部２００を起動すると、復号化用入力ユニット２１０によって、パソコン用ディスプレイの画面上に、図５に示すような復号化処理用操作画面２０が初期画面として表示される。
【００８４】
図示のとおり、復号化処理用操作画面２０には、対象ファイル指定欄２１、パスワード入力欄２２、合成画像表示欄２３、ファイル選択欄２４が配置されている。ファイル選択欄２４には、このパソコンに接続されているハードディスクなどの記憶装置内に格納されている所定フォルダ内のファイル名のリストが表示される。ユーザは、このファイル選択欄２４に表示されたリストから、所望のファイルを対象ファイルとして指定することができる。
【００８５】
たとえば、ファイル選択欄２４内の任意のファイル名を、対象ファイル指定欄２１へドラッグする操作により、対象ファイルの指定操作を行うことができる。あるいは、ファイル選択欄２４内の任意のファイル名をクリックする操作により、当該ファイル名が対象ファイル指定欄２１に自動的にコピーされるようにしてもよい。もちろん、対象ファイル指定欄２１に対して、所望のファイル名をキーボードから直接入力することにより、ファイルを指定できるようにしてもよい。
【００８６】
この対象ファイル指定欄２１で指定すべきファイルは、かつて暗号化処理部１００で作成され、今回、復号化処理の対象となる合成画像ファイルＦ３である。もし、当該合成画像ファイルＦ３を、前述したインターネット経由のデータ保管サービスなどに預けている場合には、復号化処理部２００を構成するパソコンの記憶装置内にダウンロードしておくようにする。もちろん、ファイル選択欄２４内に、このデータ保管サービスに保管中のファイルのファイル名リストを表示できるようにしておき、ファイル選択欄２４で選択したファイルが、自動的にダウンロードされるような構成にしてもかまわない。
【００８７】
一方、パスワード入力欄２２には、キーボードを利用して任意の文字列を復号化用パスワードＰ２として入力することができる。ここで入力したパスワードＰ２は、§１で述べたとおり、復号化処理における復号化キーとして用いられる。本来、この復号化用パスワードＰ２は、ユーザが記憶に基づいて入力すべき情報であるが、本発明に係るシステムでは、合成画像表示ユニット２２０の機能によって、ユーザの記憶を呼び覚ますためのヒント画像Ｈを表示する処理が実行される。すなわち、ユーザが、対象ファイルを指定する処理を行い、特定の合成画像ファイルＦ３が決定すると、合成画像表示ユニット２２０によって、合成画像表示欄２３内に、当該合成画像ファイルＦ３に基づく画像表示が行われる。
【００８８】
図６は、図５の操作画面上において、ユーザが「FF003.jpg」なるファイル名をもつ特定の合成画像ファイルを、対象ファイルとして指定する入力操作を行った状態を示す平面図である。図示のとおり、対象ファイル指定欄２１には、指定されたファイル名「FF003.jpg」が表示され、合成画像表示欄２３には、当該ファイルに基づく合成画像Ｃが表示されている。ユーザは、この合成画像Ｃ内の一部分に、ヒント画像Ｈを認識することができる。前述したとおり、合成画像Ｃ内のその余の部分（ハッチング部分）は、「砂嵐」のように見える暗号画像Ｅであるから、ヒント画像Ｈの視認性は極めて良好である。
【００８９】
この図６に示す復号化処理用操作画面２０を見たユーザは、ヒント画像Ｈからの連想により、現在、復号化の対象となっている「FF003.jpg」なるファイルについてのパスワードが「White John」なる文字列であることを思い出すことができる。そこで、ユーザは、パスワード入力欄２２に、「White John」なる文字列を復号化用パスワードＰ２として入力することができる。
【００９０】
以上で、復号化用入力ユニット２１０に対する入力操作は完了である。すなわち、コンピュータに対して、復号化の対象となる合成画像ファイルＦ３と、復号化用パスワードＰ２と、が入力されたことになる。ここで、ユーザが、処理を更に進める指示を与えると（たとえば、図示されていない「復号化開始」ボタンをクリックすると）、ファイル分離ユニット２３０および復号化処理ユニット２４０による処理が実行される。
【００９１】
図７は、図１に示す復号化処理部２００におけるファイル分離処理および復号化処理の手順を示すブロック図である。まず、第１段階として、ファイル分離ユニット２３０において、合成画像ファイルＦ３（この例の場合、ファイル名「FF003.jpg」なる文書ファイル）から、暗号ファイルＦ２を分離抽出する処理が行われる。この処理は、ファイル合成ユニット１３０で行われたプロセスと逆のプロセスの処理ということになる。
【００９２】
続く第２段階では、分離された暗号ファイルＦ２に対して、復号化用パスワードＰ２（この例の場合、「White John」なる文字列）を用いた所定の復号化アルゴリズムに基づく復号化処理が実行され、元ファイルＦ１が復元される。この処理は、暗号化処理ユニット１２０で行われたプロセスと逆のプロセスの処理ということになる。もちろん、与えられた復号化用パスワードＰ２が正しいパスワードであれば、正しい復号化が行われ、復元された元ファイルＦ１は、暗号化の対象となった元ファイルＦ１と同一のものになる。
【００９３】
なお、ここに示す例の場合、復号化処理ユニット２４０は、元ファイルＦ１の拡張子を含めたファイル名「FF003.doc」を復元する機能を有しており、復元された元ファイルＦ１は、「FF003.doc」なるファイル名が付されたファイルとして、このシステムを構成するパソコンの記憶装置へ出力される。なお、元ファイルＦ１のファイル名を復元するための具体的な方法については、§３で述べる。
【００９４】
＜＜＜  §３．補助情報を付加する実施例  ＞＞＞
§１，§２で述べたとおり、図１に示す暗号化処理部１００では、暗号ファイルＦ２のデータとヒント画像Ｈのデータとを合成することにより、合成画像ファイルＦ３が作成される。ここでは、更に、復号化処理部に伝達すべき補助情報を付加した合成画像ファイルＦ３を作成する実施例を述べることにする。
【００９５】
図８は、補助情報が付加された合成画像Ｃの詳細構成を示す平面図である。具体的には、ここに示す合成画像Ｃは、９６０×１２８０画素のサイズをもった画像であり、その左上部分に、４８０×６４０画素のサイズをもったヒント画像Ｈが配置されている。図に斜線のハッチングを施して示す部分は暗号画像Ｅである。既に述べたとおり、この暗号画像Ｅは、暗号ファイルＦ２を構成するデータの情報をもった画素の集合体からなり、人間にとっては、無意味な「砂嵐」のような画像として把握される。
【００９６】
図８の右下部分に示す補助情報画像Ａは、この§３で述べる補助情報に対応する画像であり、後述する補助情報を構成するデータに対応する画素の集合体からなり、人間にとっては、やはり無意味な「砂嵐」のような画像として把握される。なお、図にドットのハッチングを施して示す部分はダミー画像Ｄである。このダミー画像Ｄは無意味なダミーデータに対応する画素の集合体からなる。ダミーデータを付加するのは、合成画像Ｃのサイズを所定の定型サイズ（この例では、９６０×１２８０画素のサイズ）に維持するためである。すなわち、ヒント画像Ｈ、暗号画像Ｅ、補助情報画像Ａの画素数を合計しても、９６０×１２８０画素に満たない場合、残りを無意味なダミーデータからなるダミー画像Ｄで埋めることになる。
【００９７】
図９は、一般的なラスター形式の画像ファイルにおける画素構成を示す平面図である。図示のとおり、多数の画素が縦横に二次元マトリックス状に配置されており、カラー画像の場合、個々の画素は、たとえば、三原色Ｒ，Ｇ，Ｂの画素値を有している。ここでは、説明の便宜上、個々の画素が、それぞれＲ値，Ｇ値，Ｂ値という３種類の画素値を有しており、１つの画素値が１バイトの情報（０〜２５５の階調値）で表されるものとしよう。この場合、１つの画素は３バイトのデータに対応する。
【００９８】
図９に示すとおり、第ｉ行目第ｊ列目の画素をＰ（ｉ，ｊ）とすれば、図８に示す合成画像Ｃの左上の画素はＰ（１，１）、右下の画素はＰ（９６０，１２８０）ということになる。実際の画像ファイルのフォーマットは様々であるが、たとえば、１つの画素の３バイトの画素値を、Ｒ値，Ｇ値，Ｂ値の順に並べることとし、画素の順序として、まず第１行目の画素をＰ（１，１），Ｐ（１，２），Ｐ（１，３），... ，Ｐ（１，１２８０）と行方向に並べ、次に第２行目の画素をＰ（２，１），Ｐ（２，２），Ｐ（２，３），... ，Ｐ（２，１２８０）と行方向に並べてゆく方式を採ることにすれば、合成画像ファイルＦ３のデータ構造は、たとえば、図１０に示すようなものになる。
【００９９】
図示のとおり、合成画像ファイルＦ３を構成するデータは、ヘッダ部ｈから始まり、フッタ部ｆで終わり、ヘッダ部ｈとフッタ部ｆとによって挟まれた中間部分が、合成画像Ｃを構成する画素データということになる。合成画像Ｃを構成する個々の画素の並び順を上述のとおりに定めた場合、図示のとおり、画素データの先頭は「画素Ｐ（１，１）のＲ値，Ｇ値，Ｂ値」の３バイトのデータになる。ここで、画素Ｐ（１，１）は、ヒント画像Ｈの左上の画素である。以下、「画素Ｐ（１，２）のＲ値，Ｇ値，Ｂ値」，「画素Ｐ（１，３）のＲ値，Ｇ値，Ｂ値」，... ，「画素Ｐ（１，１２８０）のＲ値，Ｇ値，Ｂ値」と続き、最後は、「画素Ｐ（９６０，１２７９）のＲ値，Ｇ値，Ｂ値」，「画素Ｐ（９６０，１２８０）のＲ値，Ｇ値，Ｂ値」で終わる。
【０１００】
上述の画素データの並び順は、図８に示す合成画像を水平方向に走査したものに対応するので、ヒント画像Ｈを構成するデータと暗号画像Ｅを構成するデータとは、入り乱れた順序で配列されることになる。図１０において、右側に「Ｈ＆Ｅ」と標記した部分は、このようにヒント画像Ｈを構成するデータと暗号画像Ｅを構成するデータとが入り乱れて配置された部分である。ファイル合成ユニット１３０は、ヒント画像Ｈを構成するデータと、暗号画像Ｅを構成するデータとを所定の規則で合成し、この「Ｈ＆Ｅ」と標記した部分のデータを作成する。そして、その次にダミー画像Ｄに対応するダミーデータを配置し、最後に補助情報画像Ａに対応する補助情報データを配置する。こうして作成された合成画像Ｃを構成する画素データを挟むように、ヘッダ部ｈとフッタ部ｆとを付加すれば、合成画像ファイルＦ３が出来上がる。
【０１０１】
なお、補助情報データは、たとえば、「データ容量を３００バイトとし、合成画像Ｃを構成する最後の画素データとなるように配置する」というように予め決めておくのが好ましい。この場合、図８に示す合成画像Ｃのうち、画素Ｐ（９６０，１１８１）〜画素Ｐ（９６０，１２８０）の１００画素分が補助情報画像Ａということになる。ダミーデータは、「Ｈ＆Ｅ」と標記した部分と「Ａ」と標記した部分との間の空白部分を埋めるデータということになる。
【０１０２】
このように、暗号化処理部１００内のファイル合成ユニット１３０に、補助情報を合成画像Ｃ内に埋め込んで合成画像ファイルＦ３を作成する機能をもたせておくようにし、復号化処理部２００内のファイル分離ユニット２３０に、合成画像ファイルＦ３から、この補助情報を分離抽出する処理を行う機能をもたせておくようにすれば、暗号化処理部１００から復号化処理部２００に対して、補助情報を伝達することができる。
【０１０３】
具体的には、図８に示す例のように、ファイル合成ユニット１３０は、所定の補助情報をもった画素の集合体からなる補助情報画像Ａを作成した上で、ヒント画像Ｈと、暗号画像Ｅと、補助情報画像Ａと、を含む合成画像Ｃを表示するための合成画像ファイルＦ３を作成すればよい。このとき、ｎ行ｍ列の画素配列（ｎ，ｍは整数）を形成することが可能な合成画像Ｃを作成することとし、合成画像Ｃを構成するために用意されたデータの総量が、この画素配列を定義するために必要なデータの総量に満たない場合には、不足部分にダミーデータを付加することにより、合成画像Ｃの作成を行えばよい。
【０１０４】
一方、ファイル分離ユニット２３０には、当該合成画像Ｃから、補助情報画像Ａを切り出すことにより補助情報の分離抽出を行う機能を設けておくようにする。上例のように、「データ容量を３００バイトとし、合成画像Ｃを構成する最後の画素データとなるように配置する」というように、位置とサイズを予め定めておけば、ファイル分離ユニット２３０は、合成画像Ｃを構成する画素データの末尾の３００バイトを切り出す処理を行うことにより、補助情報の分離抽出を容易に行うことができる。
【０１０５】
なお、図１０に示す例において、合成画像Ｃを構成する画素データ（いわば、合成画像Ｃの本体部）の前後にヘッダ部ｈおよびフッタ部ｆを付加しているのは、「jpg」形式をはじめとする多くの画像ファイルのフォーマットが、そのようなデータ構造を採っているためである。たとえば、「jpg」形式のファイルフォーマットの場合、ヘッダ部ｈの先頭の２バイトは「FF D8」で始まり、続いて、ファイルフォーマットや画像サイズなどの情報が配置されることが決められており、また、フッタ部ｆの最後には、ファイルの末尾を示す末尾符号「EOF」（「jpg」形式の場合、「EOI」(End of Image）マーカと呼ばれており、具体的には「FF D9」なる２バイトのデータと定められている）を置くことが決められている。別言すれば、このような規則に基づくヘッダ部ｈおよびフッタ部ｆによって挟まれた部分のデータは、「jpg」形式の画像を示すデータとして取り扱われることになるので、「jpg」形式の画像データに対応した画像閲覧用アプリケーションプログラムであれば、合成画像Ｃとして表示することが可能になる。
【０１０６】
なお、図８および図１０に示す実施例の場合、補助情報を合成画像Ｃの右下部分に補助情報画像Ａとして組み込んでいるが、補助情報の組み込み位置は、必ずしもこの位置に限定されるものではない。ただ、ファイル分離ユニット２３０による補助情報の分離抽出処理を単純化するためには、図示の例のように、合成画像Ｃを構成する画素データの最後の部分に補助情報を組み込むのが好ましい。
【０１０７】
また、別な方法として、ファイル合成ユニット１３０が、補助情報をヒント画像Ｈ内に潜像として埋め込む処理を行うようにし、ファイル分離ユニット２３０が、このヒント画像Ｈ内に潜像として埋め込まれている補助情報を読み出すことにより分離抽出を行うようにしてもよい。暗号画像Ｅの部分は、暗号ファイルＦ２を構成する重要なデータであるため、潜像の埋め込み処理によってデータが改変されてしまうと、後の復号化処理に支障が生じてしまう。これに対して、ヒント画像Ｈの部分は、ユーザの視覚的認識を妨げない程度であれば、潜像の埋め込み処理によってデータが改変されても支障は生じない。
【０１０８】
実際、４８０×６４０画素程度のサイズをもったヒント画像Ｈであれば、３００バイト程度の補助情報を潜像として埋め込んでも、人間の眼で観察する限り、画像の変化は感じとれない。なお、デジタル画像中に何らかのデジタルデータを潜像として埋め込む技術および潜像として埋め込まれているデジタルデータを読み出す技術は、既に様々な方法が公知であるため、ここでは詳しい説明は省略する。
【０１０９】
続いて、上述した補助情報の様々な利用形態を述べる。そもそもこの補助情報は、暗号化処理部１００から復号化処理部２００へ伝達されるべき情報として利用されるものである。しかも、あたかも蝶によって運ばれる花粉の如く、合成画像ファイルＦ３内の一情報として、合成画像ファイルＦ３の移動によって伝達される情報ということになる。
【０１１０】
この補助情報のもうひとつの特徴は、「合成画像Ｃを構成する画素データ内に組み込まれる情報である」という点である。換言すれば、「ヘッダ部ｈやフッタ部ｆに組み込まれる情報ではない」という点である。ヘッダ部ｈやフッタ部ｆのデータ構造は、個々の画像ファイルのフォーマット規則によって定められているため、この規則に反するような情報をヘッダ部ｈやフッタ部ｆに書き込むことはできない。ところが、本発明における補助情報は、合成画像Ｃ内の部分画像として組み込まれるため、ヘッダ部ｈやフッタ部ｆに組み込む情報のような制限を受けることはない。このため、補助情報の利用形態は多岐にわたる。以下の§４では、この補助情報の具体的な利用形態をいくつか例示する。
【０１１１】
＜＜＜  §４．補助情報の具体的な利用形態  ＞＞＞
（１）  ファイル名の伝達
補助情報の代表的な利用形態は、元ファイルのファイル名の復元に利用する利用形態である。まず、ファイル合成ユニット１３０には、元ファイルＦ１のファイル名を含む補助情報を作成する機能をもたせておく。また、作成した合成画像ファイルＦ３には、新たなファイル名を付与するようにする。たとえば、図４に示す例の場合、元ファイルＦ１のファイル名「FF003.doc」がそのまま補助情報として合成画像ファイルＦ３内に組み込まれることになり、当該合成画像ファイルＦ３に対しては、新たなファイル名「FF003.jpg」が付与される。新たなファイル名は、たとえば、前述したように、原則として「元ファイルＦ１のファイル名の本体部にヒント画像のファイル名の拡張子を加える」という規則を定めておき、もし、ファイル名の重複が生じる場合には、たとえば、元ファイルＦ１のファイル名の本体部「FF003」に「X」を追加する、というような規則を定めておけばよい。
【０１１２】
一方、復号化処理ユニット２４０には、ファイル分離ユニット２３０によって分離抽出した補助情報に含まれているファイル名「FF003.doc」を、復元した元ファイルにそのまま付与する機能をもたせておけばよい。そうすれば、図７に示す例のように、元ファイルＦ１が、ファイル名とともに復元されることになる。そうすれば、暗号化前の元ファイルＦ１と復元した元ファイルＦ１とは、「FF003.doc」という完全に同一のファイル名になり、また、暗号ファイルを含む合成画像ファイルＦ３には、「FF003.jpg」という関連したファイル名（拡張子のみが異なるファイル名）が付与されるため、ファイル相互間の関連づけが容易に把握できるようになる。
【０１１３】
もっとも、ファイル名の関連づけを把握する必要がない場合は、それぞれ任意の規則でファイル名を付与するようにしてもかまわない。実際、図１に示すシステムにおいて、暗号化前の元ファイルＦ１のファイル名と、復元された元ファイルＦ１のファイル名とは、必ずしも同一である必要はなく、また、合成画像ファイルＦ３のファイル名も関連したファイル名である必要はない。ただ、拡張子の部分は、ファイルフォーマットを示す情報として利用されるので、少なくとも拡張子の部分に関しては、暗号化前の元ファイルＦ１のファイル名の拡張子と、復元された元ファイルＦ１のファイル名の拡張子とが同一となるようにし、合成画像ファイルＦ３のファイル名の拡張子は、当該画像ファイルのフォーマットを示す拡張子になるようにするのが好ましい。
【０１１４】
この場合、ファイル合成ユニット１３０には、元ファイルＦ１のファイル名に含まれている拡張子を利用して、当該拡張子を含む補助情報を作成し、合成画像ファイルＦ３には、当該合成画像ファイルＦ３のファイルフォーマットを示す新たな拡張子を含むファイル名を付与する機能をもたせておくようにする。一方、復号化処理ユニット２４０には、少なくとも、ファイル分離ユニット２３０によって分離抽出した補助情報に含まれている拡張子を含むファイル名を、復元した元ファイルに付与する機能をもたせておけばよい。
【０１１５】
なお、元ファイルのファイル名を復号化処理部２００に伝達する方法は、補助情報を利用する方法に限定されるものではない。たとえば、合成画像ファイルＦ３のファイル名の中に、元ファイルＦ１のファイル名（拡張子まで含めた全ファイル名）を含ませる方法でも、元ファイルのファイル名を復号化処理部２００に伝達することが可能である。
【０１１６】
たとえば、ファイル合成ユニット１３０が、「元ファイルのファイル名の末尾に『.jpg』を付加する」という規則で合成画像ファイルＦ３のファイル名を命名するようにすれば、元ファイルのファイル名は、合成画像ファイルＦ３のファイル名にすっぽりと収容された形で復号化処理部２００に伝達されることになる。具体例で示せば、元ファイルＦ１のファイル名が「FF003.doc」であった場合、合成画像ファイルＦ３には、「FF003.doc.jpg」というファイル名が付与されることになる。この場合、当該ファイルの真の拡張子は「.jpg」ということになり、「FF003.doc」の部分が、当該ファイルのファイル名本体部ということになる。そこで、復号化処理部２００側では、「合成画像ファイルＦ３に付されているファイル名の末尾の『.jpg』を除去する」という規則で、復元した元ファイルのファイル名を命名するようにすれば、元ファイルのファイル名「FF003.doc」が復元されることになる。
【０１１７】
（２）  サイズ・位置等の伝達
補助情報の別な利用形態は、暗号ファイルＦ２のデータ量を伝達する形態である。すなわち、ファイル合成ユニット１３０に、暗号ファイルＦ２のデータ量を含む補助情報を作成し、当該補助情報を組み込んだ合成画像ファイルＦ３を出力する機能をもたせておくようにする。そうすれば、ファイル分離ユニット２３０は、まず合成画像ファイルＦ３から補助情報を抽出することにより、暗号ファイルＦ２のデータ量を認識することができるので、当該データ量を参照して暗号ファイルＦ２を分離抽出することが可能になる。
【０１１８】
たとえば、図８に示す例の場合、ヒント画像Ｈのサイズを常に４８０×６４０画素とし左上に配置するように定めておき、補助情報画像Ａのサイズを常に１×１００画素（３００バイト）とし右下に配置するように定めておけば、暗号ファイルＦ２のデータ量（暗号画像Ｅのデータ量）が判明すれば、暗号画像Ｅの部分を、ヒント画像Ｈ，ダミー画像Ｄ，補助情報画像Ａから分離することが可能になり、暗号ファイルＦ２の分離抽出が可能になる。
【０１１９】
もっとも、暗号ファイルＦ２の分離抽出処理を行う際に、暗号ファイルＦ２のデータ量は必ずしも必要な情報ではない。たとえば、ダミー画像Ｄとして、「FF」といった特別なバイトコード（少なくとも暗号画像Ｅの部分には現れないコード）の羅列によって構成することができれば、暗号画像Ｅとダミー画像Ｄとを区別することができるので、暗号ファイルＦ２のデータ量が不明でも、暗号ファイルＦ２の分離抽出が可能である。
【０１２０】
もちろん、ヒント画像Ｈのサイズを、ユーザの便宜に応じて可変とするような運用も可能である。この場合は、ヒント画像Ｈのサイズも補助情報として伝達するようにすればよい。すなわち、暗号化用入力ユニット１１０に、ユーザの指示に基づいて、合成画像ファイルＦ３内に組み込むヒント画像Ｈのサイズを入力する機能をもたせておくようにし、ファイル合成ユニット１３０に、指定されたヒント画像Ｈのサイズを含む補助情報を作成し、当該補助情報を含む合成画像ファイルを出力する機能をもたせておくようにする。そうすれば、ファイル分離ユニット２３０は、補助情報として伝達されてきたヒント画像Ｈのサイズを参照して、暗号ファイルＦ２を分離抽出することができる。
【０１２１】
なお、ヒント画像Ｈとして利用するためにユーザが用意した画像ファイル内の画像の実際のサイズと、ユーザが指定したヒント画像Ｈのサイズ（合成画像ファイルＦ３内に組み込むヒント画像Ｈのサイズ）とが一致しない場合には、ファイル合成ユニット１３０が、ユーザが用意したヒント画像に対して、指定されたサイズに適合するような変倍処理を実行し、変倍処理後のヒント画像を合成画像ファイルＦ３内に組み込む処理を実行するようにすればよい。
【０１２２】
また、ヒント画像の配置を、ユーザの便宜に応じて可変とするような運用も可能である。図８に示す例の場合、ヒント画像Ｈは合成画像Ｃの左上に配置されているが、ユーザの好みに応じて、右上、左下、右下などの配置をとるようにしてもかまわない。
【０１２３】
この場合、暗号化用入力ユニット１１０に、ユーザの指示に基づいて、ヒント画像の位置を入力する機能をもたせるようにする。そして、ファイル合成ユニット１３０が、このヒント画像の位置を含む補助情報を作成するとともに、当該ヒント画像の位置を参照して合成画像ファイルを作成するようにする。ヒント画像の位置は、補助情報としてファイル分離ユニット２３０へ伝達されるので、ファイル分離ユニット２３０は、このヒント画像の位置を参照して暗号ファイルを分離抽出することができる。
【０１２４】
このようなヒント画像の位置指定機能は、ユーザが利用するパスワードをより堅固にする特典を与えることができる。たとえば、§２では、「White John」というペットの犬の名前をパスワードとして用いる例を述べたが、ヒント画像の位置指定機能を利用すれば、パスワードに「White John 左上」，「White John 右上」，「White John 左下」，「White John 右下」のような４通りのバリエーションを与えることができるようになる。
【０１２５】
すなわち、ユーザは、ヒント画像Ｈから連想される「White John」という文字列に、更に、ヒント画像Ｈの配置を示す「左上」の文字列を付加した「White John 左上」という形のより長い文字列からなるパスワードを暗号化用パスワードＰ１として利用することができるようになる。もちろん、復号化の際には、図８に示すような合成画像Ｃが提示されるので、ヒント画像Ｈから「White John」という文字列を連想することができ、更に、その配置から「左上」なる文字列を連想することができるので、「White John 左上」という正しいパスワードを復号化用パスワードＰ２として入力することができる。
【０１２６】
図１１は、図１に示す暗号化用入力ユニット１１０によって提示される暗号化処理用操作画面１０の変形例を示す平面図である。この図１１に示す例においても、元ファイル指定欄１１、パスワード入力欄１２、ヒント画像指定欄１３、ヒント画像表示欄１４、ファイル選択欄１５が設けられている点は、図３に示す例と全く同じである。ただ、この変形例では、更に、合成画像サイズ指定欄１６、ヒント画像サイズ指定欄１７、ヒント画像位置指定欄１８が付加されており、ユーザは、合成画像サイズ、ヒント画像サイズ、ヒント画像位置をいくつかの候補から選択することにより指定することができる。いずれも黒丸が付された候補が選択された候補である。
【０１２７】
たとえば、合成画像Ｃのサイズに関しては、合成画像サイズ指定欄１６に用意されている３通りのサイズ（７２０×９６０画素、９６０×１２８０画素、１９２０×２５６０画素の３通り）の中の１つをマウスクリック操作などによって選択することにより、所望のサイズの指定が可能である。
【０１２８】
また、ヒント画像のサイズに関しては、ヒント画像サイズ指定欄１７に用意されている３通りのサイズの中の１つをマウスクリック操作などによって選択することにより、所望のサイズの指定が可能である。図示の例の場合、ヒント画像のサイズは、縦横の画素数ではなく、合成画像サイズに対する面積比で示されている。具体的には、「全体の１／１６」，「全体の１／９」，「全体の１／４」という３通りのサイズが候補として用意されている。たとえば、「全体の１／４」というサイズを選択した場合、ヒント画像Ｈのサイズは、合成画像Ｃを全体画像としたときに、面積が全体の１／４となるようなサイズ（縦横がそれぞれ１／２）に指定される。もちろん、ヒント画像のサイズを、縦横の画素数で指定させることも可能であるが、実用上は、合成画像Ｃに対する面積比で指定させる方が、ユーザにとってより直観的な指定が可能になる。
【０１２９】
一方、ヒント画像の位置に関しては、ヒント画像位置指定欄１８に用意されている４通りの位置（「左上」，「右上」，「左下」，「右下」）の中の１つをマウスクリック操作などによって選択することにより、所望の位置指定が可能である。
【０１３０】
図１１に示す例の場合、合成画像サイズとして「９６０×１２８０」、ヒント画像サイズとして「全体の１／４」、ヒント画像の位置として「左上」という指定がなされている。この場合、図８に示すような合成画像Ｃが作成されることになる。なお、ヒント画像として「FF006.jpg」なる画像ファイルが選択されているが、当該画像ファイルのサイズが、指定されたサイズ（図８に示すとおり４８０×６４０画素になる）に不一致である場合には、前述したとおり、ファイル合成ユニット１３０によって、指定されたサイズに適合するような変倍処理が実行され、変倍処理後のヒント画像が合成画像ファイルＦ３内に組み込まれることになる。
【０１３１】
この他、ユーザの便宜を考慮して、作成される合成画像ファイルＦ３のファイルフォーマットをユーザに選択させることも可能である。これまでは、「jpg」形式のファイルフォーマットをもった合成画像ファイルＦ３を作成する例のみを述べてきたが、合成画像ファイルＦ３のファイルフォーマットは、画像ファイルのフォーマットであればどのようなものでもかまわない。したがって、暗号化用入力ユニット１１０に、複数通りのファイルフォーマットをユーザに提示して選択させる機能を付加しておき、ファイル合成ユニットが、ユーザが選択したファイルフォーマットをもった合成画像ファイルＦ３を作成する機能をもたせておけば、ユーザは所望のファイルフォーマットをもった合成画像ファイルＦ３を得ることができるようになる。
【０１３２】
（３）  パスワードの伝達
補助情報の更に別な利用形態は、暗号化用パスワードもしくはその一部を復号化処理部２００へ伝達するための利用形態である。これまで述べた例では、復号化処理部２００側で、与えられた復号化用パスワードＰ２が正しいパスワード（暗号化用パスワードＰ１と同一のパスワード）であるか否かの判断が直接行われることはない。すなわち、復号化用パスワードＰ２が誤ったパスワードであったとしても、通常どおりの復号化処理プロセスが実行され、元ファイルＦ１の復元が行われる。ただ、誤ったパスワードを用いて復号化処理を行った場合、得られるファイルも誤った内容のファイルになり、正しい元ファイルＦ１が復元されることはない。したがって、元ファイルＦ１が復元されることはない、という観点からは、復号化処理部２００側で、復号化用パスワードＰ２の正否を判定する必要はない。
【０１３３】
しかしながら、復号化処理部２００側で、復号化用パスワードＰ２の正否判定を行うことなしに復号化処理が実行されることは、全体的なセキュリティを低下させる要因になる。すなわち、復号化処理部２００に対して、任意のデータファイルを合成画像ファイルＦ３として与え、任意の文字列を復号化用パスワードＰ２として与えても、復号化処理が実行され、何らかのファイルが復元ファイルとして出力されることになると、不正利用者は、様々なデータファイルとパスワードの組み合わせを与え、得られる復元ファイルの内容を統計的に分析することにより、復号化処理ユニット２４０で実行される復号化処理のアルゴリズムの解析が可能になる。
【０１３４】
このような問題を解決するには、ファイル合成ユニット１３０に、暗号化用パスワードＰ１もしくはその一部を含む補助情報を作成し、これを合成画像ファイルＦ３に組み込む機能をもたせておき、暗号化処理部１００から復号化処理部２００へ、補助情報としてパスワードを伝達させるようにすればよい。この場合、ファイル分離ユニット２３０が、復号化用パスワードＰ２もしくはその一部が、補助情報に含まれている暗号化用パスワードもしくはその一部に合致するか否かの判定を行うようにし、当該判定において、合致の判定結果が得られた場合にのみ、復号化処理ユニット２４０における復号化処理が実行されるようにすればよい。
【０１３５】
実用上は、ファイル分離ユニット２３０が、上記判定において合致の判定結果が得られることを条件として、暗号ファイルの分離抽出を行うようにしておけばよい。不一致の場合は、暗号ファイルの分離抽出が行われないので、当然、暗号化処理ユニット２４０による復号化処理が実行されることはない。
【０１３６】
このように、暗号化処理部１００から復号化処理部２００に対して、補助情報としてパスワードを伝達すれば、復号化処理部２００側において、与えられた復号化用パスワードＰ２の正否を判定することが可能になるメリットが得られる。その反面、合成画像ファイルＦ３内にパスワードが組み込まれてしまうため、合成画像ファイルＦ３を不正に入手した者が、パスワードを読み取ってしまう危険性が生じる。したがって、実用上は、パスワードを２つの部分に分け、第１の部分を暗号化／復号化処理に利用し、第２の部分を合致判定処理に利用するのが好ましい。
【０１３７】
たとえば、前述した実施例では、暗号化用パスワードＰ１として「White John」なるパスワードを用いる例を述べた。この場合、スペースを境として、第１の部分「White」と第２の部分「John」とに分け（あるいは、先頭から所定の文字数までを第１の部分、残りを第２の部分というように分けてもよい）、第１の部分「White」を暗号化／復号化処理に利用し、第２の部分「John」を合致判定処理に利用すればよい。
【０１３８】
より具体的に説明すれば、暗号化の際に、暗号化処理ユニット１２０は、与えられた暗号化用パスワードＰ１の第１の部分「White」を用いて暗号化処理を行うようにする。また、ファイル合成ユニット１３０は、暗号化用パスワードの第２の部分「John」を含む補助情報を作成し、これを合成画像ファイルＦ３に組み込むようにする。一方、復号化の際には、復号化処理ユニット２４０が、復号化用パスワードＰ２の第１の部分「White」を用いて復号化処理を行うようにする。但し、ファイル分離ユニット２３０は、復号化用パスワードＰ２の第２の部分「John」が、補助情報に含まれている暗号化用パスワードＰ１の第２の部分「John」に合致することを条件として、暗号ファイルＦ２の分離抽出を行うようにする。
【０１３９】
このような方法を採れば、復号化用パスワードＰ２として、任意の文字列を与えたとしても、正規のパスワードの第２の部分「John」との合致が得られないため、暗号ファイルＦ２の分離抽出が行われず、当然、復号化処理は実行されない。また、万一、合成画像ファイルＦ３が不正者に取得され、補助情報が読み取られたとしても、補助情報には第２の部分「John」が含まれているだけであり、暗号化／復号化処理に必要な「White」の部分は含まれていないので、合成画像ファイルＦ３に基づく復号化までが不正に行われる危険性は低い。
【０１４０】
（４）  補助情報の具体的構成例
これまで述べたとおり、暗号化処理部１００から復号化処理部２００へと伝達される補助情報には、様々な利用形態が考えられる。最後に、このような様々な利用形態を組み入れた補助情報の具体的構成例を示しておく。
【０１４１】
図１２は、このような補助情報の具体的な構成例を示す図である。図示の表の左欄は、補助情報の内容を示すタイトルであり、右欄が実際の補助情報を構成するデータである。したがって、本来の補助情報は、表の右欄に示す情報であり、表の左欄の情報は、必ずしも補助情報の一部として組み込む必要はない。また、ここでは説明の便宜上、「全体の１／４」，「左上」などの日本語の文字列からなる補助情報が含まれているが、実用上は、これら日本語の文字列の代わりに、何らかの記号を用いるのが好ましい。図には、全体が３００バイトからなる補助情報の例が示されている。実際、この程度の情報であれば、３００バイトの容量があれば十分であり、図８に示す合成画像Ｃの中で、補助情報画像Ａが占める割合は極めて小さい（この例では、たかだか１００画素分）。
【０１４２】
図示の補助情報は、全７項目の情報から構成されている。以下、これら７項目の内容およびその利用形態をそれぞれ説明する。
【０１４３】
「元ファイルのファイル名（本体部）」：元ファイルＦ１のファイル名「FF003.doc」の本体部「FF003」の部分のテキストデータである。§４（１）で説明したように、元ファイルのファイル名の復元に利用される。
【０１４４】
「元ファイルのファイル名（拡張子）」：元ファイルＦ１のファイル名「FF003.doc」の拡張子「.doc」の部分のテキストデータである。§４（１）で説明したように、元ファイルのファイル名の復元に利用される。
【０１４５】
「ヒント画像サイズ」：図１１に示すヒント画像サイズ指定欄１７で選択されたサイズである。図示の例では、「全体の１／４」なるサイズが選択されている。もちろん、実際の画素数でサイズを指定してもかまわない。§４（２）で説明したように、暗号ファイルＦ２の分離抽出処理に利用される。
【０１４６】
「ヒント画像の位置」：図１１に示すヒント画像位置指定欄１８で選択された位置である。図示の例では、「左上」なる位置が選択されている。§４（２）で説明したように、暗号ファイルＦ２の分離抽出処理に利用される。また、パスワードを「White John 左上」のように複雑化できるメリットも得られる。
【０１４７】
「暗号ファイルデータ量」：暗号ファイルＦ２のデータ量である。§４（２）で説明したように、暗号ファイルＦ２の分離抽出処理に利用される。
【０１４８】
「パスワードの後半」：暗号化用パスワードＰ１の後半部分である。§４（３）で説明した例の場合、「White John」なるパスワードＰ１のうちの前半部分「White」は暗号化／復号化処理に利用され、後半部分「John」が補助情報に組み込まれ、復号化処理部２００における合致判定処理に利用される。
【０１４９】
「分割情報」：後述する実施例で利用される補助情報である。暗号ファイルＦ２の容量が大きいため、１枚の合成画像に収容しきれない場合、複数のブロックに分割して収容することになる。この分割数を復号化処理部２００に伝達するための補助情報である。詳細は、§５（１）参照。
【０１５０】
なお、図１１の合成画像サイズ指定欄１６で指定された合成画像サイズは、図１２の補助情報に含まれていないが、これは、図１０に示すように、合成画像Ｃ自体のサイズは、「jpg」形式などの一般的な画像ファイルのフォーマットでは、ヘッダ部ｈに格納されるためである。もちろん、必要があれば、補助情報に合成画像Ｃ自体のサイズを組み入れてもかまわない。
【０１５１】
＜＜＜  §５．その他の実施例  ＞＞＞
（１）  暗号ファイルＦ２を分割して収容する実施例
これまで述べてきた実施例では、図８に示す例のように、暗号ファイルＦ２を構成するデータは、暗号画像Ｅとして、１枚の合成画像Ｃ内に組み込まれている。したがって、暗号ファイルＦ２のデータ容量が大きい場合でも、それに見合うだけ大きなサイズの合成画像Ｃを用意できれば支障は生じない。しかしながら、合成画像Ｃがあまり大きくなると、一般的なディスプレイ画面には表示しきれなくなる。したがって、実用上は、１枚の合成画像Ｃ内に暗号画像Ｅとして収容可能な最大収容データ量を設定しておき、合成画像Ｃのサイズに上限が設けられるようにするのが好ましい。
【０１５２】
このように、１枚の合成画像Ｃ内に収容可能な最大収容データ量を設定した場合、データの総量が当該最大収容データ量を超える暗号ファイルについては、これを複数ｎ個のブロックに分割し、複数ｎ枚の合成画像にそれぞれ別個に収容する対応をとればよい。また、暗号化用入力ユニット１１０が、図１１に示す例のように、サイズ指定欄１６，１７上でのユーザの指示に基づいて、合成画像やヒント画像のサイズを入力する機能を有している場合には、ファイル合成ユニット１３０が、指定された各画像のサイズを考慮して、最大収容データ量の認識を行うようにすればよい。具体的には、個々の合成画像サイズおよびヒント画像サイズの組み合わせごとに、それぞれ最大収容データ量を予め設定しておけばよい。
【０１５３】
図１３は、作成された暗号ファイルＦ２を分割して複数の合成画像ファイルに収容する実施例を示すブロック図である。この実施例では、ファイル合成ユニット１３０が、１枚の合成画像Ｃ内に暗号画像Ｅとして収容可能な最大収容データ量を認識しており、暗号化処理ユニット１２０から与えられる暗号ファイルＦ２を構成するデータの総量が、この最大収容データ量を超える場合には、暗号ファイルＦ２を構成するデータを、それぞれが最大収容データ量以下となる複数ｎ個のブロックに分割する処理を行う。そして、各ブロックのデータをそれぞれ暗号画像として収容する複数ｎ枚の合成画像を表示するための複数ｎ個の分割合成画像ファイルを作成する。
【０１５４】
図示の例は、ファイル合成ユニット１３０によって、暗号ファイルＦ２を３つに分割する必要があると判断された場合の例である。暗号ファイルＦ２は、３つのブロックＦ２−１，Ｆ２−２，Ｆ２−３に分割されている。ブロック分割の方法は任意であり、たとえば、暗号ファイルＦ２を構成するデータ列を、先頭から順に、前段部、中段部、後段部の３つに分け、これをブロックＦ２−１，Ｆ２−２，Ｆ２−３とするような分割を行ってもよいし、先頭から１，４，７，... バイト目のデータをブロックＦ２−１に収容し、先頭から２，５，８，... バイト目のデータをブロックＦ２−２に収容し、先頭から３，６，９，... バイト目のデータをブロックＦ２−３に収容する、という方法で分割を行ってもよい。
【０１５５】
こうして、最大収容データ量以下のブロックが形成できたら、それぞれを別個独立した分割合成画像ファイルＦ３−１，Ｆ３−２，Ｆ３−３に組み込むようにすればよい。個々の分割合成画像ファイルＦ３−１，Ｆ３−２，Ｆ３−３の構成方法は、これまで述べてきた実施例と同様である。ここでは、各分割合成画像ファイルには、元ファイルのファイル名本体部「FF003」に、「X1」，「X2」，「X3」，...という枝番を付加し、更に拡張子を付加したファイル名を付与する、という規則で、個々の分割合成画像ファイルのファイル名を決定した例が示されている。このため、図１３には、ファイル名「FF003X1.jpg」，「FF003X2.jpg」，「FF003X3.jpg」という３つの分割合成画像ファイルが生成される例が示されており、これら各画像ファイルを表示して得られる合成画像Ｃ１，Ｃ２，Ｃ３が例示されている。ここで、暗号画像Ｅ１，Ｅ２，Ｅ３は、それぞれブロックＦ２−１，Ｆ２−２，Ｆ２−３を構成するデータからなる画像である。
【０１５６】
図示の例では、合成画像Ｃ１，Ｃ２，Ｃ３には、いずれもヒント画像Ｈが含まれているが、ヒント画像Ｈはいずれか１つの合成画像にのみ組み込むようにしてもかまわない。すなわち、ファイル合成ユニット１３０は、複数ｎ枚の合成画像のいずれにも「ヒント画像」が含まれるように、複数ｎ個の分割合成画像ファイルを作成してもよいし、複数ｎ枚の合成画像の一部には「ヒント画像」が含まれるが、別な一部には「ヒント画像」が含まれないように、複数ｎ個の分割合成画像ファイルを作成してもよい。なお、この場合、個々のファイルごとに、ヒント画像が含まれているか否かを示す情報を補助情報として組み込んでおくようにする。
【０１５７】
また、図１３の例では、合成画像Ｃ１，Ｃ２，Ｃ３のすべてについて、それぞれ補助情報画像Ａ１，Ａ２，Ａ３が組み込まれているが、補助情報画像Ａ１，Ａ２，Ａ３として収容される補助情報の内容は、Ａ１，Ａ２，Ａ３について共通のものであってもよいし、それぞれ異なるものであってもよい。もちろん、補助情報は、いずれか１つの合成画像にのみ組み込むようにしてもかまわない。
【０１５８】
なお、図１３の例では、ダミー画像Ｄは、３番目の合成画像Ｃ３にのみ含まれているが、これは、合成画像Ｃ１およびＣ２に組み込まれている暗号画像Ｅ１，Ｅ２のデータ容量が、いずれも最大収容データ量に等しくなるように、暗号ファイルＦ２の分割が行われたためである。もちろん、暗号ファイルＦ２をほぼ３等分し、各合成画像Ｃ１，Ｃ２，Ｃ３のそれぞれにダミー画像が含まれるようにしてもかまわない。
【０１５９】
このように、暗号化処理部１００によって、複数ｎ個の分割合成画像ファイルが作成された場合、復号化処理部２００では、この複数ｎ個のファイルすべてを用いて復号化を行う必要がある。
【０１６０】
そこで、復号化用入力ユニット２１０には、ユーザの指示に基づいて、このｎ個の分割合成画像ファイルを一群の関連ファイルとして入力する機能をもたせておく。図１３に示す例の場合、ユーザが、「FF003X1.jpg」，「FF003X2.jpg」，「FF003X3.jpg」という３つのファイル名を指定した場合に、この３つのファイルが、復号化処理部２００の内部で一群の関連ファイルとして取り扱われるようにすればよい。具体的には、たとえば、図５に示すファイル選択欄２４において、ユーザが同時に複数ｎ個のファイルを選択した場合に、これら複数ｎ個のファイルを一群の関連ファイルとして入力するようにすればよい。あるいは、ユーザが、対象ファイル指定欄２１に「FF003X」のように、複数ｎ個のファイルのファイル名に共通する文字列を入力した場合に、この「FF003X」なる文字列を含むファイル名が付与された複数ｎ個のファイルを一群の関連ファイルとして入力するようにしてもよい。
【０１６１】
一方、合成画像表示ユニット２２０には、こうして入力された一群の関連ファイルのうちの少なくとも１つの分割合成画像ファイルに基づいて、ヒント画像が含まれている合成画像を表示する機能をもたせておく。たとえば、図１３に示す例のように、３つのファイルＦ３−１，Ｆ３−２，Ｆ３−３のすべてにヒント画像Ｈが含まれている場合には、いずれか１つのファイルを任意選択し、図６に示す合成画像表示欄２３に合成画像を表示させればよい。ファイルＦ３−１が選択された場合には合成画像Ｃ１が表示され、ファイルＦ３−２が選択された場合には合成画像Ｃ２が表示され、ファイルＦ３−３が選択された場合には合成画像Ｃ３が表示されることになるが、いずれの場合も、ヒント画像Ｈが提示されることになる。
【０１６２】
なお、ヒント画像Ｈが、複数ｎ枚の合成画像の一部にしか含まれていない場合は、図６に示す合成画像表示欄２３に、任意選択されたファイルの合成画像Ｃを表示させても、そこにはヒント画像Ｈが含まれていないこともあるが、このような場合は、たとえば、ユーザのマウスクリック操作などを受けて、表示対象となるファイルを順送りで変更する機能を設けておけばよい。ユーザは、合成画像表示欄２３にヒント画像Ｈが提示されるまで、クリック操作を繰り返すことになる。
【０１６３】
あるいは、個々のファイルには、ヒント画像Ｈが含まれているか否かを示す情報が補助情報として組み込まれているので、合成画像表示ユニット２２０には、この補助情報を参照して、ヒント画像Ｈが含まれているファイルを自動選択して表示する機能をもたせておいてもよい。
【０１６４】
一方、ファイル分離ユニット２３０は、このｎ個の分割合成画像ファイルから、それぞれ収容されていたブロックを分離抽出した上で、これらｎ個のブロックを合成することにより暗号ファイルＦ２を復元する処理を行えばよい。前述したように、複数ｎ個の分割合成画像ファイルは、復号化用入力ユニット２１０において、一群の関連ファイルとして入力されるので、ファイル分離ユニット２３０は、与えられたｎ個の分割合成画像ファイルが一群の関連ファイルである旨を認識することができ、各ブロックを分離抽出した上で、これらを合成する処理を行うことができる。
【０１６５】
もっとも、実用上は、ファイル合成ユニット１３０でｎ個の分割合成画像ファイルを作成する際に、個々のファイルのそれぞれに補助情報を組み込むようにし、この補助情報内に、図１２に示す例のような分割情報を含ませておくのが好ましい。図示の例の場合、「１／３」なる分割情報は、当該ファイルが、全３分割された第１番目のブロックを含むファイルであることを示す情報である。ファイル分離ユニット２３０は、このような分割情報を参照することにより、一群の関連ファイルとして３つのファイルが入力されていることを確認することができ、また、分離抽出したブロックをどのような順序で合成すればよいかを認識することができる。
【０１６６】
（２）  暗号化アルゴリズムを選択する実施例
既に述べたとおり、図１に示すシステムにおいて、暗号化処理ユニット１２０で実行される暗号化のアルゴリズムと、復号化処理ユニット２４０で実行される復号化のアルゴリズムとは、相互に対応している必要がある。換言すれば、暗号化アルゴリズムと復号化アルゴリズムとが対応している限り、どのような暗号化／復号化アルゴリズムを用いてもかまわないことになる。そこで、システム内に予め複数の暗号化／復号化アルゴリズムを用意しておき、ユーザが好みに応じて任意のアルゴリズムを選択できるようにすることも可能である。
【０１６７】
図１４は、複数のアルゴリズムを選択して暗号化および復号化を行う実施例を示すブロック図である。この実施例では、暗号化処理ユニット１２０が、複数通りの暗号化アルゴリズムに基づく暗号化処理機能を有し、ユーザが選択した特定の暗号化アルゴリズムを用いた暗号化処理を実行し、復号化処理ユニット２４０が、この複数通りの暗号化アルゴリズムに対応した複数通りの復号化アルゴリズムに基づく復号化処理機能を有し、ユーザが選択した特定の復号化アルゴリズムを用いた復号化処理を実行することになる。
【０１６８】
このため、暗号化用入力ユニット１１０は、ユーザの指示に基づいて、特定の暗号化アルゴリズムを選択する入力を行う機能を有している。この機能は、たとえば、図３に示す暗号化処理用操作画面１０上に、アルゴリズム選択ボタンを配置し、マウスクリック操作などでいずれかを選択させるような仕組によって実現できる。一方、復号化用入力ユニット２１０は、ユーザの指示に基づいて、特定の復号化アルゴリズムを選択する入力を行う機能を有している。この機能は、たとえば、図６に示す復号化処理用操作画面２０上に、アルゴリズム選択ボタンを配置し、マウスクリック操作などでいずれかを選択させるような仕組によって実現できる。
【０１６９】
図示の例では、暗号化処理ユニット１２０内には、暗号化アルゴリズム１に基づいて暗号化処理を行う第１の暗号化処理部１２１と、暗号化アルゴリズム２に基づいて暗号化処理を行う第２の暗号化処理部１２２と、暗号化アルゴリズム３に基づいて暗号化処理を行う第３の暗号化処理部１２３と、が設けられている。ユーザは、暗号化用入力ユニット１２０に対して、元ファイルＦ１、暗号化用パスワードＰ１、ヒント画像Ｈを指定する入力を行うとともに、暗号化アルゴリズムを指定する入力を行うことになる。
【０１７０】
結局、暗号化処理ユニット１２０には、暗号化の対象となる元ファイルＦ１（図示の例では、ファイル名「FF003.doc」なる文書ファイル）と、暗号化用パスワードＰ１（図示の例では、「White John」なる文字列）と、アルゴリズム選択の指示（暗号化アルゴリズム１，２，３のいずれかを選択する指示）と、が与えられ、暗号化処理は、選択されたアルゴリズムに対応する暗号化処理部（図示の例では、１２１，１２２，１２３のいずれか）によって実行され、暗号ファイルＦ２が作成されることになる。
【０１７１】
一方、復号化処理ユニット２４０内には、復号化アルゴリズム１（暗号化アルゴリズム１に対応したアルゴリズム）に基づいて復号化処理を行う第１の復号化処理部２４１と、復号化アルゴリズム２（暗号化アルゴリズム２に対応したアルゴリズム）に基づいて復号化処理を行う第２の復号化処理部２４２と、復号化アルゴリズム３（暗号化アルゴリズム３に対応したアルゴリズム）に基づいて復号化処理を行う第３の復号化処理部２４３と、が設けられている。ユーザは、復号化用入力ユニット２１０に対して、合成画像ファイルＦ３および復号化用パスワードＰ２を指定する入力を行うとともに、復号化アルゴリズムを指定する入力を行うことになる。
【０１７２】
結局、復号化処理ユニット２４０には、復号化の対象となる暗号ファイルＦ２（ファイル分離ユニット２３０によって分離されたもの）と、復号化用パスワードＰ２（図示の例では、「White John」なる文字列）と、アルゴリズム選択の指示（復号化アルゴリズム１，２，３のいずれかを選択する指示）と、が与えられ、復号化処理は、選択されたアルゴリズムに対応する復号化処理部（図示の例では、２４１，２４２，２４３のいずれか）によって実行され、元ファイルＦ１（図示の例では、ファイル名「FF003.doc」なる文書ファイル）が復元されることになる。
【０１７３】
このように、任意のアルゴリズムを選択できるようにしておけば、ユーザは、安全性などを考慮して、その都度、好みのアルゴリズムを用いた暗号化を行うことができるようになるので、暗号化の自由度が向上する。また、第三者から見ると、暗号化にどのアルゴリズムが用いられたのかを特定することができないため、暗号が破られるリスクを低減するメリットも得られる。
【０１７４】
現在、暗号化／復号化処理を行う商用アプリケーションプログラムが多数販売されており、採用する暗号化／復号化アルゴリズムも多岐に渡っている。したがって、実用上、図１に示すシステムにおける暗号化処理ユニット１２０および復号化処理ユニット２４０の部分は、個々のユーザが、それぞれパソコンなどに好みの暗号化／復号化用アプリケーションプログラムをインストールすることによって構築することが可能である。したがって、図１４に例示するシステムは、ユーザが３種類の暗号化／復号化用アプリケーションプログラムをインストールすることによって構成することができる。
【０１７５】
もっとも、このように利用するアルゴリズムに複数の選択肢が存在すると、ユーザは、暗号化にどのアルゴリズムを用いたかを記憶しておく必要が生じる。たとえば、図１４に示す例において、暗号化を行う際に、暗号化アルゴリズム２を選択することにより暗号ファイルＦ２が作成された場合、この暗号ファイルＦ２に対する復号化を行う際には、暗号化アルゴリズム２に対応する復号化アルゴリズム２を選択する必要がある。誤って復号化アルゴリズム１や３を選択した場合には、元ファイルの正しい復元を行うことができない。
【０１７６】
本発明において復号化の際にユーザに提示されるヒント画像Ｈは、このような点においても有用である。すなわち、ヒント画像Ｈは、パスワードの連想に有用なだけでなく、選択したアルゴリズムの連想にも有用である。利用するアルゴリズムに複数の選択肢が存在する環境では、ユーザは、選択したアルゴリズムを思い出すためのヒントとなる画像をヒント画像Ｈとして指定することが可能である。
【０１７７】
（３）  複数のヒント画像を用いる実施例
これまで述べてきた実施例では、１つの合成画像ファイル内に１つのヒント画像Ｈを組み込んでいるが、必要に応じて、複数のヒント画像を組み込むことも可能である。
【０１７８】
図１５は、複数のヒント画像を用いた実施例における合成画像Ｃの詳細構成を示す平面図である。この合成画像Ｃは、図８に示す例と同様に、暗号画像Ｅ，ダミー画像Ｄ，補助情報画像Ａに、ヒント画像を合成したものであるが、２種類のヒント画像Ｈ１，Ｈ２が用いられている点が特徴である。このように複数のヒント画像を用いると、ユーザの連想をより活発化することができ、より複雑なパスワードの利用を促進させることができる。
【０１７９】
特に、図１４に例示したような複数のアルゴリズムを選択的に用いる実施例の場合、複数種類のヒント画像を利用すると効果的である。たとえば、ペットの名前「White John」をパスワードとして用い、３種類の暗号化アルゴリズムのうち、２番目のアルゴリズムを選択して暗号化を行う場合を考えてみよう。この場合、図１５に示す例のように、ペットの写真をヒント画像Ｈ１として指定し、次女の写真をヒント画像Ｈ２として指定することにより、ヒント画像Ｈ１から「White John」なるパスワードを連想させ、ヒント画像Ｈ２から「２番目」というアルゴリズムの番号を連想させることが可能になる。
【０１８０】
なお、図１５に示す例では、合成画像Ｃの１／４のサイズのヒント画像Ｈ１を左上位置に配置し、これより小さなサイズのヒント画像Ｈ２を、ヒント画像Ｈ１の右上位置に重ねて配置するような設定を行っているが、個々のヒント画像のサイズや配置は任意に設定可能である。もちろん、２枚のヒント画像を互いに重ならないように並べて配置するようにしてもかまわない。
【０１８１】
（４）  ダミーデータからなる境界画像を用いる実施例
図１６は、ダミーデータからなる境界画像Ｄを含む合成画像Ｃの詳細構成を示す平面図である。合成画像Ｃの一部にダミー画像Ｄを含ませる例は、既に図８で説明した。ただ、図８で説明した実施例の場合、ダミー画像Ｄは、合成画像Ｃのサイズを所定の定型サイズ（９６０×１２８０画素のサイズ）に維持する目的のために設けられたものである。すなわち、ヒント画像Ｈ、暗号画像Ｅ、補助情報画像Ａの画素数を合計しても、９６０×１２８０画素に満たない場合、残りを無意味なダミーデータからなるダミー画像Ｄで埋めるという考え方に基づくものである。
【０１８２】
一方、図１６における境界画像Ｄは、やはり無意味なダミーデータから構成される画像であり、そのような観点からは、ダミー画像Ｄと呼べるものである。したがって、もちろん、この境界画像Ｄは、定型サイズの合成画像Ｃを構成するために不足する画素を埋めるという効果も持ち合わせている。ただ、ここで述べる実施例における境界画像Ｄには、セキュリティを向上させるという固有の効果が期待できる。
【０１８３】
境界画像Ｄが、セキュリティを向上させる効果を奏する理由は、合成画像Ｃ上における配置にある。すなわち、図１６に示すとおり、「境界画像Ｄ」は、「ヒント画像Ｈ」と「暗号画像Ｅ」との境界部分に配置されている。このように、「境界画像Ｄ」を「ヒント画像Ｈ」と「暗号画像Ｅ」との境界部分に配置すれば、合成画像Ｃから暗号画像Ｅを抽出する作業を困難にすることができ、セキュリティの向上を図ることができる。
【０１８４】
その効果は、図８の実施例と図１６の実施例とを比べてみれば、容易に理解できよう。たとえば、図８に示す合成画像Ｃをディスプレイ画面上に表示すれば、観察者は、ヒント画像Ｈの部分を「意味のある１枚の画像」として認識することができる。具体的には、図示の例の場合、４８０×６４０画素の部分を「犬の絵」として把握することができ、それ以外の部分を「砂嵐の絵」として把握することができるので、両者の境界線を認識することができる。したがって、合成画像ファイルのデータを解析すれば、ヒント画像Ｈを構成するデータと、暗号画像Ｅを構成するデータとの境界を認識することができ、当該境界からデータを分けることにより、暗号ファイルを分離抽出する作業が行いやすくなる。これは、合成画像ファイルが不正者の手に渡った場合を考えると、セキュリティ上、問題である。
【０１８５】
これに対して、図１６に示す合成画像Ｃをディスプレイ画面上に表示すれば、やはり観察者は、ヒント画像Ｈの部分を「犬の絵」として把握することができ、それ以外の部分を「砂嵐の絵」として把握することができるので、両者の境界線を認識することができる。しかしながら、「境界画像Ｄ」と「暗号画像Ｅ」とは、いずれも「砂嵐の絵」として把握されるだけであり、これら両者の境界線を把握することはできない。したがって、合成画像ファイルから、ヒント画像Ｈを構成するデータの部分を切り分けることができたとしても、ダミーデータＤと暗号ファイルを構成するデータとを切り分けることはできないので、不正者が、暗号ファイルのみを分離抽出することは困難である。このような点において、図１６の実施例は、セキュリティの向上を図る上で有用である。
【０１８６】
このように、ダミーデータからなる境界画像Ｄを用いるのであれば、ファイル合成ユニット１３０に、「ヒント画像Ｈ」と「暗号画像Ｅ」との境界部分に配置された「ダミーデータからなる境界画像Ｄ」を含む合成画像Ｃを表示するための合成画像ファイルを作成する機能をもたせておけばよい。具体的には、たとえば、「ヒント画像Ｈの右辺および下辺に幅２０画素のＬ字状の帯からなる境界画像Ｄを配置する」というように、予め境界画像Ｄの大きさや配置の規則を定めておけば、ファイル合成ユニット１３０は、当該規則に基づいて、境界画像Ｄを含む合成画像Ｃを作成することができる。また、ファイル分離ユニット２３０は、当該規則に基づいて、暗号ファイルの分離抽出が可能である。
【０１８７】
もちろん、ファイル合成ユニット１３０が、境界画像Ｄの大きさや配置を、その都度、ランダムに決定するようにしてもかまわない。この場合、合成画像Ｃのうちのどの部分が境界画像Ｄであるかを示す情報を、補助情報Ａの一部として記録しておくようにすれば、ファイル分離ユニット２３０は、この補助情報Ａに記録された情報に基づいて、境界画像Ｄの位置を認識することができ、暗号ファイルを分離抽出することが可能である。
【０１８８】
＜＜＜  §６．第２の実施形態  ＞＞＞
これまで述べてきた§１〜§５の実施例は、いずれも本発明の第１の実施形態に係るファイルの暗号処理システムである。ここでは、本発明の第２の実施形態を説明する。
【０１８９】
本発明の基本的な考え方は、元ファイルを所定のパスワードを使って暗号化して暗号ファイルを作成し、この暗号ファイルにパスワードを連想させるヒント画像を添付し、復号化時にヒント画像を提示する、というものである。これまで述べた第１の実施形態も、これから述べる第２の実施形態も、上記基本的な考え方は共通である。両者の相違は、ヒント画像の添付の仕方にある。
【０１９０】
すなわち、第１の実施形態では、「暗号ファイルを構成するデータを暗号画像Ｅとして、ヒント画像Ｈと合成し、合成画像ファイルを作成する」という方法を採るのに対して、第２の実施形態では、「ヒント画像Ｈの画像ファイルを構成するデータの末尾に、暗号ファイルを構成するデータを結合する」という方法を採る。以下、その具体的な方法を、実施例を参照しながら説明する。
【０１９１】
図１７は、本発明の第２の実施形態に係るファイルの暗号処理システムの構成を示すブロック図である。図示のとおり、このシステムの大きな２つの構成要素は、データファイルを暗号化する処理を行う暗号化処理部１０５（図の上段部分）と、暗号化されたデータファイルを復号化する処理を行う復号化処理部２０５（図の下段部分）である。
【０１９２】
暗号化処理部１０５の基本機能は、ユーザから与えられた暗号化用パスワードＰ１を暗号化キーとして利用して、暗号化の対象となる元ファイルＦ１を暗号化することである。図示のとおり、暗号化処理部１０５は、暗号化用入力ユニット１１０、暗号化処理ユニット１２０、ファイル結合ユニット１３５という３つのユニットによって構成されている。ここで、暗号化用入力ユニット１１０および暗号化処理ユニット１２０の実質的な機能は、図１に示す第１の実施形態に係るシステムの暗号化用入力ユニット１１０および暗号化処理ユニット１２０の実質的な機能と同じである。
【０１９３】
したがって、図１に示す暗号化処理部１００と図１７に示す暗号化処理部１０５との相違は、前者におけるファイル合成ユニット１３０が、後者ではファイル結合ユニット１３５に置き換わっている点である。ここで、ファイル結合ユニット１３５は、暗号化用入力ユニット１１０によって入力されたヒント画像ファイルＦＨを構成するデータの末尾に、暗号ファイルＦ２のデータを含む付加データを結合することにより、結合画像ファイルＦ４を作成する機能を有する。
【０１９４】
図１８は、図１７に示す暗号化処理部１０５における結合画像ファイルＦ４の作成処理手順を示すブロック図である。まず、第１段階として、暗号化処理ユニット１２０において、元ファイルＦ１（この例の場合、ファイル名「FF003.doc」なる文書ファイル）に対して、暗号化用パスワードＰ１（この例の場合、「White John」なる文字列）を用いた所定の暗号化アルゴリズムに基づく暗号化処理が施され、暗号ファイルＦ２を作成する処理が行われる。続く第２段階では、ファイル結合ユニット１３５において、ヒント画像ファイルＦＨ（この例の場合、ファイル名「FF006.jpg」なる画像ファイル）を構成するデータ（図示のとおり、ヘッダ部ｈおよびフッタ部ｆを含めた画像ファイルＦＨを構成する全データ）の末尾に、暗号ファイルＦ２のデータを含む付加データφを結合することにより、結合画像ファイルＦ４（この例の場合、ファイル名「FF003.jpg」なる画像ファイル）が作成される。
【０１９５】
ここで、結合画像ファイルＦ４は、ヒント画像ファイルＦＨと同一のファイルフォーマットをもった画像ファイルになる。すなわち、図１８に示す例の場合、ヒント画像ファイルＦＨが、「FF006.jpg」なるファイル名が付されている「jpg」形式の画像ファイルであるため、ファイル結合ユニット１３５によって作成される結合画像ファイルＦ４も、「FF003.jpg」なるファイル名が付されているとおり、「jpg」形式の画像ファイルである。
【０１９６】
ただ、ヒント画像ファイルＦＨが正規の「jpg」形式の画像ファイル（フォーマットの規定どおりのファイル）であるのに対して、結合画像ファイルＦ４は、「jpg」形式のフォーマットからは若干逸脱した画像ファイルになる。「jpg」形式のフォーマットをはじめとして、一般的な画像ファイルのフォーマットでは、画像ファイルは、ヘッダ部と、画像データ本体部（画素データ）と、フッタ部と、によって構成される。図１８に示すヒント画像ファイルＦＨも、このフォーマットに従って、ヘッダ部ｈと、画像データ本体部（ヒント画像Ｈを構成するデータ）と、フッタ部ｆと、によって構成されている。これに対して、図１８に示す結合画像ファイルＦ４は、ヒント画像ファイルＦＨを構成するデータの末尾（すなわち、フッタ部ｆの末尾）に、付加データφをそのまま結合した形式をとる。
【０１９７】
したがって、厳密に言えば、この結合画像ファイルＦ４は、「jpg」形式の画像ファイルではないが、画像閲覧用アプリケーションプログラムでは、「jpg」形式の画像ファイルとして開くことができる。その第１の理由は、ファイル名に「.jpg」なる拡張子が付加されているため、アプリケーションプログラムが、当該ファイルが「jpg」形式の画像ファイルであるとの前提で、メモリ空間にデータを展開する処理を行うためである。そして第２の理由は、画像閲覧用アプリケーションプログラムでは、ヘッダ部ｈとフッタ部ｆとによって挟まれた部分を画像データ本体部と認識し、当該画像データ本体部を画像表示用のメモリ空間に展開する処理を行うためである。
【０１９８】
このため、図１８に示す結合画像ファイルＦ４を、画像閲覧用アプリケーションプログラムで開くと、画像データ本体部に相当するヒント画像Ｈの部分が画像表示用のメモリ空間に展開され、ディスプレイ画面上に表示されることになる。別言すれば、ヒント画像ファイルＦＨも、結合画像ファイルＦ４も、画像閲覧用アプリケーションプログラムで開く限りは、ディスプレイ画面上に同じヒント画像Ｈが表示されるという点で共通する。両ファイルの相違点は、結合画像ファイルＦ４には、フッタ部ｆの末尾に、本来は不要な付加データφが連結されているという点である。
【０１９９】
もちろん、画像閲覧用アプリケーションプログラムで、「jpg」形式の画像ファイルを開くと、ヘッダ部ｈやフッタ部ｆも読み込まれる。ただ、フッタ部ｆの最後には、ファイルの末尾を示す末尾符号「EOF」を置くことが決められており、プログラムの処理ルーチンは、この末尾符号「EOF」を当該ファイルの末尾のデータとして認識する。このため、画像閲覧用アプリケーションプログラムは、結合画像ファイルＦ４を取り扱う場合でも、そのフッタ部ｆの末尾をファイルの末尾と認識することになるので、後続する付加データφの部分は無視される。
【０２００】
結局、結合画像ファイルＦ４には、付加データφという余分なデータが連結しているものの、画像閲覧用アプリケーションプログラムで開く限り、通常の「jpg」形式の画像ファイルと同様に、画像データ本体部（すなわち、ヒント画像Ｈ）がディスプレイ画面上に表示されることになる。一方、データファイルとしては、付加データφを含めた全体が１ファイルとしての構造をとっているため、ＯＳプログラムやファイルを取り扱うプログラム（ファイルのコピーや転送などを行うプログラム）では、付加データφという余分な部分を含めた全体が、「FF003.jpg」なるファイル名をもった「jpg」形式の画像ファイルとして取り扱われることになる。
【０２０１】
このように、ファイル結合ユニット１３５で作成された結合画像ファイルＦ４は、次のような特徴を有している。まず、第１に、全体として独立した１つのファイルとしての構造をなし、ＯＳプログラムやファイルを取り扱うプログラム（ファイルのコピーや転送などを行うプログラム）では、あくまでも１つのファイルとして認識される。このため、インターネット経由のデータ保管サービスなどを利用して、ファイルを預けたり、取り出したりすることができる。
【０２０２】
第２に、データを先頭から順に読み込んでゆくと、ヘッダ部ｈ、画像データ本体部（ヒント画像Ｈを構成する画素データ）、フッタ部ｆという順序で並んでいるため、画像閲覧用アプリケーションプログラムで開くと、ヒント画像Ｈが表示される。この特徴を利用して、復号化の際には、パスワードを連想させるためのヒント画像Ｈを提示させることができる。
【０２０３】
そして、第３に、フッタ部ｆの末尾には、暗号ファイルＦ２のデータを含む付加データφが連結されているため、この暗号ファイルＦ２の部分を分離して復号化すれば、元ファイルＦ１を復元することができる。
【０２０４】
なお、図１８に示す例では、付加データφは、補助情報Ａと暗号ファイルＦ２のデータによって構成されている。ここで、補助情報Ａは、ファイル結合ユニット１３５によって作成され、付加されたものである。この補助情報Ａは、暗号化処理部１０５から復号化処理部２０５へ情報を伝達する目的で利用されるものであり、その具体的な利用形態は、既に§４で述べたとおりである。したがって、必要に応じて、ここで述べる第２の実施形態においても、§４で述べた利用形態をそのまま適用することができる。もちろん、補助情報Ａを利用する必要がない場合には、暗号ファイルＦ２のデータのみを付加データφとして結合すれば足りる。
【０２０５】
続いて、図１７に示す復号化処理部２０５についての説明を行う。復号化処理部２０５は、暗号化処理部１０５で作成された結合画像ファイルＦ４に基づいて、元ファイルＦ１の復元処理を行うための構成要素であり、結合画像ファイルＦ４と復号化用パスワードＰ２とを与えることにより、元ファイルＦ１を復元して出力する処理を行う。このとき、復号化処理部２０５は、ヒント画像Ｈを提示する機能を有している。既に述べた第１の実施形態と同様に、ユーザは、提示されたヒント画像Ｈを目にすることにより、復号化用パスワードＰ２を連想することができる。
【０２０６】
図示のとおり、復号化処理部２０５は、復号化用入力ユニット２１５、ヒント画像表示ユニット２２５、ファイル分離ユニット２３５、復号化処理ユニット２４０という４つのユニットによって構成されている。
【０２０７】
復号化用入力ユニット２１５は、ユーザの指示に基づいて、結合画像ファイルＦ４と、暗号化用パスワードに対応した復号化用パスワードＰ２と、を取り込む機能を果たす。この復号化用入力ユニット２１５は、実質的には、図１に示す復号化用入力ユニット２１０と同等の構成要素である。両者の相違は、前者が結合画像ファイルＦ４を取り込むのに対して、後者が合成画像ファイルＦ３を取り込む点だけである。
【０２０８】
一方、ヒント画像表示ユニット２２５は、復号化用入力ユニット２１５が取り込んだ結合画像ファイルＦ４に基づいて、ヒント画像Ｈを表示する機能を果たす。すなわち、ヘッダ部ｈとフッタ部ｆとによって挟まれた画像データ本体部に含まれる画像情報をヒント画像として提示することになる。上述したとおり、結合画像ファイルＦ４は、画像閲覧用アプリケーションプログラムで開くことが可能なので、ヒント画像表示ユニット２２５は、実際には、一般的なコンピュータに組み込まれている画像ファイルの閲覧機能によって実現できる。
【０２０９】
なお、復号化用入力ユニット２１５による入力操作の操作画面としては、既に述べた第１の実施形態と同様に、図５に示すような操作画面２０を用いることができる。この場合、対象ファイル指定欄２１に入力するファイル名は、結合画像ファイルＦ４のファイル名ということになる。また、画像表示欄２３には、合成画像Ｃが表示される代わりに、ヒント画像表示ユニット２２５によって、ヒント画像Ｈが表示されることになる。第１の実施形態で表示される合成画像Ｃは、図６に示す例のように、その一部にヒント画像Ｈが含まれているものの、その他の部分はいわゆる「砂嵐」のように見える画像である。これに対して、ここで述べる第２の実施形態では、ヒント画像Ｈのみが表示されることになるので、ユーザから見れば、より好ましい態様でヒント画像Ｈの提示が行われることになる。
【０２１０】
ファイル分離ユニット２３５は、結合画像ファイルＦ４から、暗号ファイルＦ２を分離抽出する処理を行う。すなわち、図１８に示すように、結合画像ファイルＦ４には、フッタ部ｆが含まれているので、このフッタ部ｆの末尾を認識すれば、当該末尾とこれに後続する部分との間で、結合画像ファイルＦ４を２つに分離することにより、付加データφの部分を切り離すことができ、この付加データに基づいて、暗号ファイルＦ２を分離抽出することができる。
【０２１１】
もし、付加データφに補助情報Ａが含まれている場合には、この補助情報Ａの部分を除去することにより、暗号ファイルＦ２を分離抽出することができる。補助情報Ａの除去は、たとえば、「付加データφの先頭から３００バイトの部分を補助情報Ａとする」というような取り決めを行っておけば、容易に行うことができる。こうして分離された暗号ファイルＦ２は、復号化処理ユニット２４０へ引き渡される。
【０２１２】
なお、暗号化処理部１０５における暗号化の際に、フッタ部ｆの末尾に、ファイルの末尾を示す末尾符号「EOF」を配置するファイルフォーマット（たとえば、「jpg」形式のフォーマット）をとるヒント画像ファイルＦＨを用いるようにすれば、ファイル分離ユニット２３５は、この末尾符号「EOF」に後続する部分を付加データφと容易に認識することができる。
【０２１３】
復号化処理ユニット２４０は、ファイル分離ユニット２３５によって抽出された暗号ファイルＦ２に対して、復号化用パスワードＰ２を用いた所定の復号化アルゴリズムに基づく復号化処理を施し、元ファイルＦ１を復元して出力する構成要素であり、図１に示す復号化処理ユニット２４０と全く同一の構成要素である。
【０２１４】
なお、画像閲覧／編集用アプリケーションプログラムで結合画像ファイルＦ４を開いた後、これを同一のファイル名で上書き保存すると、付加データφの部分は消えてしまうことになる。たとえば、図１８に示す「FF003.jpg」なるファイルを、画像閲覧用アプリケーションプログラムで開くと、ヘッダ部ｈとフッタ部ｆとの間に挟まれたヒント画像Ｈの部分が、画像表示用のメモリ空間に展開され、ディスプレイ画面上に表示されることになる。この状態で、同プログラムによって、現在開いているファイルを、「FF003.jpg」なる同一ファイル名で上書き保存すると、同プログラムは、画像表示用のメモリ空間に展開されているヒント画像Ｈの部分をヘッダ部ｈとフッタ部ｆとに挟んで、新たな画像ファイルとして保存する処理を行うことになる。このため、新たな画像ファイルは、「FF006.jpg」なるヒント画像ファイルＦＨと同じ内容になり、付加データφの部分は逸失する。
【０２１５】
このように、本発明に係るファイルの暗号処理システムの存在を知らない第三者が、通常の画像閲覧／編集用アプリケーションプログラムで結合画像ファイルＦ４を開いた後、これを同一のファイル名で上書き保存すると、付加データφの部分が逸失するため、暗号ファイルＦ２の部分が無関係な者へと拡散してゆくことを防ぐことができ、不正な解析対象にさらされる危険性を低減できる。また、一般的な画像閲覧／編集用アプリケーションプログラムの中には、上書き保存しなくても、ファイルを開いて閲覧しただけで、付加データφの部分を削除する処理を行う機能をもったものもある。そのようなアプリケーションプログラムによる閲覧操作を経た場合には、たとえ上書き保存が行われなかった場合でも、上記効果が得られることになる。
【０２１６】
なお、この第２の実施形態によって作成された結合画像ファイルＦ４の上記特徴は、セキュリティの観点からはメリットになるが、ユーザは、復号化を行う前に、誤って付加データφが失われることのないように留意する必要がある。そのためには、ファイル結合ユニット１３５が、結合画像ファイルＦ４を作成する際に、§２で述べたように、「ロック状態（書き込み禁止状態）」を示す属性を自動設定するようにするのが好ましい。
【０２１７】
さて、以上述べてきた図１７に示すファイルの暗号処理システムの特徴をまとめると、次のようになる。まず、このシステムは、暗号化の段階において、暗号化の対象となる元ファイルＦ１と暗号化用パスワードＰ１とをコンピュータに入力し、元ファイルＦ１に対して暗号化用パスワードＰ１を用いた所定の暗号化アルゴリズムに基づく暗号化処理を施して暗号ファイルＦ２を作成し、その一方で、復号化の段階で提示すべきヒント画像のデータを含むヒント画像ファイルＦＨをコンピュータに入力し、このヒント画像ファイルＦＨを構成するデータの末尾に、暗号ファイルＦ２のデータを含む付加データを結合する処理をコンピュータに実行させることにより、結合画像ファイルＦ４を作成する。
【０２１８】
一方、復号化の段階では、復号化の対象となる結合画像ファイルＦ４をコンピュータに取り込み、この結合画像ファイルＦ４に基づいて、ヒント画像Ｈをディスプレイ上に表示させ、ユーザは、このヒント画像Ｈにより連想した復号化用パスワードＰ２をコンピュータに入力することになる。更に、コンピュータに、結合画像ファイルＦ４から、暗号ファイルＦ２を分離抽出する処理を実行させ、この暗号ファイルＦ２に対して、復号化用パスワードＰ２を用いた所定の復号化アルゴリズムに基づく復号化処理を実行させ、元ファイルＦ１を復元することになる。
【０２１９】
最後に、この第２の実施形態の変形例を述べておく。図１９は、図１８に示す結合画像ファイルＦ４の変形例を示す図である。この変形例は、暗号ファイルＦ２を構成するデータの一部をヒント画像Ｈへ移動してセキュリティを向上させることを意図したものである。この変形例を実施する場合、ファイル結合ユニット１３５には、所定の移動規則に基づいて、暗号ファイルＦ２を構成するデータの一部を移動対象データとして選別し、この暗号ファイルＦ２内の移動対象データを別なデータに置換もしくは削除する処理を施し、かつ、移動対象データをヒント画像Ｈ内に潜像として埋め込む処理を施し、「置換もしくは削除処理後の暗号ファイルＦ２′」および「埋込処理後のヒント画像ファイルＦＨ′」を用いて結合画像ファイルＦ４を作成する機能をもたせておく。
【０２２０】
たとえば、図１９に示す例の場合、図にハッチングを施して示す小さな正方形内のデータｄ１〜ｄ４が移動対象データである。これら移動対象データｄ１〜ｄ４は、暗号ファイルＦ２内からヒント画像Ｈへと移動させられることになる。ファイル結合ユニット１３５は、まず、所定の移動規則に基づいて、暗号ファイルＦ２を構成するデータの一部を移動対象データとして選別する。たとえば、「暗号ファイルＦ２を構成するデータ列の先頭から１０００バイト目ごとに位置する１バイトのデータを移動対象データとして選別する」という規則を定めておけば、暗号ファイルＦ２を構成するデータ列の１０００バイト目、２０００バイト目、３０００バイト目、... のデータがそれぞれ移動対象データとして選別されることになる。
【０２２１】
こうして選別された移動対象データｄ１〜ｄ４は、ヒント画像Ｈ内に潜像として埋め込まれる。たとえば、「ヒント画像Ｈを構成するデータ列の先頭から１０００バイト目ごとに位置する１バイトのデータを移動対象データに置換する」という規則を定めておけば、ヒント画像Ｈを構成するデータ列の１０００バイト目、２０００バイト目、３０００バイト目、... のデータがそれぞれ移動対象データｄ１，ｄ２，ｄ３，... に置換されることになる。もちろん、このような置換を行えば、ヒント画像Ｈは改変されることになり、提示すべき本来の画像ではなくなってしまう。図１９に示す例において、「埋込処理後のヒント画像Ｈ′」の上に、移動対象データｄ１〜ｄ４をハッチングを施した小さな正方形として描いているのは、このような改変が行われたことを示すためである。
【０２２２】
もっとも、実際には、１バイト程度のデータ置換を数カ所に渡って行ったとしても、ヒント画像の全体構成に大きな変化が生じるわけではないので、ヒント画像Ｈに対して行われた改変が観察者に認識される可能性は低い。上記説明において「移動対象データｄ１〜ｄ４をヒント画像Ｈ内に潜像として埋め込む」という表現を用いたのは、このように、ヒント画像Ｈを構成するデータに対して行われた置換処理が、ヒント画像の全体構成に大きな変化を生じさせる処理ではないことを示すためである。
【０２２３】
このように、移動対象データｄ１〜ｄ４をヒント画像Ｈ内に潜像として埋め込む処理を行う一方で、暗号ファイルＦ２からは、当該移動対象データｄ１〜ｄ４の情報が消去されるような処理を行う。具体的には、移動対象データｄ１〜ｄ４を別なデータに置換する処理（たとえば、強制的に「FF」なるバイトに置き換える処理）を行ってもよいし、あるいは、移動対象データｄ１〜ｄ４を削除する処理（削除した部分には、後続データを詰める処理を行う）を行ってもよい。前者の置換処理の場合（図１９に示す例は、この場合である）は、処理後の暗号ファイルＦ２′のデータ長は、元の暗号ファイルＦ２のデータ長と等しくなるが、後者の削除処理の場合は、処理後の暗号ファイルＦ２′のデータ長は、元の暗号ファイルＦ２のデータ長よりも移動対象データのデータ長だけ短くなる。
【０２２４】
ファイル結合ユニット１３５が、このような処理によって結合画像ファイルＦ４を作成すれば、万一、結合画像ファイルＦ４が不正者の手に渡り、フッタ部ｆに後続する暗号ファイルＦ２′が抽出されたとしても、当該暗号ファイルＦ２′には、移動対象データｄ１〜ｄ４が脱落しているため、正しい復号化を行うことはできない。このため、セキュリティの向上を図ることができる。
【０２２５】
一方、この変形例によって作成された結合画像ファイルＦ４に基づいて元ファイルＦ１を復元するには、復号化処理ユニット２１５にも、これに対応する機能を設けておく必要がある。すなわち、復号化処理ユニット２１５には、上記移動規則に基づいて、「埋込処理後のヒント画像ファイルＦＨ′」内に埋め込まれている移動対象データｄ１〜ｄ４を抽出し、抽出した移動対象データｄ１〜ｄ４を用いて、「置換もしくは削除処理後の暗号ファイルＦ２′」を元の暗号ファイルＦ２に戻す機能をもたせておくようにする。たとえば、上例の移動規則で作成された結合画像ファイルＦ４については、「埋込処理後のヒント画像Ｈ′」を構成するデータ列の１０００バイト目、２０００バイト目、３０００バイト目、... から、それぞれ移動対象データｄ１〜ｄ４を読み出し、これらを暗号ファイルＦ２′の１０００バイト目、２０００バイト目、３０００バイト目、... へ戻す処理を行えばよい。
【０２２６】
もちろん、移動規則は必ずしも固定にしておく必要はなく、ファイル結合ユニット１３５は、その都度、任意の移動規則を採用して、上述の処理を行うことも可能である。この場合、ファイル結合ユニット１３５は、採用した移動規則を示す補助情報Ａを付加データφに含ませる処理を行い、当該移動規則を復号化処理部２０５へ伝達するようにすればよい。図１９には、各移動対象データｄ１〜ｄ４のそれぞれについて、移動元（暗号ファイルＦ２上での位置）と移動先（ヒント画像Ｈ上での位置）とを示す移動規則を、補助情報Ａとして記録した例（この例では、Ａをφの末尾に配置）が示されている。
【０２２７】
この場合、復号化処理部２０５側では、まず、ファイル分離ユニット２３５が、結合画像ファイルＦ４から、補助情報Ａを分離抽出する処理を行い、復号化処理ユニット２４０が、この補助情報Ａによって示される移動規則に基づいて、「置換もしくは削除処理後の暗号ファイルＦ２′」を元の暗号ファイルＦ２に戻す処理を行うようにすればよい。
【０２２８】
以上、図１７のブロック図を参照しながら、本発明の第２の実施形態に係るファイルの暗号処理システムの基本構成を説明したが、このシステムも、前述した第１の実施形態に係るシステムと同様に、パソコン等の汎用コンピュータに専用のアプリケーションプログラムを組み込むことにより実現することができる。
【０２２９】
最後に、本発明に係る暗号処理システムに付随的な効果を生じさせる利用形態を簡単に述べておく。本発明の本来の効果は、「パスワードに関するヒントを提示する」ことにあり、そのような効果の恩恵に浴するためには、ユーザは、ヒント画像として、パスワードを連想することができる画像を指定する必要がある。ただ、ユーザは、必要に応じて、ヒント画像Ｈとして、元ファイルに関連した画像を指定することも可能である。この場合、「パスワードに関するヒントを提示する」という本発明の本来の効果を得ることはできないが、「暗号化処理後のファイル管理を容易にする」という別な効果を得ることができる。
【０２３０】
通常、個々のファイルの識別は、そのファイル名によって行うのが一般的であるが、ヒント画像Ｈとして、元ファイルに関連した画像を指定すると、合成画像ファイルＦ３を、そのファイル名で識別するだけでなく、ヒント画像によっても識別することが可能になる。ヒント画像は、復号化処理の際にディスプレイ画面上に表示されるので、ヒント画像Ｈとして、元ファイルに関連した画像を指定しておけば、復号化処理の際に、当該ファイルがどのファイルであるかを、表示されたヒント画像によって直観的に認識することができるようになる。
【０２３１】
たとえば、四半期の売上データのファイルを暗号化する場合を考えてみよう。この場合、ファイル名のみで管理すると、ユーザは、「２００９年第１四半期」のようなファイル名を見て、ファイルの内容を理解することになる。これに対して、第１四半期のファイルについては、暗号化の際に「桜の画像」をヒント画像に指定し、第２四半期のファイルについては、暗号化の際に「海の画像」をヒント画像に指定する、という利用形態を採れば、ユーザは、春期の売上ファイルなのか、夏期の売上ファイルなのかを、ヒント画像を見るだけで直観的に認識することができるようになる。したがって、たとえファイル名が意味のない文字列であったとしても、ファイルの内容を把握することが可能になる。
【０２３２】
特に、第２の実施形態の場合には、個々の合成画像ファイルに含まれているヒント画像を、様々なアプリケーションプログラムによってサムネイルの形式で一覧表示させることが可能なので、上述のような利用形態を採れば、「極めて直観的なファイル管理が実現できる」という付随的な効果の恩恵を十分に受けることができる。
【符号の説明】
【０２３３】
１０：暗号化処理用操作画面
１１：元ファイル指定欄
１２：パスワード入力欄
１３：ヒント画像指定欄
１４：ヒント画像表示欄
１５：ファイル選択欄
１６：合成画像サイズ指定欄
１７：ヒント画像サイズ指定欄
１８：ヒント画像位置指定欄
２０：復号化処理用操作画面
２１：対象ファイル指定欄
２２：パスワード入力欄
２３：合成画像表示欄
２４：ファイル選択欄
１００：暗号化処理部（第１の実施形態）
１０５：暗号化処理部（第２の実施形態）
１１０：暗号化用入力ユニット
１２０：暗号化処理ユニット
１２１：第１の暗号化処理ユニット
１２２：第２の暗号化処理ユニット
１２３：第３の暗号化処理ユニット
１３０：ファイル合成ユニット
１３５：ファイル結合ユニット
２００：復号化処理部（第１の実施形態）
２０５：復号化処理部（第２の実施形態）
２１０：復号化入力ユニット（第１の実施形態）
２１５：復号化用入力ユニット（第２の実施形態）
２２０：合成画像表示ユニット
２２５：ヒント画像表示ユニット
２３０：ファイル分離ユニット（第１の実施形態）
２３５：ファイル分離ユニット（第２の実施形態）
２４０：復号化処理ユニット
２４１：第１の復号化処理ユニット
２４２：第２の復号化処理ユニット
２４３：第３の復号化処理ユニット
Ａ：補助情報画像／補助情報
Ａ１〜Ａ３：分割補助情報画像
Ｃ：合成画像
Ｃ１〜Ｃ３：分割合成画像
Ｄ：ダミー画像／境界画像
ｄ１〜ｄ４：移動対象データ
Ｅ：暗号画像
Ｅ１〜Ｅ３：分割暗号画像
Ｆ１：元ファイル
Ｆ２：暗号ファイル
Ｆ２′：置換もしくは削除処理後の暗号ファイル
Ｆ２−１，Ｆ２−２，Ｆ２−３：分割暗号ファイル
Ｆ３：合成画像ファイル
Ｆ３−１，Ｆ３−２，Ｆ３−３：分割合成画像ファイル
Ｆ４：結合画像ファイル
ＦＨ：ヒント画像ファイル
ＦＨ′：埋込処理後のヒント画像ファイル
ｆ：フッタ部
Ｈ，Ｈ１，Ｈ２：ヒント画像
Ｈ′：埋込処理後のヒント画像
ｈ：ヘッダ部
Ｐ１：暗号化用パスワード
Ｐ２：復号化用パスワード
Ｐ（ｉ，ｊ）：画素
φ：付加データ
【図１】
2010256953.tif 000003
【図２】
2010256953.tif 000004
【図３】
2010256953.tif 000005
【図４】
2010256953.tif 000006
【図５】
2010256953.tif 000007
【図６】
2010256953.tif 000008
【図７】
2010256953.tif 000009
【図８】
2010256953.tif 000010
【図９】
2010256953.tif 000011
【図１０】
2010256953.tif 000012
【図１１】
2010256953.tif 000013
【図１２】
2010256953.tif 000014
【図１３】
2010256953.tif 000015
【図１４】
2010256953.tif 000016
【図１５】
2010256953.tif 000017
【図１６】
2010256953.tif 000018
【図１７】
2010256953.tif 000019
【図１８】
2010256953.tif 000020
【図１９】
2010256953.tif 000021