(57)【要約】【課題】規定の値域のデータが必ず規定の値域のデータに暗号化されるようにする。【解決手段】鍵情報を入力して擬似乱数データを生成する擬似乱数生成工程と、入力データを所定ビットごとに、前記擬似乱数データとの排他的論理和を求めて暗号化する第１の暗号化工程（Ｓ３０２）と、前記第１の暗号化工程による暗号化データが、規定された値域内に収まるか否かを判定する判定工程（Ｓ３０３）と、前記判定工程で、前記値域内に収まらないと判定された場合に、当該暗号化データとの排他的論理和を求めて更に暗号化する第２の暗号化工程（Ｓ３０４）とを設ける。【選択図】      図３
2004274339.tif 000002
【特許請求の範囲】
【請求項１】
鍵情報を入力して擬似乱数データを生成する擬似乱数生成工程と、
入力データを所定ビットごとに、前記擬似乱数データとの排他的論理和を求めて暗号化する第１の暗号化工程と、
前記第１の暗号化工程による暗号化データが、規定された値域内に収まるか否かを判定する判定工程と、
前記判定工程で、前記値域内に収まらないと判定された場合に、当該暗号化データを前記擬似乱数データを用いて更に暗号化する第２の暗号化工程と
を有することを特徴とするデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、本発明は値域が制限されたデータに対する暗号化、復号処理に関するものである。
【０００２】
【従来の技術】
文書や画像データがインターネットなどの広域ネットワーク網を通して流通する場合、デジタルデータはコピーが容易であるため、第三者にデータが漏洩される危険性がある。そこでデータに対する暗号化やスクランブル処理などが行われることがある。これにより、鍵情報を持つ、もしくはデスクランブル処理を知っている、正当なユーザのみが復号処理を行い、文書や画像データを得ることができる。
【０００３】
このような暗号化処理としては、例えば、線形フィードバックレジスタ（ＬＦＳＲ）を用いた擬似乱数生成器により、鍵情報から擬似乱数データを生成し、生成した擬似乱数データと入力データとの排他的論理和を計算して暗号化データを生成するものが知られている（例えば特許文献１を参照）。
【０００４】
特に画像データに関しては、ビットマップ（ＢＭＰ）などの色情報の連結で構成されたフォーマットにより送信されることよりも、ＧＩＦ、ＪＰＥＧ、ＪＰＥＧ２０００、ＰＮＧなど、圧縮符号化が施されたデータフォーマットによる送信が多い。その場合フォーマットのヘッダ情報やデータ情報の中には、ある特定の範囲における値しか記載してはならない、つまり、値域が制限されているということが標準化文書で規定されている場合がある。
【０００５】
〔ＰＮＧ  における値域制限例〕
ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）はブラウザで利用できる画像形式のひとつで標準化団体Ｗ３Ｃが策定した新しい画像フォーマットである。ＰＮＧの仕様は、ｈｔｔｐ：／／  ｗｗｗ．ｗ３．ｏｒｇ／Ｇｒａｐｈｉｃｓ／ＰＮＧ／で標準化されている。ＰＮＧが記述されたファイル形式は、ＰＮＧシグネチャとそれに続くチャンクと呼ばれるデータの塊の連続で構成されている。ＰＮＧファイルシグネチャの一例は８バイトデータ”１３７  ８０  ７８  ７１  １３  １０  ２６  １０”  （１０進数表示）であり、これはＰＮＧファイルの最初に必ず付加されるデータと決められている。
【０００６】
チャンクは、チャンクデータ長（４バイト）、チャンク形式コード（４バイト固定）、チャンクデータ（不定長）、ＣＲＣ（４バイト）の４つの部分を連結したものである。チャンクデータ長情報は、チャンクデータ領域のバイト数を与える４バイトデータである。チャンク形式は形式を表す４バイトのコードであり、その形式に基づいて規定されたデータがチャンクデータ領域に格納される。チャンクデータ領域のデータ長は０であることもある。最後に、チャンク形式コード、チャンクデータ領域に対するＣＲＣ  （Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）アルゴリズムにより計算されたパディングデータとして４バイトのＣＲＣデータが付加される。
【０００７】
ここで、チャンク形式コードは、大文字と小文字の  ＡＳＣＩＩ  文字（Ａ−Ｚ、  ａ−ｚ）のみの使用が許可されている。つまり１０進数で６５−９０と  ９７−１２２の間の値域しか利用できないとしている。そのためＰＮＧ内部の一部を暗号化する際には、上記のチャンク形式コードを慎重に扱う必要がある。つまり、値域外の値に符号化されないようにしなければならない。
【０００８】
〔ＪＰＥＧ２０００  における値域制限例〕
ＩＳＯ／ＩＥＣ  ＪＴＣ  １／ＳＣ  ２９／ＷＧ１にて標準化されているＪＰＥＧ２０００では、コードストリームの区切りを示すために２バイトで表現されているマーカコードがいくつか定義されている。ＥＯＣ（Ｅｎｄ  Ｏｆ  Ｃｏｄｅ−ｓｔｒｅａｍ）、  ＳＯＤ（Ｓｔａｒｔ  Ｏｆ  Ｄａｔａ）、ＥＰＨ（Ｅｎｄ  Ｏｆ  ｐａｃｋｅｔ  Ｈｅａｄｅｒ）などがそれにあたり、それぞれＦＦＤ９、ＦＦ９３、ＦＦ９２（１６進数）が割り当てられている。また、実際には利用されておらず、今後のために予約されている値域外データは１６進数表記でＦＦ９０からＦＦＦＦであり、ＪＰＥＧ２０００パート１に準拠するエンコーダ、デコーダはこれらのマーカコードを見て処理を行っている。
【０００９】
【特許文献１】
特開平６−３４２２５７号公報
【００１０】
【発明が解決しようとする課題】
前述したように、圧縮符号化された画像データに対して暗号化処理を施した場合、規定の値域以外のデータに暗号化される場合がある。その場合、標準文書の規定に違反しているため、画像データを扱うアプリケーションが処理できない場合や、不正なデータを入力したためにアプリケーションが異常終了してしまうなどの弊害がある。さらに、暗号化前のデータよりも暗号化データが長くなった場合には、データ長が記載されているヘッダ情報などの書き換えが必要となり、暗号化処理以外にフォーマット再構成処理という煩雑なオーバーヘッドがかかることになる。
【００１１】
本発明は上述の問題点に鑑み、前述したように、処理不能に陥ったり、異常終了することを回避し、フォーマット再生成処理が不要になるように、規定の値域のデータに対して暗号化、復号処理を施しても、必ず規定の値域のデータに符号化されるようにするデータ処理方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記課題を解決するために、本発明のデータ処理方法は、鍵情報を入力して擬似乱数データを生成する擬似乱数生成工程と、入力データを所定ビットごとに、前記擬似乱数データとの排他的論理和を求めて暗号化する第１の暗号化工程と、前記第１の暗号化工程による暗号化データが、規定された値域内に収まるか否かを判定する判定工程と、前記判定工程で、前記値域内に収まらないと判定された場合に、当該暗号化データを前記擬似乱数データを用いて更に暗号化する第２の暗号化工程とを備える。
【００１３】
【発明の実施の形態】
〔第１の実施例〕
図１は本発明における各実施形態を実現する情報処理装置の電気的構成を説明するための図である。なお、本発明の実現にあたって、図１に示される全ての機能を使用することは必須ではない。
【００１４】
情報処理装置１００は、上記図１に示すように、公衆回線等のモデム１１８、表示部としてのモニタ１０２、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、ＨＤ（ハードディスク）１０６、ネットワークのネットワーク接続部１０７、ＣＤ１０８、ＦＤ（フレキシブルディスク）１０９、ＤＶＤ（デジタル・ビデオ・ディスク、またはＤｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）１１０、プリンタ１１５のインターフェース（Ｉ／Ｆ）１１７、及び操作部としてのマウス１１２やキーボード１１３等のインターフェース（Ｉ／Ｆ）１１１が、バス１１６を介して互いに通信可能に接続されて構成されている。
【００１５】
マウス１１２及びキーボード１１３は、情報処理装置１００に対する各種指示等をユーザが入力するための操作部である。この操作部を介して入力された情報（操作情報）は、インターフェース１１１を介して、情報処理装置１００内に取り込まれる。
【００１６】
情報処理装置１００での各種情報（文字情報や画像情報等）は、プリンタ１１５により印刷出力できるようになされている。
【００１７】
モニタ１０２は、ユーザへの各種指示情報や、文字情報或いは画像情報等の各種情報の表示を行う。
【００１８】
ＣＰＵ１０３は、情報処理装置１００全体の動作制御を司るものであり、本実施の形態においては制御手段として機能している。
【００１９】
すなわち、ＣＰＵ１０３は、ＨＤ（ハードディスク）１０６等から処理プログラム（ソフトウェアプログラム）を読み出して実行することで、情報処理装置１００全体を制御する。特に、本実施の形態では、ＣＰＵ１０３は、ＨＤ１０６等から、暗号化処理機能および復号処理機能を実現する処理プログラムを読み出して実行することで、後述する情報変換処理を実施する。
【００２０】
ＲＯＭ１０４は、暗号化処理機能および復号処理機能のための処理プログラムや、プログラム内で用いられる各種データ等を記憶する。
【００２１】
ＲＡＭ１０５は、ＣＰＵ１０３での各種処理のために、一時的に処理プログラムや処理対象の情報を格納するための作業用エリア等として使用される。
【００２２】
ＨＤ１０６は、大容量記憶装置の一例としての構成要素であり、各種データ、あるいは各種処理の実行時にＲＡＭ１０５等へ転送される情報変換処理等のための処理プログラム等を保存する。
【００２３】
ＣＤ（ＣＤドライブ）１０８は、外部記憶媒体の一例としてのＣＤ（ＣＤ−Ｒ）に記憶されたデータを読み込み、また、当該ＣＤへデータを書き出す機能を有する。
【００２４】
ＦＤ（フロッピー（Ｒ）ディスクドライブ）１０９は、ＣＤ１０８と同様に、外部記憶媒体の一例としてのＦＤ１０９に記憶されたデータを読み出す。また、種々のデータを上記ＦＤ１０９へ書き込む機能を有している。
【００２５】
ＤＶＤ（デジタル・ビデオ・ディスク）１１０は、ＣＤ１０８やＦＤ１０９と同様に、外部記憶媒体の一例としてのＤＶＤ１１０に記憶されたデータを読み出し、また、上記ＤＶＤ１１０へデータを書き込む機能を有している。
【００２６】
なお、ＣＤ１０８、ＦＤ１０９、ＤＶＤ１１０等の外部記憶媒体に対して、例えば、編集用のプログラム或いはプリンタドライバが記憶されている場合には、これらのプログラムをＨＤ１０６へインストールしておき、必要に応じて、ＲＡＭ１０５へ転送するように構成してもよい。
【００２７】
インターフェース（Ｉ／Ｆ）１１１は、マウス１１２或いはキーボード１１３によるユーザからの入力を受け付けるためのものである。
【００２８】
モデム１１８は、通信モデムであり、インターフェース（Ｉ／Ｆ）１１９を介して、例えば、公衆回線等を通じて外部のネットワークに接続される。
【００２９】
ネットワーク接続部１０７は、インターフェース（Ｉ／Ｆ）１１４を介して、外部のネットワークに接続される。
【００３０】
以下、本発明の実施の形態を図面と共に説明する。
【００３１】
図２に暗号処理を行う装置を示す。暗号化対象データ（２００）と鍵データ（２０１）が、図１に示す情報処理装置（１００）に入力される。暗号化対象データ（２００）はデータ入力モジュール（２０２）に、鍵データ（２０１）は擬似乱数生成モジュール（２０４）に、それぞれ入力される。擬似乱数生成モジュール（２０４）では、入力された鍵情報（２０１）を元に擬似乱数が生成され、暗号処理部（２０３）に入力される。暗号処理部（２０３）では、同時に入力された暗号化対象データ（２００）を擬似乱数により暗号化処理され、データ出力モジュール（２０５）を通して暗号化データ（２０６）が情報処理装置（１００）から出力される。暗号化処理として排他的論理和（ＸＯＲ）を用いて、擬似乱数をＸＯＲ演算がほどこされる場合には、暗号化処理に対する復号処理モジュールは、同じものを利用できる。以下、図２に記載の暗号化処理モジュールは復号処理モジュールと同一であるとする。
【００３２】
図３に１バイトごとに処理される暗号化処理に関するフローチャートを示す。ステップＳ３０１で暗号化対象データ（２００）から１バイトが逐次切り出されてステップＳ３０２に渡される。ステップＳ３０２では、暗号処理部（２０３）による排他的論理和演算処理が行われる。ステップＳ３０３では、値域外データかどうかが１バイト単位でチェックされ、値域外の場合はステップＳ３０４に、値域内の場合はステップＳ３０５に渡される。ステップＳ３０４では、ステップＳ３０２で使われた擬似乱数を用いて同様の処理が行われる。ステップＳ３０５は暗号化データがＨＤ１０６などに出力され、ステップＳ３０６に渡される。ステップＳ３０６では、暗号化対象データ（２００）すべての情報が処理されたかどうかをチェックし、処理が完了していない場合にはステップＳ３０１に渡される。ステップＳ３０６で完了していると判断された場合には処理を終える。
【００３３】
ここで、暗号化対象データ（２００）の格納には、ステップＳ３０１、ステップＳ３０２およびステップＳ３０４において、同一の領域を用いることができるメリットを持つ。入力データを格納するための領域Ａを確保したとき、まず、ステップＳ３０１で、入力データを領域Ａにコピーする。ステップＳ３０２では、排他的論理和演算を施した後のデータを、そのまま領域Ａに書き加えることができる。さらに、ステップＳ３０４においても排他的論理和演算を施した後のデータを、そのまま領域Ａに書き加えることができる。Ｃ言語プログラムでは、次のような記述が可能であり、メモリ量の削減が可能である。
【００３４】
2004274339.tif 000003
【００３５】
例として、図４において、値域を００からＦＥ（１６進数）、つまり値域外データをＦＦのみと仮定して説明する。４０１は、対象暗号化データ（２００）を、４０２はステップＳ３０２で使われる擬似乱数データを表している。１バイトごとに排他的論理和演算をおこない、４０３のように暗号化データを得る。最初の１バイトを考える。対象暗号化データは００、擬似乱数データはＦ０であるので、排他的論理和演算後のデータはＦ０であり、Ｆ０は値域内のためそのままＦ０を暗号化データとする。２バイト目も同様にして８８を得る。３バイト目は排他的論理和演算後のデータがＦＦで、値域外データであることがステップＳ３０３で検出され、ステップＳ３０４により、ＦＦとＦＤの排他的論理和演算の結果である０２が暗号化データとなる。結果的に、暗号化対象データ「０００１０２０３」は暗号化データ「Ｆ０８８０２０３」を得ることとなる。
【００３６】
図５は、図４で説明した暗号化処理に対する復号処理をあらわしている。５０１は、暗号化データ（２０６）を、５０２はステップＳ３０２で使われる擬似乱数データを表している。最初の１バイトを考える。暗号化データはＦ０、擬似乱数データはＦ０であるので、排他的論理和演算後のデータはＦ０であり、Ｆ０は値域内のためそのままＦ０を復号データとする。２バイト目も同様にして０１を得る。３バイト目は排他的論理和演算後のデータがＦＦで値域外データであることがステップＳ３０３で検出され、ステップＳ３０４により、ＦＦとＦＤの排他的論理和演算の結果である０２が復号データとなる。結果的に、暗号化データ「Ｆ０８８０２０３」は復号データ「０００１０２０３」を得ることとなる。
【００３７】
さらに、暗号化対象データ（２００）が値域外かどうかをチェックする機能を持つ場合について、図１１を用いて説明する。ステップＳ１１０１で入力されたデータが値域外データかどうかをステップＳ１１０２でチェックする。値域外データである場合は、以後の処理を中止して終了する。この機構がない場合、不正なデータである値域外データが入力された場合に、図３に示すフローチャートでは、正しく処理することができない。なお、入力データが不正なデータであった場合、暗号化を中止するとともに、その旨を通知するようにしてもよい。ステップＳ１１０３以降は、図３のステップＳ３０２以降と同様の処理であるので、説明を割愛する。
【００３８】
〔第２の実施例〕
第１の実施例では、値域外データがひとつの場合を扱ったが、複数の場合でも同様の処理を行えることを示す。図６は、値域外データがＦ０からＦＦの場合についての処理例を示す。最初の１バイトを考える。対象暗号化データは００、擬似乱数データはＦ０であるので、排他的論理和演算後のデータはＦ０であり、Ｆ０は値域外データであることがステップＳ３０３で検出され、ステップＳ３０４により、Ｆ０とＦ０の排他的論理和演算の結果である００が暗号化データとなる。同様にして、結果的に、暗号化対象データ「０００１０２０３」は暗号化データ「００８８０２０３」を得ることとなる。  図７は図６に対応する復号処理を表しており、同様の処理にしたがって、暗号化データ「００８８０２０３」は復号データ「０００１０２０３」を得ることとなる。
【００３９】
このとき、ＰＮＧの例などのように値域外データが多い場合には、暗号化データが暗号化前に比べてスクランブルされる部分が少ないことがある。そこで、図１０などのように値域外データから値域外データへ１対１に変換されるテーブルを持ち、それを用いて暗号化、復号処理を行う方式について説明する。図８は暗号化処理例を示している。８０１は、対象暗号化データ（２００）を、８０２はステップＳ３０２で使われる擬似乱数データを、８０３は暗号化データ（２０６）を表しており、図６での処理と全く同じであるが次の処理を加える。得られた暗号化データにおいて、図１０の変換テーブルを用いて、変換を行う（８０４）。１バイト目はＦ０であるが図１によりＦ１を得る。そして、この得られたＦ１に対してステップＳ３０４の処理を施し、暗号化データとしては０１となる。同様にして、結果的に、暗号化対象データ「０００１０２０３」に対して暗号化データ「０１８８０Ｂ０３」を得ることとなる。図９の復号化処理では、同様に図１０の変換テーブルを用いて、逆に変換する操作（９０４）を追加する。１バイト目に注目すると、図７と同様にしてＦ１を得た（９０３）あと、図１０のテーブルを用いて逆変換を行い（９０４）、Ｆ０を得て、最後にステップＳ３０４の処理を施し、００を得る。同様の処理にしたがって、暗号化データ「０１８８０Ｂ０３」は復号データ「０００１０２０３」を得ることとなる。
【００４０】
図１０の変換テーブルは、固定の場合や、対象処理データのバイト数に応じて変化させたり、ブロック暗号におけるＣＢＣモードのように、前の暗号処理の結果に基づいて変化させたりするなどのバリエーションが考えられる。
【００４１】
〔第３の実施例〕
第１および２の実施例では、１バイト単位で処理を行ったが、ＪＰＥＧ２０００での値域制限（値域外データはＦＦ９０からＦＦＦＦ）に対応した処理を行う方式について述べる。
【００４２】
値域外データは、任意の２バイトがＦＦ９０からＦＦＦＦであることから、２バイトごとに実施例１、２と同様に暗号処理を行う方法は容易に考えられる。本実施例では、１バイトごとに処理を行う方式について述べる。
【００４３】
上記の「値域外データはＦＦ９０からＦＦＦＦ」は、次のルールを満たせば、規定どおりである。値はすべて１バイトデータであり、１６進数表記である。
【００４４】
ルール１：
Ａ）００から８Ｆは００から８Ｆにしか変換されない。
Ｂ）９０からＦＥは９０からＦＥにしか変換されない。
Ｃ）ＦＦはＦＦにしか変換されない
【００４５】
図１２は、ルール１を満たすような変換方式を表している。１２０１は、暗号化対象データ（２００）のうちステップＳ３０１で処理される１バイト（８ビット）データのビットを表している。また、１２０２はステップＳ３０２でＸＯＲ処理される１バイト擬似乱数データのビットを表している。
【００４６】
上記の変換方式を、図１４を用いて説明する。まずステップＳ１４０１で暗号対象データ（２００）を入力する。ステップＳ１４０２で入力データのうち、２ビット目から４ビット目の変換処理を行う。このとき、１２０２の１ビット目から４ビット目の値を利用し、１の立つビット数は不変の変換を施す。次にステップＳ１４０３で、５ビット目から８ビット目は、１２０２の５ビット目から８ビット目とＸＯＲ処理が施される。次に、ステップＳ１４０４で、値域外データかどうかがチェックされ、値域外の場合には、ステップＳ１４０３と同様にＸＯＲ処理が施される。ステップＳ１４０６では、暗号化対象データ（２００）すべての情報が処理されたかどうかをチェックし、処理が完了していない場合にはステップＳ１４０１に渡される。ステップＳ１４０６で完了していると判断された場合には処理を終える。
【００４７】
上記の変換方式は、ルール１を満たし、ＪＰＥＧ２０００の規定される値域内に変換することが可能となる。
【００４８】
さらに別の方式について説明する。次のルールに適合するような変換を行うことを説明していく。
【００４９】
ルール２：
Ａ）００から７Ｆは００から７Ｆにしか変換されない。
Ｂ）９０からＥＦは９０からＥＥにしか変換されない。
Ｃ）上位４ビットは必ず８から８、ＦからＦにしか変換されない。
Ｄ）下位４ビットはＦからＦにしか変換されない。
【００５０】
図１３は、ルール２を満たすような変換方式を表している。１３０１は、暗号化対象データ（２００）のうちステップＳ３０１で処理される１バイト（８ビット）データのビットを表している。また、１３０２はステップＳ３０２でＸＯＲ処理される１バイト擬似乱数データのビットを表している。
【００５１】
上記の変換方式を、図１５を用いて説明する。まずステップＳ１５０１で暗号対象データ（２００）を入力する。次にステップＳ１５０２で、２ビット目から４ビット目は、１３０２の２ビット目から４ビット目とＸＯＲ処理が施される。次にステップＳ１５０３で、５ビット目から８ビット目は、１３０２の５ビット目から８ビット目とＸＯＲ処理が施される。次に、ステップＳ１５０４で、値域外データかどうかがチェックされ、値域外の場合には、ステップＳ１５０２またはＳ１５０３と同様のＸＯＲ処理が施される。ステップＳ１５０６では、暗号化対象データ（２００）すべての情報が処理されたかどうかをチェックし、処理が完了していない場合にはステップＳ１５０１に渡される。ステップＳ１５０６で完了していると判断された場合には処理を終える。
【００５２】
上記の変換方式は、ルール２を満たし、ＪＰＥＧ２０００の規定される値域内に変換することが可能となる。
【００５３】
〔他の実施の形態〕
本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタ等）から構成されるシステムの一部として適用しても、ひとつの機器（たとえば複写機、ファクシミリ装置）からなるものの一部に適用してもよい。
【００５４】
また、本発明は上記実施の形態を実現するための装置及び方法及び実施の形態で説明した方法を組み合わせて行う方法のみに限定されるものではなく、上記システムまたは装置内のコンピュータ（ＣＰＵあるいはＭＰＵ）に、上記実施の形態を実現するためのソフトウエアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させることにより上記実施の形態を実現する場合も本発明の範疇に含まれる。
【００５５】
またこの場合、前記ソフトウエアのプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
【００５６】
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー（Ｒ）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５７】
また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施の形態の機能が実現される場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているＯＳ（オペレーティングシステム）、あるいは他のアプリケーションソフト等と共同して上記実施の形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
【００５８】
更に、この供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上記実施の形態が実現される場合も本発明の範疇に含まれる。
【００５９】
以下、上記実施形態に係わる本発明の特徴を整理する。
【００６０】
特徴１．
鍵情報を入力して擬似乱数データを生成する擬似乱数生成工程と、
入力データを所定ビットごとに、前記擬似乱数データとの排他的論理和を求めて暗号化する第１の暗号化工程と、
前記第１の暗号化工程による暗号化データが、規定された値域内に収まるか否かを判定する判定工程と、
前記判定工程で、前記値域内に収まらないと判定された場合に、当該暗号化データを前記擬似乱数データを用いて更に暗号化する第２の暗号化工程と
を有することを特徴とするデータ処理方法。
【００６１】
特徴２．
前記第１の暗号化工程及び前記第２の暗号化工程において、前記入力データが格納されていたデータ領域に当該入力データを暗号化したデータを書き加えることを特徴とする特徴１に記載のデータ処理方法。
【００６２】
特徴３．
前記入力データが規定された値域外のデータであることを検出する検出工程を備え、当該検出工程で前記規定された値域外のデータであることが検出された場合に、前記第１の暗号化工程を中止することを特徴とする特徴１または２に記載のデータ処理方法。
【００６３】
特徴４．
前記第２の暗号化工程では、値域外の暗号化データを他の値域外のデータに変換し、変換後の暗号化データと前記擬似乱数データとの排他的論理和を求めて暗号化することを特徴とする特徴１ないし３に記載のデータ処理方法。
【００６４】
特徴５．
前記値域外のデータは、ＪＰＥＧ２０００におけるマーカコードの一部を含む符号であるＦＦ９０からＦＦＦＦであることを特徴とする特徴１ないし４に記載のデータ処理方法。
【００６５】
特徴６．
前記第１の暗号化工程では、前記所定ビットを８ビットとし、先頭１ビットを除いたビット列に暗号化処理を行うことを特徴とする特徴５に記載のデータ処理方法。
【００６６】
特徴７．
前記第１の暗号化工程では、先頭から数えて２ビット目から４ビット目までと、５ビット目から８ビット目までの２つの部分ごとに排他的論理和演算が施されることを特徴とする特徴６に記載のデータ処理方法。
【００６７】
特徴８．
鍵情報を入力して擬似乱数データを生成する擬似乱数生成工程と、
暗号化データを所定ビットごとに、前記擬似乱数データとの排他的論理和を求めて復号する第１の復号工程と、
前記第１の復号工程による復号データが、規定された値域内に収まるか否かを判定する判定工程と、
前記判定工程で、前記値域内に収まらないと判定された場合に、当該復号データを前記擬似乱数データを用いて更に復号する第２の復号工程と
を有することを特徴とするデータ処理方法。
【００６８】
特徴９．
前記第１の復号工程及び前記第２の復号工程において、前記暗号化データが格納されていたデータ領域に当該暗号化データを復号したデータを書き加えることを特徴とする特徴８に記載のデータ処理方法。
【００６９】
特徴１０．
前記暗号化データが規定された値域外のデータであることを検出する検出工程を備え、当該検出工程で前記規定された値域外のデータであることが検出された場合に、前記第１の復号工程を中止することを特徴とする特徴８または９に記載のデータ処理方法。
【００７０】
特徴１１．
前記第２の復号工程では、値域外の暗号化データを他の値域外のデータに変換し、変換後の復号データと前記擬似乱数データとの排他的論理和を求めて復号することを特徴とする特徴８ないし１０に記載のデータ処理方法。
【００７１】
特徴１２．
前記値域外のデータは、ＪＰＥＧ２０００におけるマーカコードの一部を含む符号であるＦＦ９０からＦＦＦＦであることを特徴とする特徴８ないし１１に記載のデータ処理方法。
【００７２】
特徴１３．
前記第１の復号工程では、前記所定ビットを８ビットとし、先頭１ビットを除いたビット列に復号処理を行うことを特徴とする特徴１２に記載のデータ処理方法。
【００７３】
特徴１４．
前記第１の復号工程では、先頭から数えて２ビット目から４ビット目までと、５ビット目から８ビット目までの２つの部分ごとに排他的論理和演算が施されることを特徴とする特徴１３に記載のデータ処理方法。
【００７４】
特徴１５．
コンピュータ読み取り可能なプログラムであって、当該コンピュータに特徴１ないし１４の何れか１項に記載のデータ処理方法を実行させることを特徴とするプログラム。
【００７５】
特徴１６．
特徴１５に記載のプログラムを格納するコンピュータ読み取り可能な記憶媒体。
【００７６】
特徴１７．
鍵情報を入力して擬似乱数データを生成する擬似乱数生成手段と、
入力データを所定ビットごとに、前記擬似乱数データとの排他的論理和を求めて暗号化する第１の暗号化手段と、
前記第１の暗号化手段による暗号化データが、規定された値域内に収まるか否かを判定する判定手段と、
前記判定手段により、前記値域内に収まらないと判定された場合に、当該暗号化データを前記擬似乱数データを用いて更に暗号化する第２の暗号化手段と
を有することを特徴とするデータ処理装置。
【００７７】
特徴１８．
鍵情報を入力して擬似乱数データを生成する擬似乱数生成手段と、
暗号化データを所定ビットごとに、前記擬似乱数データとの排他的論理和を求めて復号する第１の復号手段と、
前記第１の復号手段による復号データが、規定された値域内に収まるか否かを判定する判定手段と、
前記判定手段により、前記値域内に収まらないと判定された場合に、当該復号データを前記擬似乱数データを用いて更に復号する第２の復号手段と
を有することを特徴とするデータ処理装置。
【００７８】
特徴１９．
同一の装置により特徴１７のデータ処理装置と特徴１８のデータ処理装置とを実現したことを特徴とするデータ処理装置。
【００７９】
【発明の効果】
以上説明したように、本発明によれば、規定の値域のデータに対して暗号化、復号処理を施しても、必ず規定の値域のデータに符号化されるようにすることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係る処理装置の構成を示すブロック図である。
【図２】第１の実施形態に係る暗号装置の概要を示す図である。
【図３】本発明の第１の実施形態に係る暗号処理手順を示すフローチャートである。
【図４】第１の実施形態に係る暗号処理例を説明する概念図である。
【図５】第１の実施形態に係る復号処理例を説明する概念図である。
【図６】第２の実施形態に係る暗号処理例を説明する概念図である。
【図７】第２の実施形態に係る復号処理例を説明する概念図である。
【図８】第２の実施形態に係る暗号処理例を説明する概念図である。
【図９】第２の実施形態に係る復号処理例を説明する概念図である。
【図１０】第２の実施形態に係る変換テーブルを説明する概念図である。
【図１１】第１の実施形態に係る暗号処理手順を示すフローチャートである。
【図１２】第３の実施形態に係る変換方式を表わす図である。
【図１３】第３の実施形態に係る変換方式を表わす図である。
【図１４】第３の実施形態に係る暗号処理手順を示すフローチャートである。
【図１５】第３の実施形態に係る他の暗号処理手順を示すフローチャートである。
【符号の説明】
１００  情報処理装置
１０２  モニタ
１０３  ＣＰＵ
１０４  ＲＯＭ
１０５  ＲＡＭ
１０６  ＨＤ
１０７  ネットワーク接続部
１０８  ＣＤドライブ
１０９  ＦＤドライブ
１１０  ＤＶＤドライブ
１１１  インターフェース
１１２  マウス
１１３  キーボード
１１４  インターフェース
１１５  プリンタ
１１６  バス
１１７  インターフェース
１１８  モデム
１１９  インターフェース
【図１】
2004274339.tif 000004
【図２】
2004274339.tif 000005
【図３】
2004274339.tif 000006
【図４】
2004274339.tif 000007
【図５】
2004274339.tif 000008
【図６】
2004274339.tif 000009
【図７】
2004274339.tif 000010
【図８】
2004274339.tif 000011
【図９】
2004274339.tif 000012
【図１０】
2004274339.tif 000013
【図１１】
2004274339.tif 000014
【図１２】
2004274339.tif 000015
【図１３】
2004274339.tif 000016
【図１４】
2004274339.tif 000017
【図１５】
2004274339.tif 000018