JP2001177516A - 暗号化・復号化方法、暗号化・複合化装置及び記録媒体 - Google Patents

暗号化・復号化方法、暗号化・複合化装置及び記録媒体

Info

Publication number
JP2001177516A
JP2001177516A JP35955999A JP35955999A JP2001177516A JP 2001177516 A JP2001177516 A JP 2001177516A JP 35955999 A JP35955999 A JP 35955999A JP 35955999 A JP35955999 A JP 35955999A JP 2001177516 A JP2001177516 A JP 2001177516A
Authority
JP
Japan
Prior art keywords
reference value
value
encryption
usage status
input data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP35955999A
Other languages
English (en)
Inventor
Makoto Fukushima
誠 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP35955999A priority Critical patent/JP2001177516A/ja
Publication of JP2001177516A publication Critical patent/JP2001177516A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 より高速でデータを暗号化・復号化するため
の技術の提供。 【解決手段】 次に、入力データ分配部は、入力データ
のデータ長と第一基準値と比較する(ステップA2)。
比較の結果、データ長が第一基準値よりも長い場合、入
力データをハードウエア3へ転送する。そして、ハード
ウエア3が、入力データの暗号化・復号化処理を行う
(ステップA3)。また、データ長が第一基準値以下の
場合、入力データを暗号化・復号化処理部22へ転送す
る。そして、暗号化・復号化処理部22が、入力データ
の暗号化・復号化処理を行う(ステップA4)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データの暗号化・
復号化技術に関する。
【0002】
【従来の技術】従来、データの暗号化・復号化にあた
り、種々の技術が提案されている。例えば、特開平9−
288565号公報に開示されている。この公報に開示
の技術には、暗号学的安全性について優れた鍵系列によ
るストリーム暗号を実現可能な暗号化装置が提案されて
いる。
【0003】また、データの暗号化・復号化処理は、ソ
フトウエアにより制御されたCPUで行う場合よりも、
専用LSIチップや専用LSIチップから構成されたア
クセラレータ等のハードウエアで行う場合の方が、一般
に、速く処理することができる。
【0004】
【発明が解決しようとする課題】ところで、入力データ
のデータ長によっては、ハードウエアで処理するより
も、ソフトウエアで処理したほうが、より早く処理でき
る場合がある。しかしながら、従来の暗号化・符号化処
理は、ハードウエア又はソフトウエアのどちらか一方だ
けで処理することを前提としている。このため、例え
ば、ハードウエアだけで暗号化・符号化処理を行う従来
の暗号化・符号化装置においては、データ長が一定長よ
りも短い場合には、ソフトウエアにより処理した場合よ
りも、却って処理速度が遅くなってしまうという問題が
あった。
【0005】本発明は、上記の問題を解決すべくなされ
たものであり、より高速でデータを暗号化・復号化する
ための技術の提供を目的とする。
【0006】
【課題を解決するための手段】この目的の達成を図るた
め、本発明の請求項1に係る暗号化・複合化方法によれ
ば、入力データのデータ長と第一基準値と比較し、比較
結果に応じて、入力データの暗号化・復号化処理を、暗
号化・復号化処理用のハードウエア、及び、暗号化・復
号化処理用のソフトウエアのいずれか一方により行う方
法としてある。
【0007】このように、本発明の暗号化・復号化方法
によれば、暗号化・復号化処理対象の入力データのデー
タ長によって、処理方法をハードウエアによる処理、又
は、ソフトウエアによる処理に切り替える。このため、
ハードウエア又はソフトウエアのいずれか速く処理でき
る方法を選択することができる。その結果、入力データ
のデータ長によらずに、最適な処理方法により高速で暗
号化・復号化処理を行うことができる。
【0008】また、請求項2記載の発明によれば、デー
タ長が第一基準値よりも長い場合に、暗号化・復号化処
理をハードウエアにより行い、データ長が第一基準値以
下の場合に、暗号化・復号化処理をソフトウエアにより
行う方法としてある。このようにすれば、入力データの
データ長が短い場合に、処理方法をソフトウエアに切り
替えることができる。このため、入力データのデータ長
によらずに、より高速で暗号化・復号化処理を行うこと
ができる。なお、第一基準値は、使用する暗号化・復号
化のアルゴリズム、ハードウエアの性能、及び、コンピ
ュータのCPU(中央演算装置)の性能に基づいて、任
意好適な値を決定すると良い。
【0009】ところで、データ長に基づいて選択したハ
ードウエアが、他のデータの暗号化・復号化処理等を行
っている場合がある。その場合、他の処理が終了するの
を待って入力データの処理をしたのでは、ソフトウエア
で処理した場合よりも却って処理に時間がかかってしま
うことが起こり得る。
【0010】そこで、請求項3記載の発明によれば、デ
ータ長が第一基準値よりも長い場合に、ハードウエアの
第一使用状況値と第二基準値とを比較し、第一使用状況
値が第二基準値以下の場合に、暗号化・復号化処理を、
ハードウエアにより行い、データ長が第一基準値以下の
場合、又は、第一使用状況値が第二基準値よりも高い場
合に、ソフトウエアにより暗号化・復号化処理を行う処
理部の第二使用状況値と第三基準値とを比較し、第二使
用状況値が第二基準値以下の場合に、暗号化・復号化処
理をソフトウエアにより行い、第二使用状況値が第三基
準値よりも高い場合に、暗号化・復号化処理を前記ハー
ドウエアにより行う方法としてある。
【0011】このようにすれば、データ長が長い入力デ
ータでも、ハードウエアが他のデータの処理に使用され
ている場合には、ソフトウエアにより処理することが可
能となる。その結果、ハードウエアの使用状況によらず
に、安定して高速で暗号化・復号化処理を行うことがで
きる。
【0012】さらに、ハードウエアが使用されている場
合に、ソフトウエアで稼動する処理部も使用されている
場合も想定される。そこで、請求項3記載の発明では、
ハードウエアの使用状況を判断した後、処理部の使用状
況も判断し、使用状況が条件を満たせば、処理部で暗号
化・復号化処理を行うようにしている。
【0013】なお、第二基準値は、暗号化・復号化処理
方法の選択にあたっての、ハードウエアのソフトウエア
に対する優先の程度を示す値でもあり、任意好適な値を
採用することができる。また、第三基準値は、暗号化・
復号化処理方法の選択にあたっての、ソフトウエアのハ
ードウエアに対する優先の程度を示す値でもあり、任意
好適な値を採用することができる。
【0014】ところで、データ長に基づいて選択した、
ソフトウエアで稼動するCPU等の処理装置が、暗号化
・復号化処理以外の処理や、他のデータの暗号化・復号
化処理を行っている場合がある。その場合、他の処理が
終了するのを待って入力データの処理をしたのでは、ハ
ードウエアで処理した場合よりも却って処理に時間がか
かってしまうことが起こり得る。
【0015】そこで、請求項4記載の発明によれば、デ
ータ長が第一基準値以下の場合に、ソフトウエアにより
暗号化・復号化処理を行う処理部の第二使用状況値と第
三基準値とを比較し、第二使用状況値が第二基準値以下
の場合に、暗号化・復号化処理を前記ソフトウエアによ
り行い、第二使用状況値が第三基準値よりも高い場合
に、ハードウエアの第一使用状況値と第二基準値とを比
較し、第一使用状況値が第二基準値以下の場合に、暗号
化・復号化処理を、ハードウエアにより行い、第一使用
状況値が第二基準値よりも高い場合に、暗号化・復号化
処理をソフトウエアにより行う方法としてある。
【0016】このようにすれば、データ長が短い入力デ
ータでも、ソフトウエアで稼動するCPU等の処理部が
他のデータの処理に使用されている場合には、ハードウ
エアにより処理することが可能となる。その結果、ソフ
トウエアによる処理部の使用状況によらずに、安定して
高速で暗号化・復号化処理を行うことができる。
【0017】さらに、ソフトウエアで稼動する処理部が
使用されている場合に、ハードウエアも使用されている
場合も想定される。そこで、請求項4記載の発明では、
処理部の使用状況を判断した後、ハードウエアの使用状
況も判断し、使用状況が条件を満たせば、処理部で暗号
化・復号化処理を行うようにしている。
【0018】なお、第二基準値は、暗号化・復号化処理
方法の選択にあたっての、ハードウエアのソフトウエア
に対する優先の程度を示す値でもあり、任意好適な値を
採用することができる。また、第三基準値は、暗号化・
復号化処理方法の選択にあたっての、ソフトウエアのハ
ードウエアに対する優先の程度を示す値でもあり、任意
好適な値を採用することができる。
【0019】また、請求項5記載の発明によれば、第一
使用状況値をハードウエアの処理回数とし、第二使用状
況値を処理部の使用率とする方法としてある。このよう
に、第一使用状況値を処理回数とすれば、ハードウエア
の使用状況を適切に表すことができる。また、この場
合、第二基準値も、任意好適な処理回数とすると良い。
さらに、第二使用状況値を使用率とすれば、ソフトウエ
アで稼動する処理部の使用状況を適切に表すことができ
る。また、この場合、第三基準値も、任意好適な処理率
とすると良い。
【0020】また、請求項6記載の発明によれば、第一
基準値を、入力データの暗号化アルゴリズムの種類によ
って、個別の値とする方法としてある。このように、ア
ルゴリズムの種類別に第一基準値を設定しておけば、そ
れぞれのアルゴリズムの種類に応じて最適な基準値を選
択できる。その結果、アルゴリズムの種類によらずに、
高速で暗号化・復号化処理を行うことができる。
【0021】また、本発明の請求項7記載の暗号化・複
合化装置によれば、入力データの暗号化・複合化処理を
暗号化・復号化処理用のソフトウエアにより行う処理部
と、データの暗号化・複合化処理を行う暗号化・複合化
処理用のハードウエアと、入力データ分配部とを備え、
入力データ分配部は、入力データのデータ長と第一基準
値と比較し、比較結果に応じて、入力データを、処理部
及びハードウエアのいずれか一方へ転送する構成として
ある。
【0022】このように、本発明の暗号化・復号化装置
によれば、入力データ分配部により、暗号化・復号化処
理対象の入力データのデータ長によって、処理方法をハ
ードウエアによる処理、又は、ソフトウエアによる処理
に切り替える。このため、ハードウエア又はソフトウエ
アのいずれか速く処理できる方法を選択することができ
る。その結果、入力データのデータ長によらずに、最適
な処理方法により高速で暗号化・復号化処理を行うこと
ができる。
【0023】また、請求項8記載の発明によれば、入力
データ分配部は、データ長が第一基準値よりも長い場合
に、入力データをハードウエアへ転送し、データ長が第
一基準値以下の場合に、入力データを処理部へ転送する
構成としてある。
【0024】このような構成とすれば、入力データのデ
ータ長が短い場合に、処理方法をソフトウエアに切り替
えることができる。このため、入力データのデータ長に
よらずに、より高速で暗号化・復号化処理を行うことが
できる。なお、第一基準値は、使用する暗号化・復号化
のアルゴリズム、ハードウエアの性能、及び、コンピュ
ータのCPU(中央演算装置)の性能に基づいて、任意
好適な値を決定すると良い。
【0025】また、請求項9記載の発明によれば、ハー
ドウエアの使用状況を監視し、当該使用状況を第一使用
状況値として出力するハードウエア処理監視部と、処理
部の使用状況を監視し、当該使用状況を第二使用状況値
として出力するソフトウエア処理監視部とを備え、入力
データ分配部は、データ長が前記第一基準値よりも長い
場合に、前記第一使用状況値と第二基準値とを比較し、
第一使用状況値が第二基準値以下の場合に、入力データ
をハードウエアへ転送し、データ長が第一基準値以下の
場合、又は、第一使用状況値が第二基準値よりも高い場
合に、第二使用状況値と第三基準値とを比較し、第二使
用状況値が第二基準値以下の場合に、入力データを処理
部へ転送し、第二使用状況値が第三基準値よりも高い場
合に、入力データをハードウエアへ転送する構成として
ある。
【0026】このような構成とすれば、データ長が長い
入力データでも、ハードウエアが他のデータの処理に使
用されている場合には、ソフトウエアにより処理するこ
とが可能となる。その結果、ハードウエアの使用状況に
よらずに、安定して高速で暗号化・復号化処理を行うこ
とができる。
【0027】さらに、ハードウエアが使用されている場
合に、ソフトウエアで稼動する処理部も使用されている
場合も想定される。そこで、請求項3記載の発明では、
ハードウエアの使用状況を判断した後、処理部の使用状
況も判断し、使用状況が条件を満たせば、処理部で暗号
化・復号化処理を行うようにしている。
【0028】なお、第二基準値は、暗号化・復号化処理
方法の選択にあたっての、ハードウエアのソフトウエア
に対する優先の程度を示す値でもあり、任意好適な値を
採用することができる。また、第三基準値は、暗号化・
復号化処理方法の選択にあたっての、ソフトウエアのハ
ードウエアに対する優先の程度を示す値でもあり、任意
好適な値を採用することができる。
【0029】また、請求項10記載の発明によれば、ハ
ードウエアの使用状況を監視し、当該使用状況を第一使
用状況値として出力するハードウエア処理監視部と、処
理部の使用状況を監視し、当該使用状況を第二使用状況
値として出力するソフトウエア処理監視部とを備え、入
力データ分配部は、データ長が第一基準値以下の場合
に、第二使用状況値と第三基準値とを比較し、第二使用
状況値が第二基準値以下の場合に、入力データを処理部
へ転送し、第二使用状況値が第三基準値よりも高い場合
に、第一使用状況値と第二基準値とを比較し、第一使用
状況値が第二基準値以下の場合に、入力データをハード
ウエアへ転送し、第一使用状況値が第二基準値よりも高
い場合に、入力データを前記処理部へ転送する構成とし
てある。
【0030】このような構成とすれば、データ長が短い
入力データでも、ソフトウエアで稼動するCPU等の処
理部が他のデータの処理に使用されている場合には、ハ
ードウエアにより処理することが可能となる。その結
果、ソフトウエアによる処理部の使用状況によらずに、
安定して高速で暗号化・復号化処理を行うことができ
る。
【0031】さらに、ソフトウエアで稼動する処理部が
使用されている場合に、ハードウエアも使用されている
場合も想定される。そこで、請求項4記載の発明では、
処理部の使用状況を判断した後、ハードウエアの使用状
況も判断し、使用状況が条件を満たせば、処理部で暗号
化・復号化処理を行うようにしている。
【0032】なお、第二基準値は、暗号化・復号化処理
方法の選択にあたっての、ハードウエアのソフトウエア
に対する優先の程度を示す値でもあり、任意好適な値を
採用することができる。また、第三基準値は、暗号化・
復号化処理方法の選択にあたっての、ソフトウエアのハ
ードウエアに対する優先の程度を示す値でもあり、任意
好適な値を採用することができる。
【0033】また、本発明の請求項11記載の第一の記
録媒体によれば、入力データのデータ長と第一基準値と
比較する処理と、データ長が第一基準値よりも長い場合
に、入力データの暗号化・復号化処理を、暗号化・復号
化処理用のハードウエアへ送出する処理と、データ長が
第一基準値以下の場合に、入力データを暗号化・復号化
する処理とをコンピュータに実行させるプログラムが記
録された記録媒体としてある。
【0034】本発明の第一の記録媒体に記録されたプロ
グラムを暗号化・復号化装置のコンピュータに読み込ま
せて、ソフトウエア処理を実行させることにより、暗号
化・復号化処理対象の入力データのデータ長によって、
ハードウエア又はソフトウエアのいずれか速く処理でき
る方法を選択することが可能となる。特に、入力データ
のデータ長が短い場合に、処理方法をソフトウエアに切
り替えることが可能となる。このため、入力データのデ
ータ長によらずに、最適な処理方法により高速で暗号化
・復号化処理を行うことが可能となる。
【0035】また、本発明の請求項12記載の第二の記
録媒体によれば、入力データのデータ長と第一基準値と
比較する処理と、データ長が第一基準値よりも長い場合
に、暗号化・復号化処理用のハードウエアの第一使用状
況値と第二基準値とを比較する処理と、第一使用状況値
が第二基準値以下の場合に、入力データをハードウエア
へ送出する処理と、データ長が第一基準値以下の場合、
又は、第一使用状況値が第二基準値よりも高い場合に、
暗号化・復号化処理用のソフトウエアにより暗号化・復
号化処理を行う処理部の第二使用状況値と第三基準値と
を比較する処理と、第二使用状況値が第二基準値以下の
場合に、処理部において入力データを暗号化・復号化す
る処理と、第二使用状況値が第三基準値よりも高い場合
に、入力データを暗号化・復号化処理用のハードウエア
へ送出する処理とをコンピュータに実行させるプログラ
ムが記録された記録媒体としてある。
【0036】本発明の第二の記録媒体に記録されたプロ
グラムを暗号化・復号化装置のコンピュータに読み込ま
せて、ソフトウエア処理を実行させることにより、暗号
化・復号化処理対象の入力データのデータ長によって、
ハードウエア又はソフトウエアのいずれか速く処理でき
る方法を選択することが可能となる。さらに、データ長
が長い入力データでも、ハードウエアが他のデータの処
理に使用されている場合には、ソフトウエアにより処理
することが可能となる。その結果、データ長やハードウ
エアの使用状況によらずに、安定して高速で暗号化・復
号化処理を行うことが可能となる。
【0037】また、本発明の請求項13記載の第三の記
録倍によれば、入力データのデータ長と第一基準値と比
較する処理と、データ長が第一基準値以下の場合に、暗
号化・復号化処理用のソフトウエアにより暗号化・復号
化処理を行う処理部の第二使用状況値と、第三基準値と
を比較する処理と、第二使用状況値が第二基準値以下の
場合に、処理部において入力データを暗号化・復号化す
る処理と、第二使用状況値が第三基準値よりも高い場合
に、暗号化・復号化処理用のハードウエアの第一使用状
況値と第二基準値とを比較する処理と、第一使用状況値
が第二基準値以下の場合に、入力データをハードウエア
へ送出する処理と、第一使用状況値が第二基準値よりも
高い場合に、処理部において入力データを暗号化・復号
化する処理とをコンピュータに実行させるプログラムが
記録された記録媒体としてある。
【0038】本発明の第三の記録媒体に記録されたプロ
グラムを暗号化・復号化装置のコンピュータに読み込ま
せて、ソフトウエア処理を実行させることにより、暗号
化・復号化処理対象の入力データのデータ長によって、
ハードウエア又はソフトウエアのいずれか速く処理でき
る方法を選択することが可能となる。さらに、データ長
が短い入力データでも、ソフトウエアで稼動するCPU
等の処理部が他のデータの処理に使用されている場合に
は、ハードウエアにより処理することが可能となる。そ
の結果、データ長やソフトウエアによる処理部の使用状
況によらずに、安定して高速で暗号化・復号化処理を行
うことが可能となる。
【0039】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照して説明する。なお、以下の各実施形態
における暗号化・復号化処理のうち入力データ分配部や
ソフトウエアによる処理部における処理は、プログラム
に制御されたコンピュータ(ソフトウエア処理部)によ
り実行される。このプログラムは、例えば、記録媒体
(図示せず)により提供される。記録媒体としては、例
えば、磁気ディスク、半導体メモリ、その他の任意の、
コンピュータで読み取り可能なものを使用することがで
きる。また、記録媒体に記録されたプログラムは、通信
回線を介してコンピュータに読込ませることもできる。
【0040】[第一実施形態]第一実施形態では、請求
項1、2、6、7、8、及び11記載の発明の一例につ
いて併せて説明する。まず、図1を参照して、第一実施
形態の暗号化・復号化装置の構成について説明する。図
1は、第一実施形態の暗号化・復号化装置の構成を説明
するためのブロック図である。
【0041】図1に示すように、暗号化・復号化装置1
は、ソフトウエア処理部(単に処理部とも表記する。)
2と、データの暗号化・複合化処理を行う暗号・復号化
ハードウエア(単にハードウエアとも表記する。)3と
により構成されている。そして、ソフトウエア処理部2
は、例えば、通常のコンピュータのCPUで構成されて
いる。また、ハードウエア3は、例えば、暗号化・復号
化処理用の専用LSIチップや、専用LSIチップから
構成されるアクセラレータにより構成されている。
【0042】さらに、ソフトウエア処理部2は、入力デ
ータ分配部(単に分配部とも表記する。)21と、入力
データの暗号化・複合化処理を暗号化・復号化処理用の
ソフトウエアにより行う暗号化・復号化処理部(単に処
理部とも表記する。)22とにより構成されている。
【0043】そして、入力データ分配部21は、入力デ
ータのデータ長と第一基準値と比較し、比較結果に応じ
て、入力データを処理部及びハードウエアのいずれか一
方へ転送する構成となっている。すなわち、暗号化・復
号化の処理に要する時間の短くなる方へ転送する。
【0044】ここで、図2に、入力データのデータ長
と、ハードウエア3及び処理部2における暗号化・復号
化処理時間との関係を模式的に示す。図2の直線Iは、
ハードウエア3による処理時間を示す。また、直線II
は、ソフトウエアにより稼動する処理部2による処理時
間を示す。直線I及び直線IIに示すように、データ長
がLtよりも短い場合は、ソフトウエアによる処理時間
の方が、ハードウエアによる処理時間よりも短い。一
方、データ長がLtよりも長い場合は、ハードウエアに
よる処理時間の方が、ソフトウエアによる処理時間より
も短くなる。
【0045】したがって、曲線Iと曲線IIとが交差す
るときのデータ長Ltを第一基準値として、入力データ
の処理方法をハードウエア又はソフトウエアのいずれか
に切り替えるようにすると良い。
【0046】なお、Ltは、使用する暗号化・復号化の
アルゴリズム、ハードウエアの性能、及び、コンピュー
タのCPU(中央演算装置)の性能によって決まる値で
ある。また、第一基準値として、入力データの暗号化ア
ルゴリズムの種類ごとに個別の値を設定しておき、アル
ゴリズムの種類に合わせて、最適な値を第一基準値とし
て採用すると良い。
【0047】そして、第一実施形態では、入力データ分
配部21は、入力データのデータ長が第一基準値よりも
長い場合に、入力データをハードウエアへ転送する。ま
た、分配部21は、データ長が第一基準値以下の場合に
は、入力データを処理部へ転送する。
【0048】次に、図3を参照して、第一実施形態にお
ける暗号化・復号化方法について説明する。図3は、第
一実施形態における暗号化・復号化方法を説明するため
のフローチャートである。図3に示すように、暗号化・
復号化処理にあたり、まず、入力データ分配部21へ入
力データが入力される(図3のステップA1)。次に、
入力データ分配部21は、入力データのデータ長と第一
基準値と比較する(図3のステップA2)。
【0049】比較の結果、データ長が第一基準値よりも
長い場合、入力データ分配部21は、入力データをハー
ドウエア3へ転送する(ステップA2で「YES」の場
合)。そして、ハードウエア3が、入力データの暗号化
・復号化処理を行う(図3のステップA3)。ここで、
暗号化・復号化処理とは、入力データが暗号化されてい
るときには復号化処理を行い、入力データが暗号化され
ていない場合には暗号化処理を行うことをいう。暗号化
処理及び復号化処理には、例えば、上記の文献1に記載
のような、従来公知の任意好適な技術を用いることがで
きる。
【0050】また、データ長が第一基準値以下の場合、
入力データ分配部21は、入力データを暗号化・復号化
処理部22へ転送する(ステップA2で「NO」の場
合)。そして、暗号化・復号化処理部22が、入力デー
タの暗号化・復号化処理を行う(図3のステップA
4)。なお、ソフトウエアによる暗号化・復号化処理の
アルゴリズムは、ハードウエアによる暗号化・復号化処
理のアルゴリズムと同一でも良いし、異なっていても良
い。
【0051】このように、第一実施形態によれば、入力
データのデータ長が短い場合に、処理方法をソフトウエ
アに切り替えることができる。このため、入力データの
データ長によらずに、より高速で暗号化・復号化処理を
行うことができる。
【0052】[第二実施形態]第二実施形態では、請求
項1、3、5、6、7、9及び12記載の発明の一例に
ついて併せて説明する。まず、図4を参照して、第二実
施形態の暗号化・復号化装置の構成について説明する。
図4は、第二実施形態の暗号化・復号化装置の構成を説
明するためのブロック図である。
【0053】図4に示すように、暗号化・復号化装置1
aは、ソフトウエア処理部(単に処理部とも表記す
る。)2aと、データの暗号化・複合化処理を行う暗号
・復号化ハードウエア(単にハードウエアとも表記す
る。)3とにより構成されている。ソフトウエア処理部
2aは、第一実施形態と同様に、入力データ分配部(単
に分配部とも表記する。)21aと、入力データの暗号
化・複合化処理を暗号化・復号化処理用のソフトウエア
により行う暗号化・復号化処理部(単に処理部とも表記
する。)22とを備えている。
【0054】さらに、第二実施形態では、ソフトウエア
処理部2aは、ハードウエアの使用状況を監視するハー
ドウエア処理監視部23と、処理部22の使用状況を監
視するソフトウエア処理監視部23とを備えている。そ
して、ハードウエア処理監視部23は、ハードウエアの
使用状況を監視し、当該使用状況を第一使用状況値とし
て出力する。また、ソフトウエア処理監視部23は、処
理部22の使用状況を第二使用状況値として出力する。
【0055】この第一使用状況値としては、例えば、ハ
ードウエアの処理回数を用いると良い。このように、第
一使用状況値を処理回数とすれば、ハードウエアの使用
状況を適切に表すことができる。また、第二基準値は、
暗号化・復号化処理方法の選択にあたっての、ハードウ
エアのソフトウエアに対する優先の程度を示す値でもあ
り、任意好適な処理回数値を採用することができる。
【0056】また、第二使用状況値としては、例えば、
処理部の使用率とすると良い。このように、第二使用状
況値を使用率とすれば、ソフトウエアで稼動する処理部
の使用状況を適切に表すことができる。また、第三基準
値は、暗号化・復号化処理方法の選択にあたっての、ソ
フトウエアのハードウエアに対する優先の程度を示す値
でもあり、任意好適な使用率値を採用することができ
る。
【0057】なお、第二、第三基準値についても、入力
データの暗号化アルゴリズムの種類ごとに個別の値を設
定しておき、アルゴリズムの種類に合わせて、最適な値
を採用すると良い。
【0058】そして、入力データ分配部21aは、入力
データのデータ長に加えて、第二及び第三使用状況値の
一方又は両方に基づいて、入力データを処理部及びハー
ドウエアのいずれか一方へ転送する構成となっている。
【0059】次に、図5を参照して、第二実施形態にお
ける暗号化・復号化方法について説明する。図5は、第
一実施形態における暗号化・復号化方法を説明するため
のフローチャートである。図5に示すように、暗号化・
復号化処理にあたり、まず、入力データ分配部21へ入
力データが入力される(図5のステップB1)。次に、
入力データ分配部21aは、入力データのデータ長と第
一基準値と第一の比較として比較する(図5のステップ
B2)。
【0060】第一の比較の結果、データ長が第一基準値
よりも長い場合(ステップB2で「YES」の場合)、
入力データ分配部21aは、第一使用状況値と第二基準
値とを第二の比較として比較する(図5のステップB
3)。第二の比較の結果、第一使用状況値が第二基準値
以下の場合、入力データ分配部21aは、入力データを
ハードウエア3へ転送する(ステップB3で「NO」の
場合)。そして、ハードウエア3が、入力データの暗号
化・復号化処理を行う(図5のステップB4)。
【0061】また、第一の比較の結果、データ長が第一
基準値以下の場合、又は、第二の比較の結果、第一使用
状況値が第二基準値よりも高い場合、入力データ分配部
21aは、第二使用状況値と第三基準値とを第三の比較
として比較する(図5のステップB5)。第三の比較の
結果、第二使用状況値が第三基準値以下の場合、入力デ
ータ分配部21aは、入力データを暗号化・復号化処理
部22へ転送する(ステップB5で「NO」の場合)。
そして、暗号化・復号化処理部22が、入力データの暗
号化・復号化処理を行う(図5のステップB6)。
【0062】また、第三の比較の結果、第二使用状況値
が第三基準値よりも高い場合、入力データ分配部21a
は、入力データをハードウエア3へ転送する(ステップ
B5で「YES」の場合)。そして、ハードウエア3
が、入力データの暗号化・復号化処理を行う(図5のス
テップB4)。
【0063】このように、第二実施形態によれば、デー
タ長が長い入力データでも、ハードウエアが他のデータ
の処理に使用されている場合には、ソフトウエアにより
処理することが可能となる。さらに、第二実施形態で
は、ハードウエアの使用状況を判断した後、処理部の使
用状況も判断し、使用状況が条件を満たせば、処理部で
暗号化・復号化処理を行う。したがって、第二実施形態
によれば、データ長、ハードウエアの使用状況、及び、
ソフトウエアによる処理部の使用状況によらずに、安定
して高速で暗号化・復号化処理を行うことができる。
【0064】[第三実施形態]第三実施形態では、請求
項1、4、5、6、7、10及び13記載の発明の一例
について併せて説明する。なお、第三実施形態の暗号化
・符号化装置の構成は、図4に示した第二実施形態の暗
号化・復号化装置の構成と同様であるので、その詳細な
説明を省略する。
【0065】次に、図6を参照して、第一実施形態にお
ける暗号化・復号化方法について説明する。図6は、第
一実施形態における暗号化・復号化方法を説明するため
のフローチャートである。上述の第二実施形態では、図
5に示したように、ハードウエアの使用状況(第一使用
状況値)を判断した後、さらに、必要に応じて処理部の
使用状況(第二使用状況値)も判断したが、第三実施形
態では、図6に示すように、処理部の使用状況(第二使
用状況値)も判断した後、さらに、必要に応じてハード
ウエアの使用状況(第一使用状況値)も判断する。
【0066】そして、入力データ分配部21aは、入力
データのデータ長に加えて、第二及び第三使用状況値の
一方又は両方に基づいて、入力データを処理部及びハー
ドウエアのいずれか一方へ転送する構成となっている。
【0067】図6に示すように、暗号化・復号化処理に
あたり、まず、入力データ分配部21へ入力データが入
力される(図6のステップC1)。次に、入力データ分
配部21aは、入力データのデータ長と第一基準値と第
一の比較として比較する(図6のステップC2)。
【0068】第一の比較の結果、データ長が第一基準値
以下の場合(ステップC2で「NO」の場合)、入力デ
ータ分配部21aは、第二使用状況値と第三基準値とを
第二の比較として比較する(図6のステップC3)。第
二の比較の結果、第二使用状況値が第三基準値以下の場
合、入力データ分配部21aは、入力データを暗号化・
復号化処理部22へ転送する(ステップC3で「NO」
の場合)。そして、暗号化・復号化処理部22が、入力
データの暗号化・復号化処理を行う(図6のステップC
4)。
【0069】一方、第一の比較の結果、データ長が第一
基準値よりも長い場合(ステップC2で「YES」の場
合)、又は、第二の比較の結果、第二使用状況値が第三
基準値よりも高い場合、入力データ分配部21aは、第
一使用状況値と第二基準値とを第三の比較として比較す
る(図6のステップC5)。第三の比較の結果、第一使
用状況値が第二基準値以下の場合、入力データ分配部2
1aは、入力データをハードウエア3へ転送する(ステ
ップC5で「NO」の場合)。そして、ハードウエア3
が、入力データの暗号化・復号化処理を行う(図6のス
テップC6)。
【0070】また、第三の比較の結果、第一使用状況値
が第二基準値よりも高い場合、入力データ分配部21a
は、入力データを暗号化・復号化処理部22へ転送する
(ステップC5で「YES」の場合)。そして、暗号化
・復号化処理部22が、入力データの暗号化・復号化処
理を行う(図6のステップC4)。
【0071】このように、第三実施形態によれば、デー
タ長が短い入力データでも、ソフトウエアで稼動するC
PU等の処理部が他のデータの処理に使用されている場
合には、ハードウエアにより処理することが可能とな
る。さらに、第三実施形態では、処理部の使用状況を判
断した後、ハードウエアの使用状況も判断し、使用状況
が条件を満たせば、ハードウエアで暗号化・復号化処理
を行う。したがって、第二実施形態によれば、データ
長、ソフトウエアによる処理部の使用状況、及び、ハー
ドウエアの使用状況によらずに、安定して高速で暗号化
・復号化処理を行うことができる。
【0072】上述した実施の形態においては、本発明を
特定の条件で構成した例について説明したが、本発明
は、種々の変更を行うことができる。例えば、上述した
第二実及び第三施形態においては、第一使用状況値とし
て処理回数を採用し、第二使用状況値として使用率を採
用したが、この発明では、第一及び第二使用状況値とし
て、任意好適なものを採用することができる。
【0073】
【発明の効果】以上、詳細に説明したように、本願出願
に係る各発明によれば、入力データのデータ長に応じて
データの処理手段の最適化を図ることにより、入力デー
タの暗号化・復号化処理の高速化を図ることができる。
【図面の簡単な説明】
【図1】第一実施形態の暗号化・復号化装置を説明する
ためのブロック図である。
【図2】データ長と暗号化・復号化処理時間との関係を
示す模式図である。
【図3】第一実施形態の暗号化・復号化方法を説明する
ためのフローチャートである。
【図4】第二実施形態の暗号化・復号化装置を説明する
ためのブロック図である。
【図5】第二実施形態の暗号化・復号化方法を説明する
ためのフローチャートである。
【図6】第三実施形態の暗号化・復号化方法を説明する
ためのフローチャートである。
【符号の説明】
1、1a 暗号化・復号化装置 2、2a ソフトウエア処理部 3 暗号化・復号化処理用ハードウエア 21、21a 入力データ分配手段 22 暗号化・復号化処理部 23 ソフトウエア処理監視部 24 ハードウエア処理監視部

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 入力データのデータ長と第一基準値と比
    較し、 比較結果に応じて、前記入力データの暗号化・復号化処
    理を、暗号化・復号化処理用のハードウエア、及び、暗
    号化・復号化処理用のソフトウエアのいずれか一方によ
    り行うことを特徴とする暗号化・複合化方法。
  2. 【請求項2】 前記データ長が前記第一基準値よりも長
    い場合に、前記入力データの暗号化・復号化処理を前記
    ハードウエアにより行い、 前記データ長が前記第一基準値以下の場合に、前記暗号
    化・復号化処理を前記ソフトウエアにより行うことを特
    徴とする請求項1記載の暗号化・複合化方法。
  3. 【請求項3】 前記データ長が前記第一基準値よりも長
    い場合に、前記ハードウエアの第一使用状況値と第二基
    準値とを比較し、 前記第一使用状況値が前記第二基準値以下の場合に、前
    記暗号化・復号化処理を、前記ハードウエアにより行
    い、 前記データ長が前記第一基準値以下の場合、又は、前記
    第一使用状況値が前記第二基準値よりも高い場合に、前
    記ソフトウエアにより暗号化・復号化処理を行う処理部
    の第二使用状況値と第三基準値とを比較し、 前記第二使用状況値が前記第二基準値以下の場合に、前
    記暗号化・復号化処理を前記ソフトウエアにより行い、 前記第二使用状況値が前記第三基準値よりも高い場合
    に、前記暗号化・復号化処理を前記ハードウエアにより
    行うことを特徴とする請求項1記載の暗号化・複合化方
    法。
  4. 【請求項4】 前記データ長が前記第一基準値以下の場
    合に、前記ソフトウエアにより暗号化・復号化処理を行
    う処理部の第二使用状況値と第三基準値とを比較し、 前記第二使用状況値が前記第二基準値以下の場合に、前
    記暗号化・復号化処理を前記ソフトウエアにより行い、 前記第二使用状況値が前記第三基準値よりも高い場合
    に、前記ハードウエアの第一使用状況値と第二基準値と
    を比較し、 前記第一使用状況値が前記第二基準値以下の場合に、前
    記暗号化・復号化処理を、前記ハードウエアにより行
    い、 前記第一使用状況値が前記第二基準値よりも高い場合
    に、前記暗号化・復号化処理を前記ソフトウエアにより
    行うことを特徴とする請求項1記載の暗号化・複合化方
    法。
  5. 【請求項5】 前記第一使用状況値を、前記ハードウエ
    アの処理回数とし、 前記第二使用状況値を、前記処理部の使用率とすること
    を特徴とする請求項3又は4記載の暗号化・複合化方
    法。
  6. 【請求項6】 前記第一基準値を、前記入力データの暗
    号化アルゴリズムの種類によって、個別の値とすること
    を特徴とする請求項1〜5のいずれかに記載の暗号化・
    複合化方法。
  7. 【請求項7】 入力データの暗号化・複合化処理を暗号
    化・復号化処理用のソフトウエアにより行う処理部と、 データの暗号化・複合化処理を行う暗号化・複合化処理
    用のハードウエアと、 入力データ分配部とを備え、 前記入力データ分配部は、 入力データのデータ長と第一基準値と比較し、 比較結果に応じて、前記入力データを前記処理部及び前
    記ハードウエアのいずれか一方へ転送することを特徴と
    する暗号化・複合化装置。
  8. 【請求項8】前記入力データ分配部は、 前記データ長が前記第一基準値よりも長い場合に、前記
    入力データを前記ハードウエアへ転送し、 前記データ長が、前記第一基準値以下の場合に、前記入
    力データを前記処理部へ転送することを特徴とする請求
    項7記載の暗号化・複合化装置。
  9. 【請求項9】 前記ハードウエアの使用状況を監視し、
    当該使用状況を第一使用状況値として出力するハードウ
    エア処理監視部と、 前記処理部の使用状況を監視し、当該使用状況を第二使
    用状況値として出力するソフトウエア処理監視部とを備
    え、 前記入力データ分配部は、 前記データ長が前記第一基準値よりも長い場合に、前記
    第一使用状況値と第二基準値とを比較し、 前記第一使用状況値が前記第二基準値以下の場合に、前
    記入力データを前記ハードウエアへ転送し、 前記データ長が前記第一基準値以下の場合、又は、前記
    第一使用状況値が前記第二基準値よりも高い場合に、前
    記第二使用状況値と第三基準値とを比較し、 前記第二使用状況値が前記第二基準値以下の場合に、前
    記入力データを前記処理部へ転送し、 前記第二使用状況値が前記第三基準値よりも高い場合
    に、前記入力データを前記ハードウエアへ転送すること
    を特徴とする請求項7記載の暗号化・複合化装置。
  10. 【請求項10】 前記ハードウエアの使用状況を監視
    し、当該使用状況を第一使用状況値として出力するハー
    ドウエア処理監視部と、 前記処理部の使用状況を監視し、当該使用状況を第二使
    用状況値として出力するソフトウエア処理監視部とを備
    え、 前記入力データ分配部は、 前記データ長が前記第一基準値以下の場合に、前記第二
    使用状況値と第三基準値とを比較し、 前記第二使用状況値が前記第二基準値以下の場合に、前
    記入力データを前記処理部へ転送し、 前記第二使用状況値が前記第三基準値よりも高い場合
    に、前記第一使用状況値と第二基準値とを比較し、 前記第一使用状況値が前記第二基準値以下の場合に、前
    記入力データを前記ハードウエアへ転送し、 前記第一使用状況値が前記第二基準値よりも高い場合
    に、前記入力データを前記処理部へ転送することを特徴
    とする請求項7記載の暗号化・複合化装置。
  11. 【請求項11】 入力データのデータ長と第一基準値と
    比較する処理と、 前記データ長が前記第一基準値よりも長い場合に、前記
    入力データを、暗号化・復号化処理用のハードウエアへ
    送出する処理と、 前記データ長が、前記第一基準値以下の場合に、前記入
    力データを暗号化・復号化する処理とをコンピュータに
    実行させるプログラムが記録されたことを特徴とする記
    録媒体。
  12. 【請求項12】 入力データのデータ長と第一基準値と
    比較する処理と、 前記データ長が前記第一基準値よりも長い場合に、暗号
    化・復号化処理用のハードウエアの第一使用状況値と第
    二基準値とを比較する処理と、 前記第一使用状況値が前記第二基準値以下の場合に、前
    記入力データを前記ハードウエアへ送出する処理と、 前記データ長が前記第一基準値以下の場合、又は、前記
    第一使用状況値が前記第二基準値よりも高い場合に、暗
    号化・復号化処理用のソフトウエアにより暗号化・復号
    化処理を行う処理部の第二使用状況値と第三基準値とを
    比較する処理と、 前記第二使用状況値が前記第二基準値以下の場合に、前
    記処理部において前記入力データを暗号化・復号化する
    処理と、 前記第二使用状況値が前記第三基準値よりも高い場合
    に、前記入力データを暗号化・復号化処理用のハードウ
    エアへ送出する処理とをコンピュータに実行させるプロ
    グラムが記録されたことを特徴とする記録媒体。
  13. 【請求項13】 入力データのデータ長と第一基準値と
    比較する処理と、 前記データ長が前記第一基準値以下の場合に、暗号化・
    復号化処理用のソフトウエアにより暗号化・復号化処理
    を行う処理部の第二使用状況値と、第三基準値とを比較
    する処理と、 前記第二使用状況値が前記第二基準値以下の場合に、前
    記処理部において前記入力データを暗号化・復号化する
    処理と、 前記第二使用状況値が前記第三基準値よりも高い場合
    に、暗号化・復号化処理用のハードウエアの第一使用状
    況値と第二基準値とを比較する処理と、 前記第一使用状況値が前記第二基準値以下の場合に、前
    記入力データを前記ハードウエアへ送出する処理と、 前記第一使用状況値が前記第二基準値よりも高い場合
    に、前記処理部において前記入力データを暗号化・復号
    化する処理とをコンピュータに実行させるプログラムが
    記録されたことを特徴とする記録媒体。
JP35955999A 1999-12-17 1999-12-17 暗号化・復号化方法、暗号化・複合化装置及び記録媒体 Pending JP2001177516A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35955999A JP2001177516A (ja) 1999-12-17 1999-12-17 暗号化・復号化方法、暗号化・複合化装置及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35955999A JP2001177516A (ja) 1999-12-17 1999-12-17 暗号化・復号化方法、暗号化・複合化装置及び記録媒体

Publications (1)

Publication Number Publication Date
JP2001177516A true JP2001177516A (ja) 2001-06-29

Family

ID=18465131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35955999A Pending JP2001177516A (ja) 1999-12-17 1999-12-17 暗号化・復号化方法、暗号化・複合化装置及び記録媒体

Country Status (1)

Country Link
JP (1) JP2001177516A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155905A1 (ja) * 2007-06-18 2008-12-24 Panasonic Corporation 暗号装置及び暗号操作方法
JP2009135813A (ja) * 2007-11-30 2009-06-18 Ricoh Co Ltd 暗復号化装置、および暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体。
JP2014099752A (ja) * 2012-11-14 2014-05-29 Fujitsu Ltd 通信装置、通信システム、及び通信システムにおける暗号アルゴリズム実行方法
JP2019033402A (ja) * 2017-08-09 2019-02-28 三菱電機株式会社 通信装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155905A1 (ja) * 2007-06-18 2008-12-24 Panasonic Corporation 暗号装置及び暗号操作方法
JP2009135813A (ja) * 2007-11-30 2009-06-18 Ricoh Co Ltd 暗復号化装置、および暗復号化プログラムが格納されたコンピュータで読み取り可能な記憶媒体。
JP2014099752A (ja) * 2012-11-14 2014-05-29 Fujitsu Ltd 通信装置、通信システム、及び通信システムにおける暗号アルゴリズム実行方法
US9411968B2 (en) 2012-11-14 2016-08-09 Fujitsu Limited Apparatus and method for performing different cryptographic algorithms in a communication system
JP2019033402A (ja) * 2017-08-09 2019-02-28 三菱電機株式会社 通信装置
JP7080024B2 (ja) 2017-08-09 2022-06-03 三菱電機株式会社 通信装置

Similar Documents

Publication Publication Date Title
TWI237974B (en) Security association data cache and structure
US7885404B2 (en) Cryptographic systems and methods supporting multiple modes
US8077867B2 (en) Confidential information processing apparatus, confidential information processing device, and confidential information processing method
US9003202B2 (en) Memory control device, semiconductor memory device, memory system, and memory control method
EP3322119B1 (en) Data processing method and apparatus
JP2012090286A (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
WO2002101977A1 (en) Single-pass cryptographic processor and method
JPH03261987A (ja) ファイル暗号化方法およびファイル暗号システム
CN101304314A (zh) 对数据进行加密和解密的方法和使用该方法的总线***
US20070180270A1 (en) Encryption/decryption device, communication controller, and electronic instrument
US8363835B2 (en) Method for transmission/reception of contents usage right information in encrypted form, and device thereof
JP5118494B2 (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
US8478984B2 (en) Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data relay apparatus
WO2008121734A1 (en) Method and apparatus for advanced encryption standard (aes) block cipher
CN101689957A (zh) 传输流处理器和解码器之间的编码数字视频内容保护
CN102411694A (zh) 加密装置及存储器***
JP2008524969A5 (ja)
JP2001177516A (ja) 暗号化・復号化方法、暗号化・複合化装置及び記録媒体
US8560832B2 (en) Information processing apparatus
JP4912797B2 (ja) 暗号装置及び復号装置及び暗号方法及び復号方法及びプログラム
JP5361031B2 (ja) 暗号認証処理方法及び装置
JPH0777933A (ja) ネットワークデータ暗号化装置
TW200811658A (en) Chipset security offload engine
JP2002108205A (ja) ブロック暗号方法及び復号方法
US20090041245A1 (en) Confidential information processing device,confidential information processing apparatus, and confidential information processing method

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040302