(57)【要約】【課題】  複数の外部記憶メディアの状態にかかわらず、複数の暗号器の正当性の確認を行うことができるようにする。【解決手段】  テスト回路１７０では、複数の暗号器１５３ａ，１５３ｂに対するテストモードが設定された場合に、複数の暗号器１５３ａ，１５３ｂをそれぞれ通してメモリと複数の内部記憶部１５１ａ，１５１ｂとの間でテストデータの読み書きを往復で行うように、ＤＭＡコントローラ１５２および複数のＩＦ制御部１６０ａ，１６０ｂのデータ転送方向を切り替え制御して複数の暗号器１５３ａ，１５３ｂの暗号化および復号に関するテストを実行する。このとき、データ比較器１８０が、複数の暗号器１５３ａ，１５３ｂからそれぞれ出力される各テストデータを比較して一致するか否かを判定する。そして、その判定結果を比較結果通知部１８１が保持し、テスト終了後、その判定結果をＣＰＵへ通知する。【選択図】        図３
2013198036.tif 000002
【特許請求の範囲】
【請求項１】
データに対して処理を行う処理手段と、該処理手段によって処理されるデータを記憶する記憶手段とを有するデータ処理装置であって、
前記記憶手段から複数の外部記憶手段への各転送データおよび該複数の外部記憶手段から前記記憶手段への各転送データをそれぞれ一時的に記憶する複数の一時記憶手段と、
前記記憶手段から前記複数の一時記憶手段への各転送データの暗号化および該複数の一時記憶手段から前記記憶手段への各転送データの復号をそれぞれ行う複数の暗号手段と、
前記記憶手段に対するデータの読み書き、前記複数の一時記憶手段に対するデータの読み書き、および前記記憶手段と前記複数の一時記憶手段との間のデータ転送を制御するデータ制御手段と、
前記複数の暗号手段に対するテストモードが設定された場合に、前記複数の暗号手段をそれぞれ通して前記記憶手段と前記複数の一時記憶手段との間でテストデータの読み書きを往復で行うように前記データ制御手段のデータ転送方向を切り替え制御して前記複数の暗号手段の暗号化および復号に関するテストを実行するテスト手段とを設け、
該テスト手段は、前記複数の暗号手段からそれぞれ出力される各データを比較して一致するか否かを判定する比較判定手段と、該比較判定手段による判定結果の通知を行う結果通知手段とを有することを特徴とするデータ処理装置。
【請求項２】
前記比較判定手段は、前記複数の暗号手段が３つ以上の暗号手段の場合、予め設定された１つの暗号手段から出力されるデータを基準データとして、その基準データを他の各暗号手段からそれぞれ出力されるデータとそれぞれ比較して一致するか否かを判定し、その各判定結果を前記結果通知手段へ通知することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記比較判定手段は、前記複数の暗号手段が３つ以上の暗号手段の場合、隣り合う暗号手段からそれぞれ出力されるデータを比較して一致するか否かを判定し、その判定結果を前記結果通知手段へ通知することを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記テスト手段は、前記複数の暗号手段の暗号化に関するテスト時には、前記記憶手段から前記データ制御手段によって前記テストデータを読み出させ、そのテストデータを前記複数の暗号手段によってそれぞれ暗号化させ、その暗号化された各テストデータをそれぞれ前記データ制御手段によって前記複数の一時記憶手段に書き込ませた後、該複数の一時記憶手段の１つから暗号化されたテストデータを前記データ制御手段によって読み出させ、そのテストデータを前記複数の暗号手段の１つをそのままスルーさせ、前記データ制御手段によって前記記憶手段に書き戻させることを特徴とする請求項１から３のいずれか一項に記載のデータ処理装置。
【請求項５】
前記テスト手段は、前記複数の暗号手段の暗号化に関するテスト時には、前記記憶手段から前記データ制御手段によって前記テストデータを読み出させ、そのテストデータを前記複数の暗号手段によってそれぞれ暗号化させ、その暗号化された各テストデータの１つを前記データ制御手段によって前記複数の一時記憶手段の１つに書き込ませた後、該１つの一時記憶手段から暗号化されたテストデータを前記データ制御手段によって読み出させ、そのテストデータを前記複数の暗号手段の１つをそのままスルーさせ、前記データ制御手段によって前記記憶手段に書き戻させることを特徴とする請求項１から３のいずれか一項に記載のデータ処理装置。
【請求項６】
前記テスト手段は、前記複数の暗号手段の暗号化に関するテスト時には、前記記憶手段から前記データ制御手段によって前記テストデータを読み出させ、そのテストデータを前記複数の暗号手段によってそれぞれ暗号化させ、その暗号化された各テストデータの１つを前記データ制御手段によって前記複数の一時記憶手段の１つに書き込ませ、その書き込みデータ量が所定量に達する度に、前記１つのテストデータの書き込み先を前記複数の一時記憶手段の他の１つに切り替え、そのテストデータの書き込みが終了した後、そのテストデータを書き込んだ順に、前記複数の一時記憶手段の１つから暗号化されたテストデータを前記データ制御手段によって読み出させ、そのテストデータを前記複数の暗号手段の１つをそのままスルーさせ、そのスルーされたテストデータを前記データ制御手段によって前記記憶手段に書き戻させることを特徴とする請求項１から３のいずれか一項に記載のデータ処理装置。
【請求項７】
前記テスト手段は、前記複数の暗号手段の復号に関するテスト時には、前記記憶手段から前記データ制御手段によって暗号化されたテストデータを読み出させ、そのテストデータを前記複数の暗号手段をそのままスルーさせ、そのスルーされた各テストデータを前記データ制御手段によってそれぞれ前記複数の一時記憶手段に書き込ませた後、該複数の一時記憶手段からそれぞれ暗号化された各テストデータを前記データ制御手段によって読み出させ、その各テストデータをそれぞれ前記複数の暗号手段によって復号させ、その復号された各テストデータの１つを前記データ制御手段によって前記記憶手段に書き戻させることを特徴とする請求項１から６のいずれか一項に記載のデータ処理装置。
【請求項８】
前記結果通知手段は、前記比較判定手段による前記各暗号手段別の判定結果を保持する手段を有し、該手段に各テストデータが一致していない旨の判定結果を保持した場合に、該判定結果の通知をエラー割り込みで発生させることを特徴とする請求項１から７のいずれか一項に記載のデータ処理装置。
【請求項９】
データに対して処理を行う処理手段と、該処理手段によって処理されるデータを記憶する記憶手段と、前記記憶手段から複数の外部記憶手段への各転送データおよび該複数の外部記憶手段から前記記憶手段への各転送データをそれぞれ一時的に記憶する複数の一時記憶手段と、前記記憶手段から前記複数の一時記憶手段への各転送データの暗号化および該複数の一時記憶手段から前記記憶手段への各転送データの復号をそれぞれ行う複数の暗号手段と、前記記憶手段に対するデータの読み書き、前記複数の一時記憶手段に対するデータの読み書き、および前記記憶手段と前記複数の一時記憶手段との間のデータ転送を制御するデータ制御手段とを有するデータ処理装置の暗号化および復号処理のテスト方法であって、
前記複数の暗号手段に対するテストモードが設定された場合に、前記複数の暗号手段をそれぞれ通して前記記憶手段と前記複数の一時記憶手段との間でテストデータの読み書きを往復で行うように前記データ制御手段のデータ転送方向を切り替え制御して前記複数の暗号手段の暗号化および復号に関するテストを実行するテスト工程を有し、
該テスト工程は、前記複数の暗号手段からそれぞれ出力される各データを比較して一致するか否かを判定して、その判定結果の通知を行う工程を有することを特徴とする暗号化および復号処理のテスト方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ処理装置およびその暗号化および復号処理のテスト方法に関する。
【背景技術】
【０００２】
近年、例えばデジタル複合機（以下「ＭＦＰ」ともいう）において、利用されていないときには電源を切ることで、消費電力を抑えることが一般的に行われている。
また、ユーザの利便性を損なわないために、省エネルギーモードで電源が切れている状態から実際に機器が使える状態になるまでの起動時間を高速化しなければならないという要求がある。
【０００３】
ところで、画像を高速で扱うＭＦＰにおいて、外部記憶メディアとして、ハードディスクといった外部の大容量記憶メディアを持つのが一般的である。これは、スキャナやネットワークから送られた画像データの一時保管や再利用のために用いられる。しかし、外部接続の大容量記憶メディアは、一般的に読み書き速度が遅い。
近年のＭＦＰの高性能化により、外部大容量記憶メディアへの書き込み速度に対して、ＭＦＰの画像データ転送速度が速くなってきている。
【０００４】
そのため、大容量記憶メディアを複数台接続し、データを分散させることで読み書き速度が遅いことに対しての対応を行っている。
一方、外部記憶メディアは取り外しが容易にできるため、セキュリティ上問題となりやすい。
そこで、複数の外部記憶メディア（記憶装置）にデータを複数に分散して記録する際に、その各データをそれぞれ対応する暗号器によって暗号化する方法が提案されている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
暗号器を有する集積回路（ＬＳＩ）では、暗号器の正当性を確保するために、起動時に暗号器の動作確認テスト（暗号化および復号に関するテスト）を実施しなければならない。この場合、暗号器を利用して外部記憶メディアへ一度、データ出力を行い、それを再度メモリへ読み込み、予め用意した期待値データと一致するかを比較する方法がとられる。
外部記憶メディアは、駆動系が安定動作するまで待つ必要があるものがある。また、動作前に初期化を行う必要があるものもある。
【０００６】
これらの処理には、比較的時間がかかることは周知の事実である。よって、起動時にこれらの処理を行うと、機器をユーザが利用するまでの時間（起動時間）が大幅に長くなってしまい、ユーザの利便性を損なうものとなる。
この発明は、上記の点に鑑みてなされたものであり、データ処理装置において、複数の外部記憶手段（外部記憶メディア等）の状態にかかわらず、複数の暗号器の正当性の確認を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明は、データに対して処理を行う処理手段と、該処理手段によって処理されるデータを記憶する記憶手段とを有するデータ処理装置であって、上記の目的を達成するため、次のようにしたことを特徴とする。
すなわち、上記記憶手段から複数の外部記憶手段への各転送データおよび該複数の外部記憶手段から上記記憶手段への各転送データをそれぞれ一時的に記憶する複数の一時記憶手段を設ける。
また、上記記憶手段から上記複数の一時記憶手段への各転送データの暗号化および該複数の一時記憶手段から上記記憶手段への各転送データの復号をそれぞれ行う複数の暗号手段を設ける。
【０００８】
さらに、上記記憶手段に対するデータの読み書き、上記複数の一時記憶手段に対するデータの読み書き、および上記記憶手段と上記複数の一時記憶手段との間のデータ転送を制御するデータ制御手段を設ける。
さらにまた、上記複数の暗号手段に対するテストモードが設定された場合に、上記複数の暗号手段をそれぞれ通して上記記憶手段と上記複数の一時記憶手段との間でテストデータの読み書きを往復で行うように上記データ制御手段のデータ転送方向を切り替え制御して上記複数の暗号手段の暗号化および復号に関するテストを実行するテスト手段を設ける。
【０００９】
そして、上記テスト手段に、上記複数の暗号手段からそれぞれ出力される各データを比較して一致するか否かを判定する比較判定手段と、該比較判定手段による判定結果の通知を行う結果通知手段とを備えたものである。
【発明の効果】
【００１０】
この発明のデータ処理装置によれば、複数の外部記憶手段の状態にかかわらず、複数の暗号器の正当性の確認を行うことができる。
【図面の簡単な説明】
【００１１】
【図１】この発明によるデータ処理装置の第１実施形態である画像形成装置の制御系の構成例を示すブロック図である。
【図２】図１に示した画像形成装置における外部メディアＩＦ１５の構成例を他の主要部分と共に示すブロック図である。
【図３】図２に示した外部メディアＩＦ１５におけるＩＦ制御部１６０ａ，１６０ｂを含む主要部分の構成例を示すブロック図である。
【図４】図１のＣＰＵ１による制御の一つであるテスト処理の一例を示すフローチャートである。
【図５】図３のテスト回路１７０が暗号器１５３ａ，１５３ｂの暗号化に関するテストを実行する場合の制御例を示すフローチャートである。
【００１２】
【図６】図３のテスト回路１７０が暗号器１５３ａ，１５３ｂの復号に関するテストを実行する場合の制御例を示すフローチャートである。
【図７】この発明によるデータ処理装置の第２実施形態である画像形成装置における外部メディアＩＦ内の主要部の構成例を暗号化テスト時のデータの流れと共に示す概念図である。
【図８】図７に示した外部メディアＩＦ１５による暗号化テスト時のデータ制御の説明に供するブロック図である。
【図９】図７に示した外部メディアＩＦ１５による暗号化テスト時のデータ転送制御の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、この発明を実施するための形態について説明する。
以下の実施形態では、暗号器（暗号化回路）の正当性の確認処理、つまり動作確認テスト（暗号化および復号に関するテスト）に際して、以下の（１）〜（５）に示す処理を行う点に特徴を有する。
（１）メモリから暗号器の動作確認テストに必要なデータ（テスト用の入力データ）であるテストデータを取得した後、それを全ての暗号器に転送する。
（２）全ての暗号器からの出力結果（暗号化データ又は復号データ）を比較し、同じであることを確認する。
（３）暗号器の出力結果を内部記憶部へ書き込む。
（４）１つの暗号器の出力結果をメモリへ出力して書き戻す。
（５）メモリへの出力結果と出力期待値とを比較する。
【００１４】
すなわち、一つの暗号器を動作確認するためのテストデータを読み込んだ際に、そのテストデータを全ての暗号器に転送し、その各暗号器の出力結果の差分をとり、全ての暗号器が同じ動作をすることを確認する。そして、１つの暗号器の出力結果をメモリへ出力して書き戻し、出力期待値との比較を行うことで、一度に全ての暗号器の正当性を確認できることが特徴になっている。
【００１５】
そこで、上記の特徴について図１〜図９を参照して具体的に説明する。
図１は、この発明によるデータ処理装置の第１実施形態である画像形成装置の制御系の構成例を示すブロック図である。
【００１６】
この第１実施形態の画像形成装置は、例えばＭＦＰであり、ＣＰＵ（中央処理装置）１を備えている。このＣＰＵ１は、後述するメモリ２内のＲＡＭに展開したソフトウェア（プログラム）５０に従い、画像データ等の各種データに対して処理を行うなど、当該画像形成装置全体の制御を司るように動作制御する。よって、ＣＰＵ１がソフトウェア５０と共に処理手段としての機能を果す。
【００１７】
この画像形成装置はまた、メモリ２を備えている。このメモリ２は、少なくともＲＯＭおよびＲＡＭを含めて構成している。これらのうち、ＲＯＭはＣＰＵ１からアクセス可能で、ソフトウェア５０を含む固定データを格納（記憶）している読み出し専用メモリである。ＲＡＭは、ＣＰＵ１や後述のＤＭＡ（Direct Memory Access）コントローラからアクセス可能で、ソフトウェア５０やＣＰＵ１によって処理されるデータを含む各種データを記憶する読み書き可能なメモリである。よって、ＲＡＭが記憶手段に相当する。なお、ソフトウェア５０は、電源投入時にＣＰＵ１によってＲＯＭから読み出されてＲＡＭに展開される。
【００１８】
この画像形成装置は更に、スキャナ３、プロッタ４、外部記憶メディア５ａ，５ｂ、ファクシミリ装置（以下「ＦＡＸ」という）６、ネットワーク７等の複数の画像処理アルゴリズムモジュールを備えている。
スキャナ３は、原稿画像を読み取るデバイス（画像読取手段）である。
プロッタ４は、画像データを印刷出力するデバイス（画像形成手段）である。
外部記憶メディア５ａ，５ｂは、画像データ等の各種データを記憶するＵＳＢ（Universal Serial Bus）メモリやハードディスク装置（ＨＤＤ）等の大容量記憶メディアであり、外部から着脱可能に備えている（外部接続されている）。よって、この外部記憶メディア５ａ，５ｂが外部記憶手段に相当する。なお、外部記憶メディアは３つ以上でもよい。
【００１９】
ＦＡＸ６は、接続されたファクシミリ回線網に従い、ファクシミリ通信を行うためのデバイス（画像形成手段）である。
ネットワーク７は、パーソナルコンピュータ等の外部機器との間のデータの授受（通信）を行うためのＬＡＮ（ローカル・エリア・ネットワーク）等の通信回線網である。
ＣＰＵ１は、アクセス制御を行うＣＰＵ・インタフェース（以下「インタフェース」を「Ｉ／Ｆ」又は「ＩＦ」と略称する）１１を介してデータバス１９に接続されている。
【００２０】
同様に、メモリ２、スキャナ３、プロッタ４、外部記憶メディア５ａ，５ｂ、ＦＡＸ６、ネットワーク７は、それぞれ、アクセス制御を行うメモリＩ／Ｆ１２、スキャナ入力部１３、プロッタ出力部１４、外部メディアＩＦ１５、ＦＡＸ・Ｉ／Ｆ１６、ネットワークＩ／Ｆ１７を介してデータバス１９に接続されている。これらのＣＰＵ・Ｉ／Ｆ１１等のアクセス制御部は、ＡＳＩＣ（特定用途向け集積回路）１０を構成している。このＡＳＩＣ１０には、画像データの向きを回転させる回転器１８も内蔵されている。
【００２１】
図２は、図１に示した画像形成装置における外部メディアＩＦ１５の構成例を他の主要部分と共に示すブロック図である。
外部メディアＩＦ１５は、ＵＳＢメモリ等の外部記憶メディア５ａ，５ｂへのアクセス制御を行うものであり、インタフェース回路を構成する。
【００２２】
この外部メディアＩＦ１５は、ＳＲＡＭ（Static RAM）等の内部記憶部１５１ａ，１５１ｂと、リードライト兼用のＤＭＡコントローラ（以下単に「ＤＭＡコントローラ」ともいう）１５２と、暗号器１５３ａ，１５３ｂと、ＩＦ制御部１６０ａ，１６０ｂとを備えている。なお、外部メディアＩＦ１５が３つ以上の外部記憶メディアへのアクセス制御を行うためには、暗号器とＩＦ制御部とを３つ以上ずつ設けるとよい。
【００２３】
リードライト兼用のＤＭＡコントローラ１５２は、メモリ２へのデータリード（データの読み出し）又はデータライト（データの書き込み）を、ＣＰＵ１を介さずに直接行うための機能を有する。通常、外部記憶メディア５ａ，５ｂはリード動作、ライト動作を排他で行う。そこで、回路規模を小さくするために、通常は、リードライト兼用のＤＭＡコントローラ１５２を利用する。
【００２４】
このＤＭＡコントローラ１５２は、メモリ２から読み込んだデータを加工して暗号器１５３ａ，１５３ｂへ転送する。一般的には、読み込んだデータをＮ個（この例では２個）の外部記憶メディア５ａ，５ｂに分散して配置する方法（ストライピング）と同じデータを送る方法（ミラーリング）がある。一般的に、画像形成装置ではコストとの兼ね合いからストライピングが用いられる。
【００２５】
暗号器１５３ａ，１５３ｂはそれぞれ、ＤＭＡコントローラ１５２により読み込まれたデータの暗号化を行ったり、外部記憶メディア５ａ，５ｂから読み込まれた暗号化データを復号してＤＭＡコントローラ１５２に渡したりするデータ暗号化・復号を行う機能部である。
ＩＦ制御部１６０ａ，１６０ｂはそれぞれ、外部記憶メディア５ａ，５ｂへアクセスを行うためのインタフェースを制御するものである。
【００２６】
内部記憶部１５１ａ，１５１ｂは、それぞれメモリ２からの転送データを読み込み、外部記憶メディア５ａ，５ｂへ転送する際に一時バッファとして利用されるメモリである。これは、外部記憶メディア５ａ，５ｂのデータ転送が一般的に速度が遅いため、内部のデータ転送速度と外部のデータ転送速度の速度差を吸収するために存在する。この内部記憶部１５１ａ，１５１ｂはまた、外部記憶メディア５ａ，５ｂからの転送データを読み込み、メモリ２へ転送する際にも一時バッファとして利用される。よって、この内部記憶部１５１ａ，１５１ｂは、メモリ２から複数の外部記憶メディア５ａ，５ｂへの各転送データおよび複数の外部記憶メディア５ａ，５ｂからメモリ２への各転送データをそれぞれ一時的に記憶する複数の一時記憶手段に相当する。
【００２７】
データ転送により、この画像形成装置では、外部入力装置からのデータをメモリ２へ保存する。外部入力装置は、図１のスキャナ３や、ＦＡＸ６、ネットワーク７に相当する。また、ＵＳＢメモリやＳＤメモリカードといった取り外し可能なデバイスも外部入力装置に含まれる。
メモリ２に保存されたデータは、外部メディアＩＦ１５のＤＭＡコントローラ１５２により読み込まれ、その読み込まれたデータはＤＭＡコントローラ１５２により外部記憶メディア５ａ，５ｂの数に分割され、暗号器１５３ａ，１５３ｂへ送られる。
【００２８】
暗号器１５３ａ，１５３ｂは、それぞれＤＭＡコントローラ１５２から受け取ったデータを暗号化し、ＩＦ制御部１６０ａ，１６０ｂへ転送する。また、それぞれＩＦ制御部１６０ａ，１６０ｂから受け取った暗号化データを復号し、ＤＭＡコントローラ１５２へ転送する。よって、この暗号器１５３ａ，１５３ｂは、メモリ２から複数の内部記憶部１５１ａ，１５１ｂへの各転送データの暗号化および複数の内部記憶部１５１ａ，１５１ｂからメモリ２への各転送データの復号をそれぞれ行う複数の暗号手段に相当する。
【００２９】
ＩＦ制御部１６０ａ，１６０ｂは、それぞれ暗号器１５３ａ，１５３ｂから受け取ったデータを、一度内部記憶部１５１ａ，１５１ｂへ保存する。そして、内部記憶部１５１ａ，１５１ｂへのデータが一定量に達すると、外部記憶メディア５ａ，５ｂへデータを転送する。また、それぞれ外部記憶メディア５ａ，５ｂから受け取ったデータを、一度内部記憶部１５１ａ，１５１ｂへ保存する。そして、内部記憶部１５１ａ，１５１ｂへのデータが一定量に達すると、暗号器１５３ａ，１５３ｂへデータを転送する。このＩＦ制御部１６０ａ，１６０ｂは、ＤＭＡコントローラ１５２と共に、メモリ２に対するデータの読み書き、複数の内部記憶部１５１ａ，１５１ｂに対するデータの読み書き、およびメモリ２と複数の内部記憶部１５１ａ，１５１ｂとの間のデータ転送を制御するデータ制御手段としての機能を果す。
【００３０】
図３は、図２に示した外部メディアＩＦ１５におけるＩＦ制御部１６０ａ，１６０ｂを含む主要部分の構成例を示すブロック図である。
この外部メディアＩＦ１５は、ＩＦ制御部１６０ａと１６０ｂとの間に、図２では図示を省略したテスト回路１７０を備えている。このテスト回路１７０は、ＩＦ制御部１６０ａ又は１６０ｂに備えることもできる。
ＩＦ制御部１６０ａ，１６０ｂは、それぞれメモリ制御モジュール１６１ａ，１６１ｂとＩＦ制御モジュール１６２ａ，１６２ｂとを備えている。
【００３１】
メモリ制御モジュール１６１ａ，１６１ｂは、それぞれ暗号器１５３ａ，１５３ｂとのインタフェース制御を行う機能部である。つまり、それぞれ暗号器１５３ａ，１５３ｂを制御してＤＭＡコントローラ１５２からデータを取得し、内部記憶部１５１ａ，１５１ｂへ格納する機能を有している。また、それぞれ内部記憶部１５１ａ，１５１ｂからデータを取得し、暗号器１５３ａ，１５３ｂを制御してＤＭＡコントローラ１５２へデータを格納する機能を有している。
【００３２】
ＩＦ制御モジュール１６２ａ，１６２ｂは、それぞれ外部記憶メディア５ａ，５ｂとのインタフェース制御を行う機能部である。つまり、それぞれ内部記憶部１５１ａ，１５１ｂからデータを取得して外部記憶メディア５ａ，５ｂへ転送する機能を有している。または、それぞれ外部記憶メディア５ａ，５ｂからデータを取得して内部記憶部１５１ａ，１５１ｂへ格納する機能を有する。
【００３３】
テスト回路１７０は、暗号器１５３ａ，１５３ｂの動作確認テスト、つまり暗号器１５３ａ，１５３ｂの暗号化および復号に関するテストを行うものであり、次のように構成されている。つまり、モード選択部１７１、ＩＦ動作制御部１７２、暗号器制御部１７３、ＤＭＡコントローラ（ＤＭＡＣ）制御部１７４、読み取りアドレス保持部１７５、書き込みアドレス保持部１７６、テストデータサイズ保持部１７７、書き込みデータカウンタ１７８、完了通知部１７９、データ比較器１８０、および比較結果通知部１８１を備えている。
【００３４】
このテスト回路１７０は、複数の暗号器１５３ａ，１５３ｂに対するテストモードが設定された場合に、複数の暗号器１５３ａ，１５３ｂをそれぞれ通してメモリ２と複数の内部記憶部１５１ａ，１５１ｂとの間でテストデータの読み書きを往復で行うように、ＤＭＡコントローラ１５２およびＩＦ制御部１６０ａ，１６０ｂのデータ転送方向を切り替え制御して複数の暗号器１５３ａ，１５３ｂの暗号化および復号に関するテストを実行するテスト手段に相当する。
【００３５】
モード選択部１７１は、暗号器１５３ａ，１５３ｂの動作確認テストである「暗号器テスト」のモードや他のモードを選択するスイッチの役割をなす。モードとしては、「通常転送」モードと「暗号器テスト」モードとを選択できる。「通常転送」モードは、暗号器テストを行わない通常の転送を行うモードである。「暗号器テスト」モードは、暗号器１５３ａ，１５３ｂの動作を確認するときに選択するモードである。
ＩＦ動作制御部１７２は、モード選択により「暗号器テスト」モードが選択されると、ＩＦ制御モジュール１６２ａ，１６２ｂを停止し、メモリ制御モジュール１６１ａ，１６１ｂを後述する制御フローに従い、動作させる機能を果たす。
【００３６】
暗号器制御部１７３は、暗号器１５３ａ，１５３ｂの動作モードを選択する機能部である。暗号器１５３ａ，１５３ｂは、「暗号化」「復号」「スルー」の３つの動作モードを有する。暗号器制御部１７３は、これらのモードを後述する制御フローに従い、制御する。
ＤＭＡコントローラ制御部１７４は、リードライト兼用のＤＭＡコントローラ１５２のデータ転送方向を制御する機能部である。
完了通知部１７９は、テスト回路１７０の動作である暗号化および復号に関するテストが完了（終了）した旨をＣＰＵ１へ通知する機能部である。
【００３７】
データ比較器１８０は、暗号器１５３ａ，１５３ｂからそれぞれ出力された各テストデータ（出力結果）を比較して一致するか否かを判定する比較判定手段である。外部記憶メディア５ａ，５ｂに対してのデータの読み出し又は書き込みを行う場合、外部記憶メディア５ａ，５ｂに対して書き込む方向が暗号化、読み込む方向が復号となる。各データの比較判定結果（以下「比較結果」又は「判定結果」ともいう）は、比較結果通知部１８１に渡す（通知する）。
【００３８】
なお、各テストデータの比較結果のうち、各テストデータが一致しないと判定した場合にのみ、その判定結果を比較結果通知部１８１に渡すようにしてもよい。また、暗号器が３つ以上の場合、キーになる暗号器を予め１つ決めて指定し、その１つの暗号器から出力されるテストデータを基準データとし、その基準データを他の各暗号器から出力されるテストデータとそれぞれ比較して一致するか否かを判定し、その各判定結果を比較結果通知部１８１に渡すようにしてもよい。あるいは、隣り合う暗号器からそれぞれ出力されるテストデータを比較して一致するか否かを判定し、その各判定結果を比較結果通知部１８１に渡すようにしてもよい。
【００３９】
比較結果通知部１８１は、データ比較器１８０から渡された比較結果を保持し、テスト終了後等の所定タイミングで、その比較結果をＣＰＵ１へ通知する結果通知手段である。通常、保持する比較結果の内容は、いずれかの暗号器でテストデータの不一致が起こったことが判ればよいため、不一致または一致の１ビット（ｂｉｔ）のデータがあればよい。但し、隣り合う暗号器同士の比較結果を保持することで、後でどの暗号器で不具合があったかを確認できるため、暗号器の数−１ビットの情報を保持するのが望ましい。
読み取りアドレス保持部１７５は、ＣＰＵ１によって設定され、テストデータがあるアドレス、つまりメモリ２からのテストデータの読み取り（読み出し）アドレスを保持し、管理する。
【００４０】
書き込みアドレス保持部１７６は、ＣＰＵ１によって設定され、テスト結果を書き込むアドレス、つまりテスト結果のメモリ２への書き込みアドレスを保持し、管理する。
テストデータサイズ保持部１７７は、ＣＰＵ１によって設定され、テストデータのサイズを保持する。
書き込みデータカウンタ１７８は、書き込み終わったデータ数をカウントし、そのカウント値を保持する。書き込みデータカウンタ１７８のカウント値とテストデータサイズの保持値とが同じになったときが、書き込み終了の条件となる。
【００４１】
図４は、図１のＣＰＵ１による制御の一つであるテスト処理の一例を示すフローチャートである。なお、この図４のフローチャートを含む各フローチャートでは、図示の都合上、「テストデータ」を「データ」，「出力結果」，「暗号化データ」，又は「復号データ」ともいう。また、各フローチャートの制御で使用するメモリ２は、実際にはＲＡＭとする。
【００４２】
ＣＰＵ１は、まずステップＳ１，Ｓ２で、テスト用の入力データであるテストデータとテスト用の期待値データ（テストデータを暗号化した場合の正しい暗号化結果）とをメモリ２（ＲＡＭ）上に用意する。
次のステップＳ３では、出力データを置くための出力先メモリ領域を確保する。
次のステップＳ４では、テスト回路１７０の動作モードを「暗号器テスト」モードに設定する。
【００４３】
次のステップＳ５では、メモリ２上に用意したテストデータの最初のアドレスを読み取りアドレス保持部１７５に設定する。
次のステップＳ６では、メモリ２上に確保した出力データの出力先の最初のアドレスを書き込みアドレス保持部１７６に設定する。
次のステップＳ７では、メモリ２上に用意したテストデータのデータサイズをテストデータサイズ保持部１７７に設定する。
【００４４】
これらの設定が完了した後、ステップＳ８へ進み、テスト回路１７０を起動させる。その後、図示は省略するが、テスト回路１７０からテスト完了通知が行われるまで、他の処理を行う。
そして、ステップＳ９において、テスト回路１７０からテスト完了通知を受け、テスト完了を確認すると、はじめにステップＳ１０において、比較結果通知部１８１に保持されている暗号器１５３ａ，１５３ｂの出力結果の比較結果を確認する。
【００４５】
その比較結果から、ステップＳ１１において、テストデータが不一致になる暗号器が存在すると判断した場合には、外部メディアＩＦ１５の暗号器１５３ａ，１５３ｂのいずれかが故障しているとみなすことができるため、ステップＳ１４へ進む。
この場合、ステップＳ１４では、暗号器１５３ａ，１５３ｂのいずれかが故障している場合のエラー処理を実施する。エラー処理の内容については、画像形成装置ごとに異なるため、個々では明記しない。
【００４６】
ステップＳ１１において、テストデータが不一致になる暗号器が存在しないと判断した場合には、ステップＳ１２へ進んで出力データ（暗号器１５３ａ又は１５３ｂから出力されたテストデータ）と期待値データとの比較を行い、ステップＳ１３において、両データが不一致と判断した場合には、ステップＳ１４へ移行して所定のエラー処理を行う。この場合のエラー処理は、この発明とは関係がないため、内容については言及しない。出力データと期待値データとが不一致でない（一致する）と判断した場合には、暗号器１５３ａ，１５３ｂが正常に動作していると判断できるため、図４のテスト処理を終了する。
【００４７】
図５は、図３のテスト回路１７０が暗号器１５３ａ，１５３ｂの暗号化に関するテストを実行する場合の制御例を示すフローチャートである。
テスト回路１７０は、起動されると、まずステップＳ１０１でモードが暗号器１５３ａ，１５３ｂの暗号化に関するテストモードである「暗号化テスト」モードであるか否かを判定する。
そして、「暗号化テスト」モードでない場合には、暗号化テストを行わずに図５の制御を終了する。「暗号化テスト」モードである場合には、暗号化テストを実行する。
【００４８】
この暗号化テストは、以下の手順で実行する。
はじめに、暗号化テスト用入力データであるテストデータを読み込み、暗号化して、内部記憶部１５１ａ，１５１ｂへ保存する動作を行う。
そこで、まずステップＳ１０３において、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２にメモリリードの設定を行う。
【００４９】
次のステップＳ１０４では、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２に転送設定を行う。つまり、内部記憶部１５１ａ，１５１ｂに保持できるデータサイズ分の転送が行われるようにＤＭＡコントローラ１５２に転送サイズを設定する。同時に、読み取りアドレス保持部１７５に保持されているアドレスを読み取り開始アドレスとしてＤＭＡコントローラ１５２へ通知する。
【００５０】
次のステップＳ１０５では、ＤＭＡコントローラ制御部１７４が、メモリ２から読み込んだテストデータを後段へ続く各暗号器１５３ａ，１５３ｂへ同じデータを分配するようにＤＭＡコントローラ１５２に対して設定を行う。
次のステップＳ１０６では、暗号器制御部１７３が、暗号化設定を行う。つまり、暗号器１５３ａ，１５３ｂを「暗号化」モードに設定する。
【００５１】
次のステップＳ１０７では、ＩＦ動作制御部１７２が、ＩＦ制御モジュール１６２ａ，１６２ｂがそれぞれ内部記憶部１５１ａ，１５１ｂからデータを読み込まないように動作を停止させる。
次のステップＳ１０８では、ＩＦ動作制御部１７２が、メモリ制御モジュール１６１ａ，１６１ｂがメモリリード動作を行うように設定する。
【００５２】
次のステップＳ１０９では、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２を起動する。
それによって、次のステップＳ１１０〜Ｓ１１２では、ＤＭＡコントローラ１５２が、設定された読み取り開始アドレスから設定されたデータサイズ分のテストデータをメモリ２から読み込み、暗号器１５３ａ，１５３ｂへ転送する。このとき、読み込んだテストデータを全ての暗号器１５３ａ，１５３ｂに対して分配転送する。
【００５３】
次のステップＳ１１３，Ｓ１１４では、暗号器１５３ａ，１５３ｂが、それぞれ受け取ったテストデータを暗号化してメモリ制御モジュール１６１ａ，１６１ｂに転送する。このとき、各暗号器１５３ａ，１５３ｂからそれぞれ出力された各テストデータをデータ比較器１８０が比較し、一致するか否か（不一致）の判定を行う。データ比較器１８０は、テストデータの一致／不一致の判定結果を比較結果通知部１８１へ送信する。
【００５４】
次のステップＳ１１５では、比較結果通知部１８１が、データ比較器１８０から出力されたテストデータの一致／不一致の判定結果を比較結果として保持（記録）する。
次のステップＳ１１６では、メモリ制御モジュール１６１ａ，１６１ｂが、それぞれ暗号器１５３ａ，１５３ｂから転送された暗号化データを内部記憶部１５１ａ，１５１ｂへ書き込む。なお、暗号器１５３ａ又は１５３ｂのいずれか一方から転送された暗号化データのみを対応する内部記憶部へ書き込むようにしてもよい。
【００５５】
転送が完了すると、ステップＳ１１７へ進み、読み取りアドレス保持部１７５が、読み取りアドレスに転送したデータサイズ分のアドレスを加算し、保持する。
次に、内部記憶部１５１ａ又は１５１ｂのいずれか一方に書き込まれた暗号化データをメモリ２へ書き戻す。
そこで、まず次のステップＳ１１８において、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２にメモリライトの設定を行う。
【００５６】
次のステップＳ１１９では、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２に転送設定を行う。つまり、内部記憶部１５１ａ又は１５１ｂに保持されたデータ分の転送が行われるように転送サイズの設定を行う。同時に、書き込みアドレス保持部１７６に保持されているアドレスを書き込み開始アドレスとしてＤＭＡコントローラ１５２へ通知する。
【００５７】
次のステップＳ１２０では、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２の動作モードを内部記憶部１５１ａ又は１５１ｂのいずれか一方（この例では内部記憶部１５１ｂとする）からのみデータを転送するように変更する。
次のステップＳ１２１では、暗号器制御部１７３が、暗号器１５３ｂを「スルー」モードに設定（スルー設定）する。
次のステップＳ１２２では、ＩＦ動作制御部１７２が、ＩＦ制御モジュール１６２ａ，１６２ｂが内部記憶部１５１ａ，１５１ｂへデータを書き込まないように動作を停止させる。
【００５８】
次のステップＳ１２３では、ＩＦ動作制御部１７２が、メモリ制御モジュール１６１ｂがメモリライト動作を行うように設定する。
次のステップＳ１２４では、ＤＭＡコントローラ制御部１７４がＤＭＡコントローラ１５２を起動する。
それによって、次のステップＳ１２５，Ｓ１２６では、メモリ制御モジュール１６１ｂが、内部記憶部１５１ｂから暗号化データを読み込み、暗号器１５３ｂへ転送する。
【００５９】
次のステップＳ１２７では、暗号器１５３ｂが、受け取った暗号化データをそのままＤＭＡコントローラ１５２へ転送（スルー）する。
次のステップＳ１２８では、ＤＭＡコントローラ１５２が、設定された書き込み開始アドレスから設定されたデータ分の暗号化データをメモリ２へ書き込む。
その書き込みが完了（データ転送が完了）すると、ステップＳ１２９へ進み、書き込みデータカウンタ１７８が、自己のカウンタ値に書き込みデータサイズ分だけカウント値を加算し、保持する。
【００６０】
次のステップＳ１３０では、書き込みアドレス保持部１７６が、書き込みアドレスに転送したデータサイズ分のアドレスを加算し、保持する。
以上のような、メモリ２からの読み込みとメモリ２への書き込み動作を、テストデータサイズ保持部１７７に保持された値と、書き込みデータカウンタ１７８との値が同じになるまで繰り返す（ステップＳ１０２）。
そして、全てのデータ転送が完了して、暗号化テストが完了（終了）すると、ステップＳ１３１へ進み、完了通知部１７９がＣＰＵ１に対してテスト完了を通知する。
【００６１】
なお、この例では、内部記憶部１５１ｂからのみデータを転送するように変更したので、一方の暗号器１５３ｂおよびメモリ制御モジュール１６１ｂのみを動作させたが、内部記憶部１５１ａからのみデータを転送するように変更する場合には、他方の暗号器１５３ａ，メモリ制御モジュール１６１ａのみを動作させることになる。
【００６２】
図６は、図３のテスト回路１７０が暗号器１５３ａ，１５３ｂの復号に関するテストを実行する場合の制御例を示すフローチャートである。なお、ＣＰＵ１による制御は、テスト用の入力データであるテストデータを暗号化データに、期待値データを復号結果（暗号化データを復号した場合の正しい復号結果）に置き換える以外は、図４に示したフローチャートによって説明したものと同様である。
【００６３】
テスト回路１７０は、起動されると、まずステップＳ１５１でモードが暗号器１５３ａ，１５３ｂの復号に関するテストモードである「復号テスト」モードであるか否かを判定する。
そして、「復号テスト」モードでない場合には、復号テストを行わずに図６の制御を終了する。「復号テスト」モードである場合は、復号テストを実行する。
【００６４】
復号テストは、次の手順で実行する。
はじめに、復号テスト用入力データである暗号化されたテストデータ（暗号化データ）を読み込み、そのテストデータをそのまま内部記憶部１５１ａ，１５１ｂへ保存する動作を行う。
そこで、まずステップＳ１５３において、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２にメモリリードの設定を行う。
【００６５】
次のステップＳ１５４では、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２に転送設定を行う。つまり、内部記憶部１５１ａ，１５１ｂに保持できるデータサイズ分の転送が行われるようにＤＭＡコントローラ１５２に転送サイズを設定する。同時に、読み取りアドレス保持部１７５で保持されているアドレスを読み取り開始アドレスとしてＤＭＡコントローラ１５２へ通知する。
【００６６】
なお、暗号化テスト時とは異なり、復号テスト時は、全ての暗号器１５３ａ，１５３ｂの出力を内部記憶部１５１ａ，１５１ｂへ記憶した後、読み出しても構わない。これは、データ比較を、内部記憶部１５１ａ，１５１ｂからデータを読み取り、復号した後に実施するからである。この場合、全ての内部記憶部１５１ａ，１５１ｂに対して書き込みと読み込みが行われることになるため、前述の暗号化テスト時に説明した内部記憶部１５１ａ，１５１ｂを１つしか利用しない理由には当てはまらなくなる。
【００６７】
次のステップＳ１５５では、暗号器制御部１７３が、暗号器１５３ａ，１５３ｂを「スルー」モードに設定（スルー設定）する。
次のステップＳ１５６では、ＩＦ動作制御部１７２が、ＩＦ制御モジュール１６２ａ，１６２ｂがそれぞれ内部記憶部１５１ａ，１５１ｂからデータを読み込まないように動作を停止させる。
次のステップＳ１５７では、ＩＦ動作制御部１７２が、メモリ制御モジュール１６１ａ，１６１ｂがメモリリード動作を行うように設定する。
【００６８】
次のステップＳ１５８では、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２を起動する。
それによって、次のステップＳ１５９，Ｓ１６０では、ＤＭＡコントローラ１５２が、設定された読み取り開始アドレスから設定されたデータサイズ分の暗号化データをメモリ２から読み込み、暗号器１５３ａ，１５３ｂへ転送する。
【００６９】
次のステップＳ１６１では、暗号器１５３ａ，１５３ｂが、それぞれ受け取った暗号化データをスルーしてそのままメモリ制御モジュール１６１ａ，１６１ｂに転送する。
次のステップＳ１６２では、メモリ制御モジュール１６１ａ，１６１ｂが、それぞれ暗号器１５３ａ，１５３ｂからそのまま転送された暗号化データを内部記憶部１５１ａ，１５１ｂへ書き込む。
【００７０】
転送が完了すると、ステップＳ１６３へ進み、読み取りアドレス等への加算を行う。つまり、書き込みデータカウンタ１７８が、自己のカウンタ値に転送したデータサイズ分だけカウント値を加算し、保持する。また、読み取りアドレス保持部１７５が、読み取りアドレスに転送したデータサイズ分のアドレスを加算し、保持する。
次に、内部記憶部１５１ａ，１５１ｂに書き込まれた暗号化データを復号してメモリ２へ書き戻す。
【００７１】
そこで、まず次のステップＳ１６４において、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２にメモリライトの設定を行う。
次のステップＳ１６５では、ＤＭＡコントローラ制御部１７４が、ＤＭＡコントローラ１５２に転送設定を行う。つまり、内部記憶部１５１ａ，１５１ｂにそれぞれ保持されたデータ分の転送が行われるように転送サイズの設定を行う。同時に、書き込みアドレス保持部１７６に保持されているアドレスを書き込み開始アドレスとしてＤＭＡコントローラ１５２へ通知する。
【００７２】
次のステップＳ１６６では、暗号器制御部１７３が、暗号器１５３ａ，１５３ｂを「復号」モードに設定する。
次のステップＳ１６７では、ＩＦ動作制御部１７２が、ＩＦ制御モジュール１６２ａ，１６２ｂがそれぞれ内部記憶部１５１ａ，１５１ｂへデータを書き込まないように動作を停止させる。
次のステップＳ１６８では、ＩＦ動作制御部１７２が、メモリ制御モジュール１６１ａ，１６１ｂがメモリライト動作を行うように設定する。
【００７３】
次のステップＳ１６９では、ＤＭＡコントローラ制御部１７４がＤＭＡコントローラ１５２を起動する。
それによって、次のステップＳ１７０，Ｓ１７１では、メモリ制御モジュール１６１ａ，１６１ｂが、それぞれ内部記憶部１５１ａ，１５１ｂから暗号化データを読み込み、暗号器１５３ａ，１５３ｂへ転送する。
【００７４】
次のステップＳ１７２，Ｓ１７３では、暗号器１５３ａ，１５３ｂが、それぞれ受け取った暗号化データを復号してＤＭＡコントローラ１５２へ転送する。このとき、暗号器１５３ａ，１５３ｂからそれぞれ出力され、ＤＭＡコントローラ１５２へ転送される復号された各テストデータ（復号データ）をデータ比較器１８０が比較し、一致するか否か（不一致）の判定を行う。データ比較器１８０は、テストデータの一致／不一致の判定結果を比較結果通知部１８１へ送信する。
【００７５】
次のステップＳ１７４では、比較結果通知部１８１が、データ比較器１８０から出力されたテストデータの一致／不一致の判定結果を比較結果として保持（記録）する。
次のステップＳ１７５では、ＤＭＡコントローラ１５２が、設定された書き込み開始アドレスから設定されたデータ分のテストデータをメモリ２へ書き込む。つまり、暗号器１５３ａ，１５３ｂから出力される各復号データの１つをメモリ２へ書き込む。
その書き込みが完了（データ転送が完了）すると、ステップＳ１７６へ進み、書き込みデータカウンタ１７８が、自己のカウンタ値に書き込みデータサイズ分だけカウント値を加算し、保持する。
【００７６】
次のステップＳ１７７では、書き込みアドレス保持部１７６が、書き込みアドレスに転送したデータサイズ分のアドレスを加算し、保持する。
以上のような、メモリ２からの読み込みとメモリ２への書き込み動作を、テストデータサイズ保持部１７７に保持された値と、書き込みデータカウンタ１７８との値が同じになるまで繰り返す（ステップＳ１５２）。
そして、全てのデータ転送が完了して、復号テストが完了（終了）すると、ステップＳ１７８へ進み、完了通知部１７９がＣＰＵ１に対してテスト完了を通知する。
【００７７】
図５に示した暗号化テスト時あるいは図６に示した復号テスト時における全てのデータ転送が完了した後のテスト完了通知を割り込みで発生させることで、ＣＰＵ１へ通知することができる。この場合、ＣＰＵ１は、テスト回路１７０を起動後、テスト完了の割り込みが発生するまで、別の処理を容易に行うことができる。
なお、テスト完了通知をレジスタで通知するようにしてもよい。この場合、そのレジスタの初期化をテスト回路１７０の起動と同時に行う。
【００７８】
あるいは、データ比較器１８０が、各暗号化データ又は各復号データが一致しないと判定し、その判定結果を比較結果通知部１８１へ渡したときに、その比較結果通知部１８１が、受け取った判定結果を保持し、エラー割り込みでＣＰＵ１へ通知することもできる。この場合、ＣＰＵ１は、テスト回路１７０を起動後、エラー割り込みが発生するまで、別の処理を容易に行うことができる。
【００７９】
この第１実施形態の画像形成装置によれば、以下の（１）〜（７）に示す作用効果を得ることができる。
（１）テスト回路が、複数の暗号器に対するテストモードが設定された場合に、複数の暗号器をそれぞれ通してメモリと複数の内部記憶部との間でテストデータの読み書きを往復で行うように、ＤＭＡコントローラおよび複数のＩＦ制御部のデータ転送方向を切り替え制御して上記複数の暗号器の暗号化および復号に関するテストを実行する。このとき、上記複数の暗号器からそれぞれ出力される各テストデータを比較して一致するか否かを判定し、その判定結果を保持して（各テストデータが一致しないと判定した場合のみ保持してもよい）、その判定結果の通知をＣＰＵに対して行う。
【００８０】
このように、１つの暗号器の動作確認チェックを行うためのテストデータをメモリから読み出した後、そのテストデータを全ての暗号器に転送し、その各暗号器の出力結果を比較して一致するか否かを判定して、その判定結果をＣＰＵへ通知することにより、ＣＰＵは全ての暗号器が同じ動作をしているかどうかを確認することができる。そして、全ての暗号器が同じ動作をしていれば、その各暗号器の１つの出力結果をメモリへ書き込み、期待値データと比較することにより、一度に全ての暗号器の正当性を確認することができる。
すなわち、複数の外部記憶メディアを使用しないため、その複数の外部記憶メディアの状態にかかわらず、その複数の外部記憶メディアにそれぞれ対応する複数の暗号器の正当性の確認を短時間で行うことができる。
【００８１】
（２）データ比較器が、複数の暗号器が３つ以上の場合、予め設定された１つの暗号器から出力されるデータを基準データとして、その基準データを他の各暗号器からそれぞれ出力されるデータとそれぞれ比較して一致するか否かを判定し、その各判定結果を比較結果通知部へ通知することにより、次のような効果を得ることもできる。
すなわち、複数の外部記憶メディアが３つ以上であっても、その３つ以上の外部記憶メディアの状態にかかわらず、その３つ以上の外部記憶メディアにそれぞれ対応する３つ以上の暗号器の正当性の確認を短時間で行うことができる。
【００８２】
（３）データ比較器が、複数の暗号器が３つ以上の場合、隣り合う暗号器からそれぞれ出力されるデータを比較して一致するか否かを判定し、その判定結果を比較結果通知部へ通知することによっても、上記（２）と同様の効果を得ることができる。
【００８３】
（４）テスト回路が、複数の暗号器の暗号化に関するテスト時には、メモリからＤＭＡコントローラによってテストデータを読み出させ、そのテストデータを複数の暗号器によってそれぞれ暗号化させる。そして、その暗号化された各テストデータをそれぞれ複数のＩＦ制御部によって複数の内部記憶部に書き込ませた後、その複数の内部記憶部の１つから暗号化されたテストデータを複数のＩＦ制御部の１つによって読み出させる。その後、そのテストデータを上記複数の暗号器の１つをそのままスルーさせ、ＤＭＡコントローラによってメモリに書き戻させる。
そのようにすれば、内部記憶部からの暗号化されたテストデータの読み出しが必要最小限で済むため、複数の暗号器の暗号化に関するテスト時のテストデータの転送制御を効率的に行うことができる。
【００８４】
（５）テスト回路が、複数の暗号器の暗号化に関するテスト時には、メモリからＤＭＡコントローラによってテストデータを読み出させ、そのテストデータを複数の暗号器によってそれぞれ暗号化させ、その暗号化された各テストデータの１つを複数のＩＦ制御部の１つによって複数の内部記憶部の１つに書き込ませた後、その１つの内部記憶部から暗号化されたテストデータを複数のＩＦ制御部の１つによって読み出させ、そのテストデータを上記複数の暗号器の１つをそのままスルーさせ、ＤＭＡコントローラによってメモリに書き戻させる。
そのようにすれば、内部記憶部に対する暗号化されたテストデータの読み書きが必要最小限で済むため、複数の暗号器の暗号化に関するテスト時のテストデータの転送制御をより効率的に行うことができる。
【００８５】
（６）テスト回路が、複数の暗号器の復号に関するテスト時には、メモリからＤＭＡコントローラによって暗号化されたテストデータを読み出させ、そのテストデータを複数の暗号器をそのままスルーさせ、そのスルーされた各テストデータを複数のＩＦ制御部によってそれぞれ複数の内部記憶部に書き込ませた後、その複数の内部記憶部からそれぞれ暗号化された各テストデータを複数のＩＦ制御部によって読み出させ、その各テストデータをそれぞれ上記複数の暗号器によって復号させ、その復号された各テストデータの１つをＤＭＡコントローラによってメモリに書き戻させる。
そのようにすれば、メモリへの復号されたテストデータの書き込みが必要最小限で済むため、複数の暗号器の復号に関するテスト時のテストデータの転送制御を効率的に行うことができる。
【００８６】
（７）テスト回路の比較結果通知部が、データ比較器による各暗号器別の判定結果を保持し、各テストデータが一致していない旨の判定結果を保持した場合に、その判定結果の通知をエラー割り込みで発生させる。
そのようにすれば、ＣＰＵが、テスト回路を起動後、エラー割り込みが発生するまで、別の処理を容易に行うことができるため、処理効率の向上につながる。
【００８７】
図７は、この発明によるデータ処理装置の第２実施形態である画像形成装置における外部メディアＩＦ内の主要部の構成例を暗号化テスト時のデータの流れと共に示す概念図であり、図２，図３と対応する部分には同一符号を付している。
この第２実施形態において、前述の第１実施形態とは、外部記憶メディアの使用個数が異なるため、外部メディアＩＦ１５の構成のみが異なる。
【００８８】
この第２実施形態の画像形成装置では、外部記憶メディアを４つ使用するため、外部メディアＩＦ１５に４つの内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄを備えている。
また、図３のＩＦ制御部１６０ａ，１６０ｂと同様のＩＦ制御部を４つ備え、その各ＩＦ制御部にそれぞれ暗号器１５３ａ，１５３ｂ，１５３ｃ，１５３ｄとメモリ制御モジュール１６１ａ，１６１ｂ，１６１ｃ，１６１ｄとを備えている。
【００８９】
この第２実施形態の画像形成装置では、「暗号化テスト」モード時に、データ比較器１８０が、予め指定された暗号器１５３ａから出力される暗号化されたテストデータ（暗号化データ）を基準データとして、その基準データを他の暗号器１５３ｂ，暗号器１５３ｃ，暗号器１５３ｄから出力される暗号化データとそれぞれ比較して一致するか否かを判定し、その各判定結果（比較結果）を比較結果通知部１８１へ通知する。なお、暗号器１５３ｂ，暗号器１５３ｃ，又は暗号器１５３ｄの出力結果を基準データとしてもよい。
【００９０】
また、暗号器１５３ａから出力される暗号化データのみをメモリ制御モジュール１６１ａへ転送し、その他の暗号器１５３ｂ，１５３ｃ，１５３ｄからそれぞれ出力される暗号化データは破棄する。
メモリ制御モジュール１６１ａは、暗号器１５３ａから出力される暗号化データを内部記憶部１５１ａに書き込む。
【００９１】
ここで、暗号器１５３ｂ，１５３ｃ，１５３ｄからそれぞれ出力される暗号化データを破棄する理由について説明する。
メモリ制御モジュール１６１ａ〜１６１ｄはそれぞれ、内部記憶部１５１ａ〜１５１ｄから読み出していないデータへの上書きを防止するために、内部記憶部１５１ａ〜１５１ｄから読み出した分のデータの転送が完了するまで、内部記憶部１５１ａ〜１５１ｄへの新たなデータの書き込みを禁止する機能（書込禁止機能）を備えているものとする。
【００９２】
メモリ制御モジュール１６１ａ〜１６１ｄはそれぞれ、書込禁止機能を備えている場合、内部記憶部１５１ａ〜１５１ｄに対するリードアクセスとライトアクセスをトグル又はリングと称される方法で管理して行っている。それによって、読み出していないデータが存在するアドレスに対して新たなデータを書き込まないように、リードアクセスとライトアクセスの管理を行っている。
【００９３】
例えば、メモリ制御モジュール１６１ａが内部記憶部１５１ａをリングで管理してアクセスする場合、内部記憶部１５１ａのメモリ領域の最後までデータを書き込むと、アドレスをクリアして、そのメモリ領域の先頭から再びアクセスする。このとき、リードアドレスとライトアドレスを管理して、同じアドレスに対してライト（書き込み）動作とリード（読み出し）動作が同時に発生しないように制御する。
【００９４】
他方、メモリ制御モジュール１６１ａが内部記憶部１５１ａをトグルで管理してアクセスする場合、内部記憶部１５１ａのメモリ領域をｎ個の領域に分割して管理し、そのｎ個の領域に対してライトアクセスとリードアクセスをトグルしながら行う。それによって、同じ領域にリードアクセスとライトアクセスを行わないようにする。なお、ＨＤＤ等は少なくとも１セクタ分のデータを連続で転送するため、この方法で管理してアクセスするようにしている。
【００９５】
よって、メモリ制御モジュール１６１ａ〜１６１ｄが内部記憶部１５１ａ〜１５１ｄに対するアクセスをトグルやリングといった方法で管理して行う場合、メモリ制御モジュール１６１ｂ，１６１ｃ，１６１ｄが暗号器１５３ｂ，１５３ｃ，１５３ｄからそれぞれ出力される暗号化データを内部記憶部１５１ｂ，１５３ｃ，１５１ｄに書き込んでしまうと、次のような問題が発生する。
つまり、内部記憶部１５１ｂ，１５３ｃ，１５１ｄからは暗号器１５３ｂ，１５３ｃ，１５３ｄからそれぞれ出力された暗号化データを読み出すことはなく、メモリ制御モジュール１６１ｂ，１６１ｃ，１６１ｄによるデータ転送が停止してしまうという問題が発生する。
【００９６】
よって、暗号器１５３ａから出力される暗号化データが内部記憶部１５１ａに入りきらない場合に、残りのデータをメモリ制御モジュール１６１ｂ，１６１ｃ，１６１ｄによって内部記憶部１５１ｂ，１５３ｃ，１５１ｄに書き込むことができない。
そこで、この問題を回避するため、暗号器１５３ｂ，１５３ｃ，１５３ｄからそれぞれ出力される暗号化データの破棄を行う。
なお、この実施形態は、外部記憶メディアを４つ使用するための構成となっているが、外部記憶メディアを３つ又は５つ以上使用するための構成とすることも勿論できる。
【００９７】
図８は、図７に示した外部メディアＩＦ１５による暗号化テスト時のデータ制御の説明に供するブロック図である。
この第２実施形態の画像形成装置では、「暗号化テスト」モード時に、メモリ制御モジュール１６１ａが、予め指定された暗号器１５３ａから出力される暗号化データを、データ比較器１８０内のデータ比較部１８０ａによって他の暗号器１５３ｂ，１５３ｃ，１５３ｄから出力される暗号化データと比較された後、内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄの１つ（最初は内部記憶部１５１ａ）に書き込む。
【００９８】
このとき、データ比較器１８０内の出力先選択部１８０ｂは、内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄへの転送データ（書き込みデータ）量を常時監視している。
出力先選択部１８０ｂはまた、暗号器１５３ａから出力される暗号化データの内部記憶部１５１ａへの転送データ量が所定量（内部記憶部の記憶容量）に達する度に、その暗号化データの書き込み先を内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄの他の１つ（最初は内部記憶部１５１ｂ）に切り替える。
メモリ制御モジュール１６１ａは、暗号器１５３ａから出力される暗号化データの書き込みが終了した後、その暗号化データを書き込んだ順に、内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄの１つ（最初は内部記憶部１５１ａ）から暗号化データを読み出し、暗号器１５３ａへ出力する。
【００９９】
図９は、図７に示した外部メディアＩＦ１５による暗号化テスト時のデータ転送制御の一例を示すフローチャートである。
出力先選択部１８０ｂは、「暗号化テスト」モード時に、図９の制御を開始し、まずステップＳ２０１で次の処理を行う。
【０１００】
すなわち、暗号器１５３ａから出力される暗号化データ（暗号化されたテストデータ）を、他の暗号器１５３ｂ，１５３ｃ，１５３ｄからそれぞれ出力される暗号化データとデータ比較器１８０のデータ比較部１８０ａによって比較された後、指定した１つのメモリ制御モジュール１６１ａに渡す。それによって、暗号器１５３ａから出力される暗号化データが、メモリ制御モジュール１６１ａによって内部記憶部１５１ａに書き込まれる。但し、他の内部記憶部１５１ｂ，１５１ｃ，１５１ｄへは、暗号化データの書き込みは行われない。
【０１０１】
次のステップＳ２０２では、全ての内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄへの暗号化データの書き込みが完了したかどうかをチェックし、その書き込みが完了していないと判断した場合には、ステップＳ２０７へ進み、次のメモリ制御モジュール（ここではメモリ制御モジュール１６１ｂ）を選択して、ステップＳ２０１へ戻る。
それによって、そのメモリ制御モジュール１６１ｂが指定した１つのメモリ制御モジュールとなるため、ステップＳ２０１では、次の処理を行う。
【０１０２】
すなわち、暗号器１５３ａから引き続き出力される暗号化データを、他の暗号器１５３ｂ，１５３ｃ，１５３ｄから出力された暗号化データとデータ比較器１８０のデータ比較部１８０ａによって比較された後、指定した１つのメモリ制御モジュール１６１ｂに渡す。それによって、暗号器１５３ａから出力される暗号化データが、メモリ制御モジュール１６１ｂによって内部記憶部１５１ｂに書き込まれる。但し、他の内部記憶部１５１ａ，１５１ｃ，１５１ｄへは暗号化データの書き込みは行われない。
【０１０３】
ここで、各内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄのサイズ（内部記憶部の記憶容量）は、ハードウェア的に予め固定されているため、例えば内部記憶部１５１ａへの書き込みデータが満杯になると、次の内部記憶部１５１ｂに暗号化データを引き続いて書き込む必要があるため、その内部記憶部１５１ｂに対応するメモリ制御モジュール１６１ｂが選択されることになる。
【０１０４】
次のステップＳ２０２では、再び全ての内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄへの暗号化データの書き込みが完了したかどうかをチェックし、その書き込みが完了していないと判断した場合には、再びステップＳ２０７へ進み、上述と同様の処理を行う。
そして、全ての内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄへの暗号化データの書き込みが完了した場合には、ステップＳ２０３へ進む。このとき、データ転送方向は読み取り方向に切り替わる。
【０１０５】
ステップＳ２０３では、指定した１つのメモリ制御モジュール１６１ａによって内部記憶部１５１ａから暗号化データが読み取られるため、その暗号化データを取得する（読み込む）。
次のステップＳ２０４では、次のメモリ制御モジュール（ここではメモリ制御モジュール１６１ｂ）を選択する。それによって、その選択したメモリ制御モジュール１６１ｂが指定した１つのメモリ制御モジュールとなる。
【０１０６】
次のステップＳ２０５では、全ての内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄからの暗号化データの読み出しが完了したかどうかをチェックし、その読み出しが完了していないと判断した場合には、ステップＳ２０３へ戻り、上述と同様の処理を行う。
そして、全ての内部記憶部１５１ａ，１５１ｂ，１５１ｃ，１５１ｄからの暗号化データの読み出しが完了した場合には、ステップＳ２０６へ進む。
【０１０７】
ステップＳ２０６では、全てのテストデータの転送が終了したか否かをチェックし、まだ終了していない場合には、ステップＳ２０１へ戻る。このとき、データ転送方向は書き込み方向に切り替わるため、上述と同様の制御を行う。
そして、全てのテストデータの転送が終了した場合、図９の制御を終了する。
【０１０８】
この第２実施形態の画像形成装置によれば、前述した第１実施形態と同様の作用効果に加え、次の作用効果を得ることができる。
すなわち、テスト回路が、複数の暗号器の暗号化に関するテスト時には、メモリからＤＭＡコントローラによってテストデータを読み出させ、そのテストデータを複数の暗号器によってそれぞれ暗号化させる。そして、その暗号化された各テストデータの１つを複数のＩＦ制御部によって複数の内部記憶部の１つに書き込ませ、その書き込みデータ量が所定量に達する度に、上記１つのテストデータの書き込み先を上記複数の内部記憶部の他の１つに切り替える。そのテストデータの書き込みが終了した後は、そのテストデータを書き込んだ順に、上記複数の内部記憶部の１つから暗号化されたテストデータを上記複数のＩＦ制御部の１つによって読み出させる。そして、そのテストデータを上記複数の暗号器の１つをそのままスルーさせ、そのスルーされたテストデータをＤＭＡコントローラによってメモリに書き戻させる。
【０１０９】
このようにすれば、暗号化されたテストデータのサイズが大きく、１つの内部記憶部に全て書き込むことができないような場合でも、そのテストデータを複数の内部記憶部に分けて書き込むことができるため、複数の内部記憶部を効率よく利用することができる。
【０１１０】
以上、画像形成装置（ＭＦＰ）に適用した実施形態について説明したが、この発明はこれに限らず、プリンタ、デジタル複写機，ファクシミリ装置等の他の画像形成装置には勿論、パーソナルコンピュータ等の情報処理装置など、各種のデータ処理装置に適用可能である。
また、この発明は上述した実施形態に限定されるものではなく、適宜他の機能を追加したり、一部の機能を省略したりすることができる。また、上述した各実施例を矛盾しない範囲で適宜組み合わせて実施しても良い。
【符号の説明】
【０１１１】
１：ＣＰＵ    ２：メモリ    ３：スキャナ    ４：プロッタ
５ａ，５ｂ：外部記憶メディア    ６：ファクシミリ装置    ７：ネットワーク
１０：ＡＳＩＣ（特定用途向け集積回路）    １１：ＣＰＵ・Ｉ／Ｆ
１２：メモリＩ／Ｆ    １３：スキャナ入力部    １４：プロッタ出力部
１５：外部メディアＩＦ    １６：ＦＡＸ・Ｉ／Ｆ    １７：ネットワークＩ／Ｆ
１８：回転器    １９：データバス    ５０：ソフトウェア
１５１ａ，１５１ｂ，１５１ｃ，１５１ｄ：内部記憶部
１５２：リードライト兼用のＤＭＡコントローラ
１５３ａ，１５３ｂ，１５３ｃ，１５３ｄ：暗号器    １６０ａ，１６０ｂ：ＩＦ制御部
１６１ａ，１６１ｂ，１６１ｃ，１６１ｄ：メモリ制御モジュール
１６２ａ，１６２ｂ：ＩＦ制御モジュール    １７０：テスト回路
１７１：モード選択部    １７２：ＩＦ動作制御部    １７３：暗号器制御部
１７４：ＤＭＡコントローラ制御部    １７５：読み取りアドレス保持部
１７６：書き込みアドレス保持部    １７７：テストデータサイズ保持部
１７８：書き込みデータカウンタ    １７９：完了通知部    １８０：データ比較器
１８０ａ：データ比較部    １８０ｂ：出力先選択部    １８１：比較結果通知部
１８１  アドレス保持部
【先行技術文献】
【特許文献】
【０１１２】
【特許文献１】特開２００７−２１５０２８号公報
【図１】
2013198036.tif 000003
【図２】
2013198036.tif 000004
【図３】
2013198036.tif 000005
【図４】
2013198036.tif 000006
【図５】
2013198036.tif 000007
【図６】
2013198036.tif 000008
【図７】
2013198036.tif 000009
【図８】
2013198036.tif 000010
【図９】
2013198036.tif 000011