説明

携帯可能電子装置、及び携帯可能電子装置の制御方法

【課題】より効率的に検算処理を行うことができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供する。
【解決手段】携帯可能電子装置は、前記入力されるデータに対して第1の演算処理を行い、前記第1の演算処理による第1の演算結果を記憶し、前記第1の演算結果に基づいて第2の演算処理を行い、前記第2の演算処理による第2の演算結果を記憶し、前記第2の演算結果に基づいて第3の演算処理を行い、前記第3の演算処理による第3の演算結果と、前記記憶されている第1の演算結果とを比較し、前記比較の結果において一致した場合、前記記憶されている第2の演算結果を出力するように制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、外部装置からのコマンドに応じて処理を行う携帯可能電子装置、及び携帯可能電子装置の制御方法に関する。
【背景技術】
【0002】
一般的に、携帯可能電子装置として用いられるICカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたICモジュールとを備えている。ICモジュールは、ICチップを有している。ICチップは、電源が無い状態でもデータを保持することができるEEPROM(Electrically Erasable Programmable Read−Only Memory)またはフラッシュROMなどの不揮発性メモリと、種々の演算を実行するCPUとを有している。
【0003】
ICカードは、例えば、ISO/IEC7816−1part1,2に準拠したICカードである。ICカードは、携帯性に優れ、且つ、外部装置との通信及び複雑な演算処理を行う事ができる。また、偽造が難しい為、ICカードは、機密性の高い情報などを格納してセキュリティシステム、電子商取引などに用いられることが想定される。
【0004】
通常、ICカードは、保持している機密性の高い情報を第三者に不正に読み取れないように、データを暗号化して送受信を行う。ICカードは、例えば、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)、またはRSA暗号方式等の規格により暗号化を行う。
【0005】
しかし、従来のICカードは、特定の条件により誤動作を起こす可能性があり、誤動作を起こした場合、ICカードに記憶されている情報が不正に読み出される可能性がある。
【0006】
そこで、暗号化処理(復号処理)の演算を2度行う、または逆演算を行い、処理結果を比較し、一致した場合のみ結果を出力する技術が提供されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−154976号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
上記した技術は、処理に時間がかかるという問題がある。即ち、上記の技術を備えるICカードは、入力されるデータに対して2度演算を行い、さらに結果を比較する必要がある。
【0009】
近年、暗号処理をソフトウェアではなくハードウェアにより行うことで、処理を高速化する技術が実現されている。しかし、上記した技術により検算を行う場合、演算を行う毎にハードウェアを起動する必要がある為、十分に高速な処理を行う事ができないという問題がある。
【0010】
そこで、本発明の目的は、より効率的に検算処理を行うことができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明の一実施形態としての携帯可能電子装置は、入力されるデータに対して演算処理を行う携帯可能電子装置であって、前記入力されるデータに対して第1の演算処理を行う第1の演算部と、前記第1の演算部による第1の演算結果を記憶する第1の記憶部と、前記第1の演算部による第1の演算結果に基づいて第2の演算処理を行う第2の演算部と、前記第2の演算部による第2の演算結果を記憶する第2の記憶部と、前記第2の演算結果に基づいて第3の演算処理を行う第3の演算部と、前記第3の演算部による第3の演算結果と、前記第1の記憶部に記憶されている第1の演算結果とを比較する比較部と、前記比較部による比較結果おいて一致した場合、前記第2の記憶部に記憶されている第2の演算結果を出力するように制御する制御部と、を具備する。
【0012】
また、本発明の一実施形態としての携帯可能電子装置の制御方法は、入力されるデータに対して演算処理を行う携帯可能電子装置に用いられる制御方法であって、前記入力されるデータに対して第1の演算処理を行い、前記第1の演算処理による第1の演算結果を記憶し、前記第1の演算結果に基づいて第2の演算処理を行い、前記第2の演算処理による第2の演算結果を記憶し、前記第2の演算結果に基づいて第3の演算処理を行い、前記第3の演算処理による第3の演算結果と、前記記憶されている第1の演算結果とを比較し、前記比較の結果において一致した場合、前記記憶されている第2の演算結果を出力するように制御する。
【発明の効果】
【0013】
この発明の一形態によれば、より効率的に検算処理を行うことができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することができる。
【図面の簡単な説明】
【0014】
【図1】図1は、本発明の一実施形態に係る携帯可能電子装置、及び携帯可能電子装置の制御方法の構成の例について説明するためのブロック図である。
【図2】図2は、図1に示すICカードの構成例について説明するためのブロック図である。
【図3】図3は、図2に示す暗号処理部の構成及び動作について説明するための説明図である。
【図4】図4は、図3に示す暗号処理部により行われる処理について説明するためのフローチャートである。
【図5】図5は、図3に示す暗号処理部により行われる処理の他の例について説明するためのフローチャートである。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の一実施形態に係る携帯可能電子装置、及び携帯可能電子装置の制御方法について詳細に説明する。
【0016】
図1は、本発明の一実施形態に係る携帯可能電子装置、及び携帯可能電子装置の制御方法の構成の例について説明するためのブロック図である。
図1は、本実施形態に係るICカード2と通信を行うICカード処理装置1の構成例について説明するためのブロック図である。
図1に示すようにICカード処理装置1は、端末装置11、ディスプレイ12、キーボード13、及びカードリーダライタ14などを有している。
【0017】
端末装置11は、CPU、種々のメモリ、及び各種インターフェースなどを備える。端末装置11は、ICカード処理装置1全体の動作を制御する。
【0018】
ディスプレイ12は、端末装置11の制御により種々の情報を表示する。キーボード13は、ICカード処理装置1の操作者による操作を操作信号として受け取る。
【0019】
カードリーダライタ14は、ICカード2と通信を行うためのインターフェース装置である。カードリーダライタ14は、ICカード2に対して、電源供給、クロック供給、リセット制御、及びデータの送受信を行う。
【0020】
端末装置11は、カードリーダライタ14によりICカード2に対して種々のコマンドを入力する。ICカード2は、例えば、カードリーダライタ14からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【0021】
また、端末装置11は、ICカード2に読み取りコマンドを送信することにより、ICカード2からデータを読み出す。端末装置11は、ICカード2から受信したデータに基づいて種々の処理を行う。
【0022】
図2は、図1に示すICカード2の構成例について説明するためのブロック図である。
図2に示すように、ICカード2は、カード状の本体21と、本体21内に内蔵されたICモジュール22とを備えている。ICモジュール22は、1つ又は複数のICチップ23と、通信部24とを備える。ICチップ23と通信部24とは、互いに接続された状態でICモジュール22に形成されている。
【0023】
ICチップ23は、通信部24、CPU25、ROM26、RAM27、不揮発性メモリ28、及び暗号処理部29などを備えている。
【0024】
ICカード2は、ICカード処理装置1などの上位機器から電力の供給を受けた場合、動作可能な状態になる。例えば、ICカード2が接触式通信によりICカード処理装置1と接続される場合、つまり、ICカード2が接触式のICカードで構成される場合、ICカード2は、通信部としてのコンタクト部などを介してICカード処理装置1からの動作電源及び動作クロックの供給を受けて活性化される。
【0025】
また、ICカード2が非接触式の通信方式によりICカード処理装置1と接続される場合、つまり、ICカード2が非接触式のICカードで構成される場合、ICカード2は、通信部としてのアンテナなどを介してICカード処理装置1からの電波を受信し、その電波から図示しない電源部により動作電源及び動作クロックを生成して活性化するようになっている。
【0026】
通信部24は、ICカード処理装置1のカードリーダライタ14との通信を行うためのインターフェースである。
通信部24は、例えば、ICカード処理装置1のカードリーダライタ14と接触して信号の送受信を行うコンタクト部を備える。この場合、ICカード2は、接触式のICカードとして機能する。
また、通信部24は、例えば、ICカード処理装置1のカードリーダライタ14と無線通信を行うアンテナを備える。この場合、ICカード2は、非接触式のICカードとして機能する。
【0027】
CPU25は、ICカード2全体の制御を司る。CPU25は、ROM26あるいは不揮発性メモリ28に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。
【0028】
ROM26は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ROM26は、製造段階で制御プログラム及び制御データなどを記憶した状態でICカード2内に組み込まれる。即ち、ROM26に記憶される制御プログラム及び制御データは、予めICカード2の仕様に応じて組み込まれる。
【0029】
RAM27は、ワーキングメモリとして機能する揮発性のメモリである。RAM27は、CPU25の処理中のデータなどを一時的に格納する。例えば、RAM27は、通信部24を介してICカード処理装置1から受信したデータを一時的に格納する。また、RAM27は、CPU25が実行するプログラムを一時的に格納する。
【0030】
不揮発性メモリ28は、例えば、EEPROMあるいはフラッシュROMなどのデータの書き込み及び書換えが可能な不揮発性のメモリにより構成される。不揮発性メモリ28は、ICカード2の運用用途に応じて制御プログラム及び種々のデータを格納する。
【0031】
たとえば、不揮発性メモリ28では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。CPU25は、不揮発性メモリ28、または、ROMに記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【0032】
暗号処理部29は、暗号鍵を用いて暗号化されたデータの復号、及び、平文のデータの暗号化を行う。
【0033】
図3は、図2に示す暗号処理部29の構成及び動作について説明するための説明図である。なお、ここでは、暗号処理部29は、DESにより暗号処理を行うとして説明するが、これに限定されない。例えば、AESなどにより暗号処理を行う場合であっても、同様に本発明を実施することができる。また、暗号処理ではなく復号処理を行う場合であっても、同様に本発明を実施することができる。
【0034】
本実施形態に係る暗号処理部29は、非線形処理を含む一定の処理を16回(通常16段という)行う。誤動作により不正にデータを出力しない為に、暗号処理部29は、検算を行う。即ち、暗号処理部29は、この検算の結果が問題ない場合にのみデータを出力する。
【0035】
この為に、本実施形態では、暗号処理部29は、10段目の中間結果を一時的に格納し、16段目まで処理し、16段目の処理結果を用いて10段目まで逆演算を行い、10段目における処理結果を比較する。比較結果が一致する場合、暗号処理部29は、16段目における処理結果を出力する。
【0036】
暗号処理部29は、初期転置処理部291、演算部292、鍵生成部293、制御部294、中間レジスタ295、最終レジスタ296、及び比較部297などを備えている。また、暗号処理部29は、図示しない入力レジスタ(データ入力部)、及び出力バッファ(データ出力部)などをさらに備えている。
【0037】
初期転置処理部291は、暗号処理部29に入力されたデータの並べ替えを行う。例えば、64ビットのデータが入力された場合、初期転置処理部291は、入力された64ビットのデータを32ビットずつに区切る。初期転置処理部291は、上位の32ビットを第1の入力データLi、下位の32ビットを第2の入力データRiとして演算部292にそれぞれ入力する。
【0038】
演算部292は、入力されたデータと鍵生成部293とに基づいて演算を行い、データの暗号化(複合化)する処理を行う。
【0039】
鍵生成部293は、予め共通暗号鍵を記憶している。鍵生成部293は、記憶している共通暗号鍵に対して、転置処理、変換処理、及びシフト処理を行い、巡回鍵を生成する。DESによる暗号化処理は、通常、第1段から第16段の処理を有している。即ち、暗号処理部29は、演算部292にデータを入力し、その演算結果である出力を得る処理を1つの段として、16段の処理を繰り返す。鍵生成部293は、各段に毎に異なる鍵K1乃至K16(Kn)を逐次生成し、演算部292に供給する。
【0040】
演算部292は、入力データLi及び入力データRiに基づいて、演算を行い、出力データLo及び出力データRoを出力する。演算部292は、鍵生成部293から供給される鍵KnとRiとに基づいて、F関数の演算を行う。即ち、演算部292は、変換処理、及び排他的論理和などの演算を行う。演算部292は、この演算結果と、Liとで排他的論理和を行う。演算部は、この結果を出力データRoとして出力する。また、演算部292は、入力データRiを出力データLoとして出力する。これにより、演算部による1段の処理が終了する。
【0041】
例えば、1段目の暗号処理を行う場合、演算部292は、鍵生成部293から鍵K1を受け取る。また、2段目の暗号処理を行う場合、演算部292は、鍵生成部293から鍵K2を受け取る。
【0042】
また、例えば、2段目の暗号処理の出力結果に対して再び鍵K2を用いて演算処理を行う場合、1段目の暗号処理の出力結果と同一のデータが出力される。即ち、演算部292は、暗号処理に用いられた鍵を用いて演算処理を行うことにより、暗号化されたデータを復号することができる。
【0043】
例えば、1乃至16段の暗号処理により暗号化されたデータを複合する場合、演算部292は、鍵K16乃至K1を順に用いて演算処理を行うことにより元の平文データを取得することができる。
【0044】
制御部294は、演算部292による処理が何段目であるかをカウントする。制御部294は、演算部292による処理結果を受け取り、カウントした段数に応じて適宜出力先を選択する。
【0045】
例えば、演算部292による処理が1段目乃至9段目である場合、制御部294は、出力データLo及びRoを演算部292に入力する。演算部は入力されたLo及びRoに対して、繰り返し上記した処理を行う。
【0046】
また、例えば、演算部292による処理が10段目である場合、制御部294は、出力データLo及びRoを中間レジスタ295に入力する。中間レジスタ295は、出力データLo及びRoを一時的に記憶する。即ち、中間レジスタ295は、10段目の処理における出力データ(中間結果)を記憶する。中間レジスタ295は、制御部294から受信したデータを記憶し、同データを演算部292に供給する。
【0047】
また、例えば、演算部292による処理が16段目である場合、制御部294は、出力データLo及びRoを最終レジスタ296に出力する。最終レジスタ296は、出力データLo及びRoを一時的に記憶する。即ち、最終レジスタ296は、16段目の処理における出力データ(最終結果)を記憶する。最終レジスタ296は、制御部294から受信したデータを記憶し、同データを演算部292に供給する。
【0048】
演算部292は、供給された16段目の出力データに対して、16段乃至11段の逆演算処理、即ち復号処理を行う。即ち、この場合、鍵生成部293は、鍵K16乃至K11を順に演算部292に供給する。演算部292は、上記した処理を、鍵K16乃至K11を用いて順に行う。
【0049】
制御部294は、演算部292における処理が逆演算処理における11段目であると判断した場合、11段目の出力結果(検算データ)を比較部297に出力する。同時に、制御部294は、中間レジスタ295に格納されている中間結果を比較部297に出力するように制御する。
【0050】
比較部297は、検算データと中間結果とが一致するか否か判定する。一致すると判定した場合、一致した旨を示す判定結果を制御部294に出力する。制御部294は、一致の判定結果を受信した場合、最終レジスタ296に格納されている最終結果を上記した一連の暗号処理の処理結果として暗号処理部29から出力する。
【0051】
上記のような暗号処理を行う為に、鍵生成部293は、例えば鍵K1乃至K16、鍵K16乃至K11を順に出力する構成をハードウェアにより備えている。即ち、この構成よると、ハードウェアを2度起動することなく、逆演算により検算を行う事ができる。
【0052】
また、上記した例では、10段目の処理結果を中間結果として格納し、比較する構成として説明したが、これに限定されない。逆演算の結果と比較する段はどの段であっても本発明を実現することができる。但し、通常、外乱により不正な出力を得る手法が用いられる場合、後半の段(例えば、10段目乃至15段目)を処理するタイミングで仕掛けられる可能性が高い。この為、16段のうちの後半の段の処理結果を中間結果として格納しておくことにより、より効果的に攻撃を防ぐことができる。
【0053】
また、復号処理を行う場合、16段目から1段目まで順に処理する。この為、後半の段(例えば、7段目乃至2段目)の処理結果を中間結果として格納する構成となる。またこの場合、鍵生成部293は、例えば鍵K16乃至K1、鍵K1乃至K11を順に出力する構成をハードウェアにより備えている。
【0054】
図4は、図3に示す暗号処理部29により行われる処理について説明するためのフローチャートである。
まず、データが暗号処理部29に入力される(ステップS11)。初期転置処理部291は、入力されたデータを上位32ビットのデータ、及び下位32ビットのデータに分割し、演算部292に入力する。
【0055】
演算部292は、入力されたデータに基づいて、1段目から10段目までの演算処理を行う(ステップS12)。制御部294は、10段目の処理結果を中間レジスタ295に格納する(ステップS13)。
【0056】
演算部292は、11段目から16段目までの演算処理を行う(ステップS14)。制御部294は、16段目の処理結果を最終レジスタ296に格納する(ステップS15)。
【0057】
演算部292は、16段目から11段目までの逆演算処理を行う(ステップS16)。比較部297は、逆演算処理における11段目の処理結果と、中間レジスタ295に格納されている中間結果とを比較し、一致するか否か判定する。(ステップS18)。
【0058】
比較結果が一致する場合(ステップS18、YES)、制御部294は、最終レジスタ296に格納されている最終結果を暗号処理部29から出力する(ステップS19)。また、比較結果が一致しない場合(ステップS18、NO)、制御部294は、エラーを示す情報を暗号処理部29から出力する(ステップS20)。
【0059】
上記したように、本実施形態の暗号処理部29は、暗号処理及び復号処理の一連の処理において、中間結果と最終結果とを格納し、最終結果に基づいて中間結果を保存した段まで逆演算を行う。暗号処理部29は、中間結果と逆演算処理の結果とを比較し、一致した場合のみ最終結果を出力する。これにより、外乱による不正な読み出しを防ぎ、且つ、処理時間を短縮することができる。この結果として、より効率的に検算処理を行うことができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することができる。
【0060】
例えば、暗号処理部29の検算検証処理をソフトウェアにより構成する場合の処理時間(ハードウェアの処理時間×2+ソフトウェアによるデータの退避、及び比較などの処理時間)を、ハードウェアの処理時間+数段分の処理時間(数クロック〜数十クロック)に抑えることができる。また、暗号処理部29の検算検証処理をハードウェアにより構成する場合の処理時間(ハードウェアの処理時間×2)を、ハードウェアの処理時間+数段分の処理時間に抑えることができる。
【0061】
なお、上記した実施形態では、中間結果を格納し、最終結果からの逆演算の結果と比較する構成として説明したが、これに限定されない。例えば、中間結果から通常の演算処理を行い、最終結果同士で比較を行う構成であってもよい。
【0062】
この場合、制御部294は、例えば、演算部292による1段目乃至9段目の処理の処理結果を演算部292に入力する。
【0063】
演算部292による処理が10段目である場合、制御部294は、出力データLo及びRoを中間レジスタ295に入力する。中間レジスタ295は、出力データLo及びRoを一時的に記憶する。
【0064】
演算部292による処理が16段目である場合、制御部294は、出力データLo及びRoを最終レジスタ296に出力する。最終レジスタ296は、出力データLo及びRoを一時的に記憶する。
【0065】
制御部294は、中間レジスタ295に格納されている中間結果を演算部292に入力するように制御する。演算部292は、入力された中間結果に基づいて、11段目乃至16段目の再演算処理を行う。制御部294は、16段目の処理結果(検算データ)を比較部297に出力する。同時に、制御部294は、最終レジスタ296に格納されている最終結果を比較部297に出力するように制御する。
【0066】
比較部297は、検算データと最終結果とが一致するか否か判定する。一致すると判定した場合、一致した旨を示す判定結果を制御部294に出力する。制御部294は、一致の判定結果を受信した場合、最終レジスタ296に格納されている最終結果を上記した一連の暗号処理の処理結果として暗号処理部29から出力する。
【0067】
上記のような暗号処理を行う為に、鍵生成部293は、例えば鍵K1乃至K16、鍵K11乃至K16を順に出力する構成をハードウェアにより備えている。
【0068】
図5は、図3に示す暗号処理部29により行われる処理の他の例について説明するためのフローチャートである。
まず、データが暗号処理部29に入力される(ステップS21)。初期転置処理部291は、入力されたデータを上位32ビットのデータ、及び下位32ビットのデータに分割し、演算部292に入力する。
【0069】
演算部292は、入力されたデータに基づいて、1段目から10段目までの演算処理を行う(ステップS22)。制御部294は、10段目の処理結果を中間レジスタ295に格納する(ステップS23)。
【0070】
演算部292は、11段目から16段目までの演算処理を行う(ステップS24)。制御部294は、16段目の処理結果を最終レジスタ296に格納する(ステップS25)。
【0071】
演算部292は、中間レジスタに格納されている中間結果を入力データとして、11段目から16段目までの再演算処理を行う(ステップS26)。比較部297は、再演算処理における16段目の処理結果と、最終レジスタ296に格納されている最終結果とを比較し、一致するか否か判定する。(ステップS28)。
【0072】
比較結果が一致する場合(ステップS28、YES)、制御部294は、最終レジスタ296に格納されている最終結果を暗号処理部29から出力する(ステップS29)。また、比較結果が一致しない場合(ステップS28、NO)、制御部294は、エラーを示す情報を暗号処理部29から出力する(ステップS30)。
【0073】
上記した方法においても、外乱による不正な読み出しを防ぎ、且つ、処理時間を短縮することができる。この結果として、より効率的に検算処理を行うことができる携帯可能電子装置、及び携帯可能電子装置の制御方法を提供することができる。
【0074】
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具現化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【0075】
例えば、中間結果を格納する段を、上記の一連の処理を実行する毎に変える構成であってもよい。この場合、暗号処理部29は、乱数により中間結果を保存する段を、例えば10段目乃至15段目の中から乱数に基づいて決定する。また、鍵生成部293は、決定した段に応じた巡回鍵を適宜出力する。この構成により、よりセキュリティ性を高めることができる。
【0076】
また、上記した実施形態では、暗号処理部29をハードウェアにより構成する例について説明したが、ソフトウェアにより構成されている場合においても、本発明を適用することができる。また、本発明を適用することにより、処理時間の短縮化を図ることができる。
【符号の説明】
【0077】
1…ICカード処理装置、2…ICカード、11…端末装置、12…ディスプレイ、13…キーボード、14…カードリーダライタ、21…本体、22…ICモジュール、23…ICチップ、24…通信部、25…CPU、26…ROM、27…RAM、28…不揮発性メモリ、29…暗号処理部、291…初期転置処理部、292…演算部、293…鍵生成部、294…制御部、295…中間レジスタ、296…最終レジスタ、297…比較部。

【特許請求の範囲】
【請求項1】
入力されるデータに対して演算処理を行う携帯可能電子装置であって、
前記入力されるデータに対して第1の演算処理を行う第1の演算部と、
前記第1の演算部による第1の演算結果を記憶する第1の記憶部と、
前記第1の演算部による第1の演算結果に基づいて第2の演算処理を行う第2の演算部と、
前記第2の演算部による第2の演算結果を記憶する第2の記憶部と、
前記第2の演算結果に基づいて第3の演算処理を行う第3の演算部と、
前記第3の演算部による第3の演算結果と、前記第1の記憶部に記憶されている第1の演算結果とを比較する比較部と、
前記比較部による比較結果おいて一致した場合、前記第2の記憶部に記憶されている第2の演算結果を出力するように制御する制御部と、
を具備することを特徴とする携帯可能電子装置。
【請求項2】
前記第3の演算部は、前記第2の演算結果に対して前記第2の演算処理の逆演算処理を行うことを特徴とする請求項1に記載の携帯可能電子装置。
【請求項3】
前記第1の演算部は、前記入力されるデータに対して初段から所定段数目までの暗号処理を行い、
前記第2の演算部は、前記第1の演算結果に対して前記所定段数目から最終段までの暗号処理を行い、
前記第3の演算部は、前記第2の演算結果に対して前記最終段から所定段数目までの復号処理を行うことを特徴とする請求項1に記載の携帯可能電子装置。
【請求項4】
前記初段乃至最終段までの暗号鍵と、前記最終段から前記所定段数目までの暗号鍵を一連の処理により出力する鍵生成部をさらに具備することを特徴とする請求項3に記載の携帯可能電子装置。
【請求項5】
入力されるデータに対して演算処理を行う携帯可能電子装置であって、
前記入力されるデータに対して第1の演算処理を行う第1の演算部と、
前記第1の演算部による第1の演算結果を記憶する第1の記憶部と、
前記第1の演算部による第1の演算結果に基づいて第2の演算処理を行う第2の演算部と、
前記第2の演算部による第2の演算結果を記憶する第2の記憶部と、
前記第2の演算部により処理終了後に、前記第1の記憶部により記憶されている前記第1の演算結果に基づいて前記第2の演算処理を再び行う再演算部と、
前記再演算部による再演算結果と、前記第2の記憶部に記憶されている第2の演算結果とを比較する比較部と、
前記比較部による比較結果おいて一致した場合、前記第2の記憶部に記憶されている第2の演算結果を出力するように制御する制御部と、
を具備することを特徴とする携帯可能電子装置。
【請求項6】
前記第1の演算部は、前記入力されるデータに対して初段から所定段数目までの暗号処理を行い、
前記第2の演算部は、前記第1の演算結果に対して前記所定段数目から最終段までの暗号処理を行い、
前記再演算部は、前記第1の記憶により記憶されている前記第1の演算結果に対して前記最終段から所定段数目までの暗号処理を行うことを特徴とする請求項5に記載の携帯可能電子装置。
【請求項7】
前記初段乃至最終段までの暗号鍵と、前記所定段数目から前記最終段までの暗号鍵を一連の処理により出力する鍵生成部をさらに具備することを特徴とする請求項6に記載の携帯可能電子装置。
【請求項8】
入力されるデータに対して演算処理を行う携帯可能電子装置に用いられる制御方法であって、
前記入力されるデータに対して第1の演算処理を行い、
前記第1の演算処理による第1の演算結果を記憶し、
前記第1の演算結果に基づいて第2の演算処理を行い、
前記第2の演算処理による第2の演算結果を記憶し、
前記第2の演算結果に基づいて第3の演算処理を行い、
前記第3の演算処理による第3の演算結果と、前記記憶されている第1の演算結果とを比較し、
前記比較の結果において一致した場合、前記記憶されている第2の演算結果を出力するように制御する、
ことを特徴とする携帯可能電子装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−220064(P2010−220064A)
【公開日】平成22年9月30日(2010.9.30)
【国際特許分類】
【出願番号】特願2009−66636(P2009−66636)
【出願日】平成21年3月18日(2009.3.18)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】