説明

演算装置及び演算処理方法

【課題】接触方式と非接触方式とのいずれの方式でも動作可能なバッテリレスのICカードにおいて、低消費電力化のために非接触環境時にクロック周波数を下げ場合にも、コプロセッサの処理性能の低下を抑え、非接触環境時でも高速処理を可能とするICカードを提供する。
【解決手段】デュアルインターフェースカード1000は、接触方式と非接触方式とのいずれの方式でも動作可能なバッテリレスのICカードである。デュアルインターフェースカード1000は、接触方式では高クロックで動作し、非接触環境では低クロックで動作する。デュアルインターフェースカード1000の基本演算回路群0103は、接触環境下では、1サイクルで、異なる複数の基本演算から構成される処理対象演算のうちの一つの基本演算を実行し、非接触環境下では、1サイクルで、処理対象演算のうちの少なくとも2つの基本演算を順次に実行する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、接触方式と非接触方式の両方式を1つのIC(Integrated Circuit)チップで対応するデュアルインターフェースカードにおいて、それぞれの環境に適した暗号演算を行う演算装置に関する。
【背景技術】
【0002】
近年、交通機関の自動改札やオフィスへの入退室を、非接触型のバッテリレスのICカードで運用する環境が普及している。「非接触型」(非接触方式)とは、例えば相手方の装置であるリーダライタ装置と非接触において、ICカードはリーダライタ装置から受信する電波から動作電力を生成する方式である。
【0003】
また、銀行のATM(Automated Teller Machine)やETC(Electronic Toll Collection System)車載器などのシステムにおいては、接触型のICカードが一般的に利用されている。「接触型」(接触方式)とは、例えばICカードが相手方の装置であるETC車載器と直接に接続し、この接続状態において、ETC車載器から動作電力を供給される方式である。
【0004】
一方で、これらインフラの利用者からは、複数のカードを持ち歩きたくないというニーズや、高機能化のために、それぞれのインフラにおける利用情報の共有が必要であり、このため接触・非接触の両方式に対応するデュアルインターフェースカードの普及が進んでいる。デュアルインターフェースカードを実現する上でコスト及び機能面から優位性の高いものは、1つのICチップで両方式を達成する形態である。
【0005】
ところが、接触及び非接触環境では、ICチップの動作環境が大きくことなる。特に、非接触環境では接触環境よりも少ない消費電力、かつ消費電力の変動を抑えた条件において必要な処理を行うことが求められる。このため、一般に非接触環境では、接触環境よりも低いクロック周波数をICチップに供給するのが一般的である。
【0006】
従来のデュアルインターフェースカードに対応するICチップでは、ICチップに供給される電力量を監視し、受信電力量が少ないときにはICチップ内部の機能を一部停止することで低消費電力化を行っていた。例えば、特許文献1では、ICチップを構成するCPU(Central Processing Unit)、メモリ、コプロセッサに対して、電力量の監視結果が非接触環境であれば、コプロセッサ動作時にはCPUやメモリへのクロック供給を止め、CPU動作時にはコプロセッサ、メモリへのクロック供給を止めることで低消費電力化を行っている。また、電力量の監視結果が接触環境であれば、CPU、メモリ、コプロセッサをそれぞれ並列動作させ、高速動作を実現している。
【0007】
ここで、ICチップにおけるコプロセッサとして代表例としては、暗号処理を行うコプロセッサがある。暗号処理を行うコプロセッサの低消費電力化を実現する従来技術としては、回路規模の小型化と、信号到達時刻のばらつきを抑えることで解決する方法も非特許文献1で提案されている。
【特許文献1】特開2004−206409号公報 非接触式ICカード
【非特許文献1】Morioka, S. and Satoh, A.: An Optimized S−Box Circuit Architecture for Low Power AES Design, CHES2002, LNCS Vol.2523, pp.172−186(2002).
【発明の開示】
【発明が解決しようとする課題】
【0008】
特許文献1における従来技術は、コプロセッサそのものの構成や動作を切り替えることを行わないため、前述のように、非接触環境時に利用する接触環境より低いクロック周波数での動作を前提とした場合、クロック周波数の減少分だけコプロセッサの処理性能は低下する。これは、非接触環境時に利用する周波数が接触環境の1/nとなれば、コプロセッサの処理性能も1/nとなることを意味する。つまり、単純なクロック周波数の減速と、クロック供給の有無を切り替えるだけでは、処理性能の大幅な低下を招くことになる。
【0009】
一方で、非特許文献1における技術は、コプロセッサそのもの構成を最適化することで低消費電力化を図ることが可能となる。しかしながら、この技術も非接触環境の周波数が接触環境の1/nとなれば、コプロセッサの処理性能も1/nとなり、周波数の減少が直接的に処理性能の低下を招くことになる。
【0010】
この発明は上記のような課題を解決するためになされたもので、低消費電力化のためにクロック周波数を下げても、コプロセッサの処理性能の低下を抑え、非接触環境時でも高速処理を可能とする演算装置の提供を目的とする。
【課題を解決するための手段】
【0011】
この発明の演算装置は、
クロックを供給されて演算を実行する演算装置であって、所定のクロック周波数が供給される高クロックモードと、前記高クロックモードよりも低い所定のクロック周波数が供給される低クロックモードとのいずれのモードでも演算の実行可能な演算装置において、
前記高クロックモードでは、前記クロック周波数の1サイクルで、異なる複数の基本演算から構成される処理対象演算のうちの一つの前記基本演算を実行し、
前記低クロックモードでは、前記クロック周波数の1サイクルで、前記処理対象演算のうちの少なくとも2つの前記基本演算を順次に実行する演算実行部を備えたことを特徴とする。
【発明の効果】
【0012】
この発明により、低消費電力化のためにクロック周波数を下げても、コプロセッサの処理性能の低下を抑え、非接触環境時でも高速処理を可能とするICカードを提供することができる。
【発明を実施するための最良の形態】
【0013】
実施の形態1.
図1〜図3を参照して実施の形態1のICカードを説明する。以下の実施の形態1〜3では動作モード(演算処理方式)を切り替えるケースとして、接触、非接触の例を挙げて説明するが、これは一例である。例えば、製品用途に応じて、ICカードの動作電圧、動作周波数、消費電流などの仕様が相違するからである。製品用途としては、ETCなどの交通用途向け、キャッシュカードやクレジットカードなどの金融用途向け、携帯電話などの通信用途向け、あるいはこれらの複合用途向けなどが考えられる。
【0014】
まず、実施の形態1を説明する。図1に、実施の形態1におけるデュアルインターフェースカード1000(ICカード)のブロック構成図を示す。なお、図1は、デュアルインターフェースカード1000の主要構成部のみを示している。デュアルインターフェースカード1000は相手方の装置から動作電力の供給を受けるバッテリレスのICカードである。デュアルインターフェースカード1000は、クロックを生成するクロックジェネレータ10、外部回路(例えばCPU)20、暗号コプロセッサ101(演算装置の一例)を備える。暗号コプロセッサ101は、クロックジェネレータ10からクロックを供給されて演算を実行する演算装置である。後述のように、暗号コプロセッサ101は、所定のクロック周波数(fc)が供給される接触環境(高クロックモード)と、接触環境よりも低い所定のクロック周波数(fl)が供給される非接触環境(低クロックモード)とのいずれのモードでも演算が実行可能である。
【0015】
また、暗号コプロセッサ101(演算装置)は、制御用レジスタ102(クロックモード記憶部)、入力レジスタ104、出力レジスタ105、中間値格納レジスタ106、暗号コプロセッサ制御回路107、基本演算回路群103(演算実行部)を備えている。
【0016】
入力レジスタ104は、CPU等の外部回路から設定される演算対象データを格納する。また、出力レジスタ105は、演算結果を格納するためのレジスタである。中間値格納レジスタ106は、暗号アルゴリズムを処理する過程で発生する中間値を格納するためのレジスタである。装置の実施形態によっては、出力レジスタ105及び中間値格納レジスタ106は入力レジスタ104と部分的あるいはすべて共有化してもよいが、図1では以降の説明を簡便にするために別々に表記している。
【0017】
暗号コプロセッサ101は、ある特定の暗号アルゴリズムを処理するものとする。暗号アルゴリズムの例としては、AES、SHA−256、RSA(登録商標)などがある。ここで、暗号アルゴリズム(処理対象演算の一例)は基本処理(基本演算)である基本処理OP1からOPnまでのn種類の処理で構成されるものとする。また、接触環境(接触方式)における最大動作周波数をfcとし、非接触環境(非接触方式)における最大動作周波数をflと表記し、接触環境の最大動作周波数fcは、非接触環境の最大動作周波数flよりも極めて大きいとする。すなわち、
fc>>fl
である。
fcは、例えば、「20MHz」程度であり、flは例えば「3.6MHz」程度である。さらに、基本処理OP1から基本処理OPnは、fc以下のクロック周波数において、それぞれ1サイクルで処理可能な演算器を構成可能な処理とする。
【0018】
(暗号コプロセッサ101の特徴)
以下の実施の形態1〜3に示す暗号コプロセッサの特徴は、接触・非接触環境の動作モードの通知を受け取る制御用レジスタ102を備え、接触環境時(動作クロックfc程度)には基本処理OP1からOPnのうちの任意の1つの演算を、1サイクルで、基本演算回路群103によって処理し、また、非接触環境(動作クロックfl程度)では基本処理OP1からOPnのある特定の組み合わせの処理を、同一の基本演算回路群103によって、1サイクルで、処理する機能を備える点である。以下に動作を説明する。
【0019】
(動作説明)
次に動作について説明する。
(1)まず、外部回路20は、制御用レジスタ102に動作環境を設定する(S11)。
(2)次に外部回路20は、入力レジスタ104に演算対象データを設定する(S12)。
(3)また、外部回路20は、入力レジスタ104への演算対象データ設定が完了次第、制御用レジスタ102に「演算開始通知」を設定する(S13)。
(4)暗号コプロセッサ101では制御用レジスタ102に「演算開始通知」が設定されると、暗号コプロセッサ101が、入力レジスタ104の演算対象データを中間値格納レジスタ106へ転送する(S14)。
(5)中間値格納レジスタ106に格納された演算対象データは、基本演算回路群103が、暗号コプロセッサ制御回路107から指定される演算を、1サイクルで処理する(S15)。
(6)そして、基本演算回路群103は演算結果を、再び中間値格納レジスタ106に格納する(S16)。
【0020】
(暗号コプロセッサ制御回路107による指定内容)
(1)このとき、制御用レジスタ102に設定された「動作環境」が接触環境(高クロックモード情報の一例)を表すならば、基本演算回路群103によって1サイクルで実行される演算は、基本処理OP1からOPnのどれか1つの演算となる。すなわち、制御用レジスタ102に「動作環境」として「接触環境」(高クロックモード情報)が設定されている場合には、暗号コプロセッサ制御回路107は、基本演算回路群103に対して基本処理OP1からOPnのどれか1つの実行を指定する。この場合、クロックジェネレータ10はfc相当のクロックを供給する。fcは高い周波数であり、基本演算回路群103は1サイクルで一つの基本処理(基本演算)のみを実行する。
(2)一方、制御用レジスタ102の設定が「非接触環境」(低クロックモード情報)を表すならば、1サイクルで実行される演算は、基本処理OP1からOPnにおける複数の演算の組み合わせとなる。すなわち、制御用レジスタ102に「動作環境」として「非接触環境」が設定されている場合には、暗号コプロセッサ制御回路107は、基本演算回路群103に対して基本処理OP1からOPnのうちの複数の基本演算の組み合わせを指定する。この場合、当然にクロックジェネレータ10はfl相当の、fcに比べて低いクロックを供給する。flはfcに比べてきわめて低い周波数のため、基本演算回路群103は1サイクルで複数の基本処理(基本演算)を実行する。
(3)以降、基本演算回路群103は、中間値格納レジスタ106に格納されたデータに対して演算を行い、基本演算回路群103により暗号アルゴリズムとして必要な全ての演算が実行される。この基本演算回路群103による演算が完了した段階で、中間値格納レジスタ106のデータは出力レジスタ105に転送される。また、暗号コプロセッサ制御回路107は外部回路20へ演算完了を通知する。
【0021】
図2は、処理対象の暗号アルゴリズム(処理対象演算)をAESとした場合におけるAESコプロセッサ201を示している。図2のAESコプロセッサ201は、図1の暗号コプロセッサ101に対応し、構成要素のAES制御用レジスタ202等は暗号コプロセッサ101の制御用レジスタ102等に対応する。
【0022】
AESの暗号化処理は、主に、
(1)ShiftRow演算、
(2)SubBytes演算、
(3)MixColumns演算、
(4)AddRoundKey演算、
の4つの演算を組み合わせて構成される演算を繰り返し行う処理である。ここで、図2では、これらの処理を実行する回路をAES基本演算回路群203で持つものとする。
【0023】
(接触環境fc)
接触環境におけるAESコプロセッサ201による暗号化処理の動作は、中間値格納レジスタ206のデータに対して、暗号コプロセッサ制御回路207で指定する1演算(基本演算)を、AES基本演算回路群203で実行し、中間値格納レジスタ206へ格納する。従って、AESにおけるラウンド関数と呼ばれる処理を実行するためには、次の手順で処理する。
【0024】
(1)中間値格納レジスタ206の値に対して、ShiftRow回路208によりShiftRow演算を行う。
(2)(1)の結果に対してSubBytes回路209によりSubBytes演算を行う。
(3)(2)の結果に対してMixColumns回路210によりMixColumns演算を行う。
(4)(3)の結果に対してAddRoundKey回路211によりAddRoundKey演算を行う。
【0025】
ここで、接触環境下の場合にはfc相当の高クロックが供給されるが、その場合、上記(1)から(4)の処理をそれぞれ1サイクル毎に実行する。その場合この処理には4サイクル掛かることになる。
【0026】
(非接触環境fl)
一方、非接触環境下の場合、接触環境下のクロックに比べてfl相当の低クロックが供給されるが、この場合、AES基本演算回路群203では、前記4つの組み合わせを1サイクルで実行するような、接触環境fcからの動作モードの切り替えを行い、上記(1)から(4)の処理を1サイクルで処理する。
【0027】
図3は、図2のAES基本演算回路群203を詳細化した図である。図3のAES基本演算回路群301は図2のAES基本演算回路群203を具体化した一例である。図3を参照して、図2の場合をさらに具体的に説明する。
【0028】
(接触環境fc)
接触環境下においては、図3の上部にある3つのマルチプレクサ311〜313はAES制御用レジスタ202の設定に従い、0側の入力を選択する。また、暗号コプロセッサ制御回路207からの指定される信号値によって、どの演算を行うかを下部にあるマルチプレクサ321で選択して出力する。例えば、SubBytes演算を行う場合、暗号コプロセッサ制御回路207からの指定される演算選択の信号値は「1」となる。
【0029】
(非接触環境fl)
一方、非接触環境下においては、図3の上部にある3つのマルチプレクサ311〜313はAES制御用レジスタ202の設定に従い、1側の入力を選択する。また、暗号コプロセッサ制御回路207からの指定される信号値は「3」に設定され、4つの演算を全て実行した結果を選択する。
【0030】
実施の形態1のデュアルインターフェースカード1000は、制御用レジスタ102に記憶された動作環境に応じて動作モードを切り替えるので、接触/非接触、あるいは製品規格の違いに応じて、迅速な演算処理を実現できる。
【0031】
実施の形態2.
次に図4、図5を参照して実施の形態2を説明する。ICカードにおける暗号コプロセッサでは、実装上の安全性要件を満たすためにアルゴリズムの処理を「初期化処理」と「通常処理」の2段階に分ける実装方法がある。この場合、暗号アルゴリズムが基本処理(基本演算)OP1からOPnまでのn種類の処理で構成されるものとすれば、各基本処理(通常処理)を実行する前にそれぞれ初期化処理を行うこととなる。つまり、基本処理OP1の処理を行う場合は、OP1初期化処理を実行したあとにOP1通常処理を行う。従って、初期化処理を行う場合は、通常処理のみをおこなった場合と比較して、2倍のサイクル数を必要とする。このようなケースにおける場合を実施の形態2として説明する。
【0032】
図4は、実施の形態2におけるAESコプロセッサ401のブロック図である。AESコプロセッサ401は、図2のAESコプロセッサ201に対応するが、AES基本演算回路群403は、処理対象の暗号アルゴリズムをAESとし、初期化処理と通常処理の2段階の処理を行うことを前提とした構成である。
【0033】
前述のようにAESの暗号化処理は、主に、
(1)ShiftRow演算、
(2)SubBytes演算、
(3)MixColumns演算、
(4)AddRoundKey演算、
の4つの演算を組み合わせて構成される演算を繰り返し行う処理であるが、それぞれの演算を行う前に初期化処理を行う必要がある。ここで、図4は、これらの処理を実行する回路をAES基本演算回路群403で持つものとする。接触環境における暗号化処理の動作は、中間値格納レジスタ406のデータに対して、暗号コプロセッサ制御回路407で指定する1演算を、AES基本演算回路群403で実行し、中間値格納レジスタ406へ格納する。従って、AESにおけるラウンド関数と呼ばれる処理を実行するためには、次の手順で処理する。
【0034】
(1)中間値格納レジスタ406の値に対して、ShiftRow初期化回路408によりShiftRow演算の初期化を行う。
(2)ShiftRow回路409によりShiftRow演算を行ない、中間値格納レジスタ406に再格納する。
(3)中間値格納レジスタ406の値に対して、SubBytes初期化回路410によりSubBytes演算の初期化を行う。
(4)SubBytes回路411によりSubBytes演算を行ない、中間値格納レジスタ406に再格納する。
(5)中間値格納レジスタ406の値に対して、MixColumns初期化回路412によりMixColumns演算の初期化を行う。
(6)MixColumns回路413によりMixColumns演算を行ない、中間値格納レジスタ406に再格納する。
(7)中間値格納レジスタ406の値に対して、AddRoundKey初期化回路414によりAddRoundKey演算の初期化を行う。
(8)AddRoundKey回路415によりAddRoundKey演算を行う。
【0035】
(接触環境fc)
ここで、「接触環境」の場合、上記(1)から(8)の処理をそれぞれ1サイクル毎に実行するので、この処理には8サイクルかかることになる。
【0036】
(非接触環境fl)
一方、非接触環境下の場合、AES基本演算回路群403では初期化演算と通常演算の組み合わせを1サイクルで実行するような切り替えを行い、上記(1)から(8)の処理を4サイクルで処理する。
【0037】
図5は、図4のAES基本演算回路群403におけるSubBytes演算を代表例として、初期化処理と通常処理とについて説明する。
【0038】
(接触環境fc)
接触環境下においては、図5のAES基本演算回路群501のマルチプレクサ504は、AES制御用レジスタ402の設定に従い、0側の入力を選択する。従って、中間値格納レジスタ406から入力されたデータは、SubBytes初期化回路502によって初期化演算され、内部レジスタ503に演算結果として格納される。次サイクルでは、内部レジスタ503のデータに対してSubBytes演算回路505により処理され、演算結果が中間値格納レジスタ406に返される。
【0039】
(非接触環境fl)
一方、非接触環境下においては、図5のマルチプレクサ504はAES制御用レジスタ402の設定に従い、1側の入力を選択する。従って、中間値格納レジスタ406から入力されたデータは、内部レジスタ503を経由せず、1サイクルでSubBytes初期化回路502及びSubBytes演算回路505により処理され、演算結果として中間値格納レジスタ406に返される。
【0040】
上記の説明では、基本演算毎に初期化演算と通常演算との組み合わせを切り替える方式について説明したが、実施の形態1と組み合わせることによって、複数演算の初期化演算と通常演算の組み合わせを切り替えることも当然可能である。
【0041】
実施の形態3.
図6、図7を参照して実施の形態3を説明する。実施の形態3は、その他、公開鍵暗号の処理に対して有用な、算術演算(乗算や加減算)を処理するコプロセッサに対しても、同様のアイデアが適用可能なことを説明する実施形態である。
【0042】
図6は、処理対象(処理対象演算)がAB+Cの演算処理の場合を示している(それぞれ入力はn bit)。また図7は、処理対象がAB+CD+Eの演算処理の場合を示している(それぞれ入力はn bit)。
【0043】
図6の場合を説明する。
【0044】
(接触環境fc)
接触環境下においては、コプロセッサ601のマルチプレクサ604は、制御用レジスタ102の設定(接触環境)に従い、0側の入力を選択する。従って、中間値格納レジスタ106から入力されたデータ(A,B)は、2入力乗算回路602によって乗算され、内部レジスタ603に演算結果として格納される。次サイクルでは、内部レジスタ603のデータ(A*B)と、中間値格納レジスタ106からのデータCとに対して、3入力加算回路605が処理を行い、演算結果(A*B+C)を中間値格納レジスタ106に返す。
【0045】
(非接触環境fl)
一方、非接触環境下においては、コプロセッサ601のマルチプレクサ604は、制御用レジスタ102の設定(非接触環境)に従い、1側の入力を選択する。従って、1サイクルで、中間値格納レジスタ106から入力されたデータ(A,B)は2入力乗算回路602によって乗算され内部レジスタ603に格納されることなく中間値格納レジスタ106からのデータCと3入力加算回路605によって処理されて演算結果(A*B+C)として中間値格納レジスタ106に返される。
【0046】
図7の場合を説明する。図7は、処理対象がAB+CD+Eの演算処理(処理対象演算)の場合である。
【0047】
(接触環境fc)
接触環境下においては、コプロセッサ701のマルチプレクサ709は、制御用レジスタ102の設定(接触環境)に従い、0側の入力を選択する。従って、中間値格納レジスタ106から入力されたデータ(A,B、E)は、1サイクルで、2入力乗算回路702、3入力加算回路704を経て、内部レジスタ703に格納される。そして次サイクルでは、内部レジスタ703のデータ(A*B+E)と、2入力乗算回路703を経た(C*D)とが、3入力加算回路705によって加算され、(A*B+C*D+E)となり、中間値格納レジスタ106に返される。
【0048】
(非接触環境fl)
非接触環境下においては、コプロセッサ701のマルチプレクサ709は、制御用レジスタ102の設定(非接触環境)に従い、1側の入力を選択する。従って、この場合は、内部レジスタ703にデータは格納されることなく、1サイクルで、(A*B+C*D+E)の演算処理が実行される。すなわち、1サイクルで、中間値格納レジスタ106から入力されたデータ(A,B、E)は、2入力乗算回路702、3入力加算回路704を経てマルチプレクサ709を経由(この時点で、A*B+E)し、2入力乗算回路708により乗算された(C*D)と3入力加算回路705によって加算され(この時点で、A*B+C*D+E)、中間値格納レジスタ106に返される。
【0049】
以上詳述したように本実施の形態1〜3によれば、動作周波数が接触環境と比較して低く設定される非接触環境下であっても、動作モードを切り替えることにより、接触環境より少ないサイクル数で暗号処理が実現可能であり、非接触環境であっても高速処理を可能となるICチップ、ICカードが提供できる。
【0050】
なお、以上の実施の形態1〜3では動作モードを切り替えて処理を実行するコプロセッサ(演算装置)を説明したが、上記コプロセッサの動作を、上記コプロセッサ(演算)が行う演算処理方法の実施形態として把握することも可能である。
【図面の簡単な説明】
【0051】
【図1】実施の形態1におけるデュアルインターフェースカード1000のブロック図。
【図2】実施の形態1におけるAESコプロセッサ201のブロック図。
【図3】実施の形態1におけるAES基本演算回路群301のブロック図。
【図4】実施の形態2におけるAESコプロセッサ401のブロック図。
【図5】実施の形態2におけるAES基本演算回路群501のブロック図。
【図6】実施の形態3におけるコプロセッサ601のブロック図。
【図7】実施の形態3におけるコプロセッサ701のブロック図。
【符号の説明】
【0052】
10 クロックジェネレータ、20 外部回路、101 暗号コプロセッサ、102 制御用レジスタ、103 基本演算回路群、106 中間値格納レジスタ、107 暗号コプロセッサ制御回路、201 AESコプロセッサ、202,402 AES制御用レジスタ、203,403 AES基本演算回路群、204,404 AES入力レジスタ、205,405 出力レジスタ、206,406 中間値格納レジスタ、207,407 暗号コプロセッサ制御回路、301,501 AES基本演算回路群、401 AESコプロセッサ、601,701 コプロセッサ、1000 デュアルインターフェースカード。

【特許請求の範囲】
【請求項1】
クロックを供給されて演算を実行する演算装置であって、所定のクロック周波数が供給される高クロックモードと、前記高クロックモードよりも低い所定のクロック周波数が供給される低クロックモードとのいずれのモードでも演算の実行可能な演算装置において、
前記高クロックモードでは、前記クロック周波数の1サイクルで、異なる複数の基本演算から構成される処理対象演算のうちの一つの前記基本演算を実行し、
前記低クロックモードでは、前記クロック周波数の1サイクルで、前記処理対象演算のうちの少なくとも2つの前記基本演算を順次に実行する演算実行部を備えたことを特徴とする演算装置。
【請求項2】
前記演算装置は、
前記高クロックモードのクロック周波数が供給される場合には前記高クロックモードを示す高クロックモード情報を出力し、前記低クロックモードのクロック周波数が供給される場合には前記低クロックモードを示す低クロックモード情報を出力する外部回路から、前記高クロックモード情報と前記低クロックモード情報とのいずれかを、供給されるクロック周波数に対応して入力し、記憶するクロックモード記憶部を備え、
前記演算実行部は、
前記クロックモード記憶部に前記高クロックモード情報が記憶された場合には前記クロック周波数の1サイクルで、前記処理対象演算のうちの一つの前記基本演算を実行し、
前記クロックモード記憶部に前記低クロックモード情報が記憶された場合には前記クロック周波数の1サイクルで、前記処理対象演算のうちの少なくとも2つの前記基本演算を順次に実行することを特徴とする請求項1記載の演算装置。
【請求項3】
前記演算装置は、
接触方式と非接触方式とのいずれの方式によっても相手方の装置から電力の供給を受けて動作可能であると共に、
前記クロックモード記憶部は、
前記接触方式により前記相手方の装置から電力の供給を受ける時には前記外部回路から前記高クロックモード情報を入力して記憶し、前記非接触方式により前記相手方の装置から電力の供給を受ける時には前記外部回路から前記低クロックモード情報を入力して記憶することを特徴とする請求項2記載の演算装置。
【請求項4】
前記クロックモード記憶部は、
前記外部回路から製品用途に応じて、前記高クロックモード情報と前記低クロックモード情報とのいずれかを入力して記憶することを特徴とする請求項2記載の演算装置。
【請求項5】
前記処理対象演算は、
各基本演算ごとに、前記基本演算の前に実行するべき初期化処理を有し、
前記演算実行部は、
前記高クロックモードでは、前記クロック周波数の1サイクルで、一つの前記基本演算と一つの前記初期化処理とのいずれかを実行し、
前記低クロックモードでは、前記クロック周波数の1サイクルで、少なくとも一つの前記基本演算と少なくとも一つの前記初期化処理とを順次に実行することを特徴とする請求項1〜4のいずれかに記載の演算装置。
【請求項6】
前記処理対象演算は、
暗号化演算であることを特徴とする請求項1〜5のいずれかに記載の演算装置。
【請求項7】
前記請求項1〜6のいずれかに記載の演算装置を備えたことを特徴とするIC(Integrated Circuit)カード
【請求項8】
クロックを供給されて演算を実行すると共に、所定のクロック周波数が供給される高クロックモードと、前記高クロックモードよりも低い所定のクロック周波数が供給される低クロックモードとのいずれのモードでも演算の実行可能な演算装置が実行する演算処理方法において、
前記演算装置は、
前記高クロックモードでは、前記クロック周波数の1サイクルで、異なる複数の基本演算から構成される処理対象演算のうちの一つの前記基本演算を実行し、
前記低クロックモードでは、前記クロック周波数の1サイクルで、前記処理対象演算のうちの少なくとも2つの前記基本演算を順次に実行することを特徴とする演算処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate