(57)【特許請求の範囲】
【請求項１】
原本データから秘匿データを生成するコンピュータに、
パスワードと前記原本データを準備する第１ステップと、
前記パスワードと前記原本データからダイジェストを計算する第２ステップと、
前記原本データから符号化データを生成する第３ステップと、
前記ダイジェストと前記符号化データを前記秘匿データとして出力する第４ステップと、を実行させ、
前記第１ステップでは、ユニークで推測不可なビット列を前記原本データに付加し、
前記第２ステップでは、前記原本データに付加される前記ビット列とパスワードから前記ダイジェストを計算し、
前記第３ステップでは、前記原本データおよび前記ビット列から前記符号化データを生成することを特徴とするデータ秘匿方法。
【請求項２】
秘匿データから元の原本データを生成するコンピュータに、
パスワードと秘匿データを準備する第１ステップと、
前記秘匿データを第１ダイジェストと符号化データに分割する第２ステップと、
前記符号化データから前記原本データを復元する第３ステップと、
前記パスワードと復元した前記原本データから第２ダイジェストを計算する第４ステップと、
前記第２ダイジェストと前記第１ダイジェストとが一致する場合に、復元した前記原本データを出力し、一致しない場合に復元した前記原本データを出力しない第５ステップと、
を実行させることを特徴とする秘匿データ復元方法。
【請求項３】
請求項２記載の秘匿データ復元方法において、
前記第３ステップでは、前記原本データに付加されているビット列を分離し、
前記第４ステップでは、前記パスワードと前記ビット列から前記第２ダイジェストを生成する、ことを特徴とする秘匿データ復元方法。
【請求項４】
原本データから秘匿データを生成するコンピュータに、
パスワードと前記原本データを準備する第１ステップと、
前記パスワードと前記原本データからダイジェストを計算する第２ステップと、
前記原本データから符号化データを生成する第３ステップと、
前記ダイジェストと前記符号化データを前記秘匿データとして出力する第４ステップと、を実行させ、
前記第１ステップでは、ユニークで推測不可なビット列を前記原本データに付加し、
前記第２ステップでは、前記原本データに付加される前記ビット列とパスワードから前記ダイジェストを計算し、
前記第３ステップでは、前記原本データおよび前記ビット列から前記符号化データを生成することを特徴とするデータ秘匿プログラム。
【請求項５】
秘匿データから元の原本データを生成するコンピュータに、
パスワードと秘匿データを準備する第１ステップと、
前記秘匿データを第１ダイジェストと符号化データに分割する第２ステップと、
前記符号化データから前記原本データを復元する第３ステップと、
前記パスワードと復元した前記原本データから第２ダイジェストを計算する第４ステップと、
前記第２ダイジェストと前記第１ダイジェストとが一致する場合に、復元した前記原本データを出力し、一致しない場合に復元した前記原本データを出力しない第５ステップと、
を実行させることを特徴とする秘匿データ復元プログラム。
【請求項６】
請求項４記載のデータ秘匿プログラムおよび請求項５記載の秘匿データ復元プログラムの少なくとも一方を記憶する記憶手段を含むことを特徴とするコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ秘匿方法、秘匿データ復元方法、データ秘匿プログラム、秘匿データ復元プログラム、情報処理装置に関し、たとえば、電子的にデータを格納あるいは通信するシステムにおけるデータ秘匿に適用して有効な技術に関する。
【背景技術】
【０００２】
近年、文字コード、画像データ等の様々な種類のデータがコンピュータで扱われるようになるのに伴い、取り扱われるデータ量も増大している。このため、蓄積媒体や通信媒体では、データの符号化による圧縮が一般化している。
【０００３】
一方、インターネットおよび携帯端末の普及に伴い、データを格納・通信するときのセキュリティに対する意識が高くなってきている。
このため、データの格納・通信にデータ量削減だけでなく、データ秘匿機能が必要とされるケースが増えてきた。
【０００４】
この要求に答え、参考技術として、データ圧縮を行うソフトウェアにパスワード機能をつけることが考えられる。すなわち、図９Ａに示されるように、圧縮データにパスワード情報から生成されたハッシュ値を添付し、復元側では、図９Ｂに示されるように、圧縮データに添付されているハッシュ値と、復元時に入力されるパスワードのハッシュ値とが一致した場合のみ圧縮データの復元処理を行うものである。
【０００５】
前述した参考技術では、圧縮データから直接復元する手段を封じたとしても、パスワード情報を一般的なエディタで書き換えることができ、簡単に展開できてしまうという技術的課題があった。
【０００６】
具体的な展開方法を図１０に示す。まず、図１０の左側のように、適当なデータを２つの異なるパスワードａａａとｂｂｂで圧縮し、２つの圧縮データを比較して異なる位置と内容（「ＡＡＡ」と「ＢＢＢ」）を確認する。
【０００７】
次に、図１０の右側のように、パスワードが未知の圧縮データＣに対して、さきほどの求めた位置のビット列を例えばパスワードａａａに対応した「ＡＡＡ」の内容に書き換えることで、圧縮データＣは、パスワードａａａで展開できるように加工することができる。
【０００８】
このように、単に、パスワードを圧縮データに付加しただけでは、簡単にデータ秘匿機能が無効になってしまう。
なお、特許文献１には、原本データの先頭部に一定長の乱数データを付加した状態で動的可変長符号化によるデータ圧縮を行うことで、圧縮データの生成側と復元側とで情報を共有することなく、圧縮データの秘匿性を向上させる技術が開示されている。
【０００９】
しかし、この特許文献１の技術では、パスワードを付加するデータ秘匿技術については言及していない。
特許文献２には、ＩＣカード内の暫く不要なアプリケーションを、圧縮および暗号化して外部媒体に保存することで、ＩＣカード内の記憶容量を有効に活用しようとする技術が開示されているが、暗号鍵の煩雑な管理等が必要になり、パスワード付きで圧縮データ等の簡易な秘匿性を実現するものではない。
【００１０】
特許文献３には、ユーザＩＤおよび当該ユーザＩＤと暗証番号から生成されたハッシュ値を第１の照合用データとしてカード等の媒体に格納しておき、当該媒体と媒体の所有者が入力した暗証番号と、前記媒体内のユーザＩＤとから生成された第２の照合用データと、媒体内の第１の照合用データとを照合することで本人確認を行う技術が開示されている。
【００１１】
しかし、この特許文献３の場合も、圧縮データ等にパスワードを添付するデータ秘匿化に関しては言及がない。
【特許文献１】特開２００５−２１７８４２号公報
【特許文献２】特開２００２−２７９３７６号公報
【特許文献３】特開２００２−３５３９５８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、パスワード入力なしに直接に原本データを復元することを許さない環境における簡易的なデータ秘匿機能を実現することにある。
本発明の他の目的は、原本データを符号化した符号化データにパスワードを添付することによって原本データの簡易的なデータ秘匿を行う場合の秘匿性能の向上を実現することにある。
【課題を解決するための手段】
【００１３】
本発明の第１の観点は、原本データから秘匿データを生成するデータ秘匿方法であって、コンピュータに、パスワードと前記原本データを準備する第１ステップと、前記パスワードと前記原本データからダイジェストを計算する第２ステップと、前記原本データから符号化データを生成する第３ステップと、前記ダイジェストと前記符号化データを前記秘匿データとして出力する第４ステップと、実行させ、前記第１ステップでは、ユニークで推測不可なビット列を前記原本データに付加し、前記第２ステップでは、前記原本データに付加される前記ビット列とパスワードから前記ダイジェストを計算し、前記第３ステップでは、前記原本データおよび前記ビット列から前記符号化データを生成するデータ秘匿方法を提供する。
【００１４】
本発明の第２の観点は、秘匿データから元の原本データを生成する秘匿データ復元方法であって、コンピュータに、パスワードと秘匿データを準備する第１ステップと、前記秘匿データを第１ダイジェストと符号化データに分割する第２ステップと、前記符号化データから前記原本データを復元する第３ステップと、前記パスワードと復元した前記原本データから第２ダイジェストを計算する第４ステップと、前記第２ダイジェストと前記第１ダイジェストとが一致する場合に、復元した前記原本データを出力し、一致しない場合に復元した前記原本データを出力しない第５ステップと、を実行させる秘匿データ復元方法を提供する。
【００１５】
本発明の第３の観点は、原本データから秘匿データを生成するデータ秘匿プログラムであって、コンピュータに、パスワードと前記原本データを準備する第１ステップと、前記パスワードと前記原本データからダイジェストを計算する第２ステップと、前記原本データから符号化データを生成する第３ステップと、前記ダイジェストと前記符号化データを前記秘匿データとして出力する第４ステップと、を実行させ、前記第１ステップでは、ユニークで推測不可なビット列を前記原本データに付加し、前記第２ステップでは、前記原本データに付加される前記ビット列とパスワードから前記ダイジェストを計算し、前記第３ステップでは、前記原本データおよび前記ビット列から前記符号化データを生成するデータ秘匿プログラムを提供する。
【００１６】
本発明の第４の観点は、秘匿データから元の原本データを生成する秘匿データ復元プログラムであって、コンピュータに、パスワードと秘匿データを準備する第１ステップと、前記秘匿データを第１ダイジェストと符号化データに分割する第２ステップと、前記符号化データから前記原本データを復元する第３ステップと、前記パスワードと復元した前記原本データから第２ダイジェストを計算する第４ステップと、前記第２ダイジェストと前記第１ダイジェストとが一致する場合に、復元した前記原本データを出力し、一致しない場合に復元した前記原本データを出力しない第５ステップと、を実行させる秘匿データ復元プログラムを提供する。
【００１７】
本発明の第５の観点は、原本データから秘匿データを生成する情報処理装置であって、パスワードを入力するパスワード入力部と、前記原本データを入力する原本データ入力部と、前記パスワードと前記原本データからダイジェストを計算するダイジェスト作成部と、前記原本データから符号化データを生成する符号化部と、前記ダイジェストと前記符号化データを前記秘匿データとして出力する出力部と、を含む秘匿データ生成論理を備えた情報処理装置を提供する。
【００１８】
本発明の第６の観点は、原本データから秘匿データを生成する情報処理装置であって、パスワードを入力するパスワード入力部と、ユニークで推測不可なビット列を入力するビット列入力部と、前記パスワードと前記ビット列入力部にて入力した前記ビット列からダイジェストを計算するダイジェスト作成部と、前記原本データを入力する原本データ入力部と、前記原本データに前記ビット列入力部にて入力した前記ビット列を付与するビット列付与部と、前記原本データに前記ビット列を付与したデータから符号化データを生成する符号化部と、前記ダイジェストと前記符号化データを前記秘匿データとして出力する出力部と、を含む秘匿データ生成論理を備えた情報処理装置を提供する。
【００１９】
本発明の第７の観点は、秘匿データから元の原本データを生成する情報処理装置であって、パスワードを入力するパスワード入力部と、前記秘匿データを入力し、第１ダイジェストと符号化データに分割する秘匿データ入力部と、前記符号化データから前記原本データを復元する復元部と、前記パスワードと前記復元部にて復元した前記原本データから第２ダイジェストを計算するダイジェスト作成部と、前記第２ダイジェストと前記第１ダイジェストとを比較するダイジェスト比較部と、前記ダイジェスト比較部にて２つの前記第２および第１ダイジェストが一致した場合に前記原本データの出力を許可する出力許可部と、前記出力許可部にて出力許可された場合に前記復元部にて復元した前記原本データを出力する出力部と、を含む秘匿データ復元論理を備えた情報処理装置を提供する。
【００２０】
本発明の第８の観点は、秘匿データから元の原本データを生成する情報処理装置であって、パスワードを入力するパスワード入力部と、前記秘匿データを入力し、第１ダイジェストと符号化データに分割する秘匿データ入力部と、前記符号化データからビット列が付与された前記原本データを復元する復元部と、前記復元部にて復元したデータから前記原本データと付与された前記ビット列とを分割するビット列分割部と、前記パスワードと前記ビット列から第２ダイジェストを計算するダイジェスト作成部と、と前記第２ダイジェストと前記第１ダイジェストとを比較するダイジェスト比較部と、前記ダイジェスト比較部にて２つの前記第２および第１ダイジェストが一致した場合に前記原本データの出力を許可する出力許可部と、前記出力許可部にて出力許可された場合に前記原本データを出力する出力部と、を含む秘匿データ復元論理を備えた情報処理装置を提供する。
【００２１】
本発明では、たとえば、エディタでは書換えできない「復元制御コード」を圧縮データ等の符号化データに添付する方法を開示する。圧縮前の原本データの全部または一部とパスワードからダイジェスト（ハッシュ値）をとり、このダイジェストを「復元制御コード」として、圧縮データに添付する。
【００２２】
あるいは、所望の方法でユニークに生成されたビット列を原本データに添付するとともに、このビット列を用いて圧縮時のダイジェストを生成して「復元制御コード」として、圧縮データに添付する。
【００２３】
復元時には、保護されたメモリ上に圧縮データを復元し、復元した原本データ（あるいは圧縮時に付加されたユニークなビット列）および復元時に入力されたパスワードから作成されたダイジェストと、圧縮データに添付されたダイジェストとを比較し、一致するときにのみ原本データを出力する。
【００２４】
このように、本発明では、原本データまたは当該原本データに付加されたユニークなビット列を「復元制御コード」の生成に用いているため、原本データを入手せずにパスワードを変更することはできず、パスワードを変更することはできない。このことから、圧縮データから直接復元できない環境を準備するだけで、簡単に、秘匿性能の高いデータ秘匿機能を実現することができる。
【発明の効果】
【００２５】
本発明によれば、パスワード入力なしに直接に原本データを復元することを許さない環境における簡易的なデータ秘匿機能を実現することができる。
また、原本データを符号化した符号化データにパスワードを添付することによって原本データの簡易的なデータ秘匿を行う場合の秘匿性能の向上を実現することができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
図１Ａは、本発明の第１実施の形態であるデータ秘匿方法、データ秘匿プログラムの作用の一例を示す概念図である。図１Ｂは、本発明の第１実施の形態である秘匿データ復元方法、秘匿データ復元プログラムの作用の一例を示す概念図である。
【００２７】
図２Ａは、本発明の第１実施の形態であるデータ秘匿方法を実施するデータ秘匿プログラムの機能構成の一例を示す概念図である。図２Ｂは、本発明の第１実施の形態である秘匿データ復元方法を実施する秘匿データ復元プログラムの機能構成の一例を示す概念図である。
【００２８】
図３Ａは、本発明の第１実施の形態であるデータ秘匿方法、データ秘匿プログラムの作用の一例を示すフローチャートである。図３Ｂは、本発明の第１実施の形態である秘匿データ復元方法、秘匿データ復元プログラムの作用の一例を示すフローチャートである。
【００２９】
図１Ａに例示されるように、本実施の形態のデータ秘匿方法では、原本データ１０と、この原本データ１０を秘匿するためのパスワード２０を準備する。
そして、パスワード２０と、原本データ１０の一部または全部を用いて、一方向ハッシュ関数にてダイジェストとしてのハッシュ値３２を生成する。
【００３０】
同時に、原本データ１０を所望のアルゴリズムで、たとえばデータ圧縮等の符号化を行って符号データ３１を生成する。
そして、ハッシュ値３２と符号データ３１を含む秘匿データ３０を出力する。
【００３１】
一方、図１Ｂに例示されるように、この秘匿データ３０を復元する本実施の形態の秘匿データ復元方法では、まず、秘匿データ３０とパスワード２１を準備する。
そして、秘匿データ３０からハッシュ値３２と符号データ３１を分離して取り出し、符号データ３１から原本データ１０を復号する。
【００３２】
さらに、この原本データ１０とパスワード２１から一方向ハッシュ関数にてハッシュ値４０を生成する。
そして、生成されたハッシュ値４０と、秘匿データ３０に添付されていたハッシュ値３２とを照合し、一致している場合のみ、原本データ１０を出力する。
【００３３】
すなわち、ハッシュ値４０とハッシュ値３２が一致するのは、秘匿データ３０の生成時のパスワード２０と、復元時のパスワード２１が一致する場合のみであり、これにより、原本データ１０をデータ圧縮で符号化した符号データ３１を含む秘匿データ３０の秘匿性が維持される。
【００３４】
また、ハッシュ値３２とハッシュ値４０は、それぞれパスワード２０と原本データ１０、およびパスワード２１と原本データ１０から生成されるため、原本データ１０を知ることなしに、パスワード２０から生成されたハッシュ値３２を改竄することは困難であり、秘匿性も向上する。
【００３５】
なお、本実施の形態では、ハッシュ値３２やハッシュ値４０等のダイジェストの生成には、例えばＳＨＡ−１やＨＭＡＣなどを用いるが、次の（１）および（２）の２つの条件を保証する方法であればなんでもよい。（１）ダイジェスト（ハッシュ値３２）から原本データ１０やパスワード２０が推測できない。（２）原本データ１０やパスワード２０が１ビットでも変更されれば、ダイジェスト（ハッシュ値３２）も変更される。
【００３６】
また、パスワード２０、パスワード２１は、手入力の文字列でも、スマートカード等に保管されたビット列など、なんらかの認証サービスから提供されるビット列でもよい。
本実施の形態の場合、原本データ１０の符号化には、例えばスプレイ符号化（圧縮方法の１つ）を用いるが、復元しないと原本データ１０の内容がわからない処理であれば他の符号化方法でもよい。例えば、一対一に対応づけられた変換テーブルに基づいてビット列を変換するスクランブル処理を用いてもよい。
【００３７】
図２Ａに例示されるように、本実施の形態のデータ秘匿方法を実施するデータ秘匿プログラム２００は、パスワード入力部２１１、原本データ入力部２１２、ダイジェスト作成部２１３、符号化部２１４、秘匿データ出力部２１５を含んでいる。
【００３８】
パスワード入力部２１１は、ユーザ等からのパスワード２０を受け付ける。
原本データ入力部２１２は、原本データ１０を入力する。
ダイジェスト作成部２１３は、パスワード入力部２１１から入力されたパスワード２０と原本データ入力部２１２から入力された原本データ１０からダイジェストとしてハッシュ値３２を生成する。
【００３９】
符号化部２１４は、原本データ入力部２１２から入力された原本データ１０に対してデータ圧縮等の符号化を実施し符号データ３１として出力する。
秘匿データ出力部２１５は、符号化部２１４から出力された符号データ３１と、ダイジェスト作成部２１３から出力されたハッシュ値３２を併合して秘匿データ３０として出力する。
【００４０】
図２Ｂに例示されるように、本実施の形態の秘匿データ復元方法を実施する秘匿データ復元プログラム３００は、パスワード入力部３１１、秘匿データ入力部３１２、ダイジェスト作成部３１３、復元部３１４、ダイジェスト比較部３１５、出力許可部３１６、原本データ出力部３１７を含んでいる。
【００４１】
パスワード入力部３１１は、パスワード２１の入力を受け付ける。
秘匿データ入力部３１２は、秘匿データ３０の入力を受け付け、秘匿データ３０を符号データ３１とハッシュ値３２に分離して出力する。
【００４２】
復元部３１４は、秘匿データ入力部３１２から出力される符号データ３１に復号処理（データ伸長処理）を実施して原本データ１０を生成する。
ダイジェスト作成部３１３は、パスワード入力部３１１から入力されたパスワード２１と、復元部３１４から入力された原本データ１０に基づいて、ハッシュ値４０を生成する。
【００４３】
ダイジェスト比較部３１５は、ダイジェスト作成部３１３から出力されたハッシュ値４０と、秘匿データ３０に含まれていたハッシュ値３２と照合して両者の一致／不一致を判定する。
【００４４】
出力許可部３１６は、ダイジェスト比較部３１５におけるハッシュ値４０とハッシュ値３２の照合結果が一致である場合にのみ、原本データ出力部３１７に対して、原本データ１０の出力を許可する。
【００４５】
原本データ出力部３１７は、復元部３１４から受け取った原本データ１０を保持し、出力許可部３１６から許可された場合にのみ、当該原本データ１０を外部に出力する。
図４は、本発明の一実施の形態である情報処理装置の構成の一例を示す概念図である。
【００４６】
本実施の形態の情報処理装置１００は、中央処理装置１０１、主記憶１０２、外部記憶装置１０３、表示装置１０４、ユーザ入力装置１０５、ネットワークインタフェース１０６を含んでいる。
【００４７】
中央処理装置１０１は、マイクロプロセッサ等で構成され、主記憶１０２に実装されたソフトウェアを実行することで、所望の情報処理機能を実現する。
主記憶１０２は、中央処理装置１０１がアクセスするソフトウェアやデータを保持する。
【００４８】
本実施の形態の場合には、主記憶１０２には、基本ソフトウェアであるオペレーティングシステム１２０が実装され、このオペレーティングシステム１２０を実行することで、情報処理装置１００の全体を制御する。
【００４９】
また、オペレーティングシステム１２０は、主記憶１０２のデータに対して外部から許可なくアクセスすることを阻止するメモリ保護機能を実現する。
オペレーティングシステム１２０の管理下で動作するアプリケーションとして、上述のデータ秘匿プログラム２００、秘匿データ復元プログラム３００が実装される。
【００５０】
なお、データ秘匿プログラム２００、秘匿データ復元プログラム３００の機能は、オペレーティングシステム１２０の一部として実装してもよい。
外部記憶装置１０３は、オペレーティングシステム１２０、データ秘匿プログラム２００、秘匿データ復元プログラム３００等のソフトウェアや原本データ１０、秘匿データ３０等のデータを持久的に記憶する。
【００５１】
オペレーティングシステム１２０、データ秘匿プログラム２００、秘匿データ復元プログラム３００等のソフトウェアは、必要に応じて主記憶１０２に読み込まれ、中央処理装置１０１によって実行される。
【００５２】
表示装置１０４は、情報処理装置１００を利用するユーザに情報を可視化して提示する。
ユーザ入力装置１０５は、ユーザが情報処理装置１００に情報を入力するために用いられる。本実施の形態の場合、パスワード２０、パスワード２１は、必要に応じてユーザ入力装置１０５から入力することができる。
【００５３】
ネットワークインタフェース１０６は、外部の情報ネットワーク１０７との間における情報の授受を制御する。
このような本実施の形態の情報処理装置１００において、たとえば、外部記憶装置１０３に格納されている原本データ１０から秘匿データ３０を生成する場合には、データ秘匿プログラム２００を外部記憶装置１０３から主記憶１０２にロードして実行する。
【００５４】
そして、データ秘匿プログラム２００に対して、外部記憶装置１０３から原本データ１０を入力し、ユーザ入力装置１０５からはパスワード２０を入力して、上述のようにして秘匿データ３０を生成する。
【００５５】
生成された秘匿データ３０は、外部記憶装置１０３に格納されるか、必要に応じて、ネットワークインタフェース１０６を経由して情報ネットワーク１０７に送出される。いずれの場合も、パスワード２０を知らない限り、原本データ１０を得ることはできず、秘匿データ３０の秘匿性は維持される。
【００５６】
一方、秘匿データ３０から原本データ１０を復元する場合は、以下のようになる。
まず、外部記憶装置１０３から主記憶１０２に秘匿データ復元プログラム３００をロードして実行する。
【００５７】
そして、外部記憶装置１０３またはネットワークインタフェース１０６を経由して到来した秘匿データ３０を秘匿データ復元プログラム３００に入力するとともに、ユーザ入力装置１０５からパスワード２１を入力する。
【００５８】
秘匿データ復元プログラム３００は、主記憶１０２上に秘匿データ３０から原本データ１０、ハッシュ値３２を生成し、さらに、原本データ１０とパスワード２１に基づいてハッシュ値４０を生成し、ハッシュ値３２とハッシュ値４０が一致するか、（すなわち、秘匿データ３０の生成に用いられたパスワード２０と、パスワード２１が一致するか否か）を検証し、パスワード２１が正しいと判定された場合には、原本データ１０を外部記憶装置１０３や、表示装置１０４等に出力する。
【００５９】
なお、主記憶１０２はオペレーティングシステム１２０によって保護されているため、パスワード２１の判定課程で、主記憶１０２上に展開されている原本データ１０を外部から覗き見することはできず、ダイジェスト比較部３１５および出力許可部３１６によって許可された場合にのみ、ユーザは原本データ出力部３１７から出力された原本データ１０を入手できる。
【００６０】
上述の本実施の形態におけるデータ秘匿プログラム２００の動作を図３Ａのフローチャートを参照して説明する。
まず、パスワード入力部２１１は、ユーザからのパスワード２０の入力を受け付け、変数Ｐａｓｓｗｏｒｄ［］に格納する（ステップ４１１）。
【００６１】
また、原本データ入力部２１２は、原本データ１０を読み込んで、変数Ｏｒｉｇｉｎａｌ［］に格納する（ステップ４１２）。
次に、変数Ｐａｓｓｗｏｒｄ［］と変数Ｏｒｉｇｉｎａｌ［］のデータから、ダイジェスト（ハッシュ値３２）を計算し、変数Ｄ［］に格納する（ステップ４１３）。
【００６２】
ダイジェスト作成部２１３の処理と並行して、符号化部２１４は、変数Ｏｒｉｇｉｎａｌ［］のデータを圧縮し、変数Ｃｏｍｐｒｅｓｓ［］に格納する（ステップ４１４）。
秘匿データ出力部２１５は、変数Ｃｏｍｐｒｅｓｓ［］の符号データ３１と、変数Ｄ［］のハッシュ値３２を連結して、秘匿データ３０として出力する（ステップ４１５）。
【００６３】
こうして生成された秘匿データ３０を利用するために用いられる秘匿データ復元プログラム３００の動作を、図３Ｂを参照して説明する。
パスワード入力部３１１は、秘匿データ３０に含まれる原本データ１０の利用を希望するユーザからのパスワード２１の入力を受け付け、変数Ｐａｓｓｗｏｒｄ［］に格納する（ステップ４２１）。
【００６４】
秘匿データ入力部３１２は、秘匿データ３０を読み込んで、符号データ３１とハッシュ値３２に分離し、それぞれ変数Ｃｏｍｐｒｅｓｓ［］および変数Ｄ１［］に格納する（ステップ４２２）。
【００６５】
復元部３１４は、変数Ｃｏｍｐｒｅｓｓ［］のデータから原本データ１０を復元し、変数Ｏｒｉｇｉｎａｌ［］に格納する（ステップ４２３）。
ダイジェスト作成部３１３は、変数Ｐａｓｓｗｏｒｄ［］と変数Ｏｒｉｇｉｎａｌ［］からダイジェスト（ハッシュ値４０）を計算し、変数Ｄ２［］に格納する（ステップ４２４）。
【００６６】
ダイジェスト比較部３１５は、変数Ｄ１［］と変数Ｄ２［］の内容が等しいか否かを判別し（ステップ４２５）、両者が等しい場合には、出力許可部３１６を介して原本データ出力部３１７に出力許可の指令を出し、これを受けた原本データ出力部３１７は、変数Ｏｒｉｇｉｎａｌ［］から原本データ１０を出力する（ステップ４２６）。
【００６７】
これにより、正しいパスワード２１を入力したユーザは、秘匿データ３０に含まれていた原本データ１０を利用することが可能になる。
上述の説明では、原本データ１０をそのままのサイズで符号データ３１に圧縮する場合を例示したが、原本データ１０のサイズが大きい場合には、変数Ｃｏｍｐｒｅｓｓ［］や変数Ｏｒｉｇｉｎａｌ［］の設定に必要な主記憶１０２におけるメモリサイズが大きくなり、経済的でない。
【００６８】
そこで、本第１実施の形態の変形例として、図５Ａに例示されるように、原本データ１０を複数のブロックに分割して個々のブロックから秘匿データ３０を生成する場合について説明する。
【００６９】
すなわち、まず、パスワード入力部２１１は、ユーザからのパスワード２０の入力を受け付け、変数Ｐａｓｓｗｏｒｄ［］に格納する（ステップ４３１）。
また、原本データ入力部２１２は、原本データ１０から、分割単位が設定された変数ＢｌｏｃｋＳｉｚｅに設定された長さのデータを、原本データ１０の先頭側から読み込んで、変数Ｏｒｉｇｉｎａｌ［］に格納する（ステップ４３２）。この時の変数Ｏｒｉｇｉｎａｌ［］の設定に必要な主記憶１０２のメモリサイズは、原本データ１０のデータ長に関係なく、変数ＢｌｏｃｋＳｉｚｅに指定されたデータ長分で済む。
【００７０】
次に、変数Ｐａｓｓｗｏｒｄ［］と変数Ｏｒｉｇｉｎａｌ［］のデータから、ダイジェスト（ハッシュ値３２）を計算し、変数Ｄ［］に格納する（ステップ４３３）。
ダイジェスト作成部２１３の処理と並行して、符号化部２１４は、変数Ｏｒｉｇｉｎａｌ［］のデータを圧縮し、変数Ｃｏｍｐｒｅｓｓ［］に格納する（ステップ４３４）。この変数Ｃｏｍｐｒｅｓｓ［］の実装に必要な主記憶１０２のメモリサイズも、原本データ１０のデータ長に関係なく、小さくすることができる。
【００７１】
秘匿データ出力部２１５は、変数Ｃｏｍｐｒｅｓｓ［］の符号データ３１と、変数Ｄ［］のハッシュ値３２を連結して、秘匿データ３０として出力する（ステップ４３５）。
このステップ４３２〜ステップ４３５の処理を、原本データ１０を分割して生成される全ブロックについて実行する（ステップ４３６）。
【００７２】
個々のブロック単位に出力される複数の秘匿データ３０を、たとえばファイルに格納する場合には、秘匿データ出力部２１５は、ファイル名として原本データ１０からブロックへの分割順序を示す符号を付与することができる。
【００７３】
このように、本変形例のデータ秘匿プログラム２００の場合には、原本データ１０のデータ長に関係なく、原本データ１０から秘匿データ３０を生成するデータ秘匿プログラム２００における変数Ｏｒｉｇｉｎａｌ［］、変数Ｃｏｍｐｒｅｓｓ［］等の実装に必要な主記憶１０２のメモリサイズを小さくすることができる、という利点がある。
【００７４】
上述のように、原本データ１０を分割したブロック単位に生成された複数の秘匿データ３０を復元する場合の秘匿データ復元プログラム３００の動作を図５Ｂのフローチャートを参照して説明する。
【００７５】
パスワード入力部３１１は、ブロック単位に生成された複数の秘匿データ３０に分散して含まれる原本データ１０の利用を希望するユーザからのパスワード２１の入力を受け付け、変数Ｐａｓｓｗｏｒｄ［］に格納する（ステップ４４１）。
【００７６】
秘匿データ入力部３１２は、複数の秘匿データ３０の各々を、分割時の順番に読み込んで、符号データ３１とハッシュ値３２に分離し、それぞれ変数Ｃｏｍｐｒｅｓｓ［］および変数Ｄ１［］に格納する（ステップ４４２）。
【００７７】
復元部３１４は、変数Ｃｏｍｐｒｅｓｓ［］のデータから原本データ１０を復元し、変数Ｏｒｉｇｉｎａｌ［］に格納する（ステップ４４３）。
ダイジェスト作成部３１３は、変数Ｐａｓｓｗｏｒｄ［］と変数Ｏｒｉｇｉｎａｌ［］からダイジェスト（ハッシュ値４０）を計算し、変数Ｄ２［］に格納する（ステップ４４４）。
【００７８】
ダイジェスト比較部３１５は、変数Ｄ１［］と変数Ｄ２［］の内容が等しいか否かを判別し（ステップ４４５）、両者が等しい場合には、出力許可部３１６を介して原本データ出力部３１７に出力許可の指令を出し、これを受けた原本データ出力部３１７は、変数Ｏｒｉｇｉｎａｌ［］から原本データ１０を出力する（ステップ４４６）。なお、この時、原本データ出力部３１７は、先に出力されている原本データ１０の末尾に順次連結されるように原本データ１０を出力する。
【００７９】
このステップ４４２〜ステップ４４６の処理を、分割単位の複数のブロックに対応した全ての秘匿データ３０に対して反復する（ステップ４４７）。
この秘匿データ復元プログラム３００の場合にも、複数の秘匿データ３０から最終的に得られる原本データ１０のデータ長に関係なく、変数Ｏｒｉｇｉｎａｌ［］、変数Ｃｏｍｐｒｅｓｓ［］等の実装に必要な主記憶１０２のメモリサイズを小さくすることができる、という利点がある。
【００８０】
図６Ａは、本発明の第２実施の形態であるデータ秘匿方法の一例を示す概念図である。
図６Ｂは、本発明の第２実施の形態である秘匿データ復元方法の一例を示す概念図である。
【００８１】
この図６Ａおよび図６Ｂの場合には、原本データ１０の一部にユニークなビット列を付与し、このビット列とパスワードとに基づいてデータ秘匿および秘匿データ復元を実現する場合を例示している。
【００８２】
すなわち、図６Ａに例示される本実施の形態のデータ秘匿方法では、ユニークで推測不可能なビット列５０を用意し、このビット列５０を原本データ１０の両端に付加して符号化（圧縮）することで、符号データ６１を生成する。
【００８３】
また、ユーザが入力したパスワード２０とビット列５０から一方向ハッシュ関数でハッシュ値６２を生成する。
そして、符号データ６１とハッシュ値６２を秘匿データ６０として出力する。
【００８４】
一方、図６Ｂに例示される本実施の形態の秘匿データ復元方法では、上述の図６Ａのようにして生成された秘匿データ６０と、パスワード２１の入力を受け付ける。
そして、秘匿データ６０から符号データ６１とハッシュ値６２を分離し、符号データ６１から、原本データ１０とその両端に付加されたビット列５０を復元する。
【００８５】
そして、パスワード２１と、原本データ１０の両端に付加されていたビット列５０とから一方向ハッシュ関数でハッシュ値７０を生成する。
そして、パスワード２１とビット列５０から生成されたハッシュ値７０と、秘匿データ６０に随伴してきたハッシュ値６２を照合し、両者が一致した場合に、原本データ１０を出力する。
【００８６】
図７Ａは、図６Ａに例示したデータ秘匿方法を実現するデータ秘匿プログラム２０１の構成例を示す概念図である。
このデータ秘匿プログラム２０１の場合には、ビット列５０を生成するためのビット列生成部２１６、および原本データ１０にビット列５０を付加するビット列付与部２１７を備えたところが、上述のデータ秘匿プログラム２００と異なっている。
【００８７】
これに対応して、ダイジェスト作成部２１３は、パスワード２０とビット列５０からハッシュ値６２を生成する機能を備えている。
また、ビット列付与部２１７は、原本データ入力部２１２から符号化部２１４に入力される原本データ１０の両端にビット列５０を付加する機能を備えている。
【００８８】
図７Ｂは、図６Ｂに例示した秘匿データ復元方法を実現する秘匿データ復元プログラム３０１の構成例を示す概念図である。
この秘匿データ復元プログラム３０１の場合には、復元部３１４と原本データ出力部３１７の間に、ビット列分割部３１８が配置されている点が、上述の秘匿データ復元プログラム３００と異なっている。
【００８９】
このビット列分割部３１８は、復元された原本データ１０およびその両端のビット列５０から、当該ビット列５０を分離し、原本データ１０は原本データ出力部３１７に入力し、ビット列５０はダイジェスト作成部３１３に入力する処理を行う。
【００９０】
また、ダイジェスト作成部３１３は、パスワード２１と、ビット列分割部３１８から入力されるビット列５０を用いてハッシュ値７０を生成する機能を備えている。ダイジェスト比較部３１５は、ハッシュ値７０とハッシュ値６２を比較する。
【００９１】
図８Ａは、上述の図７Ａに例示したデータ秘匿プログラム２０１の作用の一例を示すフローチャートである。
パスワード入力部２１１は、ユーザからのパスワード２０の入力を受け付け、変数Ｐａｓｓｗｏｒｄ［］に格納する（ステップ４５１）。
【００９２】
また、ビット列生成部２１６は、ユニークで推測不可能なビット列５０を生成し、変数Ｒ［］に格納する（ステップ４５２）。
ダイジェスト作成部２１３は、変数Ｐａｓｓｗｏｒｄ［］と変数Ｒ［］のデータからダイジェスト（ハッシュ値６２）を生成する（ステップ４５３）。
【００９３】
一方、原本データ入力部２１２は、原本データ１０を取り込み変数Ｏｒｉｇｉｎａｌ１［］に格納する（ステップ４５４）。
ビット列付与部２１７は、変数Ｏｒｉｇｉｎａｌ１［］のデータの先頭と末尾に変数Ｒ［］のデータを付加して、変数Ｏｒｉｇｉｎａｌ２［］に格納する（ステップ４５５）。
【００９４】
符号化部２１４は、変数Ｏｒｉｇｉｎａｌ２［］のデータを符号化（圧縮）して、変数Ｃｏｍｐｒｅｓｓ２［］に格納する（ステップ４５６）。
秘匿データ出力部２１５では、変数Ｃｏｍｐｒｅｓｓ２［］と変数Ｄ［］のデータを連結して秘匿データ６０として出力する（ステップ４５７）。
【００９５】
図８Ｂは、上述の図７Ｂに例示した秘匿データ復元プログラム３０１の作用の一例を示すフローチャートである。
上述のデータ秘匿プログラム２０１から出力された秘匿データ６０を、秘匿データ復元プログラム３０１を用いて復元する処理は以下のようになる。
【００９６】
パスワード入力部３１１は、ユーザからのパスワード２０の入力を受け付け、変数Ｐａｓｓｗｏｒｄ［］に格納する（ステップ４６１）。
秘匿データ入力部３１２は、秘匿データ６０を読み込んで、符号データ６１とハッシュ値６２に分離し、それぞれ、変数Ｃｏｍｐｒｅｓｓ２［］と変数Ｄ１［］に格納する（ステップ４６２）。
【００９７】
復元部３１４は、変数Ｃｏｍｐｒｅｓｓ２［］に格納された符号データ６１を復元して変数Ｏｒｉｇｉｎａｌ２［］に格納する（ステップ４６３）。
ビット列分割部３１８は、変数Ｏｒｉｇｉｎａｌ２［］のデータの先頭と最後尾のビット列５０を分離して変数Ｒ［］に格納し、残りの原本データ１０を変数Ｏｒｉｇｉｎａｌ１［］に格納する（ステップ４６４）。
【００９８】
ダイジェスト作成部３１３は、変数Ｐａｓｓｗｏｒｄ［］と変数Ｒ［］のデータからダイジェスト（ハッシュ値７０）を計算して変数Ｄ２［］に格納する（ステップ４６５）。
ダイジェスト比較部３１５は、変数Ｄ１［］と変数Ｄ２［］のデータが一致するか判定し、判定結果を出力許可部３１６に出力する（ステップ４６６）。
【００９９】
出力許可部３１６は、ダイジェスト比較部３１５における変数Ｄ１［］と変数Ｄ２［］のデータが一致した場合に、原本データ出力部３１７に出力を許可し、これを受けた原本データ出力部３１７は、変数Ｏｒｉｇｉｎａｌ１［］の原本データ１０を外部に出力する（ステップ４６７）。
【０１００】
本発明の第１実施の形態によれば、パスワード２０とともに、原本データ１０を、「復元制御コード」として機能するハッシュ値３２の生成に用いているため、原本データ１０を入手せずにパスワード２０を変更することはできず、パスワード２０を改竄することはできない。
【０１０１】
このことから、秘匿データ３０から直接に原本データ１０を復元できない環境（たとえば、オペレーティングシステム１２０によって保護された主記憶１０２を備えた情報処理装置１００）を準備するだけで、簡易に原本データ１０の秘匿機能を実現することができる。
【０１０２】
上述の第２実施の形態によれば、上述の第１実施の形態と同様の効果が得られるとともに、ダイジェスト生成に使用するデータ量が減り処理負荷が低減する。たとえば、原本データ１０そのものの両端部分をダイジェスト生成に用いる代わりにユニークなビット列５０を用いるので、原本データ１０を含む秘匿データ６０の秘匿性が向上する。
【０１０３】
すなわち、原本データ１０が、たとえば特定のアプリケーションプログラムが出力するデータである場合、原本データ１０の先頭や末尾には、当該アプリケーションプログラムが生成したヘッダやトレーラ等の定型的な情報が存在する場合が多い。
【０１０４】
従って、秘匿データ６０の生成時に、原本データ１０の先頭部や末尾のデータをハッシュ値６２の生成に用いた場合には、ハッシュ値６２は、秘匿用に入力したパスワード２０のみに依存して変化することとなり、パスワード２０が推測される懸念がある。
【０１０５】
これに対して、上述の第２実施の形態では、原本データ１０自体の両端部の代わりに、毎回ユニークなビット列５０を生成してパスワード２０とともにハッシュ値６２の生成に用いるので、ハッシュ値６２からパスワード２０が推測されることが困難となり、秘匿データ６０に含まれる原本データ１０の秘匿性はより高くなる。
【０１０６】
なお、原本データ１０にビット列５０を付加する第２実施の形態において、入力される原本データ１０を複数のブロックに分割して個々のブロック毎にビット列５０を付加して、上述のように秘匿データ６０を生成してもよいことは言うまでもない。また、図６Ａおよび図６Ｂでは付与するビット列を先頭と後尾とで同じにしているが、付与するビット列を各々異なるビット列としてもよい。
【０１０７】
なお、本発明は、上述の実施の形態に例示した構成に限らず、その趣旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
符号化部２１４における符号化としてはデータ圧縮に限らず、他の符号化でもよい。
【０１０８】
（付記１）
原本データから秘匿データを生成するデータ秘匿方法であって、
パスワードと前記原本データを準備する第１ステップと、
前記パスワードと前記原本データからダイジェストを計算する第２ステップと、
前記原本データから符号化データを生成する第３ステップと、
前記ダイジェストと前記符号化データを前記秘匿データとして出力する第４ステップと、
を含むことを特徴とするデータ秘匿方法。
（付記２）
付記１記載のデータ秘匿方法において、
前記第１ステップでは、ユニークで推測不可なビット列を前記原本データに付加し、
前記第２ステップでは、前記原本データに付加される前記ビット列とパスワードから前記ダイジェストを計算し、
前記第３ステップでは、前記原本データおよび前記ビット列から前記符号化データを生成することを特徴とするデータ秘匿方法。
（付記３）
付記１または付記２記載のデータ秘匿方法において、
前記原本データを準備するステップにおいては、前記原本データを予め定めたサイズのブロックに分割し、分割した個々の前記ブロックについて前記秘匿データを生成することを特徴とするデータ秘匿方法。
（付記４）
付記１から付記３記載のデータ秘匿方法において、
前記符号化データは圧縮データであることを特徴とするデータ秘匿方法。
（付記５）
秘匿データから元の原本データを生成する秘匿データ復元方法であって、
パスワードと秘匿データを準備する第１ステップと、
前記秘匿データを第１ダイジェストと符号化データに分割する第２ステップと、
前記符号化データから前記原本データを復元する第３ステップと、
前記パスワードと復元した前記原本データから第２ダイジェストを計算する第４ステップと、
前記第２ダイジェストと前記第１ダイジェストとが一致する場合に、復元した前記原本データを出力する第５ステップと、
を含むことを特徴とする秘匿データ復元方法。
（付記６）
付記５記載の秘匿データ復元方法において、
前記第３ステップでは、前記原本データに付加されているビット列を分離し、
前記第４ステップでは、前記パスワードと前記ビット列から前記第２ダイジェストを生成する、ことを特徴とする秘匿データ復元方法。
（付記７）
付記５または付記６記載の秘匿データ復元方法において、
前記符号化データは圧縮データであることを特徴とする秘匿データ復元方法。
（付記８）
原本データから秘匿データを生成するデータ秘匿プログラムであって、
パスワードと前記原本データを準備する第１ステップと、
前記パスワードと前記原本データからダイジェストを計算する第２ステップと、
前記原本データから符号化データを生成する第３ステップと、
前記ダイジェストと前記符号化データを前記秘匿データとして出力する第４ステップと、
を情報処理装置に実行させることを特徴とするデータ秘匿プログラム。
（付記９）
秘匿データから元の原本データを生成する秘匿データ復元プログラムであって、
パスワードと秘匿データを準備する第１ステップと、
前記秘匿データを第１ダイジェストと符号化データに分割する第２ステップと、
前記符号化データから前記原本データを復元する第３ステップと、
前記パスワードと復元した前記原本データから第２ダイジェストを計算する第４ステップと、
前記第２ダイジェストと前記第１ダイジェストとが一致する場合に、復元した前記原本データを出力する第５ステップと、
を情報処理装置に実行させることを特徴とする秘匿データ復元プログラム。
（付記１０）
原本データから秘匿データを生成する情報処理装置であって、
パスワードを入力するパスワード入力部と、
前記原本データを入力する原本データ入力部と、
前記パスワードと前記原本データからダイジェストを計算するダイジェスト作成部と、
前記原本データから符号化データを生成する符号化部と、
前記ダイジェストと前記符号化データを前記秘匿データとして出力する出力部と、
を含む秘匿データ生成論理を備えたことを特徴とする情報処理装置。
（付記１１）
秘匿データから元の原本データを生成する情報処理装置であって、
パスワードを入力するパスワード入力部と、
前記秘匿データを入力し、第１ダイジェストと符号化データに分割する秘匿データ入力部と、
前記符号化データから前記原本データを復元する復元部と、
前記パスワードと前記復元部にて復元した前記原本データから第２ダイジェストを計算するダイジェスト作成部と、
前記第２ダイジェストと前記第１ダイジェストとを比較するダイジェスト比較部と、
前記ダイジェスト比較部にて２つの前記第２および第１ダイジェストが一致した場合に前記原本データの出力を許可する出力許可部と、
前記出力許可部にて出力許可された場合に前記復元部にて復元した前記原本データを出力する出力部と、
を含む秘匿データ復元論理を備えたことを特徴とする情報処理装置。
【図面の簡単な説明】
【０１０９】
【図１Ａ】本発明の第１実施の形態であるデータ秘匿方法、データ秘匿プログラムの作用の一例を示す概念図である。
【図１Ｂ】本発明の第１実施の形態である秘匿データ復元方法、秘匿データ復元プログラムの作用の一例を示す概念図である。
【図２Ａ】本発明の第１実施の形態であるデータ秘匿方法を実施するデータ秘匿プログラムの機能構成の一例を示す概念図である。
【図２Ｂ】本発明の第１実施の形態である秘匿データ復元方法を実施する秘匿データ復元プログラムの機能構成の一例を示す概念図である。
【図３Ａ】本発明の第１実施の形態であるデータ秘匿方法、データ秘匿プログラムの作用の一例を示すフローチャートである。
【図３Ｂ】本発明の第１実施の形態である秘匿データ復元方法、秘匿データ復元プログラムの作用の一例を示すフローチャートである。
【図４】本発明の一実施の形態である情報処理装置の構成の一例を示す概念図である。
【図５Ａ】本発明の第１実施の形態であるデータ秘匿方法、データ秘匿プログラムの作用の変形例を示すフローチャートである。
【図５Ｂ】本発明の第１実施の形態である秘匿データ復元方法、秘匿データ復元プログラムの作用の変形例を示すフローチャートである。
【図６Ａ】本発明の第２実施の形態であるデータ秘匿方法の一例を示す概念図である。
【図６Ｂ】本発明の第２実施の形態である秘匿データ復元方法の一例を示す概念図である。
【図７Ａ】図６Ａに例示したデータ秘匿方法を実現するデータ秘匿プログラムの構成例を示す概念図である。
【図７Ｂ】図６Ｂに例示した秘匿データ復元方法を実現する秘匿データ復元プログラムの構成例を示す概念図である。
【図８Ａ】図７Ａに例示したデータ秘匿プログラムの作用の一例を示すフローチャートである。
【図８Ｂ】図７Ｂに例示した秘匿データ復元プログラムの作用の一例を示すフローチャートである。
【図９Ａ】本発明の参考技術であるパスワード付き圧縮のデータ生成方法を示す概念図である。
【図９Ｂ】本発明の参考技術であるパスワード付き圧縮のデータ復元方法を示す概念図である。
【図１０】本発明の参考技術であるパスワード付き圧縮におけるパスワードの改竄方法を示す概念図である。
【符号の説明】
【０１１０】
１０  原本データ
２０  パスワード
２１  パスワード
３０  秘匿データ
３１  符号データ
３２  ハッシュ値
４０  ハッシュ値
５０  ビット列
６０  秘匿データ
６１  符号データ
６２  ハッシュ値
７０  ハッシュ値
１００  情報処理装置
１０１  中央処理装置
１０２  主記憶
１０３  外部記憶装置
１０４  表示装置
１０５  ユーザ入力装置
１０６  ネットワークインタフェース
１０７  情報ネットワーク
１２０  オペレーティングシステム
２００  データ秘匿プログラム
２０１  データ秘匿プログラム
２１１  パスワード入力部
２１２  原本データ入力部
２１３  ダイジェスト作成部
２１４  符号化部
２１５  秘匿データ出力部
２１６  ビット列生成部
２１７  ビット列付与部
３００  秘匿データ復元プログラム
３０１  秘匿データ復元プログラム
３１１  パスワード入力部
３１２  秘匿データ入力部
３１３  ダイジェスト作成部
３１４  復元部
３１５  ダイジェスト比較部
３１６  出力許可部
３１７  原本データ出力部
３１８  ビット列分割部
【図１Ａ】
0004829654.tif 000002
【図１Ｂ】
0004829654.tif 000003
【図２Ａ】
0004829654.tif 000004
【図２Ｂ】
0004829654.tif 000005
【図３Ａ】
0004829654.tif 000006
【図３Ｂ】
0004829654.tif 000007
【図４】
0004829654.tif 000008
【図５Ａ】
0004829654.tif 000009
【図５Ｂ】
0004829654.tif 000010
【図６Ａ】
0004829654.tif 000011
【図６Ｂ】
0004829654.tif 000012
【図７Ａ】
0004829654.tif 000013
【図７Ｂ】
0004829654.tif 000014
【図８Ａ】
0004829654.tif 000015
【図８Ｂ】
0004829654.tif 000016
【図９Ａ】
0004829654.tif 000017
【図９Ｂ】
0004829654.tif 000018
【図１０】
0004829654.tif 000019