(57)【要約】【課題】データの処理順において連続する２つ以上のデータを演算した結果を用いて暗号化を行う場合に、処理の並列性を高めること。【解決手段】所定の暗号方式によりデータを暗号化する情報処理装置であって、データを所定の暗号化方式により暗号化する複数の暗号器１４４と、暗号化すべきデータを定められたデータ量ごとに分割された分割データとして暗号器１４４に振り分けて入力するメモリバッファ制御部１４２と、暗号器１４４によって夫々暗号化された分割データを分割される前の順番に従って並べることにより暗号化データを生成し、分割データを夫々暗号化した前記暗号器の数を暗号化データと関連付けて記憶するＨＤＤバッファ制御部１４５とを含むことを特徴とする。【選択図】図４
2011250020.tif 000002
【特許請求の範囲】
【請求項１】
データの処理順において連続する２つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する情報処理装置であって、
入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部とを含むことを特徴とする情報処理装置。
【請求項２】
前記復号対象データ入力部は、前記取得された暗号化部の数と同数の復号部によって前記復号すべきデータを復号する場合に前記復号対象分割データを夫々の前記復号部に振り分ける際の前記復号対象分割データの並び順となる様に、前記複合部の数に従って前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記暗号化部は、
前記データの処理順における先頭のデータは初期化ベクトルと演算し、
複数の前記暗号化部によって暗号化されたデータ量の合計が、前記生成された暗号化データが記憶される記憶媒体の読み出し単位の倍数に達する度に、前記データの処理順において次に処理するデータを初期化ベクトルと演算することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記生成された暗号化データが記憶される記憶媒体を制御する記憶媒体制御を更に含み、
前記暗号化部は、前記記憶媒体制御部が前記暗号化データを複数の前記記憶媒体に分割して記憶する場合、複数の前記暗号化部によって暗号化されたデータ量の合計が、前記記憶媒体の読み出し単位を前記暗号化データの分割数で割った値の倍数に達する度に、前記データの処理順において次に処理するデータを初期化ベクトルと演算することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを更に含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする請求項１乃至４いずれかに記載の情報処理装置。
【請求項６】
データの処理順において連続する２つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する画像形成装置であって、
入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部と、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力し、
前記画像形成装置の動作状態に基づいて前記複数の暗号化部の前記複数の情報処理モジュールへの割り当て数を決定し、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つに対して、前記決定した割り当て数を通知する暗号化部割り当て制御部を更に含むことを特徴とする画像形成装置。
【請求項７】
入力されたデータを暗号化する複数の暗号化部と、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとして前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする情報処理装置。
【請求項８】
データの処理順において連続する２つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化する複数の暗号化部及び復号する複数の復号部によって暗号化及び復号処理を行う情報処理方法であって、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力し、
前記複数の暗号化部が、入力された前記暗号化対象分割データを前記暗号化方式により暗号化し、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成し、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶し、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得し、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力し、
前記複数の復号部が、入力された前記復号対象分割データを前記暗号化方式により復号し、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像形成装置及び情報処理方法に関し、特に、元の情報を複数に分割した上で分割後の情報を並列して暗号化する場合の暗号化及び復号の方法に関する。
【背景技術】
【０００２】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なＭＦＰ（ＭｕｌｔｉＦｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：複合機）として構成されることが多い。
【０００３】
このような画像処理装置のうち、書類の電子化に用いるスキャナにおいては、スキャンにより生成した画像を装置に格納し若しくは他の装置に転送する場合、情報を暗号化することが行われている。また、情報の暗号化処理においては、暗号化処理に要する時間を短縮するため、暗号化すべき情報を複数に分割した上で、分割後の夫々の情報の暗号化処理を並列して暗号化することが提案されている（例えば、特許文献１参照）。
【０００４】
現在、代表的な共通鍵暗号アルゴリズムとして知られているＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）暗号方式には、いくつかの方式があり、中でも、ＣＢＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ：暗号文ブロック連鎖）方式は、解読が困難な方式として広く採用されている。ＣＢＣ方式においては、連続して処理をするデータの並び順において、次に処理をする元データと前回処理をして暗号化されたデータとの排他的論理和を、暗号化アルゴリズムの入力として用いる。また、データの並び順における先頭のデータの場合前回処理をしたデータが存在しないため、初期化ベクトルとの排他的論理和をとる。従って、暗号データを復号する場合には、１回前の復号データを使って復号されると共に、先頭データであれば初期化ベクトルを使って復号される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＣＢＣ方式においては、暗号化及び復号は、同じ並び順でデータが入力される必要があるため、４つの並列した処理によって暗号化されたデータを２つの並列処理によって復号することはできない。例えば、複数の暗号／復号器が搭載されているような装置において、一部が故障してしまった場合、暗号化されたデータを読み出すことが出来なくなってしまう。また、ある装置において暗号化されたデータを、暗号／復号器の数の異なる装置において復号する場合も、同様の問題が生じる。
【０００６】
また、特許文献１に係る方法は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）構成が前提となっており汎用性が低く、暗号化の対象となるデータは、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）に格納されるデータに限られる。そのため、ネットワークを介して外部に転送するデータの暗号化等には用いることができない。
【０００７】
近年、マルチコアのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が一般化する等、情報処理の並列化が注目されている。しかしながら、ＣＢＣ方式の暗号化処理においては、上記のような制約から、ＡＥＳ暗号による暗号化の内部処理における並列性を高める観点で研究が進められており、ＡＥＳ暗号による暗号化処理そのものを複数並列して実行することは一般的ではなかった。
【０００８】
暗号化の内部処理における並列性を高めるためには、ＡＥＳ暗号による暗号化プログラムや暗号化回路を作りこむ必要があり、研究費等のコストが必要となるばかりか、最終的には、処理すべき全てのデータを順番通りに処理していくことになるため、高速化の面で効率が低い。
【０００９】
尚、このような課題は、ＣＢＣ方式に限ったものではなく、データの処理順において連続する２つ以上のデータを演算する処理を含む暗号化方式において同様に問題となり得る。
【００１０】
本発明は、このような課題を解決するためになされたものであり、データの処理順において連続する２つ以上のデータを演算した結果を用いる暗号化方式において、処理の並列性を高めることを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の一態様は、データの処理順において連続する２つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する情報処理装置であって、入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部とを含むことを特徴とする。
【００１２】
また、本発明の他の態様は、データの処理順において連続する２つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する画像形成装置であって、入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部と、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力し、前記画像形成装置の動作状態に基づいて前記複数の暗号化部の前記複数の情報処理モジュールへの割り当て数を決定し、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つに対して、前記決定した割り当て数を通知する暗号化部割り当て制御部を更に含むことを特徴とする。
【００１３】
また、本発明の更に他の態様は、情報処理装置であって、入力されたデータを暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとして前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする。
【００１４】
また、本発明の更に他の態様は、データの処理順において連続する２つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化する複数の暗号化部及び復号する複数の復号部によって暗号化及び復号処理を行う情報処理方法であって、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力し、前記複数の暗号化部が、入力された前記暗号化対象分割データを前記暗号化方式により暗号化し、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成し、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶し、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得し、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力し、前記複数の復号部が、入力された前記復号対象分割データを前記暗号化方式により復号し、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、データの処理順において連続する２つ以上のデータを演算した結果を用いる暗号化方式において、処理の並列性を高めることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係る画像形成装置のハードウェア構成を模式的に示すブロック図である。
【図２】本発明の実施形態に係る画像形成装置の機能構成を示すブロック図である。
【図３】本発明の実施形態に係るコントローラＡＳＩＣの機能構成を示すブロック図である。
【図４】本発明の実施形態に係るＨＤＤコントローラの機能構成を示すブロック図である。
【図５】本発明の実施形態に係る暗号器の構成を示す図である。
【図６】本発明の実施形態に係る暗号化及び復号の態様を示す図である。
【図７】本発明の実施形態に係る暗号化及び復号の態様を示す図である。
【図８】本発明の実施形態に係る暗号化及び復号の態様を示す図である。
【図９】本発明の実施形態に係る暗号器数情報の例を示す図である。印刷設定画面の例を示す図である。
【図１０】本発明の実施形態に係る複合処理の態様を示す図である。
【図１１】本発明の実施形態に係る初期化ベクトルの演算タイミングを示す図である。
【図１２】本発明の他の実施形態に係るコントローラＡＳＩＣの機能構成を示すブロック図である。
【図１３】本発明の他の実施形態に係る画像形成装置の動作状態と暗号器の振り分け数との関係を示す図である。
【発明を実施するための形態】
【００１７】
実施の形態１．
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、スキャンにより生成した画像情報を記憶媒体に格納する機能を含む複合機としての画像形成装置を例として説明する。
【００１８】
図１は、本実施形態に係る画像形成装置１のハードウェア構成を示すブロック図である。尚、画像形成装置１は、図１に示すハードウェア構成に加えて、スキャナ、プリンタ等を実現するためのエンジンを備える。図１に示すように、本実施形態に係る画像形成装置１は、一般的なサーバやＰＣ等と同様の構成を含む。即ち、本実施形態に係る画像形成装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）４０及びＩ／Ｆ５０がバス８０を介して接続されている。また、Ｉ／Ｆ５０にはＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）６０及び操作部７０が接続されている。
【００１９】
ＣＰＵ１０は演算手段であり、画像形成装置１全体の動作を制御する。ＲＡＭ２０は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、ＣＰＵ１０が情報を処理する際の作業領域として用いられる。ＲＯＭ３０は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。ＨＤＤ４０は、情報の読み書きが可能な不揮発性の記憶媒体であり、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【００２０】
Ｉ／Ｆ５０は、バス８０と各種のハードウェアやネットワーク等を接続し制御する。ＬＣＤ６０は、ユーザが画像形成装置１の状態を確認するための視覚的ユーザインタフェースである。操作部７０は、ユーザが画像形成装置１に情報を入力するためのユーザインタフェースである。
【００２１】
このようなハードウェア構成において、ＲＯＭ３０やＨＤＤ４０若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがＲＡＭ２０に読み出され、ＣＰＵ１０の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置１の機能を実現する機能ブロックが構成される。
【００２２】
次に、本実施形態に係る画像形成装置１の機能構成について、図２を参照して説明する。図２は、本実施形態に係る画像形成装置１の機能構成を示すブロック図である。図２に示すように、本実施形態に係る画像形成装置１は、スキャナ１０１、エンジンユニット１０２及びプロッタ１０３と、それらを制御するコントローラ１００とを含む。
【００２３】
スキャナ１０１は、読み取り原稿に対する照射光の反射光をＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）等によりＲＧＢ（Ｒｅｄ  Ｇｒｅｅｎ  Ｂｌｕｅ）形式等の画像データ信号に変換して出力する。エンジンユニット１０２は、コントローラ１００の制御に従い、ＲＡＭ２０上の画像を読み出してプロッタ１０３のタイミングに合わせて画像データ出力する。プロッタ１０３は、エンジンユニット１０２からの出力データに応じて、印刷対象である出力用紙上に画像形成出力を行う。
【００２４】
また、コントローラ１００は、図２に示すように、ＣＰＵ１０、ＲＡＭ２０及びＨＤＤ４０に加えて、コントローラＡＳＩＣ１１０を含む。即ち、コントローラ１００は、ＣＰＵ１０が、ＲＡＭ２０に読み出されたプログラムに従って動作することにより構成されるソフトウェア制御部と、コントローラＡＳＩＣ１１０によって構成されるハードウェア制御部とによって構成され、画像形成装置１全体の制御を行う。
【００２５】
コントローラＡＳＩＣ１１０は、コントローラ１００の機能のうち、ＨＤＤ４０若しくはネットワークを介した他の装置とのデータのやり取りや、スキャナから入力される画像に対する画像処理等を行う。また、ＣＰＵ１０は、コントローラ１００において、ＲＡＭ２０にロードされた制御プログラムに従って動作することにより、コントローラＡＳＩＣの制御やエンジンユニット１０２の制御等を行う。
【００２６】
次に、図３を参照して、コントローラＡＳＩＣ１１０の構成について説明する。図３は、コントローラＡＳＩＣ１１０の構成をしめすブロック図である。図３に示すように、コントローラＡＳＩＣ１１０は、スキャナＩ／Ｆ１１１、ＣＰＵ  Ｉ／Ｆ１１２、アービタ１１３、ＨＤＤコントローラ１１４、画像処理コントローラ１１５及びネットワークコントローラ１１６を含む。
【００２７】
スキャナＩ／Ｆ１１１は、コントローラＡＳＩＣ１１０においてスキャナ１０１からの画像データ信号の入力タイミングに合わせて画像データの取り込みを行う。ＣＰＵ  Ｉ／Ｆ１０２は、ＣＰＵ１０及びＣＰＵ１０を介したＲＡＭ２０とのデータのやり取りを行う。アービタは、コントローラＡＳＩＣ１１０に含まれる各モジュール、即ち各ブロックと、ＲＡＭ２０上のデータのやり取りの調停を行う。尚、コントローラＡＳＩＣ１１０に含まれる各ブロックとＲＡＭ２０上のデータとのやり取りは、上述したようなＣＰＵ１０を介したやり取りの他、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によるやり取りがある。
【００２８】
ＨＤＤコントローラ１１４は、ＨＤＤ４０へのデータの書込み、ＨＤＤ４０からのデータの読み出しの制御並びに書き込むデータの暗号化、読み出したデータの復号を行う。画像処理コントローラ１１５は、ＲＡＭ２０上の画像データを読み出してフィルタ処理や色補正等の画像処理を行い、処理後の画像をＲＡＭ２０に出力する。ネットワークコントローラ１１６は、ネットワークを介した他の装置のデータ送受信の制御を行う。
【００２９】
本実施形態においては、ＨＤＤコントローラ１１４にＣＢＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ：暗号文ブロック連鎖）方式による暗号化を行う暗号器が複数含まれており、その暗号器を動作させる態様が要旨の１つである。図４を参照して、本実施形態に係るＨＤＤコントローラ１１４について説明する。
【００３０】
図４に示すように、本実施形態に係るＨＤＤコントローラ１１４は、複数の暗号器１４４−１、１４４−２、・・・１４４−ｎ（以降、総じて暗号器１４４とする）に加えて、ＤＭＡＣ（ＤＭＡ  Ｃｏｎｔｒｏｌｌｅｒ）１４１、メモリバッファ制御部１４２、メモリバッファ１４３、ＨＤＤバッファ制御部１４５、ＨＤＤバッファ１４６及びＲＡＩＤコントローラ１４７を含む。尚、本実施形態においては、４つのＨＤＤ４０が接続されて運用されている場合を例として説明する。
【００３１】
ＤＭＡＣ１４１は、ＣＰＵ１０を経ることなく直接ＲＡＭ２０からのデータの読み出し及びデータの書き込みの制御を行う。メモリバッファ１４３は、ＲＡＭ２０から読み出したデータ及びＲＡＭ２０へ書き込むデータを一時的に保持する記憶領域である。メモリバッファ制御部１４２は、メモリバッファ１４３へのデータの書き込み及びメモリバッファ１４３からのデータの読み出しの制御を行う。
【００３２】
ＨＤＤバッファ１４６は、ＨＤＤ４０から読み出したデータ及びＨＤＤ４０へ書き込むデータを一時保存するための記憶領域である。ＨＤＤバッファ制御部１４５は、ＨＤＤバッファ１４６へのデータの書き込み及びＨＤＤバッファ１４６からのデータの読み出しの制御を行う。ＲＡＩＤコントローラ１４７は、接続されている複数のＨＤＤ４０へ書き込みデータを分散する制御や、ＨＤＤ４０から読み出したデータを結合する制御を行う。
【００３３】
暗号器１４４は、ＨＤＤ４０へ書き込まれるデータをＣＢＣ方式により暗号化すると共に、ＨＤＤ４０から読み出されたデータをＣＢＣ方式により復号する。図５（ａ）、（ｂ）を参照して、本実施形態に係る暗号器１４４について詳細に説明する。図５（ａ）は、暗号器１４４がＨＤＤ４０へ書き込まれるデータを暗号化する際の機能態様を示す図であり、図５（ｂ）は、暗号器１４４がＨＤＤ４０から読み出されたデータを復号する際の機能態様を示す図である。
【００３４】
本実施形態に係る暗号化アルゴリズムにおける１回の暗号化処理の入力バイト数は１６バイトであり、メモリバッファ制御部１４２は、ＨＤＤ４０に格納すべきデータを１６バイト毎に分割して順番に暗号器１４４に入力する。図５（ａ）に示すように、ＣＢＣ方式による暗号化処理においては、処理すべき入力データと上記順番における１つ前の処理により暗号化された暗号化データとの排他的論理和が、暗号化アルゴリズムの入力となる。尚、
【００３５】
このようなデータの順番における先頭のデータには、上述したような、１つ前の処理により暗号化された暗号化データが存在しないため、先頭のデータを暗号化する場合には、初期化ベクトルとの排他的論理和が暗号化アルゴリズムの入力となる。また、図５（ｂ）に示すように、暗号化されたデータを復号する場合にも、常に１つ前の復号データとの排他的論理和が演算されると共に、先頭のデータにおいては、初期化ベクトルとの排他的論理和が演算される。
【００３６】
次に、本実施形態に係るＨＤＤコントローラ１１４においてＨＤＤ４０にデータを格納し、若しくはＨＤＤ４０からデータを読み出す場合のデータ分割態様について説明する。尚、以下の説明においては、暗号化対象である元のデータ（以降、元データとする）が“１”〜“８”の８個のデータ（以降、分割データとする）に分割される場合を例として説明する。図６は、暗号器１４４−１、１４４−２、１４４−３、１４４−４の４つの暗号器が用いられる場合のデータ分割態様を示す図である。
【００３７】
図６に示すように、メモリバッファ制御部１４２は、メモリバッファ１４３に保持された元データを１６バイトずつ分割して分割データとして順番に読み出し、暗号器１４４−１〜１４４−４の順に振り分けて入力する。即ち、分割データは、暗号化対象分割データとして処理され、メモリバッファ制御部１４２が、暗号化対象分割データ入力部として機能する。この結果、図６に示すように、暗号器１４４−１には、“１”及び“５”、暗号器１４４−２には、“２”及び“６”、暗号器１４４−３には“３”及び“７”、暗号器１４４−４には“４”及び“８”の分割データが夫々入力される。
【００３８】
暗号器１４４−１〜１４４−４においては、夫々の分割データが入力されると、ＣＢＣ方式に従って暗号化を行い、暗号化された分割データ（以降、暗号化分割データとする）“１ｃ”〜“８ｃ”が得られる。即ち、暗号器１４４が、暗号化部として機能する。ＨＤＤバッファ制御部１４５は、用いられた暗号器１４４−１〜１４４−４から暗号化分割データを１つずつ順番に読み出し、“１ｃ”〜“８ｃ”の順番でＨＤＤバッファ１４６に保持させる。これにより、“１ｃ”〜“８ｃ”の順番で統合されたデータ（以降、暗号化データとする）がＲＡＩＤコントローラ１４７を介してＨＤＤ４０に格納される。即ち、ＨＤＤバッファ制御部１４５が、暗号化された分割データを、分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部として機能する。
【００３９】
ＨＤＤ４０に格納された暗号化データを読み出して復号する場合、先ずはＨＤＤバッファ制御部１４５が、復号するべき暗号化データをＨＤＤ４０から読み出してＨＤＤバッファ１４６に保持させる。これにより、図６に示すように暗号化分割データ“１ｃ”〜“８ｃ”よりなる暗号化データがＨＤＤバッファ１４６に保持される。
【００４０】
そして、ＨＤＤバッファ制御部１４５は、ＨＤＤバッファ１４６に保持された暗号化データを、１６バイトずつ分割して“１ｃ”〜“８ｃ”の暗号化分割データとして順番に読み出し、暗号器１４４−１〜１４４−４の順に入力する。この結果、図６に示すように、暗号器１４４−１には、“１ｃ”及び“５ｃ”、暗号器１４４−２には、“２ｃ”及び“６ｃ”、暗号器１４４−３には“３ｃ”及び“７ｃ”、暗号器１４４−４には“４ｃ”及び“８ｃ”の分割データが夫々入力される。
【００４１】
暗号器１４４−１〜１４４−４においては、夫々の暗号化分割データが入力されると、ＣＢＣ方式に従って復号を行い、復号された分割データ“１”〜“８”が得られる。メモリバッファ制御部１４２は、用いられた暗号器１４４−１〜１４４−４から暗号化分割データを１つずつ順番に読み出し、“１”〜“８”の順番でメモリバッファ１４３に保持させる。これにより、“１”〜“８”の順番で統合されたデータがＲＡＭ２０に読み出される。
【００４２】
図７、図８は、夫々用いる暗号器が３つの場合並びに２つの場合の分割態様を示す図である。図７、図８の場合も図６の場合と同様に、メモリバッファ制御部１４２が、メモリバッファ１４３に保持された元データを分割データ“１”〜“８”に分割して順番に読み出し、暗号器１４４に順番に入力する。そして、暗号器１４４によって暗号化された暗号化分割データ“１ｃ”〜“８ｃ”は、ＨＤＤバッファ制御部１４５によって順番に読み出され、“１ｃ”〜“８ｃ”の順番でＨＤＤバッファ１４６に保持される。これにより、“１ｃ”〜“８ｃ”の順番で統合されたデータがＲＡＩＤコントローラ１４７を介してＨＤＤ４０に格納される。復号についても同様である。
【００４３】
尚、ＣＢＣ方式において前段の暗号化データとの排他的論理和が演算されるため、図６における暗号化分割データ“１ｃ”〜“８ｃ”と図７、図８における暗号化分割データ“１ｃ”〜“８ｃ”とは、初期化ベクトルとの排他的論理和による暗号化分割データ以外異なる。従って、図６に示すように、暗号器１４４が４つ用いられて暗号化された暗号化データは、図８に示すような暗号器１４４が２つ用いられる場合には、上述した処理のままでは復号することができない。本実施形態においては、このように、暗号化時と復号時とで用いられる暗号器の数が異なる場合において、暗号化データの復号を可能とすることが要旨の１つである。
【００４４】
上述した要旨を実現するため、本実施形態に係るＨＤＤバッファ制御部１４５は、暗号化データをＨＤＤ４０に格納する際に、暗号化データとその暗号化データの暗号化時に用いられた暗号器の数を示す情報とが関連付けられた情報（以降、暗号器数情報とする）を生成する。即ち、本実施形態においては、ＨＤＤバッファ制御部１４５が、データの暗号化に用いられた暗号化部の数を暗号化データと関連付けて記憶する暗号化部数記憶部として機能する。図９は、そのような情報の例を示す図である。
【００４５】
図９に示すように、本実施形態に係る暗号器数情報は、暗号化データを特定するための情報として、ＨＤＤ４０において暗号化データが格納されている記憶領域のアドレスを示す“格納先アドレス”の情報と、その暗号化データが暗号化される際に用いられた暗号器１４４の数を示す“暗号器数”の情報を含む。尚、本実施形態においては、“格納先アドレス”の情報は、ＣＨＳ（Ｃｙｌｉｎｄｅｒ  Ｈｅａｄ  Ｓｅｃｔｏｒ）方式のアドレスとして特定されている。
【００４６】
ＨＤＤバッファ制御部１４５は、ＨＤＤ４０から暗号化データを読み出す際、図９に示す暗号器数情報を参照することにより、読み出す暗号化データが暗号化された際の暗号器１４４の数を認識する。そして、認識した暗号器１４４の数と、暗号化データの復号に用いられる暗号器１４４の数が異なる場合、以下に説明する処理を実行することにより、暗号化時とは異なる暗号器１４４の数による復号を可能とする。尚、図９に示す暗号器数情報は、ＨＤＤ４０に暗号化されることなく格納されるほか、ＨＤＤコントローラ１１４に設けられた記憶領域に格納すること等により管理される。
【００４７】
以下、本実施形態に係る暗号化データの復号処理の態様について、図１０（ａ）、（ｂ）を参照して説明する。図１０（ａ）、（ｂ）は、４つの暗号器１４４によって暗号化された暗号化データを、２つの暗号器１４４によって復号する場合の例を示す図である。
【００４８】
図１０（ａ）に示すように、ＨＤＤバッファ制御部１４５は、復号すべき暗号化データをＨＤＤ４０から読み出し、ＨＤＤバッファ１４６に保持させる、この際、ＨＤＤバッファ制御部１４５は、暗号器数情報を参照して、復号するべき暗号化データが暗号化された際の暗号器の数“４”を認識する。即ち、ＨＤＤバッファ制御部１４５が、復号対象データ取得部として機能する。また、復号に用いられる暗号器１４４の数を、動作させる暗号器１４４の数を示す情報を参照することにより認識する。更に、これらの情報を、メモリバッファ制御部１４２に伝える。動作させる暗号器１４４の数を示す情報は、例えばレジストリ等に格納されている。
【００４９】
図１０（ａ）に示すように、先ずＨＤＤバッファ制御部１４５は、ＨＤＤバッファ１４６に保持された暗号化データを１６バイトずつ分割して“１ｃ”〜“８ｃ”の暗号化分割データとして順番に読み出し、暗号器１４４に振り分けて入力する。即ち、暗号化分割データが復号対象分割データとして用いられ、ＨＤＤバッファ制御部１４５が、復号対象データ入力部として機能する。
【００５０】
ここで、ＨＤＤバッファ制御部１４５が暗号化分割データ“１ｃ”を読み出して暗号器１４４−１に入力し、暗号化分割データ“２ｃ”を読み出して暗号器１４４−２に入力すると、通常であれば次は、暗号化分割データ“３ｃ”を読み出して暗号器１４４−１に入力することになるが、ＨＤＤバッファ制御部１４５は、上記認識している暗号化時の暗号器数“４”及び復号に用いられる暗号器数“２”に従い、暗号化分割データ“３ｃ”、“４ｃ”をスキップして暗号器数“４”の場合において“１ｃ”の次に入力する暗号化分割データ“５ｃ”を読み出して暗号器１４４−１に入力する。
【００５１】
更に、ＨＤＤバッファ制御部１４５は、暗号器数“４”の場合において“２ｃ”の次に入力する暗号化分割データ“６ｃ”を読み出して暗号器１４４−１に入力する。この結果、図１０（ａ）に示すように、暗号器１４４−１、１４４−２によって暗号化分割データ“１ｃ”、“２ｃ”、“５ｃ”、“６ｃ”が正しく復号され、分割データ“１”、“２”、“５”、“６”が得られる。即ち、暗号器１４４が、複合部として機能する。
【００５２】
分割データ“１”、“２”、“５”、“６”が得られると、メモリバッファ制御部１４２は、ＨＤＤバッファ制御部１４５から伝えられた暗号化時の暗号器数“４”及び復号に用いられる暗号器数“２”に従い、図１０（ａ）に示すような並び順で分割データ“１”、“２”、“５”、“６”をメモリバッファ１４３に保持させる。
【００５３】
次に、ＨＤＤバッファ制御部１４５は、暗号化時の暗号器数“４”及び復号に用いられる暗号器数“２”に従い、図１０（ａ）においてスキップされた暗号化分割データ“３”、“４”、“７”、“８”を夫々読み出して、図１０（ｂ）に示すように暗号器１４４−１、１４４−２に夫々入力する。これにより、暗号器１４４−１、１４４−２によって復号が行われ、分割データ“３”、“４”、“７”、“８”が得られる。
【００５４】
分割データ“３”、“４”、“７”、“８”が得られると、メモリバッファ制御部１４２は、ＨＤＤバッファ制御部１４５から伝えられた暗号化時の暗号器数“４”及び復号に用いられる暗号器数“２”に従い、図１０（ｂ）に示すような並び順で分割データ“３”、“４”、“７”、“８”をメモリバッファ１４３に保持させる。これにより、分割データ“１”、“２”、“５”、“６”と分割データ“３”、“４”、“７”、“８”とが正確な並び順で統合され、分割データ“１”〜“８”からなる元データが得られる。このような処理により、本実施形態に係る複合処理が完了する。即ち、メモリバッファ制御部１４２が、復号データ生成部として機能する。
【００５５】
換言すると、図１０（ａ）、（ｂ）の例において、ＨＤＤバッファ制御部１４５は、復号に用いる暗号器１４４の数が、取得された暗号器数である“４”と同一である場合において、暗号化分割データを夫々の暗号器１４４に順番に振り分ける際の並び順と同じ順番になる様に、暗号化分割データを並べ替えて暗号器１４４−１、１４４−２に夫々入力する。また、メモリバッファ制御部１４２は、復号に用いる暗号器１４４の数が、暗号器数である“４”と同一である場合において、暗号化分割データが夫々の暗号器１４４に順番に振り分けられた際の並び順と同じ順番になる様に、復号された分割データを並べ替える。
【００５６】
本実施形態に係る画像形成装置１のように、複数の暗号器１４４を並列して動作させる場合、暗号器１４４内部の処理の並列性を向上するよりも簡易な構成で情報処理の並列化が実現できる。また、暗号器１４４内部の処理の並列性を向上したとしても、暗号器１４４には、分割データ“１”〜“８”を順番に入力することになるため、パフォーマンスの大幅な向上は期待できない。これに対して、本実施形態に係る画像形成装置１においては、分割データ“１”〜“８”を並列して処理することが出来るため、簡易な構成でパフォーマンスの大幅な向上を得ることが可能である。
【００５７】
このように、複数の暗号器１４４を並列して動作させることにより、暗号化時と復号化時として暗号／復号器の数が異なる場合、暗号化データを復号化する際の暗号化分割データの並び順が異なり、ＣＢＣ方式においてデータが正しく復号されないという問題が発生する。これに対して本実施形態に係る画像形成装置１においては、暗号化データと暗号化時に用いられた暗号器１４４の数とが関連付けられた情報を管理し、暗号化データを復号する際、暗号化時に用いられた暗号器１４４の数と復号に用いられる暗号器１４４の数との関係に基づいて暗号器１４４に入力する暗号化分割データの順番を並び替える。これにより、暗号化時と復号化時として用いられる暗号／復号器の数が異なる場合であっても、暗号化データを正しく復号することができる。
【００５８】
以上説明したように、本実施形態に係る画像形成装置１における暗号化処理の方法によれば、データの処理順において連続する２つ以上のデータを演算した結果を用いて暗号化を行う場合に、処理の並列性を高めることが可能となる。
【００５９】
尚、図５において説明したように、ＣＢＣ方式の暗号においては、次に処理するデータと前回の暗号データの排他的論理和を暗号アルゴリズムへの入力としており、転送の最初は初期化ベクトルと排他的論理和をとる。そして、暗号データを復号する場合にも、常に１回前の復号データとの排他的論理和がとられる。
【００６０】
ここで、ＨＤＤからのデータの読み出しは、読み出し単位であるセクタ毎に行われ、データの読み出しは必ずしもデータの先頭のセクタから行われるとは限らないため、複数のセクタにまたがって格納されたデータを読み出す場合において、先頭のデータのみ初期化ベクトルとの排他的論理和が演算された場合、ＨＤＤの任意のセクタから読み出しても復号できないことになる。
【００６１】
ＨＤＤに書き込まれた暗号化データを任意のセクタから読み出して復号できるようにするため、各セクタの先頭の分割データについて初期化ベクトルとの排他的論理和を演算した上で暗号化することが好ましい。例えば、１セクタの記憶容量が５１２バイトである場合、ＨＤＤに書き込まれるデータ量の合計が５１２バイトの倍数になる度に、暗号器１４４は、次に暗号化する分割データについて初期化ベクトルとの排他的論理和を演算した上で暗号化する。これにより、全てのセクタの先頭に格納されている暗号化分割データは、初期化ベクトルとの排他的論理和演算の上で暗号化されたデータとなり、任意のセクタからの読み出しが可能となる。
【００６２】
ここで、ＨＤＤに格納されるデータ量の合計と、暗号器１４４に入力されるデータ量の合計は、暗号化に用いられる暗号器の数及びＲＡＩＤコントローラ１４７によって制御されるＲＡＩＤレベルがミラーリング、ストライピング等のＲＡＩレベルによって夫々異なる。その例について、図１１（ａ）、（ｂ）を参照して説明する。尚、図１１（ａ）、（ｂ）においても、１セクタの記憶容量が５１２バイトである場合を例としている。
【００６３】
図１１（ａ）は、ＨＤＤ４０へのデータ格納時に２つの暗号器１４４を用いる場合における、ＨＤＤ４０の台数及びＲＡＩＤレベルと、各暗号器１４４が排他的論理和の演算に初期化ベクトルを用いるデータ量の間隔との関係を示すテーブルである。尚、以降の説明においては、暗号器１４４が排他的論理和の演算に初期化ベクトルを用いることを、“初期化を行う”と表現する。
【００６４】
例えば、ＨＤＤ４０が１台の場合や、ＨＤＤ４０が２台、４台でミラーリングを行う場合、ＨＤＤバッファ１４６に保持された暗号化データは、分割されることなく全て同一のＨＤＤ４０に格納され、ミラーリングの場合は、夫々のＨＤＤ４０に同一の暗号化データが格納される。従って、各暗号器１４４は、２つの暗号器１４４から出力される分割暗号化データの合計が５１２バイトの倍数になる度、即ち、２５６バイトのデータを暗号化する度に初期化を行う。
【００６５】
また、ＨＤＤ２台でストライピングを行う場合、ＨＤＤバッファ１４６に保持された暗号化データは２つに分割された上で、２台のＨＤＤ４０に夫々格納される。従って、各暗号器１４４は、２つの暗号器１４４から出力される分割暗号化データの合計が１０２４バイトの倍数になる度、即ち、５１２バイトのデータを暗号化する度に初期化を行う。即ち、ストライピングのように、ＨＤＤ４０においてデータが分割されて記憶される場合、各暗号器１４４は、暗号化に用いられる暗号器１４４によって暗号化されたデータ量の合計が、ＨＤＤ４０の読み出し単位であるセクタサイズをＨＤＤ４０におけるデータ分割数で割った値の倍数になる度に初期化を行う。
【００６６】
他方、図１１（ｂ）は、ＨＤＤ４０へのデータ格納時に４つの暗号器１４４を用いる場合における、ＨＤＤ４０の台数及びＲＡＩＤレベルと、各暗号器１４４が排他的論理和の演算に初期化ベクトルを用いるデータ量の間隔との関係を示すテーブルである。図１１（ｂ）に示すように、ＨＤＤ４０が１台の場合や、ＨＤＤ４０が２台、４台でミラーリングを行う場合、各暗号器１４４は、４つの暗号器１４４から出力される分割暗号化データの合計が５１２バイトの倍数になる度、即ち、１２８バイトのデータを暗号化する度に初期化を行う。
【００６７】
また、ＨＤＤ２台でストライピングを行う場合、各暗号器１４４は、４つの暗号器１４４から出力される分割暗号化データの合計が１０２４バイトの倍数になる度、即ち、２５６バイトのデータを暗号化する度に初期化を行う。
【００６８】
また、上記実施形態においては、暗号器１４４がＨＤＤコントローラ１１４の一部として含まれ、ＨＤＤ４０に格納されるデータを暗号化若しくは復号する場合を例として説明した。これに限らず、ネットワークコントローラ１１６の一部として上述した暗号器１４４、メモリバッファ制御部１４２及びＨＤＤバッファ制御部１４５が含まれ、ネットワークを介して外部に出力するデータを暗号化し、若しくはネットワークを介して外部から入力されるデータを復号する場合に適用することも可能である。
【００６９】
更には、ＨＤＤコントローラ１１４及びネットワークコントローラ１１６の一部としてではなく、コントローラＡＳＩＣに含まれる１つのモジュールとして、上述した複数の暗号器１４４を含む機能を構成することも可能である。
【００７０】
また、上記実施形態においては、図９に示す暗号器数情報を用いて、暗号化データが暗号化された際に用いられた暗号器１４４の数を管理する場合を例として説明した。これに限らず、本実施形態の要旨は、暗号化データを復号する際に、その暗号化データが暗号化された際に用いられた暗号器１４４の数が判明すれば達成されるため、必ずしも図９に示すような暗号器数情報を用いて、暗号化データとは別のデータとしてテーブルにより管理する必要はない。
【００７１】
上記暗号器数情報を用いる場合以外の態様としては、例えば、ＨＤＤバッファ制御部１４５が暗号化データをＨＤＤ４０に格納する際に、暗号化データに暗号器数の情報を付加して格納することが考えられる。この場合、ＨＤＤバッファ制御部１４５は、復号すべき暗号化データを読み出してＨＤＤバッファ１４６に保持させ、その暗号化データに付加された暗号器数の情報を参照することにより、上記と同様の処理を実行することが可能となる。
【００７２】
実施の形態２．
本実施形態においては、上述したように、ＨＤＤコントローラ１１４及びネットワークコントローラ１１６の一部としてではなく、コントローラＡＳＩＣに含まれる１つのモジュールとして複数の暗号器１４４を含む暗号化モジュールが構成され、ＨＤＤコントローラ１１４及びネットワークコントローラ１１６のように、複数の情報処理モジュールが暗号化モジュールを共用する場合について説明する。尚、実施の形態１と同一の符号を付す構成については、同一または相当部を示し、詳細な説明を省略する。
【００７３】
図１２は、本実施形態に係るコントローラＡＳＩＣ１１０におけるアービタ１１３、ＨＤＤコントローラ１１４、ネットワークコントローラ１１６及び暗号化モジュール１１７の機能構成を示すブロック図である。図１２に示すように、本実施形態に係るＨＤＤコントローラ１１４は、実施の形態１における構成のうち複数の暗号器１４４以外の構成を含む。
【００７４】
また、本実施形態に係るネットワークコントローラ１１６は、ＤＭＡコントローラ１６１、メモリバッファ制御部１６２、メモリバッファ１６３、ＮＷ（ＮｅｔＷｏｒｋ）バッファ制御部１６５、ＮＷバッファ１６６及びネットワークＩ／Ｆ１６７を含む。ＤＭＡコントローラ１６１、メモリバッファ制御部１６２、メモリバッファ１６３は、夫々ＨＤＤコントローラ１１４に含まれるＤＭＡコントローラ１４１、メモリバッファ制御部１４２、メモリバッファ１４３と同様の機能を有する。
【００７５】
ＮＷバッファ制御部１６５、ＮＷバッファ１６６及びネットワークＩ／Ｆ１６７は、ＨＤＤコントローラ１１４のＨＤＤバッファ制御部１４５、ＨＤＤバッファ１４６及びＲＡＩＤコントローラ１４７に対応する構成であり、ＨＤＤコントローラ１１４においてＨＤＤ４０とのデータ送受信が実現されるように、ネットワークを介したデータ送受信を実現する。
【００７６】
暗号化モジュール１１７は、複数の暗号器１４４及び複数の暗号器の入力／出力側に接続されたセレクタＳ１１、Ｓ１２、Ｓ２１、Ｓ２２、・・・Ｓｎ１、Ｓｎ２（以降、総じてセレクタＳとする）を含む。複数の暗号器１４４は、セレクタＳを介してＨＤＤコントローラ１１４及びネットワークコントローラ１１６に接続されている。例えば、暗号器１４４−１は、セレクタＳ１１を介してＨＤＤコントローラ１１４のメモリバッファ制御部１４２及びネットワークコントローラ１１６のメモリバッファ制御部１６２に接続されていると共に、セレクタＳ１２を介してＨＤＤコントローラ１１４のＨＤＤバッファ制御部１４５及びネットワークコントローラ１１６のＮＷバッファ制御部１６５に接続されている
【００７７】
各セレクタＳは、メモリバッファ制御部１４２、ＨＤＤバッファ制御部１４５、メモリバッファ制御部１６２及びＮＷバッファ制御部１６５から出力される制御信号に従って、暗号器１４４をＨＤＤコントローラ１１４側か、ネットワークコントローラ１１６側のいずれかに接続する接続切換部である。例えば、暗号器１４４−１がＨＤＤコントローラ１１４によって用いられる場合、メモリバッファ制御部１４２がセレクタＳ１１に対して制御信号を出力して、暗号器１４４−１とメモリバッファ制御部１４２とが接続されるようにセレクタＳ１１の接続状態を切り替える。また、ＨＤＤバッファ制御部１４５がセレクタＳ１２に対して制御信号を出力して、暗号器１４４−１とＨＤＤバッファ制御部１４５とが接続されるようにセレクタＳ１２の接続状態を切り替える。これにより、暗号器１４４−１は、ＨＤＤコントローラ１１４によって用いられることとなる。
【００７８】
セレクタＳにより接続状態が切り替えられた後の、暗号器１４４を用いた暗号化／復号の処理は、実施の形態１において説明された態様と同様である。また、メモリバッファ制御部１６２及びＮＷバッファ制御部１６５は、メモリバッファ制御部１４２及びＨＤＤバッファ制御部１４５と同様に動作することにより、ネットワークを介して出力すべきデータを暗号化し、若しくはネットワークを介して受信したデータを復号する。
【００７９】
メモリバッファ制御部１４２、ＨＤＤバッファ制御部１４５、メモリバッファ制御部１６２及びＮＷバッファ制御部１６５は、ＣＰＵ１０による制御に従い、セレクタＳを制御するための制御信号を出力する。画像形成装置１には、複数の暗号器１４４をＨＤＤコントローラ１１４とネットワークコントローラ１１６に対してどのように振り分けるかを制御するためのアプリケーション・プログラム（以降、暗号器数決定プログラムとする）がインストールされており、ＣＰＵ１０は、ＲＡＭ２０に読み出された暗号器決定プログラムに従って、メモリバッファ制御部１４２、ＨＤＤバッファ制御部１４５、メモリバッファ制御部１６２及びＮＷバッファ制御部１６５を制御する。即ち、ＣＰＵ１０が暗号器数決定プログラムに従って演算を行うことにより、暗号化部割り当て制御部として機能する。
【００８０】
本実施形態に係る暗号器数決定プログラムにおいては、画像形成装置１の動作状態に従って複数の暗号器１４４をＨＤＤコントローラ１１４とネットワークコントローラ１１６に対してどのように振り分けるかが決定される。図１３は、画像形成装置１の動作状態と、暗号器数の振り分けとの関係を示すテーブルである。尚、図１３の例においては、暗号器１４４の総数が４つである場合を示す。
【００８１】
図１３に示すように、原稿を複写する複写動作や、生成した画像をＨＤＤ４０に格納するスキャン（格納）の場合、ネットワークコントローラ１１６によるネットワークを介した情報の送受信は行われないため、４つの暗号器１４４は全てＨＤＤコントローラ１１４によって用いられる。また、プリントアウト動作の場合、ネットワークを介した情報のやり取りとＨＤＤ４０との情報のやり取りとが同程度であるため、ＨＤＤコントローラ１１４とネットワークコントローラ１１６とに同数の暗号器１４４が振り分けられる。
【００８２】
また、生成した画像をネットワークを介して配信するスキャン（配信）の場合、ＨＤＤとの情報のやり取りよりもネットワークを介した情報のやり取りの方が多いため、ＨＤＤコントローラ１１４に１つ、ネットワークコントローラ１１６に３つの暗号器１４４が振り分けられる。
【００８３】
ＣＰＵ１０は、図１３に示すようなルールに従って、暗号器１４４の割り当て数を決定し、決定した割り当て数をメモリバッファ制御部１４２、ＨＤＤバッファ制御部１４５、メモリバッファ制御部１６２及びＮＷバッファ制御部１６５に通知する。これにより、メモリバッファ制御部１４２、ＨＤＤバッファ制御部１４５、メモリバッファ制御部１６２及びＮＷバッファ制御部１６５が、上述したようにセレクタＳを切り替えるための切替信号を出力する。
【００８４】
このように、本実施形態に係る画像形成装置１に含まれる暗号化モジュール１１７によれば、複数のモジュールによる暗号化モジュールの共用を、簡易な構成で実現することが可能である。
【００８５】
尚、上記実施形態においては、メモリバッファ制御部１４２、ＨＤＤバッファ制御部１４５、メモリバッファ制御部１６２及びＮＷバッファ制御部１６５が夫々切替信号を出力する場合を例として説明した。しかしながら、これらのうち少なくとも１つが、全てのセレクタＳの接続状態を切り替えるようにしても良い。
【符号の説明】
【００８６】
１  画像形成装置、
１０  ＣＰＵ、
２０  ＲＡＭ、
３０  ＲＯＭ、
４０  ＨＤＤ、
５０  Ｉ／Ｆ、
６０  ＬＣＤ、
７０  操作部、
８０  バス、
１００  コントローラ、
１０１  スキャナ、
１０２  エンジンユニット、
１０３  プロッタ、
１１１  スキャナＩ／Ｆ、
１１２  ＣＰＵ  Ｉ／Ｆ
１１３  アービタ、
１１４  ＨＤＤコントローラ、
１１５  画像処理コントローラ、
１１６  ネットワークコントローラ、
１４１  ＤＭＡコントローラ、
１４２  メモリバッファ制御部、
１４３  メモリバッファ、
１４４  暗号器、
１４５  ＨＤＤバッファ制御部、
１４６  ＨＤＤバッファ、
１４７  ＲＡＩＤコントローラ、
１６１  ＤＭＡコントローラ、
１６２  メモリバッファ制御部、
１６３  メモリバッファ、
１６５  ＮＷバッファ制御部、
１６６  ＮＷバッファ、
１６７  ネットワークＩ／Ｆ
【先行技術文献】
【特許文献】
【００８７】
【特許文献１】特開２００７−２１５０２８号公報
【図１】
2011250020.tif 000003
【図２】
2011250020.tif 000004
【図３】
2011250020.tif 000005
【図４】
2011250020.tif 000006
【図５】
2011250020.tif 000007
【図６】
2011250020.tif 000008
【図７】
2011250020.tif 000009
【図８】
2011250020.tif 000010
【図９】
2011250020.tif 000011
【図１０】
2011250020.tif 000012
【図１１】
2011250020.tif 000013
【図１２】
2011250020.tif 000014
【図１３】
2011250020.tif 000015