説明

情報処理装置、画像形成装置及び情報処理方法

【課題】データの処理順において連続する2つ以上のデータを演算した結果を用いて暗号化を行う場合に、処理の並列性を高めること。
【解決手段】所定の暗号方式によりデータを暗号化する情報処理装置であって、データを所定の暗号化方式により暗号化する複数の暗号器144と、暗号化すべきデータを定められたデータ量ごとに分割された分割データとして暗号器144に振り分けて入力するメモリバッファ制御部142と、暗号器144によって夫々暗号化された分割データを分割される前の順番に従って並べることにより暗号化データを生成し、分割データを夫々暗号化した前記暗号器の数を暗号化データと関連付けて記憶するHDDバッファ制御部145とを含むことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、画像形成装置及び情報処理方法に関し、特に、元の情報を複数に分割した上で分割後の情報を並列して暗号化する場合の暗号化及び復号の方法に関する。
【背景技術】
【0002】
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ及び書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能なMFP(MultiFunction Peripheral:複合機)として構成されることが多い。
【0003】
このような画像処理装置のうち、書類の電子化に用いるスキャナにおいては、スキャンにより生成した画像を装置に格納し若しくは他の装置に転送する場合、情報を暗号化することが行われている。また、情報の暗号化処理においては、暗号化処理に要する時間を短縮するため、暗号化すべき情報を複数に分割した上で、分割後の夫々の情報の暗号化処理を並列して暗号化することが提案されている(例えば、特許文献1参照)。
【0004】
現在、代表的な共通鍵暗号アルゴリズムとして知られているAES(Advanced Encryption Standard)暗号方式には、いくつかの方式があり、中でも、CBC(Cipher Block Chaining:暗号文ブロック連鎖)方式は、解読が困難な方式として広く採用されている。CBC方式においては、連続して処理をするデータの並び順において、次に処理をする元データと前回処理をして暗号化されたデータとの排他的論理和を、暗号化アルゴリズムの入力として用いる。また、データの並び順における先頭のデータの場合前回処理をしたデータが存在しないため、初期化ベクトルとの排他的論理和をとる。従って、暗号データを復号する場合には、1回前の復号データを使って復号されると共に、先頭データであれば初期化ベクトルを使って復号される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
CBC方式においては、暗号化及び復号は、同じ並び順でデータが入力される必要があるため、4つの並列した処理によって暗号化されたデータを2つの並列処理によって復号することはできない。例えば、複数の暗号/復号器が搭載されているような装置において、一部が故障してしまった場合、暗号化されたデータを読み出すことが出来なくなってしまう。また、ある装置において暗号化されたデータを、暗号/復号器の数の異なる装置において復号する場合も、同様の問題が生じる。
【0006】
また、特許文献1に係る方法は、RAID(Redundant Array of Inexpensive Disks)構成が前提となっており汎用性が低く、暗号化の対象となるデータは、HDD(Hard Disk Drive)に格納されるデータに限られる。そのため、ネットワークを介して外部に転送するデータの暗号化等には用いることができない。
【0007】
近年、マルチコアのCPU(Central Processing Unit)が一般化する等、情報処理の並列化が注目されている。しかしながら、CBC方式の暗号化処理においては、上記のような制約から、AES暗号による暗号化の内部処理における並列性を高める観点で研究が進められており、AES暗号による暗号化処理そのものを複数並列して実行することは一般的ではなかった。
【0008】
暗号化の内部処理における並列性を高めるためには、AES暗号による暗号化プログラムや暗号化回路を作りこむ必要があり、研究費等のコストが必要となるばかりか、最終的には、処理すべき全てのデータを順番通りに処理していくことになるため、高速化の面で効率が低い。
【0009】
尚、このような課題は、CBC方式に限ったものではなく、データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式において同様に問題となり得る。
【0010】
本発明は、このような課題を解決するためになされたものであり、データの処理順において連続する2つ以上のデータを演算した結果を用いる暗号化方式において、処理の並列性を高めることを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、本発明の一態様は、データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する情報処理装置であって、入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部とを含むことを特徴とする。
【0012】
また、本発明の他の態様は、データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する画像形成装置であって、入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部と、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力し、前記画像形成装置の動作状態に基づいて前記複数の暗号化部の前記複数の情報処理モジュールへの割り当て数を決定し、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つに対して、前記決定した割り当て数を通知する暗号化部割り当て制御部を更に含むことを特徴とする。
【0013】
また、本発明の更に他の態様は、情報処理装置であって、入力されたデータを暗号化する複数の暗号化部と、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、前記複数の暗号化部に対応して構成された複数の復号部と、前記暗号化データであって復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとして前記複数の復号部に振り分けて入力する復号対象データ入力部と、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする。
【0014】
また、本発明の更に他の態様は、データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化する複数の暗号化部及び復号する複数の復号部によって暗号化及び復号処理を行う情報処理方法であって、暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力し、前記複数の暗号化部が、入力された前記暗号化対象分割データを前記暗号化方式により暗号化し、前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成し、前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶し、前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得し、前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力し、前記複数の復号部が、入力された前記復号対象分割データを前記暗号化方式により復号し、前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成することを特徴とする。
【発明の効果】
【0015】
本発明によれば、データの処理順において連続する2つ以上のデータを演算した結果を用いる暗号化方式において、処理の並列性を高めることができる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態に係る画像形成装置のハードウェア構成を模式的に示すブロック図である。
【図2】本発明の実施形態に係る画像形成装置の機能構成を示すブロック図である。
【図3】本発明の実施形態に係るコントローラASICの機能構成を示すブロック図である。
【図4】本発明の実施形態に係るHDDコントローラの機能構成を示すブロック図である。
【図5】本発明の実施形態に係る暗号器の構成を示す図である。
【図6】本発明の実施形態に係る暗号化及び復号の態様を示す図である。
【図7】本発明の実施形態に係る暗号化及び復号の態様を示す図である。
【図8】本発明の実施形態に係る暗号化及び復号の態様を示す図である。
【図9】本発明の実施形態に係る暗号器数情報の例を示す図である。印刷設定画面の例を示す図である。
【図10】本発明の実施形態に係る複合処理の態様を示す図である。
【図11】本発明の実施形態に係る初期化ベクトルの演算タイミングを示す図である。
【図12】本発明の他の実施形態に係るコントローラASICの機能構成を示すブロック図である。
【図13】本発明の他の実施形態に係る画像形成装置の動作状態と暗号器の振り分け数との関係を示す図である。
【発明を実施するための形態】
【0017】
実施の形態1.
以下、図面を参照して、本発明の実施形態を詳細に説明する。本実施形態においては、スキャンにより生成した画像情報を記憶媒体に格納する機能を含む複合機としての画像形成装置を例として説明する。
【0018】
図1は、本実施形態に係る画像形成装置1のハードウェア構成を示すブロック図である。尚、画像形成装置1は、図1に示すハードウェア構成に加えて、スキャナ、プリンタ等を実現するためのエンジンを備える。図1に示すように、本実施形態に係る画像形成装置1は、一般的なサーバやPC等と同様の構成を含む。即ち、本実施形態に係る画像形成装置1は、CPU(Central Processing Unit)10、RAM(Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40及びI/F50がバス80を介して接続されている。また、I/F50にはLCD(Liquid Crystal Display)60及び操作部70が接続されている。
【0019】
CPU10は演算手段であり、画像形成装置1全体の動作を制御する。RAM20は、情報の高速な読み書きが可能な揮発性の記憶媒体であり、CPU10が情報を処理する際の作業領域として用いられる。ROM30は、読み出し専用の不揮発性記憶媒体であり、ファームウェア等のプログラムが格納されている。HDD40は、情報の読み書きが可能な不揮発性の記憶媒体であり、OS(Operating System)や各種の制御プログラム、アプリケーション・プログラム等が格納される。
【0020】
I/F50は、バス80と各種のハードウェアやネットワーク等を接続し制御する。LCD60は、ユーザが画像形成装置1の状態を確認するための視覚的ユーザインタフェースである。操作部70は、ユーザが画像形成装置1に情報を入力するためのユーザインタフェースである。
【0021】
このようなハードウェア構成において、ROM30やHDD40若しくは図示しない光学ディスク等の記憶媒体に格納されたプログラムがRAM20に読み出され、CPU10の制御に従って動作することにより、ソフトウェア制御部が構成される。このようにして構成されたソフトウェア制御部と、ハードウェアとの組み合わせによって、本実施形態に係る画像形成装置1の機能を実現する機能ブロックが構成される。
【0022】
次に、本実施形態に係る画像形成装置1の機能構成について、図2を参照して説明する。図2は、本実施形態に係る画像形成装置1の機能構成を示すブロック図である。図2に示すように、本実施形態に係る画像形成装置1は、スキャナ101、エンジンユニット102及びプロッタ103と、それらを制御するコントローラ100とを含む。
【0023】
スキャナ101は、読み取り原稿に対する照射光の反射光をCCD(Charge Coupled Device)等によりRGB(Red Green Blue)形式等の画像データ信号に変換して出力する。エンジンユニット102は、コントローラ100の制御に従い、RAM20上の画像を読み出してプロッタ103のタイミングに合わせて画像データ出力する。プロッタ103は、エンジンユニット102からの出力データに応じて、印刷対象である出力用紙上に画像形成出力を行う。
【0024】
また、コントローラ100は、図2に示すように、CPU10、RAM20及びHDD40に加えて、コントローラASIC110を含む。即ち、コントローラ100は、CPU10が、RAM20に読み出されたプログラムに従って動作することにより構成されるソフトウェア制御部と、コントローラASIC110によって構成されるハードウェア制御部とによって構成され、画像形成装置1全体の制御を行う。
【0025】
コントローラASIC110は、コントローラ100の機能のうち、HDD40若しくはネットワークを介した他の装置とのデータのやり取りや、スキャナから入力される画像に対する画像処理等を行う。また、CPU10は、コントローラ100において、RAM20にロードされた制御プログラムに従って動作することにより、コントローラASICの制御やエンジンユニット102の制御等を行う。
【0026】
次に、図3を参照して、コントローラASIC110の構成について説明する。図3は、コントローラASIC110の構成をしめすブロック図である。図3に示すように、コントローラASIC110は、スキャナI/F111、CPU I/F112、アービタ113、HDDコントローラ114、画像処理コントローラ115及びネットワークコントローラ116を含む。
【0027】
スキャナI/F111は、コントローラASIC110においてスキャナ101からの画像データ信号の入力タイミングに合わせて画像データの取り込みを行う。CPU I/F102は、CPU10及びCPU10を介したRAM20とのデータのやり取りを行う。アービタは、コントローラASIC110に含まれる各モジュール、即ち各ブロックと、RAM20上のデータのやり取りの調停を行う。尚、コントローラASIC110に含まれる各ブロックとRAM20上のデータとのやり取りは、上述したようなCPU10を介したやり取りの他、DMA(Direct Memory Access)によるやり取りがある。
【0028】
HDDコントローラ114は、HDD40へのデータの書込み、HDD40からのデータの読み出しの制御並びに書き込むデータの暗号化、読み出したデータの復号を行う。画像処理コントローラ115は、RAM20上の画像データを読み出してフィルタ処理や色補正等の画像処理を行い、処理後の画像をRAM20に出力する。ネットワークコントローラ116は、ネットワークを介した他の装置のデータ送受信の制御を行う。
【0029】
本実施形態においては、HDDコントローラ114にCBC(Cipher Block Chaining:暗号文ブロック連鎖)方式による暗号化を行う暗号器が複数含まれており、その暗号器を動作させる態様が要旨の1つである。図4を参照して、本実施形態に係るHDDコントローラ114について説明する。
【0030】
図4に示すように、本実施形態に係るHDDコントローラ114は、複数の暗号器144−1、144−2、・・・144−n(以降、総じて暗号器144とする)に加えて、DMAC(DMA Controller)141、メモリバッファ制御部142、メモリバッファ143、HDDバッファ制御部145、HDDバッファ146及びRAIDコントローラ147を含む。尚、本実施形態においては、4つのHDD40が接続されて運用されている場合を例として説明する。
【0031】
DMAC141は、CPU10を経ることなく直接RAM20からのデータの読み出し及びデータの書き込みの制御を行う。メモリバッファ143は、RAM20から読み出したデータ及びRAM20へ書き込むデータを一時的に保持する記憶領域である。メモリバッファ制御部142は、メモリバッファ143へのデータの書き込み及びメモリバッファ143からのデータの読み出しの制御を行う。
【0032】
HDDバッファ146は、HDD40から読み出したデータ及びHDD40へ書き込むデータを一時保存するための記憶領域である。HDDバッファ制御部145は、HDDバッファ146へのデータの書き込み及びHDDバッファ146からのデータの読み出しの制御を行う。RAIDコントローラ147は、接続されている複数のHDD40へ書き込みデータを分散する制御や、HDD40から読み出したデータを結合する制御を行う。
【0033】
暗号器144は、HDD40へ書き込まれるデータをCBC方式により暗号化すると共に、HDD40から読み出されたデータをCBC方式により復号する。図5(a)、(b)を参照して、本実施形態に係る暗号器144について詳細に説明する。図5(a)は、暗号器144がHDD40へ書き込まれるデータを暗号化する際の機能態様を示す図であり、図5(b)は、暗号器144がHDD40から読み出されたデータを復号する際の機能態様を示す図である。
【0034】
本実施形態に係る暗号化アルゴリズムにおける1回の暗号化処理の入力バイト数は16バイトであり、メモリバッファ制御部142は、HDD40に格納すべきデータを16バイト毎に分割して順番に暗号器144に入力する。図5(a)に示すように、CBC方式による暗号化処理においては、処理すべき入力データと上記順番における1つ前の処理により暗号化された暗号化データとの排他的論理和が、暗号化アルゴリズムの入力となる。尚、
【0035】
このようなデータの順番における先頭のデータには、上述したような、1つ前の処理により暗号化された暗号化データが存在しないため、先頭のデータを暗号化する場合には、初期化ベクトルとの排他的論理和が暗号化アルゴリズムの入力となる。また、図5(b)に示すように、暗号化されたデータを復号する場合にも、常に1つ前の復号データとの排他的論理和が演算されると共に、先頭のデータにおいては、初期化ベクトルとの排他的論理和が演算される。
【0036】
次に、本実施形態に係るHDDコントローラ114においてHDD40にデータを格納し、若しくはHDD40からデータを読み出す場合のデータ分割態様について説明する。尚、以下の説明においては、暗号化対象である元のデータ(以降、元データとする)が“1”〜“8”の8個のデータ(以降、分割データとする)に分割される場合を例として説明する。図6は、暗号器144−1、144−2、144−3、144−4の4つの暗号器が用いられる場合のデータ分割態様を示す図である。
【0037】
図6に示すように、メモリバッファ制御部142は、メモリバッファ143に保持された元データを16バイトずつ分割して分割データとして順番に読み出し、暗号器144−1〜144−4の順に振り分けて入力する。即ち、分割データは、暗号化対象分割データとして処理され、メモリバッファ制御部142が、暗号化対象分割データ入力部として機能する。この結果、図6に示すように、暗号器144−1には、“1”及び“5”、暗号器144−2には、“2”及び“6”、暗号器144−3には“3”及び“7”、暗号器144−4には“4”及び“8”の分割データが夫々入力される。
【0038】
暗号器144−1〜144−4においては、夫々の分割データが入力されると、CBC方式に従って暗号化を行い、暗号化された分割データ(以降、暗号化分割データとする)“1c”〜“8c”が得られる。即ち、暗号器144が、暗号化部として機能する。HDDバッファ制御部145は、用いられた暗号器144−1〜144−4から暗号化分割データを1つずつ順番に読み出し、“1c”〜“8c”の順番でHDDバッファ146に保持させる。これにより、“1c”〜“8c”の順番で統合されたデータ(以降、暗号化データとする)がRAIDコントローラ147を介してHDD40に格納される。即ち、HDDバッファ制御部145が、暗号化された分割データを、分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部として機能する。
【0039】
HDD40に格納された暗号化データを読み出して復号する場合、先ずはHDDバッファ制御部145が、復号するべき暗号化データをHDD40から読み出してHDDバッファ146に保持させる。これにより、図6に示すように暗号化分割データ“1c”〜“8c”よりなる暗号化データがHDDバッファ146に保持される。
【0040】
そして、HDDバッファ制御部145は、HDDバッファ146に保持された暗号化データを、16バイトずつ分割して“1c”〜“8c”の暗号化分割データとして順番に読み出し、暗号器144−1〜144−4の順に入力する。この結果、図6に示すように、暗号器144−1には、“1c”及び“5c”、暗号器144−2には、“2c”及び“6c”、暗号器144−3には“3c”及び“7c”、暗号器144−4には“4c”及び“8c”の分割データが夫々入力される。
【0041】
暗号器144−1〜144−4においては、夫々の暗号化分割データが入力されると、CBC方式に従って復号を行い、復号された分割データ“1”〜“8”が得られる。メモリバッファ制御部142は、用いられた暗号器144−1〜144−4から暗号化分割データを1つずつ順番に読み出し、“1”〜“8”の順番でメモリバッファ143に保持させる。これにより、“1”〜“8”の順番で統合されたデータがRAM20に読み出される。
【0042】
図7、図8は、夫々用いる暗号器が3つの場合並びに2つの場合の分割態様を示す図である。図7、図8の場合も図6の場合と同様に、メモリバッファ制御部142が、メモリバッファ143に保持された元データを分割データ“1”〜“8”に分割して順番に読み出し、暗号器144に順番に入力する。そして、暗号器144によって暗号化された暗号化分割データ“1c”〜“8c”は、HDDバッファ制御部145によって順番に読み出され、“1c”〜“8c”の順番でHDDバッファ146に保持される。これにより、“1c”〜“8c”の順番で統合されたデータがRAIDコントローラ147を介してHDD40に格納される。復号についても同様である。
【0043】
尚、CBC方式において前段の暗号化データとの排他的論理和が演算されるため、図6における暗号化分割データ“1c”〜“8c”と図7、図8における暗号化分割データ“1c”〜“8c”とは、初期化ベクトルとの排他的論理和による暗号化分割データ以外異なる。従って、図6に示すように、暗号器144が4つ用いられて暗号化された暗号化データは、図8に示すような暗号器144が2つ用いられる場合には、上述した処理のままでは復号することができない。本実施形態においては、このように、暗号化時と復号時とで用いられる暗号器の数が異なる場合において、暗号化データの復号を可能とすることが要旨の1つである。
【0044】
上述した要旨を実現するため、本実施形態に係るHDDバッファ制御部145は、暗号化データをHDD40に格納する際に、暗号化データとその暗号化データの暗号化時に用いられた暗号器の数を示す情報とが関連付けられた情報(以降、暗号器数情報とする)を生成する。即ち、本実施形態においては、HDDバッファ制御部145が、データの暗号化に用いられた暗号化部の数を暗号化データと関連付けて記憶する暗号化部数記憶部として機能する。図9は、そのような情報の例を示す図である。
【0045】
図9に示すように、本実施形態に係る暗号器数情報は、暗号化データを特定するための情報として、HDD40において暗号化データが格納されている記憶領域のアドレスを示す“格納先アドレス”の情報と、その暗号化データが暗号化される際に用いられた暗号器144の数を示す“暗号器数”の情報を含む。尚、本実施形態においては、“格納先アドレス”の情報は、CHS(Cylinder Head Sector)方式のアドレスとして特定されている。
【0046】
HDDバッファ制御部145は、HDD40から暗号化データを読み出す際、図9に示す暗号器数情報を参照することにより、読み出す暗号化データが暗号化された際の暗号器144の数を認識する。そして、認識した暗号器144の数と、暗号化データの復号に用いられる暗号器144の数が異なる場合、以下に説明する処理を実行することにより、暗号化時とは異なる暗号器144の数による復号を可能とする。尚、図9に示す暗号器数情報は、HDD40に暗号化されることなく格納されるほか、HDDコントローラ114に設けられた記憶領域に格納すること等により管理される。
【0047】
以下、本実施形態に係る暗号化データの復号処理の態様について、図10(a)、(b)を参照して説明する。図10(a)、(b)は、4つの暗号器144によって暗号化された暗号化データを、2つの暗号器144によって復号する場合の例を示す図である。
【0048】
図10(a)に示すように、HDDバッファ制御部145は、復号すべき暗号化データをHDD40から読み出し、HDDバッファ146に保持させる、この際、HDDバッファ制御部145は、暗号器数情報を参照して、復号するべき暗号化データが暗号化された際の暗号器の数“4”を認識する。即ち、HDDバッファ制御部145が、復号対象データ取得部として機能する。また、復号に用いられる暗号器144の数を、動作させる暗号器144の数を示す情報を参照することにより認識する。更に、これらの情報を、メモリバッファ制御部142に伝える。動作させる暗号器144の数を示す情報は、例えばレジストリ等に格納されている。
【0049】
図10(a)に示すように、先ずHDDバッファ制御部145は、HDDバッファ146に保持された暗号化データを16バイトずつ分割して“1c”〜“8c”の暗号化分割データとして順番に読み出し、暗号器144に振り分けて入力する。即ち、暗号化分割データが復号対象分割データとして用いられ、HDDバッファ制御部145が、復号対象データ入力部として機能する。
【0050】
ここで、HDDバッファ制御部145が暗号化分割データ“1c”を読み出して暗号器144−1に入力し、暗号化分割データ“2c”を読み出して暗号器144−2に入力すると、通常であれば次は、暗号化分割データ“3c”を読み出して暗号器144−1に入力することになるが、HDDバッファ制御部145は、上記認識している暗号化時の暗号器数“4”及び復号に用いられる暗号器数“2”に従い、暗号化分割データ“3c”、“4c”をスキップして暗号器数“4”の場合において“1c”の次に入力する暗号化分割データ“5c”を読み出して暗号器144−1に入力する。
【0051】
更に、HDDバッファ制御部145は、暗号器数“4”の場合において“2c”の次に入力する暗号化分割データ“6c”を読み出して暗号器144−1に入力する。この結果、図10(a)に示すように、暗号器144−1、144−2によって暗号化分割データ“1c”、“2c”、“5c”、“6c”が正しく復号され、分割データ“1”、“2”、“5”、“6”が得られる。即ち、暗号器144が、複合部として機能する。
【0052】
分割データ“1”、“2”、“5”、“6”が得られると、メモリバッファ制御部142は、HDDバッファ制御部145から伝えられた暗号化時の暗号器数“4”及び復号に用いられる暗号器数“2”に従い、図10(a)に示すような並び順で分割データ“1”、“2”、“5”、“6”をメモリバッファ143に保持させる。
【0053】
次に、HDDバッファ制御部145は、暗号化時の暗号器数“4”及び復号に用いられる暗号器数“2”に従い、図10(a)においてスキップされた暗号化分割データ“3”、“4”、“7”、“8”を夫々読み出して、図10(b)に示すように暗号器144−1、144−2に夫々入力する。これにより、暗号器144−1、144−2によって復号が行われ、分割データ“3”、“4”、“7”、“8”が得られる。
【0054】
分割データ“3”、“4”、“7”、“8”が得られると、メモリバッファ制御部142は、HDDバッファ制御部145から伝えられた暗号化時の暗号器数“4”及び復号に用いられる暗号器数“2”に従い、図10(b)に示すような並び順で分割データ“3”、“4”、“7”、“8”をメモリバッファ143に保持させる。これにより、分割データ“1”、“2”、“5”、“6”と分割データ“3”、“4”、“7”、“8”とが正確な並び順で統合され、分割データ“1”〜“8”からなる元データが得られる。このような処理により、本実施形態に係る複合処理が完了する。即ち、メモリバッファ制御部142が、復号データ生成部として機能する。
【0055】
換言すると、図10(a)、(b)の例において、HDDバッファ制御部145は、復号に用いる暗号器144の数が、取得された暗号器数である“4”と同一である場合において、暗号化分割データを夫々の暗号器144に順番に振り分ける際の並び順と同じ順番になる様に、暗号化分割データを並べ替えて暗号器144−1、144−2に夫々入力する。また、メモリバッファ制御部142は、復号に用いる暗号器144の数が、暗号器数である“4”と同一である場合において、暗号化分割データが夫々の暗号器144に順番に振り分けられた際の並び順と同じ順番になる様に、復号された分割データを並べ替える。
【0056】
本実施形態に係る画像形成装置1のように、複数の暗号器144を並列して動作させる場合、暗号器144内部の処理の並列性を向上するよりも簡易な構成で情報処理の並列化が実現できる。また、暗号器144内部の処理の並列性を向上したとしても、暗号器144には、分割データ“1”〜“8”を順番に入力することになるため、パフォーマンスの大幅な向上は期待できない。これに対して、本実施形態に係る画像形成装置1においては、分割データ“1”〜“8”を並列して処理することが出来るため、簡易な構成でパフォーマンスの大幅な向上を得ることが可能である。
【0057】
このように、複数の暗号器144を並列して動作させることにより、暗号化時と復号化時として暗号/復号器の数が異なる場合、暗号化データを復号化する際の暗号化分割データの並び順が異なり、CBC方式においてデータが正しく復号されないという問題が発生する。これに対して本実施形態に係る画像形成装置1においては、暗号化データと暗号化時に用いられた暗号器144の数とが関連付けられた情報を管理し、暗号化データを復号する際、暗号化時に用いられた暗号器144の数と復号に用いられる暗号器144の数との関係に基づいて暗号器144に入力する暗号化分割データの順番を並び替える。これにより、暗号化時と復号化時として用いられる暗号/復号器の数が異なる場合であっても、暗号化データを正しく復号することができる。
【0058】
以上説明したように、本実施形態に係る画像形成装置1における暗号化処理の方法によれば、データの処理順において連続する2つ以上のデータを演算した結果を用いて暗号化を行う場合に、処理の並列性を高めることが可能となる。
【0059】
尚、図5において説明したように、CBC方式の暗号においては、次に処理するデータと前回の暗号データの排他的論理和を暗号アルゴリズムへの入力としており、転送の最初は初期化ベクトルと排他的論理和をとる。そして、暗号データを復号する場合にも、常に1回前の復号データとの排他的論理和がとられる。
【0060】
ここで、HDDからのデータの読み出しは、読み出し単位であるセクタ毎に行われ、データの読み出しは必ずしもデータの先頭のセクタから行われるとは限らないため、複数のセクタにまたがって格納されたデータを読み出す場合において、先頭のデータのみ初期化ベクトルとの排他的論理和が演算された場合、HDDの任意のセクタから読み出しても復号できないことになる。
【0061】
HDDに書き込まれた暗号化データを任意のセクタから読み出して復号できるようにするため、各セクタの先頭の分割データについて初期化ベクトルとの排他的論理和を演算した上で暗号化することが好ましい。例えば、1セクタの記憶容量が512バイトである場合、HDDに書き込まれるデータ量の合計が512バイトの倍数になる度に、暗号器144は、次に暗号化する分割データについて初期化ベクトルとの排他的論理和を演算した上で暗号化する。これにより、全てのセクタの先頭に格納されている暗号化分割データは、初期化ベクトルとの排他的論理和演算の上で暗号化されたデータとなり、任意のセクタからの読み出しが可能となる。
【0062】
ここで、HDDに格納されるデータ量の合計と、暗号器144に入力されるデータ量の合計は、暗号化に用いられる暗号器の数及びRAIDコントローラ147によって制御されるRAIDレベルがミラーリング、ストライピング等のRAIレベルによって夫々異なる。その例について、図11(a)、(b)を参照して説明する。尚、図11(a)、(b)においても、1セクタの記憶容量が512バイトである場合を例としている。
【0063】
図11(a)は、HDD40へのデータ格納時に2つの暗号器144を用いる場合における、HDD40の台数及びRAIDレベルと、各暗号器144が排他的論理和の演算に初期化ベクトルを用いるデータ量の間隔との関係を示すテーブルである。尚、以降の説明においては、暗号器144が排他的論理和の演算に初期化ベクトルを用いることを、“初期化を行う”と表現する。
【0064】
例えば、HDD40が1台の場合や、HDD40が2台、4台でミラーリングを行う場合、HDDバッファ146に保持された暗号化データは、分割されることなく全て同一のHDD40に格納され、ミラーリングの場合は、夫々のHDD40に同一の暗号化データが格納される。従って、各暗号器144は、2つの暗号器144から出力される分割暗号化データの合計が512バイトの倍数になる度、即ち、256バイトのデータを暗号化する度に初期化を行う。
【0065】
また、HDD2台でストライピングを行う場合、HDDバッファ146に保持された暗号化データは2つに分割された上で、2台のHDD40に夫々格納される。従って、各暗号器144は、2つの暗号器144から出力される分割暗号化データの合計が1024バイトの倍数になる度、即ち、512バイトのデータを暗号化する度に初期化を行う。即ち、ストライピングのように、HDD40においてデータが分割されて記憶される場合、各暗号器144は、暗号化に用いられる暗号器144によって暗号化されたデータ量の合計が、HDD40の読み出し単位であるセクタサイズをHDD40におけるデータ分割数で割った値の倍数になる度に初期化を行う。
【0066】
他方、図11(b)は、HDD40へのデータ格納時に4つの暗号器144を用いる場合における、HDD40の台数及びRAIDレベルと、各暗号器144が排他的論理和の演算に初期化ベクトルを用いるデータ量の間隔との関係を示すテーブルである。図11(b)に示すように、HDD40が1台の場合や、HDD40が2台、4台でミラーリングを行う場合、各暗号器144は、4つの暗号器144から出力される分割暗号化データの合計が512バイトの倍数になる度、即ち、128バイトのデータを暗号化する度に初期化を行う。
【0067】
また、HDD2台でストライピングを行う場合、各暗号器144は、4つの暗号器144から出力される分割暗号化データの合計が1024バイトの倍数になる度、即ち、256バイトのデータを暗号化する度に初期化を行う。
【0068】
また、上記実施形態においては、暗号器144がHDDコントローラ114の一部として含まれ、HDD40に格納されるデータを暗号化若しくは復号する場合を例として説明した。これに限らず、ネットワークコントローラ116の一部として上述した暗号器144、メモリバッファ制御部142及びHDDバッファ制御部145が含まれ、ネットワークを介して外部に出力するデータを暗号化し、若しくはネットワークを介して外部から入力されるデータを復号する場合に適用することも可能である。
【0069】
更には、HDDコントローラ114及びネットワークコントローラ116の一部としてではなく、コントローラASICに含まれる1つのモジュールとして、上述した複数の暗号器144を含む機能を構成することも可能である。
【0070】
また、上記実施形態においては、図9に示す暗号器数情報を用いて、暗号化データが暗号化された際に用いられた暗号器144の数を管理する場合を例として説明した。これに限らず、本実施形態の要旨は、暗号化データを復号する際に、その暗号化データが暗号化された際に用いられた暗号器144の数が判明すれば達成されるため、必ずしも図9に示すような暗号器数情報を用いて、暗号化データとは別のデータとしてテーブルにより管理する必要はない。
【0071】
上記暗号器数情報を用いる場合以外の態様としては、例えば、HDDバッファ制御部145が暗号化データをHDD40に格納する際に、暗号化データに暗号器数の情報を付加して格納することが考えられる。この場合、HDDバッファ制御部145は、復号すべき暗号化データを読み出してHDDバッファ146に保持させ、その暗号化データに付加された暗号器数の情報を参照することにより、上記と同様の処理を実行することが可能となる。
【0072】
実施の形態2.
本実施形態においては、上述したように、HDDコントローラ114及びネットワークコントローラ116の一部としてではなく、コントローラASICに含まれる1つのモジュールとして複数の暗号器144を含む暗号化モジュールが構成され、HDDコントローラ114及びネットワークコントローラ116のように、複数の情報処理モジュールが暗号化モジュールを共用する場合について説明する。尚、実施の形態1と同一の符号を付す構成については、同一または相当部を示し、詳細な説明を省略する。
【0073】
図12は、本実施形態に係るコントローラASIC110におけるアービタ113、HDDコントローラ114、ネットワークコントローラ116及び暗号化モジュール117の機能構成を示すブロック図である。図12に示すように、本実施形態に係るHDDコントローラ114は、実施の形態1における構成のうち複数の暗号器144以外の構成を含む。
【0074】
また、本実施形態に係るネットワークコントローラ116は、DMAコントローラ161、メモリバッファ制御部162、メモリバッファ163、NW(NetWork)バッファ制御部165、NWバッファ166及びネットワークI/F167を含む。DMAコントローラ161、メモリバッファ制御部162、メモリバッファ163は、夫々HDDコントローラ114に含まれるDMAコントローラ141、メモリバッファ制御部142、メモリバッファ143と同様の機能を有する。
【0075】
NWバッファ制御部165、NWバッファ166及びネットワークI/F167は、HDDコントローラ114のHDDバッファ制御部145、HDDバッファ146及びRAIDコントローラ147に対応する構成であり、HDDコントローラ114においてHDD40とのデータ送受信が実現されるように、ネットワークを介したデータ送受信を実現する。
【0076】
暗号化モジュール117は、複数の暗号器144及び複数の暗号器の入力/出力側に接続されたセレクタS11、S12、S21、S22、・・・Sn1、Sn2(以降、総じてセレクタSとする)を含む。複数の暗号器144は、セレクタSを介してHDDコントローラ114及びネットワークコントローラ116に接続されている。例えば、暗号器144−1は、セレクタS11を介してHDDコントローラ114のメモリバッファ制御部142及びネットワークコントローラ116のメモリバッファ制御部162に接続されていると共に、セレクタS12を介してHDDコントローラ114のHDDバッファ制御部145及びネットワークコントローラ116のNWバッファ制御部165に接続されている
【0077】
各セレクタSは、メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165から出力される制御信号に従って、暗号器144をHDDコントローラ114側か、ネットワークコントローラ116側のいずれかに接続する接続切換部である。例えば、暗号器144−1がHDDコントローラ114によって用いられる場合、メモリバッファ制御部142がセレクタS11に対して制御信号を出力して、暗号器144−1とメモリバッファ制御部142とが接続されるようにセレクタS11の接続状態を切り替える。また、HDDバッファ制御部145がセレクタS12に対して制御信号を出力して、暗号器144−1とHDDバッファ制御部145とが接続されるようにセレクタS12の接続状態を切り替える。これにより、暗号器144−1は、HDDコントローラ114によって用いられることとなる。
【0078】
セレクタSにより接続状態が切り替えられた後の、暗号器144を用いた暗号化/復号の処理は、実施の形態1において説明された態様と同様である。また、メモリバッファ制御部162及びNWバッファ制御部165は、メモリバッファ制御部142及びHDDバッファ制御部145と同様に動作することにより、ネットワークを介して出力すべきデータを暗号化し、若しくはネットワークを介して受信したデータを復号する。
【0079】
メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165は、CPU10による制御に従い、セレクタSを制御するための制御信号を出力する。画像形成装置1には、複数の暗号器144をHDDコントローラ114とネットワークコントローラ116に対してどのように振り分けるかを制御するためのアプリケーション・プログラム(以降、暗号器数決定プログラムとする)がインストールされており、CPU10は、RAM20に読み出された暗号器決定プログラムに従って、メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165を制御する。即ち、CPU10が暗号器数決定プログラムに従って演算を行うことにより、暗号化部割り当て制御部として機能する。
【0080】
本実施形態に係る暗号器数決定プログラムにおいては、画像形成装置1の動作状態に従って複数の暗号器144をHDDコントローラ114とネットワークコントローラ116に対してどのように振り分けるかが決定される。図13は、画像形成装置1の動作状態と、暗号器数の振り分けとの関係を示すテーブルである。尚、図13の例においては、暗号器144の総数が4つである場合を示す。
【0081】
図13に示すように、原稿を複写する複写動作や、生成した画像をHDD40に格納するスキャン(格納)の場合、ネットワークコントローラ116によるネットワークを介した情報の送受信は行われないため、4つの暗号器144は全てHDDコントローラ114によって用いられる。また、プリントアウト動作の場合、ネットワークを介した情報のやり取りとHDD40との情報のやり取りとが同程度であるため、HDDコントローラ114とネットワークコントローラ116とに同数の暗号器144が振り分けられる。
【0082】
また、生成した画像をネットワークを介して配信するスキャン(配信)の場合、HDDとの情報のやり取りよりもネットワークを介した情報のやり取りの方が多いため、HDDコントローラ114に1つ、ネットワークコントローラ116に3つの暗号器144が振り分けられる。
【0083】
CPU10は、図13に示すようなルールに従って、暗号器144の割り当て数を決定し、決定した割り当て数をメモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165に通知する。これにより、メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165が、上述したようにセレクタSを切り替えるための切替信号を出力する。
【0084】
このように、本実施形態に係る画像形成装置1に含まれる暗号化モジュール117によれば、複数のモジュールによる暗号化モジュールの共用を、簡易な構成で実現することが可能である。
【0085】
尚、上記実施形態においては、メモリバッファ制御部142、HDDバッファ制御部145、メモリバッファ制御部162及びNWバッファ制御部165が夫々切替信号を出力する場合を例として説明した。しかしながら、これらのうち少なくとも1つが、全てのセレクタSの接続状態を切り替えるようにしても良い。
【符号の説明】
【0086】
1 画像形成装置、
10 CPU、
20 RAM、
30 ROM、
40 HDD、
50 I/F、
60 LCD、
70 操作部、
80 バス、
100 コントローラ、
101 スキャナ、
102 エンジンユニット、
103 プロッタ、
111 スキャナI/F、
112 CPU I/F
113 アービタ、
114 HDDコントローラ、
115 画像処理コントローラ、
116 ネットワークコントローラ、
141 DMAコントローラ、
142 メモリバッファ制御部、
143 メモリバッファ、
144 暗号器、
145 HDDバッファ制御部、
146 HDDバッファ、
147 RAIDコントローラ、
161 DMAコントローラ、
162 メモリバッファ制御部、
163 メモリバッファ、
165 NWバッファ制御部、
166 NWバッファ、
167 ネットワークI/F
【先行技術文献】
【特許文献】
【0087】
【特許文献1】特開2007−215028号公報

【特許請求の範囲】
【請求項1】
データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する情報処理装置であって、
入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部とを含むことを特徴とする情報処理装置。
【請求項2】
前記復号対象データ入力部は、前記取得された暗号化部の数と同数の復号部によって前記復号すべきデータを復号する場合に前記復号対象分割データを夫々の前記復号部に振り分ける際の前記復号対象分割データの並び順となる様に、前記複合部の数に従って前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記暗号化部は、
前記データの処理順における先頭のデータは初期化ベクトルと演算し、
複数の前記暗号化部によって暗号化されたデータ量の合計が、前記生成された暗号化データが記憶される記憶媒体の読み出し単位の倍数に達する度に、前記データの処理順において次に処理するデータを初期化ベクトルと演算することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記生成された暗号化データが記憶される記憶媒体を制御する記憶媒体制御を更に含み、
前記暗号化部は、前記記憶媒体制御部が前記暗号化データを複数の前記記憶媒体に分割して記憶する場合、複数の前記暗号化部によって暗号化されたデータ量の合計が、前記記憶媒体の読み出し単位を前記暗号化データの分割数で割った値の倍数に達する度に、前記データの処理順において次に処理するデータを初期化ベクトルと演算することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを更に含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする請求項1乃至4いずれかに記載の情報処理装置。
【請求項6】
データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化及び復号する画像形成装置であって、
入力されたデータを前記暗号化方式により暗号化する複数の暗号化部と、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶する暗号化部数記憶部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得する復号対象データ取得部と、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成する復号データ生成部と、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力し、
前記画像形成装置の動作状態に基づいて前記複数の暗号化部の前記複数の情報処理モジュールへの割り当て数を決定し、前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つに対して、前記決定した割り当て数を通知する暗号化部割り当て制御部を更に含むことを特徴とする画像形成装置。
【請求項7】
入力されたデータを暗号化する複数の暗号化部と、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力する暗号化対象データ入力部と、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成する暗号化データ生成部と、
前記複数の暗号化部に対応して構成された複数の復号部と、
前記暗号化データであって復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとして前記複数の復号部に振り分けて入力する復号対象データ入力部と、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部を含む複数の情報処理モジュールと、
複数の前記暗号化部を、複数の前記情報処理モジュールのいずれかに含まれる前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部に接続する接続切換部とを含み、
前記暗号化対象データ入力部、前記暗号化データ生成部、前記復号対象データ入力部及び前記復号データ生成部のうち少なくとも一つは、前記接続切換部による前記接続状態を制御するための制御信号を出力することを特徴とする情報処理装置。
【請求項8】
データの処理順において連続する2つ以上のデータを演算する処理を含む暗号化方式によりデータを暗号化する複数の暗号化部及び復号する複数の復号部によって暗号化及び復号処理を行う情報処理方法であって、
暗号化すべきデータを定められたデータ量ごとに分割された暗号化対象分割データとして前記複数の暗号化部に振り分けて入力し、
前記複数の暗号化部が、入力された前記暗号化対象分割データを前記暗号化方式により暗号化し、
前記複数の暗号化部によって夫々暗号化された前記暗号化対象分割データを前記分割される前の順番に従って並べることにより暗号化データを生成し、
前記暗号化対象分割データを夫々暗号化した前記暗号化部の数を前記暗号化データと関連付けて記憶し、
前記暗号化データであって復号すべきデータ及び前記暗号化データと関連付けて記憶された前記暗号化部の数を取得し、
前記復号すべきデータを定められたデータ量ごとに分割された復号対象分割データとし、前記取得された暗号化部の数及び前記復号すべきデータの復号に用いることができる前記復号部の数に基づいて前記復号対象分割データを並べ替えて前記複数の復号部に振り分けて入力し、
前記複数の復号部が、入力された前記復号対象分割データを前記暗号化方式により復号し、
前記複数の復号部によって夫々復号された前記復号対象分割データを、前記取得された暗号化部の数及び前記復号部の数に基づいて並べ替えることにより復号後のデータを生成することを特徴とする情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate