(57)【要約】【課題】ＤＥＳやＡＥＳなどの公知の暗号方式を用いて、禁止符号のマーカコードを発生させないこと暗号化処理装置。【解決手段】ＪＰＥＧ２０００ストリーム中の禁止符号が含まれている対象データより、禁止符号を含まない所定サイズの符号を暗号化対象として選択して暗号化し（Ｓ５２０，Ｓ５２１，Ｓ５０２）、その暗号化結果が所定の禁止符号であるとき、又は直前の暗号化結果との組み合わせで禁止符号を構成するときに（Ｓ５０３又はＳ５０４，Ｙｅｓ）、当該暗号化結果を再度暗号化する（Ｓ５０２）。【選択図】  図５
2008072661.tif 000002
【特許請求の範囲】
【請求項１】
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択手段と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理手段と、
前記暗号化処理手段に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御手段とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果と、該暗号化対象の直前に選択された暗号化対象についての暗号化処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする情報処理装置。
【請求項２】
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択手段と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理手段と、
前記暗号化処理手段に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御手段とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は
該暗号化対象についての暗号化処理結果と、該暗号化対象の直前に選択された暗号化対象についての暗号化処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果と、前記符号データにおける該暗号化対象の次に位置する符号との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする情報処理装置。
【請求項３】
前記暗号化対象選択手段は、前記符号データにおける暗号化対象として未選択の残りの符号のサイズが前記一定サイズ未満のときには、該残りの符号を暗号化対象として選択しないことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記暗号化対象選択手段は、前記符号データにおける暗号化対象として未選択の残りの符号のサイズが前記一定サイズ未満であっても該残りの符号を暗号化対象として選択することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記符号データはＪＰＥＧ２０００の符号データであり、前記禁止符号はＪＰＥＧ２０００におけるＦＦ９０ｈからＦＦＦＦｈまでのマーカコードの一部を含む符号であることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記暗号化処理手段において共通鍵暗号方式に従った暗号化処理を行うことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記暗号化処理手段においてストリーム暗号方式に従った暗号化処理を行うことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項８】
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択手段と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理手段と、
前記暗号化処理手段に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御手段とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果の下位バイトが前記禁止符号の上位バイトと一致すると判定したとき、であることを特徴とする情報処理装置。
【請求項９】
前記暗号化対象選択手段は、前記符号データにおける暗号化対象として未選択の残りの符号のサイズが前記一定サイズ未満のときには、該残りの符号を暗号化対象として選択しないことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記暗号化対象選択手段は、前記符号データにおける暗号化対象として未選択の残りの符号のサイズが前記一定サイズ未満であっても該残りの符号を暗号化対象として選択することを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記符号データはＪＰＥＧ２０００の符号データであり、前記禁止符号はＪＰＥＧ２０００におけるＦＦ９０ｈからＦＦＦＦｈまでのマーカコードの一部を含む符号であることを特徴とする請求項８乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記暗号化処理手段において共通鍵暗号方式に従った暗号化処理を行うことを特徴とする請求項８乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記暗号化処理手段においてストリーム暗号方式に従った暗号化処理を行うことを特徴とする請求項８乃至１１のいずれか１項に記載の情報処理装置。
【請求項１４】
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択手段と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理手段と、
前記復号処理手段に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御手段と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、該復号対象の直前に選択された復号処理対象についての復号処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする情報処理装置。
【請求項１５】
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択手段と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理手段と、
前記復号処理手段に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御手段と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、該復号対象の直前に選択された復号対象についての復号処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、前記符号データにおける該復号対象の次に位置する符号との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする情報処理装置。
【請求項１６】
前記復号対象選択手段は、前記符号データにおける復号対象として未選択の残りの符号のサイズが前記一定サイズ未満のときには、該残りの符号を復号対象として選択しないことを特徴とする請求項１４又は１５に記載の情報処理装置。
【請求項１７】
前記復号対象選択手段は、前記符号データにおける復号対象として未選択の残りの符号のサイズが前記一定サイズ未満であっても該残りの符号を復号対象として選択することを特徴とする請求項１４又は１５に記載の情報処理装置。
【請求項１８】
前記符号データは暗号化されたＪＰＥＧ２０００の符号データであり、前記禁止符号はＪＰＥＧ２０００におけるＦＦ９０ｈからＦＦＦＦｈまでのマーカコードの一部を含む符号であることを特徴とする請求項１４乃至１７のいずれか１項に記載の情報処理装置。
【請求項１９】
前記復号処理手段において共通鍵暗号方式に従った復号処理を行うことを特徴とする請求項１４乃至１８のいずれか１項に記載の情報処理装置。
【請求項２０】
前記復号処理手段においてストリーム暗号方式に従った復号処理を行うことを特徴とする請求項１４乃至１８のいずれか１項に記載の情報処理装置。
【請求項２１】
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択手段と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理手段と、
前記復号処理手段に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御手段と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果の下位バイトが前記禁止符号の上位バイトと一致すると判定したとき、であることを特徴とする情報処理装置。
【請求項２２】
前記復号対象選択手段は、前記符号データにおける復号対象として未選択の残りの符号のサイズが前記一定サイズ未満のときには、該残りの符号を復号対象として選択しないことを特徴とする請求項２１に記載の情報処理装置。
【請求項２３】
前記復号対象選択手段は、前記符号データにおける復号対象として未選択の残りの符号のサイズが前記一定サイズ未満であっても該残りの符号を復号対象として選択することを特徴とする請求項２１に記載の情報処理装置。
【請求項２４】
前記符号データは暗号化されたＪＰＥＧ２０００の符号データであり、前記禁止符号はＪＰＥＧ２０００におけるＦＦ９０ｈからＦＦＦＦｈまでのマーカコードの一部を含む符号であることを特徴とする請求項２１乃至２３のいずれか１項に記載の情報処理装置。
【請求項２５】
前記復号処理手段において共通鍵暗号方式に従った復号処理を行うことを特徴とする請求項２１乃至２４のいずれか１項に記載の情報処理装置。
【請求項２６】
前記復号処理手段においてストリーム暗号方式に従った復号処理を行うことを特徴とする請求項２１乃至２４のいずれか１項に記載の情報処理装置。
【請求項２７】
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択工程と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理工程と、
前記暗号化処理工程に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御工程とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果と、該暗号化処理対象の直前に選択された暗号化対象についての暗号化処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする情報処理方法。
【請求項２８】
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択工程と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理工程と、
前記暗号化処理工程に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御工程とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は
該暗号化対象についての暗号化処理結果と、該暗号化対象の直前に選択された暗号化対象についての暗号化処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果と、前記符号データにおける該暗号化対象の次に位置する符号との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする情報処理方法。
【請求項２９】
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択工程と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理工程と、
前記暗号化処理工程に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御工程とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果の下位バイトが前記禁止符号の上位バイトと一致すると判定したとき、であることを特徴とする情報処理方法。
【請求項３０】
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択工程と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理工程と、
前記復号処理工程に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御工程と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、該復号対象の直前に選択された復号対象についての復号処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする情報処理方法。
【請求項３１】
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択工程と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理工程と、
前記復号処理工程に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御工程と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、該復号対象の直前に選択された復号対象についての復号処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、前記符号データにおける該復号対象の次に位置する符号との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする情報処理方法。
【請求項３２】
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択工程と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理工程と、
前記復号処理工程に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御工程と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果の下位バイトが前記禁止符号の上位バイトと一致すると判定したとき、であることを特徴とする情報処理方法。
【請求項３３】
請求項１乃至２６のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるプログラム。
【請求項３４】
請求項２７乃至３２のいずれか１項に記載の情報処理方法の各工程をコンピュータに実行させるプログラム。
【請求項３５】
請求項３３又は３４に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項３６】
所定の禁止符号が含まれている符号データを暗号化して暗号化データを生成する情報処理装置であって、
前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つことを特徴とする情報処理装置。
【請求項３７】
所定の禁止符号が含まれている符号データを暗号化して暗号化データを生成する情報処理方法であって、
前記暗号化データ中の前記禁止符号の位置及び個数を前記符号データ中の前記禁止符号の個数及び位置と同一に保つことを特徴とする情報処理方法。
【請求項３８】
所定の禁止符号が含まれている符号データをブロック暗号化して暗号化データを生成する情報処理装置であって、
前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つとともに、全てのブロック暗号値の下位の所定数バイトの値を前記禁止符号の上位の所定数バイトの値と一致させないことを特徴とする情報処理装置。
【請求項３９】
所定の禁止符号が含まれている符号データをブロック暗号化して暗号化データを生成する情報処理方法であって、
前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つとともに、全てのブロック暗号値の下位の所定数バイトの値を前記禁止符号の上位の所定数バイトの値と一致させないことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの暗号化／復号技術に係り、特に、フォーマットに特有のマーカコードを含む符号データの暗号化／復号を行う情報処理装置及び方法に関する。
【背景技術】
【０００２】
近年、コンピュータとそのネットワークの急速な発達及び普及により、文字データ、画像データ、音声データなど、多種の情報がデジタル化されている。デジタル情報は、経年変化などによる劣化がなく、いつまでも完全な状態で保存できる一方、容易に複製が可能であり、著作権の保護が大きな問題となっている。そのため著作権保護のためのセキュリティ技術は急速に重要性を増している。
【０００３】
著作権を保護する技術の一つに“暗号技術”がある。特に、画像データなどのデジタルコンテンツの暗号化方式として、送信者と受信者で同一の暗号鍵を秘密に共有する共通鍵暗号方式（秘密鍵暗号方式、対称暗号方式、慣用暗号方式とも呼ばれる）がある。共通鍵暗号方式は適当な長さの文字列（ブロック）ごとに同じ鍵で暗号化するブロック暗号と文字列またはビットごとに鍵を変えていくストリーム暗号に分けることができる。ブロック暗号の中ではＤＥＳ（Data  Encryption  Standard）やＡＥＳ（Advanced  Encryption
Standard）などが良く知られている。
【０００４】
ストリーム暗号には多表を用いるビジネル暗号や１回限りの使い捨ての鍵を用いるバーナム暗号等が知られている（例えば非特許文献１を参照）。よって、画像データ全体の暗号化による著作権保護は上記の共通鍵暗号方式のうちの一つを用いることにより容易に実現できる。すなわち、送信者と受信者で暗号鍵を共有し、送信者が暗号化した画像データを受信者がその鍵を用いて復号すればよい。
【０００５】
一方、画像データを圧縮する高能率符号化の１方式としては、静止画像の国際標準符号化方式としてＩＳＯとＩＴＵ−Ｔにより勧告されたＪＰＥＧ方式が広く用いられている。このＪＰＥＧ方式は離散コサイン変換を基本とした方式であるが、圧縮率を高めるとブロック状の歪みが生じるという問題点があった。そこで、画像のさらなる高解像度化要求と、より高い圧縮率を実現するために先の離散コサイン変換とは異なる変換方式として離散ウェーブレット変換を利用した符号化方式が提案され、現在ＪＰＥＧ２０００として標準化が進んでいる。
【０００６】
図１はＪＰＥＧ２０００エンコーダのブロック図である。入力画像はまずウェーブレット変換（ＤＷＴ）によりサブバンド分解され（１０１）、その後量子化される（１０２）。図２は分解レベルが２のとき（解像度レベル数３）のサブバンド分解の例であり、ｌｅｖｅｌ０からｌｅｖｅｌ２までの解像度レベルが存在する。このとき、小さい解像度レベルに属する係数ほど低い周波数の情報を含むことになる。量子化されたウェーブレット係数は、ＥＢＣＯＴアルゴリズムにより符号化される。以下ではこのアルゴリズムを、コードプロック分割（１０３）、係数モデリング（１０４）、算術符号化（１０５）とレート制御（１０６）、レイヤ形成（１０７）、パケット生成（１０８）の五つの部分に分けて説明する。
【０００７】
（１）コードプロック分割
各サブバンドは、コードプロックと呼ばれる正方形のブロック（例えば６４ｘ６４など）に分割される。これらのコードブロックは、それぞれ独立に符号化される。
【０００８】
（２）係数モデリング
各コードブロックのウェーブレット係数列に対し、ピットプレーンに基づく係数モデリングを行う。これにより、係数ビットが重要度順に並んだエンペデッド符号列を生成する。ＭＳＢからＬＳＢまでのすべてのビットプレーンは、それぞれ文脈に応じて三つのサブビットプレーン（パス）分解される。各サブビットブレーンの境界は打切り点（Truncation
point）と呼ばれ、後でデータを切り捨てる際の最小の分割単位となる。
【０００９】
（３）算術符号化とレート制御
係数モデリングにより生成されたエンベデッド符号列に対して、適応算術符号化を施す。その後、サブビットブレーンの境界である打切り点を単位として、算術符号列を適宜打ち切ることにより、目的のビットレートを得る。
【００１０】
（４）レイヤ形成
複数の画質で順次表示する必要がある場合、すなわちＳＮＲスケーラブルが必要であるとき、次に符号のレイヤ形成を行う。各レイヤはそれぞれ、各コードブロックのエンベデノド符号の一部を含む。高いレイヤほど画像の再生にあたって重要な成分を含むことになる。
【００１１】
（５）パケット生成
各レイヤを複数のボディと呼ばれる単位に分解し、それぞれにヘッダ情報を付加してパケットを生成する。ここで各ボディは、それぞれ対応する解像度レベルの情報をもつ。したがって生成されるパケットの総数は、レイヤ数と解像度レベル数の積となる。ヘッダ情報には、各コードブロックの算術符号列の長さ、サブビットブレーンの個数などの情報が含まれる。図４のように、すべてのパケットをまとめ、グローバルヘッダ情報を付加したものが、最終的なＪＰＥＧ２０００の符号列となる。ただし、以上のような各種ヘッダ情報やデータ分割の最小単位であるサブビットプレーンは、１バイトの整数倍のサイズとすることをＪＰＥＧ２０００では規定している。
【００１２】
以上説明したように、デジタル画像データにはセキュリティの問題があり、画像全体の暗号化は前述のＤＥＳやＡＥＳなどの暗号方式を用いることにより解決される。しかし、この場合、復号すると、画像全体の暗号化が復号され部分的な保護はできない。例えば、高解像度部分のみ（図２のｌｅｖｅｌ１以上）を暗号化し、ｌｅｖｅｌ０はそのままにすることにより、低解像度のｌｅｖｅｌ０の画像は開示するが、全体である高解像度画像は保護することができる。ただし、この場合、暗号化する高解像度部分以外は通常のＪＰＥＧ２０００の符号列になっているので、高解像度部分の暗号化方式としてＤＥＳやＡＥＳをそのまま用いることはできない。
【００１３】
それは、ＪＰＥＧ２０００の符号列の部分的な暗号化にはマーカコードに関する制約が伴うためである。マーカコードは、ＪＰＥＧ２０００において特別な意味を保つ符号であり、暗号化により偽のマーカコードが生成されると、正常な再生が妨げられることがある。すなわち、マーカコードは図４に示す圧縮データ部（ボディ）においては、生成が禁止された禁止符号的な役割をもつ。
【００１４】
ＪＰＥＧ２０００を対象とした場合、マーカコードとはＦＦ９０ｈからＦＦＦＦｈの範囲の値を有するマーカおよびマーカセグメントコードを意味する。マーカとは定義情報を格納するコードである。これらは２バイトで表され、先頭の１バイトはＦＦｈである。さらに用途に応じてＦＦｘｘｈという２バイトデータとしてマーカは表現される。一方、マーカセグメントは１つのマーカとそれに追随するパラメータとからなる。４種類のマーカ、ＳＯＣ（ＦＦ４Ｆｈ：start  of  code-stream）、ＥＯＣ（ＦＦＤ９ｈ：end  of
code-stream）、ＳＯＤ（ＦＦ９３ｈ：start  of  data）、ＥＰＨ（ＦＦ９２ｈ：end  of
packet  header）のみが独立したマーカであり、その他のマーカは、すべてマーカセグメントの一部である。以後、マーカおよびマーカセグメントをまとめてマーカとよぶ。
【００１５】
ＪＰＥＧ２０００では、特にＦＦ９０ｈ−ＦＦＦＦｈの範囲のマーカに二つの特別な意味を持たせている。一つは、これらのマーカがコードストリームの区切りを意味することである。これにより、パケットおよびバケットヘッダを位置づけることが可能となる。他の一つは、これらのマーカが圧縮データ自身〈図４のボディ〉の中に存在しないことである。すなわち、ＪＰＥＧ２０００エンコーダはこれらのコードを発生しないように設計されている。よって、上記の部分的なＪＰＥＧ２０００データの暗号化において回避すべきは、この２バイトを単位とするＦＦ９０ｈ―ＦＦＦＦｈのマーカコードの生成である。
【００１６】
以上の問題に鑑みてなされた発明として、特許文献１と特許文献２に記載の発明がある。この発明では、ＪＰＥＧ２０００のメインヘッダやタイルヘッダではなく、画像データの符号化されたものを暗号化する。特許文献１の発明では、対象符号のブロック暗号化時に前後のブロックの元の符号と暗号化符号をみて、その中に禁止符号が生じたときには再度暗号化することで禁止符号を生じないようにする。特許文献２の発明では、対象符号のブロック暗号化時に前後のブロックの元の符号と暗号化符号をみて、その中に禁止符号が生じたときには暗号化以前の符号値を暗号化値として使用することで禁止符号を生じないようにする。
【００１７】
【非特許文献１】池野、小山著，”現代暗号理論”，電子情報通信学会，１９８６（第２章及び第４章）
【非特許文献２】”Final  version  of  JPSEC  FDIS”，ISO  IEC／JTC  1/SC  29/WG  1/wg1n3853，２００６（Ｂ章B.5.4節）
【特許文献１】特開２００４−２１９６６９号公報
【特許文献２】特開２００５−０２０５６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
特許文献１と特許文献２の発明では、その動作の制約から、暗号化対象とするデータ中に禁止符号を含むことは許されない。そのため、暗号化データ対象中に禁止符号が含まれてないことを保証しなければならない。ＪＰＥＧ２０００のヘッダ中には、この禁止符号があるため、特許文献１と特許文献２の発明では暗号対象とすることは出来ない。ＪＰＥＧ２０００のヘッダ以外の画像符号化データ中にも、前記したパケットヘッダの終わりを示すＥＰＨ（ＦＦ９２ｈ：end  of  packet  header）やパケットの始まりを示すＳＯＰ（ＦＦ９１ｈ：start  of  packet）が混在していることがあり、特許文献１と特許文献２の発明では、これらのＥＰＨとＳＯＰを予め除いて処理し、処理後にそれらマーカを以前の位置に入れるという作業が必用であった。また、特許文献１と特許文献２の発明では、生成される暗号値によっては、この暗号値とＥＰＨとＳＯＰの組み合わせで禁止符号が生じてしまうという不具合が発生する。
【００１９】
また、特許文献１と特許文献２の発明の暗号化対象は、図４のボディのデータ中の連続するｎバイトを想定しているため、プリシンクトサイズを小さくすると、その連続するバイト列の長さが１バイトになってしまう。このような場合に、特許文献１と特許文献２の発明では、数バイトのブロック列で暗号化する方式を採用しているため、暗号化後のデータサイズが元のデータサイズより著しく大きくなることがある。
【００２０】
さらに、特許文献１と特許文献２の発明では、前後の暗号化値と暗号化前の符号値とを組み合わせて判断するという処理と、その処理により暗号化された符号を復号可能にすることを保証するために、ＤＥＳやＡＥＳなどの一般的な暗号方式を用いることはできず、特殊な暗号化方式を用いなければならず、その暗号方式が限定されるため容易に暗号化が破られる可能性が高くなる。そのうえ、特許文献２の発明では、暗号化されたブロック値を用い、復号処理時に暗号化された符号か暗号化されてない符号かを判断する必要があるため、特殊な信号変換、例えば元の値をそのものに写像する変換を用いなければならないという問題もある。
【００２１】
本発明は以上の問題に鑑みてなされたものであり、その目的は、ＤＥＳやＡＥＳなどの公知の暗号方式を用いて、禁止符号を含んだ対象データであっても、その暗号化処理において新たな禁止符号のマーカコードを発生させない情報処理装置又は情報処理方法を提供することにある。
【課題を解決するための手段】
【００２２】
請求項１記載の発明に係る情報処理装置は、
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択手段と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理手段と、
前記暗号化処理手段に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御手段とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果と、該暗号化対象の直前に選択された暗号化対象についての暗号化処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする。
【００２３】
請求項２記載の発明に係る情報処理装置は、
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択手段と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理手段と、
前記暗号化処理手段に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御手段とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は
該暗号化対象についての暗号化処理結果と、該暗号化対象の直前に選択された暗号化対象についての暗号化処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果と、前記符号データにおける該暗号化対象の次に位置する符号との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする。
【００２４】
請求項３記載の発明は、請求項１又は２に記載の発明に係る情報処理装置において、前記暗号化対象選択手段は、前記符号データにおける暗号化対象として未選択の残りの符号のサイズが前記一定サイズ未満のときには、該残りの符号を暗号化対象として選択しないことを特徴とする。
【００２５】
請求項４記載の発明は、請求項１又は２に記載の発明に係る情報処理装置において、前記暗号化対象選択手段は、前記符号データにおける暗号化対象として未選択の残りの符号のサイズが前記一定サイズ未満であっても該残りの符号を暗号化対象として選択することを特徴とする。
【００２６】
請求項５記載の発明は、請求項１乃至４のいずれか１項に記載の発明に係る情報処理装置において、前記符号データはＪＰＥＧ２０００の符号データであり、前記禁止符号はＪＰＥＧ２０００におけるＦＦ９０ｈからＦＦＦＦｈまでのマーカコードの一部を含む符号であることを特徴とする。
【００２７】
請求項６記載の発明は、請求項１乃至５のいずれか１項に記載の発明に係る情報処理装置において、前記暗号化処理手段が共通鍵暗号方式に従った暗号化処理を行うことを特徴とする。
【００２８】
請求項７記載の発明は、請求項１乃至５のいずれか１項に記載の発明に係る情報処理装置において、前記暗号化処理手段がストリーム暗号方式に従った暗号化処理を行うことを特徴とする。
【００２９】
請求項８記載の発明に係る情報処理装置は、
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択手段と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理手段と、
前記暗号化処理手段に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御手段とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果の下位バイトが前記禁止符号の上位バイトと一致すると判定したとき、であることを特徴とする。
【００３０】
請求項９記載の発明は、請求項８記載の発明に係る情報処理装置において、前記暗号化対象選択手段は、前記符号データにおける暗号化対象として未選択の残りの符号のサイズが前記一定サイズ未満のときには、該残りの符号を暗号化対象として選択しないことを特徴とする。
【００３１】
請求項１０記載の発明は、請求項８記載の発明に係る情報書装置において、前記暗号化対象選択手段は前記符号データにおける暗号化対象として未選択の残りの符号のサイズが前記一定サイズ未満であっても該残りの符号を暗号化対象として選択することを特徴とする。
【００３２】
請求項１１記載の発明は、請求項８乃至１０のいずれか１項に記載の発明に係る情報処理装置において、前記符号データはＪＰＥＧ２０００の符号データであり、前記禁止符号はＪＰＥＧ２０００におけるＦＦ９０ｈからＦＦＦＦｈまでのマーカコードの一部を含む符号であることを特徴とする。
【００３３】
請求項１２記載の発明は、請求項８乃至１１のいずれか１項に記載の発明に係る情報処理装置において、前記暗号化処理手段が、共通鍵暗号方式に従った暗号化処理を行うことを特徴とする。
【００３４】
請求項１３記載の発明は、請求項８乃至１１のいずれか１項に記載の発明に係る情報処理装置において、前記暗号化処理手段がストリーム暗号方式に従った暗号化処理を行うことを特徴とする。
【００３５】
請求項１４記載の発明に係る情報処理装置は、
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択手段と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理手段と、
前記復号処理手段に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御手段と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、該復号対象の直前に選択された復号対象についての復号処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする。
【００３６】
請求項１５記載の発明に係る情報処理装置は、
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択手段と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理手段と、
前記復号処理手段に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御手段と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、該復号対象の直前に選択された復号対象についての復号処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、前記符号データにおける該復号対象の次に位置する符号との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする。
【００３７】
請求項１６記載の発明は、請求項１４又は１５に記載の発明に係る情報処理装置において、前記復号対象選択手段は、前記符号データにおける復号対象として未選択の残りの符号のサイズが前記一定サイズ未満のときには、該残りの符号を復号対象として選択しないことを特徴とする。
【００３８】
請求項１７記載の発明は、請求項１４又は１５に記載の発明に係る情報処理装置において、前記復号対象選択手段は、前記符号データにおける復号対象として未選択の残りの符号のサイズが前記一定サイズ未満であっても該残りの符号を復号対象として選択することを特徴とする。
【００３９】
請求項１８記載の発明は、請求項１４乃至１７のいずれか１項に記載の発明に係る情報処理装置において、前記符号データは暗号化されたＪＰＥＧ２０００の符号データであり、前記禁止符号はＪＰＥＧ２０００におけるＦＦ９０ｈからＦＦＦＦｈまでのマーカコードの一部を含む符号であることを特徴とする。
【００４０】
請求項１９記載の発明は、請求項１４乃至１８のいずれか１項に記載の発明に係る情報処理装置において、前記復号処理手段が共通鍵暗号方式に従った復号処理を行うことを特徴とする。
【００４１】
請求項２０記載の発明は、請求項１４乃至１８のいずれか１項に記載の発明に係る情報処理装置において、前記復号処理手段がストリーム暗号方式に従った復号処理を行うことを特徴とする。
【００４２】
請求項２１記載の発明に係る情報処理装置は、
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択手段と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理手段と、
前記復号処理手段に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御手段と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御手段において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果の下位バイトが前記禁止符号の上位バイトと一致すると判定したとき、であることを特徴とする。
【００４３】
請求項２２記載の発明は、請求項２１記載の発明に係る情報処理装置において、前記復号対象選択手段は、前記符号データにおける復号対象として未選択の残りの符号のサイズが前記一定サイズ未満のときには、該残りの符号を復号対象として選択しないことを特徴とする。
【００４４】
請求項２３記載の発明は、請求項２１記載の発明に係る情報処理装置において、前記復号対象選択手段は、前記符号データにおける復号対象として未選択の残りの符号のサイズが前記一定サイズ未満であっても該残りの符号を復号対象として選択することを特徴とする。
【００４５】
請求項２４記載の発明は、請求項２１乃至２３のいずれか１項に記載の発明に係る情報処理装置において、前記符号データは暗号化されたＪＰＥＧ２０００の符号データであり、前記禁止符号はＪＰＥＧ２０００におけるＦＦ９０ｈからＦＦＦＦｈまでのマーカコードの一部を含む符号であることを特徴とする。
【００４６】
請求項２５記載の発明は、請求項２１乃至２４のいずれか１項に記載の発明に係る情報処理装置において、前記復号処理手段が共通鍵暗号方式に従った復号処理を行うことを特徴とする。
【００４７】
請求項２６記載の発明は、請求項２１乃至２４のいずれか１項に記載の発明に係る情報処理装置において、前記復号処理手段がストリーム暗号方式に従った復号処理を行うことを特徴とする。
【００４８】
請求項２７記載の発明に係る情報処理方法は、
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択工程と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理工程と、
前記暗号化処理工程に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御工程とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果と、該暗号化対象の直前に選択された暗号化対象についての暗号化処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする。
【００４９】
請求項２８記載の発明に係る情報処理方法は、
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択工程と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理工程と、
前記暗号化処理工程に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御工程とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は
該暗号化対象についての暗号化処理結果と、該暗号化対象の直前に選択された暗号化対象についての暗号化処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果と、前記符号データにおける該暗号化対象の次に位置する符号との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする。
【００５０】
請求項２９記載の発明に係る情報処理方法は、
所定の禁止符号が含まれている可能性がある符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を暗号化対象として順次選択する暗号化対象選択工程と、
前記各暗号化対象に対する暗号化処理又は暗号化処理結果に対する暗号化処理を行う暗号化処理工程と、
前記暗号化処理工程に対し、前記暗号化対象についての暗号化処理結果に関し所定の条件が成立するときに該暗号化処理結果に対する暗号化処理を実行させる制御を行う制御工程とを有し、
前記暗号化対象についての暗号化処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該暗号化対象についての暗号化処理結果に前記禁止符号が存在すると判定したとき、
又は、
該暗号化対象についての暗号化処理結果の下位バイトが前記禁止符号の上位バイトと一致すると判定したとき、であることを特徴とする。
【００５１】
請求項３０記載の発明に係る情報処理方法は、
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択工程と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理工程と、
前記復号処理工程に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御工程と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、該復号対象の直前に選択された復号対象についての復号処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする。
【００５２】
請求項３１記載の発明に係る情報処理方法は、
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択工程と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理工程と、
前記復号処理工程に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御工程と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、該復号対象の直前に選択された復号対象についての復号処理結果との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果と、前記符号データにおける該復号対象の次に位置する符号との所定の組み合わせ中に前記禁止符号が存在すると判定したとき、であることを特徴とする。
【００５３】
請求項３２記載の発明に係る情報処理方法は、
所定の禁止符号が含まれている可能性がある、暗号化された符号データから、その先頭より順に、前記禁止符号を含まない一定サイズの符号を復号対象として順次選択する復号対象選択工程と、
前記各復号対象に対する復号処理又は復号処理結果に対する復号処理を行う復号処理工程と、
前記復号処理工程に対し、前記復号対象についての復号処理結果に関し所定の条件が成立するときに該復号処理結果に対する復号処理を実行させる制御を行う制御工程と、を有し、
前記復号対象についての復号処理結果に関し前記所定の条件が成立するときとは、前記制御工程において、
該復号対象についての復号処理結果に前記禁止符号が存在すると判定したとき、
又は、
該復号対象についての復号処理結果の下位バイトが前記禁止符号の上位バイトと一致すると判定したとき、であることを特徴とする。
【００５４】
請求項３３記載の発明に係るプログラムは、請求項１乃至２６のいずれか１項に記載の発明に係る情報処理装置の各手段としてコンピュータを機能させることを特徴とする。
【００５５】
請求項３４記載の発明に係るプログラムは、請求項２７乃至３２のいずれか１項に記載の情報処理方法の各工程をコンピュータに実行させることを特徴とする。
【００５６】
請求項３５記載の発明に係るコンピュータ読み取り可能な記録媒体は、請求項３３又は３４に記載のプログラムが記録されていることを特徴とする。
【００５７】
請求項３６記載の発明に係る情報処理装置は、
所定の禁止符号が含まれている符号データを暗号化して暗号化データを生成する情報処理装置であって、
前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つことを特徴とする。
【００５８】
請求項３７記載の発明に係る情報処理方法は、
所定の禁止符号が含まれている符号データを暗号化して暗号化データを生成する情報処理方法であって、
前記暗号化データ中の前記禁止符号の位置及び個数を前記符号データ中の前記禁止符号の個数及び位置と同一に保つことを特徴とする。
【００５９】
請求項３８記載の発明に係る情報処理装置は、
所定の禁止符号が含まれている符号データをブロック暗号化して暗号化データを生成する情報処理装置であって、
前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つとともに、全てのブロック暗号値の下位の所定数バイトの値を前記禁止符号の上位の所定数バイトの値と一致させないことを特徴とする。
【００６０】
請求項３９記載の発明に係る情報処理方法は、
所定の禁止符号が含まれている符号データをブロック暗号化して暗号化データを生成する情報処理方法であって、
前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つとともに、全てのブロック暗号値の下位の所定数バイトの値を前記禁止符号の上位の所定数バイトの値と一致させないことを特徴とする。
【発明の効果】
【００６１】
本発明に係る情報処理装置又は情報処理方法によれば、ＤＥＳやＡＥＳなどの公知の暗号方式を用いて、禁止符号のマーカコードを含む符号データであっても、新たな禁止符号のマーカコードを発生させない暗号化及びその暗号化データの復号が可能になる等の効果を得られる。
【発明を実施するための最良の形態】
【００６２】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００６３】
まず、用いる暗号方式としてＤＥＳを例として考える。ＤＥＳの基本的な動作は、
（１）データを６４ビット長のブロックに分割する
（２）各ブロックを５６ビット長のカギで暗号化する
の２つだが、ブロックとカギの使い方によってＥＣＢ、ＣＢ、ＯＦＢ、ＣＦＢの４つのモードがある。
【００６４】
ＤＥＳの基本型と言えるモードがＥＣＢ（Electronic  Code  Block）である。上で述べた基本動作がそのまま行われる。つまり、データをブロックに分割した後、各ブロックを秘密カギで暗号化し、それらのブロックを元の順番でつなぎ合わせる。
【００６５】
ＣＢＣ（Cipher  Block  Chaining）は、暗号化された前ブロックと、まだ暗号化されていない現在のブロックとのＸＯＲ（排他的論理和）をとり、これを秘密カギで暗号化するモードである。“Chaining（連鎖）”という言葉が使われているように、各ブロックの暗号化が「連鎖的」に進められる。
【００６６】
一方、ＣＦＢ（Cipher  Feedback）は、前ブロックの暗号化結果の１部（ｍビット）が次ブロックのｍビットとＸＯＲをとる値としてフィードバックされるモードである。したがってＣＢＣとＣＦＢでは、ブロック内で発生したビット・エラーが、以降のブロックの暗号化に影響を与えることになる。
【００６７】
ＯＦＢ（Output  Feedback）は、ある初期値を第１ブロックとして暗号文を生成し、その暗号文（の１部）を次の暗号文の入力として用いると同時にその１部（ｍビット）を乱数として対応するｍビットのデータとＸＯＲ
をとるモードである。この仕組みによりブロック内のビット・エラーが、ほかのブロックを暗号化する際に影響を及ぼさない。“Output  Feedback（出力フィードバック）”という名前は、前ブロックで生成された暗号文出力を次ブロックで使用する暗号文出力を生成させるためのパラメータとして、フィードバックさせることに由来している。
【００６８】
上記各モードにおいて、ｍビットを適切に選択することにより、任意のビット長毎の暗号化を実現できる。
【００６９】
本発明に係る情報処理装置又は情報処理方法は、例えば図３に示すような構成のコンピュータシステム上でソフトウェアによって実現される。ただし、本発明の実施のために図３に示す機能全てが必須という訳ではない。
【００７０】
図３において、コンピュータ３０１は、一般に普及しているパーソナルコンピュータであり、スキャナ等の画像入力装置３１７から読み取られた画像を入力し、編集や保管を行うことが可能である。また、画像入力装置３１７で得られた画像をプリンタ３１６によって印刷させることができる。なお、ユーザからの各種指示等は、マウス３１３、キーボード３１４の入力操作により行われる。
【００７１】
コンピュータ３０１の内部では、バス３０７により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。図３において、ＭＰＵ３０２は、コンピュータ３０１内部の各ブロックの動作を制御し、あるいは内部に記憶されたプログラムを実行することができる。主記憶装置３０３は、ＭＰＵ３０２において行われる処理のために、一時的にプログラムや処理対象の画像データを格納しておく装置である。ハードディスク（ＨＤＤ）３０４は、主記憶装置３０３等に転送されるプログラムや画像データをあらかじめ格納したり、処理後の画像データを保存することのできる装置である。
【００７２】
スキャナインタフェース（Ｉ／Ｆ）３１５は、原稿やフィルム等を読み取って、画像データを生成するスキャナ３１７と接続され、スキャナ３１７で得られた画像データを入力することのできるＩ／Ｆである。プリンタインタフェース３０８は、画像データを印刷するプリンタ３１６と接続され、印刷画像データをプリンタ３１６に送信することのできるＩ／Ｆである。
【００７３】
ＣＤドライブ３０９は、外部記憶媒体の一つであるＣＤ（ＣＤ−Ｒ／ＣＤ−ＲＷ）に記憶されたデータを読み込み、あるいは書き出すことができる装置である。ＦＤＤドライブ３１１は、ＣＤドライブ３０９と同様にＦＤＤからの読み込みや、ＦＤＤへの書き出しをすることができる装置である。ＤＶＤドライブ３１０は、ＦＤＤドライブ３１１と同様に、ＤＶＤからの読み込みや、ＤＶＤへの書き出しをすることができる装置である。なお、ＣＤ、ＦＤＤ、ＤＶＤ等の媒体に画像編集用のプログラム、あるいはプリンタドライバが記憶されている場合には、これらプログラムをＨＤＤ３０４上にインストールし、必要に応じて主記憶装置３０３に転送されるようになっている。
【００７４】
インタフェース（Ｉ／Ｆ）３１２は、マウス３１３やキーボード３１４からの入力指示を受け付けるために、これらと接続されるＩ／Ｆである。また、モニタ３０６は、各種情報や処理過程等を表示することのできる表示装置である。さらに、ビデオコントローラ３０５は、表示データをモニタ３０６に送信するための装置である。
【００７５】
なお、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、単独の機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【００７６】
以下、本発明のいくつかの実施形態について順次説明する。
【００７７】
［第１の実施形態］
図５は、本発明の第１の実施形態を説明するためのフローチャートである。このフローチャートは、情報処理方法の処理手順を示すと同時に情報処理装置の機能的構成を示すものである。
【００７８】
図５に示される処理フローは、図３に示すコンピュータシステムにおいて、特にマウス３１３やキーボード３１４からの入力指示により主記憶装置３０３にロードされたプログラムをＭＰＵ３０２などで実行することによって実現される。以下、図５に沿って処理内容を説明する。
【００７９】
まず、ＪＰＥＧ２０００ストリーム中の処理すべきｎバイトを定める（ステップＳ５０１）。ここでは、ＦＦ９０ｈからＦＦＦＦｈまでのマーカコードが含まれる符号化データの中の連続するｎバイトを想定する。なお、そのＪＰＥＧ２０００ストリームは、ハードディスク３０４に予め記憶されている場合、ＣＤドライブ３０９、ＤＶＤドライブ３１０、ＦＤＤドライブ３１１などにセットされた記憶媒体に記憶されている場合、主記憶装置３０３にロードされたＪＰＥＧ２０００圧縮プログラムをＭＰＵ３０２などで実行して生成される場合、図３に不図示のネットワークを介して受信される場合等がある。
【００８０】
現在の処理位置（これを指すポインタがある）から連続した３バイトの符号を選択し、その３バイト中にＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）があるかどうかを調べる（ステップＳ５２０）。
【００８１】
禁止符号があれば（ステップＳ５２０，Ｙｅｓ）、この３バイト中に含まれる禁止符号の次バイトを指すようにポインタを移動させる（ステップＳ５２１）。禁止符号がなければ（ステップＳ５２０，Ｎｏ）、ポインタは現在の位置に維持される。ポインタの指すバイト位置からの２バイトが次ステップＳ５０２での暗号化処理の対象となる。したがって、３バイト中に禁止符号化が存在しないときには３バイト中の前側の２バイトが暗号化対象として選択されるということであり、３バイト中に禁止符号が存在したときには、その禁止符号の次バイトからの２バイトが暗号化対象として選択されるということである。このように禁止符号は暗号化対象として選択されず、暗号化後も禁止符号はその位置に残される。このように元々存在した禁止符号をその位置に残すことにより、暗号化後のデータにおいて、それを復号することなく、タイルのデータサイズ等の情報を得ることが可能になる。
【００８２】
次に、暗号化対象として選択された２バイト、つまり、ポインタの指すバイト位置からの２バイトを暗号化する（ステップＳ５０２）。この暗号化は、前述したＤＥＳのＣＦＢやＯＦＢなどのモードを用いて実行できる。
【００８３】
次に、暗号化結果に関する条件判定を行うことにより、当該２バイトに対する暗号化処理を終了させるか、あるいは、暗号化結果の再暗号化（多重暗号化）を行わせるか否かの制御を行う。
【００８４】
本実施形態の第１の実施例では、まず、暗号化対象の２バイトに対する暗号化結果がＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）であるかどうかを調べ（ステップＳ５０３）、禁止符号であれば、暗号化結果の再暗号化（多重暗号化）を行わせるためステップＳ５０２の処理に戻す制御を行う。一方、暗号化結果が禁止符号でない場合（ステップＳ６０３，Ｎｏ）、１前の暗号化結果の後半１バイトと、現在の暗号結果の前半１バイトをつなげて１つの符号（ここでは連結暗号化符号と呼ぶ）とし、それが禁止符号でないか調べる（ステップＳ５０４）。連結暗号化符号が禁止符号であれば（ステップＳ５０４，Ｙｅｓ）、暗号化結果の再暗号化のためにステップＳ５０２の処理に戻る制御を行う。連結暗号化符号が禁止符号でなければ（ステップＳ５０４，Ｎｏ）、暗号化対象の２バイトに対する暗号化処理を終了させる。なお、２回目以降の暗号化結果についても同様の判定と制御が行われる。このように、第１の実施例では、暗号化結果又は再暗号化結果が禁止符号である（条件１）、又は、連結暗号化符号が禁止符号である（条件２）のいずれかが成立するときに再暗号化させ、そのいずれの条件も不成立のときに暗号化処理を終了させる制御を行う。条件２の判定を行うのは、ＪＰＥＧ２０００ストリームの最小単位は１バイトであるので、暗号化によって、前後に連接された形で禁止符号が生じることを防ぐためである。なお、最初に暗号化対象として選択された２バイトの場合、その前の暗号化結果は存在しないので、条件２についての判定ステップＳ５０４はスキップされることになる（条件不成立とされる）。
【００８５】
また、図示しないが、本実施形態の第２の実施例では、ステップＳ５０３の後又はステップＳ５０４の後に、暗号化結果の下位１バイトと次の暗号化前符号の組み合わせが禁止符号でないかの条件判定のステップを追加し、この条件が成立する場合にも再暗号化を行わせるように制御する。
【００８６】
さて、暗号化対象に選択された２バイトに対する暗号化処理が終了すると、今回暗号化処理された２バイトの先に未処理データが２バイト残っていないかを調べる（ステップＳ５０５）。残りのデータが２バイト以上あるならば（ステップＳ５０５，Ｎｏ）、ポインタを２バイト先へ移動させ（ステップＳ５０８）、ステップＳ５２０へ戻り、禁止符号を含まない２バイトを暗号化対象として選択する処理と、その暗号化処理を実行する。
【００８７】
ステップＳ５０５で２バイトの残りデータが存在しないと判定したとき、つまり、残りデータが０バイト又は１バイトの場合、処理は終了する。残りデータが１バイトならば、その１バイトは暗号化対象とはされず、そのまま残される。
【００８８】
ここで、図５中の処理ステップと本実施形態に係る情報処理方法の工程又は情報処理装置の手段との対応であるが、ステップＳ５２０，Ｓ５２１，Ｓ５０４，Ｓ５０８が「暗号化対象選択工程又は暗号化対象選択手段」に対応し、ステップＳ５０２が「暗号化処理工程又は暗号化処理手段」に対応し、ステップＳ５０３，Ｓ５０４が「制御工程又は制御手段」に対応する。
【００８９】
なお、図５においては、暗号化対象に対する最初の暗号化も、条件判定ステップＳ５０３又はＳ５０４で条件が成立したときの再暗号化も共通のステップＳ５０２（共通の手段）で行われるものとして示されている。しかし、暗号化対象に対する最初の暗号化ステップ（手段）、条件判定ステップＳ５０３で条件が成立したときの再暗号化のステップ（手段）、条件判定ステップＳ５０４で条件が成立したときの再暗号化のステップ（手段）を独立させることも可能である。このように暗号化処理の工程を複数の工程に分割した態様、あるいは暗号化処理の手段を複数の手段に分割した態様も本実施形態に包含される。
【００９０】
また、暗号化対象に対する初回の暗号化結果に対する条件判定と再暗号化結果に対する条件判定とを共通のステップＳ５０３，Ｓ５０４（手段）で行うものとしたが、初回の暗号化結果に対する条件判定ステップ（手段）と、再暗号化結果に対する条件判定ステップ（手段）とを独立されることも可能である。このように条件判定の工程を複数の工程に分割した態様、あるいは、条件判定の手段を複数の手段に分割した態様も本実施形態に包含される。
【００９１】
また、図５のステップＳ５０５で次の２バイトが存在しないと判定された場合に、残りバイトが１バイトであるかの判定を行い、残りバイトが１バイトのときに、その１バイトを暗号化対象として選択し暗号化処理を行うようにしてもよい。この場合、残り１バイトであることを判定し、その１バイトを暗号化対象とするステップも「暗号化対象選択工程又は手段」に含まれる。ただし、その暗号化結果又は再暗号化結果に対してはステップＳ５０４の条件判定のみを行う。かかる態様も本実施形態に含まれる。
【００９２】
［第２の実施形態］
図６は、本発明の第２の実施形態を説明するためのフローチャートである。このフローチャートは、情報処理方法の処理手順を示すと同時に情報処理装置の機能的構成を示すものである。本実施形態は、前記第１の実施形態に係る情報処理方法又は情報処理装置によって暗号化されたＪＰＥＧ２０００ストリームの復号処理を行うものである。
【００９３】
図６に示される処理フローは、図３に示すコンピュータシステムにおいて、特にマウス３１３やキーボード３１４からの入力指示により主記憶装置３０３にロードされたプログラムをＭＰＵ３０２などで実行することによって実現される。以下、図６に沿って処理内容を説明する。なお、処理開始前に変数Ｂは０に初期設定される。
【００９４】
まず、ＪＰＥＧ２０００ストリーム中の復号したいｎバイトを定める（ステップＳ６０１）。このｎバイトとは、前記第１の実施形態に従って暗号化された部分であり、その部分は予め分かっているものとする。なお、この暗号化されたＪＰＥＧ２０００ストリームは、ハードディスク３０４に予め記憶されている場合、ＣＤドライブ３０９、ＤＶＤドライブ３１０、ＦＤＤドライブ３１１などにセットされた記憶媒体に記憶されている場合、主記憶装置３０３にロードされたＪＰＥＧ２０００圧縮プログラムと前記第１の実施形態による暗号化プログラムをＭＰＵ３０２などで実行することにより生成される場合、図３に不図示のネットワークを介して受信される場合等がある。
【００９５】
現在の処理位置（これを指すポインタがある）から連続した３バイトの符号を選択し、その３バイト中にＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）があるかどうかを調べる（ステップＳ６２０）。
【００９６】
禁止符号があれば（ステップＳ６２０，Ｙｅｓ）、この３バイト中に含まれる禁止符号の次バイトを指すようにポインタを移動させる（ステップＳ６２１）。禁止符号がなければ（ステップＳ６２０，Ｎｏ）、ポインタは現在の位置に維持される。ポインタの指すバイト位置からの２バイトがステップＳ６０４での復号処理の対象となる。したがって、３バイト中に禁止符号化が存在しないときには３バイト中の前側の２バイトが復号対象として選択されるということであり、３バイト中に禁止符号が存在したときには、その禁止符号の次バイトからの２バイトが復号対象として選択されるということである。
【００９７】
このようにして復号対象の２バイトが選択されると、その２バイトの後半１バイトを変数Ｄに保存する（ステップＳ６２２）。
【００９８】
次に、復号対象として選択された２バイト、つまり、ポインタの指すバイト位置からの２バイトを復号する（ステップＳ６０４）。この復号は前述したＤＥＳのＣＦＢやＯＦＢなどのモードを用いて実行できる。
【００９９】
次に、復号結果に関する条件判定を行うことにより、当該２バイトに対する復号処理を終了させるか、又は、復号結果の再復号（多重復号）を行わせるか否かの制御を行う。
【０１００】
本実施形態の第１の実施例では、２つの条件判定（ステップＳ６０５，Ｓ６０６）を行う。
【０１０１】
まず、復号対象の２バイトに対する復号結果がＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）であるかどうかを調べ（ステップＳ６０５）、禁止符号であれば復号結果の再復号（多重復号）を行わせるためステップＳ６０４の処理に戻す制御を行う。これは、前記第１の実施形態では、禁止符号は暗号化対象とせず、暗号化結果が禁止符号となったときには多重暗号化するため、復号結果が禁止符号であるということは、その復号対象の２バイトは多重暗号化されているということであるので多重復号する必要があるからである。
【０１０２】
復号結果が禁止符号でない場合（ステップＳ６０５，Ｎｏ）、その復号結果の前半１バイトの前に変数Ｂの内容を連接させた符号（ここではＢ連結符号と呼ぶ）が禁止符号であるかを調べる（ステップＳ６０６）。Ｂ連結符号が禁止符号ならば（ステップＳ６０６，Ｙｅｓ）、復号結果の再復号を行わせるためステップＳ６０４の処理に戻す制御を行う。復号Ｂ連結符号が禁止符号でないならば（ステップＳ６０６，Ｎｏ）、復号対象の２バイトに対する復号処理を終了させる。
【０１０３】
なお、２回目以降の復号結果についても同様の判定と制御が行われる。このように、第１の実施例では、復号結果又は再復号結果が禁止符号である（条件１）、又は、Ｂ連結符号が禁止符号である（条件２）のいずれかが成立するときに再復号を行わせ、そのいずれの条件も不成立のときに復号処理を終了させる制御を行う。
【０１０４】
図示しないが、本実施形態の第２の実施例では、ステップＳ６０５の後又はステップＳ６０６の後に、復号結果の下位１バイトと次の復号前符号の組み合わせが禁止符号でないかの条件判定のステップを追加し、この条件が成立する場合にも再復号を行わせるように制御する。
【０１０５】
図６のフローに戻る。最初に復号対象に選ばれた２バイトに対する復号の場合、変数Ｂ＝０であるのでＢ連結符号は禁止符号となることはないため、ステップＳ６０５で禁止符号でないと判定された場合には必ず当該２バイトに対する復号処理を終了させる制御が行われステップＳ６０７に進む。
【０１０６】
このステップＳ６０７で、今回復号された２バイトの先に未処理データが２バイト残っていないかを調べる。残りのデータが１バイト又は０バイトの場合、処理は終了する。残りデータが１バイトならば、その１バイトは復号対象とはされず、そのまま残される。
【０１０７】
残りのデータが２バイト以上あるならば（ステップＳ６０７，Ｎｏ）、ポインタを２バイト先へ移動させ（ステップＳ６１０）、変数Ｂに変数Ｄの内容（ステップＳ６２２で保存された１バイト）を代入し（ステップＳ６１１）、ステップＳ６２０に戻る。
【０１０８】
禁止符号を含まない新たな２バイトを復号対象として選択し（ステップＳ６２０，Ｓ６２１）、復号対象の２バイトの後半１バイトを変数Ｄに保存し（ステップＳ６２２）、復号対象の２バイトを復号する（ステップＳ６０４）。復号結果がＦＦ９０ｈからＦＦＦＦｈまでの禁止符号でなければ（ステップＳ６０５，Ｎｏ）、Ｂ連結符号が禁止符号であるか調べる（ステップＳ６０６）。例えば、前回の復号対象２バイトの後半１バイトがＦＦｈで、これがステップＳ６２２で変数Ｄに代入され、ステップＳ６１１で変数ＢにＦＦｈが代入されている場合、今回の復号対象に対する復号結果の前半１バイトの前にＦＦｈを連接したＢ連結符号が禁止符号であるかを調べることになる。
【０１０９】
Ｂ連結符号が禁止符号であるときには（ステップＳ６０６，Ｙｅｓ）、再復号を行わせるためステップＳ６０４の処理に戻す制御を行う。これは、前記第１の実施形態において説明したように、ＪＰＥＧ２０００ストリームの最小単位は１バイトであるので、前後に連接された形でも禁止符号が存在することを防ぐためである。
【０１１０】
ここで、図６中の処理ステップと本実施形態に係る情報処理方法の工程又は情報処理装置の手段との対応であるが、ステップＳ６２０，Ｓ６２１，Ｓ６０７，Ｓ６１０が「復号対象選択工程又は復号対象選択手段」に対応し、ステップＳ６０４が「復号処理工程又は復号処理手段」に対応し、ステップＳ６０４，Ｓ６０６が「制御工程又は制御手段」に対応する。
【０１１１】
なお、図６においては、復号対象に対する最初の復号も、条件判定ステップＳ６０４又はＳ６０５で条件が成立したときの再復号も共通のステップＳ６０４（共通の手段）で行われるものとして示されている。しかし、復号対象に対する最初の復号ステップ（手段）、条件判定ステップＳ６０５で条件が成立したときの再復号のステップ（手段）、条件判定ステップＳ６０６で条件が成立したときの再復号のステップ（手段）を独立させることも可能である。このように復号処理の工程を複数の工程に分割した態様、あるいは、復号処理の手段を複数の手段に分割した態様も本実施形態に包含される。
【０１１２】
また、復号対象に対する初回の復号結果に対する条件判定と再復号結果に対する条件判定とを共通のステップＳ６０５，Ｓ６０６（手段）で行うものとしたが、初回の復号結果に対する条件判定ステップ（手段）と、再復号結果に対する条件判定ステップ（手段）とを独立されることも可能である。このように条件判定の工程を複数の工程に分割した態様、あるいは、条件判定の手段を複数の手段に分割した態様も本実施形態に包含される。
【０１１３】
また、図６のステップＳ６０７で次の２バイトが存在しないと判定された場合に、残りバイトが１バイトであるかの判定を行い、残りバイトが１バイトのときに、その１バイトを復号対象として選択し復号処理を行うようにしてもよい（ただし、暗号化時に残り１バイトについて暗号化される場合）。この場合、残りバイトが１バイトであることを判定し、該１バイトを復号対象として選択するステップも「復号対象選択工程又は手段」に含まれる。ただし、残り１バイトについての復号結果又は再復号結果に対してはステップＳ６０６の条件判定のみを行う。かかる態様も本実施形態に含まれる。
【０１１４】
［第３の実施形態］
図７は、本発明の第３の実施形態を説明するためのフローチャートである。このフローチャートは、情報処理方法の処理手順を示すと同時に情報処理装置の機能的構成を示すものである。
【０１１５】
図７に示される処理フローは、図３に示すコンピュータシステムにおいて、特にマウス３１３やキーボード３１４からの入力指示により主記憶装置３０３にロードされたプログラムをＭＰＵ３０２などで実行することによって実現される。
【０１１６】
なお、前記第１は又は第２の実施形態では、暗号化又は復号するｎバイトの連続した前後の符号を処理する場合を示した。本実施形態（及び後記第４の実施形態）では、暗号化（復号）するｎバイトが連続した符号中の処理符号のみの例を示す。
【０１１７】
まず、ＪＰＥＧ２０００ストリーム中の暗号化するｎバイトを定める（ステップＳ７０１）。ここではＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）が存在する符号化データの中のｎバイトを想定する。この元となるＪＰＥＧ２０００ストリームは、ハードディスク３０４に予め記憶されている場合、ＣＤドライブ３０９、ＤＶＤドライブ３１０、ＦＤＤドライブ３１１などにセットされた記憶媒体に記憶されている場合、主記憶装置３０３にロードされたＪＰＥＧ２０００圧縮プログラムをＭＰＵ３０２などで実行して生成される場合、図３に不図示のネットワークを介して受信される場合等がある。
【０１１８】
現在の処理位置（これを指すポインタがある）から連続した３バイトの符号を選択し、その３バイト中にＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）があるかどうかを調べる（ステップＳ７２０）。
【０１１９】
禁止符号があれば（ステップＳ７２０，Ｙｅｓ）、この３バイト中に含まれる禁止符号の次バイトを指すようにポインタを移動させる（ステップＳ７２１）。禁止符号がなければ（ステップＳ７２０，Ｎｏ）、ポインタは現在の位置に維持される。ポインタの指すバイト位置からの２バイトがステップＳ７０２での暗号化処理の対象となる。したがって、３バイト中に禁止符号化が存在しないときには３バイト中の前側の２バイトが暗号化対象として選択されるということであり、３バイト中に禁止符号が存在したときには、その禁止符号の次バイトからの２バイトが暗号化対象として選択されるということである。このように禁止符号は暗号化対象として選択されず、暗号化後も禁止符号はその位置に残される。このように元々存在した禁止符号をその位置に残すことにより、暗号化後のデータにおいて、それを復号することなく、タイルのデータサイズ等の情報を得ることが可能になる。
【０１２０】
次に、暗号化対象として選択された２バイト、つまり、ポインタの指すバイト位置からの２バイトを暗号化する（ステップＳ７０２）。この暗号化は、前述したＤＥＳのＣＦＢやＯＦＢなどのモードを用いて実行できる。
【０１２１】
次に、暗号化結果に関する条件判定を行うことにより、当該２バイトに対する暗号化処理を終了させるか、あるいは、暗号化結果の再暗号化（多重暗号化）を行わせるか否かの制御を行う。
【０１２２】
本実施形態の第１の実施例では、まず、暗号化対象の２バイトに対する暗号化結果がＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）であるかどうかを調べ（ステップＳ７０３）、禁止符号であれば、暗号化結果の再暗号化（多重暗号化）を行わせるためステップＳ７０２の処理に戻す制御を行う。ステップＳ７０３で暗号化結果が禁止符号でないと判定した場合（ステップＳ７０３，Ｎｏ）、暗号化結果の後半１バイト（下位暗号化符号と呼ぶ）が禁止符号の上位バイト（上位禁止符号と呼ぶ。）であるかを調べる（ステップＳ７０４）。ＪＰＥＧ２０００の場合、禁止符号の上位バイトはＦＦｈである。そして、下位暗号化符号が上位禁止符号であるならば（ステップＳ７０４，Ｙｅｓ）、暗号化結果の再暗号化を行わせるためにステップＳ７０２の処理に戻す制御を行う。下位暗号化符号が上位禁止符号でなければ（ステップＳ７０４，Ｎｏ）、当該２バイトに対する符号化処理を終了させる。これは、ＪＰＥＧ２０００ストリームの禁止符号はＦＦｈで始まるため、ＦＦで始まらなければ次にどのような値がきても禁止符号となることはないからである。
【０１２３】
本実施形態の第２の実施例では、ステップＳ７０４とステップＳ７０３の先後を逆にして条件判定を行う。したがって、下位暗号化符号が上位禁止符号であるときに再暗号させる制御を行い、下位暗号化符号が上位禁止符号でないが暗号化結果が禁止符号であるときにも再暗号させる制御を行い、下位暗号化符号が上位禁止符号でなくかつ暗号化結果が禁止符号でないと判定されたときに暗号化対象２バイトに対する暗号化処理を終了させる、という制御になる。
【０１２４】
さて、暗号化対象に選択された２バイトに対する暗号化処理が終了すると、今回暗号化処理された２バイトの先に未処理データが２バイト残っていないかを調べる（ステップＳ５０５）。残りのデータが２バイト以上あるならば（ステップＳ７０５，Ｎｏ）、ポインタを２バイト先へ移動させ（ステップＳ７０８）、ステップＳ７２０へ戻り、禁止符号を含まない２バイトを暗号化対象として選択する処理と、その暗号化処理を実行する。
【０１２５】
ステップＳ７０５で２バイトの残りデータが存在しないと判定したとき、つまり、残りデータが０バイト又は１バイトの場合、処理は終了する。残りデータが１バイトならば、その１バイトは暗号化対象とはされず、そのまま残される。
【０１２６】
ここで、図７中の処理ステップと本実施形態に係る情報処理方法の工程又は情報処理装置の手段との対応であるが、ステップＳ７２０，Ｓ７２１，Ｓ７０５，Ｓ７０６が「暗号化対象選択工程又は暗号化対象選択手段」に対応し、ステップＳ７０２が「暗号化処理工程又は暗号化処理手段」に対応し、ステップＳ７０３，Ｓ７０４が「制御工程又は制御手段」に対応する。
【０１２７】
なお、図７においては、暗号化対象に対する最初の暗号化も、条件判定ステップＳ７０３又はＳ７０４で条件が成立したときの再暗号化も共通のステップＳ７０２（共通の手段）で行われるものとして示されている。しかし、暗号化対象に対する最初の暗号化ステップ（手段）、条件判定ステップＳ７０３で条件が成立したときの再暗号化のステップ（手段）、条件判定ステップＳ７０４で条件が成立したときの再暗号化のステップ（手段）を独立させることも可能である。このように暗号化処理の工程を複数の工程に分割した態様、あるいは暗号化処理の手段を複数の手段に分割した態様も本実施形態に包含される。
【０１２８】
また、暗号化対象に対する初回の暗号化結果に対する条件判定と再暗号化結果に対する条件判定とを共通のステップＳ７０３，Ｓ７０４（手段）で行うものとしたが、初回の暗号化結果に対する条件判定ステップ（手段）と、再暗号化結果に対する条件判定ステップ（手段）とを独立されることも可能である。このように条件判定の工程を複数の工程に分割した態様、あるいは、条件判定の手段を複数の手段に分割した態様も本実施形態に包含される。
【０１２９】
また、図７のステップＳ７０５で次の２バイトが存在しないと判定された場合に、残りバイトが１バイトであるかの判定を行い、残りバイトが１バイトのときに、その１バイトを暗号化対象として選択して暗号化処理を行うようにしてもよい。この場合、残りバイトが１バイトであることを判定し、その１バイトを暗号化対象として選択するステップも「暗号化対象選択工程又は手段」に含まれる。かかる態様も本実施形態に含まれる。
【０１３０】
［第４の実施形態］
図８は、本発明の第４の実施形態を説明するためのフローチャートである。このフローチャートは、情報処理方法の処理手順を示すと同時に情報処理装置の機能的構成を示すものである。本実施形態は、前記第３の実施形態に係る情報処理方法又は情報処理装置によって暗号化されたＪＰＥＧ２０００ストリームの復号処理を行うものである。
【０１３１】
図８に示される処理フローは、図３に示すコンピュータシステムにおいて、特にマウス３１３やキーボード３１４からの入力指示により主記憶装置３０３にロードされたプログラムをＭＰＵ３０２などを用いて実行することによって実現される。以下、図８に沿って処理内容を説明する。
【０１３２】
まず、ＪＰＥＧ２０００ストリーム中の復号したいｎバイトを定める（ステップＳ８０１）。このｎバイトとは、前記第３の実施形態に従って暗号化された部分であり、その部分は予め分かっているものとする。なお、この暗号化されたＪＰＥＧ２０００ストリームは、ハードディスク３０４に予め記憶されている場合、ＣＤドライブ３０９、ＤＶＤドライブ３１０、ＦＤＤドライブ３１１などにセットされた記憶媒体に記憶されている場合、主記憶装置３０３にロードされたＪＰＥＧ２０００圧縮プログラムと前記第３の実施形態による暗号化プログラムをＭＰＵ３０２などで実行することにより生成される場合、図３に不図示のネットワークを介して受信される場合等がある。
【０１３３】
現在の処理位置（これを指すポインタがある）から連続した３バイトの符号を選択し、その３バイト中にＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）があるかどうかを調べる（ステップＳ８２０）。
【０１３４】
禁止符号があれば（ステップＳ８２０，Ｙｅｓ）、この３バイト中に含まれる禁止符号の次バイトを指すようにポインタを移動させる（ステップＳ８２１）。禁止符号がなければ（ステップＳ８２０，Ｎｏ）、ポインタは現在の位置に維持される。ポインタの指すバイト位置からの２バイトがステップＳ８０２での復号処理の対象となる。したがって、３バイト中に禁止符号化が存在しないときには３バイト中の前側の２バイトが復号対象として選択されるということであり、３バイト中に禁止符号が存在したときには、その禁止符号の次バイトからの２バイトが復号対象として選択されるということである。
【０１３５】
次に、復号対象として選択された２バイト、つまり、ポインタの指すバイト位置からの２バイトを復号する（ステップＳ８０２）。この復号は前述したＤＥＳのＣＦＢやＯＦＢなどのモードを用いて実行できる。
【０１３６】
次に、復号結果に関する条件判定を行うことにより、当該２バイトに対する復号処理を終了させるか、又は、復号結果の再復号（多重復号）を行わせるか否かの制御を行う。
【０１３７】
本実施形態の第１の実施例では、２つの条件判定（ステップＳ８０３，Ｓ８０４）を行う。
【０１３８】
まず、復号対象の２バイトに対する復号結果がＦＦ９０ｈからＦＦＦＦｈまでのマーカコード（禁止符号）であるかどうかを調べ（ステップＳ８０３）、禁止符号であれば復号結果の再復号（多重復号）を行わせるためステップＳ８０２の処理に戻す制御を行う。これは、前記第３の実施形態では、禁止符号は暗号化対象とせず、暗号化結果が禁止符号となったときには多重暗号化するため、復号結果が禁止符号であるということは、その復号対象の２バイトは多重暗号化されているということであるので多重復号する必要があるからである。
【０１３９】
復号結果が禁止符号でない場合（ステップＳ８０３，Ｎｏ）、その復号結果の後半１バイト（下位復号符号と呼ぶ）が禁止符号の上位バイト（上位禁止符号と呼ぶ）であるかを調べる（ステップＳ８０４）。ＪＰＥＧ２０００の場合、禁止符号の上位バイトはＦＦｈである。そして、下位復号符号が上位禁止符号であるならば（ステップＳ８０４，Ｙｅｓ）、復号結果の再暗号化を行わせるためにステップＳ８０２の処理に戻す制御を行う。下位復号符号が上位禁止符号でなければ（ステップＳ８０４，Ｎｏ）、当該２バイトに対する符号化処理を終了させる。これは、ＪＰＥＧ２０００ストリームの禁止符号はＦＦｈで始まるため、ＦＦで始まらなければ次にどのような値がきても禁止符号となることはないからである。
【０１４０】
なお、２回目以降の復号結果についても同様の判定と制御が行われる。このように、第１の実施例では、復号結果又は再復号結果が禁止符号である（条件１）、又は、下位復号符号が禁止符号である（条件２）のいずれかが成立するときに再復号を行わせ、そのいずれの条件も不成立のときに復号処理を終了させる制御を行う。
【０１４１】
図示しないが、本実施形態の第２の実施例では、ステップＳ８０３とステップＳ８０４の先後を逆にして条件判定を行う。したがって、下位復号符号が上位禁止符号であるときに再暗号させる制御を行い、下位復号符号が上位禁止符号でないが復号結果が禁止符号であるときにも再暗号させる制御を行い、下位復号符号が上位禁止符号でなくかつ復号結果が禁止符号でないと判定されたときに復号対象２バイトに対する復号処理を終了させる、という制御になる。
【０１４２】
さて、復号対象に選択された２バイトに対する復号処理が終了すると、今回復号処理された２バイトの先に未処理データが２バイト残っていないかを調べる（ステップＳ８０５）。残りのデータが２バイト以上あるならば（ステップＳ８０５，Ｎｏ）、ポインタを２バイト先へ移動させ（ステップＳ８０８）、ステップＳ８２０へ戻り、禁止符号を含まない２バイトを復号対象として選択する処理と、その復号処理を実行する。
【０１４３】
ステップＳ８０５で２バイトの残りデータが存在しないと判定したとき、つまり、残りデータが０バイト又は１バイトの場合、処理は終了する。残りデータが１バイトならば、その１バイトは復号対象とはされず、そのまま残される。
【０１４４】
ここで、図８中の処理ステップと本実施形態に係る情報処理方法の工程又は情報処理装置の手段との対応であるが、ステップＳ８２０，Ｓ８２１，Ｓ８０５，Ｓ８０８が「復号対象選択工程又は復号対象選択手段」に対応し、ステップＳ８０２が「復号処理工程又は復号処理手段」に対応し、ステップＳ８０３，Ｓ８０４が「制御工程又は制御手段」に対応する。
【０１４５】
なお、図８においては、復号対象に対する最初の復号も、条件判定ステップＳ８０３又はＳ８０４で条件が成立したときの再復号も共通のステップＳ８０２（共通の手段）で行われるものとして示されている。しかし、復号対象に対する最初の復号ステップ（手段）、条件判定ステップＳ８０３で条件が成立したときの再復号のステップ（手段）、条件判定ステップＳ８０４で条件が成立したときの再復号のステップ（手段）を独立させることも可能である。このように復号処理の工程を複数の工程に分割した態様、あるいは、復号処理の手段を複数の手段に分割した態様も本実施形態に包含される。
【０１４６】
また、復号対象に対する初回の復号結果に対する条件判定と再復号結果に対する条件判定とを共通のステップＳ８０３，Ｓ８０４（手段）で行うものとしたが、初回の復号結果に対する条件判定ステップ（手段）と、再復号結果に対する条件判定ステップ（手段）とを独立させることも可能である。このように条件判定の工程を複数の工程に分割した態様、あるいは、条件判定の手段を複数の手段に分割した態様も本実施形態に包含される。
【０１４７】
また、図８のステップＳ８０５で次の２バイトが存在しないと判定された場合に、残りバイトが１バイトであるかの判定を行い、残りバイトが１バイトのときに、その１バイトを復号対象として選択し復号処理を行うようにしてもよい（ただし、暗号化時に残り１バイトについて暗号化される場合）。この場合、残り１バイトであると判定し、該１バイトを復号対象として選択するステップも「復号対象選択工程又は手段」に含まれる。かかる態様も本実施形態に含まれる。
【０１４８】
［他の実施形態］
前記各実施形態ではＤＥＳを例として説明したが、ＤＥＳに限らず、ＡＥＳやＭＩＳＴＹ、Ｃａｍｅｌｌｉａなど通常の共通鍵暗号を用いることができるのは明らかである。この場合、暗号化・復号の安全性は用いる暗号方式に依存する。
【０１４９】
また、暗号化モードもＣＦＢやＯＦＢに限らず任意長のデータを暗号化できる手法であれば、それらに限定されない。
【０１５０】
また、前記各実施形態では、ＪＰＥＧ２０００を対象にしてＦＦ９０ｈからＦＦＦＦｈまでのマーカコードを禁止符号として説明したが、他の符号化標準を対象とするときは、その規定によればよい。また、そのような禁止符号を含む特定の符号、あるいは、ＦＦｈのみなど、それら特定符号の一部を含む符号を禁止符号とする態様も許される。
【０１５１】
また、前記各実施形態では、１バイトまたは２バイトを処理の単位として説明したが、これに限定されない。ただし、禁止符号が２バイトで、暗号化・復号単位が２バイトを超える場合、ステップＳ５０３，Ｓ６０５，Ｓ７０３，Ｓ８０３で、暗号化結果又は復号結果の中に禁止符号が含まれるかどうかを調べるようにする必要がある。
【０１５２】
また、前記各実施形態において、暗号化処理又は復号処理の工程又は手段を複数の工程又は手段に分割する態様を説明した。このような態様では、分割された工程毎又は手段毎に採用する暗号化方式又は復号方式を選ぶことができ、したがって複数種類の暗号化方式又は復号方式を混在させて用いることも可能である。
【０１５３】
また、前記各実施形態に係る処理もしくは機能を実現するソフトウェアのプログラム、及び、それが記録されたコンピュータ読み取り可能な各種記録（記憶）媒体も本発明に包含される。かかる記録（記憶）媒体をシステムもしくは装置に供給し、そのシステムもしくは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても前記実施形態に係る処理もしくは機能を実現することができる。この場合、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前記実施形態が実現される態様も本発明に包含される。さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される態様も本発明に包含される。
【０１５４】
本発明には以下に列挙する多様な態様がすべて包含される。
【０１５５】
（ａ１）対象符号が予め定められた禁止符号であるか否かを判定する第１の判定手段と、前記第１の判定手段により前記禁止符号ではないと判定された対象符号を一定のサイズ毎に取り出す対象符号取り出し手段と、前記対象符号取り出し手段により取り出された値を処理対象符号とする手段と、前記処理対象符号を暗号化し第１の暗号化符号を生成する第１の暗号化手段と、前記第１の暗号化手段により暗号化された結果が前記禁止符号であるか否かを判定する第２の判定手段と、前記暗号化された結果が前記禁止符号である間、当該暗号化された結果を処理対象符号として暗号化を繰り返し行い、前記禁止符号ではない第２の暗号化符号を生成する第２の暗号化手段と、該第２の暗号化符号と該第２の暗号化符号の前の暗号化された符号との所定の組み合わせの中に禁止符号が存在するか否かを判定する第３の判定手段と、前記第３の判定手段により前記禁止符号が存在しないと判定されたとき、前記第２の暗号化符号を暗号化結果として決定する暗号化結果決定手段とを備える情報処理装置。
【０１５６】
（ａ２）前記第３の判定手段により前記禁止符号が存在すると判定されたとき、前記暗号化結果が前記禁止符号である間、当該暗号化結果の暗号化を繰り返し行い、前記禁止符号ではない第３の暗号化符号を生成する第３の暗号化手段とをさらに備える前記（ａ１）の情報処理装置。
【０１５７】
（ａ３）前記第２の判定手段において、該暗号化された結果が前記禁止符号であるか否かを判定するのみならず、該符号に続く第２の符号との組み合わせの中に禁止符号が存在するか否かを判定することを特徴とする前記（ａ２）の情報処理装置。
【０１５８】
（ａ４）前記第３の暗号化手段及び前記第２の暗号化手段として共通の暗号化手段を用いることを特徴とする前記（ａ１）乃至（ａ３）のいずれか１の情報処理装置。
【０１５９】
（ａ５）前記第１の暗号化手段及び前記第２の暗号化手段として共通の暗号化手段を用いることを特徴とする前記（ａ１）乃至（ａ４）のいずれか１の情報処理装置。
【０１６０】
（ａ６）前記第１の判定手段、前記第２の判定手段、前記第３の判定手段の中の少なくとも２つとして共通の判定手段を用いることを特徴とする前記（ａ１）乃至（ａ５）のいずれか１の情報処理装置。
【０１６１】
（ａ７）前記対象符号取り出し手段によって次に取り出し得る符号が前記一定サイズ未満のときには、該符号を暗号化の対象とはしないことを特徴とする前記（ａ１）乃至（ａ６）のいずれか１の情報処理装置。
【０１６２】
（ａ８）前記対象符号取り出し手段によって次に取り出し得る符号が前記一定サイズ未満であっても該符号を暗号化の対象とすることを特徴とする前記（ａ１）乃至（ａ６）のいずれか１の情報処理装置。
【０１６３】
（ａ９）前記禁止符号は、JPEG2000におけるFF90hからFFFFhまでのマーカコードの一部を含む符号であることを特徴とする前記（ａ１）乃至（ａ８）のいずれか１の情報処理装置。
【０１６４】
（ａ１０）前記複数の暗号化手段のうち少なくとも一つは共通鍵暗号方式に従って暗号化を行うことを特徴とする前記（ａ１）乃至（ａ９）のいずれか１の情報処理装置。
【０１６５】
（ａ１１）前記複数の暗号化手段のうち少なくとも一つはストリーム暗号方式に従って暗号化を行うことを特徴とする前記（ａ１）乃至（ａ９）のいずれか１の情報処理装置。
【０１６６】
（ｂ１２）対象符号が予め定められた禁止符号であるか否かを判定する第１の判定手段と、前記第１の判定手段により前記禁止符号ではないと判定された対象符号を一定のサイズ毎に取り出す対象符号取り出し手段と、前記対象符号取り出し手段により取り出された処理対象符号を暗号化し第１の暗号化符号を生成する第１の暗号化手段と、前記暗号化手段による暗号化結果が前記禁止符号であるか否かを判定する第２の判定手段と、前記暗号化手段により暗号化された結果値のうちそれをバイト順で並べたときに下位にくるＮバイト値が、前記禁止符号のうちそれをバイト順でなべたときに上位にくるＮバイト値であるか否かを判定する第３の判定手段と、前記暗号化の結果が前記第２の判定手段もしくは第３の判定手段により前記禁止符号もしくは前記禁止符号の一部であると判定される間、当該暗号化結果の暗号化を繰り返し行い、前記禁止符号もしくは前記禁止符号の一部ではない第２の暗号化符号を生成する第２の暗号化手段とを備える情報処理装置。
【０１６７】
（ｂ１３）前記第２の判定手段により前記禁止符号であると確認されたときに、前記第３の判定手段の判断を行わずに前記第２の暗号化手段による暗号化に移ることを特徴とする前記（ｂ１２）の情報処理装置。
【０１６８】
（ｂ１４）前記第２の判定手段による判定よりも前記第３の判定手段による判定を先に行い、前記第３の判定手段により前記禁止符号であると判定されたときに前記第２の判定手段の判断を行わずに前記第２の暗号化手段による暗号化に移ることを特徴とする前記（ｂ１２）の情報処理装置。
【０１６９】
（ｂ１５）前記第１の暗号化手段及び前記第２の暗号化手段として共通の暗号化手段を用いることを特徴とする前記（ｂ１２）乃至（ｂ１４）のいずれか１の情報処理装置。
【０１７０】
（ｂ１６）前記第１の判定手段及び前記第２の判定手段として共通の判定手段を用いることを特徴とする前記（ｂ１２）乃至（ｂ１５）のいずれか１の情報処理装置。
【０１７１】
（ｂ１７）前記対象符号取り出し手段により次に取り出し得る符号が前記一定サイズ未満のときには、該符号を暗号化の対象とはしないことを特徴とする前記（ｂ１２）乃至（ｂ１６）のいずれか１の情報処理装置。
【０１７２】
（ｂ１８）前記暗対象符号取り出し手段により次に取り出し得る符号が前記一定サイズ未満であっても該符号を前記暗号化の対象とすることを特徴とする前記（ｂ１２）乃至（ｂ１６）のいずれか１の情報処理装置。
【０１７３】
（ｂ１９）前記禁止符号は、JPEG2000におけるFF90hからFFFFhまでのマーカコードの一部を含む符号であることを特徴とする前記（ｂ１２）乃至（ｂ１８）のいずれか１の情報処理装置。
【０１７４】
（ｂ２０）前記複数の暗号化手段のうち少なくとも一つは共通鍵暗号方式に従って暗号化を行うことを特徴とする前記（ｂ１２）乃至（ｂ１９）のいずれか１の情報処理装置。
【０１７５】
（ｂ２１）前記複数の暗号化手段のうち少なくとも一つはストリーム暗号方式に従って暗号化を行うことを特徴とする前記（ｂ１２）乃至（ｂ１９）のいずれか１の情報処理装置。
【０１７６】
（ｃ２２）対象暗号化符号が予め定められた禁止符号であるか否かを判定する第１の判定手段と、前記第１の判定手段により前記禁止符号ではないと判定された対象暗号化符号を一定のサイズ毎に取り出す対象暗号化符号取り出し手段と、前記対象暗号化符号を復号し第１の復号符号を生成する第１の復号手段と、該第１の復号符号と該第１の復号符号の前の暗号化符号との所定の組み合わせの中に禁止符号が存在するか否かを判定する第２の判定手段と、前記第２の判定手段により前記禁止符号が存在しないと判定されたとき、前記第１の復号符号を第２の復号符号として決定する暗号化結果決定手段と、前記第２の復号符号が前記禁止符号であるか否かを判定する第３の判定手段と、前記第３の判定手段により前記第２の復号符号が前記禁止符号であると判定される間、前記第２の復号符号の復号を繰り返し行い、前記禁止符号ではない第３の復号符号を生成する第２の復号手段とを備える情報処理装置。
【０１７７】
（ｃ２３）前記第１の判定手段により前記禁止符号が存在すると判定されたとき、前記復号された符号が前記禁止符号である間、当該復号された符号の復号を繰り返し行い、前記禁止符号ではない復号符号を生成する第３の暗号化手段とをさらに備えることを特徴とする前記（ｃ２２）の情報処理装置。
【０１７８】
（ｃ２４）前記第２の判定手段において、復号された結果が前記禁止符号であるか否かを判定するのみならず、該符号に続く第２の符号との組み合わせの中に禁止符号が存在するか否かの判定を行うことを特徴とする前記（ｃ２３）の情報処理装置。
【０１７９】
（ｃ２５）前記第３の復号手段及び前記第２の復号手段として共通の復号手段を用いることを特徴とする前記（ｃ２２）乃至（ｃ２４）のいずれか１の情報処理装置。
【０１８０】
（ｃ２６）前記第１の復号手段と前記第２の復号手段として共通の復号手段を用いることを特徴とする前記（ｃ２２）乃至（ｃ２５）のいずれか１の情報処理装置。
【０１８１】
（ｃ２７）前記第１の判定手段、前記第２の判定手段、前記第３の判定手段のうちの少なくとも２つとして共通の判定手段を用いることを特徴とする前記（ｃ２２）乃至（ｃ２６）のいずれか１の情報処理装置。
【０１８２】
（ｃ２８）前記対象暗号化符号取り出し手段によって次に取り出し得る暗号化符号が前記一定サイズ未満のときには、該暗号化符号を復号の対象としないことを特徴とする前記（ｃ２２）乃至（ｃ２７）のいずれか１の情報処理装置。
【０１８３】
（ｃ２９）前記対象暗号化符号取り出し手段によって次に取り出し得る暗号化符号が前記一定サイズ未満であっても該暗号化符号を復号の対象とすることを特徴とする前記（ｃ２２）乃至（ｃ２７）のいずれか１の情報処理装置。
【０１８４】
（ｃ３０）前記禁止符号は、JPEG2000におけるFF90hからFFFFhまでのマーカコードの一部を含む符号であることを特徴とする前記（ｃ２２）乃至（ｃ２９）のいずれか１の情報処理装置。
【０１８５】
（ｃ３１）前記複数の復号手段のうち少なくとも一つは共通鍵暗号の復号方式に従って復号を行うことを特徴とする前記（ｃ２２）乃至（ｃ３０）のいずれか１の情報処理装置。
【０１８６】
（ｃ３２）前記複数の復号手段のうち少なくとも一つ以はストリーム暗号の復号方式に従って復号を行うことを特徴とする前記（ｃ２２）乃至（ｃ３０）のいずれか１の情報処理装置。
【０１８７】
（ｄ３３）対象暗号化符号が予め定められた禁止符号であるか否かを判定する第１の判定手段と、前記第１の判定手段により前記禁止符号ではないと判定された対象暗号化符号を一定のサイズ毎に取り出す対象暗号化符号取り出し手段と、前記対象暗号化符号取り出し手段により取り出された処理対象暗号化符号を復号して第１の復号符号を生成する第１の復号手段と、前記第１の復号手段により復号された結果値のうちそれをバイト順で並べたときに下位にくるＮバイト値が、前記禁止符号のうちそれをバイト順でなべたときに上位にくるＮバイト値であるか否かを判定する第２の判定手段と、前記第１の復号手段により復号された結果が前記禁止符号であるか否かを判定する第３の判定手段と、前記復号された結果が第２の判定手段もしくは第３の判定手段により前記禁止符号もしくは前記禁止符号の一部であると判定される間、当該復号された結果の復号を繰り返し行って、前記禁止符号もしくは前記禁止符号の一部ではない第２の復号符号を生成する第２の暗号化手段とを備える情報処理装置。
【０１８８】
（ｄ３４）前記第２の判定手段により前記禁止符号であると確認されたときに、前記第３の判定手段の判断を行わずに前記第２の復号手段による復号に移ることを特徴とする前記（ｄ３３）の情報処理装置。
【０１８９】
（ｄ３５）前記第２の判定手段による判定よりも前記第３の判定手段により判定を先に行い、前記第３の判定手段により前記禁止符号であると確認されたときに、前記第２の判定手段による判定を行わずに前記第２の復号手段により復号に移ることを特徴する前記（ｄ３３）の情報処理装置。
【０１９０】
（ｄ３６）前記第１の復号手段及び前記第２復号手段として共通の復号手段を用いることを特徴とする前記（ｄ３３）乃至（ｄ３５）のいずれか１の情報処理装置。
【０１９１】
（ｄ３７）前記第１の判定手段及び前記第２の判定手段とし共通の判定手段を用いることを特徴とする前記（ｄ３３）乃至（ｄ３５）のいずれか１の情報処理装置。
【０１９２】
（ｄ３８）前記対象暗号化符号取り出し手段により次に取り出し得る暗号化符号が前記一定サイズ未満のときには、該暗号化対象符号を復号の対象としないことを特徴とする前記（ｄ３３）乃至（ｄ３７）のいずれか１の情報処理装置。
【０１９３】
（ｄ３９）前記対象暗号化符号取り出し手段により次に取り出し得る暗号化符号が前記一定サイズ未満であっても、該暗号化符号を復号の対象とすることを特徴とする前記（ｄ３３）乃至（ｄ３７）のいずれか１の情報処理装置。
【０１９４】
（ｄ４０）前記禁止符号は、JPEG2000におけるFF90hからFFFFhまでのマーカコードの一部を含む符号であることを特徴とする前記（ｄ３３）乃至（ｄ４０）のいずれか１の情報処理装置。
【０１９５】
（ｄ４１）前記複数の暗号化手段のうち少なくとも一つは共通鍵暗号方式に従って暗号化を行うことを特徴とする前記（ｄ３３）乃至（ｄ４０）のいずれか１の情報処理装置。
【０１９６】
（ｄ４２）前記複数の暗号化手段のうち少なくとも一つはストリーム暗号化を行うことを特徴とする前記（ｄ３３）乃至（ｄ４０のいずれか１の情報処理装置。
【０１９７】
（ｅ４３）前記（ａ１）乃至（ｄ４２）のいずれかの１の情報処理装置に対応した情報処理方法。
【０１９８】
（ｆ４４）コンピュータを前記（ａ１）乃至（ｄ４２）のいずれか１の情報処理装置として機能させるプログラム。
【０１９９】
（ｆ４５）コンピュータに前記（ｅ４３）の情報処理方法を実行させるプログラム。
【０２００】
（ｆ４６）前記（ｆ４４）又は（ｆ４５）のプログラムが記録されたるコンピュータ読み取り可能な記録（記憶）媒体。
【０２０１】
（ｇ４７）所定の禁止符号が含まれている符号データを暗号化して暗号化データを生成する情報処理装置であって、前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つことを特徴とする情報処理装置。
【０２０２】
（ｇ４８）所定の禁止符号が含まれている符号データを暗号化して暗号化データを生成する情報処理方法であって、前記暗号化データ中の前記禁止符号の位置及び個数を前記符号データ中の前記禁止符号の個数及び位置と同一に保つことを特徴とする情報処理方法。
【０２０３】
（ｇ４９）所定の禁止符号が含まれている符号データをブロック暗号化して暗号化データを生成する情報処理装置であって、前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つとともに、全てのブロック暗号値の下位の所定数バイトの値を前記禁止符号の上位の所定数バイトの値と一致させないことを特徴とする情報処理装置。
【０２０４】
（ｇ５０）所定の禁止符号が含まれている符号データをブロック暗号化して暗号化データを生成する情報処理方法であって、前記暗号化データ中の前記禁止符号の個数及び位置を前記符号データ中の前記禁止符号の個数及び位置と同一に保つとともに、全てのブロック暗号値の下位の所定数バイトの値を前記禁止符号の上位の所定数バイトの値と一致させないことを特徴とする情報処理方法。
【図面の簡単な説明】
【０２０５】
【図１】ＪＰＥＧ２０００エンコーダのブロック図である。
【図２】ＪＰＥＧ２０００における離散ウェーブレット変換によるサブバンド分解を説明する概要図である。
【図３】本発明の実施形態に係るコンピュータシステムの例を示すブロック図である。
【図４】ＪＰＥＧ２０００ストリームの構成を説明する概念図である。
【図５】本発明の第１の実施形態を説明するためのフローチャートである。
【図６】本発明の第２の実施形態を説明するためのフローチャートである。
【図７】本発明の第３の実施形態を説明するためのフローチャートである。
【図８】本発明の第４の実施形態を説明するためのフローチャートである。
【符号の説明】
【０２０６】
３０１  コンピュータ
３０２  ＭＰＵ
３０３  主記憶装置
３０４  ハードディスク
３０９  ＣＤドライブ
３１０  ＤＶＤドライブ
３１１  ＦＤＤドライブ
Ｓ５２０，Ｓ５２１，Ｓ５０５，Ｓ５０８  暗号化対象選択のステップ
Ｓ５０２  暗号化処理のステップ
Ｓ５０３，Ｓ５０４  暗号化処理の制御のステップ
Ｓ６２０，Ｓ６２１，Ｓ６０７，Ｓ６１０  復号対象選択のステップ
Ｓ６０４  復号処理のステップ
Ｓ６０５，Ｓ６０６  復号処理の制御のステップ
Ｓ７２０，Ｓ７２１，Ｓ７０５，Ｓ７０６  暗号化対象選択のステップ
Ｓ７０２  暗号化処理のステップ
Ｓ７０３，Ｓ７０４  暗号化処理の制御のステップ
Ｓ８２０，Ｓ８２１，Ｓ８０５，Ｓ８０８  復号対象選択のステップ
Ｓ８０２  復号処理のステップ
Ｓ８０２，Ｓ８０４  復号処理の制御のステップ
【図１】
2008072661.tif 000003
【図２】
2008072661.tif 000004
【図３】
2008072661.tif 000005
【図４】
2008072661.tif 000006
【図５】
2008072661.tif 000007
【図６】
2008072661.tif 000008
【図７】
2008072661.tif 000009
【図８】
2008072661.tif 000010